Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ......

30
Pertemuan 10 State Machine Diagram

Transcript of Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ......

Page 1: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Pertemuan 10

State Machine Diagram

Page 2: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

State Machine Diagram

State Machine Diagram adalah teknik yang umumdigunakan untuk menggambarkan behaviour sebuahsistem. Hal ini digunakan untuk membantu analis,perancang dan pengembang untuk memahami perilakuobyek pada sistem.

Tidak cukup hanya mengimplementasikan sebuah obyek,pengembang juga harus membuat obyek tersebutmelakukan sesuatu. State diagram memastikan bahwaobyek-obyek tersebut akan menebak apa yang seharusnyadilakukan. Dengan gambaran yang jelas tentang perilakuobyek, kemungkinan tim pengembang akan memproduksisebuah sistem yang sesuai dengan requirement.

Page 3: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Simbol

Simbol UML untuk state chart diagram adalah segiempatyang tiap pojoknya dibuat rounded. Titik awalnyamenggunakan lingkaran solid yang diarsir dan diakhiridengan mata.

State

Initial StateFinal State

Status dari objekEvent

Page 4: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Simbol

UML juga memberi pilihan untuk menambahkan detil kedalam simbol tersebut dengan membagi tiga area yaitunama state, variabel dan aktivitas.

State variabel seperti timer dan counter yang kadangkalasangat membantu.

NState Name

Variabel Name

Activity

Page 5: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Simbol

Activity terdiri atas events dan action, tiga hal yang seringdigunakan dalam activity adalah:1.Entry

Apa yang terjadi ketika sistem masuk ke state2.Exit

Apa yang terjadi ketika sistem meninggalkan state3.Do

Apa yang terjadi ketika sistem ada di state

Page 6: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

State, Event dan Transition

Statechart diagram menampilkan state-state yang mungkindari sebuah obyek, event yang bisa dideteksi dan responatas event-event tersebut. Secara umum, pendeteksiansebuah event dapat menyebabkan sebuah obyek bergerakdari satu state ke state yang lain yang disebut dengantransition. Sebagai contoh jika sebuah CD Player dalamkeadaan terbuka, penekanan tombol load akanmenyebabkan drawer CD Player berpindah ke state close,sebagaimana digambarkan sebagai berikut:

Page 7: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Notasi

1. Event Transition

Suatu kejadian yang dapat membuat state dari objek berubah

2. Event Iteration

Event berulang pada state yang sama

3. Guard

Suatu kondisi atau keterangan

/ event

/ event

[guard]

Page 8: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

State, Event dan Transition

Closed

Playing Open

Play

Load

Stop

Stop

StopPlay Load

Stop

Load

Page 9: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Initial dan Final State

Gambar pada slide sebelumnya menjelaskan bagaimanaketika CD Player sedang dipakai, tetapi tidak menjelaskanapa yang terjadi ketika mesin di matikan atau dihidupkan.Untuk menunjukkan perilaku ini kita bisa menambahkaninitial state diagram. Gambar berikut ini menunjukkanbahwa initial state untuk CD Player selalu diposisi closesetelah mesin dihidupkan. Tidak ada event yang harusdituliskan pada initial state.Event yang menyebabkan final state bisa tercapai adalahsaat CD Player dimatikan (event = off)

Page 10: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Initial dan Final State

Closed

Playing Open

Play

Load

Stop

Stop

StopPlay Load

Stop

Load

Off

Off

Page 11: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Guard Condition

Dalam gambar sebelumnya salah satu masalah adalah CDplayer tidak selalu pada state playing ketika tombol playditekan. Seharusnya state playing dilakukan jika ada CD didrawer atau tetap dalam kondisi close jika tidak ada CD didrawer.Untuk menampilkan informasi tersebut dengan statechartbisa ditambahkan guard condition untuk transition play.Guard condition adalah bagian spesifikasi dari transitiondan ditulis dengan sepasang kurung kotak/[] sesudahnama event yang memberi label transition

Page 12: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Guard Condition

Closed

Playing Open

Play[ CD present]

Stop

Stop

Stop

Play[no CD] Play [no CD]

Load

Load

Play

Play[ CD present]

Page 13: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Guard Condition

Jika ada lebih dari satu transition yang mempunyai hasilguard condition true, maka hanya ada satu saja yang akandijalankan. Sebagai contoh anggaplah CD player padaposisi state open dan tombol play ditekan, yang pertamakali terjadi adalah drawer akan ditutup. Hal ini pentingkarena mesin akan bisa mendeteksi apakah ada CD atautidak di drawer bila drawer dalam posisi tertutup. Dalamkondisi masih state open, guard condition dievaluasi padatransition play untuk melihat transition mana yang harusdijalankan. Jika CD ada, transition akan berubah dari openmenjadi playing.

Page 14: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

ActionAction ditulis setelah nama event dengan diawali tanda slash (/).Action bisa dideskripsikan dalam pseudo-code atau denganmenggunakan notasi bahasa pemrograman yang akan dipakai.Transition dapat membawa condition dan action sekaligus.

Action dibuat dalam bentuk pendek, mengandung bagian kecildari proses yang tidak butuh waktu lama. Karakteristik actionharus bisa selesai sebelum transition mencapai state yang baru.Hal tersebut mengindikasikan bahwa action tidak dapatdiinterupsi oleh event yang lain yang mungkin dideteksi olehobyek, namun tetap harus bisa selesai dilakukan.

Page 15: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Action

Closed

Playing Open

Play[ CD present]

Stop

Stop

Stop

Play[no CD]Play [no CD] / close drawer

Load / Open drawer

Load/ open drawer

Play

Load/ close drawer

Play[ CD present] / close drawer

Page 16: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Entry dan Exit ActionEntry action dijalankan setiap saat jika state menjadi aktif,segera setelah action transition selesai. Sebagai contoh jika CDplayer dalam state open dan tombol play ditekan, drawer akanmenutup dan transition play akan dijalankan. Hasilnya stateplaying menjadi aktif dan entry action pada state playing segeradilakukan. Exit action akan dijalankan kapanpun saat sebuahaction ditinggalkan.

PlayingEntry/find start of track

Entry/lower head

Entry/raise head

Open

PlayStop

Play[CD present]/close drawer

Load/open drawer

Page 17: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

ActivitySaat posisi state playing, melakukan sesuatu yang disebutmemainkan current track dari CD, operasi ini yang disebutactivity. Seperti pada action maka activity ditulis dalam stateyang diawali dengan do.

Beda antara action dan activity adalah action lebih merupakaninstance sedangkan activity merupakan perluasan dari waktu.

Ketika state menjadi aktif, entry action dijalankan dan activitynyadimulai. Activity berjalan secara kontinyu sepanjang periodedimana state tersebut aktif.

Page 18: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Activity

Entry action harus dijalankan sampai selesai sebelumobyek dapat merespon event apapun. Akan tetapi activitybisa diinterupsi oleh event apapun yang mengakibatkantransition keluar.

PlayingEntry/find start of track

Entry/lower head

Entry/raise head

Do/play track

Play

Page 19: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Completion TransitionCompletion transition adalah transition yang tidakmempunyai nama event. Ini bisa ditrigger ketika sebuahstate activity internal berhenti secara normal tanpainterupsi oleh event dari luar. Ketika CD player dimainkanuser bisa menekan tombol play atau stop untuk interupsi.Jika salah satu dari event ini terdeteksi maka track akanberakhir. Dengan demikian calon transition yang harusdijalankan tinggal completion transition. Yang terjadiberikutnya tergantung pada apakah track yang baru sajaselesai adalah track terakhir atau bukan.

Page 20: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Completion Transition (lanjutan)

Completion transition mempunyai guard condition untukmembedakan diantara dua kasus. Jika yang baru selesai adalahtrack terakhir, transition pada state closed akan dijalankan danCD berhenti, tetapi jika tidak transition ke dirinya sendiri akandijalankan dan penhitung track akan naik, state playing akanmasuk kembali dan CD player akan menjalankan trackberikutnya.

PlayingEntry/find start of track

Entry/lower head

Entry/raise head

Do/play track

Play

[no last track] / increment track count

Closed

Last track played

Stop

Page 21: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Internal TransitionInternal transition ditulis didalam state yang diberi namadengan event yang menyebabkannya. Sebagai contohadalah informasi yang ditampilkan dalam CD player.

PlayingEntry/find start of track

Entry/lower head

Entry/raise head

Do/play track

Info/display time

Play

Page 22: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Composite StateComposite state mempunyai properties sebagai berikut:1. Jika composite state active, salah satu dari sub state harus

aktif.2. Jika sebuah event terdeteksi ketika sebuah obyek ada

didalam composite state, maka akan bisa mentriggertransition keluar dari composite state itu sendiri maupun darisub state aktif saat itu.

