Perpustakaan Sederhana dengan Java
Dalam latihan OOP dengan java kali ini saya akan membuat program perpustakaan sederhana, program ini merupakan tugas dari mata kuliah OOP.Sesuai judulnya program ini tergolong sederhana, namun demikian mudah-mudahan bermanfaat.
Adapun ketentuan program ini adalah :
1.Program perpustakaan sederhana berbasis text (bukan GUI) dengan menggunakan input data dari keyboard
2.Perpustakaan ini memiliki 10 koleksi buku. 10 buku tadi terdiri dari 3 kamus, 3 majalah dan 4 textbook (silakan ditentukan sendiri judulnya)
3.Peraturan peminjaman buku adalah:
• Biaya peminjaman untuk 1 minggu adalah: kamus Rp 3000, majalah Rp 1000, textbook 2000
• Denda terlambat pengembalian adalah Rp 500 perhari
4.Program perpustakaan sederhana ini memiliki fitur untuk menampilkan buku dan fitur sirkulasi peminjaman buku termasuk dendanya dengan berbasis text
Program ini dimulai dengan pembuatan method untuk menampilkan daftar kategori buku yang ada diperpustakaan,kemudian melakukan penginputan diantaranya data peminjam dan data pinjaman buku. Dari data pinjam akan di seleksi untuk kategori judul serta harga sewa,setelah itu input lama peminjaman dalam hal ini perhitungan lama dihitung mingguan(maksudnya; kalau di input 2 berarti 2 minggu).
Selanjutnya input lama pengembalian( di hitung harian missal; 10 maka maksudnya 10 hari). Denda akan di dapat jika lama pengembalian lebih besar dari lama pinjam dikalikan 7 (7 adalah jumlah hari dalam 1 minggu), denda ini di hitung dari keterlambatan pengembalian per hari dalam setiap peminjaman bukan setiap buku, jadi banyaknya buku yang di sewa tidak mempengaruhi denda.
Yang terakhir akan di tampilkan data peminjaman buku. Demikian deskripsi program perpustakaan sederhana yang berhasil penulis buat.
Untuk pengembangan program ini bisa dibuat denda perhari dan perbuku setiap peminjaman, Bisa juga dicoba untuk menggunakan tanggal peminjaman dan tanggal pengembalian untuk menentukan keterlambatan dan dendanya.
Untuk jelasnya liahat coding program di bawah ini :
public class PerpustakaanSederhana {
//Deklarasi variable class yang di butuhkan
static String[] kategori=new String[5];
static String[] ket=new String[5];
static int[] hsewa=new int[5];
int telat;
static double [] subtot=new double[5];
static double denda,total=0;
//Membuat method untuk menampilkan koleksi Buku
void daftarBuku(){
System.out.println(" DAFTAR BUKU BACAAN");
System.out.println("---------------------------------");
System.out.println("1. Menjadi Guru Kaya");
System.out.println("2. Konsep OOP Pada Java");
System.out.println("3. Menggapai Ridho Allah");
System.out.println("4. Kewjibanmu Lebih besar dari masamu");
System.out.println("---------------------------------");
}
void daftarMajalah(){
System.out.println(" DAFTAR MAJALAH");
System.out.println("---------------------------------");
System.out.println("1. Sabili");
System.out.println("2. Annida");
System.out.println("3. Ummi");
System.out.println("---------------------------------");
}
void daftarKamus(){
System.out.println(" DAFTAR Kamus");
System.out.println("---------------------------------");
System.out.println("1. Kamus Bahasa Arab");
System.out.println("2. Kamus Istilah Komputer");
System.out.println("3. Kamus Mencari Duit");
System.out.println("---------------------------------");
}
public static void main(String[] args){
String lagi="Y";
while(lagi.equalsIgnoreCase("Y")){ //perulangan untuk Tambah pinjam berikutnya
System.out.println(" PEMINJAMAN BUKU PERPUSTAKAAN");
System.out.println("---------------------------------");
System.out.println(" Kategori Buku ");
System.out.println("1. Buku ");
System.out.println("2. Majalah");
System.out.println("3. Kamus");
System.out.println("---------------------------------");
System.out.println();
System.out.print("Masukkan Id Anggota : ");
String id=InputKeyboard.inputString(); //Diperlukan Class InputKeyboard
System.out.print("Masukkan Nama Anggota : "); //untuk input Nilai
String nama=InputKeyboard.inputString();
System.out.println("---------------------------------");
System.out.print("Masukkan Jumlah Peminjaman : ");
String pinjam=InputKeyboard.inputString();
int j=Integer.parseInt(pinjam);
System.out.println();
for (int i=1;i<=j;i++){ //Perulangan untuk peminjaman buku
System.out.println("Peminjaman ke "+i);
System.out.print("Silahkan Pilih Kategori : ");
String spilih=InputKeyboard.inputString();
int pilih=Integer.parseInt(spilih);
//Seleksi untuk pemilihan Kategori Buku
switch(pilih){
case 1:{
kategori[i]="Buku";
hsewa[i]=2000;
//Pembuatan Objeck untuk mencetak daftar Buku
PerpustakaanSederhana cetakBuku=new PerpustakaanSederhana();
cetakBuku.daftarBuku();
System.out.print("Pilih Judul Buku[1/2/3] : ");
String sJudul=InputKeyboard.inputString();
int judul=Integer.parseInt(sJudul);
if(judul==1){ //Seleksi untuk judul Kategori Buku
ket[i]="Menjadi Guru Kaya";
}else if(judul==2) {
ket[i]="KOnsep OOP Pada Java";
}else{
ket[i]="Menggapai Ridho Allah";
}else{
Ket[i]=”Kewajibanmu lebih besar dari masamu”;
}
break;
case 2:{
kategori[i]="Majalah";
hsewa[i]=1000;
//Pembuatan Objeck untuk mencetak daftar Majalah
PerpustakaanSederhana cetakMajalah=new PerpustakaanSederhana();
cetakMajalah.daftarMajalah();
System.out.print("Pilih Judul Buku[1/2/3] : ");
String smJudul=InputKeyboard.inputString();
int mjudul=Integer.parseInt(smJudul);
if(mjudul==1){ //Seleksi untuk judul Majalah
ket[i]="Sabili";
}else if(mjudul==2) {
ket[i]="Annida";
}else{
ket[i]="Ummi";
}
}
break;
case 3:{
kategori[i]="Kamus";
hsewa[i]=3000;
//Pembuatan Objeck untuk mencetak daftar Kamus
PerpustakaanSederhana cetakKamus=new PerpustakaanSederhana();
cetakKamus.daftarKamus();
System.out.print("Pilih Kode Buku[1/2/3] : ");
String skJudul=InputKeyboard.inputString();
int kjudul=Integer.parseInt(skJudul);
if(kjudul==1){ //Seleksi untuk judul Kategori Kamus
ket[i]="Kamus Bahasa Arab";
}else if(kjudul==2) {
ket[i]="Kamus Istilah Komputer";
}else{
ket[i]="Kamus Cari Duit";
}
}
break;
default:
}
System.out.println("Kategori "+kategori[i]+" Judul "+ket[i]);
}
System.out.print ("Lama Pinjam [Mingguan]: ");
String sLamaPinjam=InputKeyboard.inputString();
int lamaPinjam=Integer.parseInt(sLamaPinjam);
System.out.println();
System.out.print ("Lama Pengembalian [Dalam harian] : ");
String sLamaBalik=InputKeyboard.inputString();
int lamaBalik=Integer.parseInt(sLamaBalik);
System.out.println();
System.out.println();
//Menghitung denda Keterlambatan
int telat=lamaBalik-(lamaPinjam*7);
if (lamaBalik<=(lamaPinjam*7)){
denda=0;
}else{
denda=(telat*500);
}
for(int i=1;i<=j;i++){ //perulangan untuk menghitung total bayar sewa
subtot[i]=hsewa[i]*lamaPinjam;
total=total+subtot[i];
}
total=total+denda;
//Menampilkan data peminjaman Buku pada perpustakaan sederhana
System.out.println(" DATA PEMINJAMAN BUKU ");
System.out.println("==================================================================");
System.out.println();
System.out.println("Id Anggota : "+id);
System.out.println("Nama Anggota : "+nama);
System.out.println();
System.out.println("==================================================================");
System.out.println(" No Judul Harga Sewa Jumlah Bayar ");
System.out.println("==================================================================");
for (int i=1;i<=j;++i){
System.out.println(" "+i+" "+ket[i]+" "+hsewa[i]+" "+subtot[i]);
}
System.out.println("------------------------------------------------------");
System.out.println("Lama Pinjam :”+lamaPinjam*7+"("+lamaPinjam+" Minggu)");
System.out.println("Lama Pengembalian :"+lamaBalik+"(Telat :"+telat+" Hari)");
System.out.println("Biaya Denda :Rp "+denda);
System.out.println("Biaya Seluruhnya :Rp "+total);
System.out.println("-------------------------------------------------------");
System.out.println();
System.out.println(" --:TERIMA KASIH ATAS KUNJUNGANNYA:--");
System.out.println();
System.out.print("Input Lagi [Y/T] ? ");
lagi=InputKeyboard.inputString();
}
}
}
0 komentar:
Posting Komentar