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)