Skip to content

Latest commit

 

History

History
130 lines (89 loc) · 5.11 KB

README.md

File metadata and controls

130 lines (89 loc) · 5.11 KB

📚 Manajemen Buku Perpustakaan

🚀 Sebuah aplikasi berbasis Java dengan paradigma OOP untuk mengelola data buku dengan database MySQL.

Java Badge MySQL Badge IntellijIDEA Badge

Aplikasi ini dikembangkan menggunakan Object-Oriented Programming (OOP) dengan struktur modular yang rapi. Fitur utama mencakup CRUD buku, pencarian, validasi data, serta Graphical User Interface (GUI) untuk kemudahan penggunaan.


📌 Table of Contents

  1. Fitur
  2. 📈 Pengembangan Dari Sebelumnya
  3. 📂 Struktur Proyek
  4. 🛠 Sebelum Menjalankan Program
  5. 🚀 Cara Menjalankan Aplikasi
  6. 🔧 Teknologi yang Digunakan
  7. 🤝 Kontribusi
  8. 📜 Lisensi

Tambah Buku: Tambahkan buku baru dengan detail seperti judul, penulis, penerbit, dan tahun terbit.
Hapus Buku: Hapus buku dari sistem berdasarkan ID unik.
Daftar Buku: Tampilkan semua daftar buku yang tersimpan di database.
Validasi Data: Pastikan data buku sesuai aturan sebelum disimpan.
Cari Buku: Temukan buku berdasarkan keyword pencarian yang dimasukkan pengguna.
GUI Modern: Tidak lagi berbasis console, sekarang dengan tampilan lebih user-friendly.
Terintegrasi dengan MySQL: Data buku disimpan ke database MySQL, bukan file .txt lagi.


Proyek 2 merupakan pengembangan lanjutan dari Proyek 1.

Proyek 1 Proyek 2
❌ Berbasis console Graphical User Interface (GUI)
❌ Data disimpan di file .txt ✅ Data disimpan di MySQL

Proyek ini menggunakan pendekatan Separation of Concerns (SoC) untuk memisahkan tanggung jawab tiap komponen:

📌 entity/: Menyimpan class model Buku.java yang merepresentasikan data buku.
📌 repository/: Berisi BukuRepository untuk interaksi dengan database.
📌 service/: Menghubungkan antara controller dan repository.
📌 controller/: Mengelola alur data dari dan ke antarmuka pengguna.
📌 validation/: Menangani validasi input sebelum disimpan.
📌 view/: Menyediakan Graphical User Interface (GUI) bagi pengguna.
📌 utils/: Berisi fungsi tambahan seperti pengelolaan input/output.


  1. Pastikan MySQL sudah terinstall, bisa menggunakan XAMPP atau Laragon.
  2. Buat database Perpustakaan di MySQL.
  3. Jalankan SQL berikut untuk membuat tabel buku:
CREATE DATABASE Perpustakaan;

USE Perpustakaan;

CREATE TABLE buku (
    id INT(3) AUTO_INCREMENT PRIMARY KEY,
    judul VARCHAR(255) NOT NULL,
    penulis VARCHAR(255) NOT NULL,
    penerbit VARCHAR(255) NOT NULL,
    tahun_terbit INT(4) NOT NULL
);

INSERT INTO buku (judul, penulis, penerbit, tahun_terbit) VALUES
('Bumi Manusia', 'Pramoedya Ananta Toer', 'Gramedia', 1980),
('Orang-Orang Biasa', 'Andrea Hirata', 'Bentang Pustaka', 2022),
('Laskar Pelangi', 'Andrea Hirata', 'Gramedia', 2005);

  1. Pastikan JDK 8+ terinstall.
  2. Jalankan MySQL Server melalui PHPMyAdmin atau CLI.
  3. Jalankan file utama Responsi2_PPBO_L0123068_SC.java.
  4. Mulai mengelola buku melalui GUI aplikasi!

  • Java → Bahasa pemrograman utama.
  • 🗄 MySQL → Database untuk menyimpan data buku.
  • 🎨 Java Swing → GUI yang modern dan interaktif.
  • 🏗 MVC Architecture → Pemisahan logika aplikasi agar lebih terstruktur.

Kontribusi sangat diterima! Ikuti langkah berikut untuk berkontribusi:

  1. Fork repositori ini.
  2. Buat branch baru (git checkout -b feature-xyz).
  3. Lakukan perubahan dan commit (git commit -m "Menambahkan fitur XYZ").
  4. Push branch ke GitHub (git push origin feature-xyz).
  5. Buka pull request, dan tunggu review! 🚀

Proyek ini gratis untuk digunakan dan dimodifikasi untuk keperluan belajar dan pengembangan.

💡 Keep Coding, Stay Awesome! 💻✨