Lecture
Pengulangan
Pengantar[1]
3
Struktur Pengulangan
5
Notasi Pengulangan
• Notasi pengulangan adalah salah satu notasi dasar
dalam penulisan algoritma selain analisa kasus.
Notasi pengulangan merupakan sebagian dari skema
pengulangan yang akan dibahas pada bab-bab
berikutnya.
6
Berdasarkan jumlah pengulangan
8
Berdasarkan kondisi pengulangan
9
Berdasarkan dua aksi(iterate stop)
iterate
Aksi-1
stop (kondisi-berhenti)
Aksi-2
{ Kondisi berhenti dicapai di titik program
ini}
10
Berdasarkan dua aksi(iterate stop)
• Pengulangan ini seolah-olah adalah "gabungan“
pengulangan kedua dan ketiga
• Mekanisme :
1.Secara otomatis Aksi-1 dieksekusi
2.Kemudian test terhadap kondisi berhenti
3.Tergantung kondisi berhenti :
– Aksi-2 akan diaktifkan dan kemudian Aksi-1 yang
berikutnya diulang, atau
– pengulangan dihentikan karena efek neto dari Aksi-1
menghasilkan kondisi berhenti
• Pengulangan ini berguna untuk kasus-kasus dimana
Aksi-2 merupakan hal yang harus dilakukan
tergantung dari hasil Aksi-1
11
Berdasarkan pencacah (traversal)
nama-pencacah traversal [range harga]
Aksi
12
Berdasarkan pencacah (traversal)
• Pemrogram tidak perlu melakukan operasi terhadap
suksesor/predesesor karena setiap kali selesai
melakukan Aksi, otomatis mesin akan melakukan
operasi mendapatkan suksesor dari harga yang
sedang berlaku saat itu
• Pengulangan otomatis berhenti setelah penjelajahan
terhadap nama-pencacah sudah mencakup semua
harga yang terdefinisi dalam range harga
• Pengulangan ini biasanya dipakai jika harga yang
tersimpan dalam nama-pencacah ingin dimanfaatkan
dalam Aksi, namun tidak boleh DIUBAH karena akan
mengacaukan urutan eksekusi yang dilakukan.
13
Penutup
• Suatu bentuk pengulangan dapat
"diterjemahkan" menjadi bentuk yang lain
dengan notasi algoritmik yang tersedia
• Instruksi pengulangan tidak dapat berdiri
sendiri, dan harus disertai dengan instruksi-
instruksi lain sebelum dan sesudah
pengulangan
• Persoalannya adalah memilih bentuk
pengulangan yang benar dan tepat
• Tidak semua bahasa pemrograman yang ada
menyediakan semua bentuk pengulangan di
atas
14
Contoh algoritma[1]
Program TULISBIL1
{Dibaca N >= 0, Menuliskan 1,2,3,… N berderet ke bawah, dengan
bentuk repeat..N times}
Kamus :
i : integer {bilangan yang akan ditulis}
Algoritma :
input (N)
i 1
repeat N times
output (i)
i i + 1
15
Contoh algoritma[2]
Program TULISBIL2
{Dibaca N >= 0, Menuliskan 1,2,3,… N berderet ke bawah, dengan
bentuk repeat..until…}
Kamus :
i : integer {bilangan yang akan ditulis}
Algoritma :
input (N)
i 1
repeat
output (i)
i i + 1
until (i>N)
16
Contoh algoritma[3]
Program TULISBIL3
{Dibaca N >= 0, Menuliskan 1,2,3,… N berderet ke bawah, dengan
bentuk while…do}
Kamus :
i : integer {bilangan yang akan ditulis}
Algoritma :
input (N)
i 1
while i <= N do
output (i)
i i + 1
{ i > N}
17
Contoh algoritma[4]
Program TULISBIL4
{Dibaca N >= 0, Menuliskan 1,2,3,… N berderet ke bawah,
dengan bentuk traversal}
Kamus :
i : integer {bilangan yang akan ditulis}
Algoritma :
input (N)
i traversal [1..N]
output (i)
18
Contoh algoritma[5]