Sabtu, 16 Mei 2009

Prosedur Menu Pilihan Mencari Luas dan Keliling Bangun Datar

program mencari_luas_dan_keliling_bangun_datar;
uses crt;
var a,b,c,r,p,lb,t,s:integer;
L, K:real;
procedure menu;
begin
writeln('1.segitiga');
writeln('2.lingkaran');
writeln('3.persegipanjang');
writeln('4.persegi');
end;

procedure segitiga;
begin
writeln('menghitung luas dan keliling segitiga');
write('panjang a='); readln(a);
write('panjang b='); readln(b);
write('panjang c='); readln(c);
write('tinggi segitiga='); readln(t);
L:= (a*t)/2;
K:= a+b+c;
write('luas segitiga =', L:2:2); readln;
write('keliling segitiga=', K:2:2); readln;
end;

procedure lingkaran;
const phi=3.14;
begin
writeln('menghitung luas dan keliling lingkaran');
write('panjang r='); readln(r);
L:= phi*r*r;
K := phi*2*r;
write('luas lingkaran adalah',L:2:2); readln;
write('keliling lingkaran adalah', K:2:2); readln;
end;

procedure persegipanjang;
begin
writeln('menghitung luas dan keliling persegipanjang');
write('p='); readln(p);
write('l='); readln(lb);
L:= p*lb;
K := 2*p + 2*lb;
write('luas persegipanjang adalah',L:2:2); readln;
write('keliling persegipanjang adalah', K:2:2); readln;
end;

procedure persegi;
begin
write('menghitung luas dan keliling persegi');
write('s='); readln(s);
L:= s*s;
K := 4*s;
write('luas persegi adalah',L:2:2); readln;
write('keliling persegi adalah',K:2:2); readln;
end;

var pil:char;
begin
repeat
clrscr;writeln('pilih menu berikut ini:');
textcolor(blue);
menu;
write('menu yang anda pilih'); readln(pil);
case pil of
'1' : begin segitiga; end;
'2' : begin lingkaran; end;
'3' : begin persegipanjang; end;
'4' : begin persegi; end;
end;
write('mau pilih menu lagi? [Y/N]'); readln(pil);
pil:=upcase(pil);
until(pil<>'Y');
readln;

end.

1 komentar:

  1. kok muncul

    ERROR 200: divisible by zero

    kenapa ya?tlg di bls, aQ msh pemula nich...

    BalasHapus