Wednesday, October 21, 2009

Berkreasi Dengan Pascal

Membuat program perpustakan sederhana dengan Pascal

postingan kali ini saya akan menjelaskan cara membuat program perpustakaan sederhana menggunakan bahasa Pascal dengan menggunakan record, array dan procedure.Untuk memulai prakteknya silahkan lihat listing programnya di bawah ini.


program peprustakaan;
uses crt;

{kita buat record terlebih dahulu}
type
pinjam=record
haswa,denda,telat,total,subtot:array [1..10] of longint;
judul:array [1..10] of string;
kode:array [1..10] of char;
end;
{end of record}

var
buku:pinjam;
subtotal,lp,lk,tlt:longint;
i,banyak:byte;

{disini kita buat procedure yang pertama, yang mana nanti akan dipanggil pada program utama}
procedure sewa;
begin
with buku do
begin
write('Lama Pinjam [Mingguan] : '); readln(lp);
write('Jumlah pinjam buku : '); readln(banyak);
for i:= 1 to banyak do
begin
writeln('Buku ke - ',i);
write('Masukkan kode buku : '); readln(kode[i]);
writeln;
{disini kita akan membuat pilihan menggunakan case .. of. Jadi, saat variable kode diinput, dia akan menampilkan judul dan harga sewa dari buku}
case kode[i] of
'a','A':begin
judul[i]:='buku1';
haswa[i]:=3000;
end;
'b','B':begin
judul[i]:='buku2';
haswa[i]:=5500;
end;
'c','C':begin
judul[i]:='buku3';
haswa[i]:=4500;
end;
'd','D':begin
judul[i]:='buku4';
haswa[i]:=2500;
end;
'e','E':begin
judul[i]:='buku5';
haswa[i]:=5000;
end;
end;
{tampilkan judul buku dan harga sewa buku}
writeln('Judul Buku : ',judul[i]);
writeln('Harga Sewa : ',haswa[i],'/minggu');
subtot[i]:=lp*haswa[i];
subtotal:=subtotal+subtot[i];
readln;
end;
end;
end;
{end of procedure sewa}

{sekarang kita buat procedure lagi, ini untuk menghitung jumlah sewa dan total harga yang harus dibayar}
procedure output;
begin
with buku do
begin
clrscr;
writeln('----------------------------------------------');
writeln('|PERPUSTAKAAN SEDERHANA ');
writeln('----------------------------------------------');
writeln('|No aaJudul aaHarga aaLama aaaSubtotal ');
writeln('| aaaaBuku aaaSewa aaaPinjam ');
writeln('----------------------------------------------');
for i:=1 to banyak do
begin
writeln(i:2,judul[i]:10,haswa[i]:10,lp:7,subtot[i]:12);
end;
writeln('----------------------------------------------');
writeln(' Total :Rp ',subtotal);
end;
end;
{end of procedure output}

{program utama}
begin
with buku do
begin
clrscr;
writeln(' PERPUSTAKAAN SEDERHANA ');
writeln('-------------------------------');
writeln('| Kode | Judul | Tahun ');
writeln('| Buku | Buku | Terbit ');
writeln('-------------------------------');
writeln('| a buku1 2000 ');
writeln('| b buku2 1998 ');
writeln('| c buku3 2001 ');
writeln('| d buku4 2004 ');
writeln('| e buku5 2009 ');
writeln('-------------------------------');
writeln;
{pemanggilan procedure sewa}
sewa;
{pemanggilan procedure output}
output;
writeln;
{hitung denda dan total bayar seluruhnya}
writeln('Lama Pinjam [Mingguan] : ',lp);
write('Lama Hari Kembali : '); readln(lk);
telat[i]:=lk-(lp*7);
if telat[i]>0 then
tlt:=telat[i]
else
tlt:=0;
writeln('Telat Pengembalian : ',tlt);
if lk>(lp*7) then
denda[i]:=500*telat[i]
else
denda[i]:=0;
writeln('Denda :Rp ',denda[i]);
total[i]:=subtotal+denda[i];
writeln('Total Pembayaran :Rp ',total[i]);
writeln;
writeln(' . : Terima Kasih : . ');
readln;
end;
end.
{akhir program}

Mudah bukan? Untuk membuat program seperti ini? Untuk materi kuliah yang lain silahkan kunjungi web Dosen saya di http://jundi.co.nr

Selamat berkreasi.

0 comments:

Post a Comment