Diagram aktivitas UML memodelkan bagaimana pekerjaan mengalirmelalui suatu proses: tindakan yang dilakukan, keputusan yang diambil, pekerjaan paralel, dan jalur menuju penyelesaian. PlantUML memungkinkan Anda mendeskripsikan model tersebut sebagai teks, lalu merendernya menjadi diagram—pendekatan yang berguna ketika Anda menginginkan diagram yang mudah direvisi, ditinjau, dan disimpan bersama dokumentasi proyek. Sintaks aktivitas saat ini di PlantUML menggunakan kata kunci yang mudah dibaca seperti mulai, jika, ulang, dan cabang; sintaks aktivitas lamanya masih didukung, namun sintaks yang lebih baru direkomendasikan untuk diagram baru.

1. Apa yang harus dimodelkan
Gunakan diagram aktivitas untuk menjelaskan proses atau algoritma, misalnya:

-
Alur kerja checkout pelanggan
-
Proses persetujuan
-
Pipa impor data
-
Langkah-langkah dalam sebuah kasus penggunaan
-
Pekerjaan yang dibagi di antara orang, tim, atau komponen sistem
Aktivitas adalah unit pekerjaan, seperti “Validasi pesanan.” Sebuah aliran kendalimenghubungkan aktivitas dan menunjukkan urutan mereka. Sebuah keputusanmemilih di antara jalur alternatif; aliran paralelmenunjukkan pekerjaan yang dapat berjalan secara bersamaan. Diagram harus memperjelas perilaku, bukan mencoba mendokumentasikan setiap detail implementasi.
Aturan praktis yang berguna: jika pertanyaan utamanya adalah “Apa yang terjadi selanjutnya, dan di bawah kondisi apa?”, diagram aktivitas adalah pilihan yang tepat.
2. Dasar-dasar PlantUML
Diagram PlantUML dimulai dengan @startuml dan diakhiri dengan “@enduml. Dalam sintaks aktivitas saat ini:

-
startmenandai node awal. -
:Action;mendefinisikan sebuah aksi. -
if (...) then (...)bercabang berdasarkan suatu kondisi. -
endifmenutup kondisi. -
stopmengakhiri alur. -
repeatdanrepeat whilememodelkan pengulangan. -
fork,fork again, danend forkmemodelkan pekerjaan paralel.
Aksi ditulis secara berurutan dan terhubung secara implisit. Anda dapat menambahkan label pada cabang dan menggunakan partition untuk mengelompokkan pekerjaan berdasarkan tanggung jawab atau peran.
Berikut ini adalah contoh minimal:

@startuml
start
:Terima permintaan;
:Validasi permintaan;
stop
@enduml
3. Keputusan dan jalur alternatif
Gunakan jika ketika proses membuat pilihan. Label cabang harus menyampaikan hasil kondisi, bukan sekadar mengulang kondisi.

@startuml
start
:Terima pesanan;
:Periksa stok;
jika (Semua item tersedia?) maka (Ya)
:Reservasi item;
:Minta pembayaran;
else (Tidak)
:Beritahu pelanggan;
stop
endif
:Konfirmasi pesanan;
stop
@enduml
Di sini, jika memperkenalkan keputusan dan endif menutupnya. Label Ya dan Tidak membuat alternatif terlihat. Ketika jalur berlanjut ke tindakan bersama setelah endif, jalur tersebut bergabung kembali ke alur.
Tips pemodelan: Jelaskan secara eksplisit apa yang terjadi pada setiap hasil yang bermakna. Jika jalur kesalahan, waktu habis, atau penolakan penting bagi pemangku kepentingan, tampilkan jalur tersebut daripada membiarkannya implisit.
4. Perulangan dan percobaan ulang
Gunakan perulangan ketika suatu tindakan atau kelompok tindakan dapat diulang. Contoh ini terus meminta input hingga lolos validasi:

