Pengertian, Fungsi, Cara Kerja, dan Contoh Algoritma Pemrograman
Algoritma pemrograman adalah langkah berurutan dan terstruktur untuk membuat program. Jadi, setiap program komputer seperti software, apps, hingga sistem operasi dibangun dari algoritma pemrograman.
Ibarat resep, fungsi algoritma pemrograman membantu memecahkan masalah secara logis dan menciptakan program yang efektif. Karena itu, bagi yang ingin menguasai programming, wajib paham apa itu algoritma pemrograman.
Apa itu Algoritma Pemrograman?
Algoritma pemrograman adalah serangkaian langkah atau instruksi untuk memecahkan masalah tertentu. Di dalam pemrograman, algoritma digunakan untuk menentukan alur logika program.
Bisa dibilang bahwa algoritma adalah aspek utama ketika developer membuat program dengan bahasa pemrograman apapun. Sebab, hasil akhir program bergantung dari algoritma yang ditulis. Oleh karena itu, seorang developer wajib menguasai algoritma pemrograman ketika belajar pemrograman.
Cara Penyajian Algoritma
Sebagai awalan bisa belajar dua cara penyajian algoritma programming, yaitu :
1. Pseudocode
Pseudocode adalah cara penulisan program secara informal dengan kaidah sendiri, daripada menggunakan aturan yang ditetapkan bahasa pemrograman. Tujuannya yaitu agar alur logika yang ditulis lebih mudah dipahami manusia.
Di bawah ini adalah contoh pseudocode untuk menentukan bilangan terbesar dari tiga inputan angka :
2. Flowchart
Flowchart adalah diagram yang menampilkan proses dan langkah pengambilan keputusan dalam suatu program. Tujuan flowchart adalah menyederhanakan rangkaian prosedur serta mengurangi risiko salah tafsir.
Salah satu contoh flowchart dalam programming adalah sebagai berikut, untuk menunjukkan alur kerja program dari awal hingga akhir dalam menghitung luas persegi panjang :
Cara Kerja Algoritma Pemrograman
Di dalam pemrograman, algoritma bekerja dengan mengandalkan tiga aspek utama, yakni input → proses → output.
Ketika pengguna memasukkan data atau perintah, komputer akan menganalisis dan mengeksekusinya sesuai alur algoritma untuk menghasilkan output yang diharapkan.
Sebagai contoh, ketika melakukan pencarian di Google, langkah logika algoritma pemrogramannya adalah :
Menuliskan query pencarian → sistem memproses perintah → sistem menampilkan hasil pencarian yang relevan terhadap perintah.
Dalam praktiknya, algoritma pemrograman terdiri dari tiga macam konstruksi, yaitu algoritma sekuensial (linear sequence), algoritma percabangan (conditional), dan algoritma perulangan (looping).
- Algoritma Sekuensial
Algoritma dengan prosedur yang berjalan dari satu proses ke proses berikutnya untuk mencapai hasil akhir. Contohnya, merebus air mentah hingga air matang.
- Algoritma Percabangan
Algoritma yang menjalankan keputusan berdasarkan kondisi tertentu dengan dua atau lebih percabangan. Misalnya, jika nilai ujian lebih dari 75 maka hasilnya lulus ujian.
- Algoritma Pengulangan
Algoritma yang menjalankan urutan perintah berulang-ulang hingga beberapa kali. Contohnya, menampilkan bilangan kelipatan dua mulai dari 0 hingga 50.
Fungsi Algoritma Pemrograman
Pada dasarnya fungsi utama dari algoritma adalah untuk memecahkan suatu masalah. Suatu algoritma pemrograman membawa keuntungan serta fungsi penting dalam aktivitas pembuatan program. Algoritma pada umumnya digunakan untuk membantu setiap orang yang ingin mengkonversikan sebuah permasalahan ke bahasa pemrograman.
Dari fungsinya ini, algoritma adalah hasil dari pemikiran yang terkonsep sehingga perintah dalam algoritma dapat dilaksanakan oleh komputer lewat bahasa pemrograman. Beberapa yang perlu diketahui terkait fungsi algoritma adalah sebagai berikut :
- Membantu memecahkan suatu permasalahan dengan logika dan sistematis.
- Memudahkan dalam membuat suatu program untuk penyelesaian masalah tertentu.
- Dapat digunakan berkali-kali untuk menyelesaikan suatu permasalahan.
- Membuat sebuah program yang rumit dan besar menjadi sederhana.
- Mengatasi permasalahan yang ada secara urut.
- Memecahkan program yang rumit sehingga memungkinan adanya perhitungan tingkat tinggi.
- Menggunakannya secara berulang atau lebih dari satu kali penggunaan.
- Memudahkan dalam tracking kesalahan karena alur kerjanya yang jelas.
- Memudahkan dalam memodifikasi program tanpa harus merubah dan mengganggu modul lainnya.
- Memudahkan membuat program yang lebih rapi dan terstruktur sehingga lebih mudah dipahami dan dikembangkan.
Jenis Algoritma Pemrograman
Beberapa jenis algoritma yang wajib diketahui programmer adalah sebagai berikut :
1. Algoritma Brute Force
Algoritma brute force adalah jenis algoritma yang mencoba semua kemungkinan untuk menyelesaikan masalah. Dengan kata lain, ia akan melakukan percobaan satu persatu hingga menemukan solusi yang tepat.
Contoh penggunaan algoritma Brute Force misalnya untuk memecahkan 4 digit kode PIN dari angka 0 hingga 9. Setidaknya, butuh hingga 10.000 percobaan untuk menemukan kombinasi angka yang tepat.
2. Algoritma Recursive
Jenis algoritma yang kedua adalah algoritma recursive. Pada algoritma pemrograman ini, masalah diselesaikan sedikit demi sedikit dengan cara membaginya ke dalam beberapa kondisi yang serupa. Jika sulit membayangkan, algoritma pemrograman recursive bisa ditemukan ketika mengerjakan soal perhitungan pohon faktor Matematika.
Lebih jauh, algoritma recursive masih dibagi lagi menjadi empat tipe spesifik, yaitu :
- Algoritma Divide and Conquer
Membagi masalah menjadi dua bagian. Yang pertama yaitu masalah itu sendiri dan yang kedua adalah metode pemecahannya.
- Algoritma Dinamis
Menggunakan teknik memoisasi, yaitu menyimpan hasil pemecahan masalah ke memori untuk selanjutnya digunakan lagi di masa mendatang.
- Algoritma Greedy
Bertolak belakang dengan algoritma dinamis, algoritma greedy justru tidak akan mempertimbangkan hasil pemecahan masalah sebelumnya untuk mengambil keputusan.
- Algoritma Backtracking
Menyelesaikan masalah secara bertahap sambil mengeliminasi solusi yang ternyata tidak memecahkan masalah tersebut.
3. Algoritma Randomized
Sesuai namanya, algoritma randomized memanfaatkan penggunaan nomor secara acak untuk menentukan apa yang harus dilakukan selanjutnya. Tujuannya yaitu untuk mengurangi kerumitan di dalam pemrograman.
Contoh dari algoritma randomized adalah menentukan pivot selanjutnya menggunakan nomor yang muncul secara acak.
4. Algoritma Sorting
Bisa ditebak, algoritma sorting adalah jenis yang berfungsi untuk mengurutkan data berdasarkan kondisi tertentu, misalnya dari abjad A sampai Z atau jumlah angka besar ke kecil.
Contoh penerapan algoritma sorting antara lain bubble sort, merge sort, insertion sort, dan selection sort.
5. Algoritma Searching
Algoritma searching adalah tipe algoritma yang digunakan untuk mencari suatu data, baik yang sudah disortir maupun belum, menggunakan query yang spesifik. Contoh pemanfaatan algoritma searching yaitu binary search dan linear search.
6. Algoritma Hashing
Algoritma hashing sebenarnya mirip dengan algoritma searching. Bedanya, hashing tidak hanya mencari data, tapi juga mencocokkan query pencarian dengan kunci ID yang sudah ditetapkan.
Contoh pemanfaatan algoritma hashing yaitu untuk verifikasi password ketika ingin masuk ke akun tertentu.
Contoh Algoritma Pemrograman
Ini dia lima contoh algoritma pemrograman di dalam kehidupan sehari-hari :
1. Algoritma Menjumlahkan Dua Angka
Di dalam pemrograman, algoritma untuk menjumlahkan dua angka adalah sebagai berikut :
Langkah 1: Masukkan angka pertama. Langkah 2: Masukkan angka kedua. Langkah 3: Komputer menjumlahkan angka pertama dan kedua. Langkah 4: Komputer menampilkan hasil penjumlahan.
2. Algoritma Mencari Angka Terbesar
Untuk mencari tahu angka terbesar dari dua pilihan, maka perhitungan algoritma bahasa pemrograman yang digunakan adalah :
Langkah 1: Masukkan angka pertama. Langkah 2: Masukkan angka kedua. Langkah 3: Buat kondisi pertama. Jika angka pertama lebih besar dari angka kedua, maka tampilkan angka pertama. Langkah 4: Buat kondisi kedua. Jika angka kedua lebih besar dari angka pertama, maka tampilkan angka kedua. Langkah 5: Komputer menampilkan angka terbesar sesuai kondisi yang sesuai.
3. Algoritma Mengepel Lantai
Contoh penerapan algoritma program untuk mengepel lantai secara sistematis yaitu :
Langkah 1: Lantai basah. Langkah 2: Ambil alat pel. Langkah 3: Pel lantai menggunakan alat pel. Langkah 4: Lantai kering.
4. Algoritma Menulis Pesan
Berikut ini contoh penggunaan algoritma untuk menulis sebuah pesan singkat :
Langkah 1: Ambil handphone. Langkah 2: Buka aplikasi pesan. Langkah 3: Tulis pesan singkat. Langkah 4: Pilih nomor handphone tujuan. Langkah 5: Kirim pesan singkat. Langkah 6: Handphone menampilkan notifikasi pesan terkirim.
5. Algoritma Login Facebook
Algoritma program ternyata bisa diterapkan untuk membuat alur sistematis untuk masuk ke akun Facebook, seperti :
Langkah 1: Buka website Facebook. Langkah 2: Klik tombol login. Langkah 3: Komputer menampilkan halaman login. Langkah 4: Masukkan alamat email dan password Facebook. Langkah 5: Buat kondisi pertama. Jika alamat email dan password sesuai, komputer menampilkan pesan ‘berhasil login’ dan mengarahkan pengguna ke halaman beranda. Langkah 6: Buat kondisi kedua. Jika alamat email dan password tidak sesuai, komputer akan menampilkan pesan ‘error’ dan pengguna tetap di halaman login. Langkah 7: Komputer memproses permintaan pengguna berdasarkan kondisi yang sesuai.