program persewaan_Komik;
{jangan lupa titik koma dan nama file tidak boleh pakai space}
{library yang digunakan}
uses crt, dos; {mengatur tampilan}
{deklarasi record transaksi}
type
transaksi = record
nama:string;
nim:real;
kodeBuku:integer;
dP:word;
mP:word;
yP:word;
dK:word;
mK:word;
yK:word;
status:string;
end;
{deklarasi record buku komik}
buku = record
kodeBuku:integer;
edisi:string;
judul:string;
tahun:integer;
hargaSewa:integer;
stok:integer;
end;
{deklarasi array}
dataPelanggan = array [1..20] of transaksi;
dataBuku = array[1..20] of buku;
{dekarasi variable global}
var
p:dataPelanggan;
b:dataBuku;
lastBuku:integer;
lastTransaksi:integer;
indexBuku:integer;
pilih:integer;
i:integer;
{daftar koleksi buku default}
procedure daftarKomik();
begin
b[1].judul := 'Naruto Shipudden';
b[1].kodeBuku := 310;
b[1].tahun := 2011;
b[1].edisi := '1-5';
b[1].hargaSewa:=1000;
b[1].stok:=1;
b[2].judul := 'Samurai X';
b[2].kodeBuku := 311;
b[2].tahun := 2012;
b[2].edisi := '6-10';
b[2].hargaSewa:=1500;
b[2].stok:=1;
b[3].judul := 'Doremon';
b[3].kodeBuku := 312;
b[3].tahun := 2012;
b[3].edisi := '11-20';
b[3].hargaSewa:=1000;
b[3].stok:=2;
b[4].judul := 'fireTail';
b[4].kodeBuku := 313;
b[4].tahun := 2011;
b[4].edisi := '51-60';
b[4].hargaSewa:=1500;
b[4].stok:=1;
b[5].judul := 'Dragon Ball Z';
b[5].kodeBuku := 314;
b[5].tahun := 2012;
b[5].edisi := '61-70';
b[5].hargaSewa:=1000;
b[5].stok:=2;
b[6].judul := 'EX-men';
b[6].kodeBuku := 315;
b[6].tahun := 2012;
b[6].edisi := '71-80';
b[6].hargaSewa:=1000;
b[6].stok:=1;
b[7].judul := 'Kapten Stubasa';
b[7].kodeBuku := 316;
b[7].tahun := 2010;
b[7].edisi := '41-60';
b[7].hargaSewa:=2000;
b[7].stok:=0;
b[8].judul := 'Betmen';
b[8].kodeBuku := 317;
b[8].tahun := 2010;
b[8].edisi := '61-80';
b[8].hargaSewa:=1500;
b[8].stok:=1;
b[9].judul := 'One Piace';
b[9].kodeBuku := 318;
b[9].tahun := 2011;
b[9].edisi := '90-100';
b[9].hargaSewa:=2000;
b[9].stok:=1;
b[10].judul := 'Ben 10';
b[10].kodeBuku := 319;
b[10].tahun := 2011;
b[10].edisi := '101-110';
b[10].hargaSewa:=1000;
b[10].stok:=2;
end;
{daftar transaksi pelanggan dafault}
procedure daftarPelanggan();
begin
p[1].nama:='Ariska';
p[1].nim:=10030092;
p[1].kodeBuku:=311;
p[1].dP:=13;
p[1].mP:=4;
p[1].yP:=2012;
p[1].dK:=16;
p[1].mK:=4;
p[1].yK:=2012;
p[1].status:='Sdh Dikembalikn';
p[2].nama:='Ahmad';
p[2].nim:=10080023;
p[2].kodeBuku:=313;
p[2].dP:=16;
p[2].mP:=4;
p[2].yP:=2012;
p[2].dK:=19;
p[2].mK:=4;
p[2].yK:=2012;
p[2].status:='Sdh Dikembalikn';
p[3].nama:='Imam Mahdi';
p[3].nim:=10080011;
p[3].kodeBuku:=314;
p[3].dP:=18;
p[3].mP:=4;
p[3].yP:=2012;
p[3].dK:=21;
p[3].mK:=4;
p[3].yK:=2012;
p[3].status:='Blm Dikembalikn';
p[4].nama:='Hanifah';
p[4].nim:=10080001;
p[4].kodeBuku:=319;
p[4].dP:=24;
p[4].mP:=4;
p[4].yP:=2012;
p[4].dK:=27;
p[4].mK:=4;
p[4].yK:=2012;
p[4].status:='Blm Dikembalikn';
p[5].nama:='Bambang';
p[5].nim:=10080099;
p[5].kodeBuku:=316;
p[5].dP:=23;
p[5].mP:=4;
p[5].yP:=2012;
p[5].dK:=26;
p[5].mK:=04;
p[5].yK:=2012;
p[5].status:='Blm Dikembalikn';
p[6].nama:='Muttaqin';
p[6].nim:=10030021;
p[6].kodeBuku:=315;
p[6].dP:=25;
p[6].mP:=4;
p[6].yP:=2012;
p[6].dK:=28;
p[6].mK:=04;
p[6].yK:=2012;
p[6].status:='Blm Dikembalikn';
p[7].nama:='Suryan';
p[7].nim:=10030004;
p[7].kodeBuku:=312;
p[7].dP:=26;
p[7].mP:=4;
p[7].yP:=2012;
p[7].dK:=29;
p[7].mK:=04;
p[7].yK:=2012;
p[7].status:='Blm Dikembalikn';
end;
{input data transaksi}
procedure inputTransaksi();
var
nama:string;
nim:real;
y,m,d,hari:word;
yK,mK,dK:word;
jumlah:integer;
kodeBuku:integer;
ulangi, ketemu, pernahPinjam : Boolean;
n:integer;
begin
getdate(y,m,d,hari); {input tanggal hari ini}
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' Transaksi Peminjaman Komik ');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln();
write(' Masukkan nama : '); readln(nama);
write(' NIM : '); readln(nim);
writeln();
writeln(' Tanggal pinjam : ',d,'/',m,'/',y);
dK:= d + 3; {batas pinjam cuma tiga hari}
if dk >= 30 then {jika pinjam di akhir bulan}
begin
dk := dk-30+1;
mK := m+1;
end;
yK := y;{ tahun peminjaman dan tahun sekarang sama}
writeln(' Tanggal kembali: ',dK,'/',mK,'/',yK);
writeln();
write('Berapa banyak buku yang dipinjam : ');readln(jumlah);
writeln();
{Buku - buku yang akan dipijam}
for i:= 1 to jumlah do
begin
repeat
ulangi := false;
ketemu := false;
pernahPinjam:= false;
{Input kode buku}
write(i,'. Kode buku : ');readln(kodeBuku);
{mengecek apakah buku pernah dipijam}
for n:= 1 to (lastTransaksi-1) do
begin
if p[n].nim = nim then
begin
if p[n].kodeBuku = kodeBuku then
begin
pernahPinjam := true;
end
end
end;
{mengecek apakah buku yang dipinjam ada}
for n:= 1 to (lastBuku-1) do
begin
if (b[n].kodeBuku = kodeBuku) and (b[n].stok <> 0) then
begin
p[lastTransaksi].kodeBuku := kodeBuku;
b[n].stok := b[n].stok - 1;
ketemu := true;
end
end;
{jika buku tidak ada di data base atau stok buku habis}
if ketemu <> true then
begin
ulangi := true;
writeln(' Kode Buku Tidak Dikenali atau Stok Habis!! ');
writeln();
end;
{jika sebelumnya pernah transaksi buku}
if pernahPinjam = true then
begin
ulangi := true;
writeln(' Pelanggan Pernah Pinjam Sebelumnya!!');
writeln();
end;
until ulangi = false;
{penyalinan nama, nim, tanggal pinjam dan tanggal ke database transaksi}
p[lastTransaksi].nama := nama;
p[lastTransaksi].nim := nim;
p[lastTransaksi].dP:=d;
p[lastTransaksi].mP:=m;
p[lastTransaksi].yP:=y;
p[lastTransaksi].dK:=dK;
p[lastTransaksi].mK:=mK;
p[lastTransaksi].yK:=yK;
p[lastTransaksi].status:='Blm Dikembalikn';
lastTransaksi := lastTransaksi + 1;
end;
writeln();
writeln(' Transaksi Berhasil!! ');
writeln();
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
end;
{tampilkan data}
procedure tampilkanData();
var
{variable local}
pilih2:integer;
baris:integer;
begin
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' Data yang Akan Dilihat ');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' 1. Persediaan Buku');
writeln(' 2. Daftar Transaksi Pelanggan');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
write(' Pilih[1/2]: '); readln(pilih2);
{jika yang dipiliha adalah persediaan buku}
if pilih2 = 1 then
begin
clrscr;
writeln(' Daftar Semua Buku');
writeln('+---------------------------------------------------------------+');
writeln('| Kode Buku | Judul Buku | Edisi | Tahun | harga sewa | stok |');
writeln('+---------------------------------------------------------------+');
{mencetak semua data yang ada di database koleksi buku}
for i:= 1 to (lastBuku-1) do
begin
write('| ',b[i].kodeBuku);
write('| ',b[i].judul);
write('| ',b[i].edisi);
write('| ',b[i].tahun);
writeln('| ',b[i].hargaSewa);
writeln('| ',b[i].stok);
writeln('|');
baris := baris+1;
end;
writeln('+---------------------------------------------------------------+');
{jika tidak memilih 1 }
end else
begin
clrscr;
writeln(' Daftar Semua Transaksi ');
writeln('+-----------------------------------------------------------------------------+');
writeln('| Nim | Nama | K. Buku | Tgl Pinjam | Tgl Kembali | Status |');
writeln('+-----------------------------------------------------------------------------+');
{mencetak semua data uang ada di database transaksi}
for i:= 1 to (lastTransaksi-1) do
begin
gotoxy(1,baris); write('| ',p[i].nim:0:0);
gotoxy(12,baris); write('| ',p[i].nama);
gotoxy(24,baris);write('| ',p[i].kodeBuku);
gotoxy(34,baris);write('| ',p[i].dP,'/',p[i].mP,'/',p[i].yP);
gotoxy(47,baris);write('| ',p[i].dK,'/',p[i].mK,'/',p[i].yK);
gotoxy(61,baris);write('| ',p[i].status);
gotoxy(79,baris);writeln('|');
baris := baris+1;
end;
writeln('+-----------------------------------------------------------------------------+');
end;
end;
{pemgembalian buku}
procedure pengembalianBuku();
var
pilih2:integer;
nim:real;
nama:string;
indexTemu:integer;
ketemu:Boolean;
temu:array[1..20] of integer;
baris:integer;
n:integer;
kembalikan:integer;
hari:integer;
d,m,y, dow:word;
bayar, denda:real;
totalBayar:real;
begin
getDate(y,m,d,dow); {input tanggal sekarang}
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' Pengembalian Buku');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' Pencarian berdasarkan :');
writeln(' 1. NIM ');
writeln(' 2. Nama ');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
write(' Pilih [1/2]: ');readln(pilih2);
writeln();
{jika memilih nim}
if pilih2 = 1 then
begin
write(' Masukkan Nim : ');readln(nim);
{mengecek di databese transaksi apakah ada nim tersebut}
for i:= 1 to (lastTransaksi-1) do
begin
{jika ada}
if p[i].nim = nim then
begin
ketemu:= true;
temu[indexTemu]:=i;
nama:=p[i].nama;
indexTemu:= indexTemu + 1;
end
end;
end else
begin
write(' Masukkan Nama : ');readln(nama);
{mengecek apakah nama tersebut ada di database transaksi}
for i:= 1 to (lastTransaksi-1) do
begin
{jika ada}
if p[i].nama = nama then
begin
ketemu:= true;
temu[indexTemu]:=i;
nama:=p[i].nama;
indexTemu:= indexTemu + 1;
end
end;
end;
if ketemu = true then
begin
{proses(index);}
clrscr;
writeln(' Pengembalian Buku (',nama,')');
writeln('+---------------------------------------------------------------------+');
writeln('| No. | Kode Buku | Judul Buku | Tgl Kembali | Status |');
writeln('+---------------------------------------------------------------------+');
{menampilkan semua data yang pernah dipinjam oleh pelanggan}
for i:= 1 to (indexTemu-1) do
begin
write('| ',i);
write('| ',p[temu[i]].kodeBuku);
{melakukan relasi ke databese buku}
for n:= 1 to (lastBuku-1) do
begin
if b[n].kodeBuku = p[temu[i]].kodeBuku then
begin
write('| ',b[n].judul);
end
end;
write('| ',p[temu[i]].dK,'/',p[temu[i]].mK,'/',p[temu[i]].yK);
write('| ',p[temu[i]].status);
writeln('|');
baris := baris+1;
end;
writeln('+---------------------------------------------------------------------+');
writeln('| Pilih 0 untuk Keluar |');
writeln('+---------------------------------------------------------------------+');
{melakukan perlangan jika tidak menekan nol atau angka yang tidak sesuai}
repeat
write('Pilih daftar no. yang akan dikembalikan : ');readln(kembalikan);
writeln();
hari := 0;
denda := 0;
bayar := 0;
{jika pelnaggan nekan nol atau melebihi angka yang ditentukan}
if (kembalikan <> 0) and (kembalikan <indexTemu) then
begin
{jika buku tersebut belum dikembalikan}
if p[temu[kembalikan]].status <> 'Sdh Dikembalikn' then
begin
{menghitung denda}
hari:= 0;
{mengecek apakah bulan dan tahun sama}
if (m = p[temu[kembalikan]].mK) and (y = p[temu[kembalikan]].yK) then
begin
hari := d - p[temu[kembalikan]].dK;{jarak hari}
{mengecek apakah tahun pinjam dan tahun sekarang sama}
end else if (m <> p[temu[kembalikan]].mK) and (y = p[temu[kembalikan]].yK) then
begin
hari := (m - p[temu[kembalikan]].mK)*30; { jarak bulan}
hari := hari - p[temu[kembalikan]].dK - (30 - d); {jarak bulan - jarak hari}
end;
{jika mengembalikan sebelum hari ditentukan}
if hari<0 then
begin
hari := 0;
end;
denda := hari * 1000;
writeln(' Terlambat : ',hari,' Hari');
{mencari harga yang ada di database buku}
for i:= 1 to (lastBuku-1) do
begin
{jika kode buku sama}
if p[temu[kembalikan]].kodeBuku = b[i].kodeBuku then
begin
bayar:= b[i].hargaSewa+denda;
b[i].stok := b[i].stok + 1 ;
writeln(' Harga Sewa : Rp ',b[i].hargaSewa,',00');
writeln(' Denda : Rp ',denda:0:0,',00');
writeln(' Jumlah : Rp ',bayar:0:0,',00');
totalBayar := totalbayar + bayar;
end
end;
{menyesuaikan status dan tanggal kembali}
p[temu[kembalikan]].status:= 'Sdh Dikembalikn';
p[temu[kembalikan]].dK:=d;
p[temu[kembalikan]].mK:=m;
p[temu[kembalikan]].yK:=y;
writeln();
writeln(' Total Sementara adalah : Rp ',totalBayar:0:0,',00');
writeln();
end else
begin
writeln(' Buku sudah DiKembalikan!!');
writeln();
end;
{jika menekan nol dan menekan angka yang tidak sesuai}
end else
begin
kembalikan := 0;
end;
until kembalikan = 0;
{jika nim atau nama tidak terdapat di databese transaksi}
end else
begin
writeln(' Maaf, data tidak ditemukan!!');
writeln();
end;
writeln();
writeln(' Jadi, Total yang harus dibayar adalah : Rp ',totalBayar:0:0,',00');
writeln();
end;
{hapus data}
procedure hapusData();
var
n:integer;
baris:integer;
hapus:integer;
begin
{melakukan perulangan selama tidak menekan 0}
repeat
baris:= 5;
clrscr;
writeln(' Daftar Semua Transaksi ');
writeln('+--------------------------------------------------------------------------+');
writeln('| No.| NIM | Nama | Judul buku yang dipinjam | Status |');
writeln('+--------------------------------------------------------------------------+');
{menampilkan semua data yang ada di transaksi data}
for i:= 1 to (lastTransaksi-1) do
begin
gotoxy(1,baris); write('| ',i);
gotoxy(6,baris); write('| ',p[i].nim:0:0);
gotoxy(18,baris); write('| ',p[i].nama);
{melakukan relasi untuk mencari nama buku}
for n:= 1 to (lastBuku-1) do
begin
if p[i].kodeBuku = b[n].kodeBuku then
begin
gotoxy(31,baris);write('| ',b[n].judul);
end;
end;
gotoxy(58,baris);write('| ',p[i].status);
gotoxy(76,baris);writeln('|');
baris := baris+1;
end;
writeln('+--------------------------------------------------------------------------+');
writeln('| Pilih 0 untuk Batalkan Pengahapusan |');
writeln('+--------------------------------------------------------------------------+');
write(' Pilih No transaksi yang akan dihapus : ');readln(hapus);
{jika tidak menekan nol}
if hapus<>0 then
begin
{menumpuk data yang akan dihapus dengan data sebelumnya}
for i:= hapus to (lastTransaksi-2) do
begin
p[i].nama:=p[i+1].nama;
p[i].nim:=p[i+1].nim;
p[i].kodeBuku:=p[i+1].kodeBuku;
p[i].dP:=p[i+1].dP;
p[i].mP:=p[i+1].mP;
p[i].yP:=p[i+1].yP;
p[i].dK:=p[i+1].dK;
p[i].mK:=p[i+1].mK;
p[i].yK:=p[i+1].yK;
p[i].status:=p[i+1].status;
end;
lastTransaksi := lastTransaksi - 1;
writeln();
writeln(' Hapus Data Transaksi Berhasil!!');
writeln();
end;
until hapus = 0;
end;
{untuk menambah daftar buku}
procedure tambahBuku();
var
{variable local}
tambah:integer;
begin
writeln();
writeln(' Tambah Buku');
writeln();
write(' Berapa Buku yang akan ditambah: ');readln(tambah);
{melakukan perulangan sebanyak jumlah yang ditambahkan}
for i:= 1 to tambah do
begin
writeln();
writeln(' No. ',i);
writeln(' Kode Buku : ',indexBuku);
b[lastBuku].kodeBuku:=indexBuku;
indexBuku:= indexBuku + 1;
write(' Judul Buku : ');readln(b[lastBuku].judul);
write(' Edisi : ');readln(b[lastBuku].edisi);
write(' Tahun : ');readln(b[lastBuku].tahun);
write(' Harga Sewa : ');readln(b[lastBuku].hargaSewa);
write(' Stok : ');readln(b[lastBuku].stok);
lastBuku := lastBuku+1;
end;
writeln();
writeln(' Tambah Buku Berhasil!!');
writeln();
writeln('tekan enter untuk melanjutkan...');
end;
{melakukan pembaruan harga dan stok buku}
procedure updateBuku();
var
{variable local}
baris:integer;
index:integer;
begin
repeat
baris:=5;
clrscr;
writeln(' Update Harga dan stok Buku ');
writeln('+---------------------------------------------------+');
writeln('| no. Buku | Judul Buku | harga sewa | stok |');
writeln('+---------------------------------------------------+');
{menampilkan semua daftar buku}
for i:= 1 to (lastBuku-1) do
begin
gotoxy(1,baris);write('| ',i);
gotoxy(12,baris);write('| ',b[i].judul);
gotoxy(32,baris);write('| ',b[i].hargaSewa);
gotoxy(45,baris);write('| ',b[i].stok);
gotoxy(53,baris);writeln('|');
baris := baris+1;
end;
writeln('+---------------------------------------------------+');
writeln('| Pilih 0 untuk membatalkan |');
writeln('+---------------------------------------------------+');
write(' Masukkan no. Buku : ');readln(index);
{jika tidak menekan nol}
if index <> 0 then
begin
writeln(' Judul Buku : ',b[index].judul);
writeln(' Harga Sewa Semula : ',b[index].hargaSewa);
write(' Harga Sewa Baru : ');readln(b[index].hargaSewa);
writeln(' Stok Semula : ',b[index].stok);
write(' Stok Baru : ');readln(b[index].stok);
writeln();
writeln(' Update Berhasil!!');
writeln();
end else
begin
writeln();
writeln(' Update Selesai!!');
writeln();
end;
writeln('tekan enter untuk melanjutkan...');
until index=0;
end;
procedure hapusBuku();
var
{variable local}
baris:integer;
hapus:integer;
begin
repeat
baris:=5;
clrscr;
writeln(' Hapus Buku ');
writeln('+-------------------------------------+');
writeln('| No. | Kode Buku | Judul Buku |');
writeln('+-------------------------------------+');
{menampilkan semua daftar buku}
for i:= 1 to (lastBuku-1) do
begin
gotoxy(1,baris);write('| ',i);
gotoxy(7,baris);write('| ',b[i].kodeBuku);
gotoxy(19,baris);write('| ',b[i].judul);
gotoxy(39,baris);writeln('|');
baris := baris+1;
end;
writeln('+-------------------------------------+');
writeln('| Tekan 0 untuk membatalkan |');
writeln('+-------------------------------------+');
write(' No. Buku yang akan dihapus : ');readln(hapus);
{jika tidak menekan nol}
if hapus <> 0 then
begin
{menimpa daftar lama dengan daftar baru}
for i:= hapus to (lastBuku-2) do
begin
b[i].kodeBuku := b[i+1].kodeBuku ;
b[i].judul:= b[i+1].judul;
b[i].edisi := b[i+1].edisi;
b[i].tahun:= b[i+1].tahun;
b[i].hargaSewa := b[i+1].hargaSewa;
b[i].stok := b[i+1].stok;
end;
lastBuku := lastBuku-1;
writeln();
writeln(' Hapus Berhasil!!');
writeln();
end else
begin
writeln();
writeln(' Hapus Selesai!!');
writeln();
end;
writeln('tekan enter untuk melanjutkan...');
until hapus=0;
end;
{menampilkan semua daftar koleksi buku}
procedure lihatBuku();
var
baris:integer;
begin
clrscr;
writeln(' Daftar Buku');
writeln('+---------------------------------------------------------------+');
writeln('| Kode Buku | Judul Buku | Edisi | Tahun | harga sewa | stok |');
writeln('+---------------------------------------------------------------+');
for i:= 1 to (lastBuku-1) do
begin
gotoxy(1,baris);write('| ',b[i].kodeBuku);
gotoxy(13,baris);write('| ',b[i].judul);
gotoxy(27,baris);write('| ',b[i].edisi);
gotoxy(37,baris);write('| ',b[i].tahun);
gotoxy(45,baris);writeln('| ',b[i].hargaSewa);
gotoxy(58,baris);writeln('| ',b[i].stok);
gotoxy(65,baris);writeln('|');
baris := baris+1;
end;
writeln('+---------------------------------------------------------------+');
writeln('tekan enter untuk melanjutkan...');
end;
{edit buku}
procedure editBuku();
var
pilih3:integer;
begin
repeat
clrscr;
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' Edit Daftar Buku ');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' 1. Tambah Koleksi Buku ');
writeln(' 2. update harga dan stok Buku ');
writeln(' 3. Hapus Buku');
writeln(' 4. Lihat daftar Buku ');
writeln(' 5. Kembali Ke Memu Utama ');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
write('Pilih [1-5]: ');readln(pilih3);
case pilih3 of
1:
begin
tambahBuku();
readln;
end;
2:
begin
updateBuku();
readln;
end;
3:
begin
hapusBuku();
readln;
end;
4:
begin
lihatBuku();
readln;
end;
5:
end;
until pilih3 = 5;
end;
{keluar}
procedure keluar();
begin
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' Sekian dan trimakasih');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' Aplikasi ini disusun oleh :');
writeln(' 1. Ariska Hidayat (10030092)');
writeln(' 2. Muttaqin (10030021)');
writeln(' 3. Suryan Dwi Saputro(10030004)');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
end;
{ ke menu utama aplikasi}
procedure menu();
begin
writeln();
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' Persewaan Buku Komik Terlengkap');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln(' 1. Transaksi peminjaman ');
writeln(' 2. Tampilkan Data ');
writeln(' 3. Pengembalian Buku ');
writeln(' 4. Hapus data Peminjam ');
writeln(' 5. Edit koleksi komik');
writeln(' 6. Keluar ');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
write(' Pilih[1-6]: '); readln(pilih);
writeln();
case pilih of
1:
inputTransaksi();
2:
tampilkanData();
3:
pengembalianBuku();
4:
hapusData();
5:
editBuku();
6:
keluar();
end;
end;
{main}
begin
daftarKomik();
daftarPelanggan();
repeat
clrscr;
menu();
writeln('tekan enter untuk melanjutkan...');
readln;
until pilih = 6; {berhenti jika pilih bernilai 6}
end.