@startuml
start
:Baca data yang disubmit;
repeat
:Validasi data;
if (Valid?) then (Ya)
:Simpan data;
break
else (Tidak)
:Tampilkan kesalahan validasi;
:Minta pengguna memperbaiki data;
endif
repeat while (Pengguna melanjutkan?) is (Ya) not (Tidak)
stop
@enduml
Loop bisa sulit dibaca jika kondisi keluarnya tidak jelas. Nyatakan apa yang menyebabkan upaya lain dan apa yang mengakhiri pengulangan—terutama ketika upaya ulang terbatas atau dapat dibatalkan.
5. Pekerjaan paralel dan sinkronisasi
Gunakan fork ketika tindakan independen dapat terjadi secara bersamaan, dan end fork ketika jalur harus disinkronkan sebelum proses berlanjut.

@startuml
start
:Pesanan dikonfirmasi;
fork
:Kirim email konfirmasi;
fork again
:Siapkan daftar pengambilan gudang;
fork again
:Perbarui dasbor penjualan;
end fork
:Tandai pesanan sedang diproses;
stop
@enduml
Fork tidak selalu berarti orang yang terpisah; ini dapat mewakili perilaku sistem yang bersamaan. Hanya gunakan ketika tindakan benar-benar dapat terjadi secara paralel. Jika satu tugas harus selesai sebelum tugas lain dimulai, modelkan secara berurutan.
6. Jalur renang dengan partisi
Partisi mengelompokkan tindakan berdasarkan peran, tim, atau sistem yang bertanggung jawab. Ini dapat membuat serah terima jelas tanpa mengubah proses itu sendiri. PlantUML mendukung pengelompokan aktivitas dengan partition.

@startuml
start
partition Pelanggan {
:Kirim pesanan;
}
partition "Layanan Pesanan" {
:Validasi pesanan;
if (Pesanan valid?) then (Ya)
:Buat catatan pesanan;
else (Tidak)
:Kembalikan kesalahan validasi;
stop
endif
}
partition Gudang {
:Siapkan pengiriman;
}
partition "Layanan Pesanan" {
:Kirim konfirmasi;
}
stop
@enduml
Pilih label jalur yang sesuai dengan pembagian tanggung jawab yang sebenarnya. Hindari membuat partisi baru untuk setiap komponen kecil; terlalu banyak jalur dapat membuat diagram lebih sulit dipindai.
7. Objek data dan catatan
Beberapa alur kerja diuntungkan dengan menampilkan input atau output penting. Diagram aktivitas PlantUML mendukung stereotipe node objek; catatan juga dapat menambahkan konteks tanpa mengubah setiap label tindakan menjadi paragraf.

@startuml
start
:Terima permintaan pembayaran;
:Otorisasi pembayaran;
note kanan
Menggunakan respons otorisasi
dari penyedia pembayaran.
end note
:Catat hasil pembayaran;
stop
@enduml
Jaga agar label aktivitas utama tetap singkat. Masukkan aturan bisnis, asumsi, atau klarifikasi dalam catatan ketika pembaca membutuhkannya, namun hal tersebut bukan merupakan langkah dalam alur.
8. Contoh lengkap: checkout online
Contoh yang lebih besar ini menggabungkan partisi, keputusan, jalur alternatif, dan pekerjaan paralel.

@startuml
title Checkout Online
start
partition Pelanggan {
:Tinjau keranjang;
:Kirim checkout;
}
partition "Layanan Pesanan" {
:Validasi keranjang dan alamat;
if (Keranjang dan alamat valid?) then (Ya)
:Hitung total;
else (Tidak)
:Tampilkan kesalahan validasi;
stop
endif
}
partition "Layanan Pembayaran" {
:Otorisasi pembayaran;
if (Pembayaran disetujui?) then (Disetujui)
:Tangkap pembayaran;
else (Ditolak)
:Kembalikan kegagalan pembayaran;
stop
endif
}
partition "Layanan Pesanan" {
:Buat pesanan;
}
fork
partition "Layanan Notifikasi" {
:Kirim konfirmasi pesanan;
}
fork again
partition Gudang {
:Antrikan pesanan untuk pengambilan;
}
end fork
partition "Layanan Pesanan" {
:Tampilkan konfirmasi pesanan;
}
stop
@enduml

