Anda di halaman 1dari 29

MATERI REPETITION DALAM PASCAL

FOR DO REPEAT UNTIL WHILE DO

Macam-macam Perulangan
For..do Whiledo Repeat..until

Struktur Perulangan For

Perulangan dengan statement for digunakan untuk mengulang statement atau satu blok statement berulang kali sejumlah yang ditentukan.

Bentuk Perulangan for


Perulangan Positif Perulangan Negatif Perulangan Tersarang

Perulangan Positif
Perulangan

dengan penghitung (counter) dari kecil ke besar. Bentuk:


for variabel-kontrol := nilai-awal to nilai-akhir do statement

tipe

data harus bertipe integer.

sama

yaitu

Example
uses crt; var i: integer; begin clrscr; for i:= 1 to 5 do begin writeln('Pascal'); end; readkey; end.

Perulangan Negatif

Adalah perulangan dengan penghitung (counter) dari besar ke kecil. Bentuk: for variabel kontrol := nilai awal downto nilai-akhir do statement

Example
uses crt; var i: integer; begin clrscr; for i:= 5 downto 1 do begin writeln(i); end; readkey; end.

Perulangan Tersarang

Perulangan tersarang (nested loop) adalah perulangan yang berada di dalam perulangan yang lainnya.

Example
uses crt; var i,j : integer; begin clrscr; for i := 1 to 5 Do begin for j := 1 to 3 do begin write(i:8, j:3); end; writeln(); end; readkey; end.

repeat...until dan while...do


Repetisi yang menggunakan perintah for merupakan repetisi yang telah ditentukan berapa repetisi yang akan dilakukan. Ada 2 perintah lagi yang dapat digunakan untuk melakukan repetisi dengan jumlah perulangan yang lebif fleksibel, yaitu perintah repeat...until dan while...do. Pada kedua perintah ini, diberikan suatu kondisi yang akan menentukan apakah terjadi repetisi dan berapa kali repetisi.

repeat...until dan while...do


Contoh

nyata dalam kehidupan, pada saat dilakukan proses menggali sumur untuk mencari sumber air.

Pada awal penggalian, tidak dapat ditentukan dengan pasti berapa meter kedalaman yang harus dicapai. Proses penggalian dilakukan terus menerus sampai ditemukan cukup air. Dengan demikian perulangan dalam menggali dihentikan saat terjadi kondisi ditemukan air.

repeat ... until

Bentuk dasar dari perintah repeat...until adalah :

repeat

perintah yang akan diulang until (kondisi);


Program 6.9

Pada awal, perintah akan dilakukan 1 kali baru kemudian dilakukan pengecekan pada kondisi yang diberikan pada until. Kondisi ini yang menentukan apakah dilakukan perulangan lagi atau tidak. Jika kondisi bernilai false maka program akan dilanjutkan pada perintah repeat lagi. Hal ini berlangsung terus menerus, sampai saat kondisi bernilai true, program dilanjutkan ke perintah setelah until.

repeat ... until

Perhatikan program berikut ini:

x := 3;

repeat
write(x); x:= x + 1 ; until (x > 7); write(done..);
Program 6.10

repeat ... until


Program 6.10 diawali dengan memberikan nilai 3 pada variabel i. Setelah itu bagian repeat akan dilakukan, diawali dengan mencetak nilai x, yaitu 3 dillanjutkan dengan menambahkan nilai x dengan 1 menjadi 4. Pada bagian until akan diperiksa kondisi (x >7). Dengan nilai x adalah 4 maka kondisi ini akan bernilai false sehingga program akan dilanjutkan pada bagian repeat lagi. Mencetak nilai x, yaitu 4 dan kemudian menambahkan nilai x dengan 1 menjadi 5. Kembali diperiksa kondisi ( x > 7 ) yang tetap memberikan nilai false sehingga repeat dilakukan lagi.

repeat ... until


Hal ini terjadi terjadi terus menerus sampai nilai x adalah 7. Pencetakan nilai x dilakukan kemudian nilai x ditambahkan 1 menjadi 8. Pada until, kondisi ( x > 7 ) akan bernilai true sehingga program dilanjutkan pada perintah write(done); Perintah x:=x+1 merupakan bagian yang penting karena perintah itu akan mengubah nilai x yang menentukan apakah repetisi dilakukan atau tidak.

