materi 5b - repetition

29
MATERI REPETITION MATERI REPETITION DALAM PASCAL DALAM PASCAL FOR … DO FOR … DO REPEAT … UNTIL REPEAT … UNTIL WHILE … DO WHILE … DO

Upload: armmy-van-basten

Post on 03-Aug-2015

156 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Materi 5b - Repetition

MATERI MATERI REPETITION DALAM REPETITION DALAM

PASCALPASCAL

FOR … DOFOR … DO

REPEAT … UNTILREPEAT … UNTIL

WHILE … DOWHILE … DO

Page 2: Materi 5b - Repetition

Macam-macam PerulanganMacam-macam Perulangan

For…..doFor…..do While……doWhile……do Repeat…..untilRepeat…..until

Page 3: Materi 5b - Repetition

Struktur Perulangan ForStruktur Perulangan For

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

Page 4: Materi 5b - Repetition

Bentuk Perulangan forBentuk Perulangan for

Perulangan PositifPerulangan Positif Perulangan NegatifPerulangan Negatif Perulangan TersarangPerulangan Tersarang

Page 5: Materi 5b - Repetition

Perulangan PositifPerulangan Positif

Perulangan dengan Perulangan dengan penghitung (penghitung (countercounter) dari ) dari kecil ke besar. kecil ke besar.

Bentuk:Bentuk: forfor variabel-kontrol := nilai-awal variabel-kontrol := nilai-awal toto nilai- nilai-

akhir akhir dodo statement statement

tipe data harus sama yaitu tipe data harus sama yaitu bertipe integer.bertipe integer.

Page 6: Materi 5b - Repetition

ExampleExampleuses crt;uses crt;

var i: integer;var i: integer;

beginbegin

clrscr;clrscr;

for i:= 1 to 5 dofor i:= 1 to 5 do

beginbegin

writeln('Pascal');writeln('Pascal');

end;end;

readkey;readkey;

end.end.

Page 7: Materi 5b - Repetition

Perulangan NegatifPerulangan Negatif

Adalah perulangan dengan Adalah perulangan dengan penghitung (counter) dari besar penghitung (counter) dari besar ke kecil.ke kecil.

Bentuk:Bentuk:

forfor variabel kontrol := nilai awal variabel kontrol := nilai awal downtodownto nilai-akhir nilai-akhir dodo statement statement

Page 8: Materi 5b - Repetition

ExampleExample

uses crt;uses crt;

var i: integer;var i: integer;

beginbegin

clrscr;clrscr;

for i:= 5 downto 1 dofor i:= 5 downto 1 do

beginbegin

writeln(i);writeln(i);

end;end;

readkey;readkey;

end.end.

Page 9: Materi 5b - Repetition

Perulangan TersarangPerulangan Tersarang

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

Page 10: Materi 5b - Repetition

ExampleExampleuses crt;uses crt;varvari,j : integer;i,j : integer;beginbegin clrscr;clrscr; for i := 1 to 5 Dofor i := 1 to 5 Do beginbegin

for j := 1 to 3 dofor j := 1 to 3 do beginbegin write(i:8, j:3);write(i:8, j:3); end;end; writeln();writeln();

end;end; readkey;readkey;end.end.

Page 11: Materi 5b - Repetition

repeat...untilrepeat...until dan dan while...dowhile...do Repetisi yang menggunakan perintah Repetisi yang menggunakan perintah for for

merupakan repetisi yang telah merupakan repetisi yang telah ditentukan berapa repetisi yang akan ditentukan berapa repetisi yang akan dilakukan. dilakukan.

Ada 2 perintah lagi yang dapat Ada 2 perintah lagi yang dapat digunakan untuk melakukan repetisi digunakan untuk melakukan repetisi dengan jumlah perulangan yang lebif dengan jumlah perulangan yang lebif fleksibel, yaitu perintah fleksibel, yaitu perintah repeat...untilrepeat...until dan dan while...dowhile...do. .

