6 lanjutan perulangan

34
Lanjutan Perulangan

Upload: simon-patabang

Post on 19-Jul-2015

138 views

Category:

Education


6 download

TRANSCRIPT

Page 1: 6 lanjutan perulangan

Lanjutan Perulangan

Page 2: 6 lanjutan perulangan

2. WHILE…DO

• WHILE-DO digunakan untuk melakukan proses perulangan dengan mengerjakan suatu blok pernyataan selama kondisi pada WHILE bernilai BENAR.

• Variabel kontrol pada kondisi while boleh bertipe integer atau char

Bentuk Perintah :

Page 3: 6 lanjutan perulangan

Flowchart While - do

• Nilai awal dari Variabel kontrol selalu didefinisikan lebih dahulu mis x :=0.

• Pertambahan nilai variabel kontrol harus dinyatakan dalam blok Begin-End.

• Pertambahan nilai 1 dinyatakan dgn : inc x++ dan pengurangan nilai 1 dinyatakan dengan dec x--

• Pertambahan atau pengu-rangan nilai selain 1 dinyatakan dengan persamaan. Mis var kontrol x dengan pertambahan 4 dinyatakan dengan x := x + 4.

Page 4: 6 lanjutan perulangan

Nilai awal Variabel kontrol x = 0

Cek, apakah 0 < 5?. Ya, kerjakan pernyataan kemudian tambahkan var x, x = 0 + 2. jadi x = 2 Cek, apakah 2 < 5?. Ya, kerjakan pernyataan kemudian tambahkan var x, x = 2 + 2. jadi x = 4 Cek, apakah 4 < 5?. Ya, kerjakan pernyataan kemudian tambahkan var x, x = 4+ 2. jadi x = 6 Cek, apakah 6 < 5? Tidak, keluar dari loop

Page 5: 6 lanjutan perulangan

Contoh :

1. Buatlah program untuk mencetak output sbb :

1 2 3 4 5 6 7

Jawab :

Algoritma

1. Mulai

2. Definisikan variabel n

3. Definisikan nilai awal n=1

4. Cek nilai n<=7 ?, jika tidak, lanjutkan ke langkah 8

5. Jika Ya, cetak nilai variabel n

6. Tambahkan nilai n dengan 1

7. Ulangi langkah 4

8. Selesai

Page 6: 6 lanjutan perulangan

Program

Program while1;

Uses crt;

Var n : integer;

Begin

clrscr;

n:=1;

while n<=7 do

Begin

write(n,’ ‘);

inc n++;

End;

readkey;

End.

Page 7: 6 lanjutan perulangan

2. Buatlah program untuk mencetak angka 10

s/d 13 dengan output sebagai berikut:

10

11

12

13

Page 8: 6 lanjutan perulangan

Algoritma :

1. Mulai

2. Deklarasikan variabel I

3. Definisikan nilai awal I=10

4. Cek kondisi I, apakah I<=14, Jika Tidak, lanjutkan ke langlah 8.

5. Jika benar, cetak I

6. Tambahkan I dengan 1

7. Ulangi langkah 4

8. Selesai

Page 9: 6 lanjutan perulangan

Program

Page 10: 6 lanjutan perulangan

3. Buatlah program untuk mencetak bilangan genap antara 20 s/d 50.

Algoritma :

1. Mulai

2. Definisikan var n,i

3. Definisikan nilai awal n=20;

4. Cek nilai selama n<=50 , Jika tidak pergi ke langkah 11.

5. Jika Ya, hitung sisa bagi n dengan 2 dan simpan dalam variabel i

6. Cek nilai i.

7. Jika i = 0, maka cetak n krn n bil genap

8. Tambahkan nilai n, inc n++

9. Ulangi langkah 4

10. Jika Salah, keluar dari loop

11. Selesai

Page 11: 6 lanjutan perulangan

Flowchart dan Program

Program while2;

Uses crt;

Var n,i : integer;

Begin

n:=20;

while n<-50 do

Begin

i:= n mod 2

if i=0 then write(n,’ ‘);

inc n++;

End;

readln;

End.

Page 12: 6 lanjutan perulangan

4. Buatlah Program perulangan untuk menghitung nilai

sudut trigonometri berulang kali dengan input data yg

berbeda. Setelah hasil perhitungan ditampilkan, maka

program akan bertanya “Mau Mencoba Lagi?” Jika jawab

T, maka program selesai. Jika jawab Y, maka akan

mengulangi lagi.

