2. Pemrograman Dasar
Contoh-1:
Hitunglah nilai x, y, z, p, dan q dengan persamaan :
x = a + b p = (a² + b²)/ √b
y = a x b q = ((b² - a) x (a + b))/ (a x b )y = a x b 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:= a/b;
p:= (sqr(a) + sqr(b))/sqrt(b);
q:= ((sqr(b)-a)*x)/y;
writeln('Hasil Perhitungan');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;
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).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;
p:= a div b;
q:= b div a;
writeln;
writeln('Hasil Perhitungan');
writeln('=================');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;
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;
<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
Program IFTHEN;
Uses crt;
Var x,y,n : real;
write('Masukkan bil. y =');
readln(y);
writeln;
if n>x then x:=n;Var x,y,n : real;
Begin
clrscr;
write('Masukkan bil. n =');
readln(n);
write('Masukkan bil. x =');
readln(x);
if n>x then x:=n;
if y<n then y:=n;
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
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 NilaiMisalnya 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 bernilaiTrue, maka dinyatakan “Lulus”.
IF (n>=80) OR (p>=60) then writeln(‘Lulus’);
Artinya jika salah satu kondisi bernilaiTrue, maka dinyatakan “Lulus”.
11. Contoh
Buatlah program untuk menentukan nilai kelulusan.
yang ditentukan sebagai berikut:
0 <= N<= 40 : E
40< N <=55 : D
55<N <=65 : C
65<N<=75 : B
75<N<=100 : A
Bila nilai input 55, maka akan ditampilkan nila D.
12. Program
Program LOGIKA_AND_DLM_IF;
uses crt;
var n: integer;
writeln('Nilai C')
else
if(65<n) AND (n<=75) then
writeln('Nilai B')
else
if(75<n) AND (n<=100) then
writeln('NilaiA')
else
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
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 :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
'A' : Ket := ' Sangat Baik ' ;
'B' : Ket := ' Baik ' ;
'C' : Ket := ' Cukup ' ;
'D' : Ket := ' Kurang ' ;
Var
Nilai : Char;
Ket : String [12];
Begin
clrscr;
Write ('Nilai Huruf (A-E) = ');
Readln(Nilai) ;
Case Nilai Of
'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 : D40< 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;
0..40 : n2 := 'E';
40..55 : n2 := 'D';
55..65 : n2 := 'C';
65..75 : n2 := 'B';
75..100:n2 := 'A';
end;var n1 : integer;
n2 : char;
Begin
Clrscr;
write('Input Nilai angka = ');
readln(n1);
case n1 of
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.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;
write(i,' ');
writeln;writeln;writeln;
var i : integer;
Begin
clrscr;
writeln;writeln;
for i:=1 to 10 do
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 :seperti berikut :
11 12 13 14
11 12 13 14
11 12 13 14
13 12 11 10
13 12 11 10
13 12 11 10
22. Program
Program Fortodo2;
uses crt;
var i,j : integer;
writeln;writeln; {pindah
baris}
for i:=1 to 3 do
Beginvar i,j : integer;
Begin
clrscr; writeln;writeln;
for i:=1 to 3 do
Begin
for j:=11 to 14 do
write(j,' ');
writeln; {pindah baris}
End;
Begin
for j:=13 downto 10 do
write(j,' ');
writeln; {pindah
baris}
End;
readkey;
End.
24. Program
Program Fortodo3;
uses crt;
var i,j : integer;
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
Begin
for j:=5 downto i do
write(' ',j);
for i:=1 to 5 do
Begin
for j:=5 downto i do
write(' ',j);write(' ',j);
writeln; {pindah baris}
End;
writeln; {pindah baris}
write(' ',j);
writeln; {pindah baris}
End;
readkey;
End.
26. Loop While-Do
Bentuk :
While <kondisi> do
Begin
Selama kondisi pada while bernilai True, kerjakan pernyataan dalam
blok Begin-End. Jika bernilai False, maka perulangan selesai.
Begin
<pernyataan>;
…………
End;
29. Program-2:
Program Whiledo2;
uses crt;
var n : byte;
writeln;writeln;
n:=10;
while n<=25 do
Begin
writeln(' ',n);var n : byte;
Begin
clrscr;
n:=1;
while n<=7 do
Begin
write(n,' ');
n:=n + 2;
End;
writeln(' ',n);
n:=n + 5;
End;
readln;
End.
30. Contoh :
Buatlah program untuk menghitung Luas, Volume,
dan Keliling balok dengan menggunakan Menudan 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;
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' : Beginlabel 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');
'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
Kerjakan blok pernyataan selama kondisi pada
until bernilai salah. Jika kondisi pada until bernilai
True, maka proses perulangan akan berhenti.
Begin
<pernyataan>
…………..
End;
Until <kondisi>
35. Program :
Program RepeatUntil1;
uses crt;
var n : byte;
writeln;writeln;
n:=12;
Repeat
Begin
write(' ',n);
var n : byte;
Begin
clrscr;
n:=1;
Repeat
Begin
write(' ',n);
inc(n);
end;
until (n=7); {Berhenti jika n = 7}
Begin
write(' ',n);
dec(n);
end;
until (n=6); {Berhenti jika n = 6}
readln;
End.
36. Program RepeatUntil2;
uses crt;
var n : byte;
n:= n + 3;
end;
until (n=19); {Berhenti
jika n = 19}var n : byte;
Begin
clrscr;
n:=1;
Repeat
Begin
write(' ',n);
jika n = 19}
readln;
End.
37. Buatlah program menu seperti pada while-do
untuk menghitungVolume, 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;
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');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');
writeln('5. Selesai');
gotoxy(20,13);
write('Pilihan anda(1-5)? ');
readln(x);
case x of