Membuat Aplikasi Perpustakaan dengan JAVA

Scrip dibawah ini merupakan perintah untuk membuat program PERPUSTAKAAN yang akan dibuat dengan sangat sederhana sekali, namun ini akan berguna sekali bagi rekan-rekan yang mencoba mempelajari program Java. mari kita lihat dan jalankan program berikut ini:

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.text.ParseException;

import java.util.Date;

import java.util.Calendar;

class HamdanPustaka{

//atribut Terlambat sebagai class variable karena digunakan oleh method void hitungTerlambat dan void main

static long Terlambat;

//method HitungTerlambat

void HitungTerlambat (String TglAwal, String TglAkhir){

DateFormat df = new SimpleDateFormat(“dd/MM/yyyy”);

try

{

//Konversi dari string ke tanggal

Date Tgl1 = df.parse(TglAwal);

Date Tgl2 = df.parse(TglAkhir);

//Tgl di konversi ke milidetik

long Hari1 = Tgl1.getTime();

long Hari2 = Tgl2.getTime();

long diff = Hari2 – Hari1;

Terlambat = diff / (24 * 60 * 60 * 1000);

//(24 * 60 * 60 * 1000);

//24 = Jumlah Jam dalam 1 hari

//60 pertama = jumlah menit dalam satu jam

//60 kedua = jumlah detik dalam satu menit

//1000 = jumlah milidetik dalam satu detik;

} catch (ParseException e)

{

e.printStackTrace();

}

}

public static void main(String[] args) {

DateFormat df = new SimpleDateFormat(“dd/MM/yyyy”);

String dataString;

int nKodeBuku=0;

int nJudulBuku=1;

int nJenis = 2;

int nBiaya =3;

int indexJenisBuku=0;

int BiayaPinjam=0;

//Membuat array multidimensi untuk daftar buku yang terdiri dari 2 baris ditandai dengan “[][]” tanpa petik.

String [][] buku = {{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″},{“KAMUS KOMPUTER”, “KAMUS INDONESIA”, “KAMUS BAHASA ARAB”, “INFO KOMPUTER        ”, “MAJALAH CHIP        ”, “MAJALAH HIDAYAH”, “PENGANTAR BASISDATA”, “ALGORITMA PEMROGRAMAN”,”MATETIKA DISKRIT”, “BELAJAR MULTI MEDIA”},{“KAMUS     “,”MAJALAH”,”TEXT BOOK”},{“3000″,”1000″,”2000″}};

//Membuat array multidimensi untuk daftar buku yang terdiri dari 2 baris ditandai dengan “[][]” tanpa petik.

String [][] JenisBuku = {{“Kamus”,”Majalah”,”Textbook”},{“3000″,”1000″,”2000″}};

//Mebuat Tampilan Daftar Buku perpustakaan

System.out.println (“”);

System.out.println (“”);

System.out.println (“.::                     PERPUSTAKAAN CILEGON                ::.”);

System.out.println (“Jl. Jendral Ahamad Yani, No.52A Cilegon, BANTEN-42411, Telp(0254)393311″);

System.out.println (“”);

System.out.println (“”);

System.out.println (“”);

System.out.println (“**********************DAFTAR BUKU********************** “);

System.out.println (“KODE          JUDUL BUKU             JENIS       BIAYA    ”);

System.out.println (“******************************************************* “);

for (int j=0;j<=9;j++) {

if (j>=6) {

indexJenisBuku=2;

}else if (j>=3) {

indexJenisBuku=1;

}

System.out.println (buku[nKodeBuku][j] + ” \t ” + buku[nJudulBuku][j] + ” \t ” + buku[nJenis][indexJenisBuku] + ” \t ” + buku[nBiaya][indexJenisBuku]);

}

System.out.println (“”);

System.out.println (“******************************************************* “);

System.out.println (“”);

System.out.println (“”);

System.out.println (“\n” + “BIAYA PINJAM:”);

System.out.println (“”);

for (int i=0;i<=JenisBuku.length;i++) {

System.out.println (“Jenis: ” + buku[nJenis][i] + ” Rp. ” + buku[nBiaya][i] + “/minggu “);

}

//Membuat tampilan Data transaksi peminjaman buku

System.out.println (“\n” + “TRANSAKSI PERPUSTAKAAN:”);

System.out.println (“”);

//InputKeyboard diambil dari class InputKeyboard dari file InputKeyboard.java

System.out.print (“NAMA ANGGOTA    : “);

dataString = InputKeyboard.inputString();

String namaPeminjam = dataString; //variable namaPeminjam akan diisi dengan variable dataString yang di entry lewat keyboard

System.out.print (“KODE BUKU       : “);

dataString = InputKeyboard.inputString();

int idBuku = Integer.valueOf(dataString).intValue(); //variable idBuku akan diisi dengan variable dataString yang di entry lewat keyboard kemudian di konversi ke integer

//membuat pilihan idBuku yang input lewat keyboard

switch(idBuku){

case 0:

case 1:

case 2:

BiayaPinjam=3000;

break;

//idBuku 0 sampai 2 memiliki biaya pinjam yang sama dalam 1 minggu yaitu 3000

case 3:

case 4:

case 5:

BiayaPinjam=1000;

break;

//idBuku 3 sampai 5 memiliki biaya pinjam yang sama dalam 1 minggu yaitu 1000

case 6:

case 7:

case 8:

case 9:

BiayaPinjam=2000;

break;

//idBuku 6 sampai 9 memiliki biaya pinjam yang sama dalam 1 minggu yaitu 2000

default:

//jika idBuku yang diinput diluar 0 s/d 9 maka akan mencetak seperti berikut

System.out.println(“Silahkan pilih ID buku ’0′,’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′ atau ’9′”);

}

System.out.print (“TANGGAL PINJAM  : “);

dataString = InputKeyboard.inputString();

String tglPinjam = dataString;

long jHari =0;

try {

Date dateTglPinjam = df.parse(tglPinjam);

jHari = dateTglPinjam.getTime() + 604800000;

//604800000 menyatakan milidetik dalam 7 hari Rumus = 24*60*60*1000*7 (24 Jam,60 Menit,60 Detik,7 Hari);

} catch (ParseException e)

{

e.printStackTrace();

}

Calendar BatasTglKembali = Calendar.getInstance();

BatasTglKembali.setTimeInMillis(jHari);//Mengatur BatasTglKembali kedalam milidetik

String stringBatasTglPinjam = df.format(BatasTglKembali.getTime()); //konversi milidetik kedalam string

System.out.println(“Batas waktu pinjam Anda :  ” + stringBatasTglPinjam);

System.out.print (“TANGGAL KEMBALI : “);

dataString = InputKeyboard.inputString();

String tglKembali = dataString;

//membuat objek jumlahHariTerlambat dari class Perpustakaan

HamdanPustaka jumlahHariTerlambat = new HamdanPustaka();

//memanggil method HitungTerlambat diatas dan mengisi nilai parameter String Tglawal dengan stringBatasTglPinjam

//dan mengisi nilai parameter String TglAkhir dengan TglKembali dari method HitungTerlambat.

jumlahHariTerlambat.HitungTerlambat(stringBatasTglPinjam,tglKembali);

long lamaPinjam=Terlambat + 7;

Terlambat = 0; //atribut Terlambat di beri nilai 0 untuk menghemat ruang penyimpanan karena atribut ini akan diisi dengan keterlambatan sebenarnya

int biayaDendaPerHari=500; //biaya denda per hari di inisialisasi dengan nilai 500 karena denda perhari untuk semua jenis buku adalah 500

long denda=0; //denda di inisialisai 0 karena belum dilakukan perhitungan denda.Ini bergantung pada lamaPinjam jika lebih kecil maka denda tetap bernilai 0

//di inisialisasi dengan BiayaPinjam yang sudah didapatkan dari switch diatas (baris ke-91).

//Ini dilakukan karena jika lamaPinjam tidak lebih dari 7 maka biaya pinjam tidak perlu dihitung ulang sudah ditentukan diatas.

long biayaHarusDibayar=BiayaPinjam;

if (lamaPinjam > 7) { //jika lama pinjam lebih dari 7 hari akan dihitung denda

Terlambat=lamaPinjam – 7; //atribut terlambat akan diubah isi dengan lama pinjam dikurangi 7 karena batas peminjaman buku adalah 7 hari

denda = biayaDendaPerHari * Terlambat; //menghitung biaya denda

biayaHarusDibayar =denda + BiayaPinjam; //menghitung biaya pinjam lihat long biayaHarusDibayar=BiayaPinjam nilainya akan diubah sesuai denda.

}

System.out.println(“”);

System.out.println(“”);

System.out.println(“…:::$$$$$::… PERPUSTAKAAN CILEGON …:::$$$$$::…”); //mencetak ke layar yang diawali dengan \n bertujuan untuk memindahkan 1 baris kebawah.

System.out.println(“”);

System.out.println(“=====           BUKTI PEMINJAMAN BUKU           ======\n”); //mencetak ke layar hanya yang diawali dengan tanda ” (petik 2) dan diakhiri ” (petik 2)

System.out.println(“”);

System.out.println(” NAMA ANGGOTA: ” + namaPeminjam);

System.out.println(“”);

System.out.println(“”);

System.out.println(” TANGGAL PINJAM  : ” + tglPinjam +”    ”+” HARUS KEMBALI:”  + stringBatasTglPinjam);

//Mencetak ke layar yang disisipkan/digabungkan dengan atribut namaPeminjam sesuai yang diinput diawal.

System.out.println(” TANGGAL KEMBALI : ” + tglKembali );

//Mencetak ke layar yang disisipkan/digabungkan dengan array buku[0][idBuku]. [0] mengambil baris ke-0 dari array buku diatas serta mengambil elemen/kolom ke yang sesuai dengan isi dari idBuku. Jika idBuku bernilai 1 maka akan menghasilkan 1. Perhatikan array buku diatas, baris ke-0 untuk elemen/kolom ke-1 (1 diambil dari idBuku yang diisi dengan 1).

//Membuat Hasil Print out atau laporan peminjaman

System.out.println(“”);

System.out.println(“”);

System.out.println(“———————————————————-”);

System.out.println(“KODE BUKU                  JUDUL BUKU                      ”);

System.out.println(“———————————————————-”);

System.out.println(” “+ buku[0][idBuku]+”                   “+buku[1][idBuku]);//Menampilkan buku yang dipinjam

System.out.println(“———————————————————-”);

System.out.println(“”);

System.out.println(” KETERANGAN:”);

System.out.println(“”);

System.out.println(” LAMA PINJAM  : ” +” ” +lamaPinjam + ” hari”+”          ”+”TERLAMBAT :”+” “+ Terlambat + ” hari”);// Mencetak Lama pinjam dan keterlambatan

System.out.println(“”);

System.out.println(” BIAYA PINJAM :  Rp. ” + BiayaPinjam + “/minggu”+”    ”+”DENDA/HARI:  Rp. ” + biayaDendaPerHari );// menampilan biaya pinjaman

System.out.println(“”);

System.out.println(” BIAYA YANG HARUS ANDA BAYAR:”);

System.out.println(“”);

System.out.println(”          ”+”BIAYA DENDA: Rp. ” + denda);// Menampilkan biaya denda

System.out.println(“”);

System.out.println(”          ”+”TOTAL BIAYA: Rp. ” + biayaHarusDibayar + “\n”);//menampilkan biaya yang harus dibayar

System.out.println(“”);

System.out.println(“———————————————————-”);

System.out.println(“”);

System.out.println(“…..::::::: TERIMAKASIH ATAS KUNJUNGAN ANDA:::::::…….”);

}

}

Oke………… coba di ketikkan dulu perintahnya…..kalau bisa jalan baru senang……….! jangan lupa kirim kabar ke saya hamdan1908@yahoo.co.id

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.