Struktur pengulangan terdiri atas 2 bagian yaitu :
- kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ada yang dinyatakan secara explisit oleh pemrogram.
- badan (body) pengulangan, yaitu satu atau lebih aksi yang akan diulang
di dalam algoritma terdapat beberapa macam struktur pengulangan yang berbeda, beberapa struktur dapat dipakai untuk masalah yang sama, namun ada notasi pengulangan yang hanya cocok dipakai untuk masalah tertentu, struktur pengulangan tersebut adalah :
- Struktur WHILE-DO
Bentuk umum struktur WHILE-DO adalah
while <kondisi> do
Aksiendwhile
aksi (atau runtunan aksi) akan dilaksanakan berulangkali sepanjang <kondisi> boolean masih tetap bernilai true, jika <kondisi> bernilai false, badan pengulangan tidak akan dilaksanakan. Pengulangan selesai.
Contoh menggunakan While-Do
Algoritma jumlah deret
Deklarasi
N,angka,jumlah : int
Deskripsi
Read(N)
Jumlah <-0
angka <-1
while angka<N do
jumlah<-jumlah+angka
angka<-angka+1
end while
write jumlah
2. Struktur REPEAT-UNTIL
Bentuk umum struktur REPEAT-UNTIL adalah :
Repeat
AksiUntil <kondisi>
Struktur REPEAT-UNTIL memiliki makna yang sama dengan WHILE-DO namun ada perbedaan mendasar diantara keduanya. Pada struktur REPEAT-UNTIL aksi (atau sekumpulan aksi) dilaksanakan minimal satu kali, karena kondisi pengulangan diperiksa pada akhir struktur, sedangkan pada struktur WHILE-DO kondisi pengulangan diperiksa pada awal struktur sehingga memungkinkan pengulangan tidak pernah dilaksanakan bila kondisi pengulangan bernilai false.
Contoh menggunakan repeat_until
Algoritma jumlah deret
Deklarasi
N,angka,jumlah : int
Deskripsi
Read(N)
jumlah<-0
angka<-0
Repeat
jumlah<-angka+angka
angka<-angka+1
until angka>N
write jumlah
3. Struktur FOR
Struktur FOR digunakan untuk menghasilkan pengulangan sejumlah kali tanpa penggunaan kondisi apapu, struktur ini menyebabkan aksi diulangi sejumlah kali (tertentu)
Bentuk umum struktur FOR ada 2 macam : menaik (ascending) dan menurun (descending)
FOR menaik :
For peubah ← nilai_awal to nilai_akhir do
AksiEndfor
Keterangan :
- peubah : haruslah bertipe sederhana
- nilai_awal : haruslebih kecil atau sama dengan nilai_akhir
- pada awalnya, peubah diinisialisasi dengan nilai_awal. Nilai peubah secara otomatis bertambah satru setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai_akhir
Contoh menggunakan For menaik:
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
For K ← 1 to 10 do
Write (‘HALO’)
Endfor
{kondisi berhenti : k > 10}
FOR menurun :
For peubah ← nilai_akhir downto nilai_awal do
AksiEndfor
Keterangan :
- peubah : haruslah bertipe sederhana
- nilai_akhir : harus lebih besar atau sama dengan nilai_awal
- pada awalnya, peubah diinisialisasi dengan nilai_akhir. Nilai peubah secara otomatis berkurang satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai_awal
Contoh :
algortima peluncuran roket dengan hitungan mundur, muali dari 100, 99, 98, …. 0
Algoritma peluncuran_roket
Deklarasi
K : integer
Deskripsi
For k ← 100 downto 0 do
Write (k)
Endfor
Write (‘GO!’)
Sumber :
https://ernaencekz.wordpress.com/2010/01/31/struktur-pengulangan-algoritma/
Materi power point dan buku catatan