Apa Itu Algoritma Penjelasan Dan Contohnya
Algoritma merupakan matakuliah wajib bagi mahasiswa jurusan komputer. Nama matakuliah sering digabung dengan istilah lain seperti algoritma dan struktur data atau algoritma dan pemrograman. Pada postingan ini saya akan menjelaskan tentang algoritma dan bagaimana peran algoritma dalam dunia komputer.
Pengertian Algoritma
Algoritma adalah urutan langkah-langkah yang logis untuk menyelesaikan suatu masalah. Ketika kita punya suatu masalah maka kita harus bisa menyelesaikan masalah tersebut dengan langkah-langkah yang logis. Contoh algoritma sederhana dalam kehidupan sehari-hari adalah ketika kita akan memasak air:
Siapkan panci
Masukkan air ke dalam panci
Tutup panci
Letakkan panci di atas kompor
Hidupkan kompor
Jika air sudah mendidih, matikan kompor.
Angkat panci dari kompor
Langkah-langkah di atas bisa disebut sebagai algoritma memasak air. Sehingga urutan langkah-langkahnya harus logis dalam memasak air. Bagaimana jika kita menukar urutan langkah-langkahnya? Misalnya saya ubah menjadi seperti ini:
Siapkan panci
Tutup panci
Masukkan air ke dalam panci
Letakkan panci di atas kompor
Hidupkan kompor
Jika air sudah mendidih, matikan kompor
Angkat panci dari kompor
Apa hasilnya? Kita tidak jadi memasak air tapi malah memasak panci :D. Karena saya ubah pada langkah ke-2 yang seharusnya masukkan air terlebih dahulu baru pancinya ditutup. Kalau menutup panci dulu baru airnya dimasukkan ya airnya tidak masuk. :D
Bentuk Dasar Algoritma
Algoritma memiliki 3 bentuk dasar yang wajib kita ketahui yaitu:
Algoritma Sekuensial (Sequence Algorithm)
Algoritma sekuensial adalah algoritma yang langkah-langkahnya berurutan dari awal sampai akhir. Bentuk ini sudah kita lihat pada contoh algoritma memasak air di atas. Setiap langkah dijalankan urut dari atas sampai bawah.
Algoritma Perulangan (Looping Algorithm)
Algoritma perulangan akan menjalankan langkah tertentu berulang-ulang. Pada masalah yang kita hadapi sering kali ada suatu langkah yang harus dilakukan berulang-ulang. Contoh algoritma perulangan adalah algoritma menjemur pakaian:
Siapkan jemuran
Ambil satu pakaian yang akan dijemur
Peras pakaian
Letakkan pakaian pada tiang jemuran
Ulangi langkah 2 sampai 4 sampai pakaian habis
Dari algoritma di atas kita tahu bahwa langkah ke-2 sampai ke-4 harus dilakukan berulang-ulang sampai pakaian habis.
Algoritma Percabangan / Bersyarat (Conditional Algorithm)
Algoritma ini akan menjalankan langkah berikutnya apabila ada syarat yang sudah dipenuhi. Kita lihat pada algoritma memasak air di atas. Saya tuliskan kembali pada bagian bersyaratnya:
Hidupkan kompor
Jika air sudah mendidih, matikan kompor.
Angkat panci dari kompor
Algoritma bersyarat terletak pada langkah ke-6. Jika air sudah mendidih, matikan kompor. Sehingga apabila air belum mendidih maka kompor tidak akan dimatikan. Merancang Algoritma yang Baik
Algoritma yang baik menurut Donald E. Knuth memiliki kriteria sebagai berikut:
-
Input (Masukan) Algoritma memiliki nol input atau lebih
-
Output (Keluaran) Harus menghasilkan minimal 1 output.
-
Finite (Terbatas) Algoritma harus berhenti setelah menjalankan langkah-langkah yang diperlukan.
-
Definite (Pasti) Harus jelas kapan algoritma dimulai dan kapan berakhir. Apa tujuan algoritma dibuat juga harus jelas. Setiap langkah harus didefinisikan dengan jelas.
-
Efisien Perancangan algoritma harus efisien. Langkah yang tidak efisien misalnya mencari hasil 1 + 0. Ini tidak efisien karena bilangan apapun yang ditambah dengan nol maka hasilnya adalah bilangan itu sendiri. Sehingga langkah seperti ini tidak perlu dimasukkan ke dalam algoritma. Pentingnya Algoritma di Bidang Pemrograman
Setelah membaca uraian singkat di atas anda sadar bahwa algoritma sangatlah penting dalam dunia komputer terutama pemrograman. Programmer harus paham betul akan dasar-dasar algoritma sehingga bisa mengembangkan algoritma yang lebih kompleks.
Sering kali ada dosen yang langsung mengajarkan pemrograman tanpa mengajarkan mahasiswa tentang algoritma sehingga mahasiswa bingung ketika dihadapkan pada persoalan yang lebih kompleks. Jika dosen anda mengajarkan langsung pada pemrograman sebaiknya anda membaca artikel atau buku tentang algoritma dan memahaminya.
Saking pentingnya algoritma dalam pemrograman sampai saya membuat kategori tersendiri untuk artikel yang berkaitan dengan algoritma. Dengan begitu anda dan juga saya sendiri bisa dengan mudah mencari artikel tentang algoritma.
Jadi, apakah anda sudah memahami apa itu algoritma? Jika belum mari kita diskusikan bersama di komentar. :)