Friday 12 April 2013

Artikel PSBO : State Machine Diagram


Pengertian
State Machine Diagram adalah teknik yang umum digunakan untuk menggambarkan behaviour sebuah sistem. Hal ini digunakan untuk membantu analis, perancang dan pengembang untuk memahami perilaku obyek pada sistem.

Atau pada sumber ini http://www.scribd.com/doc/44031853/State-Machine-Diagram  State Machine Diagram (Statechart diagram in versi 1.x) adalah Untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object dan memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object,transisi dari sebuah state ke state lainnya            

Simbol
Simbol UML untuk state chart diagram adalah segiempat yang tiap pojoknya dibuat rounded. Titik awalnya menggunakan lingkaran solid yang diarsir dan diakhiri dengan mata. UML juga memberi pilihan untuk menambahkan detil ke dalam simbol tersebut dengan membagi 3 area yaitu nama state, variabel dan aktivitas. State variabel seperti timer dan counter yang kadangkala sangat membantu.

 Activity terdiri atas events dan action, tiga hal yang sering
digunakan dalam activity adalah:
 1.   Entry = Apa yang terjadi ketika sistem masuk ke state
 2.   Exit = Apa yang terjadi ketika sistem meninggalkan state
 3.   Do = Apa yang terjadi ketika sistem ada di state
  
State, Event, Transition
Statechart diagram menampilkan state-state yang mungkin dari sebuah obyek, event yang bisa dideteksi dan respon atas eventevent tersebut. Secara umum, pendeteksian sebuah event dapat menyebabkan sebuah obyek bergerak dari satu state ke state yang lain yang disebut dengan transition.Contoh :


Label pada transisi memiliki dua bagian yang dipisahkan dengan garis miring. Yang pertama adalah nama dari peristiwa yang memicu transisi. Yang kedua adalah nama dari suatu tindakan yang akan dilakukan setelah transisi telah dipicu. Properties dari Gambar Diagram sebuah PINTU PUTAR di atas adalah sebagai berikut:
Ø  Jika pintu putar dalam keadaan terkunci, dan  Coin dimasukkan, maka transisi pintu putar keUnlocked state, dan tindakan Aktifkan dilakukan.
Ø  Jika pintu putar dalam keadaan unlocked, setelah berhasi dibuka, maka transisi pintu putar ke Lock state, dan tindakan Lock dilakukan.

