Proyek ini dibuat untuk tugas Pemrograman Lanjut (LK06) berupa aplikasi Java berbasis console untuk manajemen perpustakaan SMP.
- ARYAN ZAKY PRAYOGO - 255150207111059
- ACHMAD HUJAIRI - 255150200111042
- M. HIDAYATULLOH H. A. M - 255150201111025
- M. AHSHAL ZILHAMSYAH - 255150200111041
- DIKARDO SIAHAAN - 255150200111040
Berikut pembagian peran dan tanggung jawab anggota tim dalam pengembangan sistem:
-
ARYAN ZAKY PRAYOGO (255150207111059)
Peran: Koordinator pengembangan dan integrasi aplikasi.
Tanggung jawab utama:- Menyusun arsitektur awal program.
- Mengembangkan src/Main.java sebagai titik masuk aplikasi.
- Mengintegrasikan alur login, menu utama, dan pemanggilan layanan sistem.
- Melakukan validasi akhir alur eksekusi program.
-
ACHMAD HUJAIRI (255150200111042)
Peran: Pengembang modul data siswa dan data buku.
Tanggung jawab utama:- Mengembangkan kelas model src/Student.java dan src/Book.java.
- Mengimplementasikan fitur CRUD siswa dan buku pada src/LibraryService.java.
- Menyusun mekanisme pencarian dan pengurutan data siswa/buku.
-
M. HIDAYATULLOH H. A. M (255150201111025)
Peran: Pengembang modul data pegawai dan autentikasi.
Tanggung jawab utama:- Mengembangkan kelas model src/Employee.java.
- Mengimplementasikan proses login pegawai berbasis data file.
- Mengembangkan fitur CRUD pegawai pada src/LibraryService.java.
-
M. AHSHAL ZILHAMSYAH (255150200111041)
Peran: Pengembang modul transaksi perpustakaan.
Tanggung jawab utama:- Mengembangkan kelas model src/Transaction.java.
- Mengimplementasikan fitur peminjaman dan pengembalian buku pada src/LibraryService.java.
- Menerapkan aturan bisnis (maksimal pinjam, validasi ketersediaan buku, status transaksi).
-
DIKARDO SIAHAAN (255150200111040)
Peran: Pengembang utilitas berkas, laporan, dan dokumentasi.
Tanggung jawab utama:- Mengembangkan utilitas File I/O pada src/FileHelper.java.
- Mengimplementasikan menu laporan pada src/LibraryService.java.
- Menyusun dokumentasi proyek pada README.md.
- Seluruh anggota berkontribusi pada tahap pengujian fungsional dan perbaikan bug.
- Integrasi akhir dilakukan setelah masing-masing modul dinyatakan berjalan.
- Setiap perubahan kode didiskusikan untuk menjaga konsistensi gaya penulisan dan struktur program.
Aplikasi ini menggunakan:
- OOP (Object-Oriented Programming)
- String Processing (
split,trim,contains,equalsIgnoreCase,replace,substring,format) - File I/O TXT (
BufferedReader,BufferedWriter,FileReader,FileWriter,PrintWriter) - Exception Handling (
try-catch-finally) - Scanner untuk input pengguna
Semua data disimpan dalam file teks dengan delimiter |:
data/siswa.txtdata/buku.txtdata/pegawai.txtdata/transaksi.txt
- Login dengan NIP dan Nama
- Data diambil dari
pegawai.txt - Jika gagal, user diminta mengulang
===== LIBRARY MENU =====
1. Manage Students
2. Manage Books
3. Manage Employees
4. Borrow Book
5. Return Book
6. Reports
7. Exit
- Tambah siswa
- Lihat siswa
- Edit siswa
- Hapus siswa
- Cari siswa (keyword)
Field: NIS | Nama | Alamat
- Tambah buku
- Lihat buku
- Edit buku
- Hapus buku
- Cari buku (keyword)
Field: Kode | Judul | Jenis Buku
- Tambah pegawai
- Lihat pegawai
- Edit pegawai
- Hapus pegawai
Field: NIP | Nama | Tanggal Lahir
Field transaksi:
- Kode Transaksi
- NIS
- Kode Buku
- Tanggal Pinjam
- Tanggal Kembali
- Status
Aturan:
- 1 siswa maksimal meminjam 2 buku aktif (
status = 0) - Buku yang masih dipinjam orang lain tidak bisa dipinjam
- Data disimpan ke
transaksi.txt status 0 = belum kembali
- Input kode transaksi
- Ubah status dari
0ke1 - Simpan kembali ke file
===== REPORT MENU =====
1. Books Not Returned
2. Overdue Borrowers
3. Borrow History
4. Total Students
5. Total Books
6. Back
Keterangan:
- Overdue jika
tanggal kembali < tanggal hari inidanstatus = 0 - Menampilkan nama siswa dan judul buku
java-school-library-system/
├── src/
│ ├── Main.java
│ ├── Student.java
│ ├── Book.java
│ ├── Employee.java
│ ├── Transaction.java
│ ├── FileHelper.java
│ └── LibraryService.java
├── data/
│ ├── siswa.txt
│ ├── buku.txt
│ ├── pegawai.txt
│ └── transaksi.txt
├── LICENSE
└── README.md
Pastikan Java sudah terpasang (JDK 8+).
-
Masuk ke folder proyek:
cd d:\Projectku\kuliah\pemlan\LK-06\java-school-library-system
-
Compile semua file Java:
javac src\*.java
-
Jalankan program:
java -cp src Main
- Program akan otomatis membuat file
.txtjika belum ada. - Program juga mengisi dummy data awal (siswa, buku, pegawai) jika file masih kosong.
- Tampilan sudah dibuat tabel sederhana agar mudah dibaca.
Semoga bermanfaat untuk tugas LK06.