State Machine Diagram. Pertemuan 10

dokumen-dokumen yang mirip
Sequence Diagram. Pertemuan 5

Pertemuan4. UsecaseDiagram

UsecaseDiagram. Pertemuan 4

Pertemuan9. Disain Basis Data

Activity Diagram. Pertemuan 3

*Use case dapat dilingkupi dengan batasan sistem yang diberi label nama sistem.

StateChart Diagram dan Activity Diagram

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Pada sub bab ini akan dijelaskan mengenai analisis sistem informasi rental mobil

STATE CHART. Kelompok : Fatkhur Rohman ( ) Bayu Purnama Putra S ( ) Leily Aula Rahmawati (

STATE MACHINE DIAGRAM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. adalah analisis mengenai analisis dokumen, analisis posedur dan analisis proses.

Notasi Unified Modeling Language (UML) Versi 2.0

Gambar Use Case Diagram

Pemodelan Visual dengan UML

BAB 3 PERANCANGAN PROGRAM APLIKASI


BAB IV ANALISIS DAN PERANCANGAN SISTEM. sistem yang telah ada, dimana analisis sistem merupakan proses mempelajari suatu

BAB IV ANALISIS DAN PERANCANGAN SISTEM. utuh kebagian-bagian komponennya yang dimaksudkan untuk

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Teknik Informatika S1

BAB III METODOLOGI PENELITIAN DAN DESAIN SISTEM

ANALISIS PERANCANGAN SISTEM INFORMASI RENTAL MOTOR DENGAN MENGGUNAKAN PHP DAN MYSQL

LAMPIRAN NOTASI. Notasi UML. 1) Class Diagram. Nama Class dengan atribut dan operasi.

BAB III ANALISIS DAN PERANCANGAN APLIKASI. Aplikasi chatting mobile phone yang menggunakan NetBeans IDE 6.0 yang di

BAB I PENDAHULUAN 1.1. Latar Belakang 1.2. Ruang Lingkup

BAB IV ANALISIS DAN PERANCANGAN. kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya.

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

BAB III ANALISA DAN PERANCANGAN. input, analisa proses, analisa output, analisa use case diagram, analisa

Activity Diagram berhubungan dengan diagram Statechart. Diagram Statechart fokus pada obyek dalam suatu proses (atau proses menjadi suatu obyek),

BAB 3 ALGORITMA DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Spesifikasi Use Case. Mata KuliahTesting & Implementasi Sistem Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Pertemuan 6 --

BAB III ANALISA DAN PERANCANGAN

Modul 6 State Transition Diagram dan Deployment Diagram

DAFTAR ISI HALAMAN JUDUL PERTAMA

BAB III OBJEK DAN METODE PENELITIAN. domain & Web Hosting. Untuk lebih jelas mengenai gambaran umum perusahaan,

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN. Pada dasarnya perancangan sistem yang dibuat oleh peneliti adalah

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI. misalnya EyeSpyFx. Aplikasi ini memiliki fitur untuk melakukan pemantauan keamanan

BAB III ANALISIS DAN DESAIN SISTEM

Gambar 4-1. Use Case Diagram

BAB III ANALISA DAN DESAIN SISTEM

UML & USE CASE DIAGRAM. Oleh : Bambang Hermawan, S.Si

Bab III. Perancangan Sistem

BAB IV ANALISIS DAN PERANCANGAN SISTEM. proses kerja yang sedang berjalan. Pokok-pokok yang di analisis meliputi analisis

Prosedur merupakan suatu tata cara kerja atau kegiatan untuk menyelesaikan pekerjaan

ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB 3 ALGORITMA DAN PERANCANGAN. membaca partitur musik ini adalah sebagai berikut : hanya terdiri dari 1 tangga nada. dengan nada yang diinginkan.

UML & USE CASE DIAGRAM. Oleh : Bambang Hermawan, S.Si

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem merupakan suatu kegiatan penguraian dari suatu sistem yang

BAB 4 PERANCANGAN SISTEM DAN EVALUASI. perancangan diagram UML (use case, activity, class, dan sequence), perancangan

UNIFIED MODELING LANGUAGE

Manual Billing Aura v1.2

BAB III ANALISA DAN PERANCANGAN

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS MERCU BUANA YOGYAKARTA

BAB III ANALISIS DAN DESAIN SISTEM

