際際滷

際際滷Share a Scribd company logo
Lanjutan Perulangan
2. WHILEDO 
 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 :
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.
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
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
Program 
Program while1; 
Uses crt; 
Var n : integer; 
Begin 
clrscr; 
n:=1; 
while n<=7 do 
Begin 
write(n, ); 
inc n++; 
End; 
readkey; 
End.
2. Buatlah program untuk mencetak angka 10 
s/d 13 dengan output sebagai berikut: 
10 
11 
12 
13
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
Program
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
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.
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:
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
Flowchart
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}
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.
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>;
 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 ;
Flowchart
5. Buatlah Program untuk mencetak output 
bilangan : 
10 
13 
16 
19 
Bandingkan Jika kondisi pada UNTIL langsung 
bernilai BENAR.
Hasil Program
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
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
(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);
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.
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.
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;
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;
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
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
 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.
Latihan 
1. Buatlah program dengan bentuk output 
sebagai berikut : 
1,1 
2,2 
3,3 
4,4 
5,5
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
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

More Related Content

6 lanjutan perulangan

  • 2. 2. WHILEDO 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 :
  • 3. 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.
  • 4. 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
  • 5. 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
  • 6. Program Program while1; Uses crt; Var n : integer; Begin clrscr; n:=1; while n<=7 do Begin write(n, ); inc n++; End; readkey; End.
  • 7. 2. Buatlah program untuk mencetak angka 10 s/d 13 dengan output sebagai berikut: 10 11 12 13
  • 8. 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
  • 10. 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
  • 11. 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.
  • 12. 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:
  • 13. 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
  • 15. 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}
  • 16. 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.
  • 17. 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>;
  • 18. 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 ;
  • 20. 5. Buatlah Program untuk mencetak output bilangan : 10 13 16 19 Bandingkan Jika kondisi pada UNTIL langsung bernilai BENAR.
  • 22. 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
  • 23. 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
  • 24. (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);
  • 25. 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.
  • 26. 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.
  • 27. 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;
  • 28. 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;
  • 29. 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
  • 30. 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
  • 31. 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.
  • 32. Latihan 1. Buatlah program dengan bentuk output sebagai berikut : 1,1 2,2 3,3 4,4 5,5
  • 33. 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
  • 34. 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