package project;
import java.util.Date;
public class Buku extends Koleksi {
private String isbn;
private int jmlHal;
public static int WAKTU_PINJAM = 42; // static sebagai tanda bahwa waktu_pinjam adalah konstanta
public static int BIAYA_DENDA = 500;
/**
* merupakan method yang digunakan untuk menghitung lama pinjam dengan memanggil rumus yang ada di kelas koleksi
* @return
*/
@Override
public int lamaPinjam() {
return super.lamaPinjam();
}
/**
* merupakan method yang digunakan untuk menghitung lama hari terlambat dengan rumus jika ada terlambat maka lama pinjam dikurangi dengan waktu pinjam
* @param tanggalKembali
* @return
*/
public int lamaHariTerlambat(Date tanggalKembali) {
Date tanggal_pinjam = super.getTanggalPinjam();
if (isTerlambat(tanggal_pinjam, tanggalKembali)) {
return super.lamaPinjam(tanggalPinjam, tanggalKembali) - WAKTU_PINJAM;
}
return 0;
}
/**
* merupakan method hitung denda yang digunakan untuk menghitung denda dari setiap buku yang terlambat dengan cara mengalikan lama hari terlambat dengan biaya denda perhari
* @param tanggalKembali
* @return
*/
@Override
public int hitungDenda(Date tanggalKembali) {
Date tanggalPinjaman = super.getTanggalPinjam();
if (isTerlambat(tanggalPinjaman, tanggalKembali)) {
return this.lamaHariTerlambat(tanggalKembali) * BIAYA_DENDA;
}
return 0;
}
/**
* merupakan method is terlambat dengan rumus jika lama pinjam lebih besar dari waktu pinjam maka ada terlambat
* @param tanggalPinjam
* @param tanggalKembali
* @return
*/
@Override
public boolean isTerlambat(Date tanggalPinjam, Date tanggalKembali) {
if (super.lamaPinjam(tanggalPinjam, tanggalKembali) > WAKTU_PINJAM) {
return true;
} else {
return false;
}
}
/**
* merupakan method is terlambat, jika ada terlambat maka return true
* @return
*/
@Override
public boolean isTerlambat() {
if (isTerlambat(super.getTanggalPinjam(), super.getTanggalKembali())) {
return true;
} else {
return false;
}
}
/**
* merupakan method yang digunakan untuk memanggil Isbn
* @return the isbn
*/
public String getIsbn() {
return isbn;
}
/**
* merupakan method yang digunakan untuk mengeset Isbn
* @param isbn the isbn to set
*/
public void setIsbn(String isbn) {
this.isbn = isbn;
}
/**
* merupakan method yang digunakan untuk memanggil jumlah halaman
* @return the jmlHal
*/
public int getJmlHal() {
return jmlHal;
}
/**
* merupakan method yang digunakan untuk mengeset jumlah halaman
* @param jmlHal the jmlHal to set
*/
public void setJmlHal(int jmlHal) {
this.jmlHal = jmlHal;
}
}
No comments:
Post a Comment