Membuat Activity Diagram

Activity Diagram adalah salah satu Behavioural Diagram. Diagram ini menunjukkan alur aktifitas atau proses yang terjadi di dalam system untuk setiap Use Case. Makanya, sebelum membuat Activity Diagram, sebaiknya kita membuat Use Case Diagram.

Activity Diagram disusun dari beberapa komponen, yaitu Action, Control Flow, Initial Node, Final Activity Node, Activity Partition, dan beberapa komponen lain. Setiap komponen, punya fungsinya masing-masing. Kita bahas semuanya sambil membuat sebuah Activity Diagram supaya lebih mudah kita pahami. Oke?

Kita udah pernah membuat Use Case Diagram di artikel Membuat Use Case Diagram, disitu kita membuat Use Case Diagram untuk ATM system. Nah, sekarang kita buat Activity Diagram untuk salah satu Use Case di dalamnya, yaitu Use Case: Memasukkan Kartu. Apa langkah pertama kita? Kita mulai dengan membuat Activity Partition.

#1 Membuat Activity Partition

Activity Partition digunakan untuk mengelompokkan Action berdasarkan individu/objek yang mengeksekusinya. Komponen ini dibentuk dalam notasi swimlane secara horizontal ataupun vertikal. Individu atau objek yang mengeksekusi Action adalah Actor dan Subject di Use Case Diagram.

Actor dan Subject yang terlibat di Use Case: Memasukkan Kartu, adalah Nasabah dan ATM system. Jadi kita buat dua Activity Partition dan kita beri label Nasabah dan ATM system.

#2 Membuat Initial Node

Kita lanjutkan dengan membuat Initial Node untuk menunjukkan kalau Activity Diagram ini dimulai. Karena Use Case Memasukkan Kartu dimulai oleh Nasabah, maka kita buat Initial Node di Activity Partition: Nasabah. Initial Node dibentuk dengan sebuah lingkaran dan label.

#3 Merangkai Action

Karena Nasabah harus memasukkan kartu terlebih dahulu sebelum menggunakan ATM, maka kita buat sebuah Action: Masukkan Kartu. Action dibentuk dengan rounded rectangle serta labelnya. Action menunjukkan aktifitas atau proses yang dieksekusi.

Terus kita arahkan panah dari Initial Node ke Action ini untuk menunjukkan kalau Action: Masukkan Kartu akan dieksekusi. Panah ini menunjukkan control flow, yaitu rangkaian eksekusi dari suatu komponen ke komponen lain.

Setelah nasabah memasukkan kartu, ATM system akan memvalidasi apakah kartu ini memang kartu ATM atau bukan. Kalau ternyata nasabah memasukkan kartu BPJS, ATM tak boleh memproses, dong. Validasi ini dilakukan oleh ATM system, jadi kita buat Action: Validasi Kartu, di Activity Partition: ATM system.

#4 Menggunakan Decision Node

Validasi kartu ATM akan menentukan kartu valid atau kartu tidak valid. Kondisi kita adalah validitas kartu ATM, jadi hasil dari uji kondisi ini adalah valid dan tidak valid. Maka kita buat Decision Node beserta labelnya Kartu Valid?, dan dua panah yang kita beri label valid dan tidak valid.

Decision Node digunakan untuk uji kondisi dari control flow. Node ini dibentuk dengan diamond dan panah. Setiap panah menunjukkan hasil uji kondisi.

Jika kartu valid, maka layar ATM menampilkan input PIN. Sedangkan jika tidak valid, maka kartu akan keluar. Kita lanjutkan dengan membuat dua Action: Tampil Input PIN dan Action: Keluar Kartu.

#5 Object Flow dan Object Node

ATM system membutuhkan informasi kartu ATM untuk melakukan validasi, maka kita hubungkan Action: Validasi Kartu dengan sebuah Object Node: Data Kartu. Object Node menunjukkan objek yang digunakan untuk suatu Action. Kita arahkan panah Object Flow dari Object ke Action: Validasi Kartu. Object Flow menunjukkan hubungan Object dengan komponen lain.

Object Node dibentuk dengan persegi panjang, sedangkan Object Flow adalah panah dengan garis tipe long dash.

#6 Menyatukan dengan Merge Node

Merge Node digunakan untuk menyatukan kembali control flow yang terpisah karena Decision Node. Action: Tampil Input PIN dan Action: Keluar Kartu berasal dari dua control flow karena Decision Node.

Setelah ATM system menampilkan layar input PIN ataupun mengeluarkan kartu ATM, tidak ada lagi aktifitas lain untuk Use Case: Memasukkan Kartu. Maka Activity Diagram ini akan kita akhiri dengan Final Activity Node.

#7 Mengakhiri dengan Final Activity Node

Kita akhiri Activity Diagram dengan membuat Final Activity Node. Node ini digunakan untuk mengakhiri semua control flow di Activity Diagram. Final Activity Node dibentuk dengan double circle dan label. Jadi, kita buat double circle dan label 'Selesai'.

Sebenarnya, setelah nasabah memasukkan kartu, nasabah bisa memasukkan PIN. Tapi karena memasukkan PIN adalah Use Case yang terpisah dengan Use Case: Memasukkan Kartu, jadi aktifitas memasukkan PIN dibuat di Activity Diagram yang lain.

#8 Menggunakan Node Lainnya

Komponen lain yang bisa digunakan di Activity Diagram adalah Fork Node dan Join Node. Apa fungsi kedua komponen ini?

Fork Node digunakan untuk membagi control flow menjadi beberapa control flow yang dieksekusi bersamaan. Activity Diagram: Menyimpan Uang menggunakan Fork Node untuk mengeksekusi Action: Cetak Struk ATM dan Deposit Uang.

Join Node digunakan untuk menyatukan beberapa control flow dan melakukan sinkronisasi control flow. Activity Diagram: Menyimpan Uang juga menggunakan Join Node untuk menggabungkan control flow untuk diakhiri dengan Final Activity Node.

Join Node dan Merge Node

Join Node dan Merge Node digunakan di kondisi yang berbeda. Hati-hati jangan sampai keliru menggunakannya! Join Node dipakai ketika kita ingin menyatukan dua control flow yang paralel, dan dieksekusi bersamaan. Sedangkan Merge Node dipakai ketika hanya satu dari dua control flow yang akan dieksekusi.

Well done! Anda baru saja belajar cara membuat Activity Diagram. Cobalah membuat Activity Diagram lainnya dan lihat contoh-contoh lain di internet. Jangan takut salah! Ingat, anak muda boleh salah, boleh tidak banyak tahu. Tapi anak muda tidak boleh menyerah!

foto penulis

Penulis

adalah seorang Dosen di Bidang Ilmu Komputer. Ia bergelar Master of Computer Science dari Universitas Gadjah Mada.

Anda mencari sesuatu? Cari disini!