Sebagian dari kita mungkin sedikit asing dengan kata ini. Apa itu algoritma? Tanpa kita sadari, sebenarnya kita selalu menerapkan algoritma untuk melakukan suatu kegiatan dalam kehidupan sehari-hari. Bahkan kegiatan sekecil apapun kita tidak akan pernah lepas dari algoritma. Singkatnya, algoritma adalah suatu urutan atau langkah dalam menyelesaikan suatu permasalahan.

 

Mudahnya mari kita berandai-andai seperti demikian, misal kita ingin meminum segelas air yang ada di dispenser. Maka algoritma yang sering kita terapkan mungkin mendekati seperti ini :

  1. Ambil gelas di rak yang berada di dapur.
  2. Bawa gelas tersebut dan letakkan dibawah keran dispenser.
  3. Tekan kenop keran hingga air mengisi gelas.
  4. Tunggu hingga gelas penuh terisi air atau sesuai jumlah air yang diinginkan, hentikan kenop keran.
  5. Angkat gelas dari bawah keran.
  6. Minum.
  7. Selesai.
Lihat, kegiatan yang sepele namun kita gunakan algoritma untuk memecahkannya. Setiap orang memiliki pola pikir yang berbeda, demikian juga dengan algoritma, tiap orang tidak akan mungkin sama. Yang ada hanya mirip antara satu sama lain. Algoritma diatas bisa juga dikembangkan, bagaimana jika air tidak keluar dari keran dispenser? Maka bisa saja berkembang seperti berikut :
  1. Ambil gelas di rak yang berada di dapur.
  2. Bawa gelas tersebut dan letakkan dibawah keran dispenser.
  3.  Tekan kenop keran hingga air mengisi gelas.
  4. Jika : air tidak keluar dari keran, jalankan langkah nomor 5. air keluar, jalankan langkah nomor 7.
  5. Cek apakah galon masih berisi air : jika tidak, jalankan langkah nomor 6.  jika ya, periksa keran dispenser, ulangi langkah nomor 3.
  6. Ganti galon kosong dengan galon yang masih berisi air, kemudian ulangi langkah nomor 3.
  7. Tunggu hingga gelas penuh terisi air atau sesuai jumlah air yang diinginkan, hentikan kenop keran.
  8. Angkat gelas dari bawah keran.
  9. Minum.
  10. Selesai.
Dari algoritma diatas, apakah masih bisa dikembangkan lagi? Tentu saja. Lihat poin nomor 6, mengganti galon air tentu saja ada algoritmanya tersendiri. Nah kemudian bagaimana kira-kira algoritma jika kita ingin air minum hangat? kembangkan sendiri :p
Oh ya, tidak ada algoritma yang benar maupun salah. Asal tujuan tercapai, maka algoritma tersebut dinilai tepat dan dapat digunakan. Tentu saja, algoritma yang paling baik adalah yang paling efisien dan tidak merugikan atau menimbulkan masalah lain. Algoritma juga tidak boleh buntu, alias tidak ada pemecahannya, atau bahkan algoritma yang berputar-putar tanpa henti (infinite loop) coba amati algoritma berikut :
  1. Ambil gagang telepon.
  2. Tekan nomor telepon yang akan dituju.
  3. Tunggu hingga terdengar nada sambung.
  4. Jika : panggilan dijawab, jalankan langkah nomor 5. panggilan tidak dijawab, ulangi langkah nomor 2
  5. Mulai berbicara.
  6. Selesai berbicara, letakkan gagang telepon di tempat semula.
  7. Selesai.
Algoritma apakah diatas? Ya benar, algoritma untuk melakukan komunikasi melalui telepon. Namun coba lihat poin nomor 4, pilihan yang kedua : Jika panggilan tidak dijawab, ulangi langkah nomor 2. Sekilas nampak masuk akal. Namun apa yang terjadi jika panggilan tidak juga dijawab? Kita akan terus menerus mengulang langkah nomor 2 -> 3 -> 4 -> 2 -> 3 -> 4 -> … tanpa henti. Itulah yang disebut infinite loop. Sebagai manusia yang berakal tidak mungkin kita akan melakukannya. Kecuali emang lagi pengen iseng ga ada kerjaan lain.
Lalu bagaimana sebaiknya?
  1. Ambil gagang telepon.
  2. Tekan nomor telepon yang akan dituju.
  3. Tunggu hingga terdengar nada sambung.
  4. Jika : panggilan dijawab, jalankan langkah nomor 6. panggilan tidak dijawab, jalankan langkah nomor 5.
  5. Jika : masih ingin mencoba melakukan panggilan ulang, jalankan langkah nomor 2. tidak ingin mencoba melakukan panggilan ulang, jalankan langkah nomor 7.
  6. Lakukan percakapan hingga selesai.
  7. Letakkan gagang telepon di tempat semula.
  8. Selesai.
Nah, tidak hanya programmer dan matematikawan yang selalu bergelut dengan algoritma. Otak kita yang canggih selalu memikirkan algoritma-algoritma kompleks tanpa kita sadari. Algoritma tiap orang dipengaruhi juga oleh pengalaman, wawasan dan bahkan gaya hidup. Kita dihadapkan pada sesuatu yang maya, yang tak nampak, oleh karena itu otak kita dibiasakan menyusun algoritma baru dengan pertimbangan-pertimbangan yang kritis. Kita tahu ataupun baru tahu bahwa hidup ini tak pernah lepas dari algoritma. Saking pentingnya bahkan jadi mata kuliah tersendiri di banyak jurusan teknik, misalnya Teknik Informatika, Teknik Elektro, dan lain-lain.
-sekian dulu dari tulisan yang ga penting ini-