Sebuah state machine diagram mempunyai :
         state (kejadian sesaat) are represented by the values of attributes of an object
         State digambarkan dengan bentuk Data Kosong
         “Black Hole” states is state has transition into it but none out
         Miracle states is state has transition out of it but none     
        Initial state / creation state dengantanda untuk memulai sebuah state diagram ( in western culture people read from left to right, top to bottom, starting in the top – left corner
         Composite States
Ø  Kumpulan dari beberapa state yang yang setidaknya dalam sebuah region
Ø  Orthogonal State, jenis composite state yanglebih dari satu region
         Submachine State
Ø  Sejenis composite state yang isinya didefinisikan oleh state machine lain.
Ø  State machine yang berisi submachine state disebut “containing state machine.
Ø  Sebuah state yang dihubungkan dengan machine lainnya.
Ø  Dihubungkan ke satu / lebih entry point dan satu / lebih exit point
Digunakan untuk mendukung konsep encapsulation
Ø  Sebuah state tidak boleh mempunyai region dan submachine secara bersamaan
Ø  Nama state mempunyai sintaks
Ø  Nama submachine state : referenced state machine
         Sub states
Ø  Sebuah state yang ada dalam sebuah region

Ø  Direct substate, sub state yang tidak berisi state lain
Ø  indirect substate, sub state yang berisi state lain
         region ( kelompok state )
Ø  dipisahkan dengan garis terputus, yang setiap region boleh mempunyai nama yang optional
Ø  sebuah state tidak boleh mempunyai region dan sub machine secarah bersamaan
         Transition
Ø  Digambarkan dengan tanda anak panah
Ø  Progressions from one states to another, will be triggered by an event
Ø  Transition adalah hasil dari methode yang menyebabkan perubahan state, walaupun tidak semua methode menyebabkan perubahan state
Label on transition is in the format event [guard][/methode list()]
Ø  Event bisa dituliskan dengan past tense
Ø  Event menyebabkan sebuah object berpindah dari satu state ke state lain
Ø  Guard, condition that nust be true for the transition to be tiggered
Ø  Guard harus konsisten dan tidak overlap
Ø  Guard harus lengkap logikanya
Ø  Mehode dijalankan. Ketika object memasuki state diindikasikan dengan methode bernama entry() dan ketika object keluar state diindikasikan dengan methode bernama exit()
Ø  Methode menyebabkan perubahan disebuah state, bisa juga tidak
Ø  Join, menggabungkan beberapa transition menjadi sebuah transition
Ø  Fork, memecah sebuah transition menjadi beberapa transition yang berkondisi AND (transition harus dilewati semuanya).
         Junction
Menggabungkan sebuah / beberapa trasition dan memecahnya menjadi sebuah / beberapa trasition yang berkondisi AND ( transition harus dilewati semuanya ).
Dimungkinkan transition ke sebuah state yang berisi beberapa state yang disebut state list
         Choice, mengkondisikan sebuah transition menjadi sebuah / beberapa transition, yang hanya dipilih salah satu transition ( choice ).
o   Digunakan lambang diamond
o   Operand dapat diletakkan di dalam diamond atau pada transition
       Entry point dilambangkan sebuah lingkaran kecil yang ditaruh pada pinggiran state ( bisa di dalam bisa juga di luar ), dan berguna sebagai sub machine state.

         Exit point dilambangkan sebuah lingkaran kecil bersilang yang ditaruh pada pinggiran state ( bisa juga di dalam atau di luar ), dan berguna sebagai submachine state.

State Machine Diagram ada 2 jenis
v  Behavioral State machines
o   Merupakan state machine diagram umumnya
o   Digunakan untuk mendefinisikan perilaku sebuah object
v  Protocol State Machine
o   Digunakan untuk penggunaan protocol pada sebuah system
o   Dapat didefinisikan ke spesifik Protocol State Machine atau Behavioral State Machines
o   Didefinisikan sebagai diagram context ( global overview )
o   Notasi yang digunakan sama dengan Behavioral State Machines dengan penambahan kata ( protocol )
o   Tidak adanya internal activity seperti entry, exit, do
o   Transition pada Protocol State Machine harus menggunakan Protocol Transition
o   Protocol Transition
Ø  Sintaks : [pre condition] event / [post condition]
Ø  Precondition atau postcondition adalah guard ( Guard is condition that must be true for the transition to be triggered )
·         Precondition, kondisi sebelum transition
·         Postcondition, kondisi setelah transition

Dependencies
v  Dimodelkan dengan garis terputus dengan panah terbuka
v  Gambarkan dependencies dari kiri ke kanan

Inheritance
v  Inheriting / child component diletakkan di bawah parent component, dengan arah panah menuju ke parent component
v  Dimodelkan dengan garis dengan panah tertutup

Interface Component Diagram
v  Interface adalah kumpulan > =1 methode dan > = 0 attribute yang dapat dipakai pada class tanpa menjadi behavior suatu class.
v  Jenis interface ada 2 macam yaitu :
Ø  Provide, digambarkan dengan bentuk lollipop pada UML 1. * bisa juga digambarkan dengan garis terputus dengan panah tertutup
Ø  Required, digambarkan dengan bentuk socket
v  Penggambaran interfaces dapat juga dilakukkan dengan menambah bagian.

Port
v  Adalah bentuk object yang menjelaskan interaksi antara object dan lingkungannya.
v  Digambarkan sebagai kotak kecil di pinggiran component
v  Assembly connector penghubung antara 2 atau lebih component dimana sebuah atau beberapa component provides interfaces dan component lain required interfaces. (Greg - 1499)

Related Articles

1 comment:

  1. informasi pembahasan ini bisa dilihat di : www.ansoriweb.com

    ReplyDelete