Program Pascal
-
Upload
simon-patabang -
Category
Education
-
view
99 -
download
3
Transcript of Program Pascal
Pemrograman Dasar
Contoh-1: Hitunglah nilai x, y, z, p, dan q dengan persamaan :x = a + b p = (a² + b²)/ √by = 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 pembagianyang nilainya berupa bil. desimal. Sedangkan a,b,x, dan y bisa bertipeinteger (bil. bulat) atau real (bil. desimal).
� 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;
Beginclrscr;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.
Contoh-2:
Carilah hasil bagi dan sisa pembagian dari 2 buahbilangan bulat (integer).bilangan bulat (integer).
Jawab :
Gunakan fungsi div untuk mencari hasil bagi danfungsi mod untuk mecari sisa pembagian dari 2 buahbil. bulat.
� 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;
Beginclrscr;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.
� IF-THEN
Bentuk : If <kondisi > thenBegin
<pernyataan-1><pernyataan-2>
End;<pernyataan-2>
End;
Digunakan untuk memilih sebuah Pilihan pernyataan. Jika kondisibernilai True, maka kerjakan pernyataan dalam blok Begin-End. Jikasalah, kerjakan pernyataan selanjutnya.
Contoh :
Tentukan 3 buah bil. n, x, dan y. Jika x lebih besar dari n, ganti nilai xmenjadi nilai n. Jika y lebih kecil dari n, ganti nilai y menjadi nilai n.
� 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;
Beginclrscr;
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.
� IF-THEN-ELSE
Bentuk : If <kondisi> thenBegin
<pernyataan-1>;<pernyataan-2>;
Endelse
Endelse
Begin<pernyataan-3>;<pernyataan-4>;
End;
Digunakan untuk memilih salah satu dari 2 pilihan yang ada. Jika kondisibernilai 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.
� Program
Program IFTHEN1;
Uses crt;
Var n : integer;
Beginclrscr;write('Masukkan bilangan n = ');readln(n);writeln;
if n>0 thenwriteln('Anda memasukkan bilangan positip') {titik koma tidak
boleh}else
writeln('Anda memasukkan bilangan negatip');
readln;End.
� Operator AND, OR
Operator AND dan OR digunakan untuk membandingkan duapernyataan logika pada kondisi IF.
Misalnya anda dinyatakan ‘Lulus” jika Nilai Ujian (n) dan NilaiMisalnya anda dinyatakan ‘Lulus” jika Nilai Ujian (n) dan NilaiPraktikum (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”.
Contoh
Buatlah program untuk menentukan nilai kelulusan. yang ditentukan sebagai berikut:
0 <= N<= 40 : E40< N <=55 : D55<N <=65 : C65<N<=75 : B75<N<=100 : A
Bila nilai input 55, maka akan ditampilkan nila D.
� Program
Program LOGIKA_AND_DLM_IF;uses crt;
var n: integer;
writeln('Nilai C')elseif(65<n) AND (n<=75) then
writeln('Nilai B')elseif(75<n) AND (n<=100) then
writeln('Nilai A')else
Beginclrscr;write('Input nilai N = ');readln(n);
if(0>=n) AND (n<=40) thenwriteln('Nilai E')else
if(40>n) AND (n<=55) thenwriteln('Nilai D')else
if(55<=n) AND (n<=65) then
elsewriteln('Nilai masukan
salah');readkey;
End.
� Case - of
Bentuk : Case <Variabel> ofLabel-1 : Begin – End;Label-2 : Begin – End;......…Label… : Begin – End;End;
Digunakan untuk memilih salah satu pilihan dari beberapapilihan yang ada. Misalnya, Jika Variabel pada case-ofnilainya sama dengan 4, maka pilihan dengan label 4 yangakan dikerjakan.
Contoh
Tentukan nilai masukan berupa huruf ( A-E). Jikainput salah satu nilai, maka akan diberikanketerangan lulus sbb :keterangan lulus sbb :
'A' : Ket := ' Sangat Baik ' ;'B' : Ket := ' Baik ' ;'C' : Ket := ' Cukup ' ;'D' : Ket := ' Kurang ' ;'E' : Ket := ' Gagal ' ;
� 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];
Beginclrscr;Write ('Nilai Huruf (A-E) = ');
Readln(Nilai) ;Case Nilai Of
'D' : Ket := ' Kurang ' ;'E' : Ket := ' Gagal ' ;
End;writeln;
Write (' Nilai Anda = ', Ket) ;Readln ;
End.
Contoh
Nilai Kelulusan ditentukan sebagai berikut:
0 <= N<= 40 : E40< N <=55 : D40< N <=55 : D55<N <=65 : C65<N<=75 : B75<N<=100: A
Buatlah program untuk menentukan nilai kelulusan. Mis. Bilanilai input 55, maka akan ditampilkan nila D.
Bandingkan dengan cara penyelesaian pada IF-Then-Else.
� 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;
BeginClrscr;write('Input Nilai angka = ');readln(n1);
case n1 of
end;
writeln;writeln('Anda mendapat nilai:',n2);
readln;End.
� Perulangan For-To-Do dan For-Downto-Do
Bentuk :
For n1 to n2 doBegin
<pernyataan-1>;<pernyataan-1>;………
End;
Untuk :
For-to-do : n1 > n2
For-downto-do : n1 < n2
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
� Program
Program Fortodo1;uses crt;
write(i,' ');
writeln;writeln;writeln;
var i : integer;
Beginclrscr;writeln;writeln;
for i:=1 to 10 do
writeln;writeln;writeln; {pindah baris}
for i:=20 downto 9 dowrite(i,' ');
readkey;End.
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
� Program
Program Fortodo2;uses crt;
var i,j : integer;
writeln;writeln; {pindah baris}
for i:=1 to 3 doBeginvar i,j : integer;
Beginclrscr; writeln;writeln;
for i:=1 to 3 doBeginfor j:=11 to 14 do
write(j,' ');writeln; {pindah baris}
End;
Beginfor j:=13 downto 10 do
write(j,' ');writeln; {pindah
baris}End;
readkey;End.
Contoh-2Buatlah program untuk menampilkan data seperti berikut :
1 2 3 4 51 2 3 4
1 1 2 1 2 3 4
1 2 3 1 21
1 2 1 2 31 2 3 41 2 3 4 5
55 45 4 35 4 3 25 4 3 2 1
5 4 3 2 15 4 3 25 4 3 5 45
Program
Program Fortodo3;uses crt;
var i,j : integer;
End;
writeln; {pindah baris}var i,j : integer;
Beginclrscr;writeln;
for i:=5 downto 1 doBegin
for j:=1 to i dowrite(' ',j);writeln; {pindah baris}
for i:=1 to 5 doBegin
for j:=1 to i dowrite(' ',j);writeln; {pindah baris}
End;
writeln; {pindah baris}
for i:=5 downto 1 doBeginfor j:=5 downto i do
write(' ',j);
for i:=1 to 5 doBeginfor j:=5 downto i do
write(' ',j);write(' ',j);writeln; {pindah baris}
End;
writeln; {pindah baris}
write(' ',j);writeln; {pindah baris}
End;
readkey;End.
� Loop While-Do
Bentuk :
While <kondisi> do
Begin
Selama kondisi pada while bernilai True, kerjakan pernyataan dalamblok Begin-End. Jika bernilai False, maka perulangan selesai.
Begin
<pernyataan>;
…………
End;
Program-1
Program Whiledo1;uses crt;
inc(n);End;
writeln;writeln;n:=4;
var n : byte;
Beginclrscr;n:=1;while n<=6 doBegin
write(n,' ');
n:=4;while n<=7 doBegin
writeln(' ',n);inc(n);
End;readln;
End.
Program-2:
Program Whiledo2;uses crt;
var n : byte;
writeln;writeln;n:=10;while n<=25 doBegin
writeln(' ',n);var n : byte;
Beginclrscr;n:=1;while n<=7 doBegin
write(n,' ');n:=n + 2;
End;
writeln(' ',n);n:=n + 5;
End;readln;
End.
Contoh :
Buatlah program untuk menghitung Luas, Volume,dan Keliling balok dengan menggunakan Menudan Keliling balok dengan menggunakan MenuPilihan sbb :
Menu Perhitungan Balok
1. Input Data
2. Luas Balok
3. Volume Balok
4. Keliling Balok
5. Selesai
Pilihan anda(1-5)
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;
Beginya:='Y';clrscr;while ya='Y' doBeginclrscr;gotoxy(20,5);writeln('Menu Perhitungan
Balok');gotoxy(20,7);writeln('1. Input Data');gotoxy(20,8);writeln('2. Luas Balok');
'1' : Beginclrscr;gotoxy(20,7);write('Panjang =
');readln(p);gotoxy(20,8);write('Lebar =
');readln(q);gotoxy(20,9);write('Tinggi =
');readln(r);
End;
'2' : Beginclrscr;L := 2*p*q + 2*p*r + 2*q*r;gotoxy(20,9);writeln('Luas = ',L:6:2);readln;
End;
clrscr;K:= 4*p + 4*q + 4*r;gotoxy(20,9);writeln('Keliling = ',k:6:2);readln;
End;'5' : Begin
readln;End;
'3' : Beginclrscr;v:=p*q*r;gotoxy(20,9);writeln('Volume = ',v:6:2);readln;
End;
'4' : Begin
End;'5' : Begin
goto selesai;End;
End;
End;selesai:
End.
� Loop Repeat – Until
Bentuk :Repeat
Begin
Kerjakan blok pernyataan selama kondisi padauntil bernilai salah. Jika kondisi pada until bernilaiTrue, maka proses perulangan akan berhenti.
Begin<pernyataan>…………..
End;Until <kondisi>
Program :
Program RepeatUntil1;uses crt;
var n : byte;
writeln;writeln;
n:=12;RepeatBegin
write(' ',n);var n : byte;
Beginclrscr;n:=1;RepeatBegin
write(' ',n);inc(n);
end;until (n=7); {Berhenti jika n = 7}
Beginwrite(' ',n);dec(n);
end;until (n=6); {Berhenti jika n = 6}
readln;End.
Program RepeatUntil2;uses crt;
var n : byte;
n:= n + 3;end;until (n=19); {Berhenti jika n = 19}var n : byte;
Beginclrscr;n:=1;RepeatBegin
write(' ',n);
jika n = 19}
readln;
End.
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)
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;
Beginya:='Y';clrscr;RepeatBeginclrscr;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
'1' : Beginclrscr;gotoxy(20,7);write('Panjang = '); readln(p);gotoxy(20,8);write('Lebar = '); readln(q);gotoxy(20,9);write('Tinggi = '); readln(r);
End;'2' : Begin
clrscr;
gotoxy(20,9);writeln('Keliling = ',k:6:2);readln;
End;'5' : Begin
goto selesai;End;
End;
End;clrscr;L := 2*p*q + 2*p*r + 2*q*r;gotoxy(20,9);writeln('Luas = ',L:6:2);readln;
End;'3' : Begin
clrscr;v:=p*q*r;gotoxy(20,9);writeln('Volume = ',v:6:2);readln;
End;
'4' : Beginclrscr;K:= 4*p + 4*q + 4*r;
End;Until (ya='T');selesai:
End.