MAKALAH ANALISIS DAN DESAIN PERANGKAT LU

MAKALAH
ANALISIS DAN DESAIN PERANGKAT LUNAK
DESCRIBE STATE BEHAVIOR

KELAS : ADPL-A
KELOMPOK 5
MOHAMMAD RIZZA FIRMANSYAH

5213100026

NIKOLAUS HERJUNO S.D.A

5213100078

MUHAMMAD HAFIZ EGAN PRADANA

5213100089

VALLIANT FERLYANDO

5213100094


PANDU SATRIO HUTOMO

5213100150

WIRATAMA PUTRA PRATIKTA

5213100501

JURUSAN SISTEM INFORMASI
FAKULTAS TEKNOLOGI INFORMASI
INSTITUT TEKNOLOGI SEPULUH NOPEMBER

STATE MACHINE DIAGRAM
State machine diagram yang mendeskripsikan berbagai macam keadaan (state), atau
biasa disebut lifecycle, suatu objek, event dan kondisi yang menyebabkan objek
tersebut berpindah ke state berikutnya. Sebagai contohnnya adalah diagram yang
menunjukkan keadaan suatu klaim asuransi (diterima, divalidasi, telah dibayar, belum
dibayar, dll). Satu diagram menggambarkan satu objek dalam satu jangka hidup objek
tersebut, biasanya juga berjangka waktu dalam beberapa sistem use-case.

Mengapa kita perlu menggunakan, atau membuat, state machine diagram,
adalah karena diagram ini memberikan gambaran utuh tingkah laku suatu objek kepada
seseorang akan suatu sistem. Sehingga, hal ini mengurangi resiko seseorang, baik itu
developer maupun system analyst, meremehkan kompleksitas suatu system
requirement.
Dalam menentukan objek mana yang perlu diberi state machine diagram, cukup
dilihat dari keadaan dari objek tersebut. Jika objek tersebut memiliki jangka hidup yang
kompleks, dan merupakan objek yang vital bagi proses bisnis, maka perlu diberi state
machine diagram

IDENTIFY STATE OF CRITICAL OBJECT
Hal pertama yang harus dilakukan adalah state baru untuk mendefinisikan sebuah
objek, cara mengidentifikasinya yaitu jika sistem memperlakukan objek berbeda karena
perubahan atau objek tersebut yang berperilaku berbeda. Jika tidak terdapat perbedaan,
maka hanya sebagian informasi dari objek yang berubah. Kita dapat mengganti
sebagian dari informasi dari objek tersebut dengan atribut.
Contoh state dan atribut antara lain:




Merah dan biru bukan merupakan dua buah state dari objek, tetapi hanya
mengindikasikan perbedaan nilai dari atribut warna
Mengembang dan mengempis dapat dikategorikan sebagai state karena
mempengaruhi objek diperlakukan

Contoh lain dari state adalah sebagai berikut:




State pada saluran telepon: Busy, Off-the-Hook, Not-in-Use
State pada faktur: Paid, Unpaid, Canceled
State pada registrasi mahasiswa: Accepted, Attending, Graduated

Tipe-Tipe State
State-state berikut akan sering kita lihat dalam state-machine diagram dan
dikategorikan sebagai berikut:






Initial pseudostate: ini menunjukkan titik yang ada di diagram dan menjadi titik
mula objek akan bergerak. Initial pseudostate dilambangkan dengan sebuah
lingkaran hitam
Final State: State ini merupakan titik akhir dari proses objek dan dilambangkan
seperti sebuah mata. Final state dapat diberi nama, dan bisa lebih dari satu final
state untuk sebuah objek. Ada beberapa batasan untuk dapat menggunakan final
state, antara lain: final state tidak memiliki outgoing transitions, dan tidak dapat
di asosiasikan dengan perilaku yang spesifik, seperti aktifitas login, exit, dsb.

State yang lain juga dapat ditunjukkan dengan persegi panjang. Beberapa state tersebut
antara lain:




Wait State: Objek tidak melakukan sesuatu yang penting, karena hanya
menunggu sebuah tindakan terjadi atau kondisi menjadi benar.
Ongoing State: Objek melakukan aktifitas yang berkelanjutan dan tetap dalam

keadaan yang sama sampai ada kejadian yang menginterupsi aktifitas tersebut.
Finite State: Objek akan melakukan beberapa aktifitas yang memiliki akhir yang
pasti. Setelah aktifitas tersebut selesai objek akan keluar dari state.
Definisi: Transisi merupakan suatu perpindahan kondisi antara satu state dengan state
yang lain.

IDENTIFY TRANSITION STATE
Tipe Transisi
Ada 2 jenis transisi, yaitu:
Completion transistion:Transaksi terjadi ketika objek sebelumnya telah selelsai
tereksekusi atau selesai dijalankan. Contohnya ketika seorang pasien hendak
membayar ke loket pembayaran. Ketika kasir telah memproses semua pembayaran
maka pasuen dapat keluar dari rumah sakit setelahnya.
Labeled Transition: Merupakan suatu transisi yang terjadi karena adanya interupsi
terhadap state sebelumnya. Contohnya adalah ketika pasien menunggu verifikasi
berkas, pasien tersebut tetap akan menunggu sampai berkas terverifikasi.
Elemen-elemen yang sering muncul pada diagram:
Transition: Perubahan kondisi, digambarkan dengan arah panah.

Transition Activity: Aktifitas cepat, yang tak dapat diganggu ketika suatu transisi

