Jumat, 18 Maret 2011

Struktur dasar algoritma

Algoritma berisi langkah-langkah  penyelesaian suatu masalah. Langkahlangkah tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi, sebuah algoritma dapat dibangun dari tiga buah struktur dasar, yaitu : 
1) Runtunan (sequence) 
Sebuah runtunan terdiri dari satu atau  lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai  dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai 
dikerjakan. 
2) Pemilihan (selection) 
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Tiap –tiap instruksi akan diseleksi oleh kondisi, apabila instruksi memenuhi kondisi yang diminta, maka instruksi akan dijalankan. 
3) Pengulangan (repetition) 
Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia.

1.  Runtutan
Sebuah runtutan bisa terdiri dari satu atau lebih pernyataan. Biasanya langkah-langkah tersebut berisikan sebuah runtutan aksi, pemilihan aksi, dan pengulangan aksi. Tiap pernyataan akan dikerjakan sesuai urutan penulisannya. Intinya sebuah intruksi akan dikerjakan setelah intruksi sebelumnya selesai dikerjakan. Lihat peryataan di bawah ini dengan menggunakan simbol x1, x2, x3, x4, x5 dan x6 adalah:
x1
x2
x3
x4
x5
x6
urutan pernyataan yang biasanya berisi urutan perintah atau intruksi akan menentukan keadaan akhir dari algoritma. Mula-mula pemroses akan melaksanakan pernyataan x1, pelaksanaan x2 dikerjakan setelah pernyataan x1 di kerjakan, dan pelaksanaan pernyataan x3 dikerjekan setelah pernyataan x2 selesai di kerjakan, dan seterusnya sampai pernyataan x6 selesai dikerjakan, juga secara otomatis algoritma tersebut selesai. Sebagai contohnya adalah:
PROGRAM Tukar_isi
Diberikan dua buah gelas, A dan B; gelas A berisi air berwarna merah, gelas A berisi air kopi, dan gelas B berisi air susu. Pertukaran isi kedua gelas itu sedemikian sehingga gelas A yang berisi susu dan gelas B berisi kopi
ALGORITMA:
  1. Tuangkan isi gelas A ke gelas C.
  2. Tuangkan isi gelas B ke gelas A.
  3. Tuangkan isi gelas C ke gelas B.
