saindras

pbo-pertemuan-6.3

Oct 5th, 2025
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. @startuml
  2.  
  3. skinparam classAttributeIconSize 0
  4.  
  5. class Perpustakaan {
  6. - daftar_buku: list[Buku]
  7. - daftar_member: list[Member]
  8. - daftar_transaksi: list[Transaksi]
  9. + tambah_buku(isbn: String, judul: String, pengarang: String): Buku
  10. + tambah_member(nama: String, alamat: String): Member
  11. + cari_buku(isbn: String): Buku
  12. + cari_member(member_id: String): Member
  13. + cari_transaksi(transaksi_id: String): Transaksi
  14. + pinjamkan_buku(member_id: String, isbn: String): Transaksi
  15. + terima_pengembalian(transaksi_id: String): void
  16. }
  17.  
  18. class Pustakawan {
  19. - pustakawan_id: String
  20. - nama: String
  21. + lakukan_pendaftaran(perpus: Perpustakaan, nama: String, alamat: String): void
  22. + lakukan_peminjaman(perpus: Perpustakaan, member_id: String, isbn: String): void
  23. + lakukan_pengembalian(perpus: Perpustakaan, transaksi_id: String): void
  24. }
  25.  
  26. class Member {
  27. - member_id: String
  28. - nama: String
  29. - alamat: String
  30. + get_riwayat_peminjaman(perpus: Perpustakaan): list[Transaksi]
  31. }
  32.  
  33. class Buku {
  34. - isbn: String
  35. - judul: String
  36. - pengarang: String
  37. - status: StatusBuku
  38. + get_info(): dict
  39. + ubah_status(status_baru: StatusBuku): void
  40. }
  41.  
  42. class Transaksi {
  43. - transaksi_id: String
  44. - member: Member
  45. - buku: Buku
  46. - tgl_pinjam: datetime
  47. - tgl_kembali: datetime
  48. - status: StatusTransaksi
  49. - denda: float
  50. + hitung_denda(): float
  51. }
  52.  
  53. 'Hubungan Antar Kelas
  54. Perpustakaan "1" o-- "0..*" Buku : memiliki
  55. Perpustakaan "1" o-- "0..*" Member : memiliki
  56. Perpustakaan "1" o-- "0..*" Transaksi : memiliki
  57.  
  58. Pustakawan "1..*" --> "1" Perpustakaan : mengelola
  59.  
  60. 'Transaksi menunjuk ke Member dan Buku yang terlibat
  61. Transaksi --> "1" Member
  62. Transaksi --> "1" Buku
  63.  
  64. 'Member dapat melihat riwayat transaksinya melalui sistem Perpustakaan
  65. Member ..> Perpustakaan : meminta
  66.  
  67. @enduml
Advertisement
Add Comment
Please, Sign In to add comment