BAB III PERANCANGAN SISTEM. Shipping Direktorat Jenderal Imigrasi menunjukkan bahwasanya dalam akses

BAB III ANALISA MASALAH DAN PERANCANGAN SISTEM

DAFTAR ISI. KATA PENGANTAR... i. DAFTAR ISI... iii. DAFTAR GAMBAR... xi. DAFTAR TABEL... xvii. DAFTAR SIMBOL... xx BAB I PENDAHULUAN...

DAFTAR ISI. Abstraksi... Kata Pengantar... Daftar Isi... Daftar Tabel... Daftar Gambar... Daftar Lampiran... BAB I PENDAHULUAN...

DAFTAR SIMBOL 1. CLASS DIAGRAM. Nama Komponen Class

BAB III ANALISA DAN PERANCANGAN SISTEM. Analisa masalah dilakukan untuk membuat langkah langkah yang

Bagian 7 ANALISIS DESAIN PADA PEMROGRAMAN BERORIENTASI OBJECT DENGAN UML

CONTOH SINGKAT DIAGRAM UNIFIED MODELLING LANGUANGE STUDI KASUS SISTEM INFORMASI PENGELOLAAN KAS

BAB 3 PERANCANGAN PROGRAM APLIKASI

BAB III ANALISA SISTEM

BAB III ANALISIS DAN PERANCANGAN

3 BAB III ANALISIS DAN PERANCANGAN SISTEM

LAMPIRAN. Menurut Whitten dan Bentley (2004,p 344), Data Flow Diagram (DFD) adalah

BAB III ANALISIS DAN DESAIN SISTEM

Bab 3 Metode dan Rancangan Sistem

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB IV ANALISA DAN PERANCANGAN SISTEM. Adapun analisis sistem akan dilakukan pada bagian gudang ruang lingkup

PENGANTAR RUP & UML. Pertemuan 2

SHINTA P. SARI FASILKOM UIGM

53 Gambar 4. 1 Proses Bisnis sistem yang sedang berjalan Keterangan: 1. Peminjam wajib menyerahkan kwitansi atau bukti transaksi. 2. Staff admin memer

BAB III ANALISIS DAN DESAIN SISTEM

MODUL 7 ACTIVITY DIAGRAM

BAB III ANALISA DAN PERANCANGAN

Tugas SRS dan Skenario Proses System Pemilihan perguruan tinggi swasta

BAB III ANALISIS DAN DESAIN SISTEM

BAB VI PENUTUP Kesimpulan Saran DAFTAR PUSTAKA LAMPIRAN

BAB IV ANALISA DAN PERANCANGAN SISTEM Analisis Prosedur yang sedang Berjalan

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. sequential (waterfall). Metode ini terdiri dari empat tahapan, yaitu: analisis,

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISA DAN PERANCANGAN

BAB III METODOLOGI PENELITIAN

Pemodelan Berorientasi Objek

BAB 4 HASIL DAN BAHASAN

PROSEDUR MENJALANKAN APLIKASI

BAB III ANALISA DAN PERANCANGAN

Bab 3 Metode Perancangan

BAB III ANALISIS DAN PERANCANGAN SISTEM

Transkripsi:

State Machine Diagram Pertemuan 10

State Machine Diagram 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. Tidak cukup hanya mengimplementasikan sebuah obyek, pengembang juga harus membuat obyek tersebut melakukan sesuatu. State diagram memastikan bahwa obyek-obyek tersebut akan menebak apa yang seharusnya dilakukan. Dengan gambaran yang jelas tentang perilaku obyek, kemungkinan tim pengembang akan memproduksi sebuah sistem yang sesuai dengan requirement.

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. Event Status dari objek State Initial State Final State

Simbol UML juga memberi pilihan untuk menambahkan detil ke dalam simbol tersebut dengan membagi tiga area yaitu nama state, variabel dan aktivitas. NState Name VariabelName Activity State variabel seperti timer dan counter yang kadangkala sangat membantu.

Simbol Activity terdiri atas events dan action, tiga hal yang sering digunakan dalam activity adalah: 1.Entry 2.Exit 3.Do Apa yang terjadi ketika sistem masuk ke state Apa yang terjadi ketika sistem meninggalkan state Apa yang terjadi ketika sistem ada di state

