Notasi AlgoritmaSeperti yang telah dibahas sebelumnya, bahwa algoritma adalah rangkaian langkah-langkah untuk memecahkan suatu masalah. Algoritma dituliskan dalam sebuah notasi yang disebut Notasi Algoritma. Notasi algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam notasi algoritma inilah terdapat kerangka-kerangka suatu program. Ciri notasi algoritma yang baik yaitu dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan dimengerti. Meskipun demikian untuk menghindari kekeliriuan, ketaatan terhadap notasi perlu diperhatikan.
Di bawah ini ada 3 notasi yang digunakan dalam penulisan algoritma,yaitu :
1.Kalimat Deskriptif
2.Diagram Alir (Flowchart)
3.Pseudo-Code
1. Kalimat Deskriptif
Dengan notasi kalimat deskriptif ini, deskripsi setiap langkah dijelaskan dengan bahasa yang jelas/gamblang. Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman relatif sulit.
contoh algoritma dengan kalimat deskriptif.
Algoritma menghitung luas persegi panjang:
luas persegi panjang = panjang*lebar.
1.mulai.
2.baca panjang
3.baca lebar
4.hitung luas = panjang*lebar
5.cetak luas
6.selesai.
2. Diagram Alur (Flowchart)
Dengan diagram alir, deskripsi setiap langkah dijelaskan dalam sebuah bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dalam suatu program. Notasi diagram alur lebih cocok digunakan untuk masalah yang kecil, untuk masalah yang besar tidak cocok digunakan karena membutuhkan berlembar halaman kertas. Selain itu, pengkonversian notasi algoritma ke bahasa pemrograman cenderung relatif sulit.
contoh algoritma dengan diagram alur.
Algoritma menghitung luas persegi panjang:
Tentukan luas persegi panjang. P= panjang, L=lebar, Luas=P*L.
3. Pseudo-code
Dengan notasi pseudocode, deskripsi setiap langkah dijelaskan dengan menggunakan vacabulary (baku) atau dalam arti lain seperti ini pseudocode merupakan deskripsi tingkat tinggi informal dan ringkas atas algoritma pemrograman komputer yang menggunakan konvensi struktural atas suatu bahasa pemrograman, dan ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Notasi pseudocode adalah yang paling umum di gunakan dalam penulisan algoritma karena pengkonversian ke bahasa pemograman relatif mudah.
Notasi pseudo-code terdiri dari :
• Head(Judul) : memberikan nama pada algoritma; umumnya nama sudah dapat memberi gambaran pada prosedur penyelesaian masalah atau masalah yang akan diselesaikan
• Deklarasi : menyatakan jenis dari setiap elemen data (variabel) yang akan digunakan dalam algoritma.
• Deskripsi : merupakan inti prosedur penyelesaian masalah; meliputi pernyataan/operasi, fungsi, penjelasan, dll.
contoh algoritma dengan pseudocode:
ALGORITMA HITUNG LUAS
menghitung luas persegi panjang.
DEKLARASI:
P=panjang
L=lebar
Luas=P*L
DESKRIPSI:
read (P,L)
while (Luas=P*L)
endwhile
write (Luas)
Kita bisa bebas menulis pseudocode selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya.
Aturan Penulisan AlgoritmaTeks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis alam bentuk notasi apapun , asalkan mudah dibaca dan dimengerti. Tidak ada notasi yang baku dalam penulisan teks algoritma. Tiap orang dapat membuat aturan penulisan dan algoritma sendiri.Namun, agar notasi algoritma dapat dengan mudah ditranslasi ke alam notasi bahasa pemrograman, maka sebaiknya notasi algoritma itu berkoresponden dengan notasi bahasa pemrograman secara umum.
Contoh perintah :Tulis nilai x dan y
Dalam notasi algoritma menjadi : write (x,y)
Dalam Bahasa Turbo C ditulis : printf(“%d %d”,x,y);
Tipe, Nama, dan Nilai
Tipe
Pada umumnya program komputer bekerja dengan memanipulasi objek (data) di dalam memori. Objek yang akan diprogram bermacam-macam tipenya, misalnya tipe numerik,karakter,string, dan record(rekaman).
Tipe data dapat dikelompokan menjadi 2, yaitu: tipe dasar dan tipe bentukan. Tipe dasar adalah tipe yang langsung dapat dipakai, sedangkan tipe bentukan dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan.
Suatu tipe diacu dari namanya.Nilai-nilai yang dicakup oleh tipe tersebut dinyatakan didalam ranah (domain)nilai. Operasi-operasi (beserta operator) yang dapat dilakukan terhadap tipe tersebut juga didefinisikan. Dengan kata lain suatu tipe dinyatakan dengan namanya,ranah nilai yang dikandungnya,cara menuliskan konstantanya, dan operasi yang dapat dilakukan padanya.
Tipe Dasar
Dalam bahasa pemrograman yang termasuk tipe dasar adalah :
1. bilangan logika
2. bilangan bulat
3. karakter atau string
4. bilangan riil
Tipe Bentukan
Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram (user define). Tipe bentukan disusun oleh satu atau lebih tipe dasar. Ada dua macam tipe bentukan yaitu:
1.Tipe dasar yang diberi nama dengan nama tipe baru contoh : tipe BilanganBulat : integer
Variabel BilanganBulat adalah tipe bilangan bulat yang sama saja dengan tipe integer. Misalkan kita mempunyai sebuah variabel yang bernama X dan bertipe BilanganBulat, maka artinya variabel X tersebut juga bertipe integer.
2.Rekaman (rekord).
Rekaman disusun oleh satu atau lebih field.Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah dideinisikan sebellumnya.Nama record itentukan oleh pemrogram. Karena stukturnya yang diusun atas field-field, maka rekaman inamakan juga tipe terstruktur(stuctured type).
Nama
Setiap objek dialam mempunyai nama.Nama diberikan agar objek tersebut mudah diidentifikasi, diacu, dan dibedakan dari objek lainya.Di dalam algoritma nama dipakai sebagai pengidentifikasi “sesuatu” dan pemrogram mengacu “sesuatu” itu melalui namanya. Karena itu tiap nama haruslah unik, tidak boleh ada dua buah nama yang sama.
Di dalam algoritma “sesuatu” yang diberi nama dapat berupa :
1.Variabel
2.Konstanta
3.Tipe Bentukan
4.Nama Fungsi
5.Nama Prosedur
Suatu hal yang penting untuk diperhatikan adalah, nama sebaiknya interpretatif, yaitu mencerminkan nilai intrinsik atau fungsi yang dikandungnya.Pemrogram sangat dianjurkan untuk memberikan penjelasan terhadap nama yang didefinisikan.
Semua nama yang digunakan dalam algoritma harus didefinisikan atau dideklarasikan dibagian deklarasi .Bagian deklarasi dipakai sebagai tempat mengacu suatu kata untuk diketahui makna atau terjemahannya.Tempat untuk menjelaskan nama dan tipe dari nama tersebut.
Nilai
Nilai adalah besaran dari tipe data yang sudah didefinisikan.Nilai dapat berupa isi yang disimpan oleh nama variabel atau nama konstanta,nilai dari hasil perhitungan, atau nilai yang dikirim oleh fungsi.Algoritma pada hakikatnya adalah memanipulasi nilai yang disimpan didalam elemen memori. Nilai yang dikandung oleh variabel dimanipulasi antara lain dengan cara : mengisikannya ke variabel lain yang bertipe sama, dipakai untuk perhitungan, atau dituliskan ke piranti keluaran.
Contoh algorima : mencetak stirng “Halo, apa kabar?” ke piranti keluaran.
Versi 1. String “Halo, apa kabar?” langsung dicetak tanpa menggunakan variabel.
Algoritma :
Deklarasi
(tidak ada)
Deskripsi
write (“Halo,apa kabar?”)
Versi 2.String “Halo,apa kabar?” disimpan di dalam sebuah variabel bertipe string.
Algoritma :
Deklarasi
ucapan : string
Deskripsi
ucapan <—— ‘Halo,apa kabar?’
write (ucapan)
Versi 3.String “Halo,apa kabar?” disimpan sebagai konstanta
Algoritma:
Deklarasi
const ucapan = ‘Halo,apa kabar?’
Deskripsi
write (ucapan)
Keluaran yang dihasilkan oleh algoritma versi 1, 2, dan 3 adalah :
Halo, apa kabar?
URUTAN / RUNTUNAN
Algoritma merupakan runtunan(sequence) satu atau lebih instruksi,yang berarti bahwa :
1. Tiap instruksi dikerjakan satu persatu.
2. Tiap instruksi dilaksanakan tepat sekali, tidak ada instruksi yang diulang.
3. Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi yang tertulis di algoritma.
4. Akhir instruksi merupakan akhir dari algoritma.
Urutan instruksi didalam algoritma sangat penting.Urutan instruksi menunjukan urutan logika penyelesaian masalah.
Referensi :
http://balibisnis.wordpress.com/2008/09/14/aturan-penulisan-algoritma/ http://marikitangulik.blogspot.com/2010/10/notasi-algoritma.html