Transcript Repetisi

IT-132 Dasar-Dasar Pemrograman
Ramos Somya, S.Kom., M.Cs.




Sequence
Procedure & Function
Choice
Repetition



Looping
Iterasi
Perulangan

Mengulang suatu perintah yang memiliki aturan yang
sama, sehingga mengefisienkan dan memudahkan dalam
pemrograman.

Karena
penggunaan
prosedur
tidak
menghilangkan sekuens instruksi yang
perulangan atau repetisi dalam suatu program.
mampu
bersifat
***
***
***

Dengan Procedure:
def r3(p) = p();p();p(); enddef
def tiga() = NL; p*;p*;p*; enddef
r3(tiga)

Penggunaan repetisi jauh lebih baik terutama jika kita
ingin membuat pola yang berbeda.
times F do P od
Contoh:
####
Perintah:
times 4 do p#; od
####
####
####
times 3 do
NL; times 4 do p#; od
od
for n runningthrough 1..5 do
{ perintah yang diulang }
od
Contoh:
***
***
***
Perintah:
for n runningthrough 1..3 do {
NL; times 3 do p*; od
} od
for n runningbackthrough 5..1 do
{ perintah yang diulang }
od
*
**
***
****
Perintah:
for n runningthrough 1..4 do {
NL; times n do p*; od
} od
****
***
**
*
Perintah:
for n rbt 4..1 do {
NL; times n do p*; od;
} od
NL; times 7 do p*; od
for n rt 1..5 do {
NL; times n do ps; od; p*;
times 5-n do ps; od; p*;
} od
NL; times 6 do ps; od; p*;

Program sebelumnya dapat dibuat lebih dinamis
menggunakan procedure dan repetisi:
def segitiga (n) =
NL; times n do p*; od
for i rt 1..n-2 do {
NL; times i do ps; od; p*;
times n-2-i do ps; od; p*;
} od
NL; times n-1 do ps; od; p*;
enddef
Buat procedure untuk mencetak sebaris k segitiga dengan
ukuran nxn. Jarak antar segitiga satu spasi.
??????


Ada berapa baris??
Ada berapa segitiga??
Perintah:
for n rbt 4..1 do {
NL; times 3 do {
times 5-n ps; od
times n p*; od
}
od
}
od

o
o
Modifikasi menjadi n baris dan k kolom.
for n rt 4..1 mencetak 4 baris.
times 3 mencetak 3 segitiga.
Prosedure-nya:
def segitiga(n, k) =
for m rbt n..1 do {
NL; times k do {
times n+1-m do ps; od
times m do p*; od
} od
} od
enddef

Buat pola berikut ini dengan perulangan!
*
**
***
Bagaimana jika * diganti dengan angka??
Buat perintah dengan perulangan untuk mencetak pola:
1
22
333
1
12
123
for n rt 1..3 do {
NL; times n do p(n); od
} od
for n rt 1..3 do {
NL;
for m rt 1..n do {
p(m); od
} od
} od
Buat perintah dengan perulangan untuk mencetak pola:
a)
b)

c)