Apa Itu Notasi? Mengapa Notasi Algoritma Itu Penting?
NOTASI
Apa sih notasi algoritma itu?
Menurut Rinaldi Munir dalam buku Algoritma dan Pemrograman (1997) notasi algoritma adalah desain berisi urutan langkah-langkah pencapaian solusi yang tidak tergolong bahasa pemrograman apapun. Sehingga notasi algoritma merupakan dasar dibuatnya suatu program komputer dan dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
Mengapa notasi algoritma itu penting?
Bahasa pemrograman merupakan bahasa yang digunakan untuk memberikan instruksi atau perintah kepada komputer. Dengan bahasa pemrograman, user dapat memberikan perintah terhadap komputer untuk melakukan suatu pekerjaan yang dikehendaki. Ketika anda sudah mempelajari alur pemrograman melalui algoritma, sintaks dan semantik C dan bahwa semuanya adalah prinsip nomor dan bagaimana hubungannya dengan jenis. Dalam bahasa pemrograman, sangat penting ketika anda menulis algoritma secara spesifik. Hal ini disebabkan jika manusia akan tahu suatu instruksi atau perintah tidak jelas karena tidak sesuai dengan alur algoritma tersebut beda dengan computer yang hanya memperoses berdasarkan instruksi yang dituliskan. Sehingga ketika menulis algoritma, anda harus menuliskan alur yang lebih cermat dan spesifik apa yang mesti diproses oleh computer.
Seperti halnya ketika ingin mengubah algoritma menjadi kode, serta menyusunnya dan menjalankan kode, kemudian melakuka pengujia kode agar lebih yakin alurnya sudah benar. Jika terdapat kesalahan baru dilakukan debugging. Dengan proses seperti itu, kita bahkan bisa mempelajari algoritma yang dibuat orang lain dengan mengeksekusi atau mengintip kode apa yang mereka tuliskan. Sehingga ketika sudah ahli dalam menuliskan algoritma secara spesifik, maka siapapun yang menjalanka algoritma, anda sudah tahu persis apa yang mesti dilakukan
Ambil contoh dalam sebuah demonstrasi, kita ingin membuat algoritma untuk membuat roti selai kacang dan jeli. Disini sudah ada alur dibenak anda tindakan apa (algoritma bagaimana yang mesti anda buat secara spesifik) sehingga bisa dibayangkan letak kesalahannya jika terjadi error dalam proses.
Lanjut paling mendasar, dengan mengambil satu potong roti. Kemudian gunakan pisau untuk menaruh selai kacang diatasnya. Jadi sejauh ini alurnya masih bagus, Kemudian langkah ketiga mengambil sepotong roti lagi dan menggunakan pisau untuk menaruh jeli. Sampai disini logika manusia pasti akan bertanya dimana menaruh jelinya karena tidak ditulis secara spesifik. Langkah selanjutnya, taruh dua potong roti bersama.
Secara umum notasi algoritma terdiri dari tiga jenis, yaitu kalimat deskriptif, flowchart, dan pseudocode. Berikut adalah ketiga penjelasan dari tiga notasi pemrograman tersebut :
1. Kalimat Deskriptif
Notasi algoritma kalimat deskriptif adalah notasi algoritma yang menggunakan bahasa Inggris atau bahasa Indonesia dalam menjabarkan desain langkah pemrograman yang akan dibuat. Dalam notasi kalimat deskriptif akan dijumpai berbagai kata kerja dalam bahasa manusia seperti mulai, tulis, baca, tampilkan, maka, ulangi, read, print, if, dan end.
Notasi kalimat deskriptif ditulis dengan kerangka utama berupa judul, deklarasi, dan deskripsi. Deklarasi adalah bagian yang mendefinisikan variabel, fungsi, dan juga konstanta yang akan digunakan dalam pemrograman. Adapaun deskripsi berisi uraian langkah atau inti dari algoritma untuk suatu program komputer.
Contoh notasi algoritma kalimat deskriptif
a. Algoritma menghitung luas dan keliling lingkaran
{menghitung luas dan keliling lingkaran berdasarkan jari-jarinya. Algoritma menerima masukan berupa jari-jari lingkaran berupa bilangan bulat positif, melakukan pemrosesan berupa penghitungan luas lalu penghitungan keliling, dan yang terakhir mencetak hasil perhitungan sebagai keluaran}
Deklarasi :
Jari_jari = real {tipe data bilangan termasuk bilangan desimal maupun pecahan}
Luas = real
Keliling = real
Phi = 3.14 {konstanta}
Deskripsi :
1. Baca jari_jari lingkaran
2. Hitung Luas = Phi*Jari_jari*Jari_jari
3. Tampilkan Luas ke layar
4. Hitung Keliling = 2*Phi*Jari_jari
5. Tampilkan Keliling ke layar
6. Selesai
b. Algoritma menentukan nilai kualitas nilai siswa
{memasukkan nilai berupa bilangan real sebagai masukan, membaca nilai dan membandingkan dengan kondisi, menentukan kondisi yang sesuai dengan nilai, dan menampilkan kualitas nilai sebagai keluaran}
Deklarasi :
Nilai = real {tipe data bilangan termasuk bilangan desimal maupun pecahan}
Deskripsi :
1. Baca Nilai
2. Jika 100 > nilai > 90 maka tampilkan “A : memuaskan”
3. Jika 90 > nilai > 80 maka tampilkan “B: baik”
4. Jika 80 > nilai > 70 maka tampilkan “C: cukup”
5. Jika 70 > nilai > 60 maka tampilkan “D: kurang”
6. Jika 60 > nilai maka tampilkan “E: sangat kurang”
7. Selesai
2. Flowchart
Flowchart adalah jenis notasi algoritma yang menggunakan grafis berupa bagan untuk memperlihatkan langkah-langkah algoritma sebuah bahasa pemrograman. Bentuk diagram dalam bagan dari flowchart mendefinisikan instruksi yang diberikan pada komputer. Simbol flowchart biasanya menggunakan standar sesuai ANSI dan ISO.
Flowchart program memiliki 4 fungsi (Reynard, 1995), keempat fungsi flowchart tersebut antara lain:
- Membangun pemahaman umum tentang keseluruhan proses, fungsi ini paling besar saat membuat bagan.
- Mengembangkan proses berpikir. semakin banyak orang melihat diagram alur, semakin mbanyak proses dan interaksi yang terjadi.
- Meningkatkan proses. Inefisiensi seringkali dapat dihilangkan ketika orang setuju mengenai bagaimana suatu proses sebenarnya bekerja.
- Standarisasi proses. Mengizinkan orang untuk menyetujui suatu rangkaian langkah agar dapat membantu meningkatkan konsistensi proses.
simbol diagram flowchart
Untuk penjelasan lebih lanjut mengenai simbol dalam flowchart, silakan kunjungi halaman postingan blog saya di link berikut ini "Apa Itu Flowchart?".
3. Pseudocode
Peseudocode adalah jenis notasi algoritma yang sangat ringkas dan cocok digunakan untuk membuat alogirtma pemrograman yang panjang. Pseudocode bukanlah suatu bahasa pemrograman. Sehingga tidak dapat langsung dikompilasi sebagai program yang dikerjakan oleh komputer atau mesin. Pseudocode biasanya menggunakan sintaks sederhana (biasanya dalam Bahasa Inggris). Tujuannya untuk merancang kode sebuah program sebelum dituliskan dengan bahasa pemrograman. Oleh karena itu, pseudocode dapat bisa dipahami manusia namun, tidak dengan dipahami komputer. Agar notasi pseudecode bisa dimengerti komputer, harus diterjemahkan ke sintaks bahasa pemrograman tertentu.
Oleh karena itu, pseudocode dapat bisa dipahami manusia namun, tidak dengan dipahami komputer. Agar notasi pseudecode bisa dimengerti komputer, harus diterjemahkan ke sintaks bahasa pemrograman tertentu.
Ali Ridho Barakbah, dkk dalam buku Logika dan Algoritma (2013) menyebutkan bahwa pseudocode berisi deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemrograman tetapi ditujukkan agar dapat dimengerti manusia. Tujuan memakai pseudocode agar dapat membuat algoritma dengan rancangan struktur program yang efisien sebelum dituliskan ke dalam bahasa pemrograman tertentu.
Pseudocode menggunakan beberapa sintaks yang harus dipahami. Misalnya read yang berarti baca atau memasukkan input, if yang berati jika, print dan write yang berarti menampilkan pada layar, juga end yang berarti selesai. Pseudocode juga menggunakan “;” sebagai tanda berakhirnya suatu perintah.
Pseudecode terdiri dari tiga bagian utama, yaitu:
- Bagian Judul : Pseudocode harus memiliki judul yang menyatakan nama algoritme dan penjelasan tentang algoritma tersebut.
- Bagian Deklarasi : Bagian ini untuk mengenalkan nama-nama variabel atau konstanta, serta fungsi yang akan digunakan.
- Bagian Deskripsi : Bagian ini berisi struktur inti dari algoritma berupa langkah-langkah yang dituliskan secara berurutan. Kata kunci seperti if, then, else, while, do, for, repeat sering digunakan pada bagian ini. Tujuannya untuk menunjukan konstruk algoritme yang digunakan.
Contoh sederhana pseudocode :
a. Menghitung luas lapangan berbentuk persegi panjang
Judul
Program luas_lapangan_sepak_bola
Deklarasi
var panjang, lebar, luar : integer;
Deskripsi
panjang ← 100;
lebar ← 64;
luas ← panjang*lebar;
print luas;
b. Menentukan apakah sebuah bilangan adalah ganjil atau genap
Judul
Program ganjil_genap
Deklarasi
var bilangan : integer
Deskripsi
READ bilangan
IF (bilangan modulus 2 = 0) THEN
PRINT “genap”
ELSE
PRINT “ganjil”
ENDIF
c. Hitung mundur
Judul
Program hitung_mundur
Deklarasi
var bilangan : integer
Deskripsi
FOR (bilangan ← 5; nilangan > 0; bilangan--)
PRINT bilangan
ENDFOR
d. Menghitung luas segitiga
Judul
Program hitung_luas_segitiga
Deklarasi
var luas, alas, tinggi : integer;
Deskripsi
alas ← 25 ; tinggi ← 30 ;
luas ← ½*alas*tinggi
write (luas)
e. Menghitung luas lingkaran
Judul
Program hitung_luas_lingkaran
Deklarasi
var phi, float; var r, luar, integer;
Deskripsi
phi ← 22/7 ; read (r) ; (diinput user)
luas ←phi*r*r
write (luas);