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
- Masukkan air ke dalam panci
- Tutup 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:
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:
6. Jika air sudah mendidih, matikan kompor.
7. 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.
No comments:
Post a Comment