A.
Penyajian
atau Penulisan Algoritma
Penyajian
algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan
gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa
tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode.
Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya
seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan
algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma
disajikan dengan gambar, yaitu dengan Flowchart
B.
Flowchart
(Diagram Alir)
Flowchart
atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di
dalam suatu program secara logika.
Flowchart
merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuk
notasi-notasi tertentu. Flowchart merupakan gambar atau bagan yang
memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran
ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan
proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung.
Dengan menggunakan flowchart akan
memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam
analisis masalah. Di samping itu
flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara
pemrogram yang bekerja dalam tim suatu proyek.
Walaupun
tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada
beberapa anjuran:
1)
Hindari pengulangan proses yang tidak
perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
2)
Jalannya proses digambarkan dari atas
ke bawah dan diberikan tanda panah untuk memperjelas.
3)
Sebuah flowchart diawali dari satu
titik START dan diakhiri dengan END.
Pengertian
Simbol Flowchart:
1.
Terminator
: Notasi ini digunakan untuk menunjukkan awal dan akhir suatu
algoritma
2.
Aliran
data : Notasi ini disebut Arrow yang digunakan untuk
menunjukkan arus data atau aliran data dari proses satu ke proses lainnya.
3.
Input
/ Output : Notasi ini disebut Data yang digunakan untuk mewakili data input
atau output atau menyatakan operasi
pemasukan data dan pencetakan hasil.
4.
Proses
: Notasi ini disebut Process
yang digunakan untuk mewakili suatu proses.
5.
Percabangan
: Notasi ini disebut Decision
yang digunakan untuk suatu pemilihan, penyeleksian kondisi di dalam suatu
program
6.
Preparation
: Notasi ini digunakan untuk memberi nilai awal, nilai akhir, penambahan
/ pengurangan bagi suatu variable counter.
7.
Predefined
Process / Call : Notasi ini digunakan untuk menunjukkan suatu
operasi yang rinciannya ditunjukkan ditempat lain (prosedur, sub-prosedur,
fungsi)
8.
Connector : Notasi ini
digunakan untuk menunjukkan sambungan dari
flowchart yang terputus di
halaman yang sama atau halaman berikutnya.
9.
Off
page Connector : Penghubung bagian-bagian flowchart yang berada pada
halaman berbeda
Contoh
Flowchart :
Problem: Menghitung luas persegi panjang
Algoritma:
Masukkan panjang (p)
Masukkan lebar (l)
Hitung luas (L), yaitu panjang kali lebar
Cetak luas (L)
Algoritma
Pemrograman :
<?php
$panjang
=6;
$lebar =5;
$luas=
$panjang*$lebar;
echo
"Jadi Luas Persegi Panjang adalah . $luas";
?>
A.
Struktur
Dasar Algoritma
Algoritma
berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut
dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan
aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan
algoritma ada tiga, yaitu:
1)
Struktur Runtunan / Beruntun : Digunakan untuk program yang pernyataannya
sequential atau urutan.
2)
Struktur Pemilihan / Percabangan
: Digunakan untuk program yang
menggunakan pemilihan atau penyeleksian kondisi.
3)
Struktur Perulangan : Digunakan untuk program yang pernyataannya
akan dieksekusi berulang-ulang.
- Ada tiga struktur dasar yang digunakan dalam membuat algoritma yaitu struktur berurutan (sequencing), struktur pemilihan/keputusan/percabangan (branching) dan struktur pengulangan (looping). Sebuah algoritma biasanya akan menggabungkan ketiga buah struktur ini untuk menyelesaikan masalah. Pada bagian ini kita akan bahas lebih dulu struktur algoritma berurutan. Struktur berurutan dapat kita samakan dengan mobil yang sedang berjalan pada jalur lurus yang tidak terdapat persimpangan seperti tampak pada Gambar disamping Mobil tersebut akan melewati kilometer demi kilometer jalan sampai tujuan Algoritma Runtunan tercapai.
Gambar 4. Struktur berurutan terdiri satu atau lebih
instruksi.
Tiap
instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu
sebuah instruksi dieksekusi setelah instruksi sebelumnya selesai
dieksekusi. Urutan instruksi menentukan
keadaan akhir dari algoritma. Bila urutannya diubah,
maka hasil akhirnya mungkin juga berubah.
Menurut Goldshlager dan Lister (1988) struktur berurutan mengikuti
ketentuan-ketentuan sebagai berikut:
a.
tiap instruksi dikerjakan satu persatu
b.
tiap instruksi dilaksanakan tepat sekali, tidak ada yang
diulang
c.
urutan instruksi yang dilaksanakan pemroses sama dengan urutan
aksi sebagaimana yang tertulis di dalam algoritmanya
d.
akhir dari instruksi terakhir merupakan akhir algoritma.
2. Struktur
Algoritma Percabangan
Sebuah program
tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang-kadang kita perlu
merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program
meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan
atau keputusan.
Gambar 5. Algoritma Percabangan
Pada
struktur percabangan, program akan berpindah urutan pelaksanaan
jika suatu kondisi yang disyaratkan dipenuhi.
Pada proses seperti ini
simbol flowchart Decision
harus digunakan. Simbol decision akan berisi pernyataan yang akan diuji
kebenarannya. Nilai hasil pengujian akan
menentukan cabang mana yang akan ditempuh.
3. Struktur
Algoritma Perulangan / Pengulangan
Dalam banyak
kasus seringkali kita dihadapkan pada sejumlah pekerjaan yang harus diulang
berkali.Salah satu contoh yang gampang kita jumpai adalah balapan mobil seperti tampak pada gambar ini Mobil-mobil peserta harus mengelilingi lintasan sirkuit
berkali-kali sesuai yang ditetapkan dalam aturan lomba. Siapa yang mencapai
garis akhir paling cepat, dialah yang menang.
Gambar 6. Algoritma Perulangan
Struktur
pengulangan terdiri dari dua bagian :
1. Kondisi
pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan
pengulangan. Syarat ini biasanya
dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai benar (true)
atau salah (false)
2. Badan
pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang.
Pada struktur
pengulangan, biasanya juga disertai bagian inisialisasi
dan bagian terminasi. Inisialisasi adalah instruksi yang dilakukan sebelum pengulangan dilakukan
pertama kali. Bagian insialisasi umumnya digunakan untuk memberi nilai awal
sebuah variable. Sedangkan terminasi
adalah instruksi yang dilakukan setelah pengulangan selesai dilaksanakan.
Ada beberapa bentuk pengulangan yang dapat digunakan, masing-masing dengan
syarat dan karakteristik tersendiri.
Beberapa bentuk dapat dipakai untuk kasus yang sama, namun ada bentuk
yang hanya cocok untuk kasus tertentu saja.
Pemilihan bentuk pengulangan untuk masalah tertentu dapat mempengaruhi
kebenaran algoritma. Pemilihan bentuk
pengulangan yang tepat bergantung pada masalah yang akan diprogram.
a.
Struktur
pengulangan dengan For
Pengulangan dengan menggunakan For, merupakan salah teknik
pengulangan yang paling tua dalam bahasa pemrograman. Hampir semua bahasa pemrograman menyediakan
metode ini, meskipun sintaksnya mungkin berbeda. Pada struktur For kita harus tahu terlebih dahulu
seberapa banyak badan loop akan diulang.
Struktur ini menggunakan sebuah variable yang biasa disebut sebagai loops counter,
yang nilainya akan naik atau turun selama proses pengulangan.
Contoh :
Diketahui sebuah himpunan A yang beranggotakan bilangan 1, 3, 5,
.., 19.
Buatlah
flowchart untuk mencetak anggota himpunan tersebut.
Penyelesaian:
Pada contoh ini, kita mencoba menentukan hasil dari
sebuah flowchart . Bagaimana menurut kalian jawabannya? Marilah kita uraikan jalannya fowchart
tersebut. Pada flowchart, setelah Start,
kita meletakkan satu proses yang berisi pernyataan A = 1. Bagian inilah yang disebut inisialisasi . Kita memberi nilai awal untuk A = 1. Variabel
counter-nya adalah X dengan nilai awal 1 dan nilai akhir 10, tanpa
increment (atau secara default
increment-nya adalah 1). Ketika masuk ke
badan loop untuk pertama kali maka akan
dicetak langsung nilai variabel A. Nilai
variabel A masih sama dengan 1. Kemudian
proses berikutnya adalah pernyataan A = A + 2.
Pernyataan ini mungkin agak aneh, tapi ini adalah sesuatu yang
pemrograman. Arti dari pernyataan ini
adalah gantilah nilai A yang lama dengan hasil
penjumlah nilai A lama ditambah 2.
Sehingga A akan bernilai 3.
Kemudian dilakukan pengulangan yang ke-dua. Pada kondisi ini nilai A adalah 3, sehingga
yang tercetak oleh perintah print adalah 3.
Baru kemudian nilai A kita ganti dengan penjumlahan A + 2. Nilai A baru adalah 5. Demikian seterusnya. Sehingga output dari flowchart ini adalah 1,3, 5, 7, .., 19.
a.
Struktur
pengulangan dengan While
Pada pengulangan dengan For,
banyaknya pengulangan diketahui dengan pasti karena nilai awal (start)
dan nilai akhir (end) sudah ditentukan diawal pengulangan. Bagaimana jika kita tidak tahu pasti harus
berapa kali mengulang? Pengulangan
dengan While merupakan jawaban dari permasalahan
ini. Seperti halnya For, struktur pengulangan dengan While juga merupakan struktur yang didukung
oleh hampir semua bahasa pemrograman
namun dengan sintaks yang berbeda.
Struktur While akan mengulang pernyataan pada badan
loop sepanjang kodisi pada While bernilai benar. Dalam artian kita tidak perlu tahu pasti
berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan
loop akan diulang.
Penyelesaian:
Perhatikan Gambar 5.20. bisakah kalian
menentukan hasil dari flowchart
tersebut? Perhatikan tahapan eksekusi flowchart berikut ini.
1. Pada flowchart ini
ada dua variabel yang kita gunakan yaitu A dan B. Kedua variabel tersebut kita inisialisasi nilai awalnya (A = 1 dan B = 0) sebelum proses loop terjadi. Variabel A
adalah variabel counter.
2. Pada simbol
decision, nilai A akan diperiksa apakah memenuhi kondisi (< 10). Jika Ya
maka perintah berikutnya dieksekusi, jika tidak maka program akan berhenti.
Pada awal eksekusi ini kondisi akan terpenuhi karena nilai A= 1.
3. Jalankan
perintah Print B.
4. Nilai
variabel A kemudian diganti dengan nilai A lama (1) ditambah 2. Sehingga nilai
variabel A baru adalah 3. Sedangkan
nilai variabel B = 9 (hasil perkalian A = 3).
Program akan berputar kembali untuk memeriksa apakah nilai variabel A
masih lebih kecil dari 10. Pada kondisi
ini nilai A = 3, sehingga kondisi masih terpenuhi. Kemudian langkah berulang ke langkah ke
3. Begitu seterusnya sampai nilai
variabel A tidak lagi memenuhi syarat kurang dari 10.
5 comments
Click here for commentsSangat bermanfaat,jazakillahu bi khoir
ReplySangat bermanfaat,jazakillahu bi khoir
ReplySangat bermanfaat,jazakillahu bi khoir
Replyyuhuuu...bermanfaat min
ReplySolder uap
Assalamualaikum
ReplyConversionConversion EmoticonEmoticon