Diagram Activity atau Activity Diagram adalah salah
satu cara untuk memodelkan event-event yang terjadi dalam suatu use case.
Activity diagram ini dapat digantikan dengan sejumlah teks, namun penggunaan teks kadang sulit dipahami, terutama
jika aliran-aliran event berbelit-belit dan memiliki banyak alternatif.
Activity diagram digunakan untuk memodelkan aspek dinamis dari sistem. Activity diagram secara esensial mirip diagram alir
(flowchart) dan memperlihatkan aliran kendali dari suatu aktifitas ke aktifitas
lainnya.
Dalam pemodelan dinamis suatu sistem (dalam kebanyakan hal) terjadi
langkah-langkah berurutan (sequential) serta konkuren dalam proses komputasi.
Dengan Activity Diagram, kita juga memodelkan aliran-aliran dari objek pergerakannya
dari suatu State ke State lainnya dalam suatu aliran kendali.
Activity Diagram memungkinkan :
Ø
Menvisualisasikan
Ø
Menspesifikasikan
Ø
Mengkonstruksi
Ø
Mendokumentasikan sifat dinamis dari sekumpulan objek
Ø
Memodelkan aliran kendali dari suatu operasi.
ACTION DAN ACTIVITY State
Aliran kendali dalam Activity
Diagram :
Ø
Mengevaluasi beberapa ekpresi yang mengubah nilai
suatu atribut
Ø
Mengembalikan suatu nilai tertentu.
Action State merupakan State dari
sistem dimana setiap State mencerminkan eksekusi dari suatu aksi.
Langkah – langkah
dari Action State :
Ø
Memanggil operasi yang terjadi pada sebuah objek
Ø
Mengirim sinyal (signal) pada objek
Ø
Sekedar menciptakan atau menghancurkan suatu objek.
State -> pada activity diagram -> aksi
(ekpresi) yang terjadi pada suatu objek.
Action State -> ATOMIK :
Ø
Tidak dapat didekomposisi lebih lanjut.
Ø
Event – event yang mungkin terjadi.
Ø
Pekerjaan suatu Action State tidak akan terinterupsi.
Ø
Pekerjaan dari suatu Action State secara umum dipertimbangkan mengambil waktu
eksekusi yang tidak signifikan dibandingkan waktu kerja sistem secara
Ø
keseluruhan.
Activity Diagram -> tidak bersifat ATOMIK :
Dapat diinterupsi.
Membutuhkan beberapa waktu dari perjalanan sistem/perangkat lunak untuk terselesaikan
dengan tuntas.
Action State -> beberapa kasus khusus dari Activity State.
Activity State -> komposit -> memiliki aliran kendali yang tersusun dari
Activity State serta Action State yang lain.
Ø Ex : “memproses pesanan” -> acivity state
TRANSITION
Fungsi
:
Ø Menspesifikasikan aksi atau aktifitas dari suatu state diselesaikan.
Ø Memperlihatkan lintasan dari satu aksi atau aktifitas
ke aksi atau aktifitas berikutnya.
Transisi
semantik
pemicuan
(fired atau trigger) :
Ø Karena control dilewatkan dengan segera setelah suatu pekerjaan
diselesaikan.
Ø Setelah suatu state diselesaikan, kita dapat
mengeksekusi aksi keluar (exit action) – jika ada.
Ø Selanjutnya dan tanpa penundaan, control mengikuti
transisi dan dilewatkan ke aksi atau aktifitas berikutnya.
PERCABANGAN
(BRANCHING)
Pada dasarnya
transisi berurutan adalah umum, tapi transisi tidak selalu terjadi secara
berurutan. Seperti dalam diagram alir (flowchart), kita juga dapat
melibatkan
percabangan. Percabangan dilukiskan dalam bentuk jajaran genjang. Pada saat
transisi berjalan, kita dapat menempatkan ekspresi boolean tertentu, yang
dievaluasi sekali saat memasuki percabangan. Kalimat penentu (guard) untuk menentukan
cabang mana yang akan dimasuki.
FORKING
DAN JOINING
Dalam UML kita
menggunakan garis sinkronisasi untuk menspesifikasikan forking serta
joining. Forking merupakan satu aliran yang pada tahap tertentu
berubah menjadi beberapa aliran. Sedangkan Joining merupakan beberapa
aliran sekaligus yang secara bersamaan masuk pada suatu titik. Garis sinkronisasi
digambarkan dengan garis horisontal tebal.
PENGAPLIKASIAN
FORKING DAN JOINING
Sebagai contoh, pertimbangkan aliran konkuren yang terlibat pada pengendalian peralatan audio-animatronic,
yaitu peralatan yang mencoba menirukan percakapan serta sikap manusia.
Ø Forking memisahkan beberapa aliran konkuren dari
satu aliran tunggal.
Ø Join menggambarkan sinkronisasi dari dua atau lebih
aliran kendali yang konkuren. Pada join sinkronisasi berarti aliran
konkuren yang masuk saling menunggu satu sama lain, baru aliran menuju
titik-titik selanjutnya.
0 komentar:
Posting Komentar