Skip to content Skip to sidebar Skip to footer

Mengenal 3 Notasi Algoritma: Deskriptif, Pseudocode dan Flowchart

Pembahasan tentang algoritma menjadi topik yang menarik. Sebelum membahas algoritma lebih jauh, ada sedikit intermezzo mengenai resep mie instan ekstra pedas. Menyantap mie instan terutama yang kuah akan lebih mantap jika ditambahkan dengan cabai yang cukup banyak sehingga membuat rasanya makin pedas. Ditambah beberapa irisan bawang putih, taburan bawang merah goreng dan disajikan saat masih panas, dijamin deh siapapun akan menyukainya. Untuk membuat mie instan kuah yang pedas, berikut resepnya.

Bahan
  • 1 bungkus mie instan kuah (rasa sesuai selera)
  • 1 batang daun bawang (potong kasar)
  • 2 siung bawang putih (iris tipis)
  • 5 buah cabai rawit (iris kecil-kecil)
  • 2 buah cabai hijau besar (potong sesuai selera)
  • Kecap manis (secukupnya, jika suka)
  • Garam (secukupnya, jika kurang asin)
  • Satu genggam tauge

Cara Membuat
  • Masak air hingga mendidih secukupnya, kemudian masak mie hingga matang.
  • Angkat mie yang telah matang, tiriskan kemudian sisihkan sebentar. 
  • Rebus air secukupnya, masukkan bawang putih, tauge, daun bawang, cabai rawit, cabai hijau dan garam sedikit saja. Rebus hingga semua bahan matang. 
  • Masukkan mie ke dalam kuah, aduk rata. Tambahkan bumbu mie instan, aduk rata. 
  • Tambahkan kecap manis sesuai selera, koreksi rasa. 
  • Angkat mie kuah pedas yang telah matang, sajikan selagi masih panas.
Sudah paham cara membuat mie instan pedas ya? Sebenarnya tanpa diberitahu pun anda sudah paham cara buatnya. Apalagi bagi anak kost. Namun, tahukah anda bahwa resep yang anda baca tadi dapat dikategorikan sebagai salah satu notasi algoritma? Resep yang anda baca tadi berisikan serangkaian instruksi langkah demi langkah untuk mengambil bahan dan menghasilkan mie instan yang enak. Kadang tanpa disadari resep pembuatan mie instan ada disetiap kemasannya.

Secara umum, suatu algoritma dapat didefinisikan sebagai suatu prosedur untuk memecahkan/memahami/menyelesaikan masalah.  Dalam konteks pemrograman komputer, suatu algoritma, didefinisikan sebagai: Sekumpulan operasi yang tertata rapi (well-ordered), tidak ambigu  (unambiguous) and  dan efektif secara komputasi (effectively computable), sehingga ketika algoritma dijalankan, mampu mendapatkan hasil dalam jumlah waktu yang terbatas.

Karakteristik Algoritma
  1. Tertata rapi (well-ordered): langkah-langkahnya telah tertata dalam urutan yang jelas
  2. Tidak ambigu  (unambiguous): operasi yang dijelaskan dapat dipahami oleh komputer tanpa penyederhanaan lebih lanjut
  3. Komputasi yang efektif (effectively computable): komputer dapat benar-benar melakukan operasi sesuai algoritma
Metode untuk Mengembangkan Algoritma
  1. Definisikan masalah (define the problem): Nyatakan masalah yang ingin anda selesaikan dengan istilah yang jelas dan ringkas. Ingat, mendefinisikan masalah tentu berbeda dengan membuat masalah ya! Jika anda bikin masalah baru, artinya anda ingin ngajak berantem. Mendefinisikan berarti memahami masalah yang sudah ada, bukan membuat masalah baru. Misalnya: memasak nasi. Tentu tidak setiap orang tahu cara memasak nasi yang baik. Jadi cara memasak nasi dapat dijelaskan melalui algoritma. 
  2. Sebutkan input (informasi/data yang dibutuhkan untuk menyelesaikan masalah) dan output (hasil dari algoritma). Misalnya: dalam kasus algoritma memasak nasi, input yang diperlukan adalah bahan dan alat untuk memasak nasi, yaitu beras, air dan magic com. Sedangkan output yang dihasilkan adalah nasi siap saji.  
  3. Jelaskan langkah-langkah yang diperlukan untuk mengolah input hingga menghasilkan output.  Mulailah dari level yang paling awal hingga akhir, sehingga tercapai langkah-langkah yang tertata rapi, tidak ambigu dan efektif. 
  4. Uji algoritma: pilih set data dan verifikasi bahwa algoritma anda berfungsi dengan baik.
