Apa yang kamu tahu tentang jenis-jenis algoritma? Mungkin, kejadian berikut dapat mengingatkan kita dengan algoritma terlebih dahulu ya. Pernahkah kalian melakukan suatu kegiatan secara berurutan, seperti memasak mie instan, membuat jus, atau merakit gundam? Atau melakukan sebuah kegiatan yang memiliki kondisi tertentu, seperti membeli barang dengan harga kurang dari uang yang disediakan? Atau bahkan melakukan sebuah kegiatan yang berulang, seperti pulang-pergi ke sekolah, copy–paste dokumen, atau memeriksa tugas yang dikumpulkan siswa?
Pasti pernah!
Tanpa kita sadari, kehidupan sehari-hari yang kita lakukan memiliki algoritmanya masing-masing. Pada artikel Computational Thinking, kita sudah membahas sedikit tentang algoritma. Nah, dalam artikel ini, algoritma akan dibahas lebih mendalam. Yuk, kita simak.
Perkenalan dengan Algoritma
Algoritma dapat kita ketahui sebagai serangkaian langkah-langkah untuk mencapai tujuan tertentu yang disusun secara sistematis dan logis. Tujuan yang dimaksud bisa berupa penyelesaian masalah atau melakukan sebuah aktivitas.
💻 Mulai Belajar Pemrograman
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.
Daftar SekarangSejarahnya, algoritma ditemukan oleh Al-khawarizmi untuk memecahkan serangkaian rumus yang kompleks pada masanya. Beberapa waktu kemudian, algoritma diterapkan pada mesin oleh Alan Turing untuk membuktikan bahwa mesin juga dapat menerapkan algoritma yang ada.
Lalu, di zaman sekarang algoritma sudah dipakai di berbagai macam teknologi, seperti menemukan restoran terdekat, merekomendasikan film, atau melakukan sebuah automasi. Canggih, bukan?
Nah, sebagai programmer, kita perlu tahu jenis-jenis algoritma yang ada dan biasa kita terapkan pada daily life programmer.
Jenis-Jenis Algoritma
Pada dasarnya, algoritma terdiri dari tiga jenis, yaitu algoritma sekuensial (sequential), algoritma percabangan (branching/selection), dan algoritma perulangan (iteration).
Algoritma Sekuensial
Ini merupakan algoritma yang dilakukan secara bertahap dan juga berurutan. Contohnya dapat kita temukan pada kegiatan sehari-hari ketika kita ingin memasak mi. Biasanya, pada bungkus tersebut terdapat langkah-langkah penyajian untuk menghidangkan makanan tersebut.Pada dunia pemrograman, penerapan algoritma ini merupakan penerapan yang krusial. Contoh yang paling sederhana adalah mengambil data dari internet.
Biasanya ketika kita membuka aplikasi sosial media, misalnya Instagram.Aplikasi tersebut akan mengambil data dari database mereka, lalu ditampilkan pada pengguna. Jika kita urutkan, langkah-langkahnya menjadi seperti ini.
- Pengguna membuka aplikasi.
- Aplikasi mengambil data dari database.
- Aplikasi menampilkan keterangan “loading” ketika data sedang diambil.
- Aplikasi selesai mengambil data dan data ditampilkan pada aplikasi.
Algoritma Percabangan
Bayangkan kita sedang berbelanja bulanan dan kita memiliki budget belanja sekitar Rp200.000. Ketika berbelanja, tentunya ada banyak sekali barang dengan berbagai macam harga. Pada saat itu juga, kita memilih barang-barang yang akan kita beli. Jika total harga melebihi budget yang ada, kita perlu mengurangi barang belanjaan yang kita bawa.
Bagaimana, kamu jadi ingin belanja? Hehe.
Tanpa disadari, kita sudah mengetahui cara algoritma percabangan bekerja. Kita menghitung total belanja yang sudah dimiliki, apabila melebihi, kita perlu mengurangi belanjaannya. Jika dituliskan secara sistematis, jadilah seperti ini.
- Pergi ke tempat belanja.
- Mengambil keranjang belanja.
- Mengisi keranjang belanja.
- Periksa harga barang.
- Jika melebihi budget, kurangi barangnya.
- Jika sudah cukup, checkout bisa dilakukan.
Dalam dunia programming, algoritma ini dipakai dalam berbagai macam skenario. Misalnya, pemilihan opsi pembayaran pada suatu aplikasi atau scoring test filtering otomatis, seperti yang ada pada platform Dicoding.
Algoritma Perulangan
Bumi tentunya terus berputar pada porosnya. Dalam dunia astronomi, beberapa fenomena seperti gerhana bulan dan gerhana matahari akan terjadi setiap tahunnya. Kita sebagai manusia juga dapat menghitung waktu terjadinya hal tersebut. Setiap tahunnya, para ilmuwan terus bereksperimen untuk memprediksi waktu terjadinya hal tersebut.
Jika kita lihat contoh tersebut, ilmuwan juga memiliki algoritma dalam menentukan kapan fenomena di dunia astronomi tersebut akan terjadi. Jika kita bersinggungan dengan programming, ini merupakan algoritma yang dapat menyelesaikan berbagai macam masalah yang kejadiannya akan terus berulang. Contohnya pada platform Dicoding, siswa akan dikirimkan email setelah mereka lulus dari kelas. Mengingat Dicoding memiliki ratusan ribu user, hal itu dilakukan secara berulang dan juga otomatis.
Jadi, itulah tiga jenis algoritma yang perlu kamu ketahui! Ketiga algoritma tersebut merupakan dasar yang perlu kita kuasai sebagai programmer. Tentunya, dari ketiga jenis algoritma tersebut, jika kita kombinasikan akan menjadikan berbagai macam algoritma yang menarik, contohnya, algoritma kecerdasan buatan, machine learning, dan sebagainya.
Teknologi akan terus berkembang beriringan dengan perkembangan zaman. Maka dari itu, penting bagi kita untuk mengetahui ketiga algoritma ini.