PERANCANGAN SISTEM BERORIENTASI OBJEK - E...
Transcript of PERANCANGAN SISTEM BERORIENTASI OBJEK - E...
SEQUENCE DIAGRAM
Yul i Purwat i , M.Kom
Outline:
Pendahuluan
Tujuan
Komponen
Simbol
Istilah
Contoh SD
Pendahuluan
Sequence diagram menggambarkan interaksi antar objek didalam dan di sekitar sistem (termasuk pengguna,display/form) berupa message yang digambarkan terhadapwaktu.
Sequence diagram terdiri atas dimensi vertikal (waktu)dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkanskenario atau rangkaian langkah-langkah yang dilakukansebagai respons dari sebuah event untuk menghasilkanoutput tertentu. Diawali dari apa yang men-triggeraktivitas tersebut, proses dan perubahan apa saja yangterjadi secara internal dan output apa yang dihasilkan.
Diagram ini secara khusus berasosiasi dengan use casediagram dan memperlihatkan tahap demi tahap apa yangseharusnya terjadi untuk menghasilkan sesuatu di dalamuse case
Tujuan
• Digunakan untuk memperlihatkan interaksi antar obyekdalam perintah yang berurut.
• Tujuan utama adalah mendefinisikan urutan kejadianyang dapat menghasilkan output yang diinginkan
• Mirip dengan activity diagram Menggambarkan alur kejadian sebuah aktivitas
Lebih detail dalam menggambarkan aliran data, termasukdata atau behaviour yang dikirimkan atau diterima
Namun kurang mampu menjelaskan detail dari sebuahalgoritma (loop, branching)
Komponen
•Actor
•Interface (Boundary)
•Proses pembacaan (Control)
•Nama tabel (Entity)
Simbol
Jenis Class
1. Boundary Class:• Class yang berinteraksi dengan aktor langsung (userinterface)
• Form, input, UI ini masuk di sini
2. Control Class:• Class yang berhubungan dengan pemrosesan, penghitungan,kalkulasi, komputasi, query, dst
3. Entity Class:• Class yang berhubungan dengan data, penyimpanandata/file
Daftar IstilahParticipant
Obyek yang terkait dengan sebuah urutan proses
Lifeline
Menggambarkan daur hidup sebuah obyek
Activation
Suatu titik waktu dimana sebuah obyek mulai berpartisipasi didalam sebuah sequence
Ditandai dengan sebuah bar
Time
Elemen penting dalam sequence diagram
Konteksnya adalah urutan, bukan durasi
Return
Suatu hasil kembalian sebuah operasi
Operasi mengembalikan hasil, tetapi boleh tidak ditulis
Arrows
◦ Synchronous call (you’re waiting for a return value) –triangle arrow-head
◦ Asynchronous call (not waiting for a return) – openarrow-head
◦ Return call – dashed line
Synchronous message
Asynchronous message
Return message
Detil SD
SD Sistem ATM: Memasukkan Kartu sd Interaction
Pengguna
KotakKartu ProsesValidasiKartu MenuLogin
masukkanKartu()
validasiKartu()
isKartuValid()
tampilkanMenuLogin()
SD Sistem ATM: Memasukkan PIN sd Interaction
Pengguna
MenuLogin ProsesValidasiAccount Account MenuUtama
masukkanPIN()
validasiAccount(id, pin)
getID()
getPIN()
isAccountValid()
tampilkanMenuUtama()
SD Sistem ATM: Melihat Saldo sd Interaction
Pengguna
MenuUtama ProsesMelihatSaldo Account MenuMelihatSaldo
pilihMelihatSaldo()
l ihatSaldo(id)
getID()
getSaldo()
tampilkanSaldo(id)
SD Sistem ATM: Mengambil Uang sd Interaction
Pengguna
MenuUtama MenuMengambilUang ProsesMengambilUang Account KotakUang
pilihMengambilUang()
tampilkanMenuMengambilUang()
masukkanJumlahUang()
ambilUang(id, jumlah)
getID()
getSaldo()
isSaldoCukup()
setSaldo(jumlah)
getSaldo()
tampilkanHasil()
keluarkanUang(jumlah)
SD Sistem ATM: Mengirim Uang sd Interaction
Pengguna
MenuUtama MenuMengirimUang ProsesMengirimUang Account
pilihMengirimUang()
tampilkanMenuMengirimUang()
masukkanJumlahUang()
masukkanNoAccountPenerima()
kirimUang(jumlah, id)
getID()
getSaldo()
isSaldoCukup()
getIDTujuan()
setSaldoTujuan(jumlah)
tampilkanHasilKirimUang()
Contoh 1
lifeline
execution
Contoh 2
Form
Sequence Diagram
: Mahasiswa
: Matakuliah : Proses : tblmatkul
Klik Cari
Proses data matakuliah
Pilih matakuliah( )
Tampil nama matakuliah( )
Masukan kode awal matkul( )
klik save( )
Proses( )
Save data( )
: Prog_studi : Matakuliah : Proses : tblmatkul
Input data matkul( )
Proses( )
SAve( )
Perpustakaan
Gambar di atas menggambarkan Aplikasi mempunyai satuActor/user yaitu Pustakawan dan 7 use case. Hal inimenjelaskan bahwa dalam aplikasi, pustakawan bisaMenambah Anggota, Mencetak Kartu Anggota, Menambah Buku,Mencetak Stiker Kode Buku, Melihat Katalog, MeminjamBuku, dan Mengembalikan Buku.
Mungkin ada kebingungan, mengapa yang meminjam danmengembalikan buku adalah Pustakawan, bukan anggotaperpustakaan.
Kalau kita lihat Business Process atau ActivityDiagram , terlihat bahwa yang berinteraksi langsungdengan aplikasi adalah Pustakawan, bukan anggota. Anggotameminjam dan mengembalikan buku kepada Pustakawan,selanjutnya Pustakawan lah yang menginput ke aplikasi.
Activity
Diagram
Diagram di atas menggambarkan 3 Activity utama didalam perpustakaan,yaitu: Menambah anggota/member perpustakaan.
Anggota meminjam buku.
Anggota mengembalikan buku.
Walaupun mungkin masih banyak activity-activitylain yang terkait dengan perpustakaan tetapi bukanmerupakan business process yang utama dariperpustakaan.
Sequence Diagram
Sequence Diagram menggambarkan urutan interaksi antarobjek ketika satu Use Case dieksekusi/dilakukan, sehinggaSequence Diagram (sebaiknya) sebanyak Use Case nya.
Dalam membuat Sequence Diagram ini memakai metodeprogramming MVC (Model-View-Controller) atau dalamistilah lain Model=Entity, View=Boundary, danController=Control.
View/Boundary adalah class yang berinteraksi langsungdengan Actor. Controller/Control adalah class interaksiperantara antara View/Boundary dan Mode/Entity. sedangModel/Entity adalah class yang menyimpan data.
Menambah Anggota
Ada dua class Boundary yaitu MenuUtama dan FormPendaftaranAnggota, satu class Control yaitu ProsesPendaftaranAnggota, dansatu class Entity yaitu Member.
Mencetak Kartu Anggota
Referensi
Booch G.,The Unified Modeling Language User Guide, ch 19