APLIKASI PERPUSTAKAAN
1.
Coding program
#include <iostream> // Untuk menampilan
perintah cin, cout, endl
#include <conio.h> // Untuk menampilkan
perintah getch, clrscr,
#include <stdio.h> // Untuk menampilkan
perintah printf, scanf, gets
#include <stdlib.h> // Untuk menampilkan
perintah atof, atoi, pow
#include <string.h> // Untuk menampilkan
perintah strcmp
using namespace std;
void garis(){
cout<<"
\t====================================================== \n";}
//Menggunakan modular fungsi void
int
main(){
char
user[20], pass[4], status; //Tipe data char user 20 karakter, password 4
karakter, status tidak dibatasi
int
balik; //Tipe data integer
int
a, b, c, d, e, f, j, k, i; //Tipe data integer
int
pil; //Tipe data integer
//struct
untuk menggabungkan beberapa data dengan tipe data yang berbeda
struct
buku{
int
kodeB;
char
judul[30];
int
sewa;
int
stock;
}z[100];
struct
daftar{
int
kodeP;
char
nama[50];
char
tlp[20];
}
y[100];
struct
pinjam{
int
kp;
int
kb;
int
noPinjam;
char
tglP[20];
char
tglU[20];
}
x[100];
c=0;
e=0;
garis();
//Memanggil fungsi garis()
cout<<"
\tSelamatDatang Di Aplikasi Peminjaman Buku Perpustakaan \n";
garis();
//Memanggil fungsi garis()
cout<<endl;
atas:
cout<<"
Silakan Login terlebih dahulu \n";
cout<<"
Username : "; cin>>user;
cout<<"
Password : "; cin>>pass;
if(strcmp(pass,"1234")==0)
{ //Fungsi percabangan default pass 1234
cout<<"
User Berhasil Login\n";
garis();
//Memanggil fungsi garis()
cout<<endl;
system("cls");
//clearscreen
}else{
cout<<
"Password Salah\n";
cout<<endl;
goto
atas;
}
//Menampilkan
Menu pilihan
menu:
garis();
//Memanggil fungsi garis()
cout<<"
\t\tPilihan Menu Peminjaman\n";
cout<<"
1. Input Data Buku\n";
cout<<"
2. Daftar Buku \n";
cout<<"
3. Pendaftaran Anggota\n";
cout<<"
4. Data Anggota\n";
cout<<"
5. Peminjaman Buku\n";
cout<<"
6. Pengembalian Buku\n";
cout<<"
7. Rekap Buku\n";
cout<<"
8. Keluar\n";
cout<<"
Masukan Pilihan Anda : "; cin>>pil; //Memasukkan pilihan
system("cls");
//clears creen
switch(pil){
//Fungsi switch untuk memilih
case
1:
goto
input; //Menuju ke Input Data Buku
break;
case
2:
goto
book; //Menuju ke Daftar Buku
break;
case
3:
goto
daf; //Menuju ke Pendaftaran Anggota
break;
case
4:
goto
data; //Menuju ke Data Anggota
break;
case
5:
goto
pjm; //Menuju ke Peminjaman Buku
break;
case
6:
goto
bali; //Menuju ke Pengembalian Buku
break;
case
7:
goto
rekap; //Menuju ke Rekap Buku
break;
case
8:
cout<<"
Terimakasih Telah menggunakan aplikasi ini\n";
cout<<endl;
goto
end; //Keluar Dari Program
break;
default:
cout<<"
Pilihan tidak tersedia\n";
cout<<endl;
goto
menu; //Menuju ke Menu Awal
break;
}
//input data buku
input:
cout<<"
Masukan Banyaknya buku yang akan diinputkan : "; cin>>a;
for(b=0;
b<a; b++){ //nilai awal 0, kurang dari nilai input a, bertambah sampai max
nilai a
cout<<"
Masukan data buku ke- "<<b+1<<endl; //Bertambah 1 jika
menambah inputan
cout<<"
Kode buku\t ";
cin>>z[b].kodeB; //Input Kode Buku
cout<<"
Judul buku\t ";
cin>>z[b].judul;
//Input Judul Buku
cout<<"
Jumlah buku\t ";
cin>>z[b].stock;
//Input Jumlah Buku
cout<<endl;
}
system("cls");
//clear screen
goto
menu; //Menuju ke Menu Awal
//Menampilkan daftar Buku
book:
garis();
//Memanggil Fungsi garis ()
cout<<"
======================Daftar Buku=====================\n";
garis();
//Memanggil Fungsi garis ()
cout<<"
| Kode Buku\t| Judul Buku | Jumlah | \n";
garis();
//Memanggil Fungsi garis ()
for(b=0;
b<a; b++){ //nilai awal 0, kurang dari nilai input a, bertambah sampai max
nilai a
cout<<"
|\t"<<z[b].kodeB<< "\t|
"<<z[b].judul<<"\t\t|\t"
<<z[b].stock<<endl;
}
garis();
//Memanggil Fungsi garis ()
cout<<endl;
goto
menu; //Menuju ke Menu Awal
//pendaftaran anggota
daf:
for(d=c;
d<c+1; d++){ //d=c, kurang dari c+1, bertambah terus tidak ada batas
cout<<"
Kode Peminjaman (angka): ";
cin>>y[d].kodeP;
//Memasukkan Kode Peminjaman
cout<<"
Nama : ";
cin>>y[d].nama;
//Memasukkan Nama
cout<<"
Nomor Telepon : ";
cin>>y[d].tlp;
//Memasukkan nomor telepon
cout<<endl;
}
c=c+1;
k=c;
cout<<"
Ingin menginputkan data lagi? (y/n) : "; cin>>status;
if(status=='Y'||status=='y'){
//Jika diketik Y maka
goto
daf; //Menuju ke daftar
}else{
//Jika tidak maka
system("cls");
//Clear screen
goto
menu; //Menuju ke Menu
}
//data
anggota
data:
garis();//Memanggil
Fungsi garis ()
cout<<"
==================Data Nama Anggota===================\n";
garis();//Memanggil
Fungsi garis ()
cout<<"
| Kode Peminjaman\t| Nama | No. Telepon | \n";
garis();//Memanggil
Fungsi garis ()
for(d=0;
d<c; d++){ //nilai d awal adalah 0, d kurang dari c, d terus bertambah
kurang dari c
cout<<"
|\t"<<y[d].kodeP<<"\t| "<<y[d].nama
<<"\t\t|\t"<< y[d].tlp<<endl;
}
goto
menu; //Menuju ke Menu Awal
//peminjaman
pjm:
for(f=e;
f<e+1; f++){ //f sama dg e, terus bertambah sampai max sama dengan e
cout<<"
Nomor Peminjaman : ";
cin>>x[f].noPinjam;
//Masukkan nomor peminjam
cout<<"
Kode Peminjam : ";
cin>>x[f].kp;
//Masukkan kode peminjam
for(d=0;d<c-1;d++){
//nilai d awal 0, terus bertambah hingga kurang dari c-1
if(y[d].kodeP==x[f].kp){
//Jika kode peminjam ada pada memori maka
cout<<"
Nama peminjam : "<<y[d].nama<<endl; //Memanggil nama
break;
}else{
//jika tidak ada maka
cout<<"
Data tidak ditemukan "<<endl; //Data tidak ditemukan
cout<<"
Ingin menginputkan data lagi? (y/n) : "; cin>>status;
if(status=='Y'||status=='y'){
//Jika diketik Y maka
goto
pjm; //Menuju ke daftar
}else{
//Jika tidak maka
system("cls");
//Clear screen
goto
menu; //Menuju ke Menu
} }
}
cout<<"
Kode buku : "; cin>>x[f].kb; //Masukkan kode buku
for(b=0;
b<a; b++){ //nilai awal b=0, b terus bertambah, hingga kurang dari a
if(z[b].kodeB==x[f].kb){
//Jika kode buku ada pada memori maka
cout<<"
Judul buku : "<<z[b].judul<<endl; //Output judul buku
break;
}else{
//jika tidak ada maka
cout<<"
Data tidak ditemukan "<<endl; //Data tidak ditemukan
goto
pjm; //Menuju ke peminjaman
}
}
cout<<"
Tanggal Pinjam : ";
cin>>x[f].tglP;
//Input tanggal peminjaman
cout<<"
Tanggal Kembali : ";
cin>>x[f].tglU;
//Input tanggal pengembalian
cout<<endl;
}
cout<<"
Ingin menginputkan data lagi? (y/n) : "; cin>>status;
if(status=='Y'||status=='y'){
//Jika diinputkan Y, maka
goto
pjm; //Menuju ke peminjaman`
}else{
//Jika tidak maka
e=e+1;
system("cls");
//Clear screen
goto
menu; //Menuju ke Menu
}
//pengembalian
bali:
cout<<"
Masukan kode peminjaman : ";
cin>>balik;
//Memasukkan kode peminjaman
for(f=0;
f<e; f++) //nilai f awal 0, f terus bertambah hinga max kurang dari e
if(x[f].kp==balik){
cout<<"
Kode buku : "<<x[f].kb<<endl; //Menampilkan Kode buku
cout<<"
Tanggal Pinjam : "<<x[f].tglP<<endl; //Menampilkan Tanggal
Pinjam
cout<<"
Tanggal Kembali : "<<x[f].tglU<<endl; //Menampilkan Tanggal
Kembali
}else{
//jika tidak maka
cout<<"
Kode yang anda masukan salah "<<endl;
goto
bali; //Menuju ke menu pengembalian`
}
cout<<endl;
goto
menu; //Menuju ke menu awal
//rekap data
rekap:
cout<<endl;
for(j=0; j<e; j++){ //nilai
awal j adalah 0, terus bertambah hingga max kurang dari e
cout<<"
Nomor Peminjaman : "<<x[j].noPinjam<<endl; //Menampilkan Kode
Peminjaman
cout<<"
Kode Peminjam : "<<x[j].kp<<endl; //Menampilkan Kode Peminjam
for(i=0;
i<k; i++){ //nilai i awal 0, terus bertambah sampai max kurang dari k
if(y[i].kodeP==x[j].kp){
//Jika kode peminjam tersimpan dalam memori maka
cout<<"
Nama Peminjam : "<<y[i].nama<<endl; //Menampilkan Nama
Peminjam sesuai kode peminjam
}
}
cout<<"
Kode Buku : "<<x[j].kb<<endl; //Menampilkan Kode Buku
for(b=0;
b<a; b++){ //nilai awal b adalah 0, terus bertambah hingga kurang dari a
if(z[b].kodeB==x[j].kb){
//Jika Kode Buku ada dalam memori maka
cout<<"
Judul Buku : "<<z[b].judul<<endl; //Menampilkan Judul Buku
Sesuai dengan Kode Buku
}
}
cout<<"
Tanggal Pinjam : "<<x[j].tglP<<endl; //Menampilkan Tanggal
Peminjaman
cout<<"
Tanggal Kembali : "<<x[j].tglU<<endl; //Menampilkan Tanggal
Pengembalian
cout<<endl;
}
cout<<"Ingin
Kembali Ke Menu Utama? <Y/n>";cin>>status;
if(status=='Y'||status=='y'){
system("cls");
//clear screen
goto
menu;}//Menuju ke Menu Awalr
else
{
goto
rekap;
}
end:
system("pause");
//system program pause
return
0; //mengembalikan nilai 0 ke sistem menandakan program berjalan dengan baik
}
2.
Output
program
·
Menu LOGIN
·
Pilihan menu peminjaman
·
Inputan data
buku
·
Daftar buku
·
Pendaftaran
anggota
·
Data nama
anggota
·
Peminjam
buku
·
Pengembalian
Buku
·
Rekap Buku
·
Keluar