State machine diagram adalah diagram yang digunakan untuk menggambarkan perilaku sistem yang berorientasi objek. Diagram ini menggambarkan perubahan keadaan (state) yang mungkin dialami oleh objek selama hidupnya. State machine diagram dapat digunakan untuk berbagai tujuan, termasuk: 

  • Menjelaskan perilaku sistem secara keseluruhan 
  • Mendefinisikan interaksi antara objek-objek dalam sistem 
  • Mendokumentasikan persyaratan sistem 
  • Membantu dalam mendeteksi masalah, debugging dan pengujian sistem 
  • Untuk dokumentasi perusahaan 

Elemen-elemen State Machine Diagram 

State machine diagram terdiri dari beberapa elemen dasar, yaitu: 

  • State: State adalah keadaan yang mungkin dialami oleh objek. State digambarkan sebagai kotak persegi panjang dengan nama state di dalamnya. 
  • Transition: Transition adalah perubahan dari satu state ke state lainnya. Transition digambarkan sebagai garis dengan panah yang menghubungkan dua state. 
  • Event: Event adalah kejadian yang menyebabkan objek berpindah dari satu state ke state lainnya. Event digambarkan sebagai label di ujung panah transition. 
  • Guard: Guard adalah kondisi yang harus dipenuhi agar transition dapat terjadi. Guard digambarkan sebagai tanda kurung kurawal di ujung panah transition. 
  • Action: Action adalah aktivitas yang dilakukan oleh objek saat berpindah dari satu state ke state lainnya. Action digambarkan sebagai label di dalam state. 

Jenis-jenis State Machine Diagram 

Ada dua jenis state machine diagram, yaitu: 

  • Simple state machine diagram: Simple state machine diagram adalah diagram yang menggambarkan perilaku sistem secara keseluruhan. Simple state machine diagram biasanya digunakan untuk memberikan gambaran umum tentang perilaku sistem. 

  • Complex state machine diagram: Complex state machine diagram adalah diagram yang menggambarkan interaksi antara objek-objek dalam sistem. Complex state machine diagram biasanya digunakan untuk mendokumentasikan persyaratan sistem secara detail. 

 

  • Contoh State Machine Diagram 

Berikut adalah contoh state machine diagram untuk sistem ATM: 

Diagram ini menggambarkan perilaku ATM secara keseluruhan. ATM dapat berada di salah satu dari empat state: Idle, Card Inserted, PIN Entered, dan Transaction Complete. 

Saat ATM berada di state Idle, pengguna dapat memasukkan kartu ATM. Ketika kartu ATM dimasukkan, ATM akan berpindah ke state Card Inserted. 

Saat ATM berada di state Card Inserted, pengguna dapat memasukkan PIN. Ketika PIN dimasukkan, ATM akan berpindah ke state PIN Entered. 

Saat ATM berada di state PIN Entered, pengguna dapat melakukan transaksi. Setelah transaksi selesai, ATM akan berpindah ke state Transaction Complete. 

Tips untuk Membuat State Machine Diagram 

Berikut adalah beberapa tips untuk membuat state machine diagram: 

  • Mulailah dengan mengidentifikasi state-state yang mungkin dialami oleh objek. 
  • Identifikasi event-event yang dapat menyebabkan objek berpindah dari satu state ke state lainnya. 
  • Tentukan guard-guard yang harus dipenuhi agar transition dapat terjadi. 
  • Tentukan action-action yang dilakukan oleh objek saat berpindah dari satu state ke state lainnya. 
  • Pastikan diagram mudah dibaca dan dipahami. 

Kesimpulan 

State machine diagram adalah alat yang berguna untuk menggambarkan perilaku sistem yang berorientasi objek. Diagram ini dapat digunakan untuk berbagai tujuan, termasuk menjelaskan perilaku sistem secara keseluruhan, mendefinisikan interaksi antara objek-objek dalam sistem, mendokumentasikan persyaratan sistem, dan membantu dalam debugging dan pengujian sistem. 

References 

  • Badreddin, O. (n.d.). Complex state machine model | Download Scientific Diagram. ResearchGate. Retrieved November 30, 2023, from https://www.researchgate.net/figure/Complex-state-machine-model_fig12_229919409 
  • Jain, S. (2022, November 11). State Transition Diagram for an ATM System. GeeksforGeeks. Retrieved November 30, 2023, from https://www.geeksforgeeks.org/state-transition-diagram-for-an-atm-system/ 
  • StateMachine Diagram – Transition Guards and Effects | Enterprise Architect Diagrams Gallery. (n.d.). Sparx Systems. Retrieved November 30, 2023, from https://sparxsystems.com/resources/gallery/diagrams/software/sw-state_machine_diagram_-transition_guards_and_effects.html 
  • What is State Machine Diagram? – Why State Machine Diagrams. (n.d.). Visual Paradigm. Retrieved November 30, 2023, from https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-state-machine-diagram/