Pada kedua perintah ini, diberikan suatu Pada kedua perintah ini, diberikan suatu kondisi yang akan menentukan apakah kondisi yang akan menentukan apakah terjadi repetisi dan berapa kali repetisi.terjadi repetisi dan berapa kali repetisi.

Page 12: Materi 5b - Repetition

repeat...untilrepeat...until dan dan while...dowhile...do Contoh nyata dalam kehidupan, Contoh nyata dalam kehidupan,

pada saat dilakukan proses pada saat dilakukan proses menggali sumur untuk mencari menggali sumur untuk mencari sumber air. sumber air. – Pada awal penggalian, tidak dapat Pada awal penggalian, tidak dapat

ditentukan dengan pasti berapa meter ditentukan dengan pasti berapa meter kedalaman yang harus dicapai.kedalaman yang harus dicapai.

– Proses penggalian dilakukan terus Proses penggalian dilakukan terus menerus sampai ditemukan cukup air. menerus sampai ditemukan cukup air.

– Dengan demikian ”perulangan” dalam Dengan demikian ”perulangan” dalam menggali dihentikan saat terjadi kondisi menggali dihentikan saat terjadi kondisi “ditemukan air”.“ditemukan air”.

Page 13: Materi 5b - Repetition

repeat ... untilrepeat ... until Bentuk dasar dari perintah Bentuk dasar dari perintah repeatrepeat......untiluntil

adalah : adalah :

repeatrepeatperintah yang akan diulangperintah yang akan diulang

untiluntil (kondisi); (kondisi);

Pada awal, perintah akan dilakukan 1 kali baru Pada awal, perintah akan dilakukan 1 kali baru kemudian dilakukan pengecekan pada kondisi kemudian dilakukan pengecekan pada kondisi yang diberikan pada yang diberikan pada untiluntil. Kondisi ini yang . Kondisi ini yang menentukan apakah dilakukan perulangan lagi menentukan apakah dilakukan perulangan lagi atau tidak. atau tidak.

Jika kondisi bernilai Jika kondisi bernilai falsefalse maka program akan maka program akan dilanjutkan pada perintah dilanjutkan pada perintah repeatrepeat lagi. Hal ini lagi. Hal ini berlangsung terus menerus, sampai saat kondisi berlangsung terus menerus, sampai saat kondisi bernilai bernilai truetrue, program dilanjutkan ke perintah , program dilanjutkan ke perintah setelah setelah untiluntil..

Program 6.9

Page 14: Materi 5b - Repetition

repeat ... untilrepeat ... until Perhatikan program berikut ini:Perhatikan program berikut ini:

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

untiluntil (x > 7); (x > 7);write(’done..’);write(’done..’);

Program 6.10

Page 15: Materi 5b - Repetition

repeat ... untilrepeat ... until Program 6.10 diawali dengan memberikan Program 6.10 diawali dengan memberikan

nilai 3 pada variabel i. nilai 3 pada variabel i. Setelah itu bagian Setelah itu bagian repeatrepeat akan dilakukan, akan dilakukan,

diawali dengan mencetak nilai x, yaitu 3 diawali dengan mencetak nilai x, yaitu 3 dillanjutkan dengan menambahkan nilai x dillanjutkan dengan menambahkan nilai x dengan 1 menjadi 4. dengan 1 menjadi 4.

Pada bagian Pada bagian untiluntil akan diperiksa kondisi (x akan diperiksa kondisi (x >7). Dengan nilai x adalah 4 maka kondisi ini >7). Dengan nilai x adalah 4 maka kondisi ini akan bernilai akan bernilai falsefalse sehingga program akan sehingga program akan dilanjutkan pada bagian dilanjutkan pada bagian repeatrepeat lagi. lagi. Mencetak nilai x, yaitu 4 dan kemudian Mencetak nilai x, yaitu 4 dan kemudian menambahkan nilai x dengan 1 menjadi 5. menambahkan nilai x dengan 1 menjadi 5.

Kembali diperiksa kondisi ( x > 7 ) yang tetap Kembali diperiksa kondisi ( x > 7 ) yang tetap memberikan nilai memberikan nilai falsefalse sehingga sehingga repeatrepeat dilakukan lagi. dilakukan lagi.

