Wednesday, November 4, 2015

Pengertian Algoritma

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 :

  1. .       Tentukan kita muat masuk rumah
  2. .       Pastikan kita berada di luar rumah
  3. .       Cek pintu tertutup atau terbuka
  4. .       Cek pintu terkunci atau tidak
  5. .       Buka kunci pintu
  6. .       Buka pintu
  7. .       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:
  1.        Masuk ke dalam rumah
  2.        Tentukan kita muat masuk rumah
  3.        Pastikan kita berada di luar rumah
  4.        Cek pintu terkunci atau tidak
  5.        Buka pintu
  6.        Cek pintu tertutup atau terbuka
  7.     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.



Followers