Java Perpustakaan Mini

import java.io.*;
import java.util.Date;
import java.util.Calendar;
import java.text.*;
class KoleksiBuku
{
    //Deklarasikan variabel yang digunakan
    int i, kode;   
    String pil, l, batasTgl;
    long denda=0, subTotal=0, hargaPinjam, totalBayar=0, terlambat=0, jHari=0;

    //Deklarasi variabel array dan mengisi data pada variabel array
    String [] kamus = {"English-Indonesia","Bahasa Indonesia","Komputer Ilmiah"};
    String [] majalah = {"PC Plus","Komputer Aktif","CHIP"};
    String [] textBook = {"Software Engineering","Management Information System","Object- Oriented Analysis", "Microsoft .Net"};

    //Membuat objek df utuk membuat format tampilan tanggal
    DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

    //Membuat method untuk menampilkan menu perpustakaan
    void menuUtama()
    {
        System.out.println(" Menu Utama Perpustakaan ");
        System.out.println("_____________________________");
        System.out.println("1. Koleksi Kamus");
        System.out.println("2. Koleksi Majalah");
        System.out.println("3. Koleksi Text Book");
    }

    //Membuat method untuk menampilkan isi array Kamus
    void cetKamus()
    {
        System.out.println("Daftar Koleksi Kamus");
        System.out.println("___________________________");
        for(i = 0; i< kamus.length;++i)
        {
            System.out.println(i + 1 + "." + kamus[i]);
        }
    }

    //Membuat method untuk menampilkan isi array Majalah
    void cetMajalah()
    {
        System.out.println("Daftar Koleksi Majalah");
        System.out.println("___________________________");
        for(i = 0; i< kamus.length;++i)
        {
            System.out.println(i + 1 + "." + majalah[i]);
        }
    }

    //Membuat method untuk menampilkan isi array Text Book
    void cetTextBook()
    {
        System.out.println("Daftar Koleksi Text Book");
        System.out.println("___________________________");
        for(i = 0; i< kamus.length;++i)
        {
            System.out.println(i + 1 + "." + textBook[i]);
        }
    }

    //Membuat method untuk menghasilkan harga sewa berdasarkan pilihan koleksi dengan pengembalian nilai
    long hitungHarga(int kode)
    {
        switch(kode)
        {
            case 1:
                hargaPinjam = 3000;
            break;
            case 2:
                hargaPinjam = 1000;
            break;
            case 3:
                hargaPinjam = 2000;
            break;
        }
        return hargaPinjam;
    }

    //Membuat method untuk menghitung keterlambatan
    long 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();
            if (tgl2.after(tgl1))
            {
                long diff = hari2 - hari1;
                terlambat = diff / (24 * 60 * 60 * 1000);
            }
            else{
                    terlambat = 0;
                }
        }

        //(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();
        }
        return terlambat;
    }

    //Membuat method untuk menghitung tanggal batas pengembalian
    String hitungTanggalBatas(String tglPinjam)
    {
        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 tglBatasKembali= Calendar.getInstance();
        tglBatasKembali.setTimeInMillis(jHari);
        batasTgl = df.format(tglBatasKembali.getTime()); //konversi milidetik kedalam string
        return batasTgl;
    }

    //Membuat method untuk menghasilkan denda berdasarkan lama pinjaman dengan pengembalian nilai
    long hitungDenda(long lmbtKembali)
    {
        denda = lmbtKembali * 500;
        return denda;
    }

    //Membuat method untuk menghasilkan judul koleksi yang dipinjam berdasarkan pilihan koleksi
    void judulBuku(int kode, int i)
    {
        switch(kode)
        {
            case 1 :
                System.out.print(kamus[i-1]);
            break;
            case 2 :    
                System.out.print(majalah[i-1]);
            break;
            case 3 :
                System.out.print(textBook[i-1]);
            break;
        }
    }

    //Membuat method untuk menampilkan header
    void cetHeaderJudul(String na, String nama)
    {
        System.out.println(" ");
        System.out.println("Nomor Anggota : " + na);
        System.out.println("Nama Anggota : " + nama);
        System.out.println(" Data Peminjaman Buku ");
        System.out.println("_______________________________________________________________________________");
        System.out.println("No"+"\t"+"Judul Buku"+ "\t"+ "Harga "+ " "+ " Tanggal " + " " + " " + " " + "Lama"+ " "+ "Denda" + " " + "SubTotal");
        System.out.println(" Pinjam Batas Kembali Lambat");
        System.out.println("_______________________________________________");
    }
}

0 Response to "Java Perpustakaan Mini"

Posting Komentar