Page 16: Materi 5b - Repetition

repeat ... untilrepeat ... until

Hal ini terjadi terjadi terus menerus Hal ini terjadi terjadi terus menerus sampai nilai x adalah 7. Pencetakan nilai x sampai nilai x adalah 7. Pencetakan nilai x dilakukan kemudian nilai x ditambahkan 1 dilakukan kemudian nilai x ditambahkan 1 menjadi 8. menjadi 8.

Pada Pada untiluntil, kondisi ( x > 7 ) akan bernilai , kondisi ( x > 7 ) akan bernilai truetrue sehingga program dilanjutkan pada sehingga program dilanjutkan pada perintah write(’done’);perintah write(’done’);

Perintah x:=x+1 merupakan bagian yang Perintah x:=x+1 merupakan bagian yang penting karena perintah itu akan penting karena perintah itu akan mengubah nilai x yang menentukan mengubah nilai x yang menentukan apakah repetisi dilakukan atau tidak.apakah repetisi dilakukan atau tidak.

Page 17: Materi 5b - Repetition

repeat ... untilrepeat ... until

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

Page 18: Materi 5b - Repetition

uses crt;uses crt;

var nama : string;var nama : string;

beginbegin

repeatrepeat

clrscr;clrscr;

write(’input nama : write(’input nama : ’);’);

readln(nama);readln(nama);

until ( nama = ’kristin’ );until ( nama = ’kristin’ );

write(’done’);write(’done’);

end.end.

Program 6.11

Page 19: Materi 5b - Repetition

while...dowhile...do Perintah yang kedua adalah Perintah yang kedua adalah while...dowhile...do. .

bentuk dasar dari perintah ini adalah :bentuk dasar dari perintah ini adalah :whilewhile (kondisi) (kondisi) do begindo begin

perintah yang diulangperintah yang diulang

end;end;

Kondisi yang diberikan akan Kondisi yang diberikan akan diperiksa. diperiksa. Jika kondisi bernilai Jika kondisi bernilai truetrue maka perintah maka perintah

di antara di antara beginbegin dan dan endend akan akan dikerjakan. dikerjakan.

Jika kondisi bernilai Jika kondisi bernilai falsefalse maka program maka program dilanjutkan pada perintah setelah dilanjutkan pada perintah setelah endend..

Page 20: Materi 5b - Repetition

while...dowhile...do Program 6.10 jika dituliskan menggunakan Program 6.10 jika dituliskan menggunakan

while…dowhile…do maka akan menjadi seperti maka akan menjadi seperti program 6.12.program 6.12.

x := 3;x := 3;

while ( x <= 7 ) do while ( x <= 7 ) do

beginbegin

write(x);write(x);

x:= x + 1 ;x:= x + 1 ;

endend;;

write(’done..’);write(’done..’);

Program 6.12

Page 21: Materi 5b - Repetition

Dengan Dengan nilai xnilai x adalah adalah 33 maka kondisi maka kondisi (x <= (x <= 7)7) akan bernilai akan bernilai truetrue sehingga repetisi sehingga repetisi dikerjakan, yaitu proses mencetak dikerjakan, yaitu proses mencetak nilai xnilai x dan menambahkan dan menambahkan nilai xnilai x menjadi menjadi 44. .

Setelah mencapai Setelah mencapai endend, program dilanjutkan , program dilanjutkan pada pada whilewhile, sehingga kondisi , sehingga kondisi (x <= 7)(x <= 7) diperiksa lagi, kali ini dengan diperiksa lagi, kali ini dengan nilai xnilai x adalah adalah 44. Kondisi bernilai . Kondisi bernilai truetrue, maka repetisi , maka repetisi dilakukan lagi. Proses ini terjadi terus-dilakukan lagi. Proses ini terjadi terus-menerus sampai menerus sampai nilai xnilai x adalah adalah 77. .