repeat ... until

Contoh yang lain dapat dilihat pada Program 6.11, dimana user diberikan kesempatan untuk menuliskan namanya. Hal ini dilakukan terus menerus sampai nama yang dituliskan adalah kristin.

uses crt; var nama : string; begin repeat clrscr; write(input nama : ); readln(nama); until ( nama = kristin ); write(done); end.
Program 6.11

while...do

Perintah yang kedua adalah while...do. bentuk dasar dari perintah ini adalah :
while (kondisi) do begin
perintah yang diulang

end;

Kondisi yang diberikan akan diperiksa.


Jika kondisi bernilai true maka perintah di antara begin dan end akan dikerjakan. Jika kondisi bernilai false maka program dilanjutkan pada perintah setelah end.

while...do

Program 6.10 jika dituliskan menggunakan whiledo maka akan menjadi seperti program 6.12. x := 3;

while ( x <= 7 ) do begin


write(x); x:= x + 1 ;

end;
write(done..);
Program 6.12

while...do
Dengan nilai x adalah 3 maka kondisi (x <= 7) akan bernilai true sehingga repetisi dikerjakan, yaitu proses mencetak nilai x dan menambahkan nilai x menjadi 4. Setelah mencapai end, program dilanjutkan pada while, sehingga kondisi (x <= 7) diperiksa lagi, kali ini dengan nilai x adalah 4. Kondisi bernilai true, maka repetisi dilakukan lagi. Proses ini terjadi terus-menerus sampai nilai x adalah 7. Setelah mencetak nilai x dan ditambahkan 1 menjadi 8, program mencapai end dan dilanjutkan pada while. Kondisi (x <= 7) akan memberikan nilai false sehingga repetisi dihentikan. Program dilanjutkan pada perintah setelah end, yaitu

write(done);.

Kesimpulan

Perintah repeat...until dan while...do pada prinsipnya adalah sama namun ada beberapa perbedaan yang dapat dimanfaatkan sesuai dengan situasi dan proses yang diinginkan. Pada repeat...until perintah repetisi akan dilakukan minimal satu kali, karena kondisi akan diperiksa pada bagian akhir dari repetisi. Pada while...do, kondisi akan langsung diperiksa sehingga mungkin saja tidak terjadi perulangan sama sekali jika kondisi tidak terpenuhi. Pada repeat...until, repetisi akan terjadi jika kondisi yang diberikan bernilai false sedangkan pada while...do, repetisi akan dilakukan jika kondisi bernilai true.

Rangkuman

Choice dalam Pascal

Pilihan Biner (2 macam)


If <kondisi> then <aksi jika kondisi benar> else < aksi jika kondisi salah>

Pilihan Banyak (lebih dari 2 macam)


Case <variabel> of <nilai alternatif 1> : <aksi alternatif 1> <nilai alternatif 2> : <aksi alternatif 2> : else < aksi alternatif lainnya> end; Repeat : Until <kondisi>

While <kondisi> do <aksi>


For i:= 1 to 5 do writeln(i); Ubah perintah for menjadi while ... Do i:=1; While i <=5 do begin writeln(i); i:=i+1; End; Ubah perintah for menjadi repeat ... Until i:=1; Repeat writeln(i); i:=i+1; Until (i <=5)

Soal Latihan

Penggalan program pascal sebagai berikut: y := 0; for i := 1 to 5 do for j := 5 downto i do y := y + i; writeln(y); Tentukan nilai y yang

dicetak !

Soal Latihan

Penggalan program pascal sebagai berikut: x := 0 ; y := 0 ; while x < 10 do begin x := x + 1 ; y := y + x ; end ; writeln(x , y) ; Berapa harga x dan y yang dicetak ?

Soal Latihan

Penggalan program pascal sebagai berikut: a := 10 ; b := 0 ; repeat b := b + 1 ; a := a - b ; until a > b ; writeln (a, b) ; Berapa harga a dan b yang dicetak ?

-selesai-

Anda mungkin juga menyukai