Content is user-generated and unverified.

Final Assignment: Sistem Perpustakaan Digital

Waktu: 2 jam | Kelompok: Maksimal 2 orang

Tugas

Buat aplikasi console untuk mengelola perpustakaan dengan menu:

  1. Tambah Buku
  2. Pinjam Buku
  3. Kembalikan Buku
  4. Lihat Semua Buku
  5. Exit

Classes yang Harus Dibuat

1. Abstract Class: Item

java
public abstract class Item {
    protected String id;
    protected String title;
    protected boolean isAvailable;
    
    // Constructor, getters, setters
    public abstract void displayInfo();
}

2. Class: Book extends Item

java
public class Book extends Item {
    private String author;
    private String isbn;
    
    // Constructor, getters, setters
    // Override displayInfo()
}

3. Class: Member

java
public class Member {
    private String memberId;
    private String name;
    private String email;
    
    // Constructor, getters, setters dengan validation
}

4. Interface: Borrowable

java
public interface Borrowable {
    boolean borrowItem(String memberId);
    boolean returnItem();
}

5. Main Class: LibrarySystem

  • ArrayList untuk menyimpan books dan members
  • Menu dengan switch-case
  • Scanner untuk input
  • Exception handling dengan try-catch

Requirements Implementasi

Java Basics:

  • Gunakan semua tipe data (String, int, boolean)
  • Operator untuk validasi (==, !=, &&, ||)
  • Scanner untuk input user

Control Flow:

  • Switch-case untuk menu
  • For loop untuk display semua buku
  • If-else untuk validasi

OOP:

  • Encapsulation: private fields + public getters/setters
  • Inheritance: Book extends Item
  • Polymorphism: Book implements Borrowable
  • Abstraction: Abstract class Item + Interface Borrowable

Exception Handling:

  • Try-catch pada input dan operasi borrow/return
  • Handle InputMismatchException dan IllegalArgumentException

Function & Array:

  • Method terpisah untuk setiap operasi
  • ArrayList untuk storage
  • Parameter passing

Sample Input/Output

=== PERPUSTAKAAN DIGITAL ===
1. Tambah Buku
2. Pinjam Buku
3. Kembalikan Buku
4. Lihat Semua Buku
5. Exit
Pilih: 1

Masukkan ID Buku: B001
Masukkan Judul: Clean Code
Masukkan Author: Robert Martin
Masukkan ISBN: 1234567890
Buku berhasil ditambahkan!

Validasi yang Harus Ada

  • Email format (harus ada @)
  • ISBN 10 digit
  • ID tidak boleh kosong
  • Handle InputMismatchException untuk input angka

Deliverable

  • Source code Java files
  • Bisa compile dan run
  • Demo 3 scenario: tambah buku, pinjam, kembalikan

Total: 100 poin

Content is user-generated and unverified.
    Final Assignment: Sistem Manajemen Perpustakaan Digital | Claude