class Buku implements Peminjaman, Identitas {
    private final String judul;
    private final String isbn;
    private boolean dipinjam;

    public Buku(String judul, String isbn) {
        this.judul = judul;
        this.isbn = isbn;
        this.dipinjam = false;
    }

    @Override
    public void pinjam() {
        dipinjam = true;
        System.out.println(judul + " dipinjam, batas " + LAMA_PINJAM_HARI + " hari");
    }

    @Override
    public void kembali() {
        dipinjam = false;
        System.out.println(judul + " dikembalikan");
    }

    @Override
    public String id() {
        return isbn;
    }

    public boolean sedangDipinjam() {
        return dipinjam;
    }
}

public class PerpustakaanMini {
    public static void main(String[] args) {
        Buku buku = new Buku("Java Dasar", "978-602-1234-01-5");

        // Variabel bertipe interface hanya mengenal anggota kontraknya.
        Peminjaman pinjaman = buku;
        Identitas kartu = buku;

        pinjaman.pinjam();
        System.out.println("ID: " + kartu.id());
        pinjaman.kembali();

        System.out.println("Status dipinjam: " + buku.sedangDipinjam());
    }
}
