Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @startuml
- skinparam classAttributeIconSize 0
- class Perpustakaan {
- - daftar_buku: list[Buku]
- - daftar_member: list[Member]
- - daftar_transaksi: list[Transaksi]
- + tambah_buku(isbn: String, judul: String, pengarang: String): Buku
- + tambah_member(nama: String, alamat: String): Member
- + cari_buku(isbn: String): Buku
- + cari_member(member_id: String): Member
- + cari_transaksi(transaksi_id: String): Transaksi
- + pinjamkan_buku(member_id: String, isbn: String): Transaksi
- + terima_pengembalian(transaksi_id: String): void
- }
- class Pustakawan {
- - pustakawan_id: String
- - nama: String
- + lakukan_pendaftaran(perpus: Perpustakaan, nama: String, alamat: String): void
- + lakukan_peminjaman(perpus: Perpustakaan, member_id: String, isbn: String): void
- + lakukan_pengembalian(perpus: Perpustakaan, transaksi_id: String): void
- }
- class Member {
- - member_id: String
- - nama: String
- - alamat: String
- + get_riwayat_peminjaman(perpus: Perpustakaan): list[Transaksi]
- }
- class Buku {
- - isbn: String
- - judul: String
- - pengarang: String
- - status: StatusBuku
- + get_info(): dict
- + ubah_status(status_baru: StatusBuku): void
- }
- class Transaksi {
- - transaksi_id: String
- - member: Member
- - buku: Buku
- - tgl_pinjam: datetime
- - tgl_kembali: datetime
- - status: StatusTransaksi
- - denda: float
- + hitung_denda(): float
- }
- 'Hubungan Antar Kelas
- Perpustakaan "1" o-- "0..*" Buku : memiliki
- Perpustakaan "1" o-- "0..*" Member : memiliki
- Perpustakaan "1" o-- "0..*" Transaksi : memiliki
- Pustakawan "1..*" --> "1" Perpustakaan : mengelola
- 'Transaksi menunjuk ke Member dan Buku yang terlibat
- Transaksi --> "1" Member
- Transaksi --> "1" Buku
- 'Member dapat melihat riwayat transaksinya melalui sistem Perpustakaan
- Member ..> Perpustakaan : meminta
- @enduml
Advertisement
Add Comment
Please, Sign In to add comment