Skip to main content

Pengantar State Chart Diagram Dalam Analisa & Desain Sistem Informasi

Contoh state chart diagram
Beberapa class dalam diagram class mewakili satu set object-object yang dinamis karena object-object tersebut melewati berbagai macam state selama keberadaannya. Sebagai contoh, seorang pasien dapat mengalami perubahan state dari waktu ke waktu misalnya dari state pasien baru menjadi pasien saat ini (pasien aktif saat ini) kemudian berubah menjadi pasien lama berdasarkan statusnya pada catatan klinik praktik dokter. State chart diagram ini adalah model dinamis yang menunjukkan keadaan (state) yang berubah-ubah yang dilalui suatu object selama hidupnya dalam merespon events. Biasanya, state ini tidak diterapkan untuk semua object; alih-alih, hanya digunakan pada object yang kompleks untuk lebih mendefinisikan (memperjelas) object-object tersebut dan untuk membantu menyederhanakan desain algoritma object-object tersebut. State chart diagram menunjukkan berbagai state suatu object dan events apa yang menyebabkan object berubah dari satu state (kondisi) ke state (kondisi) lainnya. State chart diagram digunakan untuk membantu memahami aspek dinamis dari satu class dan bagaimana instans-nya berevolusi dari waktu ke waktu.

Di bagian ini, kita membahas tentang states (keadaan), events (peristiwa), transitions (transisi), actions (tindakan), dan activities (aktivitas). Kita juga akan membahas bagaimana state chart diagram memodelkan perubahan state yang dilalui object yang kompleks. Seperti halnya dengan diagram interaksi, ketika kita membuat state chart diagram untuk suatu object, akan selalu ada kemungkinan bahwa kita akan mengungkap events tambahan yang perlu dimasukkan ke dalam model fungsional (misalnya dalam use case) dan operasi tambahan yang perlu dimasukkan dalam model struktural (misalnya operasi dalam diagram class), sehingga diagram interaksi kita mungkin harus di-update lagi. Karena pengembangan berorientasi object bersifat iteratif dan inkremental, maka modifikasi/update yang berkelanjutan dari model yang selalu berevolusi (entah model fungsional, struktural, dan behavioral) dari sistem sangatlah mungkin terjadi.

States (Keadaan)

States (keadaan) suatu object didefinisikan oleh nilai dari atributnya pada suatu titik waktu tertentu. Sebagai contoh, seorang pasien mungkin memiliki state sebagai pasien baru, pasien saat ini, atau pasien lama. Atribut atau properti dari suatu object mempengaruhi state di mana ia berada; Namun, tidak berarti semua atribut atau perubahan atribut akan membuat perbedaan yang signifikan. Misalnya, kita coba pertimbangkan tentang atribut alamat pasien. Atribut seperti ini tidak akan membuat perubahan signifikan pada state seorang pasien. Namun, jika state didasarkan pada lokasi geografis pasien (mis., pasien dalam kota akan mendapatkan treatment yang berbeda dibanding pasien luar kota), maka perubahan pada alamat pasien akan signifikan mempengaruhi perubahan state.

Events (Peristiwa)

Suatu event (peristiwa) adalah sesuatu yang terjadi pada titik waktu tertentu dan mengubah nilai suatu object, yang berarti, mengubah state suatu object. Ini bisa berupa kondisi (misalnya if...then) yang berubah menjadi true, atau bisa juga pemanggilan suatu method oleh suatu object, atau berlalunya periode waktu tertentu yang ditentukan. State suatu object akan menentukan dengan tepat apa yang akan menjadi respons berikutnya.

Transitions (Transisi)

Transitions (Transisi) adalah hubungan yang mewakili perubahan suatu object dari satu state ke state lainnya. Beberapa transisi memiliki suatu kondisi penjaga (guard condition misalnya if....). Kondisi penjaga adalah ekspresi Boolean yang menyertakan nilai atribut, yang memungkinkan transisi terjadi hanya jika kondisinya bernilai true. Suatu object biasanya bergerak dari satu state ke state lain berdasarkan pada hasil dari suatu tindakan yang dipicu oleh suatu peristiwa.

Actions (Tindakan)

Suatu tindakan adalah proses atomik yang tidak dapat di-dekomposi (diurai) lagi dan yang tidak dapat diinterupsi. Dari perspektif praktis, tindakan tidak akan memakan waktu (~0 detik), dan tindakan sangat terkait dengan suatu transisi.

Activities (Aktivitas)

Sebaliknya, suatu aktivitas adalah proses non-atomik yang dapat di-dekomposisi (diurai) dan yang dapat di-interupsi. Aktivitas membutuhkan waktu yang lama untuk diselesaikan, dan aktivitas dapat dimulai dan dihentikan oleh suatu tindakan.

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at