Skip to content

aryanzkys/java-school-library-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LK06 - Junior High School Library Management System

Proyek ini dibuat untuk tugas Pemrograman Lanjut (LK06) berupa aplikasi Java berbasis console untuk manajemen perpustakaan SMP.

Identitas Tim

  1. ARYAN ZAKY PRAYOGO - 255150207111059
  2. ACHMAD HUJAIRI - 255150200111042
  3. M. HIDAYATULLOH H. A. M - 255150201111025
  4. M. AHSHAL ZILHAMSYAH - 255150200111041
  5. DIKARDO SIAHAAN - 255150200111040

Distribusi Tugas (Format Akademika)

Berikut pembagian peran dan tanggung jawab anggota tim dalam pengembangan sistem:

  1. 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.
  2. ACHMAD HUJAIRI (255150200111042)
    Peran: Pengembang modul data siswa dan data buku.
    Tanggung jawab utama:

  3. M. HIDAYATULLOH H. A. M (255150201111025)
    Peran: Pengembang modul data pegawai dan autentikasi.
    Tanggung jawab utama:

  4. 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).
  5. DIKARDO SIAHAAN (255150200111040)
    Peran: Pengembang utilitas berkas, laporan, dan dokumentasi.
    Tanggung jawab utama:

Mekanisme Kolaborasi

  • 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.

Deskripsi Singkat

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.txt
  • data/buku.txt
  • data/pegawai.txt
  • data/transaksi.txt

Fitur Aplikasi

1) Login Pegawai

  • Login dengan NIP dan Nama
  • Data diambil dari pegawai.txt
  • Jika gagal, user diminta mengulang

2) Menu Utama

===== LIBRARY MENU =====
1. Manage Students
2. Manage Books
3. Manage Employees
4. Borrow Book
5. Return Book
6. Reports
7. Exit

3) CRUD Siswa

  • Tambah siswa
  • Lihat siswa
  • Edit siswa
  • Hapus siswa
  • Cari siswa (keyword)

Field: NIS | Nama | Alamat

4) CRUD Buku

  • Tambah buku
  • Lihat buku
  • Edit buku
  • Hapus buku
  • Cari buku (keyword)

Field: Kode | Judul | Jenis Buku

5) CRUD Pegawai

  • Tambah pegawai
  • Lihat pegawai
  • Edit pegawai
  • Hapus pegawai

Field: NIP | Nama | Tanggal Lahir

6) Peminjaman Buku

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

7) Pengembalian Buku

  • Input kode transaksi
  • Ubah status dari 0 ke 1
  • Simpan kembali ke file

8) Laporan

===== 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 ini dan status = 0
  • Menampilkan nama siswa dan judul buku

Struktur Proyek

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

Cara Menjalankan (Windows - Command Prompt/PowerShell)

Pastikan Java sudah terpasang (JDK 8+).

  1. Masuk ke folder proyek:

    • cd d:\Projectku\kuliah\pemlan\LK-06\java-school-library-system
  2. Compile semua file Java:

    • javac src\*.java
  3. Jalankan program:

    • java -cp src Main

Catatan Tambahan

  • Program akan otomatis membuat file .txt jika 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.

About

Java console-based school library management system using String processing and File I/O. Supports employee login, student/book/staff data management, borrowing-return transactions, overdue reports, and TXT file storage.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages