Mendalami dan memahami lebih jauh mengenai State Machine Diagram: Pengertian dan implementasi dalam studi case
State machine diagram adalah diagram yang menunjukkan bagaimana suatu objek dapat hidup dalam keadaan dan transisi. State adalah suatu kondisi selama hidup suatu benda ketika memenuhi kriteria tertentu, melakukan suatu tindakan, atau menunggu suatu peristiwa sedangkan transisi adalah pergerakan suatu objek dari satu keadaan ke keadaan lainnya.
Sebelum membahas lebih lanjut mengenai state machine diagram kita harus mengerti apa itu UML? UML adalah Unified Modeling Language adalah 1sebuah bahasa yang digunakan untuk memvisualisasikan, menspesifikasikan, membangun, dan mendokumentasikan dari sistem developer software yang berbasis object oriented.
UML itu sendiri digunakan sebagai bahasa pemodelan yang baik dan dapat digunakan oleh manusia dan mesin. Karena itu, UML bukan hanya bahasa pemrograman visualisasi, akan tetapi juga dapat terintegrasi dengan berbagai bahasa pemrograman seperti JAVA, C++, visual basic datau bahkan dapat langsung berintegrasi dengan database object oriented. Berikut penjelasan mengenai UML:

Figure 1
Dalam UML tersebut nantinya ada yang namanya state machine diagram. Namun, sebelum itu UML dibagi menjadi 2 spesifikasi diagram, yaitu 2structure diagram dan behavioral diagram:

Figure 2. sumber: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-state-machine-diagram/
Dalam memahami state machine diagram, terdapat notation-notation dalam state diagram diantaranya terdapat:
- State

Figure 3
Notasi ini menggambarkan bahwa suatu kondisi yang terdapat pada objek yang dapat memenhi beberapa kondisi untuk melakukan kegiatan atau suatu event.
- Transition

Figure 4
Sebuah tanda panah yang ditunjukkan untuk menghubungkan dua state dimana objek pada state pertama akan terhubung dan melakukan action saat state kedua sudah terpenuhi dalam suabh kondisi.
- Event

Figure 5
Terjadi apabila dalam membuat state dari object awal dan terjadi kondisi object berubah ini digunakan terjadi apabila kondisi entry point atau exit point.
- Initial Sate dan Final State
Figure 6
-
- Initial state: digunakan sebagai menggambarkan situasi/kondisi di awal dan sebagai tahap memulai state dan event.
- Final state: digunakan sebagai menggambarkan situasi/kondisi di akhir dan sebagai tahap akhir state dan event.
Lalu bagaimana cara kita develop sebuah state machine diagram? Berikut cara simple dalam membuat dan mengembangkan state machine diagram:
- Choose a single object class.
- Identify the states and exit transitions.
- Identify concurrent paths.
- Identify additional paths.
- Build the state machine diagram.
Berikut terdapat 8 langkah-langkah untuk memulai state machine diagram secara konkrit menurut Satzinger, Jackson, and Burd, 2012):
- Review the class diagram and select classes that might require state machine diagrams
Pada tahap ini, harus menganalisis dan harus memilih kelas yang memiliki beberapa kondisi status yang penting untuk dilacak oleh sistem. Kemudian, mulailah dengan class yang terlihat seperti state machine diagram paling sederhana.
- For each class, make a list of status conditions (states) you can identify
Untuk memastikan keadaan objek dunia nyata yang akan direpresentasikan dalam sistem perangkat lunak, aktivitas yang harus dilakukan pada langkah ini adalah brainstorming.
- Begin building diagram fragments by identifying transitions that cause an object to leave the identified state
Misalnya, jika penjualan berada dalam status Siap dilayani, transisi seperti startServing akan membuat pesanan meninggalkan status tersebut.
- Sequence these states in the correct order and aggregate combinations into larger fragments
Pada langkah ini, susunan kombinasi tersebut menjadi fragmen yang lebih besar.
- Review paths and look for independent, concurrent paths
- Look for additional transitions and test both directions
Setelah itu, periksa setiap kombinasi keadaan yang berpasangan untuk memastikan apakah ada transisi yang sah antar keadaan.
- Expand each transition with appropriate message event, guard condition, and action expression
- Review and test the state machine diagram for the class
Evaluasi state machine diagram untuk memastikan bahwa semua status dan objek terdefinisi dengan baik. Setelah evaluasi, diagram mungkin perlu diperbarui jika tidak sesuai dengan peristiwa atau informasi sebenarnya.
Berikut contoh study case state machine diagram:

Figure 7
Pada gambar diatas menjelaskan merupakan state machine diagram order. Dalam gambar tersebut menggambarkan proses pembuatan orderan dimulai dari sistem melakukan pembuatan orderan. Setelah data dari sistem telah terintegrasi, customer dapat melakukan pembatalan orderan/pesanan. Dan apabila customer ingin melanjutkan orderan/pesanan, maka orderan tersebut akan berubah status menjadi akan dikirim. Setelah berhasil dikirim orderan/pesanan, maka customer akan merubah status tersebut menjadi orderan berhasil diterima atau orderan telah diterima.
Referensi:
- Ayu, D. (2020, Juli 10). State Machine Diagram. Medium.com. https://dypsi137.medium.com/state-machine-diagram-14f87a38d071
- Visual Paradigm. (2023). What is State Machine Diagram? Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-state-machine-diagram/
- Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2012). Systems Analysis and Design: In a Changing World. Boston: Cengage Learning. Retrieved from https://sis.binus.ac.id/2016/12/13/state-machine-diagram/
Comments :