Halo Fanbot! apakah kamu bingung dengan pengertian algoritma?
Bagi kalian yang suka utak-atik program, pasti sudah sangat familiar dengan yang namanya algoritma. Project yang sudah kompleks akan sangat sulit jika tanpa adanya algoritma. Jadi ini adalah hal yang penting untuk membangun suatu project besar.
Pengertian
Algoritma adalah kumpulan langkah yang disusun untuk menyelesaikan suatu masalah atau untuk memperjelas alur kerja suatu alat. Adanya algoritma dalam penyusunan suatu alat baik itu hardware maupun software akan memudahkan kita dalam memahami alur yang sesuai tanpa harus berhadapan dengan program yang rumit. Dalam algoritma minimal memiliki 5 ciri-ciri berikut untuk dapat terbentuk, yaitu input sebagai suatu data awal yang akan diproses; Proses sebagai langkah selanjutnya untuk dapat mencapai hasil akhir; Output merupakan hasi dari informasi input; Instruksi sebagai kumpulan perintah untuk menjabarkan masalah; dan Tujuan akhir adalah langkah akhir sebagai hasil dari proses.
Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO
Jenis Algoritma
Algoritma memiliki berbagai jenis bentuk sesuai dengan fungsinya. Berikut ini 6 jenis algoritma yang perlu kamu ketahui.
Algoritma Rekursif
Algoritma jenis ini adalah jenis algoritma yang akan melakukan perulangan berkali-kali hingga mendapatkan solusi atau sesuai dengan kondisi seharusnya.
divide dan conquer
Algoritma divide dan conquer adalah jenis algoritma yang akan membagi suatu masalah utama menjadi bagian-bagian kecil. Ketika bagian kecil ini sudah ditemukan solusinya, maka akan ditemukan solusi untuk masalah utama.
dynamic programming
Algoritma dynamic programming adalah jenis algoritma yang menyimpan solusi lama untuk menjadi solusi atas masalah yang baru. Pemecahan masalah dari bagian terkecil kemudian hasilnya akan tersimpan untuk pemecahan masalah di masa depan.
Greedy
Algoritma greedy adalah jenis algoritma yang digunakan ketika menemukan suatu masalah pada sistem optimisasi. Solusi optimal akan ditemukan tanpa memperhatikan akibatnya, sehingga menemukan solusi pada tingkat global.
brute force
Algoritma brute force adalah jenis algoritma yang akan membuat perulangan dari setiap solusi yang tersedia hingga menemukan solusi yang paling tepat untuk suatu permasalahan.
backtracking
Algoritma backtracking memiliki sistem kerja yang hampir sama dengan rekursif saat memecahkan masalah. Algoritma akan melakukan pengulangan saat permasalahan tidak menemukan solusinya.
baca juga : Kesalahan2 dalam penulisan algoritma
Struktur Algoritma
Struktur penyusun algoritma terdiri dari 3 bentuk dasar yaitu sekuensial, pengulangan, dan percabangan. Lebih rincinya sebagai berikut.
sekuensial
Algoritma sekuensial (sequence algorithm) adalah algoritma yang terdiri dari beberapa perintah yang tersusun untuk dijalankan secara berurutan dan beraturan untuk ditampilkan suatu fungsi tertentu. Algoritma bentuk ini akan berjalan sekali saja untuk suatu program.
pengulangan
Algoritma pengulangan (looping algorithm) adalah algoritma yang mengulang-ulang suatu perintah dengan syarat-syarat tertentu. algoritma jenis ini dapat berisi beberapa perintah yang akan berjalan berulang dari atas ke bawah dan kembali lagi ke atas hingga ada syarat yang mengharuskan program keluar dari pengulangan tersebut.
percabangan
Algoritma percabangan (conditional algorithm) sering kita sebut juga algoritma bersyarat. Algoritma jenis ini akan memberikan pilihan sesuai dengan hasil dari persamaan boolean. Pada jenis ini, nilai yang sesuai akan terpilih untuk menjalankan program, sedangkan untuk yang tidak tidak terpilih akan terlewati begitu saja. Dalam kata lain, bentuk algoritma percabangan adalah pengambilan suatu keputusan.
(Sumber: tirto.id)
baca juga: Kesalahan-Kesalahan yang Harus Kamu Hindari dalam Pengerjaan Project IoT
Penyajian Algoritma
Ada 2 jenis penyajian algoritma yang dapat berfungsi untuk mempermudah developer dalam membangun project.
dalam bentuk tulisan
Penyajian dalam bentuk tulisan dapat menggunakan 2 metode yaitu Structure language dan Pseudocode. Structure Language berbentuk teks terstruktur seperti deskripsi urutan suatu project. Contohnya adalah sebagai berikut.
Perkalian 2 angka
- Masukkan nilai pertama;
- Masukkan nilai kedua;
- Hitung perkalian nilai pertama dan kedua;
- Menampilkan hasil perkalian.
Metode Pseudocode berbentuk teks dengan gambaran program yang akan terbuat. Biasanya berfungsi untuk programmer dalam memecahkan koding tanpa harus memikirkan bahasanya. Contohnya seperti berikut.
Deteksi gelap terang dengan sensor LDR
- start
- read Sensor
- if sensor < 500
- print gelap
- else
- print terang
- end
Dengan bahasa seperti di atas, maka kita dapat mengembangkannya menjadi bahasa pemrograman yang sesuai dengan kebutuhan.
baca juga: Belajar Arsitektur IoT untuk Pemula
dalam bentuk Gambar
Penyajian dalam bentuk gambar dapat menggunakan beberapa metode yaitu flowchart, HIPO dan masih banyak lainnya.
Flowchart berbentuk simbol yang saling terhubung dengan tanda panah sebagai urutan proses jalannya program. Flowchart sangat sering berfungsi sebagai algoritma dalam penelitian. Contoh bentuk dari flowchart adalah sebagai berikut.
Algoritma sangat penting ketika kita ingin mengembangkan suatu project. Tentunya untuk mengetahui alur dan dapat juga berfungsi untuk melakukan pengecekan ketika ada error.
Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!