Apa itu Algoritma ?
Algoritma dan struktur data ataupun Algoritma pemrograman sebenarnya sama saja itu cuma nama mata kuliahnya saja hehe :D Algoritma adalah sebuah kata yang
di ungkapkan programmer ketika mereka malasa menjelaskan tentang kode program
yang mereka tulis. Hehe :D becanda , Algoritma merupakan matakuliah dasar dan
wajib bagi mahasiswa jurusan yang ada kata informatika atau jurusan komputer.
Nama matakuliah sering digabung dengan istilah lain seperti algoritma dan pemrograman. Pada postingan ini
saya akan menjelaskan tentang algoritma dan bagaimana peran algoritma dalam
dunia yang ada kata informatika,, eh maksudnya dunia komputer.
Algoritma adalah prosedur
langkah-demi-langkah untuk penghitungan. Algoritma digunakan untuk
penghitungan, pemrosesan data, dan penalaran otomatis. 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 masuk rumah :
- . Tentukan kita muat masuk rumah
- . Pastikan kita berada di luar rumah
- . Cek pintu tertutup atau terbuka
- . Cek pintu terkunci atau tidak
- . Buka kunci pintu
- . Buka pintu
- . Masuk ke dalam rumah
Langkah-langkah di atas bisa disebut sebagai algoritma masuk
rumah. Sehingga urutan langkah-langkahnya harus logis . Bagaimana jika kita
menukar urutan langkah-langkahnya? Misalnya saya ubah menjadi seperti ini:
- Masuk ke dalam rumah
- Tentukan kita muat masuk rumah
- Pastikan kita berada di luar rumah
- Cek pintu terkunci atau tidak
- Buka pintu
- Cek pintu tertutup atau terbuka
- Buka kunci pintu
Apa jadinya?? Hahah jadi ga jelas kan, karena belum buka pintu udah masuk duluan :v
Algoritma memiliki 3 bentuk dasar yang wajib kita ketahui
yaitu:
1. 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.
2. 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.
3. 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.
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.