Sebagai contoh, asumsikan CD player dalam state closed, jikaevent load terdeteksi transition state open akan dijalankan danstate open menjadi aktif. Ini adalah transition internal dari statenot playing dan masih aktif tetapi dengan sub state aktif yanglain.

Page 23: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Composite State (lanjutan)

Sebaliknya jika event play terdeteksi, tidak ada transitionbernama “play” yang meninggalkan state closed. Namunada beberapa transition yang meninggalkan state no play.Jika state ini aktif, transition akan menjadi enable,tergantung apakah ada CD didrawer atau tidak. Jika CDada, state play menjadi aktif, jika tidak state closed menjadiaktif. Hal ini berarti self-transition meninggalkan state notplay.

Page 24: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

History StateKetika tombol pause ditekan, maka saat tombol play ditekan lagiCD player otomatis akan melanjtkan jalannya CD dari kondisiterakhir pada saat tombol pause ditekan dan tidak memulai dariawal lagi.

UML menangkap ide ini dengan mengunakan history state yangdinyatakan dengan huruf H dalam lingkaran. Cara kerja historystate dilakukan dengan cara composite state mengingat substate yang aktif saat obyek keluar dari transition composite state.Dengan adanya transition ke history state akan mengakibatkansubstate yang saat ini aktif akan menjadi aktif lagi

Page 25: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

History State (lanjutan)

BusyEntry/find start of track

[no last track]/increment track

play Not playing

Last track played

Stop

Play[CD present]

PausedH

Playing

Do/play track

Page 26: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Contoh StateChart Login

[tekan tab untuk ke password]

[pindah kursor ke username]

[submit]

[Submit]

[valid]

[Not Valid]

[Ulangi, masukkan UserName&password]

[Keluar/batal]

Reject

GettingUserName

GettingPasswordValidating

Mulai

Selesai

Selesai

Page 27: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Contoh soal

Ketika dosen melakukan login ke sistem akan divalidasiuser name dan password, jika valid akan muncul tampilanpilihan olah nilai, absensi, forum diskusi atau logout

Buatlah statemachine diagram diatas

Page 28: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Studi Kasus

PT. Bendi Car adalah sebuah perusahaan yang bergerakdibidang penyewaan mobil Semua transaksi di perusahaanmasih dilakukan secara manual. Berikut ini adalah kegiatankegiatan yang dilakukan oleh petugas dalam melaksanakantransaksi penyewaan mobil di dalam perusahaan.1. Prosedure peminjamanPenyewa mobil yang ingin melakukan peminjaman dapat melihatharga penyewaan mobil pada daftar harga sewa mobil. Penyewadapat menggunakan jasa supir atau tidak sesuai dengankebutuhan penyewa sendiri. Setiap jenis kendaraan memilikiharga sewa yang berbeda-beda begitu juga harga sewa jasasopir untuk daerah Jabodetabek dan diluar jabodetabek punberbeda. Setelah itu penyewa mengisi Formulir Penyewaan (FS)disertai fotocopy identitas diri. Kemudian Formulir penyewaanyang telah diisi beserta pembayaran dimuka diserahkan kepadapetugas kemudian petugas membuatkan kwitansi pembayaransebagai bukti pembayaran.

Page 29: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Studi Kasus

2. Prosedure pengembalianPada saat pengembalian kendaraan oleh penyewa,petugas membawa Formulir Pengembalian danmemeriksa kondisi kendaraan apakah terdapat kerusakanatau tidak. Bila ada (misalnya spion pecah, body penyok,cat tergores, dll), maka diperhitungkan penggantiannya dandibebankan kepada penyewa. Bila tidak rusak/terlambatmaka tidak perlu mengisi Formulir pengembalian. NamunBila penyewa terlambat dalam pengembalian, maka jumlahketerlambatan mobil dan sopir akan dibebankan kepadapenyewa. Setelah membayar kerusakan danketerlambatan, maka petugas membuatkan kwitansisebagai tanda bukti pembayaran denda

Page 30: Pertemuan10 - adidwiprasetyo.files.wordpress.com fileSimbol UML untuk state chart diagram adalah ... apa yang terjadi ketika mesin di matikan atau ... Sebagai contoh jika CD player

Studi Kasus

3. Prosedure laporanDiakhir bulan petugas membuat laporan penyewaanberikut denda atas kerusakan atau keterlambatan yangterjadi dan laporan kendaraan. Laporan tersebutdiserahkan ke pemilik penyewaan Bendi car

Buatlah state diagram dari sistem diatas