Program Penyewaan Buku Komik dalam Pascal
- Penyewaan Buku Komik menggunakan kompiler Dev-Pascal, berikut ini Source Code Program
yang bisa langsung diterapkan ke dalam kompiler Dev-Pascal.
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.
Sekian program tentang Program Penyewaan Buku Komik dalam Pascal, semoga bermanfaat.
saya mau nanya gan, bagaimana supaya data yang di input tersimpan? mau input data komiknya tapi tidak tersimpan... datanya tetap kosong... mohon balasannya :)
BalasHapusprogram ini memang belum disediakan proses penyimpanan ke database "notepad" dalam pascal, hanya form" contohnya saja, kalo mau liat contoh yang sudah ada databasenya bisa di lihat source code sistem informasi koperasi dalam pascal yang ane rancang.
Hapushttp://www.materi-it.com/2013/11/project-akhir-sistem-informasi-koperasi.html