Apa itu Diagram Kasus Pengguna?
Sebuah Diagram Kasus Penggunaadalah kerangka kerja perilaku yang digunakan untuk memvisualisasikan hubungan antara pengguna sistem (dikenal sebagai aktor) dan tindakan atau tujuan spesifik yang ingin mereka capai (dikenal sebagai kasus penggunaan). Alih-alih menampilkan lingkaran logika langkah demi langkah, diagram kasus penggunaan memberikan gambaran tingkat tinggi mengenai cakupan fungsional sistem, menjadikannya alat yang sangat baik untuk mendefinisikan persyaratan proyek, batas sistem, dan alur kerja pemangku kepentingan.
Dengan VPasCode, Anda dapat langsung membuat diagram kasus penggunaan yang jelas dan profesional tanpa harus berjuang dengan keselarasan tampilan kanvas. Panduan ini melewatkan notasi kuno dan warisan yang membingungkan, dan fokus sepenuhnya pada elemen sintaks praktis yang Anda butuhkan untuk dokumentasi perangkat lunak sehari-hari.
Panduan Sintaks Inti: Elemen dan Konstruksi
Membuat diagram kasus penggunaan di PlantUML bergantung pada beberapa elemen struktural yang sederhana, dikelilingi oleh tag standar @startuml dan @enduml tag.
1. Deklarasi Aktor
Sebuah aktor mewakili entitas eksternal yang berinteraksi dengan aplikasi Anda (seperti pengguna manusia, layanan latar belakang, atau API perangkat keras eksternal). Anda mendeklarasikan aktor dengan menggunakan kata kunci actorkata kunci diikuti oleh ID singkatan internal:
actor customer
actor admin sebagai "Administrator Sistem" 
Kiat Pro: Gunakan kata kunci askata kunci untuk menetapkan string tampilan yang bersih dan mudah dibaca kepada ID aktor yang kompleks.
2. Mendefinisikan Kasus Penggunaan
Sebuah kasus penggunaan mewakili tujuan fungsional atau proses bisnis. Anda dapat mendefinisikan kasus penggunaan dengan dua cara: dengan membungkus teks di dalam tanda kurung (Kasus Penggunaan Anda), atau dengan secara eksplisit menggunakan usecasekata kunci untuk format yang kompleks:
(Masuk ke Dasbor)
usecase checkout sebagai "Proses Pembayaran Kartu Kredit" 
3. Pemetaan Interaksi Dasar
Untuk menghubungkan aktor Anda dengan use case yang sesuai, gunakan garis hubungan dasar yang berarah atau tidak berarah. Anda juga dapat menambahkan label teks untuk menambahkan konteks penting pada interaksi:
customer --> (Masuk ke Dasbor)
admin --> checkout : "Menyetujui pengembalian dana" 
4. Hubungan Lanjutan: Sertakan dan Perluas
Ketika memodelkan perilaku sistem yang kompleks, Anda sering perlu menunjukkan ketergantungan antara use case yang berbeda menggunakan stereotip UML standar:
- Sertakan (Ketergantungan Wajib):Menunjukkan bahwa sebuah use case dasar bergantung pada use case bantuan lain untuk menyelesaikan eksekusinya secara sukses. Gunakan garis penghubung titik-titik (
..>) yang dilengkapi dengan label teks:Plantuml Edit Plantuml in VPasCode(Proses Checkout) ..> (Verifikasi Saldo) : <<sertakan>>
- Perluas (Perilaku Opsional/Kondisional):Menunjukkan bahwa alur kerja opsional dapat bercabang dari use case dasar di bawah kondisi tertentu. Perhatikan bahwa panah bergerak dari use case *perluasan* kembali ke use case *dasar*:
Plantuml Edit Plantuml in VPasCode
(Terapkan Kode Promo) ..> (Proses Checkout) : <<perluas>>
5. Memaksakan Batas Sistem
Untuk membedakan dengan jelas apa yang terjadi di dalam aplikasi perangkat lunak Anda dibandingkan dengan apa yang terjadi secara eksternal, gunakan “persegi panjangkata kunci untuk membungkus kasus penggunaan internal Anda. Sangat penting bahwa aktor harus tetap berada di luar blok kontainer ini untuk mencerminkan status mereka sebagai peserta eksternal:
aktor pelanggan
persegi panjang "Platform E-Commerce" {
(Telusuri Katalog)
(Tambahkan ke Keranjang)
}
pelanggan --> (Telusuri Katalog)
pelanggan --> (Tambahkan ke Keranjang) 
Praktik Terbaik untuk Tata Letak yang Bersih
- Buat Teks Singkat:Kasus penggunaan harus selalu dimulai dengan kata kerja yang jelas dan aktif (misalnya, “Hasilkan Laporan”, “Perbarui Profil”) alih-alih kalimat panjang.
- Manfaatkan Penanda Arah: Jika aktor dan kasus penggunaan Anda bergerombol bersama dalam tumpukan yang berantakan, gunakan panah arah spasial seperti
-kanan->atau-bawah->untuk dengan lembut mendorong mesin tata letak menuju struktur yang bersih dan mudah dibaca. - Pisahkan Batas Sistem: Selalu gunakan persegi panjang batas saat mendokumentasikan aplikasi yang berinteraksi dengan beberapa layanan mikro pihak ketiga. Ini membuat jelas secara instan siapa yang memiliki proses mana.
Contoh Diagram Kasus Penggunaan PlantUML Dunia Nyata
Salin dan tempel kerangka kerja praktis berikut langsung ke panel editor langsung VPasCode Anda untuk melihat bagaimana mereka dirender secara dinamis.
Contoh 1: Otentikasi Pengguna Inti & Manajemen Akun
Rancangan ini memodelkan ekosistem aplikasi standar yang berisi pengguna utama, operator administratif, dan kotak batas yang berisi mekanisme keamanan inti.
@startuml
' Atur orientasi tata letak dari kiri ke kanan
arah kiri ke kanan
aktor "Pengguna Akhir" sebagai pengguna
aktor "Admin Keamanan" sebagai admin
persegi panjang "Layanan Penyedia Identitas" {
(Masuk Masuk)
(Atur Ulang Kata Sandi)
(Perbarui Data Profil)
(Tinjau Log Keamanan)
(Nonaktifkan Akun)
}
pengguna --> (Masuk Masuk)
pengguna --> (Atur Ulang Kata Sandi)
pengguna --> (Perbarui Data Profil)
(Tinjau Log Keamanan) <-- admin
(Nonaktifkan Akun) <-- admin
@enduml 
Analisis Sintaks: Petunjuk arah kiri ke kanan memaksa mesin tata letak untuk menempatkan aktor di sayap luar dan memperluas kasus penggunaan secara horizontal daripada vertikal. Perhatikan bagaimana menempatkan deklarasi aktor secara bersih di luar persegi panjangpembungkus membuat mereka teratur, sementara membalik arah kurung panah untuk pengguna admin (<-- admin) menempelkan mereka secara bersih di sisi kanan matriks diagram.
Contoh 2: Penyelesaian Pembayaran E-Commerce Lanjutan dengan Ketergantungan Eksternal
Tata letak sistem dunia nyata ini memetakan alur kerja penyelesaian pembayaran yang kompleks yang bergantung pada API perbankan eksternal, inklusi struktural, dan bendera ekstensi opsional.
@startuml
arah kiri ke kanan
aktor "Pelanggan" sebagai customer
aktor "Staf Gudang" sebagai staff
aktor "Gerbang Stripe" sebagai stripe
persegi panjang "Sistem Pemenuhan Toko Online" {
(Tempatkan Pesanan)
(Terapkan Kupon)
(Hasilkan Faktur)
(Pilih dan Bungkus Barang)
(Perbarui Status Pengiriman)
}
' Interaksi eksternal ke batas sistem
customer --> (Tempatkan Pesanan)
(Tempatkan Pesanan) --> stripe : "Otorisasi Dana"
' Struktur Include dan Extend
(Tempatkan Pesanan) ..> (Hasilkan Faktur) : <<include>>
(Terapkan Kupon) ..> (Tempatkan Pesanan) : <<extend>>
' Jalur pemenuhan
(Pilih dan Bungkus Barang) <-- staff
(Perbarui Status Pengiriman) <-- staff
(Hasilkan Faktur) --> staff : "Kirim Salinan Email"
@enduml 
Analisis Sintaks: Templat ini menyoroti bagaimana satu kasus penggunaan (Tempatkan Pesanan) menuntut pemanggilan (Hasilkan Faktur) menggunakan <<include>> tag di atas garis putus-putus. Sementara itu, menerapkan kode kupon dengan benar dimodelkan sebagai cabang opsional melalui <<extend>> yang mengarah mundur menuju eksekusi dasar. Semua aktor eksternal tetap terisolasi dengan jelas di luar cakupan sistem.