Skip to content

Sistem Pengelolaan Buku adalah aplikasi Java berbasis OOP dengan MySQL untuk CRUD data buku. Kini dengan GUI dan validasi data. πŸš€πŸ“š

Notifications You must be signed in to change notification settings

ifwhy/java-oop-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š 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! πŸ’»βœ¨

About

Sistem Pengelolaan Buku adalah aplikasi Java berbasis OOP dengan MySQL untuk CRUD data buku. Kini dengan GUI dan validasi data. πŸš€πŸ“š

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages