14 KiB
Use Case Diagram - Sistem Tiket & Booking Banyu Biru
Daftar Isi
Actors
1. Guest (Pengunjung)
Deskripsi: Pengguna yang belum login/register Akses: Terbatas, hanya bisa melihat informasi
2. User (Pengguna Terdaftar)
Deskripsi: Pengguna yang sudah register dan login Akses: Dapat membeli tiket dan melakukan booking
3. Admin
Deskripsi: Administrator sistem Akses: Penuh, dapat mengelola semua data dan verifikasi pembayaran
Use Cases
A. Guest Use Cases
-
Melihat Halaman Beranda
- Melihat informasi umum
- Melihat harga tiket
- Melihat fasilitas
-
Register
- Mendaftar akun baru
- Mengisi data diri
-
Login
- Masuk ke sistem
B. User Use Cases
Autentikasi
-
Login
- Masuk ke sistem dengan email dan password
-
Logout
- Keluar dari sistem
-
Ubah Profil
- Mengubah data profil
- Mengubah password
Manajemen Tiket
-
Lihat Daftar Tiket
- Melihat jenis tiket yang tersedia
- Melihat harga tiket
-
Beli Tiket
- Memilih jenis tiket
- Memilih tanggal kunjungan
- Memilih jumlah tiket
- Mendapatkan kode order
-
Upload Bukti Pembayaran Tiket
- Upload foto/file bukti transfer
- Menunggu verifikasi admin
-
Lihat Status Pesanan Tiket
- Melihat status: pending/confirmed/rejected
- Melihat detail pesanan
-
Download Tiket
- Download tiket dalam format PDF
- Mendapatkan QR code tiket
-
Lihat Riwayat Tiket
- Melihat semua tiket yang pernah dibeli
- Melihat status tiket
Manajemen Booking
-
Lihat Informasi Tempat
- Melihat tempat yang bisa dibooking
- Melihat harga dan kapasitas
-
Cek Ketersediaan Tanggal
- Mengecek apakah tanggal tersedia
- Melihat tanggal yang sudah dibooking
-
Booking Tempat
- Memilih tanggal booking
- Mengisi data pengunjung
- Mendapatkan kode booking
-
Upload Bukti Pembayaran Booking
- Upload foto/file bukti transfer
- Menunggu verifikasi admin
-
Lihat Status Booking
- Melihat status: pending/confirmed/rejected
- Melihat detail booking
-
Lihat Riwayat Booking
- Melihat semua booking yang pernah dibuat
- Melihat status booking
C. Admin Use Cases
Dashboard & Monitoring
- Lihat Dashboard
- Melihat statistik penjualan
- Melihat grafik transaksi
- Melihat total pendapatan
Manajemen Tiket
-
Kelola Jenis Tiket
- Tambah jenis tiket baru
- Edit jenis tiket
- Hapus jenis tiket
- Aktifkan/nonaktifkan tiket
-
Lihat Daftar Pesanan Tiket
- Melihat semua pesanan tiket
- Filter berdasarkan status
- Cari pesanan
-
Verifikasi Pembayaran Tiket
- Melihat bukti pembayaran
- Konfirmasi pembayaran
- Tolak pembayaran dengan alasan
-
Verifikasi Tiket (Scan QR)
- Scan QR code tiket
- Input kode tiket manual
- Tandai tiket sebagai dipakai
- Cek status tiket
Manajemen Booking
-
Lihat Daftar Booking
- Melihat semua booking
- Filter berdasarkan status
- Cari booking
-
Verifikasi Pembayaran Booking
- Melihat bukti pembayaran
- Konfirmasi pembayaran
- Tolak pembayaran dengan alasan
-
Verifikasi Booking (Cek Kode)
- Input kode booking
- Cek status booking
- Validasi tanggal booking
Manajemen Rekening Bank
- Kelola Rekening Bank
- Tambah rekening bank
- Edit rekening bank
- Hapus rekening bank
- Aktifkan/nonaktifkan rekening
Manajemen Admin
- Kelola Admin
- Tambah admin baru
- Edit data admin
- Hapus admin
- Lihat daftar admin
Profil
-
Ubah Profil Admin
- Mengubah data profil
- Mengubah password
-
Logout
- Keluar dari sistem
Use Case Descriptions
UC-01: Beli Tiket (User)
Actor: User
Precondition:
- User sudah login
- User bukan admin
Main Flow:
- User mengakses halaman pembelian tiket
- Sistem menampilkan daftar tiket yang tersedia
- User memilih tanggal kunjungan
- User memilih jenis tiket dan jumlah
- Sistem menghitung total harga
- User mengkonfirmasi pesanan
- Sistem membuat order dan generate kode tiket + QR code
- Sistem menampilkan halaman pembayaran dengan nomor rekening
- User melakukan transfer
- User upload bukti pembayaran
- Sistem menyimpan bukti dan mengubah status menjadi "pending"
- Sistem menampilkan halaman download tiket
Postcondition:
- Order tiket tersimpan dengan status "pending"
- QR code tiket ter-generate
- User menunggu verifikasi admin
Alternative Flow:
- 3a. Tanggal yang dipilih sudah lewat → Sistem menampilkan error
- 4a. Stok tiket habis → Sistem menampilkan peringatan
- 10a. User belum upload bukti → Tiket belum bisa didownload
UC-02: Verifikasi Pembayaran Tiket (Admin)
Actor: Admin
Precondition:
- Admin sudah login
- Ada pesanan tiket dengan status "pending"
Main Flow:
- Admin mengakses halaman daftar pesanan tiket
- Sistem menampilkan daftar pesanan dengan filter status
- Admin memilih pesanan yang akan diverifikasi
- Sistem menampilkan detail pesanan dan bukti pembayaran
- Admin memeriksa bukti pembayaran
- Admin mengklik tombol "Konfirmasi"
- Sistem mengubah status menjadi "confirmed"
- Sistem mencatat waktu konfirmasi dan admin yang mengkonfirmasi
- Sistem menampilkan notifikasi sukses
Postcondition:
- Status order berubah menjadi "confirmed"
- User dapat download tiket
- Transaksi masuk ke laporan pendapatan
Alternative Flow:
- 6a. Admin menolak pembayaran:
- Admin mengklik tombol "Tolak"
- Admin mengisi alasan penolakan
- Sistem mengubah status menjadi "rejected"
- User perlu upload ulang bukti pembayaran
UC-03: Scan QR Code Tiket (Admin)
Actor: Admin
Precondition:
- Admin sudah login
- User membawa tiket dengan QR code
Main Flow:
- Admin mengakses halaman verifikasi tiket
- Sistem menampilkan scanner QR code
- Admin mengarahkan kamera ke QR code tiket
- Sistem membaca QR code dan mendapatkan kode tiket
- Sistem mencari tiket berdasarkan kode
- Sistem menampilkan detail tiket dan status
- Admin memeriksa validitas tiket
- Admin mengklik "Tandai Sebagai Dipakai"
- Sistem mengubah status tiket menjadi "used"
- Sistem mencatat waktu penggunaan
Postcondition:
- Tiket ditandai sebagai sudah dipakai
- Tiket tidak bisa digunakan lagi
Alternative Flow:
- 3a. Kamera tidak bisa diakses → Admin input kode manual
- 5a. Kode tiket tidak ditemukan → Sistem menampilkan error
- 7a. Tiket sudah dipakai → Sistem menampilkan peringatan
- 7b. Tiket belum dikonfirmasi → Sistem menampilkan status pending
UC-04: Booking Tempat (User)
Actor: User
Precondition:
- User sudah login
- User bukan admin
Main Flow:
- User mengakses halaman booking
- Sistem menampilkan informasi tempat (Pendopo)
- User memilih tanggal booking
- Sistem mengecek ketersediaan tanggal
- User mengisi data pengunjung (nama, telepon, alamat)
- User mengisi catatan (opsional)
- Sistem menghitung total harga
- User mengkonfirmasi booking
- Sistem membuat booking dan generate kode booking
- Sistem menampilkan halaman pembayaran
- User melakukan transfer
- User upload bukti pembayaran
- Sistem menyimpan bukti dan mengubah status menjadi "pending"
Postcondition:
- Booking tersimpan dengan status "pending"
- Tanggal ter-block untuk booking lain
- User menunggu verifikasi admin
Alternative Flow:
- 4a. Tanggal sudah dibooking → Sistem menampilkan error, user pilih tanggal lain
- 4b. Tanggal sudah lewat → Sistem menampilkan error
UC-05: Kelola Jenis Tiket (Admin)
Actor: Admin
Precondition:
- Admin sudah login
Main Flow - Tambah Tiket:
- Admin mengakses halaman kelola tiket
- Admin mengklik tombol "Tambah Tiket"
- Sistem menampilkan form input
- Admin mengisi data tiket (nama, deskripsi, harga, kuota)
- Admin mengklik tombol "Simpan"
- Sistem validasi data
- Sistem menyimpan tiket baru
- Sistem menampilkan notifikasi sukses
Main Flow - Edit Tiket:
- Admin mengakses halaman kelola tiket
- Admin mengklik tombol "Edit" pada tiket yang dipilih
- Sistem menampilkan form edit dengan data tiket
- Admin mengubah data tiket
- Admin mengklik tombol "Update"
- Sistem validasi data
- Sistem menyimpan perubahan
- Sistem menampilkan notifikasi sukses
Main Flow - Hapus Tiket:
- Admin mengakses halaman kelola tiket
- Admin mengklik tombol "Hapus" pada tiket yang dipilih
- Sistem menampilkan konfirmasi
- Admin mengkonfirmasi penghapusan
- Sistem menghapus tiket
- Sistem menampilkan notifikasi sukses
Postcondition:
- Data tiket berubah sesuai aksi yang dilakukan
Alternative Flow:
- 6a. Validasi gagal → Sistem menampilkan error
- 5a. Tiket masih digunakan di order → Sistem menampilkan peringatan
Relationships
Include Relationships
-
Beli Tiket
<<include>>Upload Bukti Pembayaran Tiket- Setelah beli tiket, user harus upload bukti pembayaran
-
Booking Tempat
<<include>>Upload Bukti Pembayaran Booking- Setelah booking, user harus upload bukti pembayaran
-
Booking Tempat
<<include>>Cek Ketersediaan Tanggal- Sebelum booking, sistem harus cek ketersediaan
-
Verifikasi Tiket (Scan QR)
<<include>>Tandai Tiket Sebagai Dipakai- Setelah scan dan validasi, admin bisa tandai tiket dipakai
Extend Relationships
-
Beli Tiket
<<extend>>Download Tiket- Download tiket hanya bisa dilakukan jika pembayaran sudah dikonfirmasi
-
Verifikasi Pembayaran Tiket
<<extend>>Tolak Pembayaran- Admin bisa memilih untuk tolak pembayaran
-
Verifikasi Pembayaran Booking
<<extend>>Tolak Pembayaran- Admin bisa memilih untuk tolak pembayaran
Generalization Relationships
- User dan Admin adalah spesialisasi dari Guest
- Keduanya inherit kemampuan Guest (melihat halaman beranda)
Panduan Membuat Diagram di Draw.io
Langkah 1: Setup Canvas
- Buka draw.io
- Pilih "Blank Diagram"
- Aktifkan library "UML" dari menu More Shapes
Langkah 2: Tambahkan Actors
- Drag "Actor" dari library UML
- Buat 3 actors:
- Guest (kiri atas)
- User (kiri tengah)
- Admin (kiri bawah)
- Beri label pada setiap actor
Langkah 3: Buat System Boundary
- Drag "Rectangle" untuk membuat boundary
- Beri label "Sistem Tiket & Booking Banyu Biru"
- Posisikan di tengah canvas
Langkah 4: Tambahkan Use Cases
- Drag "Use Case" (oval) dari library UML
- Buat use case untuk setiap fitur:
Guest Use Cases (di dalam boundary, bagian atas):
- Melihat Halaman Beranda
- Register
- Login
User Use Cases (di dalam boundary, bagian tengah):
- Lihat Daftar Tiket
- Beli Tiket
- Upload Bukti Pembayaran Tiket
- Download Tiket
- Lihat Riwayat Tiket
- Cek Ketersediaan Tanggal
- Booking Tempat
- Upload Bukti Pembayaran Booking
- Lihat Riwayat Booking
- Ubah Profil
- Logout
Admin Use Cases (di dalam boundary, bagian bawah):
- Lihat Dashboard
- Kelola Jenis Tiket
- Lihat Daftar Pesanan Tiket
- Verifikasi Pembayaran Tiket
- Verifikasi Tiket (Scan QR)
- Lihat Daftar Booking
- Verifikasi Pembayaran Booking
- Kelola Rekening Bank
- Kelola Admin
- Ubah Profil Admin
- Logout
Langkah 5: Hubungkan Actors dengan Use Cases
- Gunakan "Association" (garis solid) untuk menghubungkan:
-
Guest → Melihat Halaman Beranda
-
Guest → Register
-
Guest → Login
-
User → Semua User Use Cases
-
Admin → Semua Admin Use Cases
-
Langkah 6: Tambahkan Include Relationships
- Gunakan "Dependency" dengan stereotype
<<include>> - Arah panah dari use case utama ke use case yang di-include:
- Beli Tiket → Upload Bukti Pembayaran Tiket
- Booking Tempat → Upload Bukti Pembayaran Booking
- Booking Tempat → Cek Ketersediaan Tanggal
Langkah 7: Tambahkan Extend Relationships
- Gunakan "Dependency" dengan stereotype
<<extend>> - Arah panah dari use case extension ke use case utama:
- Download Tiket → Beli Tiket
- Tolak Pembayaran → Verifikasi Pembayaran Tiket
- Tolak Pembayaran → Verifikasi Pembayaran Booking
Langkah 8: Tambahkan Generalization (Opsional)
- Gunakan "Generalization" (garis dengan panah segitiga kosong)
- Hubungkan User dan Admin ke Guest (jika ingin menunjukkan inheritance)
Tips Styling:
- Gunakan warna berbeda untuk setiap actor
- Gunakan warna berbeda untuk use case berdasarkan kategori:
- Biru: Autentikasi
- Hijau: Tiket
- Kuning: Booking
- Merah: Admin/Verifikasi
- Atur layout agar tidak terlalu padat
- Gunakan grid untuk alignment yang rapi
Contoh Grouping Use Cases
Group 1: Autentikasi (Biru)
- Login
- Logout
- Register
- Ubah Profil
Group 2: Manajemen Tiket User (Hijau Muda)
- Lihat Daftar Tiket
- Beli Tiket
- Upload Bukti Pembayaran Tiket
- Download Tiket
- Lihat Riwayat Tiket
Group 3: Manajemen Booking User (Kuning)
- Cek Ketersediaan Tanggal
- Booking Tempat
- Upload Bukti Pembayaran Booking
- Lihat Riwayat Booking
Group 4: Manajemen Tiket Admin (Hijau Tua)
- Kelola Jenis Tiket
- Lihat Daftar Pesanan Tiket
- Verifikasi Pembayaran Tiket
- Verifikasi Tiket (Scan QR)
Group 5: Manajemen Booking Admin (Oranye)
- Lihat Daftar Booking
- Verifikasi Pembayaran Booking
- Verifikasi Booking (Cek Kode)
Group 6: Manajemen Sistem Admin (Merah)
- Lihat Dashboard
- Kelola Rekening Bank
- Kelola Admin
Summary
Total Actors: 3 (Guest, User, Admin)
Total Use Cases: 30
Breakdown:
- Guest: 3 use cases
- User: 12 use cases
- Admin: 15 use cases
Relationships:
- Include: 4
- Extend: 3
- Association: ~45 (tergantung detail)
Dibuat: 25 Februari 2026
Versi: 1.0
Sistem: Banyu Biru Ticketing & Booking System