Baca dari atas ke bawah: pelanggan mengirimkan checkout, layanan pesanan memvalidasinya, pembayaran diotorisasi, dan pesanan dibuat. Setelah itu, konfirmasi dan persiapan gudang berjalan secara paralel. Jika validasi atau pembayaran gagal, alur berakhir melalui jalur kegagalan yang relevan.
9. Alur kerja diagram-sebagai-kode
Sebuah alur kerja praktis adalah:
Alur kerja diagram-sebagai-kode
Sebuah alur kerja praktis adalah:
-
Deskripsikan prosesnya dalam bahasa yang sederhana.Identifikasi titik awal, akhir, tindakan utama, keputusan, pengecualian, tugas paralel, dan peran yang bertanggung jawab.
-
Buat draf PlantUML pertama.Fokuskan pada logika sebelum penataan gaya.
-
Render dan periksa hasilnya.Periksa bahwa hasil tersebut terbaca secara alami dan bahwa cabang serta perulangan dapat dipahami.
-
Tinjau logikanya bersama para pemangku kepentingan.Proses rendering memeriksa sintaks—bukan apakah prosesnya benar.
-
Revisi sumbernya dan simpan bersama proyek.Diagram berbasis teks mudah untuk dibandingkan dan ditinjau bersama dokumentasi lainnya.
Untuk rendering lokal, alat baris perintah PlantUML dapat menghasilkan file diagram; editor berbasis browser nyaman untuk draf cepat dan pratinjau. PlantUML juga menyediakan editor berbasis browser, sedangkan VPasCode menyediakan editor berbasis browser dengan pratinjau langsung dan dukungan diagram aktivitas PlantUML.
-
Deskripsikan prosesnya dengan bahasa yang sederhana.Identifikasi titik awal, titik akhir, tindakan utama, keputusan, pengecualian, tugas paralel, dan peran yang bertanggung jawab.
-
Buat draf PlantUML pertama.Fokuskan pada logika sebelum penataan gaya.
-
Render dan periksa hasilnya.Periksa bahwa hasil tersebut terbaca secara alami dan bahwa cabang serta perulangan dapat dipahami.
-
Tinjau logikanya bersama para pemangku kepentingan.Proses rendering memeriksa sintaks—bukan apakah prosesnya benar.
-
Revisi sumbernya dan simpan bersama proyek.Diagram berbasis teks mudah untuk dibandingkan dan ditinjau bersama dokumentasi lainnya.
Untuk rendering lokal, alat baris perintah PlantUML dapat menghasilkan file diagram; editor berbasis browser nyaman untuk draf cepat dan pratinjau. PlantUML juga menyediakan editor berbasis browser, sedangkan VPasCode menyediakan editor berbasis browser dengan pratinjau langsung dan dukungan diagram aktivitas PlantUML.
10. Menggunakan Visual Paradigm VPasCode dan bantuan AI
VPasCode adalah editor berbasis browser dari Visual Paradigm untuk mengubah teks menjadi diagram. Dukungan PlantUML-nya mencakup diagram aktivitas, dan editor-nya menyediakan rendering langsung. Visual Paradigm juga menggambarkan generasi diagram berbasis bahasa alami bawaan dan bantuan AI untuk memodifikasi atau memperbaiki kode diagram.
Alur kerja yang dibantu AI yang bermanfaat:

