PROGRAM JAVA BERBASIS ARRAY DALAM PENGIMPLEMENTASIAN
PERPUSTAKAAN SEDERHANA
OLEH
1.
AJI HADI PRASETYO
2.
EKO RUDI SUTEJA
3.
MUHAMMAD ZAID TAUFIQ
Program perpustakaan ini terbagi oleh 3 sub program
diantaranya
1. InputKeyboard.java
2. Perpus.java
3. PerpusBeraksi.java
1.
InputKeyboard.java
public class
InputKeyboard {
public static
String inputString(){
int karakter;
String str =""; boolean selesai = false;
while(!selesai){
try{
karakter = System.in.read();
if(karakter < 0 || (char) karakter ==
'\n') selesai = true;
else if ((char) karakter != '\r') str = str
+ (char) karakter;
}catch
(java.io.IOException e){
System.err.println("Ada
kesalahan");
selesai = true;
}
}
return str;
}
}
2.
Perpus.java
// Program Ini Dibuat Oleh Aji Hadi Prasetyo, Eko Rudi
Suteja dan Muhammad Zaid Taufiq kelas : 2IA26
public class Perpus {
// deklarasi variabel
String dataString;
int indexAng = 0; // memberi inisialisasi harga index
anggota 0
int indexPjm = 0; // memberi inisialisasi harga index
pinjam 0
// variabel array anggota, array pinjam
String[][] anggota = new String[10][2];
String[][] pinjam = new String[10][5];
// variabel array buku yaitu daftar buku yang dapat
dipinjam
String[][] buku = {
{"01","Kamus","Kamus Inggris-Indonesia"},
{"02","Kamus","Kamus Indonesia-Inggris"},
{"03","Kamus","Kamus Bahasa Jawa"},
{"04","Majalah","Komputek"},
{"05","Majalah","Chip"},
{"06","Majalah","Info Linux"},
{"07","Textbook","Algoritma &
Pemrograman"},
{"08","Textbook","Pemrograman Berorientasi
Obyek"},
{"09","Textbook","Database Managements
System"},
{"10","Textbook","Computer Network"}
};
// method Menu Utama
public void Menu() {
int menu =
0;
//membuat
tampilan menu utama
System.out.println ("\r");
System.out.println (" Menu Utama: ");
System.out.println (" -------------------------");
System.out.println (" 1. Anggota ");
System.out.println (" 2. Daftar Buku ");
System.out.println (" 3. Peminjaman ");
System.out.println (" 4. Pengembalian ");
System.out.println (" 5. Exit ");
System.out.println (" -------------------------");
System.out.print("\r Masukkan menu pilihan anda: ");
dataString =
InputKeyboard.inputString();
// ubah
variabel dataString dari tipe data String ke int
menu =
Integer.valueOf(dataString).intValue();
switch(menu)
{
case 1 :
MenuAnggota(); // memanggil method Menu Anggota
break;
case 2 :
DaftarBuku(); //memanggil method Daftar Buku
break;
case 3 :
MenuPinjam(); //memanggil method Menu Pinjam
break;
case 4 :
Pengembalian(); //memanggil method Pengembalian
break;
case 5 :
System.out.println("Terima kasih");
System.exit(0); // keluar dari program
break;
default :
System.out.println ("\r");
System.out.println("Maaf, pilihan yang Anda masukkan salah!");
Menu();
//memanggil method pilihMenu jika pilihan selain 1 - 5
break;
}
}
// method Menu Anggota
public void MenuAnggota() {
int menu =
0;
//membuat
tampilan menu anggota
System.out.println ("\r");
System.out.println (" Menu Anggota: ");
System.out.println (" -------------------------");
System.out.println (" 1. Pendaftaran Anggota");
System.out.println (" 2. Daftar Anggota ");
System.out.println (" 3. Menu Utama ");
System.out.println (" -------------------------");
System.out.print("\r Masukkan menu pilihan anda: ");
dataString =
InputKeyboard.inputString();
// ubah variabel dataString dari tipe data
String ke int
menu =
Integer.valueOf(dataString).intValue();
switch(menu)
{
case 1 :
PendaftaranAnggota();// memanggil method Pendaftaran Anggota
break;
case 2 :
DaftarAnggota(); //memanggil method Daftar Anggota
break;
case 3 :
Menu();
//memanggil method Menu Utama
break;
default :
System.out.println ("\r");
System.out.println("Maaf, pilihan yang Anda masukkan salah!");
MenuAnggota(); //memanggil method Menu Anggota jika pilihan selain 1 - 3
break;
}
}
// method Menu Peminjaman Buku
public void MenuPinjam() {
int menu =
0;
//membuat
tampilan Menu Peminjaman
System.out.println ("\r");
System.out.println (" Menu Peminjaman: ");
System.out.println (" -------------------------");
System.out.println (" 1. Peminjaman ");
System.out.println (" 2. Daftar Peminjaman ");
System.out.println
(" 3. Menu Utama ");
System.out.println (" -------------------------");
System.out.print("\r Masukkan menu pilihan anda: ");
dataString =
InputKeyboard.inputString();
// ubah variabel dataString dari tipe data
String ke int
menu =
Integer.valueOf(dataString).intValue();
switch(menu)
{
case 1 :
Peminjaman();// memanggil method Peminjaman Buku
break;
case 2 :
DaftarPinjam(); //memanggil method Daftar Peminjaman
break;
case 3 :
Menu();
//memanggil method Menu Utama
break;
default :
System.out.println ("\r");
System.out.println("Maaf, pilihan yang Anda masukkan salah!");
MenuPinjam(); //memanggil method Menu Pinjam jika pilihan selain 1 - 3
break;
}
}
// method Pendaftaran Anggota
public void PendaftaranAnggota(){
//membuat
tampilan Menu Pendaftaran Anggota
System.out.println ("\r");
System.out.println ("Pendaftaran Anggota ");
System.out.println ("-------------------------");
System.out.print("Nomor Anggota : ");
String
nomorAnggota = InputKeyboard.inputString(); // input nomor anggota
System.out.print("Nama Anggota : ");
String
namaAnggota = InputKeyboard.inputString(); // input nama anggota
// Data Anggota disimpan ke dalam variabel
Array anggota[][]
anggota[indexAng][0]=nomorAnggota;
anggota[indexAng][1]=namaAnggota;
System.out.println ("\r");
System.out.println ("Data Anggota sudah tersimpan!");
// indeks record array anggota ditambah 1
indexAng++;
PilihMenu("Menu Anggota"); // memanggil method Pilih Menu
dengan variabel "Menu Anggota"
}
// method Pemilihan Menu
public void PilihMenu(String nmMenu){
int
pilihMenu = 0;
String
msgMenu = "" ;
// cek isi variabe nmMenu
if
(nmMenu=="Menu Anggota"){
msgMenu
= "2.Kembali ke Menu Anggota ";
}
if
(nmMenu=="Menu Peminjaman"){
msgMenu
= "2.Kembali ke Menu Peminjaman ";
}
if
(nmMenu=="Menu"){
msgMenu
= "";
}
System.out.println ("\r");
System.out.println("1.Kembali ke Menu Utama
"+msgMenu+"3.Keluar"); // cetak daftar pemilihan menu
System.out.print("Masukkan menu pilihan anda: ");
dataString=InputKeyboard.inputString();
// ubah variabel dataString dari tipe data
String ke int
pilihMenu =
Integer.valueOf(dataString).intValue();
switch(pilihMenu) {
case 1 :
Menu(); //
memanggil method Menu Utama
break;
case 2 :
if
(nmMenu=="Menu Anggota"){
MenuAnggota(); // jika nmMenu="Menu Anggota, panggil method Menu
Anggota
}
if
(nmMenu=="Menu Peminjaman"){
MenuPinjam(); // jika nmMenu="Menu Peminjaman, panggil method Menu
Peminjaman
}
break;
case 3 :
System.out.println("Terima kasih");
System.exit(0); // keluar dari program
break;
default :
System.out.println ("\r");
System.out.print("Maaf, pilihan yang Anda masukkan salah!");
PilihMenu(nmMenu); // memanggil method Pilih Menu dengan variabel isi
variabel nmMenu
break;
}
}
// method Daftar Buku
public void DaftarBuku(){
//membuat tampilan Menu Pendaftaran Anggota
System.out.println ("\r");
System.out.println("No Kategori
Nama");
System.out.println("------------------------------------------------------");
// untuk setiap record buku yang ada di
variabel array buku ditampilkan
for (int
i=0;i<buku.length;i++)
System.out.println(buku[i][0]+"."+buku[i][1]+" "+buku[i][2]);
System.out.println("------------------------------------------------------");
PilihMenu("Menu"); // memanggil method Pilih Menu dengan
variabel "Menu"
}
// method Cari Buku
public void CariBuku(int no){
no--; //
variabel no dikurangi 1 untuk menyesuaikan urutan di array yg dimulai dgn angka
0
System.out.println(">>
"+buku[no][0]+"."+buku[no][1]+" "+buku[no][2]);
}
// method Cari Anggota
public void CariAnggota(int no){
no--; //
variabel no dikurangi 1 untuk menyesuaikan urutan di array yg dimulai dgn angka
0
System.out.println(">>
"+anggota[no][0]+"."+anggota[no][1]);
}
// method Peminjaman
public void Peminjaman(){
int noAnggota
= 0, noBuku = 0, sewa =0;
// membuat tampilan peminjaman buku
System.out.println ("\r");
System.out.println ("Peminjaman Buku: ");
System.out.println ("-------------------------");
System.out.print("Nomor Anggota : ");
String
nomorAnggota = InputKeyboard.inputString(); // input nomor anggota
noAnggota=
Integer.valueOf(nomorAnggota).intValue();
CariAnggota(noAnggota); // memanggil method Cari Anggota dengan isi
variabel noAnggota
noAnggota--;
// noAnggota dikurangi 1 utk proses cetak bukti pinjam
System.out.print("Nomor Buku dipinjam : ");
String
nomorBuku = InputKeyboard.inputString(); // input nomor buku
noBuku=
Integer.valueOf(nomorBuku).intValue();
CariBuku(noBuku);
noBuku--; //
noBukua dikurangi 1 utk proses cetak bukti pinjam
if
(buku[noBuku][1]=="Kamus"){
sewa =
3000; // jika kategori buku="Kamus", maka biaya sewa Rp.3000,-
}
if
(buku[noBuku][1]=="Majalah"){
sewa =
1000; // jika kategori
buku="Majalah", maka biaya sewa Rp.1000,-
}
if (buku[noBuku][1]=="Textbook"){
sewa =
2000; // jika kategori
buku="Textbook", maka biaya sewa Rp.2000,-
}
System.out.println("Biaya sewa 1 minggu : ");
System.out.println(">> Rp. "+sewa+",-"); //
cetak biaya sewa
System.out.print("Tanggal Pinjam (dd/mm/yy): ");
String
tglPinjam = InputKeyboard.inputString(); // input tanggal pinjam
System.out.print("Tanggal Kembali (dd/mm/yy): ");
String
tglKembali = InputKeyboard.inputString(); // input tanggal kembali
// mencetak bukti peminjaman buku
System.out.println("\n");
System.out.println("No Anggota
: "+anggota[noAnggota][0]+" Tanggal Pinjam : "+tglPinjam);
System.out.println("Nama Anggota :
"+anggota[noAnggota][1]+"
Tanggal Kembali : "+tglKembali);
System.out.println("-------------------------------------------------------------------------------");
System.out.println(" No
Kategori Nama buku");
System.out.println("-------------------------------------------------------------------------------");
System.out.println(buku[noBuku][0]+" "+buku[noBuku][1]+" "+buku[noBuku][2]);
System.out.println("-------------------------------------------------------------------------------");
System.out.println(" Total Biaya
Sewa : Rp."+sewa+",-");
// simpan data peminjaman ke variabel array
pinjam[][]
pinjam[indexPjm][0]=nomorAnggota;
pinjam[indexPjm][1]=nomorBuku;
pinjam[indexPjm][2]=tglPinjam;
pinjam[indexPjm][3]=tglKembali;
pinjam[indexPjm][4]=Integer.toString(sewa);
System.out.println ("\r");
System.out.println ("Data Pinjam sudah tersimpan!");
indexPjm++;
// indeks record variabel array pinjam ditambah 1
PilihMenu("Menu Peminjaman"); // memanggil method Pilih Menu
dengan variabel "Menu Peminjaman"
}
// method Daftar Peminjaman
public void DaftarPinjam(){
int noAngg
=0, noBuku = 0;
// mencetak daftar peminjaman buku
System.out.println ("\r");
System.out.println("Daftar Peminjaman Buku");
System.out.println("------------------------------------------------------------------------------");
System.out.println(" No.Nama Ang
No.Nama Buku Tgl.Pinjam Tgl.Kembali Biaya Sewa");
System.out.println("------------------------------------------------------------------------------");
// untuk setiap record pinjam yang ada di variabel
array pinjam ditampilkan
for (int
i=0;i<indexPjm;i++) {
noAngg = Integer.valueOf(pinjam[i][0]).intValue();
noAngg--;
noBuku = Integer.valueOf(pinjam[i][1]).intValue();
noBuku--;
System.out.println(pinjam[i][0]+"."+anggota[noAngg][1]+"
"+pinjam[i][1]+"."+buku[noBuku][1]+"."+buku[noBuku][2]+" "+pinjam[i][2]+" "+pinjam[i][3]+" "+pinjam[i][4]);
}
System.out.println("------------------------------------------------------------------------------");
PilihMenu("Menu Peminjaman"); // memanggil method Pilih Menu
dengan variabel "Menu Peminjaman"
}
// method Daftar Anggota
public void DaftarAnggota(){
// mencetak daftar anggota
System.out.println ("\r");
System.out.println("Daftar
Anggota");
System.out.println("------------------------------------------------------");
// untuk setiap record anggota yang ada di
variabel array anggota ditampilkan
for (int
i=0;i<indexAng;i++)
System.out.println(anggota[i][0]+"."+anggota[i][1]);
System.out.println("------------------------------------------------------");
PilihMenu("Menu Anggota"); // memanggil method Pilih Menu
dengan variabel "Menu Anggota"
}
// method Pengembalian
public void Pengembalian(){
// deklrasi variabel
int noAngg =
0, noBuku = 0;
String
noAng="";
// membuat tampilan pengembalian buku
System.out.println ("\r");
System.out.println ("Pengembalian Buku: ");
System.out.println ("-------------------------");
System.out.print("Nomor Anggota : ");
String
nomorAnggota = InputKeyboard.inputString(); // input nomor anggota
for (int
i=0;i<indexPjm;i++){
noAng =
pinjam[i][0];
// mencari data peminjaman buku di variabel
array pinjam berdasarkan nomor anggota
if
(noAng.equalsIgnoreCase(nomorAnggota)){
//
jika ketemu, maka data peminjaman akan dicetak
System.out.println("------------------------------------------------------------------------------");
System.out.println("
No.Nama Ang No.Nama Buku Tgl.Pinjam Tgl.Kembali Biaya Sewa");
System.out.println("------------------------------------------------------------------------------");
noAngg = Integer.valueOf(pinjam[i][0]).intValue();// ubah variabel
string noAngg ke int
noAngg--;
noBuku = Integer.valueOf(pinjam[i][1]).intValue(); // ubah variabel
string noBuku ke int
noBuku--;
System.out.println(pinjam[i][0]+"."+anggota[noAngg][1]+"
"+pinjam[i][1]+"."+buku[noBuku][1]+"."+buku[noBuku][2]+" "+pinjam[i][2]+" "+pinjam[i][3]+" "+pinjam[i][4]);
System.out.println("------------------------------------------------------------------------------");
System.out.print("Terlambat (hari) : ");
String jmlHari = InputKeyboard.inputString(); // input data
keterlambatan dalam hari
int
noHari= Integer.valueOf(jmlHari).intValue();
System.out.println("Denda
: Rp. "+(noHari*500)+",-"); // cetak total denda dari rupiah
denda per hari dikalikan dgn hari keterlambatan
}
}
PilihMenu("Menu"); // memanggil method Pilih Menu dengan
variabel "Menu Anggota"
}
}
3.
PerpusBeraksi.java
public class
PerpusBeraksi {
public static void main(String[] args){
Perpus perpusku=new Perpus();
perpusku.Menu();
}
}
Program yang dapat diexecute adalah PerpusBeraksi.java