2. Pemilihan
Pemilihan diperlukan ketika sebuah aksi dikerjakan jika kondisi tertentu dipenuhi. Contohnya dianalogikan seperti tanda akan memulai sebuah repertoar oleh konduktor. Jika konduktor telah memberi aba-abagerakan tangan mulai, maka para pemain memulai memainkan alat muasiknya. Langkah tersebut bisa dituliskan kedalam sebuah pernyataan sebagai berikut:
jika aba-aba mulai, maka
mainkan alat musik
pernyataan diatas dapat ditulis dalam pernyataan-pemilihan (selection-statement) atau biasa dikenal juga dengan sebutan pernyataan-kondisional sebagai berikut:
if kondisi then
aksi
Dalam bahasa indonesia bisa di pahami sebagai if berarti “jika” dan then berarti “maka”;kondisi adalah persyaratan yang benilai benar atau salah, untuk sekedar mengingatkan kembali dengan sistem biner atau digit biasanya benar di representasikan dalam bentuk angka 1 dan salah dalam bentuk angka 0. hal yang selalu kita ingat lainnya adalah kata kunci yang digarisbawahi, if dan then karena ini akan mempermudah kita nantinya didalam mengaplikasikan dalam logika pemograman nantinya. Contoh lainnya adalah sering kita jumpai dalam kehidupan sehari-hari. Kita sering menuliskan pelaksanaan aksi bila persyaratan dipenuhi, contohnya:
if air bak mandi kosong then
nyalakan pompa air
if kepala saya botak then
pakai saja rambut palsu
if x habis dibagi 2 then
tulis saja bilangan genap
if baju saya bau then
semprotkan minyak wangi
dan sebagainya.
Struktur pemilihan if-then, hanya memberikan kita satu pilihan aksi bila kondisi (persyaratan) terpenuhi (bernilai benar), dan tidak mebrikan pilihan lainya bila kondisi tersebut bernilai salah. Untuk memberikan pilihan lainnya maka kita memerlukan pernyataan lainnya sepertielse. Umumnya bentuk pemilihan ini ditulis seperti:
if kondisi then
aksi1
else
aksi2
else bisa dipahami dalam bahasa indonesia berarti “kalau tidak”. Bila kondisi bernilai benar maka aksi 1 dikerjakan tetapi kalau kondisi bernilai salah maka aksi 2 dikerjakan.
If konduktor memberi aba-aba mulai then
pemain mulai memainkan alat musik ; aksi 1
else
pemain jangan memainkan alat musik; aksi 2
Jika konduktor memberi aba-aba mulai, maka aksi pemain mulai memainkan alat musik dilakukan, sebaliknya, aksi pemain jangan memainkan alat musik dilakukan bila konduktor tidak memberi aba-aba mulai. Jika pemilihan aksi lebih dari dua buah maka biaanya di tulis seperti contoh dibawah ini:
If konduktor memberi aba-aba mulai then
pemain mulai memainkan alat musik ; aksi 1
else
If konduktor memberi aba-aba berhenti then
pemain berhenti memainkan alat musik; aksi 2
else pemain terus memainkan alat musik
3. Pengulangan
perlu diingat bahwa salah satu keistimewaan dan kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Terdapat berbagai macam cara untuk mengatur sebuah perulangan atau loop umumnya ditulis seperti sebagai berikut do-until, while-do, dan for-to-do.
Contoh ilustrasi kontruksi do-until adalah sebagai berikut:
Mulai algoritma A
intruksi 1
do intruksi 2
intruksi 3
intruksi 4
until kondisi tertentu
intruksi 5
selesai Algoritma A
Di dalam kasus ini, eksekusi algoritma intruksi 1 yaitu dan kemudian di ulang pada urutan berikutnya yaitu intruksi 2, intruksi 3, dan intruksi 4 sampai ‘kondisi tertentu atau syarat tertentu” terpenuhi dan bernilai benar. do-until adalah pengulangan aksi dilakukan hingga kondisi (persyaratan) berhenti terpenuhi. Do-until (persamaan dalam bahasa Indonesi doberarti “lakukan” dan until berarti “sampai”). Contoh dengan menggunakan bahasa indonesia sebagai berikut:
Mulai algoritma balapan lari
siap siap di garis start // intruksi 1
lakukan mulai berlari ketika aba-aba mulai diberikan // intruksi 2
lari sekencang-kencangnya //intruksi 3
dahului yang lainnya //intruksi 4
sampai posisi paling depan //kondisi tertentu
berhenti di garis finish //intruksi 5
Selesai algoritma balapan lari
Sebuah variasi algoritma diatas dapat di kontruksi dengan variasi lainnya dengan menggunakan while-do (while artinya “selagi” atau “selama” dan do artinya “lakukan”) biasanya di tulis dengan pernyataan:
while kondisi do
aksi
contohnya adalah sebagai berikut:
mulai algoritma B
intruksi 1
while kondisi tertentu
do intruksi 2
intruksi 3
intruksi 4
intruksi 5
selesai algoritma B
contoh dalam algoritma balapan lari
mulai algoritma balapan lari
siap siap di garis start // intruksi 1
while aba-aba mulai diberikan // kondisi atu syarat tertentu
lari sekencang-kencangnya // intruksi 2
dahului yang lainnya // intruksi 3
jadilah posisi terdepan // intruksi 4
berhenti di garis finish // intruksi 5
selesai algoritma balapan lari
Bentuk pengulangan while-do mempunyai arti selama kondisi (persyaratan) pengulangan masih benar, maka aksi (intruksi) dikerjakan. Perbedaannya dengan do-until, jika pada do-until kondisi pengulangan dievaluasi di akhir, maka pada while-do kondisi pengulangan di evaluasi di awal pengulangan. Bentuk pengulangan yang terakhir adalah for-to-do, dimana kontruksi for-to-do hampir sama dengan while-do yang membedakannya biasanya adalah kontruksi for-to-do digunakan
ketika menyatakan sebuah pernyataan inisial ke arah pernyataan yang berbeda. Pengulangan berlangsung terus sampai kondisi pernyataan baru terpenuhi. Bentuk sederhana biasanya di tulis sebagai berikut:
for peryataan awal ke peryataan lainnya do
aksi/intruksi
atau contoh lainnya sebagia berikut:
mulai algoritma c
intruksi 1
for peryataan awal ke peryataan lainnya
do intruksi 2
intruksi 3
intruksi 4

1 komentar: