Selasa, 05 Juli 2011

Program Luas Bangun Datar menggunakan Procedure



Program luas;
uses wincrt;
 procedure segitiga;
 var
  a,t:integer;
  L  :real;
 Begin
  Writeln('Luas Segitiga');
  Write('Masukkan Nilai Tinggi : ');readln(t);
  Write('Masukkan Nilai Alas   : ');readln(a);
  L:= (0.5*a)*t;
  Writeln;
  Writeln('Luas Segitiga Adalah  : ',L:2:2);
 end;

 procedure lingkaran;
 var
  r:integer;
  L:real;
 Begin
  Writeln('Luas Lingkaran');
  Write('Masukkan Nilai Jari-jari : ');readln(r);
  L := (22/7)*sqr(r);
  Writeln;
  Writeln('Luas lingkaran Adalah    : ',L:2:2);
 end;

 procedure perspanjang;
 var
  a,t,L:integer;
 Begin
  Writeln('Luas Persegi Panjang');
  Write('Masukkan Nilai Alas         : ');readln(a);
  Write('Masukkan Nilai Tinggi       : ');readln(t);
  L:=a*t;
  Writeln;
  Writeln('Luas Persegi Panjang Adalah : ',L);
 end;

{Program Utama}
Var
 pilihan,menu:char;
Begin
 menu := 'T';
  while (menu = 'T') or(menu = 't') do
  begin
   Writeln('Luas Bangun Datar');
   Writeln('S. Luas Segitiga');
   Writeln('P. Luas Persegi Panjang');
   Writeln('L. Luas Lingkaran');
   Writeln('E. Exit');
   Writeln;
   Write('Masukkkan Pilihan Anda [S/P/L/E] : ');readln(pilihan);
   clrscr;
   case pilihan of
   'S' :begin
         segitiga;
         Write('Kembali ke Menu?[Y/T]');readln(menu);
         clrscr;
        end; 
   'P' :begin
         perspanjang;
         Write('Kembali ke Menu?[Y/T]');readln(menu);
         clrscr;
        end;
   'L' :begin
         lingkaran;
         Write('Kembali ke Menu?[Y/T]');readln(menu);
         clrscr;
        end;
   'E' :exit;

   else
    begin
     Writeln('Pilihan Salah');
    end;  
   end;  
  end;
 end.





Tidak ada komentar:

Posting Komentar