Bentuk output adalah sbb:

Page 13: 6 lanjutan perulangan

Algoritma :

1. Mulai

2. Definisikan variabel a,b,c,d,r,ulang

3. Definisikan var ulang:=‘Y’

4. Cek var ulang, apakah tidak sama dengan ‘T’, jika tidak maka lanjutkan ke langkah 11

5. Jika benar maka Input a (sudut derajat)

6. Hitung konversi a ke sudut radian

7. Hitung nilai sudut sin(r), cos(r), tangen(r)

8. Cetak hasil perhitungan

9. Input var ulang dengan pertanyaan “Mau Mengulangi Lagi (Y/T)?”

10. Ulangi langkah 4

11. Selesai

Page 14: 6 lanjutan perulangan

Flowchart

Page 15: 6 lanjutan perulangan

Program

Program Contoh; uses crt; var a : integer; b,c,d,r : real; ulang :char; Begin ulang:='Y'; while (ulang <> 'T') do begin

clrscr; writeln('PROGRAM TRIGONOMETRI'); writeln('======================'); Write('Input Nilai Sudut = ');readln(a); writeln; {mecetak baris kosong}

Page 16: 6 lanjutan perulangan

r:=pi/180*a;

b:=sin(r); c:=cos(r); d:=b/c;

writeln('Sin ',a,' Derajat = ',b:6:2);

writeln('Cos ',a,' Derajat = ',c:6:2);

writeln('Tan ',a,' Derajat = ',d:6:2);

writeln('=======================');

writeln; {mecetak baris kosong}

write('Mau Mencoba Lagi (Y/T) ? ');

Readln(ulang);

writeln;

writeln;

end;

End.

Page 17: 6 lanjutan perulangan

3. REPEAT….UNTIL

Digunakan untuk mengerjakan blok pernyataan secara berulang (REPEAT) selama <kondisi> pada UNTIL bernilai SALAH. Jika BENAR, maka perulangan selesai.

Bentuk Perintah :

Repeat

Begin

<Blok Pernyataan>;

End;

Until <Kondisi>;

Page 18: 6 lanjutan perulangan

• Perubahan variabel kontrol perulangan harus dinyatakan dalam blok pernyataan

• Pengetesan kondisi perulangan dilakukan di akhir perulangan

• Blok Pernyataan dikerjakan minimal 1 kali.

k:=0;

Repeat

Begin

<Blok pernyataan>;

k := k + 1;

End;

Until k < 6 ;

Page 19: 6 lanjutan perulangan

Flowchart

Page 20: 6 lanjutan perulangan

5. Buatlah Program untuk mencetak output bilangan :

10

13

16

19

Bandingkan Jika kondisi pada UNTIL langsung bernilai BENAR.

Page 21: 6 lanjutan perulangan

Hasil Program

Page 22: 6 lanjutan perulangan

6. Buatlah program untuk menghitung Luas, Volume, dan Keliling dari sebuah persegi panjang dengan menu tampilan sbb :

Menu Pilihan

1.Hitung Luas

2.Hitung Volume

3.Hitung Keliling

4.Selesai

Pilihan Anda (1/2/3/4)?

• Jika memilih 1, maka program menghitung Luas

• Jika memilih 2, maka program menghitung Volume

• Jika memilih 3, maka program menghitung Keliling

• Setelah mengerjakan setiap pilihan(1,2,3), program akan menampilkan menu pilihan

• Jika memilih 4, maka program selesai/ditutup

Page 23: 6 lanjutan perulangan

Algoritma :

1. Mulai

2. Deklarasikan variabel

3. Definisikan nilai awal var loop, ulang = ‘Y’

4. Cek var ulang, apakah ulang<>’T’,

5. Jika Ya, cetak menu pilihan

6. Input nilai var pilihan (1/2/3/4)

7. Jika pilihan=1, hitung Luas persegi panjang

8. Cetak Luas lalu kembali ke menu (ulangi langkah 4)

9. Jika pilihan=2, hitung Volume persegi panjang

10. Cetak Volume lalu kembali ke menu (ulangi langkah 4)

11. Jika pilihan=3, hitung Keliling persegi panjang

12. Cetak Keliling lalu kembali ke menu (ulangi langkah 4)

13. Jika pilihan=4, lanjuktan ke langkah 14

14. Selesai

Page 24: 6 lanjutan perulangan

(Test dan perbaiki

kesalahan program)

program menu_pilihan;

uses crt;

var nama: string;

