program menghitung_bangun_datar;
uses wincrt;
const
phi=3.14;
var
a,b,c,no:integer;
x,y:real;
lagi:char;
ulang:boolean;
procedure garis;
begin
writeln('============================================');
writeln('===========PROGRAM FUNCITON=================');
writeln('============================================');
end;
function bujursangkar (var si,kell:integer):integer;
begin
bujursangkar:=si*si; {luas}
kell:=4*si; {keliling}
end;
function persegipanjang ( var p,l,kell:integer):integer;
begin
persegipanjang:=p*l; {luas}
kell:=2*(p+l); {keliling}
end;
function lingkaran (var r,kell:real):real;
begin
lingkaran:=phi*r*r; {luas}
kell:=2*phi*r {keliling}
end;
begin
ulang:=true;
while ulang=true do begin
clrscr;
writeln(' >>>>>>>>>>> pilih menu <<<<<<<<<<<<<<<<<<<<<' );
writeln('1. menghitung luas dan keliling bujur sangkar' );
writeln('2. menghitung luas dan keliling persegi panjang');
writeln('3. menghitung luas dan keliling lingkaran' );
garis;
write('masukan no pilihan program ='); readln(no);
case no of
1:begin
lagi:='y';
while lagi='y' do
begin
clrscr;
writeln( '>>>menghitung luas dan keliling bujur sangkar' );
garis;
write(' masukan sisi = '); readln(a);
writeln;
writeln('luas bujur sangkar ');
writeln(a,'x',a, '=',bujursangkar(a,b));
writeln('keliling bujur sangkar ');
writeln('4x',a, '=',b);
write('jika mau menghitung lagi tekan y/n = '); readln(lagi);
end;
end;
2:begin
lagi:='n';
clrscr;
repeat
begin
clrscr;
writeln('>>>menghitung luas dan keliling persegi panjang');
garis;
write('masukan panjang ='); readln(a);
write('masukan lebar ='); readln(b);
writeln;
writeln('luas persegi panjang ');
writeln(a,'x',b,'=',persegipanjang(a,b,c));
writeln('keliling persegi panjang');
writeln('2x(',a,'+',b,')','=',c);
end;
write('jika mau menghitung lagi tekan y/n = '); readln(lagi);
until lagi='n';
end;
3:begin
lagi:='y';
while lagi='y' do
begin
end;
end;
else
writeln('tidak ada menu');
end;
end;
end.
No comments:
Post a Comment