Diagram use case UML menunjukkan apa yang ditawarkan oleh suatu sistem dan siapa—atau apa—yang berinteraksi dengannya. Dengan alur kerja diagram-sebagai-kode, sumber diagram adalah teks biasa: edit teksnya, render diagramnya, dan simpan sumbernya bersama dokumentasi proyek.

PlantUML mendukung diagram use case. Editor VPasCode dari Visual Paradigm menyediakan editor dan pratinjau PlantUML, bersama dengan fitur pembuatan dan pengeditan diagram yang dibantu oleh AI.
1. Apa yang dikomunikasikan oleh diagram use case
Diagram use case berfokus pada ruang lingkup sistem dan tujuan pengguna, bukan mekanisme langkah demi langkah dari suatu alur kerja. Sebuah diagram biasanya berisi:

-
Batas sistem:Sebuah persegi panjang yang menamai sistem yang dimodelkan.
-
Aktor:Sebuah peran di luar sistem yang berinteraksi dengannya. Aktor dapat berupa orang, organisasi, perangkat, atau sistem eksternal.
-
Use case:Sebuah kemampuan atau tujuan yang disediakan oleh sistem, biasanya ditampilkan sebagai oval dan diberi nama dengan frasa kata kerja, seperti “Tempatkan pesanan.”
-
Asosiasi:Sebuah garis yang menunjukkan bahwa seorang aktor berpartisipasi dalam sebuah use case.
-
Hubungan use case:Include, extend, dan generalisasi.
Aktor mewakili peran, bukan individu tertentu. Layanan pembayaran eksternal dapat menjadi aktor jika berinteraksi dengan sistem yang dimodelkan.
Diagram use case berguna untuk memperjelas ruang lingkup sistem, mendiskusikan persyaratan dengan pemangku kepentingan, mengidentifikasi ketergantungan eksternal, dan memberikan tinjauan bersama untuk pengembangan dan pengujian. Padukan diagram ini dengan deskripsi use case tertulis ketika Anda memerlukan detail seperti prasyarat, langkah utama, alur alternatif, dan hasil.
2. Hubungan sekilas

-
Asosiasi aktor–use case:Sebuah garis polos yang menunjukkan interaksi.
-
<<include>>:Use case yang mencakup selalu menggunakan perilaku yang dicakup. Panah putus-putus menunjuk dari use case yang mencakup ke use case yang dicakup. Sebagai contoh, penempatan pesanan mungkin selalu mencakup otorisasi pembayaran. -
<<extend>>:Use case yang memperluas menambahkan perilaku ke use case dasar di bawah suatu kondisi. Panah putus-putus menunjuk dari use case yang memperluas ke use case dasar. Sebagai contoh, penerapan promosi dapat memperluas proses pemesanan. -
Generalisasi: Aktor atau use case yang terspesialisasi mewarisi dari yang lebih umum. Garis solid dengan segitiga kosong mengarah ke elemen yang lebih umum.
Pembedaan yang berguna: include berarti perilaku yang wajib; extend berarti perilaku tambahan bersyarat.
3. Dasar-dasar PlantUML
Diagram PlantUML dimulai dengan @startuml dan diakhiri dengan @enduml. Deklarasikan aktor dengan actor, use case dengan usecase, dan batas sistem dengan rectangle. Alias membuat elemen lebih mudah dirujuk dalam relasi.

@startuml
arah dari kiri ke kanan
actor Customer
rectangle "Toko Online" {
usecase "Jelajahi produk" as Browse
usecase "Tempel pesanan" as Place
}
Customer --> Browse
Customer --> Place
@enduml
arah dari kiri ke kananmeminta PlantUML untuk menyusun diagram secara horizontal. PlantUML dapat menyesuaikan tata letak yang tepat saat diagram berubah.
4. Contoh: toko online dasar

@startuml
arah kiri ke kanan
aktor Pelanggan
aktor Administrator sebagai Admin
kotak "Toko Online" {
usecase "Jelajahi produk" sebagai Browse
usecase "Tempatkan pesanan" sebagai Place
usecase "Lacak pengiriman" sebagai Track
usecase "Kelola katalog" sebagai Manage
}
Pelanggan --> Browse
Pelanggan --> Place
Pelanggan --> Track
Admin --> Manage
@enduml
Pelanggan menjelajahi, memesan, dan melacak pengiriman. Administrator mengelola katalog. Diagram ini sengaja mengabaikan langkah-langkah internal pemrosesan pesanan.
5. Contoh: include dan extend
Misalkan penempatan pesanan selalu memerlukan otorisasi pembayaran, sementara penerapan promosi bersifat opsional dan bersyarat.

@startuml
arah kiri ke kanan
aktor Pelanggan
kotak "Toko Online" {
usecase "Tempatkan pesanan" sebagai Place
usecase "Otorisasi pembayaran" sebagai Payment
usecase "Terapkan promosi" sebagai Promotion
}
Pelanggan --> Place
Place ..> Payment : <<include>>
Promotion ..> Place : <<extend>>
@enduml
Panah Place ..> Payment berarti bahwa “Tempatkan pesanan” mencakup perilaku pembayaran yang diperlukan. Panah Promotion ..> Place berarti bahwa “Terapkan promosi” memperluas “Tempatkan pesanan” ketika kondisinya terpenuhi.
Dokumentasikan kondisinya—misalnya, “pelanggan memasukkan kode promosi yang valid”—dalam deskripsi use case atau catatan.
6. Contoh: generalisasi aktor dan sistem eksternal
Aktor khusus mewarisi interaksi dari aktor yang lebih umum. Layanan eksternal juga dapat menjadi aktor ketika berinteraksi dengan sistem.

