Wednesday, August 5, 2020

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:

  1. Siapkan panci
  2. Masukkan air ke dalam panci
  3. Tutup panci
  4. Letakkan panci di atas kompor
  5. Hidupkan kompor
  6. Jika air sudah mendidih, matikan kompor.
  7. 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:

  1. Siapkan panci
  2. Masukkan air ke dalam panci
  3. Tutup panci
  4. Letakkan panci di atas kompor
  5. Hidupkan kompor
  6. Jika air sudah mendidih, matikan kompor.
  7. 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:

  1.       Siapkan jemuran
  2.       Ambil satu pakaian yang akan dijemur
  3.       Peras pakaian
  4.       Letakkan pakaian pada tiang jemuran
  5.       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:

5. Hidupkan kompor
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