-
Berikan perintah untuk perilaku, bukan hanya jenis diagram.Sebagai contoh:
“Buat diagram aktivitas PlantUML untuk proses checkout online. Sertakan validasi keranjang, validasi alamat, otorisasi pembayaran, jalur kegagalan, pembuatan pesanan, serta email konfirmasi dan persiapan gudang yang berjalan paralel. Gunakan partisi untuk Pelanggan, Layanan Pesanan, Layanan Pembayaran, Layanan Notifikasi, dan Gudang. Gunakan sintaks diagram aktivitas PlantUML yang berlaku saat ini.” -
Periksa sumber yang dihasilkan.Periksa bahwa ia menggunakan
@startuml/@enduml, bahwa setiap cabang mewakili kondisi nyata, dan bahwa jalur yang gagal atau alternatif ditangani. -
Render diagram tersebut di VPasCode.Gunakan pratinjau untuk mengidentifikasi kesalahan sintaks, label yang membingungkan, atau tata letak yang terlalu rumit.
-
Sempurnakan PlantUML sendiri atau dengan penyuntingan AI yang ditargetkan.Minta perubahan spesifik, seperti “Tambahkan jalur waktu habis pembayaran” atau “Jadikan persiapan gudang berurutan setelah pembuatan pesanan.”
-
Validasi proses tersebut dengan seseorang yang memahaminya.AI dapat membuat draf diagram yang masuk akal, tetapi AI tidak dapat memastikan bahwa proses aktual organisasi Anda benar.
Kontrol dan ketersediaan fitur VPasCode yang tepat dapat bervariasi berdasarkan edisi produk; konfirmasi opsi saat ini di editor yang Anda gunakan.
11. Alur kerja pemodelan Visual Paradigm
Gunakan VPasCode ketika Anda ingin bekerja langsung dengan sumber diagram dan pratinjau. Gunakan lingkungan pemodelan Visual Paradigm ketika tugas memerlukan penyuntingan grafis atau pekerjaan pemodelan yang lebih luas. Panduan Visual Paradigm menggambarkan alur kerja menghasilkan atau mengimpor diagram, lalu menyempurnakannya di editor visual; jalur impor yang tepat dapat bergantung pada produk dan versinya.
Serah terima yang masuk akal adalah:

-
Buat draf dan lakukan iterasi di PlantUML.
-
Bagikan diagram yang telah dirender dan sumbernya untuk ditinjau.
-
Buka atau impor ke editor Visual Paradigm yang relevan jika Anda memerlukan penyuntingan visual atau kemampuan pemodelan lainnya.
-
Pertahankan sumber PlantUML sebagai versi yang dipelihara jika itu adalah sumber kebenaran yang dipilih tim; hindari membuat penyuntingan yang bertentangan secara diam-diam di dua tempat.
12. Kesalahan umum dan daftar periksa kualitas
Sebelum membagikan diagram, periksa:

-
Apakah diagram tersebut memiliki awal yang jelas dan akhir yang bermakna?
-
Apakah setiap tindakan menggambarkan bagian pekerjaan yang dapat dikenali?
-
Apakah hasil keputusan dilabeli dengan jelas?
-
Apakah jalur penolakan, kesalahan, waktu habis, atau pembatalan disertakan di tempat yang penting?
-
Apakah kondisi perulangan membuat perilaku pengulangan dan keluar menjadi jelas?
-
Apakah tindakan paralel benar-benar independen, dan apakah sinkronisasi ditampilkan di tempat yang diperlukan?
-
Apakah partisi mewakili batas kepemilikan yang berguna?
-
Apakah pembaca dapat memahami alurnya tanpa membaca label tindakan yang panjang?
-
Apakah diagram yang dirender sesuai dengan proses aktual?
Diagram aktivitas yang baik bukanlah yang terpanjang atau paling detail. Diagram tersebut adalah diagram terkecil yang membuat alur kerja, keputusan, tanggung jawab, dan pengecualian penting menjadi jelas.
Referensi sintaks cepat
| Tujuan | Pola PlantUML |
|---|---|
| Mulai | mulai |
| Aksi | :Lakukan sesuatu; |
| Keputusan | if (Kondisi?) then (Ya) ... else (Tidak) ... endif |
| Perulangan | repeat ... repeat while (Kondisi?) |
| Pekerjaan paralel | fork ... fork lagi ... end fork |
| Kelompok tanggung jawab | partition Role { ... } |
| Selesai | berhenti |
Contoh-contoh ini menggunakan sintesis diagram aktivitas PlantUML yang saat ini berlaku. Untuk konstruk yang tidak umum atau perilaku rendering yang spesifik versi, periksa referensi diagram aktivitas PlantUML.
This post is also available in English, Español, فارسی, Français, 日本語, Polski and Ру́сский.