terjadi. Untuk mendokumentasikannya, setelah penulisan nama aktivitas, tambahkan
slash lalu Asign Temporary Case Number.
Event: Sebuah pemicu yang mengakibatkan transisi. Dituliskan disamping simbol
transisi.
Send Event : Sebuah pesan yang dikirim ke objek lain ketika suata transisi terjadi.
Untuk mendokumentasikannya dapat dituliskan dengan format ^Target.Event].
Guard : Suatu kondisi yang harus bernilai benar agar transaksi terjadi. Dituliskan
dengan format [nama guard].
Contoh penerapan event-event yang terjadi pada State Machine Diagram:

Figure 1 Event-event pada State Machine Diagram

IDENTIFY STATE ACTIVITIES
State Activities
State activity adalah sebuah proses yang terjadi pada objek dalam keadaan tertentu.
Proses ini dilakukan dan memerlukan waktu yang lebih lama dari pada transition state.

Ada beberapa keyword pada UML yang biasanya digunakan untuk menggambarkan
state activities, yaitu:
Entry/ activity


Aktivitas yang terjadi ketika objek memasuki state

Do/activity

Aktivitas yang terjadi saat objek didalam state

Eventname/activity

Aktivitas yang muncul jika ada external event

Exit/activity

Aktivitas yang terjadi ketika meninggalkan state

Case Study
1. Initiated : ketika case didalam state, Peace Committee menginterview peserta
untuk berdebat dan menentukan tanggal untuk Peace Gathering.
2. Referred to Police : ketika case masuk ke state ini, Peace Gathering mengantar
peserta ke kantor polisi.

3. Resolved no Gathering : begitu case masuk ke state ini, laporan kasus harus
dimasukkan.
4. Under Review : ketika case didalam state ini, Convener mereview case.
5. Monitoring : Ketika case memasuki state ini, Convener menunjuk pemantau. Saat
case didalam state ini pemantau melakukan pemantauan. Ketika pemantau sakit
maka convener menunjuk
pemantau sementara. Kapanpun kasusnya selesai pemantau menyerahkan
laporan pemantauan.

Figure 2 Case Study State Activities

COMPOSITE STATE
Jika sejumlah state berbagi satu atau lebih transisi, kita bisa melakukan simplifikasi
dengan menggambar sebuah Composite State.
Composite State merupakan sebuah state yang mengandung state lain. Composite
State direpresentasikan dengan bentuk state pada umumnya, hanya saja ia
melingkupi beberapa state yang lebih spesifik di dalamnya yang disebut Substate
Composite State mewariskan transition yang ada padanya ke Substate yang ada di
dalamnya juga.
Berikut merupakan bentuk atau contoh dari Composite State, kita bisa menggambarkan

initial pseudostate beserta dengan final state untuk mengetahui pada Composite State
tersebut state mana yang berjalan terlebih dahulu.

Substate
[child]

Serving Customer

Authenticate
Customer

Transact

Composite State
[parent]
Figure 3 bentuk Composite State Serving Customer

STUDY CASE

No CD Loaded

Eject
CD drawer
open

CD drawer
closed
Power ON
[no CD]

Eject [no
CD]
Eject [CD in]

CD loaded
Power
ON [CD
in]

Power
OFF


Pause

CD
playing

Pause or
Play
Stop

Play

CD
stopped

Eject

CD
paused

Power
OFF

Stop

Figure 4 Study Case Composite State

Pada State Machine diagram tersebut banyak sekali perspektif yang ada:
1. State pertama adalah ketika CD Player dalam keadaan menyala dan terdapat CD
di dalamnya  CD Drawer tertutup  Dibuka [CD Drawer terbuka]  Dari
Composite State No CD Loaded ini, diwarisi transition Power OFF, jadi baik dari
CD Drawer closed maupun CD Drawer open, bisa langsung ke final state  Ketika
CD sudah dimasukan maka CD dimainkan  Bisa di pause atau di stop atau
setelah di pause kemudian di play lagi, atau di matikan sehingga menuju Final
State.
2. Perspektif kedua adalah CD Player menyala kemudian CD sudah ada di dalamnya
 artinya state langsung ditransisi menuju Composite State CD Loaded. Di
dalamnya terdapat beberapa substate yang dimulai dengan state CD Playing 

kemudian state dapat berpindah ke State ketika CD di pause (CD Paused) atau
CD di hentikan (CD Stopped)  Di Composite State CD Loaded ini, semua
substate di dalamnya juga mewarisi transisi Power OFF sehingga substatesubstate di dalamnya bisa langsung menuju ke Final State jika dikehendaki.

INDENTIFY CONCURENT STATE
Concurrent state merupakan sebuah keadaan dimana lebih dari satu state dalam
kondisi berjalan bersamaan. Concurrent state juga disebut Orthogonal state. Meskipun
berjalan dalam waktu bersamaan, Masing-masing state memiliki sifat independent,
yakni berdiri sendiri atau tidak mempengaruhi state yang lain

Contoh Concurrent state

Pada

State mechine diagram diatas, mengilustrasikan

ketika

kita melakukan

perenovasian (Being Renovated). Dimana terdapat dua kegiatan(state) yang sedang
dilakukan dalam satu waktu yakni Polishing floor dan Painting walls. Namun masigmasing kegiatan(state) tidak mempengaruhi kegiatan yang lain.

Pada State mechine diagram diatas, merupakan pengilustrasian ketika kita
melakukan aktifitas pengereman (Applying Brakes). Dimana terdapat dua kegiatan(state)
yang sedang dilakukan dalam satu waktu yakni Rem pada roda depan dan Rem pada
roda belakang. Namun masig-masing kegiatan(state) tidak mempengaruhi kegiatan
yang lain. Kemudian Fork dan Join pseudostate merupakan sebuah percabangan.