Implementasi Algoritma
Pengembangan Algoritma Aplikasi
Dalam matematika dan komputasi, Algoritma atau Algoritme merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir.Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan Algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria.
Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai. Algoritma secara sederhana dapat diartikan sebagai urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara sistematis.
Misalkan saja “Algoritma aktifitas pagi hari ini sebelum berangkat kuliah” yaitu (1) turun dari tempat tidur, (2) mandi, (3) berpakaian, (4) makan pagi, (5) pergi kuliah. Jadi perlu diingat bahwa Algoritma tidak hanya diterapkan pada dunia komputasi, tetapi juga Algoritma diterapkan dalam kehidupan sehari-hari.
Terdapat beragam klasifikasi Algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis Algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain Algoritma tersebut.
Beberapa paradigma yang digunakan dalam menyusun suatu Algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak Algoritma yang berbeda.
- Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah denganmembagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
- Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
- Metode Greedy. Sebuah Algoritma Greedy mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.
Kompleksitas dari suatu Algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan Algoritma tersebut untuk menyelesaikan masalah. Secara informal, Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara Algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Jadi intinya, Pengertian Algoritma adalah suatu langkah/urutan yang logis dan sistematis untuk pemecahan suatu masalah atau untuk mencapai tujuan yang diinginkan.
Tahap Pengembangan Algoritma
Tahap-tahap pengembangan Algoritma antara lain:
- Defenisi Masalah;
- Membuat Model;
- Rancangan Algoritma;
- Tulis Program;
- Compile, apabila terjadi “Compile Error” atau “Sintak Error” kita dapat melakukan pengecekan ulang (perbaikan) pada tahap menulis program. Jika tidak terjadi “Compile Error” atau “Sintak Error” maka lanjut pada tahap selanjutnya;
- Executable code: =>Run, apabila terjadi error maka kita dapat melakukan pengecekan ulang (perbaikan) pada tahap menulis program, merancang algoritma, membuat model, atau pada tahap mendifinidikan masalah. Jika tidak terjadi error maka lanjut pada tahap selanjutnya;
- Dokumentasi
Penyajian Algoritma
Algoritma dapat disajikan dengan menggunakan banyak cara, diantaranya:
1. Structure English
Penyajian Algoritma dengan Structure English dilakukan dengan menyusun uraian kata yang menggunakan bahasa Inggris atau dengan bahasa lain, misalnya bahasa Indonesia. Algoritma dengan Structure English dapat ditulis dengan menggunakan huruf besar di awal kalimat dan selanjutnya dengan huruf kecil, atau dengan menggunakan huruf besar seluruhnya. Untuk memperjelas dapat ditambahkan nomor urut untuk setiap langkah yang ada. Karena menggunakan bahasa yang sehari-hari digunakan manusia, maka penyajian Algoritma dengan bahasa alamiah dapat dipahami oleh pembaca yang belum memahami bahasa pemrograman, misalnya pemakai sistem.
2. Pseudocode (sandi semu)
Penulisan sandi semu menggunakan simbol-simbol perintah yang mirip dengan yang menggunakan di dalam bahasa pemrograman. Pseudocode berasal dari kata pseudo yang berarti mirip atau menyerupai, dan code yang berarti program. Pseudocode ditulis dengan menggunakan huruf besar, sedangkan variabel atau komentar ditulis dengan menggunakan huruf kecil. Untuk memperjelas struktur Algoritma, digunakan tabulasi yang berbeda untuk penulisan sandi semu yang berada dalam kalang (loop) atau struktur kondisional. Dengan penulisan sandi semu mirip dengan penulisan program, maka Algoritma yang ditulis dengan sandi semu lebih tepat digunakan untuk mengkomunikasikan Algoritma kepada pemrogram.
3. Flowchart
Bagan alir (flowchart) adalah suatu bagan yang menggambarkan arus logika dari data yang akan diproses dalam suatu program dari awal sampai akhir . Jenis-jenis flowchart adalah sebagai berikut:
1)Program Flowchart
Simbol-simbol yang menggambarkan proses secara rinci dan detail antara instruksi yang satu dengan iunstruksi yang lainnya di dalam suatu program komputer yang bersifat logik (software).
2) Sistem Flowchart
Simbol-simbol yang menggambarkan urutan prosedur secar detail di dalam suatu sistem komputerisasi dan bersifat fisik (hardware).
Berikut link untuk mendapatkan bahan pembelajaran tentang algoritma lainnya
silahkan unduh PDF dan PPT
Algoritma Dalam Bisnis
Sumber : Christy Pettey >
ALGORITMA BISNIS sangat penting >> perkembangan ekonomi digital. Menurut Alan Duncan, direktur riset di Gartner, sebuah organisasi akan dihargai tidak hanya karena big data mereka >> karena adanya penerapan algoritma yang mengubah data menjadi tindakan dan, pada akhirnya, meningkatkan pengalaman customer (pelanggan).
Lebih lanjut menurut Duncan “Algoritma Bisnis sangat penting untuk keunggulan kompetitif >> Pada 2018, diyakini lebih dari 50 persen perusahaan besar secara global akan bersaing menggunakan >> advance analytic dan algoritma proprietary (non free), yang menyebabkan terjadinya disruption di berbagai bidang industri.”
Lima hal penting
1.Algoritma Bukan Merupakan Hal Baru
Algoritma telah menjadi inti dari sistem kontrol manufaktur, otomasi pemasaran dan manajemen pemasaran serta telah memainkan peran penting dalam layanan keuangan selama beberapa tahun terakhir. Pengenalan algoritma yang semakin luas dan para peneliti juga terus mengembangkan cara untuk membuat algoritma yang lebih cerdas dan lebih efektif dalam mencari dan mengembangkan sumber daya data baru atau yang sebelumnya belum dimanfaatkan.
2.Algoritma Bisnis Berbeda Dengan Business Intelligence (BI)
BI berfokus pada analisis data untuk menggambarkan dan memahami peristiwa sebelumnya, idealnya dengan tujuan memprediksi peluang dan tantangan di masa depan. Algoritma berdampak terhadap semua yang akan dilakukan – termasuk perencanaan, kontrol, Internet, media sosial, perdagangan seluler, dan otomatisasi. BI hanyalah salah satu bagian dari hal tersebut diatas dan, tentu saja akan ikut terpengaruh seperti yang lainnya.
3.Keunggulan Algoritma Adalah Kecepatan dan Pengembangan
Algoritma bekerja pada kecepatan dan pengembangan yang tidak dapat dibandingkan dengan upaya peningkatan tenaga kerja manusia untuk meningkatkan produksi. Seiring dengan berkembangnya bisnis digital, peningkatan penggunaan algoritma merupakan cara yang paling hemat biaya dan efisien untuk menangani volume data serta memanfaatkan peluang bisnis yang semakin bervariasi.
4.Tingkat Percepatan Perubahan Teknologi Mendorong Munculnya Algoritma Bisnis
Laju perubahan teknologi yang cepat, tingkat konektivitas yang meningkat antara individu, bisnis dan perangkat pintar, serta kondisi volatilitas dan situasi yang berubah dengan cepat menyebabkan meningkatnya kebutuhan dan penggunaan sistem non-human untuk mengidentifikasi dan memanfaatkan berbagai peluang bisnis. Munculnya trend – seperti komputasi awan, konektivitas yang tingkat penetrasi nya semakin tinggi, tingkat pertumbuhan dari berbagai smart device, jumlah data yang banyak (big data), tingkat penerimaan sosial atas aktivitas online dan solusi berbasis teknologi yang semakin meningkat memberikan kontribusi terhadap percepatan penerimaan teknologi sembari diiringi penyediaan infrastruktur yang mendukung pengumpulan dan analisis data.
5.Algoritma Bisnis Menciptakan Peluang dan Ancaman
Peluangnya adalah meningkatnya kemampuan untuk mengotomatiskan dan mengimplementasikan kecepatan dan pengembangan usaha dalam mengelola transaksi secara akurat. Sedangkan ancaman terkait dengan pertimbangan etis: “Apakah ini tindakan yang benar; apakah konsekuensi yang yang dapat ditimbulkan? ” Bagi industri berbasis pengetahuan yang berbasis praktik, seperti hukum atau kedokteran, algoritma ini mengancam status para pekerja yang memberikan jasa konsultasi. Hal sama juga terjadi pada bisnis perdagangan retail.
Pemikiran Komputasi
Komputer >> digunakan untuk membantu >> memecahkan masalah >> sebelum masalah dapat diatasi >> masalah dan cara pemecahannya perlu dipahami >> Pemikiran komputasi memungkinkan >> melakukannya.
Pemikiran komputasi >> mengambil masalah yang kompleks, memahami apa masalahnya dan mengembangkan solusi yang mungkin. serta dapat menyajikan solusi ini dengan cara yang dapat dipahami oleh komputer, manusia, atau keduanya.
Empat landasan pemikiran komputasi
- penguraian - memecah masalah atau sistem yang kompleks menjadi bagian-bagian yang lebih kecil dan lebih mudah diatur
- pengenalan pola - mencari persamaan di antara dan di dalam masalah
- abstraksi - berfokus hanya pada informasi penting, mengabaikan detail yang tidak relevan
- algoritma - mengembangkan solusi langkah demi langkah untuk masalah, atau aturan yang harus diikuti untuk menyelesaikan masalah
Setiap landasan sama pentingnya dengan yang lain >> Menerapkan keempat teknik dengan benar akan membantu saat memprogram komputer.
Praktek Berpikir komputasi dalam Keseharian
Masalah yang kompleks >> masalah yang sekilas >> tidak tahu cara menyelesaikannya dengan mudah.
Pemikiran komputasi >> pengambilan masalah kompleks >> memecahnya menjadi serangkaian masalah kecil yang lebih mudah dikelola ( dekomposisi ).
Masalah yang lebih kecil >> dapat dilihat secara individual >> mempertimbangkan bagaimana masalah serupa telah diselesaikan sebelumnya ( pengenalan pola ) dan hanya berfokus pada detail penting >> mengabaikan informasi yang tidak relevan ( abstraksi ).
Selanjutnya, langkah atau aturan sederhana untuk menyelesaikan setiap masalah yang lebih kecil dapat dirancang ( algoritma ).
Akhirnya, langkah atau aturan sederhana ini digunakan program komputer untuk membantu memecahkan masalah kompleks dengan cara terbaik.
Daftar Istilah
abstraksi : Proses pemisahan dan penyaringan ide dan detail spesifik yang tidak diperlukan untuk berkonsentrasi pada yang dibutuhkan.
algoritma : Urutan instruksi logis untuk melaksanakan tugas. Dalam komputasi, dibutuhkan algoritma untuk merancang program komputer.
penguraian : Penguraian sistem menjadi bagian-bagian kecil yang lebih mudah dipahami, diprogram, dan dipelihara.
pengenalan pola : Menemukan persamaan dan pola untuk menyelesaikan masalah kompleks dengan lebih efisien.
program : Urutan instruksi untuk komputer.
pemrograman : Proses penulisan perangkat lunak komputer.
Manfaat Berpikir Komputasi
Berpikir/pemikiran komputasi adalah teknik pemecahan masalah yang sangat luas wilayah penerapannya, bukan hanya >> menyelesaikan >> ilmu komputer saja >>tapi >> menyelesaikan berbagai masalah di dalam kehidupan sehari-hari. Dengan teknik ini para siswa akan belajar bagaimana berpikir secara terstruktur, seperti halnya ketika para software engineer menganalisa kebutuhan dan merencanakan pengembangan software.
Computational Thinking >> pendekatan >> penting dikuasai >> membantu merestrukturisasi penyelesaian masalah yang rumit >> >> kecakapan complex problem solving dan berpikir kritis >> dua keahlian terpenting >> masa mendatang >> World Economic Forum.
Dengan menguasai kecakapan ini >> lebih siap dalam bertahan dan bersaing di masa mendatang >> era dimana akan hilangnya beberapa profesi yang ada dan era dimana muncul profesi baru.
Sumber : fitri98
