6 lanjutan perulangan
-
Upload
simon-patabang -
Category
Education
-
view
141 -
download
6
Transcript of 6 lanjutan perulangan
![Page 1: 6 lanjutan perulangan](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/1.jpg)
Lanjutan Perulangan
![Page 2: 6 lanjutan perulangan](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/7.jpg)
2. Buatlah program untuk mencetak angka 10
s/d 13 dengan output sebagai berikut:
10
11
12
13
![Page 8: 6 lanjutan perulangan](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/9.jpg)
Program
![Page 10: 6 lanjutan perulangan](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/14.jpg)
Flowchart
![Page 15: 6 lanjutan perulangan](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/18.jpg)
• 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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/19.jpg)
Flowchart
![Page 20: 6 lanjutan perulangan](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/20.jpg)
5. Buatlah Program untuk mencetak output bilangan :
10
13
16
19
Bandingkan Jika kondisi pada UNTIL langsung bernilai BENAR.
![Page 21: 6 lanjutan perulangan](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/21.jpg)
Hasil Program
![Page 22: 6 lanjutan perulangan](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/22.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/24.jpg)
(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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/26.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/27.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/28.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/29.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/30.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/31.jpg)
• 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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/32.jpg)
Latihan
1. Buatlah program dengan bentuk output sebagai berikut :
1,1
2,2
3,3
4,4
5,5
![Page 33: 6 lanjutan perulangan](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/33.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052210/55ab94591a28abc1158b4813/html5/thumbnails/34.jpg)
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