Pokok bahasan: State Diagram State Substate Events dan transition State Diagram Developing Software Woth UML Booch Jacobson Rumbaugh Addison-Wesley
Setiap objek dapat dikatakan memiliki state --- nilai dari attributnya pada suatu saat tertentu. State diagram memodelkan daur hidup sebuah objek tunggal. Ia menggambarkan macam- macam state yang dimiliki sebuah objek, event yang mengakibatkan perubahan state selama waktu tertentu dan aturan-aturan yang mengatur transisi objek antara satu state dengan state lainnya. Perubahan terhadap state objek terjadi ketika ada suatu kejadian atau ketika nilai dari salah satu atributnya berubah. Perubahan state ini dipicu oleh adanya suatu event. SYSTEMS ANALYSYS AND DESIGN METHODS 5 TH Edition Whitten Bentley Dittman Irwin/McGraw-Hill The Mcgraw-Hill Companies All Right reserved Membuat model behavior dari objek-objek
Sebuah state diagram menunjukkan urut-urutan state dari sebuah objek selama masa hidupnya / lifetimenya, sekaligus dengan event-event yang menyebabkan perubahan dari state tersebut. Sebuah state diagram menjelaskan sebuah hypothetical machine (finite automaton) yang pada setiap waktu berada pada satu set finite state, yang terdiri dari: a finite, non-empty set of states; a finite, non-empty set of events; functions, yg menjelaskan transisi dari satu state ke state berikutnya; sebuah initial state; satu set final state. Developing Software Woth UML Booch Jacobson Rumbaugh Addison-Wesley
On opening the flight, the initial state leads to the NoReservation state. When the state is entered, the Reset operation is executed. If a reservation is made for this flight, the object changes to the state PartiallyReserved. The Reserve event is associated to the homonymous Reserve action (implemented as an operation). In this operation, the actual reservation takes place, and the internal reservation counter is updated. After termination of this action, we will find the object in the PartiallyReserved state. Each additional reservation leads to the same action. As long as a free seats are available, the object remains in the PartiallyReserved state. If only one seat left, it changes into FullyBooked state. Cancellation of reserved seats is carried out in a similar way. Thus, the state diagram describes which actions are triggered by which events and under which conditions these (and together with the call of the corresponding operations) are permitted. Soal: Developing Software Woth UML Booch Jacobson Rumbaugh Addison-Wesley
Developing Software Woth UML Booch Jacobson Rumbaugh Addison-Wesley
Sebuah state dimiliki oleh satu buah Class dan merepresentasikan abstraksi atau kombinasi dari satu set nilai atribut yang mungkin terjadi pada objek tersebut dari class ini. Tidak setiap perubahan nilai atribut akan dianggap sebagai perubahan state. Hanya event tertentu yang sangat signifikan mengakibatkan perubahan behavior dari objek. Sebuah state oleh karena itu dapat dilihat juga sebagai rentang waktu (time span) antara dua event. Dua type khusus state yang ada adalah initial state dan final state. State Developing Software Woth UML Booch Jacobson Rumbaugh Addison-Wesley
Tidak ada transisi yang menuju initial state dan tidak ada event yang diperbolehkan meninggalkan final state. Transisi dari satu state ke state berikutnya di trigger / dipicu oleh event. Sebuah event terdiri dari nama event dan sejumlah argument. Event dapat memicu aksi didalam state yang dilakukan melalui operasi tertentu. Ada tiga trigger yang sudah predefine: entry, fires automatically when entering a state exit, fires automatically when leaving a state do, fires repeatedly as long as the state is active, that is, not left. Developing Software Woth UML Booch Jacobson Rumbaugh Addison-Wesley
Sebuah state dapat diuraikan lebih lanjut, baik sekuensial ataupun paralel substate. Gambar dibawah ini menunjukkan sebuah sequential nesting. Ketika kontrak asuransi ditetapkan, sebuah produk dipilih (sebagai contoh, content-nya), yang terdiri dari beberapa produk element (Pel), seperti furniture, gelas, dsb. Untuk setiap produk elemen, sebuah cover (istilah asuransi) harus dibuat. Ilustrasi dibawah ini menunjukkan Create covers state dari context ini. Substate Developing Software Woth UML Booch Jacobson Rumbaugh Addison-Wesley
Gambar dibawah ini menunjukkan notasi dari paralel substates. Developing Software Woth UML Booch Jacobson Rumbaugh Addison-Wesley
Sebuah event adalah sebuah kejadian yang memiliki pengaruh khusus dalam suatu context yang dibicarakan, karena ia men-trigger / memicu perubahan state. Kebalikan dari state, event bukan milik satu kelas tertentu. State transition (perubahan state) biasanya dipicu oleh adanya event yang digambarkan dengan anak panah yang menghubungkan state satu dengan state lainnya. Event dan transition Developing Software Woth UML Booch Jacobson Rumbaugh Addison-Wesley