State, Event dan Transition Statechart diagram menampilkan state-state yang mungkin dari sebuah obyek, event yang bisa dideteksi dan respon atas event-event tersebut. Secara umum, pendeteksian sebuah event dapat menyebabkan sebuah obyek bergerak dari satu state ke state yang lain yang disebut dengan transition. Sebagai contoh jika sebuah CD Player dalam keadaan terbuka, penekanan tombol load akan menyebabkan drawer CD Player berpindah ke state close, sebagaimana digambarkan sebagai berikut:

Notasi 1. Event Transition Suatu kejadian yang dapat membuat state dari objek berubah 2. Event Iteration Event berulang pada state yang sama / event / event 3. Guard Suatu kondisi atau keterangan [guard]

State, Event dan Transition Stop Stop Play Closed Load Load Stop Playing Stop Load Open Play

Initial dan Final State Gambar pada slide sebelumnya menjelaskan bagaimana ketika CD Player sedang dipakai, tetapi tidak menjelaskan apa yang terjadi ketika mesin di matikan atau dihidupkan. Untuk menunjukkan perilaku ini kita bisa menambahkan initial state diagram. Gambar berikut ini menunjukkan bahwa initial state untuk CD Player selalu diposisi close setelah mesin dihidupkan. Tidak ada event yang harus dituliskan pada initial state. Event yang menyebabkan final state bisa tercapai adalah saat CD Player dimatikan (event = off)

Initial dan Final State Stop Off Stop Play Closed Load Load Stop Playing Stop Load Open Play Off

Guard Condition Dalam gambar sebelumnya salah satu masalah adalah CD player tidak selalu pada state playing ketika tombol play ditekan. Seharusnya state playing dilakukan jika ada CD di drawer atau tetap dalam kondisi close jika tidak ada CD di drawer. Untuk menampilkan informasi tersebut dengan statechart bisa ditambahkan guard condition untuk transition play. Guard condition adalah bagian spesifikasi dari transition dan ditulis dengan sepasang kurung kotak/[] sesudah nama event yang memberi label transition

Guard Condition Stop Play[no CD] Closed Play [no CD] Stop Load Playing Play[ CD present] Play[ CD present] Open Play Load Stop

Guard Condition Jika ada lebih dari satu transition yang mempunyai hasil guard condition true, maka hanya ada satu saja yang akan dijalankan. Sebagai contoh anggaplah CD player pada posisi state open dan tombol play ditekan, yang pertama kali terjadi adalah drawer akan ditutup. Hal ini penting karena mesin akan bisa mendeteksi apakah ada CD atau tidak di drawer bila drawer dalam posisi tertutup. Dalam kondisi masih state open, guard condition dievaluasi pada transition play untuk melihat transition mana yang harus dijalankan. Jika CD ada, transition akan berubah dari open menjadi playing.

Action Action ditulis setelah nama event dengan diawali tanda slash (/). Action bisa dideskripsikan dalam pseudo-code atau dengan menggunakan notasi bahasa pemrograman yang akan dipakai. Transition dapat membawa condition dan action sekaligus. Action dibuat dalam bentuk pendek, mengandung bagian kecil dari proses yang tidak butuh waktu lama. Karakteristik action harus bisa selesai sebelum transition mencapai state yang baru. Hal tersebut mengindikasikan bahwa action tidak dapat diinterupsi oleh event yang lain yang mungkin dideteksi oleh obyek, namun tetap harus bisa selesai dilakukan.

Action Stop Playing Stop Play[no CD] Closed Load / Open drawer Play [no CD] / close drawer Load/ close drawer Play[ CD present] Load/ open drawer Play[ CD present] / close drawer Open Play Stop

Entry dan Exit Action Entry action dijalankan setiap saat jika state menjadi aktif, segera setelah action transition selesai. Sebagai contoh jika CD player dalam state open dan tombol play ditekan, drawer akan menutup dan transition play akan dijalankan. Hasilnya state playing menjadi aktif dan entry action pada state playing segera dilakukan. Exit action akan dijalankan kapanpun saat sebuah action ditinggalkan. Playing Entry/find start of track Entry/lower head Entry/raise head Play Play[CD present]/close drawer Open Load/open drawer Stop

Activity Saat posisi state playing, melakukan sesuatu yang disebut memainkan current track dari CD, operasi ini yang disebut activity. Seperti pada action maka activity ditulis dalam state yang diawali dengan do. Beda antara action dan activity adalah action lebih merupakan instance sedangkan activity merupakan perluasan dari waktu. Ketika state menjadi aktif, entry action dijalankan dan activitynya dimulai. Activity berjalan secara kontinyu sepanjang periode dimana state tersebut aktif.

