{ NIM/Nama : Ryutaka Yudhistira }
{ Nama file : B03-16514250-141029-1 }
{ Tanggal : 29 Oktober 2014 }
{ Deskripsi : Program Penghitung Luas dan Volume }
program penghitungluasdanvolume;
{menghitung luas bangun bujur sangkar, segitiga, persegi panjang,
dan lingkaran, serta menghitung volume kubus, balok,dan limas
segiempat dengan alas bujur sangkar}
const {konstanta global}
pi=3.14;
var {variabel global}
ulang:boolean;
a,b,c,hasil:real;
pil:integer;
procedure mainmenu (var pil:integer);
{Prosedur untuk menampilkan menu utama pilihan bangun yang akan diukur
dan menghasilkan pilihan menu yang disimpan dan parameter pil}
{I.S. : -}
{F.S. : Pilihan menu 0 s.d. 7 ditampilkan ke layar, pengguna memberikan
pilihan, dan pilihan pengguna disimpan dalam parameter pil}
begin
writeln('==========================');
writeln('Penghitung Luas dan Volume');
writeln('==========================');
writeln('Pilih salah satu bangun berikut : ');
writeln(' 1. Bujur Sangkar');
writeln(' 2. Segitiga');
writeln(' 3. Persegi Panjang');
Writeln(' 4. Lingkaran');
Writeln(' 5. Kubus');
writeln(' 6. Balok');
Writeln(' 7. Limas Segiempat');
Writeln(' 0. Keluar');
write('Pilihan anda : ');readln(pil);
end;
function bujursangkar (s:real):real;
{Fungsi untuk menghitung luas bujur sangkar berdasarkan input sisi s}
begin
bujursangkar:=s*s;
end;
function segitiga (a,t:real):real;
{Fungsi untuk menghitung luas segitiga berdasarkan input alas a dan tinggi t}
begin
segitiga:=a*t/2;
end;
function persegipanjang (p,l:real):real;
{Fungsi untuk menghitung luas persegi panjang berdasarkan input panjang p dan lebar l}
begin
persegipanjang:=p*l;
end;
function lingkaran (r:real):real;
{Fungsi untuk menghitung luas lingkaran berdasarkan input jari - jari r dan konstanta pi}
begin
lingkaran:=r*r*pi;
end;
function kubus(s:real):real;
{Fungsi untuk menghitung volume kubus berdasarkan input sisi s dan menggunakan fungsi bujursangkar}
begin
kubus:=bujursangkar(s)*s;
end;
function balok(p,l,t:real):real;
{Fungsi untuk menghitung volume balok berdasarkan input panjang p, lebar l, tinggi t, dan menggunakan fungsi persegipanjang}
begin
balok:=persegipanjang(p,l)*t;
end;
function limassegiempat(s,t:real):real;
{Fungsi untuk menghitung volume limas segi empat berdasarkan input sisi s, tinggi t, dan menggunakan fungsi bujursangkar}
begin
limassegiempat:= bujursangkar(s)*t/3;
end;
{Algoritma Program Utama}
begin
ulang:=true;{User tidak input nilai 0}
while (ulang) do
begin
mainmenu(pil);{Menampilkan menu utama dan menyimpan pilihan}
case pil of {Menampilkan kasus berdasarkan pilihan}
1: {Menghitung luas bujur sangkar}
begin
writeln('==================');
writeln('Luas Bujur Sangkar');
writeln('==================');
write('Input sisi = '); readln(a);
hasil := bujursangkar(a);
writeln;
writeln('Luas bujur sangkar = ',hasil:2:1);
end;
2: {Menghitung luas segitiga}
begin
writeln('=============');
writeln('Luas Segitiga');
writeln('=============');
write('Input alas = ');readln(a);
write('Input tinggi = ');readln(b);
hasil := segitiga(a,b);
writeln;
writeln('Luas segitiga = ', hasil:2:1);
end;
3: {Menghitung luas persegi panjang}
begin
writeln('====================');
writeln('Luas Persegi Panjang');
writeln('====================');
write('Input panjang = ');readln(a);
write('Input lebar = ');readln(b);
hasil := persegipanjang(a,b);
writeln;
writeln('Luas persegi panjang = ',hasil:2:1);
end;
4: {Menghitung luas lingaran}
begin
writeln('==============');
writeln('Luas Lingkaran');
writeln('==============');
write('Input jari-jari = '); readln(a);
hasil := lingkaran(a);
writeln;
writeln('Luas lingkaran = ',hasil:2:1);
end;
5: {Menghitung volume kubus}
begin
writeln('============');
writeln('Volume Kubus');
writeln('============');
write('Input sisi '); readln(a);
hasil:=kubus(a);
writeln;
writeln('Volume kubus = ',hasil:2:1);
end;
6: {Menghitung volume balok}
begin
writeln('============');
writeln('Volume Balok');
writeln('============');
write('Input panjang = ');readln(a);
write('Input lebar = ');readln(b);
write('Input tinggi = ');readln(c);
hasil:=balok(a,b,c);
writeln;
writeln('Volume balok = ',hasil:2:1);
end;
7: {Menghitung volume limas segiempat}
begin
writeln('======================');
writeln('Volume Limas Segiempat');
writeln('======================');
write('Input sisi = ');readln(a);
write('Input tinggi = ');readln(b);
hasil:=limassegiempat(a,b);
writeln;
writeln('Volume limas segiempat = ',hasil:2:1);
end;
0: {User memilih untuk mengakhiri program}
ulang:=false;
else
writeln('Pilihan Anda Salah!');
end;
end;
writeln('Selesai');
end.
program ideone;
begin
(* your code goes here *)
end.