Proyek ini membangun sistem manajemen perpustakaan lengkap dengan JDK murni — tanpa framework, tanpa pustaka luar. Kita modelkan seluruh domainnya: katalog buku berkunci ISBN, keanggotaan dengan nomor terdaftar, sirkulasi peminjaman-pengembalian dengan jatuh tempo, denda keterlambatan yang dihitung presisi, hingga penyimpanan state ke berkas teks yang dapat dimuat kembali. Proyek ditutup dengan harness pengujian berbasis main yang membuktikan setiap aturan bisnis bekerja.

Proyek ini melatih OOP secara end-to-end karena satu sistem yang sama berevolusi menempuh seluruh tahap rekayasa perangkat lunak: memilih bentuk tipe (record untuk nilai beku, class untuk transaksi yang berubah), menampung state dengan collection yang tepat, mengungkapkan kegagalan lewat hierarki exception domain, menjaga invarian sirkulasi, lalu mempertahankan state lewat java.nio.file. Keputusan di setiap tahap memengaruhi tahap berikutnya, persis seperti proyek nyata.

Sebelum mulai, kuasai materi berikut agar penugasan tiap bagian terasa mulus: Records serta Encapsulation pada section Object-Oriented Programming, HashSet dan LinkedHashMap pada section Collections Framework, Custom Exceptions pada section Exception Handling, serta Files Utility pada section File I/O dan NIO.

Cara mengikutinya: kerjakan empat bagian secara berurutan karena class domain dibawa dan dikembangkan antar bagian. Setiap bagian memuat berkas .java versi terbaru yang lengkap — salin seluruh berkas dari folder bagian, lalu jalankan java LayarDemo.java dengan JDK 25 untuk melihat sistem bekerja. Seluruh contoh memakai tanggal beku dan charset eksplisit, sehingga keluaran selalu sama di setiap eksekusi.