Activity Entry action harus dijalankan sampai selesai sebelum obyek dapat merespon event apapun. Akan tetapi activity bisa diinterupsi oleh event apapun yang mengakibatkan transition keluar. Playing Entry/find start of track Entry/lower head Entry/raise head Do/play track Play

Completion Transition Completion transition adalah transition yang tidak mempunyai nama event. Ini bisa ditrigger ketika sebuah state activity internal berhenti secara normal tanpa interupsi oleh event dari luar. Ketika CD player dimainkan user bisa menekan tombol play atau stop untuk interupsi. Jika salah satu dari event ini terdeteksi maka track akan berakhir. Dengan demikian calon transition yang harus dijalankan tinggal completion transition. Yang terjadi berikutnya tergantung pada apakah track yang baru saja selesai adalah track terakhir atau bukan.

Completion Transition (lanjutan) Completion transition mempunyai guard condition untuk membedakan diantara dua kasus. Jika yang baru selesai adalah track terakhir, transition pada state closed akan dijalankan dan CD berhenti, tetapi jika tidak transition ke dirinya sendiri akan dijalankan dan penhitung track akan naik, state playing akan masuk kembali dan CD player akan menjalankan track berikutnya. [no last track] / increment track count Playing Entry/find start of track Entry/lower head Entry/raise head Do/play track Play Last track played Stop Closed

Internal Transition Internal transition ditulis didalam state yang diberi nama dengan event yang menyebabkannya. Sebagai contoh adalah informasi yang ditampilkan dalam CD player. Playing Entry/find start of track Entry/lower head Entry/raise head Do/play track Info/display time Play

Composite State Composite 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 mentrigger transition keluar dari composite state itu sendiri maupun dari sub state aktif saat itu. Sebagai contoh, asumsikan CD player dalam state closed, jika event load terdeteksi transition state open akan dijalankan dan state open menjadi aktif. Ini adalah transition internal dari state not playing dan masih aktif tetapi dengan sub state aktif yang lain.

Composite State (lanjutan) Sebaliknya jika event play terdeteksi, tidak ada transition bernama play yang meninggalkan state closed. Namun ada beberapa transition yang meninggalkan state no play. Jika state ini aktif, transition akan menjadi enable, tergantung apakah ada CD didrawer atau tidak. Jika CD ada, state play menjadi aktif, jika tidak state closed menjadi aktif. Hal ini berarti self-transition meninggalkan state not play.

History State Ketika tombol pause ditekan, maka saat tombol play ditekan lagi CD player otomatis akan melanjtkan jalannya CD dari kondisi terakhir pada saat tombol pause ditekan dan tidak memulai dari awal lagi. UML menangkap ide ini dengan mengunakan history state yang dinyatakan dengan huruf H dalam lingkaran. Cara kerja history state dilakukan dengan cara composite state mengingat sub state yang aktif saat obyek keluar dari transition composite state. Dengan adanya transition ke history state akan mengakibatkan substate yang saat ini aktif akan menjadi aktif lagi

History State (lanjutan) Busy Entry/find start of track Stop play Playing Do/play track Play [CD present] Not playing H Paused Last track played [no last track]/increment track

Contoh StateChart Login Mulai Selesai Reject [Keluar/batal] [Ulangi, masukkan UserName&password] GettingUserName [Submit] [tekan tab untuk ke password] [Not Valid] [pindah kursor ke username] Selesai [valid] Validating [submit] GettingPassword

Contoh soal Ketika dosen melakukan login ke sistem akan divalidasi user name dan password, jika valid akan muncul tampilan pilihan olah nilai, absensi, forum diskusi atau logout Buatlah statemachine diagram diatas

Jawaban Contoh soal

