Deskripsi Skenario
Seorang pengguna baru (mahasiswa atau anggota) mengunjungi portal perpustakaan online untuk membuat akun. Mereka memberikan detail pribadi (nama, email, kata sandi), sistem memvalidasi keunikan (misalnya, email belum terdaftar), membuat akun di basis data, dan mengirim email selamat datang/aktivasi. Setelah pendaftaran berhasil, pengguna mencari buku berdasarkan judul/pengarang, melihat ketersediaan, dan memesan jika tersedia (menempatkan penahanan). Jika buku tidak tersedia, sistem menawarkan pemberitahuan saat buku menjadi tersedia. Proses berakhir dengan pesan konfirmasi di antarmuka pengguna.
Alur ini umum dalam sistem perpustakaan universitas/umum dan menunjukkan onboarding pengguna + interaksi dengan sumber daya utama.
Konsep Kunci dalam Diagram Urutan UML (Relevan terhadap Contoh Ini)
Lifeline — Garis putus-putus vertikal untuk peserta (misalnya: :User, :Browser, :LibraryApp).
Pesan — Panah untuk pemanggilan: sinkron (padat dengan kepala penuh →), balasan (putus-putus <–), pembuatan objek (panah putus-putus ke lifeline baru dengan «create»).
Batang Aktivasi — Menunjukkan saat objek sedang diproses (aktifkan/nonaktifkan).
Fragment Alt — Logika kondisional (misalnya: [pendaftaran berhasil] vs [email sudah ada]).
Fragment Opt — Perilaku opsional (misalnya: [pengguna memilih untuk memesan segera]).
Loop — Untuk tindakan iteratif (misalnya: menyempurnakan pencarian jika tidak ada hasil).
Aktor — Pengguna manusia (gambar figur batang).
Pesan Kembali — Panah putus-putus yang membawa hasil kembali.
Waktu mengalir dari atas ke bawah.
Peserta (lifeline):
Pengguna (Aktor)
Browser (Frontend/UI)
LibraryApp (Lapisan Aplikasi/Kontroler)
UserDB (Basis Data untuk Akun)
BookCatalog (Database/layanan untuk buku dan pemesanan)
EmailService (layanan notifikasi eksternal)
Skrip PlantUML ini sepenuhnya merepresentasikan studi kasus. Ini mencakup pembuatan akun, validasi, pengiriman email, pencarian/pemesanan buku setelah pendaftaran dengan alt untuk ketersediaan, dan opsi untuk notifikasi.
@startuml
judul Diagram Urutan Pendaftaran Pengguna Baru dan Pemesanan Buku Perpustakaan Online
skinparam monokrom true
skinparam bayangan false
skinparam urutanAlignPesan center
autonumber “[0]”
aktor Pengguna
partisipan “Peramban” sebagai UI
partisipan “LibraryApp” sebagai Aplikasi
partisipan “UserDB” sebagai UserDB
partisipan “BookCatalog” sebagai Katalog
partisipan “EmailService” sebagai Email
Pengguna -> UI: Akses halaman pendaftaran
aktifkan UI
UI -> Aplikasi: submitPendaftaran(nama, email, kata sandi)
aktifkan Aplikasi
Aplikasi -> UserDB: cekEmailAda(email)
aktifkan UserDB
UserDB –> Aplikasi: ada = salah / benar
nonaktifkan UserDB
alt Email Sudah Ada
Aplikasi –> UI: kembalikanKesalahan(“Email sudah terdaftar. Silakan masuk atau gunakan email berbeda.”)
UI –> Pengguna: Tampilkan pesan kesalahan
‘ Dihapus: hancurkan Aplikasi → tidak diperlukan + menyebabkan masalah parser di cabang alt
else Pendaftaran Sah
App -> UserDB: buatAkunPengguna(nama, email, kataSandiTerhash)
aktifkan UserDB
UserDB –> App: idPengguna, akunDibuat
nonaktifkan UserDB
App -> Email: kirimEmailSelamatDatang(idPengguna, email, tautanAktivasi)
aktifkan Email
Email –> App: emailDikirim
nonaktifkan Email
App -> UI: kembalikanSukses(“Akun berhasil dibuat! Periksa email untuk aktivasi.”, idPengguna)
UI –> Patron: Tampilkan berhasil & arahkan ke login/dashboard
‘ Alur reservasi buku setelah pendaftaran
opt Pengguna melanjutkan untuk memesan buku
Patron -> UI: Cari buku (judul atau penulis)
UI -> App: cariBuku(kueri)
aktifkan App
App -> Catalog: kueriBuku(kueri)
aktifkan Catalog
Catalog --> App: daftarBuku (dengan ketersediaan)
nonaktifkan Catalog
alt Buku Ditemukan
loop Perbaiki pencarian jika perlu
App --> UI: tampilkanHasil(daftarBuku)
UI --> Patron: Tampilkan daftar buku
Patron -> UI: Pilih buku & minta reservasi
UI -> App: reservasiBuku(idBuku, idPengguna)
end
App -> Catalog: cekKetersediaan(idBuku)
Catalog --> App: tersedia = benar/salah
alt Tersedia
App -> Catalog: tempatkanPesan(idBuku, idPengguna, tanggalReservasi)
aktifkan Catalog
Catalog --> App: pesanDitempatkan, idReservasi
nonaktifkan Catalog
App --> UI: tampilkanKonfirmasi("Buku telah dipesan! Ambil saat tersedia.")
UI --> Patron: Tampilkan pesan berhasil
else Tidak Tersedia
App --> UI: tawarkanNotifikasi("Buku tidak tersedia. Beri tahu saat siap?")
Patron -> UI: Konfirmasi notifikasi
UI -> App: berlanggananNotifikasi(idBuku, idPengguna)
App -> Catalog: tambahkanKeAntrian(idBuku, idPengguna)
Catalog --> App: antrianDitambahkan
App --> UI: konfirmasi("Notifikasi telah diatur.")
end
lainnya Tidak Ada Buku Ditemukan
App --> UI: tampilkanTidakAdaHasil("Tidak ada yang cocok. Coba kata kunci lain.")
akhir
nonaktifkan App
akhir
akhir
nonaktifkan UI
@enduml
Cara menggunakan kode PlantUML ini
Tempelkan ke https://www.plantuml.com/plantuml/uml/ untuk tampilan langsung.
Di Visual Paradigm Desktop: Diagram Urutan Baru → Alat → Impor → PlantUML → tempel → hasilkan & edit secara visual.
Di VP Online atau AI Chatbot: Gunakan sebagai dasar dalam permintaan atau impor untuk penyempurnaan AI.
Sesuaikan: Tambahkan warna (skinparam sequenceArrowThickness 2), stereotip peserta (<<database>>), atau hapus monokrom untuk output yang telah diberi gaya.

