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}
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 ;
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