Activity Diagram
by Adam Mukharil Bachtiar
Setelah memodelkan fungsional
menggunakan Use Case View maka
langkah berikutnya adalah
memodelkan Process View.
Process view mendeskripsikan proses-
proses yang ada di dalam fungsional pada
use case view.
Russ Miles, Learning UML 2.0
Untuk memodelkan process view
menggunakan UML, kita bisa
menggunakan Activity Diagram.
Overview Diagram Aktivitas
(with swimlanes)
Sebelum memodelkan process view, mari
kita pahami dahulu perbedaan antara
aktivitas dengan aksi
Notation
Aksi
Activity Diiagram memberikan gambaran
yang lebih baik tentang langkah-langkah
di use case pada use case description
Russ Miles, Learning UML 2.0
Notasi Diagram Aktivitas
SIMBOL SEMANTIC FUNGSI
Initial State Penanda awal dari aktivitas
Final State Penanda akhir dari aktivitas
Transisi Menggambarkan alur antar aksi
Aksi
Menggambarkan aksi yang ada
pada satu aktivitas
Activity
Diagram Aktivitas Cuci Baju
Decision and Merge
Activity1
Activity2 Activity3
Kondisi 1 Kondisi 2
Activity4
Branch
Memisahkan aksi berdasarkan
kondisi tertentu
Merge Menggabungkan aksi yang
dipisahkan oleh branch
Decision and Merge
Russ Miles, Learning UML 2.0
Activity1
Activity2
Activity3
Activity4
Activity5
Doing Some Tasks at Same Time
Fork
Memisahkan aksi yang bisa
dijalankan secara bersamaan
Join
Menggabungkan aksi yang
dipisahkan oleh fork agar bisa
sequence kembali
Doing Some Tasks at Same Time
Russ Miles, Learning UML 2.0
Terkadang waktu adalah hal penting
di dalam aktivitas. Pemodelan wakti
pada diagram aktivitas bisa
menggunakan time events.
Time Events
Time event dengan garis panah masuk
menandakan sebuah timeout
Time event tanpa garis panah masuk
menandakan repeating time event
Time Events
Russ Miles, Learning UML 2.0
Time event seperti ini bisa digunakan
sebagai alternatif notasi initial state
Secara spesifik, sebuah diagram
aktifitas terkadang juga memodelkan
siapa yang akan bertanggung jawab
terhadap aksi-aksi yang ada.
Oleh karena itu, digunakanlah notasi
swimlanes guna mempartisi
diagram aktifitas berdasarkan
tanggung jawab tersebut.
Partisi Diagram Aktivitas
Swimlane1 Swimlane2
Activity1
Activity2
Activity3
Activity4
Swinlane
Partisi Diagram Aktivitas
Russ Miles, Learning UML 2.0
Alternatif Partisi Diagram Aktivitas
Russ Miles, Learning UML 2.0
Annotation
Bisa digunakan sebagai alternatif
partisi diagram aktivitas
Sebuah diagram aktifitas bisa
memanggil diagram aktifitas lainnya
menggunakan notasi subactivity.
Memanggil Diagram Aktifitas Lain
Swimlane1 Swimlane2 Swimlane1 Swimlane2
Activity1
Activity2
Activity4
SubactivityState1
Activity1
Activity2
Activity4
Activity3
AKTIVITAS 1 SUB AKTIVITAS 1
Memanggil Diagram Aktifitas Lain
Russ Miles, Learning UML 2.0
Fitur lain dari diagram aktifitas adalah
penggambaran aliran objek pada
aksi-aksi di dalamnya.
Objek di sini bukan objek pada
programming tapi lebih kepada
lembar kerja fisik (bisa memo atau
order) untuk memulai suatu aksi.
Penggambaran Objek
Objek
Penggambaran Objek
Objek order dianggap sudah tersedia pada suatu bagian di diagram aktifitas (kurang detail)
Objek order digambarkan secara detail sebagai output dari Receive Order Request dan
input untuk Approve Payment
Russ Miles, Learning UML 2.0
Penggambaran Transformasi Objek
Notasi <<transformation>> digunakan apabila kita hanya menggunakan bagian kecil
(partial part) dari objek yang ada
Russ Miles, Learning UML 2.0
Penggambaran Perubahan State Objek
Notasi [STATE] digunakan apabila kita mau menggambarkan
perubahan kondisi keadaan dari suatu objek
Russ Miles, Learning UML 2.0
Terkadang ketika kita melibatkan aktor,
sistem, atau proses eksternal, kita perlu
menggambarkannya di diagram aktifitas.
Notasi yang digunakan untuk
menggambarkan hubungan tersebut
adalah notasi signals.
Sending and Receiving Signals
Sending Signal
Receiving Signal
Sending and Receiving Signals
Russ Miles, Learning UML 2.0
Setelah aksi Calculate Total dilakukan maka sistem akan mengirimkan request
untuk approval credit card (ke sistem lain) dan ketika sistem kita menerima
response (entah approve/reject), maka aksi Update Order Status akan dilakukan
Always Waiting Signals
Russ Miles, Learning UML 2.0
Apabila notasi signal digunakan sebagai initial state maka aksi receive order
akan selalu dilakukan selama aktifitas tersebut dilakukan.
Aksi-aksi di dalam suatu diagram
aktifitas bisa berhenti tanpa harus
melakukan seluruh aksi yang ada di
dalam diagram aktifitas tersebut.
Caranya adalah dengan
menginterupsi aksi menggunakan
notasi activity interrupt.
Activity Interruption
Russ Miles, Learning UML 2.0
Ketika Receive Cancellation menerima signal maka aksi ini akan menginterupsi
aksi yang sedang berjalan lalu menjalankan aksi Cancel Order.
Activity Interrupt
Apabila dalam diagram aktifitas
mengandung lebih dari 1 flow dan ada
1 flow yang mau diberhentikan maka
kita bisa gunakan notasi Flow Final.
Flow Final
Russ Miles, Learning UML 2.0
Hanya alur pada bagian aksi Improve Search Results akan diakhiri tanpa harus
menunggu seluruh aksi di aktifitas ini dilakukan
Flow Final
Selain notasi-notasi yang dibahas
sebelumnya, terdapat juga notasi yang
digunakan untuk mengelola diagram
aktifitas yang memiliki banyak aksi.
Connector Diagram Aktifitas
Russ Miles, Learning UML 2.0
Untuk diagram aktifitas yang memiliki banyak aksi bisa menggunakan notasi
connector untuk memisahkan aksi-aksi pada halaman yang berbeda
Jika ada kumpulan objek input yang setiap
objeknya dikenakan suatu aksi, kita bisa
menggunakan notasi Expansion Region.
Action for Each Input Object
Discuss Bug Report dilakukan untuk setiap Bug
Report yang diterima.
Russ Miles, Learning UML 2.0
Expansion Region

Activity Diagram