p,l,ls,v,k : real

pilihan, ulang : char;

Label Selesai;

begin

clrscr;

ulang := 'Y';

while ulang <> 'T'

Begin

writeln('---MENU---');

writeln('1.Hitung Luas');

writeln('2.Hitung Keliling');

writeln('3. Selesai');

writeln('PILIHAN [1-3]:') ;

readln(pilihan);

Page 25: 6 lanjutan perulangan

case pilihan of

'1' : begin

write('Panjang = ') ;

readln(p);

write('Lebar = ') ;

readln(l);

ls:=p*l;

wtiteln('Luas = ',ls:6:2);

end;

'2' : begin

write('Panjang = ') ;

readln(p);

write('Lebar = ') ;

readln(l);

k:=2*p + 2*l;

wtiteln('Keliling = ',k:6:2);

end;

'3' : begin

goto Selesai;

end;

Readln;

end;

Selesai:

end.

Page 26: 6 lanjutan perulangan

TUGAS-2

Buatlah Program untuk menghitung Konversi Suhu dengan Bentuk output sbb :

Menu Konversi Suhu :

1. Celsius

2. Farenheith

3. Reumer

4. Kelvin

5. Keluar

Pilihan anda (1/2/3/4/5)?

Jika user mengetik 1, maka program akan meminta input data Suhu Celsius, kemudian dikonversi ke F,R, dan K. Jika user mengetik 2, maka program akan meminta input data Suhu Farenheith, kemudian dikonversi ke C, R, dan K. dst. Tampilkan hasil perhitungan.

Page 27: 6 lanjutan perulangan

Program Konversi Suhu dengan Rumus sbb:

C ke Fahrenheit = (9/5 x C) + 32

C ke Reamur = 4/5 x C

C ke Kelvin = C + 273

F ke Celsius = 5/9 x (F - 32)

F ke Reamur = 4/9 x (F - 32)

F ke Kelvin = (F * 5/9) + 273

R ke Fahrenheit = (9/4 x R) + 32

R ke Celsius = 5/4 x R

R ke Kelvin = (R * 5/4) + 273;

Page 28: 6 lanjutan perulangan

Perulangan For dalam For

Perulangan For dalam For umumnya digunakan untuk mengerjakan data yg terdiri dari baris dan kolom. For yg pertama untuk perulangan baris dan for yg kedua untuk perulangan kolom. Umumnya diaplikasikan utk pengolahan data matriks.

Bentuk perintah :

FOR i=n1 TO n2 DO

Begin

{Blok pernyataan};

FOR j=m1 TO m2 DO

begin

{blok pernyataan};

end;

End;

Page 29: 6 lanjutan perulangan

Contoh :

Buatlah program dengan tampilan seperti berikut :

1,5 1,5 1,5 1,5

2,4 2,4 2,4 2,4

3,3 3,3 3,3 3,3

4,2 4,2 4,2 4,2

5,1 5,1 5,1 5,1

Page 30: 6 lanjutan perulangan

Algoritma :

1. Mulai

2. Deklarasikan variabel I,j

3. Cek nilai I, apakah I <=5, Jika tidak lanjutkan ke

langkah 5, jika Ya lanjutkan ke langkah 4

4. Cek nilai j, apakah j>=1, jika tidak kembali ke

langkah 3. Jika Ya, cetak nilai i,j lalu kembali

ke langkah 4

5. Selesai

Page 31: 6 lanjutan perulangan

• Program :

Program Latihan_Loop;

Uses crt;

Var I,j : integer;

Begin

for i:=1 to 5 do

Begin

For j:= 5 downto 1 do

Begin

write(I,’,’,j,’ ‘);

End;

writeln; {pindah baris}

End;

readln;

End.

Page 32: 6 lanjutan perulangan

Latihan

1. Buatlah program dengan bentuk output sebagai berikut :

1,1

2,2

3,3

4,4

5,5

Page 33: 6 lanjutan perulangan

2. Buatlah program dengan output seperti berikut

:

1,1

2,1 2,2

3,1 3,2 3,3

4,1 4,2 4,3 4,4

5,1 5,2 5,3 5,4 5,5

6,1 6,2 6,3 6,4 6,5 6,6

Page 34: 6 lanjutan perulangan

3. Buatlah program untuk menjumlahkan nilai

indeks baris dan kolom dengan output seperti

berikut :

2

3 4

4 5 6

5 6 7 8

6 7 8 9 10

7 8 9 10 11 12