Salah satu
kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama
berulang kali tanpa mengenal lelah. Ini berbeda dengan manusia yang cepat lelah
bila mengerjakan pekerjaan yang sama berulang-ulang. Tidak hanya lelah, tetapi
juga cepat bosan.
Bagaimana
menuliskan sebuah kalimat yang sama sebanyak 500 kali ? sewaktu duduk di
sekolah dasar, anda mungkin pernah di
hukum oleh Bapak/Ibu guru untuk menuliskan sebuah kalimat sebanyak 500 kali,
misalnya karena anda nakal atau tidak membuat PR. Misalkan kalimat yang harus
di tulis 50 kali tersebut adalah :
Saya berjanji
tidak akan nakal dan malas lagi
Algoritma yang
kurang “ cerdas” untuk menuliskan kalimat tersebut sebanyak 500 kali adalah
sebagai berikut:
PROGRAM
Menuliskan_Kalimat_500 kali
Menuliskan kalimat
“Saya berjanji tidak akan nakal dan malas lagi” sebanyak 500 kali.
ALGORITMA
1.
Tulis “ saya berjanji tidak akan nakal dan malas
lagi”
2.
Tulis “ saya berjanji tidak akan nakal dan malas
lagi”
3.
Tulis “ saya berjanji tidak akan nakal dan malas
lagi”
…
449. Tulis “
saya berjanji tidak akan nakal dan malas lagi”
500. Tulis “
saya berjanji tidak akan nakal dan malas lagi”
Tentu saja algoritma untuk menuliskan 500 buah kalimat
seperti di atas tidak elegan, karena instruksi
Tulis “ saya berjanji
tidak akan nakal dan malas lagi”
Harus di buat di dalam teks algoritma sebanyak 500 kali.
Untuk mengatasi hal ini, maka anda dapat menggunakan struktur pengulangan
for-do sehingga algoritma menulis sebuah kalimat sebanyak 500 kali adalah
seperti Algoritma berikut :
PROGRAM
Menuliskan_Kalimat_500 kali
Menuliskan kalimat
“Saya berjanji tidak akan nakal dan malas lagi” sebanyak 500 kali.
ALGORITMA
For i dari 1 sampai 500 do
Tulis “ Saya berjanji tidak akan nakal dan malas lagi”
i adalah pencacah pengulangan yang mencacah pengulangan dari
1 sampai 500. Komputer akan melaksanakan aksi tulis sebanyak pencacahan.
Struktur pengulangan ini dapat di tulis secara umum dengan
pernyataan-pengulanga sebagai:
For pencacah pengulangan dari a sampaii b do
Aksi
Yang artinya adalah aksi di lakukan sebanyak hitungan
pencacah pengulangan, yaitu dari 1 sampai N ( yaitu sebanyak N kali). Pencacah
pengulangan dapati di-set tidak hanya mulai dari 1, tetapi juga dari sembarang
nilai yang lain. Maka, kita dapat menulis struktur for-do lebih umum sebagai:
For pencacah pengulagan dari a sampai b do
Yang artinya adalah aksi di lakukan sebanyak hitungan
pencacah pengulangan, yaitu dari a sampai b sebanyak b-a + 1 kali
Struktur pengulangan yang kedua adalah repeat-until (repeat
artinya “ulangi” dan until artinya “ sampai” atau “ hingga”) yang mempunyai
bentuk umum sebagai berikut:
Repeat
Aksi
Until kondisi
Yang artinya adalah pengulangan aksi di lakukan hingga
kondisi (persyaratan) berhenti terpenuhi.
Sebagai contoh penggunaan struktur repeat-until misalkan kita
ingin mengambil data dan nomor telepon dari mahasiswa jika data masukkannya
adalah NIM( Nomor Induk Mahasiswa). Data mahasiswa tersimpan di dalam sebuah tabel
. Tabel terdiri atas kolom (field) NIM, Nama, Alamat, dan Nomor Telepon. Setiap
baris tabel kita sebut satu entry kita asumsikan tabel sudah berisi sejumlah
data mahasiswa (tabel berisi minimal satu entry data).
Jika kita ingin mencari data dari suatu tabel, maka cara
yang umum di gunakan adalah membaca setiap entry tabel satu persatu, mulai dari
entry pertama sampai data yang di cari di temukan atau seluruh entry tabel
sudah habis di baca.
Algoritma yang mungkin:
Tinjau entry pertama
di dalam tabel
If NIM pada entry sama dengan NIM yang di cari then
Ambil alamat dan telepon dari NIM tersebut
Else
Tinjau entry berikutnya di dalam tabel
If NIM pada entry tabel sama dengan NIM yang di cari then
Ambil alamat dan telepon dari NIM tersebut.
else
tinjau entry berikutnya di dalam tabel
if NIM pada entry tabel sama dengan NIM yang di cari then
ambil alamat dan telepon dari NIM tersebut
else
tinjau entry berikutnya di dalam tabel
…
Algoritma di atas mengandung kelemahan karena pemrograman
tidak tahu kapan harus berhenti menulis. Dengan kata lain, pemrogram tidak tahu
berapa kali pernyataan
If NIM pada entry tabel sama dengan NIM yang di cari then
ambil Alamat dan Telepon dari NIM tersebut.
Else
Tinjau entry
berikutnya di dalam tabel
Harus di tulis sampai data yang di cari di temukan. Tidak
seperti pada struktur for-do yang jumlah
pengulangan di laksanakan, maka kita menggunakan struktur repeat-until
jika jumlah pengulangan tidak dapat di ketahui di awal. Namun yang pasti,
pengulangan aksi akan terus di lakukan sampai di temukan entry dari NIM yang di
tanyakan atau akhir tabel sudah terlampaui.
Algoritma pencarian data di dalam tabel dengan struktur
repeat-until di tunjukkan pada Algoritma 2.2
PROGRAM Pencarian
Program mencari alamat seorang mahasiswa di dalam tabel
dengan NIM=X.
Tabel sudah berisi data NIM, Nama, Alamat dan Telepon
mahasiswa .
Di asumsikan tabel berisi minimal satu entry.
ALGORITMA
Tinjau entry pertama tabel
Repeat
If NIM pada entry tabel sama dengan NIM yang di cari then
Ambil alamat dan telepon dari NIM tersebut
Else
Tinjau entry berikutnya di dalam tabel
Until NIM yang di cari di temukan atau akhir tabel sudah
terlampaui
Struktur pengulangan yang ketiga adalah while-do (while
artinya”selagi” atau “selama” dan do artinya “lakukan”) yang di tulis secara
umum pernyataan :
While kondisi do
Aksi
Yang artinya adalah selama kondisi (persyaratan) pengulangan
masih benar, maka aksi di kerjakan. Perbedaannya dengan repeat-until, jika pada
repeat-until kondisi pengulangan di evaluasi di akhir, maka pada while-do
kondisi pengulangan di evaluasi di awal pengulangan.
Masalah pencarian data di dalam tabel dapat juga di tulis
menggunakan struktur while-do di tunjukkan pada Algoritma berikut:
PROGRAM Pencarian
Program mencari alamat seorang mahasiswa di dalam tabel
dengan NIM=X.
Tabel sudah berisi data NIM, Nama, Alamat dan Telepon
mahasiswa .
Di asumsikan tabel berisi minimal satu entry.
ALGORITMA
Tinjau entry pertama tabel
While NIM yang di cari belum di temukan dan akhir tabel
belum terlampaui do
If NIM pada entry tabel sama dengan NIM yang di cari then
Ambil alamat dan telepon dari NIM tersebut
Else
Tinjau entry berikutnya di dalam tabel
Meskipun struktur repeat-until dan while-do mempunyai fungsi
yang mirip sehingga pada beberapa kasus dapat saling menggantikan, namun secara
umum penggunaannya bergantung pada spesifikasi masalah. Lebih lanjut mengenai
struktur pengulangan dapat
Artikel Terkait
gmn cara tau atau munculin brp kali perulangan itu dieksekusi sama pascalnya? contoh cari bilangan kelipatan 70 yang ada di antara bilangan 1000 sampai 3000. itu kan pake for. trus gmn cara tau ada brp bilangan yg dimaksud?
BalasHapus