Program ini memberikan contoh penggunaan struktur perulangan dan pengkondisian dalam bahasa pemrograman Pascal. Terdapat penjelasan dan contoh kode program untuk menggunakan IF-THEN, FOR-TO-DO, WHILE-DO, REPEAT-UNTIL, serta CASE-OF dalam menyelesaikan masalah perhitungan sederhana. Program ini juga mendemonstrasikan penggunaan menu interaktif menggunakan struktur perulangan untuk memilih opsi perhitungan luas,
2. Pemrograman Dasar
Contoh-1:
Hitunglah nilai x, y, z, p, dan q dengan persamaan :
x=a+b
p = (a² + b²)/ √b
y= axb
q = ((b² - a) x (a + b))/ (a x b )
z = a/b
Data masukan adalah nilai a dan b.
Jawab :
Yang perlu diperhatikan adalah tipe variabel dari x,y,z,p,dan q.
Variabel z,p, q harus bertipe real karena meyimpan hasil pembagian
yang nilainya berupa bil. desimal. Sedangkan a,b,x, dan y bisa bertipe
integer (bil. bulat) atau real (bil. desimal).
3. Program
Program Dasar1;
uses crt;
var a,b,x,y : integer;
z,p,q : real;
Begin
clrscr;
write('Nilai a = ');readln(a);
write('Nilai b = ');readln(b);
x:= a + b;
y:= a*b;
z:= a/b;
p:= (sqr(a) + sqr(b))/sqrt(b);
q:= ((sqr(b)-a)*x)/y;
writeln('Hasil Perhitungan');
writeln('=================');
writeln('x = ',x);
writeln('y = ',y);
writeln('z = ',z:6:2);
writeln('p = ',p:6:2);
writeln('q = ',q:6:2);
readkey;
End.
4. Contoh-2:
Carilah hasil bagi dan sisa pembagian dari 2 buah
bilangan bulat (integer).
Jawab :
Gunakan fungsi div untuk mencari hasil bagi dan
fungsi mod untuk mecari sisa pembagian dari 2 buah
bil. bulat.
5. Program
Program Dasar2;
uses crt;
var a,b,x,y,p,q : integer;
Begin
clrscr;
write('Nilai a = ');readln(a);
write('Nilai b = ');readln(b);
x:= a mod b ;
y:= b mod a;
p:= a div b;
q:= b div a;
writeln;
writeln('Hasil Perhitungan');
writeln('=================');
writeln('x = ',x);
writeln('y = ',y);
writeln('p = ',p);
writeln('q = ',q);
readkey;
End.
6. IF-THEN
Bentuk : If <kondisi > then
Begin
<pernyataan-1>
<pernyataan-2>
End;
Digunakan untuk memilih sebuah Pilihan pernyataan. Jika kondisi
bernilai True, maka kerjakan pernyataan dalam blok Begin-End. Jika
salah, kerjakan pernyataan selanjutnya.
Contoh :
Tentukan 3 buah bil. n, x, dan y. Jika x lebih besar dari n, ganti nilai x
menjadi nilai n. Jika y lebih kecil dari n, ganti nilai y menjadi nilai n.
7. Program
write('Masukkan bil. y =');
readln(y);
Program IFTHEN;
Uses crt;
writeln;
Var x,y,n : real;
if n>x then x:=n;
if y<n then y:=n;
Begin
clrscr;
write('Masukkan bil. n =');
readln(n);
write('Masukkan bil. x =');
readln(x);
writeln(' Nilai x = ',x:6:2);
writeln(' Nilai y = ',y:6:2);
readln;
End.
8. IF-THEN-ELSE
Bentuk : If <kondisi> then
Begin
<pernyataan-1>;
<pernyataan-2>;
End
else
Begin
<pernyataan-3>;
<pernyataan-4>;
End;
Digunakan untuk memilih salah satu dari 2 pilihan yang ada. Jika kondisi
bernilai True,maka kerjakan pilihan I (pernyataan 1 & 2). Jika bernilai False,
kerjalan pilihan II (pernyataan 3 & 4).
Contoh-2:
Tentukanlah satu nilai input, apakah bil. positip atau negatip.
9. Program
Program IFTHEN1;
Uses crt;
Var n : integer;
Begin
clrscr;
write('Masukkan bilangan n = ');
readln(n);writeln;
if n>0 then
writeln('Anda memasukkan bilangan positip') {titik koma tidak
boleh}
else
writeln('Anda memasukkan bilangan negatip');
readln;
End.
10. Operator AND, OR
Operator AND dan OR digunakan untuk membandingkan dua
pernyataan logika pada kondisi IF.
Misalnya anda dinyatakan ‘Lulus” jika Nilai Ujian (n) dan Nilai
Praktikum (p) sbb :
IF (n>=80) AND (p>=60) then writeln(‘Lulus’);
Artinya jika kedua kondisi bernilai True, maka dinyatakan “Lulus”.
IF (n>=80) OR (p>=60) then writeln(‘Lulus’);
Artinya jika salah satu kondisi bernilai True, maka dinyatakan “Lulus”.
11. Contoh
Buatlah program untuk menentukan nilai kelulusan.
yang ditentukan sebagai berikut:
0 <= N<= 40
40< N <=55
55<N <=65
65<N<=75
75<N<=100
:E
:D
:C
:B
:A
Bila nilai input 55, maka akan ditampilkan nila D.
12. Program
Program LOGIKA_AND_DLM_IF;
uses crt;
var n: integer;
Begin
clrscr;
write('Input nilai N = ');readln(n);
if(0>=n) AND (n<=40) then
writeln('Nilai E')
else
if(40>n) AND (n<=55) then
writeln('Nilai D')
else
if(55<=n) AND (n<=65) then
writeln('Nilai C')
else
if(65<n) AND (n<=75) then
writeln('Nilai B')
else
if(75<n) AND (n<=100) then
writeln('Nilai A')
else
writeln('Nilai masukan
salah');
readkey;
End.
13. Case - of
Bentuk : Case <Variabel> of
Label-1 : Begin – End;
Label-2 : Begin – End;
...
…
Label… : Begin – End;
End;
Digunakan untuk memilih salah satu pilihan dari beberapa
pilihan yang ada. Misalnya, Jika Variabel pada case-of
nilainya sama dengan 4, maka pilihan dengan label 4 yang
akan dikerjakan.
14. Contoh
Tentukan nilai masukan berupa huruf ( A-E). Jika
input salah satu nilai, maka akan diberikan
keterangan lulus sbb :
'A' : Ket := ' Sangat Baik ' ;
'B' : Ket := ' Baik ' ;
'C' : Ket := ' Cukup ' ;
'D' : Ket := ' Kurang ' ;
'E' : Ket := ' Gagal ' ;
15. Program
Program Case_Of1;
uses crt;
Var
Nilai : Char;
Ket : String [12];
Begin
clrscr;
Write ('Nilai Huruf (A-E) = ');
Readln(Nilai) ;
Case Nilai Of
'A' : Ket := ' Sangat Baik ' ;
'B' : Ket := ' Baik ' ;
'C' : Ket := ' Cukup ' ;
'D' : Ket := ' Kurang ' ;
'E' : Ket := ' Gagal ' ;
End;
writeln;
Write (' Nilai Anda = ', Ket) ;
Readln ;
End.
16. Contoh
Nilai Kelulusan ditentukan sebagai berikut:
0 <= N<= 40 : E
40< N <=55 : D
55<N <=65 : C
65<N<=75 : B
75<N<=100: A
Buatlah program untuk menentukan nilai kelulusan. Mis. Bila
nilai input 55, maka akan ditampilkan nila D.
Bandingkan dengan cara penyelesaian pada IF-Then-Else.
17. Program
Program case_of2;
uses crt;
var n1 : integer;
n2 : char;
Begin
Clrscr;
write('Input Nilai angka = ');
readln(n1);
case n1 of
0..40 : n2 := 'E';
40..55 : n2 := 'D';
55..65 : n2 := 'C';
65..75 : n2 := 'B';
75..100:n2 := 'A';
end;
writeln;
writeln('Anda mendapat
nilai:',n2);
readln;
End.
18. Perulangan For-To-Do dan For-Downto-Do
Bentuk :
For n1 to n2 do
Begin
<pernyataan-1>;
<pernyataan-1>;
………
End;
Untuk :
For-to-do
: n1 > n2
For-downto-do : n1 < n2
19. Contoh-1:
Buatlah program untuk menampilkan data pada satu
baris seperti berikut.
1
2 3 4 5 6 7 8 9 10
dan
20 19 18 17 16 15
14
13
12
11 10 9
20. Program
Program Fortodo1;
uses crt;
var i : integer;
Begin
clrscr;
writeln;writeln;
for i:=1 to 10 do
write(i,' ');
writeln;writeln;writeln;
{pindah baris}
for i:=20 downto 9 do
write(i,' ');
readkey;
End.
21. Contoh-2
Buatlah program untuk menampilkan data
seperti berikut :
11
11
11
12
12
12
13
13
13
14
14
14
13
13
13
12
12
12
11
11
11
10
10
10
22. Program
Program Fortodo2;
uses crt;
var i,j : integer;
Begin
clrscr; writeln;writeln;
writeln;writeln; {pindah
baris}
for i:=1 to 3 do
Begin
for j:=13 downto 10 do
write(j,' ');
writeln; {pindah
baris}
End;
for i:=1 to 3 do
Begin
readkey;
for j:=11 to 14 do
End.
write(j,' ');
writeln; {pindah baris}
End;
24. Program
Program Fortodo3;
uses crt;
End;
writeln; {pindah baris}
var i,j : integer;
Begin
clrscr;
writeln;
for i:=5 downto 1 do
Begin
for j:=1 to i do
write(' ',j);
writeln; {pindah baris}
for i:=1 to 5 do
Begin
for j:=1 to i do
write(' ',j);
writeln; {pindah baris}
End;
writeln; {pindah baris}
25. for i:=5 downto 1 do
for i:=1 to 5 do
Begin
Begin
for j:=5 downto i do
for j:=5 downto i do
write(' ',j);
write(' ',j);
writeln; {pindah baris}
writeln; {pindah baris}
End;
End;
writeln; {pindah baris}
readkey;
End.
26. Loop While-Do
Bentuk :
While <kondisi> do
Begin
<pernyataan>;
…………
End;
Selama kondisi pada while bernilai True, kerjakan pernyataan dalam
blok Begin-End. Jika bernilai False, maka perulangan selesai.
28. Program-1
Program Whiledo1;
uses crt;
var n : byte;
Begin
clrscr;
n:=1;
while n<=6 do
Begin
write(n,' ');
inc(n);
End;
writeln;writeln;
n:=4;
while n<=7 do
Begin
writeln('
',n);
inc(n);
End;
readln;
End.
29. Program-2:
Program Whiledo2;
uses crt;
var n : byte;
Begin
clrscr;
n:=1;
while n<=7 do
Begin
write(n,' ');
n:=n + 2;
End;
writeln;writeln;
n:=10;
while n<=25 do
Begin
writeln('
',n);
n:=n + 5;
End;
readln;
End.
30. Contoh :
Buatlah program untuk menghitung Luas, Volume,
dan Keliling balok dengan menggunakan Menu
Pilihan sbb :
Menu Perhitungan Balok
1. Input Data
2. Luas Balok
3. Volume Balok
4. Keliling Balok
5. Selesai
Pilihan anda(1-5)
31. Program
Program Menu1;
uses crt;
var p,q,r,k,v,l : real;
x,ya : char;
label selesai;
Begin
ya:='Y';
clrscr;
while ya='Y' do
Begin
clrscr;
gotoxy(20,5);writeln('Menu Perhitungan
Balok');
gotoxy(20,7);writeln('1. Input Data');
gotoxy(20,8);writeln('2. Luas Balok');
gotoxy(20,9);writeln('3. Volume Balok');
gotoxy(20,10);writeln('4. Keliling Balok');
gotoxy(20,11);writeln('5. Selesai');
gotoxy(20,13);write('Pilihan anda(1-5)?
');readln(x);
case x of
'1' : Begin
clrscr;
gotoxy(20,7);write('Panjang =
');readln(p);
gotoxy(20,8);write('Lebar =
');readln(q);
gotoxy(20,9);write('Tinggi =
');readln(r);
End;
33. Loop Repeat – Until
Bentuk :
Repeat
Begin
<pernyataan>
…………..
End;
Until <kondisi>
Kerjakan blok pernyataan selama kondisi pada
until bernilai salah. Jika kondisi pada until bernilai
True, maka proses perulangan akan berhenti.
35. Program :
Program RepeatUntil1;
uses crt;
var n : byte;
Begin
clrscr;
n:=1;
Repeat
Begin
write(' ',n);
inc(n);
end;
until (n=7); {Berhenti jika n = 7}
writeln;writeln;
n:=12;
Repeat
Begin
write(' ',n);
dec(n);
end;
until (n=6); {Berhenti jika n = 6}
readln;
End.
36. Program RepeatUntil2;
uses crt;
var n : byte;
Begin
clrscr;
n:=1;
Repeat
Begin
write('
n:= n + 3;
end;
until (n=19); {Berhenti
jika n = 19}
readln;
End.
',n);
37. Buatlah program menu seperti pada while-do
untuk menghitung Volume, Luas, dan Keliling
Balok dengan Repeat-Until.
Menu Perhitungan Balok
1. Input Data
2. Luas Balok
3. Volume Balok
4. Keliling Balok
5. Selesai
Pilihan anda(1-5)
38. Program
Program Menu1;
uses crt;
var p,q,r,k,v,l : real;
x,ya : char;
label selesai;
Begin
ya:='Y';
clrscr;
Repeat
Begin
clrscr;
gotoxy(20,5);
writeln('Menu Perhitungan Balok');
gotoxy(20,7);
writeln('1. Input Data');
gotoxy(20,8);
writeln('2. Luas Balok');
gotoxy(20,9);
writeln('3. Volume Balok');
gotoxy(20,10);
writeln('4. Keliling Balok');
gotoxy(20,11);
writeln('5. Selesai');
gotoxy(20,13);
write('Pilihan anda(1-5)? ');
readln(x);
case x of