Studi Kasus PT. Bendi Car adalah sebuah perusahaan yang bergerak dibidang penyewaan mobil Semua transaksi di perusahaan masih dilakukan secara manual. Berikut ini adalah kegiatan kegiatan yang dilakukan oleh petugas dalam melaksanakan transaksi penyewaan mobil di dalam perusahaan. 1. Prosedure peminjaman Penyewa mobil yang ingin melakukan peminjaman dapat melihat harga penyewaan mobil pada daftar harga sewa mobil. Penyewa dapat menggunakan jasa supir atau tidak sesuai dengan kebutuhan penyewa sendiri. Setiap jenis kendaraan memiliki harga sewa yang berbeda-beda begitu juga harga sewa jasa sopir untuk daerah Jabodetabek dan diluar jabodetabek pun berbeda. Setelah itu penyewa mengisi Formulir Penyewaan (FS) disertai fotocopy identitas diri. Kemudian Formulir penyewaan yang telah diisi beserta pembayaran dimuka diserahkan kepada petugas kemudian petugas membuatkan kwitansi pembayaran sebagai bukti pembayaran.

Studi Kasus 2. Prosedure pengembalian Pada saat pengembalian kendaraan oleh penyewa, petugas membawa Formulir Pengembalian dan memeriksa kondisi kendaraan apakah terdapat kerusakan atau tidak. Bila ada (misalnya spion pecah, body penyok, cat tergores, dll), maka diperhitungkan penggantiannya dan dibebankan kepada penyewa. Bila tidak rusak/terlambat maka tidak perlu mengisi Formulir pengembalian. Namun Bila penyewa terlambat dalam pengembalian, maka jumlah keterlambatan mobil dan sopir akan dibebankan kepada penyewa. Setelah membayar kerusakan dan keterlambatan, maka petugas membuatkan kwitansi sebagai tanda bukti pembayaran denda

Studi Kasus 3. Prosedure laporan Diakhir bulan petugas membuat laporan penyewaan berikut denda atas kerusakan atau keterlambatan yang terjadi dan laporan kendaraan. Laporan tersebut diserahkan ke pemilik penyewaan Bendi car Buatlah state diagram dari sistem diatas

Studi Kasus 1. State Chart Prosedur Peminjaman Lihat Daftar Harga Sewa Isi FS Sewa Kendaraan Bayar Sewa Bayar Sopir [pakai sopir] Kwitansi Sewa Bayar Sewa Sewa Sopir

Studi Kasus 2. State Chart Prosedur Pengembalian Pengembalian Kendaraan Periksa kendaraan Kondisi Rusak Periksa tgl kembali Tanggal Terlambat Catat keterlambata n FK terisi Catat kondisi Hitung denda Jumlah denda Kwitansi Denda Bayar denda

Studi Kasus 3. State Chart Prosedur Laporan Buka Arsip Penyewaan Baca Arsip Lihat arsip kendaraan Buat laporan Cetak Laporan Kendaraan Baca Arsip Lihat Arsip Sewa & denda Buat Laporan Cetak Laporan Penyewaan

Soal Latihan 1. Dalam state machine diagram, activity terdiri atas: a. Events dan action d. Initial dan final state b. Entry dan Exit e. Do dan exit c. Entry dan do 2. Teknik yang umum digunakan untuk menggambarkan behaviour sebuah sistem adalah a. Class diagram d. Package b. Sequence Diagram e. Use Case c. State Machine Diagram

Soal Latihan 2. Teknik yang umum digunakan untuk menggambarkan behaviour sebuah sistem adalah a. Class diagram d. Package b. Sequence Diagram e. Use Case c. State Machine Diagram 3. Simbol end pada state diagram adalah a. Action d. State b. Initial state e. Guard c. Final state

Soal Latihan 3. Simbol end pada state diagram adalah a. Action d. State b. Initial state e. Guard c. Final state 4. UML juga memberi pilihan untuk menambahkan detil ke dalam simbol state dengan membagi tiga area yaitu: a. Initial, final, guard b. Entry, exit, do c. nama state, variabel, aktivitas d. Completion, internal, composite e. Internal, composite, history

Soal Latihan 4. UML juga memberi pilihan untuk menambahkan detil ke dalam simbol state dengan membagi tiga area yaitu: a. Initial, final, guard b. Entry, exit, do c. nama state, variabel, aktivitas d. Completion, internal, composite e. Internal, composite, history 5. Guard condition didalam state machine diagram dilambangkan dengan: a. ( ) d. < > b. [ ] e. <??> c. { }

Soal Latihan 5. Guard condition didalam state machine diagram dilambangkan dengan: a. ( ) d. < > b. [ ] e. <??> c. { } 1. Dalam state machine diagram, activity terdiri atas: a. Events dan action d. Initial dan final state b. Entry dan Exit e. Do dan exit c. Entry dan do