program
hitung_luas;
{nama program}
uses
crt;
var
{deklarasi variabel untuk program utama}
pilih :
integer
;
hasil :
real
;
ulang :
char
;
{membuat fungsi menu bertipe data integer}
function
menu :
integer
;
var
pil:
integer
;
{deklarasi variabel utk fungsi menu}
begin
{tampilkan menu program}
writeln
(
'=============================='
);
writeln
(
' Program Hitung Luas'
);
writeln
(
'=============================='
);
writeln
(
'1. Hitung Luas Lingkaran'
);
writeln
(
'2. Hitung Luas Segitiga'
);
writeln
(
'3. Hitung Luas Persegi'
);
writeln
(
'=============================='
);
write
(
' Pilihan Anda: '
);
readln(pil);
{meminta input dari user dan disimpan di variabel pil}
writeln
(
'=============================='
);
menu := pil;
{mengembalikan nilai variabel pil pada fungsi menu}
end
;
{akhir fungsi menu}
{membuat fungsi lingkaran bertipe data real}
function
lingkaran :
real
;
var
{deklarasi variabel utk fungsi lingkaran}
pi, r :
real
;
begin
write
(
'Jari-jari Lingkaran: '
);
{meminta input jari-jari lingkaran}
read(r);
{dan disimpan di variabel r}
pi :=
3.14
;
{memasukkan nilai 3.14 pd variabel pi}
lingkaran := pi*r*r;
{menghitung luas lingkaran dan mengembalikan nilai hasil pada fungsi lingkaran}
end
;
{akhir fungsi lingkaran}
{membuat fungsi segitiga bertipe data real}
function
segitiga :
real
;
var
a, t :
real
;
{deklarasi variabel utk fungsi segitiga}
begin
write
(
'Alas Segitiga : '
);
{meminta input alas segitiga}
readln(a);
{dan disimpan di variabel a }
write
(
'Tinggi Segitiga : '
);
{meminta input tinggi segitiga}
readln(t);
{dan disimpan di variabel t }
segitiga :=
0.5
*a*t;
{menghitung luas segitiga dan mengembalikan nilai hasil pada fungsi segitiga}
end
;
{akhir fungsi segitiga}
{membuat fungsi persegi bertipe data real}
function
persegi :
real
;
var
p, l :
real
;
{deklarasi variabel utk fungsi persegi}
begin
write
(
'Panjang Persegi : '
);
{meminta input panjang persegi}
readln(p);
{dan disimpan di variabel p }
write
(
'Lebar Persegi : '
);
{meminta input lebar persegi}
readln(l);
{dan disimpan di variabel l }
persegi := p*l;
{menghitung luas persegi dan mengembalikan nilai hasil pada fungsi persegi}
end
;
{akhir fungsi persegi}
{membuat prosedur nama utk menampilkan nama pembuat program ini}
procedure
nama;
begin
writeln
(
'=============================='
);
writeln
(
' Andi Sholihin'
);
{tampilkan nama pembuat program}
writeln
(
' Teknik Informatika'
);
writeln
(
'=============================='
);
writeln
;
end
;
{akhir prosedur nama}
{Program utama}
begin
repeat
{lakukan perulangan repeat-until}
clrscr;
{clear screen, membersihkan layar}
nama;
{memanggil prosedur nama}
pilih := menu;
{memanggil fungsi menu dan menyimpan pengembalian nilainya di variabel pilih}
case
pilih
of
{penyeleksian kondisi variabel pilih dgn struktur Case}
1
: hasil := lingkaran ;
{jika pilih = 1 maka panggil fungsi lingkaran dan masukkan hasilnya ke variabel hasil}
2
: hasil := segitiga ;
{jika pilih = 2 maka panggil fungsi segitiga dan masukkan hasilnya ke variabel hasil}
3
: hasil := persegi ;
{jika pilih = 3 maka panggil fungsi persegi dan masukkan hasilnya ke variabel hasil}
else
writeln
(
'Pilihan Anda Salah!'
);
{jika pilihan salah maka tampilkan peringatan}
writeln
(
'=============================='
);
end
;
if
(pilih <
4
)
and
(pilih >
0
)
then
{jika nilai pilih lebih kecil dari 4 dan lebih besar dari 0}
begin
writeln
(
'=============================='
);
{maka tampilkan nilai dari variabel hasil}
writeln
(
'Hasil Perhitungan: '
,hasil:
5
:
2
);
writeln
(
'=============================='
);
end
;
write
(
'Coba lagi? (y/n) : '
);
readln(ulang);
{meminta input apakah akan mengulang program? inputan disimpan di variabel ulang}
until
(ulang =
'n'
)
or
(ulang =
'N'
) ;
{perulangan repeat berhenti jika nilai variabel ulang = 'n' atau 'N'}
end
.
{akhir program utama}
Nah di atas rumus masih dengan luas segitiga , dan silahkan ganti dengan rumus Luas bujursangkar . kurang lebih begini sintaksnya :
var
S,L : real;
Begin
writeln('Cara menghitung Luas Bujur Sangkar ');
write('Masukan panjang sisi Bujur sangkar : '); readln (S);
L:=S*S;
write(' luas bujur sangkar adalah =',L:9:2);
writeln(' Meter Kuadrat ');
End.
Semoga membantu :)