Buka chat.visual-paradigm.com.
Gunakan petunjuk yang rinci (atau tempel kode PlantUML di atas sebagai titik awal):
Hasilkan diagram urutan UML untuk perpustakaan daring: pengguna baru mendaftar dengan nama/email/kata sandi, sistem memeriksa keunikan email, membuat akun di basis data, mengirim email selamat datang. Kemudian pengguna mencari/memesan buku – jika tersedia tempatkan penahanan, jika tidak tawarkan pemberitahuan antrian. Sertakan alt untuk email duplikat, pilih memesan setelah pendaftaran, loop untuk penyempurnaan pencarian.
AI menghasilkan diagram visual + kode PlantUML. Ulangi:
“Tambahkan batang aktivasi dan catatan untuk operasi basis data.”
“Buat BookCatalog sebagai layanan eksternal dengan stereotip.”
Ekspor PlantUML untuk langkah selanjutnya.
Jalankan Visual Paradigm Desktop.
Buat/impor Diagram Urutan (tempel PlantUML → hasilkan).
Alat > Aplikasi > Alat Haluskan Diagram Urutan.
Petunjuk/haluskan: “Haluskan urutan pendaftaran/permintaan perpustakaan ini menjadi arsitektur berlapis: pisahkan lapisan UI/Tampilan, Controller, Service (misalnya UserService, ReservationService), lapisan Repository/DB.”
AI memperluas garis kehidupan (misalnya LibraryApp → RegistrationController → UserService → UserRepository; menambahkan pemanggilan rinci seperti hashPassword(), validateInput()).
Sunting: Tambahkan catatan, stereotip (<>, <>), sesuaikan fragmen.
Akses online.visual-paradigm.com → Buat halaman OpenDocs (“Sistem Perpustakaan – Alur Onboarding & Pemesanan”).
Sisipkan diagram: Gunakan generasi AI atau impor versi PlantUML/refinemen.
Sisipkan: Tambahkan bagian teks (naratif use case, prasyarat seperti “pengguna belum masuk”, pasca kondisi “akun aktif + pemesanan dilakukan”).
Bagikan: Undang tim untuk memberikan komentar, lacak versi.
Di Desktop: Haluskan tata letak (penyelarasan otomatis), aktifkan penomoran hierarkis, tambahkan tipe kembalian (misalnya: :User user).
Hubungkan model: Lacak ke Diagram Use Case (“Daftar Pengguna Baru”, “Pesan Buku”).
Ekspor: PNG/PDF untuk spesifikasi, proyek .vpp untuk kontrol versi.
Studi kasus baru ini menyediakan contoh yang segar dan berfokus pada pendidikan sambil menunjukkan alat AI Visual Paradigm untuk pemodelan UML yang cepat dan akurat. Render kode PlantUML untuk memvisualisasikannya segera—jika Anda ingin variasi (misalnya, tambahkan langkah persetujuan pustakawan), cukup minta!
