Final Project Pemrograman Terstruktur
PERPUSTAKAAN
APLIKASI
PERPUSTAKAAN BERBASIS C++
Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa sehingga kini kami
dapat menyelesaikan final project pada mata kuliah Pemrograman Terstruktur. Dan
pada tugas akhir ini, kami telah berhasil membuat sebuah aplikasi berbasis
bahasa C++ yaitu Aplikasi Perpustakaan. Dan berikut hasil dari kerja keras
kami, meskipun masih sederhana namun semoga bermanfaat bagi kita semua untuk
belajar Pemrograman Terstruktur dengan menggunakan bahasa C++.
Berikut adalah hasil program aplikasi yang kami kompile dengan menggunakan
MinGW pada CMD
1. Tampilan Log In
2.Tampilan
Menu Utama
1. Tampilan Input Data
Buku
4.Tampilan Daftar Buku
1. Pendaftaran Anggota
1.
Data Anggota
7.Tampilan Peminjaman Buku
8. Tampilan Pengembalian
Buku
10. Tampilan Keluar dari Aplikasi
Coding
#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
}
Sedangkan kode program nya dapat di download
melalui link berikut ini:
http://www.mediafire.com/download/3xyw3jnf75xcb3g/FP_Petruk_Perpustakaan.rar
http://www.mediafire.com/download/3xyw3jnf75xcb3g/FP_Petruk_Perpustakaan.rar
0 komentar:
Posting Komentar