Setelah mencetak Setelah mencetak nilai xnilai x dan ditambahkan dan ditambahkan 11 menjadi menjadi 88, program mencapai , program mencapai endend dan dan dilanjutkan pada dilanjutkan pada whilewhile. Kondisi . Kondisi (x <= 7)(x <= 7) akan memberikan nilai akan memberikan nilai falsefalse sehingga sehingga repetisi dihentikan. Program dilanjutkan repetisi dihentikan. Program dilanjutkan pada perintah setelah pada perintah setelah endend, yaitu , yaitu write(’done’);.write(’done’);.

while...dowhile...do

Page 22: Materi 5b - Repetition

Perintah Perintah repeat...untilrepeat...until dan dan while...dowhile...do pada pada prinsipnya adalah sama namun ada beberapa prinsipnya adalah sama namun ada beberapa perbedaan yang dapat dimanfaatkan sesuai perbedaan yang dapat dimanfaatkan sesuai dengan situasi dan proses yang diinginkan.dengan situasi dan proses yang diinginkan.

Pada Pada repeat...untilrepeat...until perintah repetisi akan perintah repetisi akan dilakukan minimal satu kali, karena kondisi akan dilakukan minimal satu kali, karena kondisi akan diperiksa pada bagian akhir dari repetisi. Pada diperiksa pada bagian akhir dari repetisi. Pada while...dowhile...do,, kondisi akan langsung diperiksa kondisi akan langsung diperiksa sehingga mungkin saja tidak terjadi perulangan sehingga mungkin saja tidak terjadi perulangan sama sekali jika kondisi tidak terpenuhi.sama sekali jika kondisi tidak terpenuhi.

Pada Pada repeat...untilrepeat...until,, repetisi akan terjadi jika repetisi akan terjadi jika kondisi yang diberikan bernilai kondisi yang diberikan bernilai false false sedangkan sedangkan pada pada while...dowhile...do, repetisi akan dilakukan jika , repetisi akan dilakukan jika

kondisi bernilai kondisi bernilai truetrue..

KesimpulanKesimpulan

Page 23: Materi 5b - Repetition

RangkumaRangkumann

Page 24: Materi 5b - Repetition

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>

Page 25: Materi 5b - Repetition

While <kondisi> do <aksi>

For i:= 1 to 5 do writeln(i);

Ubah perintah for menjadi while ... Doi:=1;While i <=5 do begin writeln(i); i:=i+1;End;

Ubah perintah for menjadi repeat ... Untili:=1;Repeat writeln(i); i:=i+1;Until (i <=5)

Page 26: Materi 5b - Repetition

Penggalan program Penggalan program pascal pascal sebagai sebagai berikutberikut::

y := 0;y := 0;

for i := 1 to 5 dofor i := 1 to 5 do

for j := 5 for j := 5 downto i dodownto i do

y := y + i;y := y + i;

writeln(y);writeln(y);

Tentukan nilai Tentukan nilai yy yang yang dicetak !dicetak !

Soal LatihanSoal Latihan

Page 27: Materi 5b - Repetition

Penggalan program Penggalan program pascal sebagai berikut:pascal sebagai berikut:

x := 0 ; x := 0 ; y := 0 ;y := 0 ;while x < 10 dowhile x < 10 do

begin begin x := x + x := x +

1 ; 1 ; y := y + y := y +

x ; x ; end ;end ;

writeln(x , y) ;writeln(x , y) ;

Berapa harga Berapa harga xx dan dan yy yang dicetak ?yang dicetak ?

Soal LatihanSoal Latihan

Page 28: Materi 5b - Repetition

Penggalan program Penggalan program pascal sebagai pascal sebagai berikut:berikut:

a := 10 ; a := 10 ; b := 0 ;b := 0 ;repeat repeat

b := b + 1 ; b := b + 1 ; a := a - b ; a := a - b ;

until a > b ;until a > b ;writeln (a, b) ;writeln (a, b) ;

Berapa harga Berapa harga aa dan dan bb yang dicetak ? yang dicetak ?

Soal Soal LatihanLatihan

Page 29: Materi 5b - Repetition

-selesai--selesai-