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
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.
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
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,
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
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