Minggu, 15 Januari 2017

BAB II NOTASI PENULISAN ALGORITMA



Bab II
Notasi Penulisan Algoritma

Algoritma berisi langkah-langkah penyelesaian masalah. 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. Deskripsi langkah-
langkah dalam algoritma tidak mengacu pada sintaks bahasa pemrograman apapun dan tidak
tergantung pada spesifikasi komputer yang mengeksekusinya. Tidak ada aturan baku dalam
menuliskan algoritma, yang penting mudah dibaca dan menggunakan bahasa yang mudah
dipahami. Meskipun demikian untuk menghindari kekeliruan, ketaatan terhadap notasi perlu
diperhatikan. Terdapat tiga cara yang umum digunakan dalam menuliskan algoritma yaitu:
1. Kalimat deskriptif
2. Pseudocode
3. Flowchart
Uraian berikutnya akan membahas lebih detail tentang notasi penulisan algoritma
disertai dengan contoh.

2.1 Kalimat deskriptif
Notasi penulisan algoritma dengan menggunakan bahasa deskriptif biasa juga disebut
dengan notasi alami. Dilakukan dengan cara menuliskan instruksi-instuksi yang harus
dilaksanakan dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang
jelas. Dasar dari notasi bahasa deskriptif adalah Bahasa Inggris, namun dapat dimodifikasi
dengan bahasa sehari-hari termasuk Bahasa Indonesia. Karena tidak ada aturan baku dalam
menuliskan algoritma dengan notasi deskriptif maka tiap orang dapat membuat aturan
penulisan dan notasi algoritma sendiri. Hal ini dapat dimengerti karena teks algoritma tidak
sama dengan teks program. Program adalah implementasi algoritma dalam notasi bahasa
pemrograman tertentu. Namun, agar notasi algoritma mudah ditranslasi ke dalam notasi
bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan
notasi bahasa pemrograman pada umumnya. Kata kerja adalah jenis kata yang biasa
digunakan dalam penulisan bahasa deskriptif, contohnya tulis, baca, hitung, tampilkan,
ulangi, bandingkan, dan lain-lain. 
Notasi jenis ini cocok untuk algoritma yang pendek. Tapi untuk masalah algoritma
yang panjang, notasi ini kurang efektif. Cara penulisan algoritma dengan notasi bahasa
deskriptif paling mudah dibuat, namun demikian cara ini paling sulit untuk diterjemahkan ke
dalam bahasa pemrograman. Pada dasarnya teks algoritma dengan bahasa deskriptif disusun
oleh tiga bagian utama yaitu: 
1. Bagian judul (header)
2. Bagian deklarasi (kamus)
3. Bagian deskripsi
Setiap bagian disertai dengan komentar untuk memperjelas maksud teks yang
dituliskan. Komentar adalah kalimat yang diapit oleh pasangan tanda kurung kurawal (‘{’ dan
‘}’).  
2.1.1 Judul Algoritma
Merupakan bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi)
tentang algoritma tersebut. Dibagian ini juga digunakan untuk menentukan apakah teks
algoritma yang dibuat tersebut adalah program, prosedur, atau fungsi. Nama algoritma
sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma tersebut.


Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang
dilakukan oleh algoritma. Penjelasan dibawah nama algoritma sering dinamakan juga
spesifikasi algoritma yang dituliskan dalam kurung kurawal ({}). Algoritma harus ditulis
sesuai dengan spesifikasi yang didefinisikan. Gambar 2.1 adalah contoh judul algoritma
menghitung luas lingkaran yang disertai dengan penjelasan singkat.   
2.1.2 Bagian Deklarasi
Di dalam algoritma, deklarasi atau kamus adalah bagian untuk mendefinisikan semua
nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama variabel, nama
konstanta, nama tipe, nama prosedur atau nama fungsi. Semua nama tersebut baru dapat
digunakan di dalam algoritma jika telah didefinisikan terlebih dahulu didalam bagian
deklarasi. Penulisan sekumpulan nama dalam bagian deklarasi sebaiknya dikelompokkan
menurut jenisnya. Pendefinisian nama konstanta sekaligus memberikan nilai konstanta.
Pendefinisian nama fungsi atau prosedur sekaligus dengan pendefinisian spesifikasi dan
parameternya. Gambar 2.2 adalah bentuk umum bagian deklarasi. Sedangkan gambar 2.3
adalah contoh bagian deklarasi algoritma menghitung luas lingkaran.             
Algoritma Luas_Lingkaran 

            Judul Algoritma {Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luasnya, lalu cetak luasnya ke piranti keluaran}
 Spesifikasi