@startuml
arah kiri ke kanan
aktor "Pengguna" sebagai User
aktor "Pelanggan terdaftar" sebagai Customer
aktor "Gerbang pembayaran" sebagai Gateway
Customer --|> User
kotak "Toko Online" {
usecase "Jelajahi produk" sebagai Browse
usecase "Tempatkan pesanan" sebagai Place
usecase "Proses pembayaran" sebagai Pay
}
User --> Browse
Customer --> Place
Place ..> Pay : <<include>>
Gateway --> Pay
@enduml
“Pelanggan terdaftar” mengkhususkan “Pengguna” dan mewarisi interaksi pengguna umum. Gerbang pembayaran berada di luar batas Toko Online tetapi berpartisipasi dalam kasus penggunaan pembayaran.
7. Contoh: generalisasi kasus penggunaan
Generalisasi dapat mewakili versi khusus dari kasus penggunaan yang lebih luas. Segitiga kosong mengarah ke kasus penggunaan umum.

@startuml
arah dari kiri ke kanan
aktor Pelanggan
persegi panjang "Sistem Pembayaran" {
usecase "Buat pembayaran" sebagai Pembayaran
usecase "Bayar dengan kartu" sebagai Kartu
usecase "Bayar dengan transfer bank" sebagai Transfer
}
Pelanggan --> Kartu
Pelanggan --> Transfer
Kartu --|> Pembayaran
Transfer --|> Pembayaran
@enduml
Gunakan ini ketika kasus penggunaan khusus berbagi tujuan umum tetapi memiliki perbedaan yang bermakna. Jika variasi hanyalah langkah bersyarat, sebuah <<extend>> relasi atau deskripsi kasus penggunaan tertulis mungkin lebih jelas.
8. Bekerja di VPasCode
Alur kerja praktis:

-
Tentukan ruang lingkup. Identifikasi batas sistem, peran aktor, dan tujuan yang ingin dicapai oleh setiap peran.
-
Buat draf. Tulis PlantUML secara langsung atau minta asisten AI untuk membuat diagram kasus penggunaan.
-
Tinjau kode dan pratinjau. Konfirmasi bahwa aktor berada di luar batas sistem, kasus penggunaan berada di dalamnya, dan panah mengarah ke arah yang benar.
-
Sempurnakan model. Ganti nama yang samar, hapus detail implementasi, dan tambahkan relasi hanya jika mencerminkan persyaratan nyata.
-
Minta penyuntingan AI yang ditargetkan. Sebagai contoh: “Tambahkan aktor gerbang pembayaran eksternal dan tampilkan interaksi pembayaran yang diperlukan menggunakan relasi include. Biarkan sisanya tidak berubah.”
-
Validasi dengan pemangku kepentingan. Periksa bahwa diagram mencerminkan ruang lingkup aktual sistem dan tujuan pengguna.
-
Simpan sumbernya. Simpan
.pumlteks bersama dokumentasi proyek atau dalam kontrol versi. Ekspor gambar saat diperlukan untuk dokumen atau presentasi.
Contoh permintaan bantuan AI
Buat diagram kasus penggunaan UML dalam PlantUML untuk toko online. Sertakan batas sistem, aktor Pelanggan dan Administrator, serta tujuan Jelajahi produk, Tempatkan pesanan, Lacak pengiriman, dan Kelola katalog. Tampilkan otorisasi pembayaran sebagai perilaku yang diperlukan yang disertakan oleh Tempatkan pesanan. Tampilkan penerapan promosi sebagai ekstensi bersyarat dari Tempatkan pesanan. Kembalikan hanya sumber PlantUML yang valid.
Anggap kode yang dihasilkan AI sebagai draf awal. Tinjau aktor, batas, hubungan, dan asumsi bisnis sebelum menggunakannya.
9. Jebakan umum

-
Memodelkan komponen internal sebagai aktor:Aktor harus berupa peran eksternal atau sistem yang berinteraksi dengan subjek.
-
Menamai kasus penggunaan sebagai tugas implementasi:Lebih prefer “Lacak pengiriman” daripada “Panggil API pelacakan.”
-
Menggunakan
<<include>>untuk perilaku opsional: Include merepresentasikan perilaku yang diperlukan oleh kasus penggunaan dasar. -
Memutar arah panah hubungan: Include menunjuk ke kasus penggunaan yang disertakan; extend menunjuk ke kasus penggunaan dasar.
-
Memadatkan satu diagram dengan detail:Gunakan diagram tingkat tinggi untuk ruang lingkup, lalu gunakan diagram terpisah atau teks untuk skenario terperinci.
-
Mengasumsikan render yang berhasil berarti modelnya benar:PlantUML dapat merender diagram yang masih salah merepresentasikan persyaratan.
10. Daftar periksa tinjauan
Sebelum membagikan diagram, pastikan bahwa:

-
Batas sistem jelas.
-
Setiap aktor bersifat eksternal dan mewakili sebuah peran.
-
Nama kasus penggunaan menggambarkan tujuan yang bermakna.
-
Asosiasi aktor mencerminkan interaksi yang sebenarnya.
-
Hubungan include bersifat wajib; hubungan extend bersifat bersyarat atau dibenarkan dengan cara lain.
-
Panah generalisasi menunjuk ke aktor atau kasus penggunaan yang lebih umum.
-
Diagram tetap mudah dibaca pada ukuran yang dimaksudkan.
-
Asumsi yang dihasilkan oleh AI telah ditinjau bersama orang-orang yang memahami persyaratan.
This post is also available in Deutsch, English, Español, فارسی, Français, 日本語, Polski, Portuguese, Ру́сский, Việt Nam and 繁體中文.











