Apa Itu Algoritma?
Mungkin kita sering mendengar orang menyebutkan kata ini, algoritma, khususnya di perguruan tinggi. Hampir di semua sisi kehidupan kita, selalu berkaitan dengan yang namanya algoritma. Mau membuat program komputer, mau menyelesaikan soal-soal matemetika, pasti pakai algoritma. Bahkan kegiatan sehari-hari pun tidak lepas dari yang namanya algoritma.
Mengapa algoritma selalu ada? Jawabnya simpel saja, selama ada masalah, maka algoritma juga ada dan akan selalu diusahakan untuk ada. Lalu apa hubungannya?
Begini, pada saat kita menghadapi masalah, tentu kita ingin menyelesaikan masalah tersebut, iya kan? Bagaimanapun, seberat apapun masalahnya, kita ingin agar masalah itu selesai. Nah, proses-proses dan langkah-langkah kita dalam penyelesaian masalah inilah yang disebut dengan algoritma. Ya… walaupun dalan kenyataannya kita tidak pernah menggunakan atau bahkan tahu dengan sebutan algoritma.
Algoritma adalah rangkaian prosedur atau langkah-langkah yang berurutan untuk memecahkan dan menyelesaikan suatu masalah.
Ya, begitulah kira-kira gambaran singkat tentang algoritma. Lalu seperti apa sih contohnya? Tadi kan disebut bahwa kehidupan ini tidak lepas dengan yang namanya algoritma. Coba kita baca dulu beberapa masalah berikut ini:
- Misalkan Anda seorang pelajar atau mahasiswa (seperti saya), setiap pagi hari harus pergi ke sekolah/kampus, apa yang Anda lakukan untuk memecahkan masalah Anda ini, agar Anda bisa sampai tujuan.
- Anda punya 2 gelas minuman, 1 gelas berisi susu dan lainnya berisi teh, bagaimana cara Anda menukarkan isi kedua gelas tersebut? Ingat ya, ditukar, bukan dicampur…
- Anda hobi bikin kue, misalnya donat, bagaimana cara Anda bikin kue tersebut?
- Banyak lagi masalah-masalah lainnya, Anda pikirkan saja sendiri.
Melihat beberapa contoh tersebut yang menuntut penyelesaian, maka kesatuan setiap urutan langkah-langkah kita dalam menyelesaikannya disebut algoritma. Sekarang coba kita lihat bagaimana algortima dari contoh-contoh di atas.
Contoh 1 :
- bangun pagi-pagi
- mandi
- berpakaian rapi
- makan pagi/sarapan
- berangkat ke sekolah/kampus naik motor
- kalau tidak, ikut teman
- kalau tidak, naik angkot
- sampai sekolah/kampus, belajar
Contoh 2 :
- beri nama A untuk gelas berisi susu dan B untuk gelas berisi teh
- ambil 1 gelas kosong untuk membantu proses pertukaran, beri nama C untuk gelas bantu tersebut
- tuang susu dari gelas A ke dalam gelas C
- tuang teh dari gelas B ke dalam gelas A
- tuang susu dari gelas C ke dalam gelas B
- susu dan teh sudah bertukar tempat
Contoh 3 :
Untuk contoh ini, saya rasa Anda sudah mengerti maksudnya. Tinggal lihat resep bikin kue donat, lakukan seperti petunjuk dan langkah-langkahnya…
Misalnya, siapkan bahan kue, campur dan aduk adonan dan seterusnya…
Dari contoh-contoh di atas, 1 kesatuan langkah-langkah yang kita lakukan untuk menyelesaikannya disebut dengan algoritma. Perlu diperhatikan bahwa ada beberapa catatan penting dalam penyusunan algoritma, yaitu :
- langkah-langkahnya harus bisa dilaksanakan (logis) dan sederahana serta seringkas mungkin
- harus dapat berhenti setelah mengerjakan beberapa prosedur/langkah-langkah
- ada sesuatu yang menjadi sumber pengerjaan algoritma itu (ada inputnya)
- ada hasil (output) yang didapat dari algoritma tersebut sekalipun tidak ada nilainya (nol)
Algoritma yang akan kita bahas pada posting-posting berikutnya menyangkut tentang pemrograman komputer. Karena algoritma adalah jantungnya komputer, maka mempelajari algoritma adalah hal penting sebagai dasar dalam pembuatan program. Contoh di atas kita jadikan gambaran bahwa dalam penyelesaian sebuah program tidak jauh bebeda dengan penyelesaian masalah kita sehari-hari. Bedanya mungkin hanya pada penulisan algoritmanya dan masalah yang dihadapi.
Untuk lebih memperjelas dan memperdalam tentang gambaran algoritma ini, serta bagaimana kita membuat penyelesaian dengan syarat-syarat tertentu (sesuai masalah), kita coba lagi menyelesaikan beberapa masalah yang ‘menarik’ pada posting berikutnya. Sementara sampai di sini dulu… Nantikan posting berikutnya…
Referensi: Rinaldi Munir, Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Penerbit Informatika, Bandung, 2007.
Gambar: bpptik.kominfo.go.id
Gabung dalam percakapan