Algoritma dapat direpresentasikan dalam 3 notasi, antara lain 

Notasi Deskriptif
Notasi algoritma deskriptif dilakukan dengan cara menuliskan intruksi-intruksi yang harus dilaksanakan dalam bentuk uraian kalimat deskriptif dengan menggunakan bahasa yang jelas dan tidak ambigu. Notasi jenis ini disarankan untuk algoritma yang pendek karena apabila untuk algoritma yang panjang notasi deskriptif kurang efektif.  

Secara garis besar notasi deskriptif tersusun atas tiga bagian utama, yaitu: Bagian Judul, merupakan bagian yang terdiri atas nama algoritma dan penjelasan atau spesifikasi algoritma tersebut. Bagian Deklarasi, merupakan bagian untuk mendefinisikan semua nama yang digunakan pada algoritma dapat berupa variabel, konstanta, tipe ataupun fungsi. Bagian Deskripsi, merupakan bagian inti pada struktur algoritma yang berisi uraian langkah-langkah penyelesaian masalah.

Contoh ringkas notasi deskripsi adalah instruksi memasak mie instan pedas, sebagaimana dicontohkan pada awal artikel. 

Pseudocode
Pseudecode merupakan cara penulisan algoritma yang menyerupai bahasa pemrograman tingkat tinggi. Pada umumnya notasi pseudecode menggunakan bahasa yang mudah dimengerti secara umum dan juga lebih ringkas dari pada algoritma.

Contoh pseudocode

Ekspresikan algoritma dalam bentuk pseudocode untuk mendapatkan dua bilangan dari pengguna, yaitu pembilang (dividend) dan penyebut (divisor). Algoritma juga memastikan bahwa penyebut tidak bernilai 0 serta menampilkan hasil bagi antara pembilang dan penyebut! 

Agar tidak salah paham
Pembilang adalah suatu bilangan atau angka yang akan dibagi
Penyebut adalah pembagi suatu bilangan (angka yang akan membagi suatu bilangan)

1. Deklarasi variabel: pembilang, penyebut, hasil_bagi
2. Meminta pengguna untuk entri pembilang dan penyebut
3. Mendapatkan pembilang dan penyebut
4. IF penyebut bernilai nol, THEN
4.1. DO
4.1.1. Menampilkan pesan kesalahan, “penyebut tidak boleh bernilai nol”
4.1.2. Meminta pengguna entri penyebut
4.1.3. Mendapatkan penyebut
4.2. WHILE penyebut bernilai 0
5. ENDIF
6. Menampilkan pembilang dan penyebut
7. Hitung hasil_bagi = pembilang/penyebut
8. Menampilkan hasil_bagi 


Flowchart
Flowchart bisa diartikan sebagai diagram alir yang menggambarkan langkah-langkah dan struktur suatu algoritma atau program.

Aturan umum flowchart

  • Semua simbol dari flowchart dihubungkan oleh garis aliran (arrows) yang mengindikasikan arah aliran bukan garis biasa.
  • Garis aliran memasuki bagian atas simbol dan keluar dari bagian bawah, kecuali untuk simbol keputusan (decision), yang memiliki garis aliran yang keluar dari bawah atau samping.
  • Aliran proses bergerak dari atas ke bawah.
  • Awal dan akhir pada flowchart disimbolkan dengan terminal. 

Berikut ini simbol-simbol dasar dalam flowchart yang secara umum paling sering digunakan
Gambar 1. Simbol dalam flowchart (yang sering digunakan)

Contoh flowchart untuk memasak nasi
Gambar 1. Contoh Flowchart memasak nasi

Demikian penjelasan singkat mengenai 3 notasi algoritma: deskriptif, pseudocode dan flowchart. Jika ada pertanyaan, silahkan beri komentar. Terima kasih.

Referensi
Furman, Burford J. Notes on Algorithms, Pseudocode, and Flowcharts. San Jose State University

Blitar, 25 September 2019
Salam

Abd. Charis Fauzan

Post a Comment for "Mengenal 3 Notasi Algoritma: Deskriptif, Pseudocode dan Flowchart "