Deklarasi data dasar} nama  : String {suatu nilai yang merupakan kumpulan karakter} ketemu  : boolean  {suatu nilai logika (true atau false)} beratBadan : real  {suatu nilai bilangan pecahan} jumlahAnak : integer {suatu nilai bilangan bulat} 
{Nama fungsi, mendefinisikan domain, nama, jumlah, tipe dan jumlah parameter, serta tipe data keluaran} function tambah(x:int, y:int): int {proses: menambahkan dua nilai data dan hasil penambahan sebagai nilai keluaran fungsi}
 2.1.3 Bagian deskripsi.
Deskripsi adalah bagian inti dari struktur algoritma. Bagian ini berisi uraian langkah-
langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim
dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga
langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.Seperti
telah dijelaskan di bab satu bahwa penyusun atau struktur dasar algoritma adalah  langkah-
langkah. Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu runtunan, pemilihan dan
pengulangan. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Pada
bagian deskripsi inilah letak tiga struktur algoritma tersebut.
menggunakan kalimat deskriptif secara lengkap.    

Algoritma Luas_Lingkaran {Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luasnya, lalu cetak luasnya ke piranti keluaran}  


2.2 Pseudocode
Pseudocode adalah cara penulisan algoritma yang menyerupai bahasa pemrograman
tingkattinggi. Pseudocode menggunakan bahasa yang hampir menyerupai bahasa
pemrograman. Biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara
universal dan juga lebih ringkas dari pada algoritma. Pseudocode berisi deskripsi dari
algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa
bahasa pemrograman tetapi bahasa tersebut hanya di tujukan agar dapat di baca manusia.
Sehingga pseudocode tidak dapat dipahami oleh komputer. Supaya notasi pseudocode bisa
dipahami oleh komputer maka harus diterjemahkan terlebih dahulu menjadi sintaks bahasa
pemrograman komputer tertentu.
Dalam pseudocode, tidak ada sintaks standar yang resmi. Karena itu, pseudocode ini
dapat diterapkan dalam berbagai bahasa pemograman. Disarankan untuk menggunakan
keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya
Keuntungan menggunakan notasi pseudocode adalah kemudahan mentranslasi ke notasi
bahasa pemrograman, karena terdapat korespondensi antara setiap pseudocode dengan notasi
bahasa pemrograman. Tabel 2.1. menunjukkan perbandingan beberapa kata yang biasa
digunakan dalam penulisan algoritma dengan menggunakan kalimat deskriptif dan
pseudocode.  
Tabel 2.1. Perbandingan beberapa kata yang biasa digunakan dalam penulisan algoritma dengan menggunakan kalimat deskriptif dan pseudocode.



Struktur penulisan pseudocode secara umum sama dengan struktur penulisan
algoritma dengan menggunakan kalimat deskriptif yaitu dimulai dari judul/header,
deklarasi/kamus dan diakhiri dengan deskripsi. Meskipun tidak ada sintaks khusus dalam
penulisan pseudocode, tetapi terkadang pseudocode dituliskan dengan menggunakan style
atau gaya penulisan dari beberapa bahasa pemrograman yang ada, seperti Fortran, Pascal, C
dan lain-lain. Gambar 2.5 adalah contoh penulisan pseudocode dengan menggunakan gaya
penulisan beberapa bahasa pemrograman. Gambar 2.6 adalah contoh pseudocode
menentukan bilangan terbesar dari 3 masukan bilangan. Sedangkan Gambar 2.7 adalah
contoh pseudocode konversi nilai angka menjadi nilai huruf.   



Algoritma : Bilangan_Maksimum {Dibaca tiga buah bilangan dari piranti masukan. Carilah bilangan bulat maksimum diantara ketiga bilangan tersebut} 
Deklarasi : Bil1,Bil2,Bil3  : integer {bilangan yang dicari maksimumnya} Max   : integer {variabel bantu} 
Deskripsi : 1. Read (Bil1,Bil2) 2. If Bil1 >= Bil2 then 3.    Bil1 = Max 4. Else Bil2 = Max 5. Read (Bil3) 6. If Bil3 >= Max then 7.    Bil3 = Max 8. Write (Max )

19    
2.3 Flowchart
Flowchart adalah cara penulisan algoritma dengan menggunakan notasi grafis.
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan atau langkah-langkah
dari suatu program  dan hubungan antar proses beserta pernyataannya. Gambaran ini
dinyatakandengan simbol. Dengan demikian setiap simbol menggambarkan prosestertentu.
Sedangkan antara proses digambarkan dengan garis penghubung.Dengan menggunakan
flowchart akan memudahkan kita untuk melakukanpengecekan bagian-bagian yang
terlupakan dalam analisis masalah. Disamping itu flowchart juga berguna sebagai fasilitas
untuk berkomunikasiantara pemrogram yang bekerja dalam tim suatu proyek.Flowchart
Algoritma Konversi Nilai Angka ke Huruf {Dibaca tiga buah bilangan dari piranti masukan. Carilah dan tampilkan bilangan bulat maksimum diantara ketiga bilangan tersebut} 

menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang
lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
Pada dasarnya terdapat berbagai macam flowchart, diantaranya yaitu Flowchart
Sistem (System Flowchart), Flowchart Paperwork / Flowchart Dokumen (Document
Flowchart), Flowchart Skematik (Schematic Flowchart), Flowchart Program (Program
Flowchart), Flowchart Proses (Process Flowchart). Untuk keperluan pembuatan program
maka digunakan Flowchart Program.
Flowchart program menggambarkan urutan instruksi yang digambarkan dengan
simbol tertentu untuk memecahkan masalah dalam suatu program. Dalam flowchart program
mengandung keterangan yang lebih rinci tentang bagaimana setiap langkah program atau
prosedur seharusnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau
prosedur dalam urutan yang tepat saat terjadi.Programmer menggunakan flowchart program
untuk menggambarkan urutan instruksi dari program komputer.Analis Sistem menggunakan
flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur
atau operasi.
Dalam pembuatan flowchart program tidak ada rumus atau patokan yang bersifat
mutlak. Karena flowchart merupakan gambaran hasil pemikirandalam menganalisis suatu
masalah yang nantinya akan diubah menjadi program komputer. Sehingga flowchartyang
dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya. Namum demikian
terdapat beberapa anjuran yang harus diperhatikan, yaitu :
1. Flowchart digambarkan di suatu halaman dimulai dari sisi atas ke bawah dan dari sisi kiri
ke kanan.
2. Aktivitas yang digambarkan harus didefinisikan dengan menggunakan bahasa dan
simbol yangtepat dan definisi ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. Hanya terdapat satu
titik awal dan satu titik akhir.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja,
misalkan MENGHITUNG NILAI RATA-TARA.
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-
hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak
perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan

percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila
percabangannya tidak berkaitan dengan sistem. 
7. Gunakan simbol-simbol flowchart yang standar.  
Simbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol flowchart
standar yang dikeluarkan oleh ANSI dan ISO. Tabel 2.2 merupakan beberapa simbol
flowchart yang digunakan dalam menggambar suatu flowchart: 

        



         Untuk memahami lebih dalam mengenai flowchart
Misalnya b uatlah sebuah rancangan program dengan menggunakan flowchart
menentukan keliling dan luas lingkaran
luas = PI*radius*radius, dan keliling lingkaran adalah keliling=2*PI*radius,
adalah sebuah konstanta


          Selanjutnya akan dibuat contoh flowc
decision. Misalnyauntuk permasalahan penentuan apakah suatu bilangan termasuk bilangan
ganjil atau genap. Cara menyelesaikan permasalahan ini adalah dengan membagi bilangan
Off Page Connector
Penghubung Flow chart pada halaman berbeda
Untuk memahami lebih dalam mengenai flowchart ini, dibuat sebuahkasus sederhana.
uatlah sebuah rancangan program dengan menggunakan flowchart
menentukan keliling dan luas lingkaran .Perumusan untuk menentukan luas
PI*radius*radius, dan keliling lingkaran adalah keliling=2*PI*radius,
adalah sebuah konstanta
Selanjutnya akan dibuat contoh flowc hart yang mengandung percabangan atau
decision. Misalnyauntuk permasalahan penentuan apakah suatu bilangan termasuk bilangan
ganjil atau genap. Cara menyelesaikan permasalahan ini adalah dengan membagi bilangan
sebuahkasus sederhana.
uatlah sebuah rancangan program dengan menggunakan flowchart untuk
luas lingkaranadalah: 
PI*radius*radius, dan keliling lingkaran adalah keliling=2*PI*radius, dengan PI
adalah sebuah konstanta 3.14. Flowchart permasalahan ini dapat dilihat di Gambar 2.8.
hart yang mengandung percabangan atau
decision. Misalnyauntuk permasalahan penentuan apakah suatu bilangan termasuk bilangan
ganjil atau genap. Cara menyelesaikan permasalahan ini adalah dengan membagi bilangan

dengan angka 2. Jika nilai sisa pembagian nya
bilangan genap, jika nilai sisa pembagiannya adalah 1 maka bilangan tersebut adalah
bilangan ganjil. Operasi aritmatika yang digunakan untuk menentukan nilai sisapembagian
adalah perasi modulo (%).  Flowchart permasa
hal ini Bil adalah bilangan yang akan di cek status ganjil atau genapnya.

Tidak ada komentar:

Posting Komentar