Menerapkan alur logika dan pemrograman komputer
Membuat Alur Logika Pemograman
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 sebagaipercabangan/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
loop
s 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.





Komentar
Posting Komentar