30 November 2010

Konstruksi Dasar Algoritma

Karena algortima berisi langkah-langkah penyelesaian masalah, maka tiap-tiap langkah tersebut bisa berisi aksi-aksi yang dijalankan secara terurut, ada pemilihan aksi dengan kondisi tertentu dan ada juga pengulangan terhadap aksi-aksi tertentu. Jadi, sebuah algoritma dapat dibangun dari 3 konstruksi yaitu urutan atau runtunan (sequence), seleksi atau pemilihan dan pengulangan (repetition).
Setiap langkah-langkah yang ada pada salah satu atau semuanya, berupa pernyataan-pernyataan yang berisi aksi-aksi tertentu. Jika sebuah pernyataan dieksekusi (dijalankan), maka aksi yang ada dalam pernyataan tersebut akan dikerjakan.

Bingung ya?… Kita teruskan saja dulu…
Sebagai contoh untuk pernyataan yang berisi aksi tertentu, coba Anda perhatikan pernyataan-pernyataan di bawah ini:

Isi ember dengan air

Kalimat tersebut adalah pernyataan yang berisi aksi untuk mengisi ember dengan air.


Kalikan 2 dengan 5

Pernyataan dengan aksi mengalikan 2 dengan 5.

Tulis “Selamat Datang”

Merupakan pernyataan yang berisi aksi menulis pesan “Selamat Datang”.

Ketiga konstruksi algoritma di atas (runtunan, pemilihan dan pengulangan) juga berisi pernyataan-pernyataan yang akan di proses sesuai bentuknya masing-masing. Untuk lebih jelasnya, perhatikan gambar di bawah.



Setiap persegi panjang pada gambar menunjukkan pernyataan yang berisi aksi-aksi tertentu dan anak panah menunjukkan aliran instruksi.

Runtunan (sequence)


Pada runtunan, suatu pernyataan dilaksanakan setelah pernyataan sebelumnya (di atasnya) selesai dieksekusi. Begitu pula untuk pernyataan di bawahnya. Contoh untuk runtunan ini adalah seperti yang saya buat di posting sebelumnya tentang contoh algoritma. Misalnya tentang mempertukarkan isi 2 buah ember. Coba Anda perhatikan.

ALGORITMA tukar isi ember

1. Tuang air dari ember A ke ember C
2. Tuang air dari ember B ke ember A
3. Tuang air dari ember C ke ember B

Pada contoh di atas, setiap pernyataan (dan aksinya) dilaksanakan berurutan dari atas ke bawah satu per satu. Jika susunannya diubah atau dieksekusi secara acak, akan terjadi kesalahan dan isi kedua ember tidak dapat dipertukarkan… :-)

Pemilihan (selection)

Di bentuk pemilihan, pernyataan baru akan dieksekusi atau dijalankan apabila memenuhi syarat-syarat tertentu. Contoh seleksi ini secara umum dapat dituliskan dalam bentuk pernyataan seperti berikut.

Jika air dalam ketel mendidih, maka matikan kompor

Contoh di atas memberikan pilihan untuk mematikan kompor atau membiarkan kompor tetap menyala dengan syarat mendidihnya air dalam ketel. Kalau airnya tidak (belum) mendidih, berarti kompor tidak dimatikan.

Penulisan Pseudo-code untuk bentuk pemilihan ini umumnya adalah :

if air mendidih then
matikan kompor

if berarti jika dan then berarti maka.

Struktur pemilihan ini tidak terbatas pada satu pilihan saja, seleksi dapat berisi beberapa pilihan sesuai keperluan. Ini insya Allah akan kita bahas pada posting-posting berikutnya.

Pengulangan (repetition)

Pengulangan merupakan sebuah kelebihan komputer, karena komputer dapat melakukan hal yang sama secara berulang-ulang tanpa kenal lelah. Contoh pengulangan ini misalnya, saat kita SD dulu :-D mendapat hukuman menulis janji tidak akan bolos lagi sebanyak 100 kali :-D :-D :-D

1. Tulis “Saya tidak akan membolos lagi”
2. Tulis “Saya tidak akan membolos lagi”
3. Tulis “Saya tidak akan membolos lagi”

100. Tulis “Saya tidak akan membolos lagi”

Pada algoritma, kalimat “Saya tidak akan membolos lagi” cukup ditulis 1 kali, tetapi akan dieksekusi sabanyak 100 kali. Lebih singkat daripada menulis sebanyak 100 kali sampai habis, betul tidak??? Nah, nanti akan kita bahas tentang bentuk-bentuk pengulangan yaitu for, while dan repeat.

0 komentar:

Posting Komentar

Comment disini!!

About Me

Foto saya
Adalah putra kampar kiri, lahir tanggal 11 Agustus 1991, sedang menyelesaikan studinya di Fakultas Ilmu Komputer Universitas Muhammadiyah Riau, Pekanbaru.
Tukeran link yuuuk..!!
Copy kode diatas masukan di blog anda!!

Mau berlangganan? Masukkan alamat emailmu dibawah ini!

Delivered by FeedBurner

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

Template by KangNoval & Abdul Munir | blog Blogger Templates