Komputer dapat
menjalankan perintah secara berulang tanpa mengenal lelah dan bosan. Di dalam
algoritma terdapat beberapa macam konstruksi pengulangan yang berbeda. Beberapa
konstruksi dapat dipakai untuk masalah yang sama, namun ada beberapa konstruksi
pengulangan yang hanya cocok dipakai untuk masalah tertentu. Pengulangan dapat
dilakukan berkali-kali sampai kondisi tertentu atau hingga kondisi berhenti
pengulangan tercapai. Di dalam algoritma terdapat beberapa macam pengulangan,
seperti FOR, WHILE, dan REPEAT.
Pernyataan FOR merupakan
bentuk konstruksi pengulangan tanpa kodisi (unconditional
looping), maksudnya instruksi-instruksi yang ada di dalam badan pengulangan
diulang sejumlah kali yang ditentukan oleh pemrogram. Jumlah pengulangan sudah
diketahui sebelum konstruksi pengulangan eksekusi.
Pernyataan WHILE dan
REPEAT merupakan bentuk konstruksi pengulangan dengan kondisi (conditional
looping), maksudnya jumlah pengulangan tidak diketahui sebelum eksekusi
program. Yang dapat ditentukan hanya kondisi berhenti pengulangan,
instruksi-instruksi di dalam pengulangan diulangi sampai kondisi berhenti terpenuhi.
REPEAT
REPEAT biasanya
digunakan jika jumlah pengulangan belum dapat ditentukan pada saat program
ditulis. Algoritma REPEAT :
repeat
aksi
until kondisi
Repeat-until adalah struktur pengulangan dimana
aksi dilakukan hingga kondisi (
persyaratan ) berhenti terpenuhi. Perulangan Repeat – Until
hampir sama dengan While – do, perbedaannya hanyalah letak pengecekan kondisi.
Jika pada while – do berada pada awal blok pernyataan yang harus diulang, maka
pada repeat – until kondisi dicek pada akhir blok pernyataan yang harus diulang.
Perbedaan lainnya adalah pernyataan while – do mengulang
pernyataan selama kondisi masih terpenuhi, tetapi pernyataan repeat – until
hanya akan mengulang pernyataan selama kondisi belum terpenuhi.
Contoh: untuk mengetahui
nilai dari mahasiswa jika data masukannya adalah NIM
Program Pencarian
{Program mencari nilai mahasiswa didalam tabel dengan NIM= a.Tabel sudah berisi data NIM, nama dan nilai}
{Program mencari nilai mahasiswa didalam tabel dengan NIM= a.Tabel sudah berisi data NIM, nama dan nilai}
Algoritmanya:
tinjau entri pertama tabel
repeat
if NIM pada entry tabel sama dengan NIM yang dicari then ambil nama dari NIM tersebut
else
tinjau entry berikutnya
until nilai yang dicari ditemukan atau akhir tabel sudah terlampaui
tinjau entri pertama tabel
repeat
if NIM pada entry tabel sama dengan NIM yang dicari then ambil nama dari NIM tersebut
else
tinjau entry berikutnya
until nilai yang dicari ditemukan atau akhir tabel sudah terlampaui
Pada repeat-until jumlah pengulangan tidak dapat diketahui di awal. Karena pengulangan aksi akan terus dilakukan sampai ditemukan entry dari
apa yang ditanyakan atau akhir tabel sudah terlampaui, berbeda dengan for-do
yang jumlah pengulangannya dilaksanakan.
WHILE
While berarti
selagi/ selama dan do berarti lakukan. Jadi, while-do artinya struktur pengulangan dimana selama kondisi ( persyaratan ) pengulangan masih benar, maka aksi dikerjakan.
Algoritma WHILE :
while kondisi do
aksi
endwhile
Program akan menguji nilai <kondisi>. Jika
<kondisi> bernilai false, maka <pernyataan> tidak dilaksanakan dan
program menghentikan pengulangan, kemudian menjalankan baris berikutnya. Jika
<kondisi> berniai true,
maka pernyataan akan dilaksanakan satu kali. Kembali ke prosedur 1.
Program menghentikan perulangan dan menjalankan baris berikutnya.
Contohnya saja pada repeat-until tadi selama kita
memasukkan NIM tidak benar/ belum ditemukan akhir tabel belum terlampaui, maka
dapat dicari NIM pada entry tabel yang sama, jika sudah ditemukan mengambil
nilai tersebut, selanjutnya meninjau entry berikutnya didalam tabel.
Contoh:
Program Pencarian
{Program mencari nilai mahasiswa didalam tabel dengan NIM= a.Tabel sudah berisi data NIM, nama dan nilai}
Program Pencarian
{Program mencari nilai mahasiswa didalam tabel dengan NIM= a.Tabel sudah berisi data NIM, nama dan nilai}
Algoritma
Tinjau entry pertama table
While NIM yang dicari belum ditemukan dan akhir tabel belum terlampaui do
If NIM pada entry tabel sama dengan NIM yang dicari then ambil nama, nilai dari NIM tersebut
Else
Tinjau entry berikutnya didalam tabel
Tinjau entry pertama table
While NIM yang dicari belum ditemukan dan akhir tabel belum terlampaui do
If NIM pada entry tabel sama dengan NIM yang dicari then ambil nama, nilai dari NIM tersebut
Else
Tinjau entry berikutnya didalam tabel
· Pada while-do kondisi pengulangan di
evakuasi di awal pengulangan, berbeda
dengan repeat-until kondisi pengulangan di
evakuasi di akhir.
KESIMPULANNYA ..
pernyataan repeat…until dan while…do
terletak pada letak pengecekan kondisi. Pada konstruksi REPEAT, kondisi
pengulangan diperiksa pada akhir pengulangan. Instruksi di dalam badan
pengulangan dilaksanakan dulu, setelah itu pengetesan kondisi dilakukan. Jadi,
badan pengulangan dilaksanakan minimal satu kali.
Pada konstruksi WHILE, kondisi
pengulangan diperiksa di awal pengulangan. Instruksi di dalam badan pengulangan
hanya dapat dilaksanakan bila pengetesan kondisi menghasilkan nilai true /
selama kondisi masih terpenuhi. Jadi, badan pengulangan mungkin tidak akan
pernah dilaksanakan bila kondisi pengulangan pertama kali bernilai false.
Penggunaan yang tepat :
· WHILE
: pada kasus yang mengharuskan pemeriksaan kondisi objek terlebih dahulu,
sebelum objek tersebut dimanipulasi.
· REPEAT
: pada kasus yang terlebih dahulu memanipulasi objek, baru kemudian memeriksa
kondisi objek tersebut