Friday, 10 June 2016

Sequence diagram

Sequence diagram mendeskripsikan bagaimana entitas dalam system berinteraksi, termasuk pesan yang digunakan saat interaksi. Semua pesan dideskripsikan dalam urutan dari eksekusi. Sequence diagram berhubungan erat dengan Use Case diagram, dimana 1 Use Case akan menjadi 1 Sequence Diagram.
  1. LifeLine
    Sequence Diagram dibuat dengan banyak lifeline. Setiap lifeline mendapatkan tempat sendiri – sendiri. Beberapa jenis lifeline antara lain
Actor Lifeline 
010611_0230_sequencedia1
Actor merepresentasikan entitas yang berada di luar system. Mereka bisa berupa manusia, perangkat keras atau system lain.
General Lifeline 
010611_0230_sequencedia2
Merepresentasikan entitas tunggal dalam sequence diagram, digambarkan dengan kotak. Entitas ini memiliki nama, stereotype atau berupa instance (menggunakan instance:class)
Boundary Lifeline 
010611_0230_sequencedia3
Boundary biasanya berupa tepi dari system, seperti user interface, atau suatu alat yang berinteraksi dengan system lain.
Control Lifeline 
010611_0230_sequencedia4

Control element mengatur aliran dari informasi untuk sebuah scenario. Perilaku dan perilaku bisnis umumnya diatur oleh objek ini
Entity Lifeline 
010611_0230_sequencedia5
Entity biasanya elemen yang bertanggung jawab menyimpan data atau informasi. Ini dapat berupa beans atau model object

  1. Message
CreateDigunakan untuk melakukan inisialisasi suatu objek
Synchronous 
010611_0230_sequencedia6
Relasi ini digunakan untuk memaggil operasi atau ethod yang dimiliki oleh suatu objek. Synchronous mengharuskan kita menyelesaikan 1 proses baru kemudian memanggil proses berikutnya.
Asynchronous 
010611_0230_sequencedia7
Relasi ini digunakan untuk memanggil operasi atau method yang dimiliki oleh suatu objek. Asynchronous memberikan kita fasilitas untuk menjalankan proses lain ketika proses sebelumnya belum selesai.
Self messageRelasi ini menunjukkan bahwa suatu objek hendak menanggil dirinya sendiri
  1. Fragment
AltMemodelkan if then else blok
OptMemodelkan pernyataan switch
loopLoop fragment


Ada 2 macam sequence diagram yaitu
  1. High Level Sequence Diagram
    Disini kita memfokuskan pada usecase, dimana sebuah diagram hanya terdiri dari actor dan object yang mewakili system. Diagram ini hanya menampilkan 2 atau 3 object yang secara graphics memperjelas use case.
  2. Application Level Sequence Diagram
    Untuk level ini, kita mengganti actor dengan controller atau manager semacam device yang terpasang pada system.
Latihan
  1. Pada materi Use Case kita pernah membuat Use Case diagram seperti berikut
    010611_0230_sequencedia8
    Sebuah use case akan menjadi 1 buah Sequence Diagram, oleh karena itu kita coba untuk mengambil use case “Mencatat transaksi peminjaman
  2. Buat 1 buah sequence diagram, beri nama “Mencatat Transaksi Peminjaman”
    010611_0230_sequencedia9
  3. Kembali pada dokumen Mencatat Transaksi Peminjaman, silahkan anda tambahkan Actor Petugas perpus dari Usecase Petugas Perpus dengan cara drag dari Petugas Perpus di Use Case Diagram ke Sequence Diagram Mencatat transaksi peminjaman
    010611_0230_sequencedia10010611_0230_sequencedia11
  4. Pilih create Boundary Life Line
    010611_0230_sequencedia12010611_0230_sequencedia13
  5. Maka akan tampak seperti gambar berikut
    010611_0230_sequencedia14
    Ubah nama Lifeline menjadi Form Peminjaman, disini menunjukkan bahwa petugas perpus akan berhadapan dengan form peminjaman untuk mencatat proses peminjaman
  6. Berikan message dari petugas perpus ke LifeLine, kemudian berinama memasukkan nim
    010611_0230_sequencedia15
    Dapat dibaca bahwa petugas perpus akan memasukkan nim ke form peminjaman
  1. Tambahkan 1 buah boundary Lifeline dengan nama Tombol Proses
    010611_0230_sequencedia16
    Kemudian tambahkan 1 buah message dari Petugas perpus ke Tombol Proses dan beri nama menekan tombol proses
    010611_0230_sequencedia17
    Dibaca bahwa petugas perpus akan memasukkan nim kemudian menekan tombol proses yang terletak di form peminjaman
  2. Pertama tama akan kita hubungkan
    Sequence diagram
    Mencatat transaksi peminjaman dengan Class Diagram
    Perpustakaan. Klik kanan pada tempat kosong kemudian open specification
    010611_0230_sequencedia18
  3. Pilih References, kemudian pilih Add Diagram
    010611_0230_sequencedia19
  4. Pada Diagrams pilih Class Diagram kemudian beri tanda check pada Class Diagram Perpustakaan lalu OK
    010611_0230_sequencedia20
  5. Maka class Diagram perpustakaan akan menjadi reference document dari Sequence Diagram Mencatat Peminjaman, kemudian pilih OK
    010611_0230_sequencedia21
  1. Kemudian silahkan anda tambahkan Class Transaksi Peminjaman dari Class Diagram ke sequence diagram yang sedang anda buat, apabila diminta memilih lifeline atau class pilih life line, dengan cara Drag Transaksi Peminjaman dari Class Diagram Perpustakaan ke Squence Diagram Mencatat transaksi peminjaman
    010611_0230_sequencedia22010611_0230_sequencedia23
    Apabila anda pilih Lifeline maka tampak seperti gambar berikut
    010611_0230_sequencedia24
  1. Disini kita akan coba menggambarkan alur ketika petugas perpus melakukan proses pencatatan peminjaman, alur yang kita buat ini nantinya akan mempengaruhi Class Diagram dan kode program yang nantinya akan diimplementasikan oleh programmer.
    Pada toolbox silahkan anda ganti message dengan call message
    010611_0230_sequencedia25010611_0230_sequencedia26
  2. Buat call message dari tombol proses ke lifeline TransaksiPeminjaman
    010611_0230_sequencedia27
  3. Klik kanan pada call message dengan kode 2.1, Select à Operation à Create Operation
    010611_0230_sequencedia28
  4. Maka akan muncul window berikut
    010611_0230_sequencedia29
    Pada Name beri nama cekBolehPinjam, pada Return type isikan Boolean
    010611_0230_sequencedia30
  5. Kemudian pilih tab Parameters, tambahkan parameter dengan menekan tombol add
    010611_0230_sequencedia31
    Pada name isikan nim, type isikan string, direction pilih in kemudian OK
  6. Maka akan terdapat 1 buah parameter baru, pilih OK
    010611_0230_sequencedia32
  7. Maka akan tampak seperti berikut
    010611_0230_sequencedia33
    Untuk menampilkan info lengkap dari method bolehPinjam maka klik kanan pada tempat kosong kemudian ikuti gambar berikut
010611_0230_sequencedia34
  1. Coba anda perhatikan lagi gambar yang barusan dihasilkan
    010611_0230_sequencedia35
    Dari gambar diatas dapat dibaca
    1. Petugas perpus akan memasukkan nim ke form peminjaman
    2. Setelah memasukkan nim ke form peminjaman maka akan menekan tombol proses
    3. Saat tombol proses ditekan maka akan memanggil method bolehPinjam dari objek transaksiPeminjaman yang merupakan objek yang berasal dari kelas TransaksiPeminjaman dan mengisi parameter nim dari hasil yang didapat dari form peminjaman
  2. Silahkan klik message dengan kode 2.1, kemudian pilih Create Return Message
    010611_0230_sequencedia36010611_0230_sequencedia37
  1. Maka akan menghasilkan gambar berikut
    010611_0230_sequencedia38
  2. Tambahkan message dari Tombol Proses ke Form Peminjaman, kemudian beri nama “munculkan pesan proses peminjaman tidak bisa dilanjutkan”
010611_0230_sequencedia39
  1. Klik kanan pada message yang anda buat di nomor 2.3, kemudian pilih Create Combinet Fragment à Alt
010611_0230_sequencedia40
  1. Maka hasilnya akan seperti gambar berikut ini
    010611_0230_sequencedia41
  2. Silahkan anda klik kanan pada fragment kemudian Operand à Add Operand, lalu tambahkan 1 buah message lagi dari tombol proses ke form peminjaman, beri nama pesannya “aktifkan input peminjaman koleksi ” , pastikan bahwa pesan ini terletak di operand yang bawah
    010611_0230_sequencedia42
  1. Klik kanan pada Fragment kemudian Open Spesification, pilih Iteraction Operand
    010611_0230_sequencedia43
    Pilih Operand, kemudian Open Specification à Guard. Pada Constraint isikan bolehPinjam=false.
    Untuk Operand2 klik Open Specification à Guard. Pada Constraint isikan bolehPinjam=true
    010611_0230_sequencedia44
    Pada Operand, apabila hasil dari pemanggilan method bolehPinjam adalah false maka akan memunculkan pesan di form peminjaman yang berisi “Peminjaman tidak bisa dilanjutkan”, bila true maka akan mengaktifkan input peminjaman koleksi
  2. Buat message dari Petugas Perpus ke Form Peminjaman, kemudian beri nama “input kode koleksi”
    010611_0230_sequencedia45
Dari gambar diatas dapat dibaca bahwa message nomor 2.4 dan 3 akan dilaksanakan ketika status bolehPinjam bernilai true, bila false maka muncul pesan proses peminjaman tidak bisa dilanjutkan (message nomor 2.3)
  1. Tambahkan 1 buah Boundary Lifeline dengan nama Tombol Simpan Peminjaman
    010611_0230_sequencedia46
  2. Buat message dari Petugas Perpus ke Tombol Simpan Peminjaman dengan nama
    010611_0230_sequencedia47
  3. Tambahkan 1 buah message dari Tombol Simpan Peminjaman ke LifeLine TransaksiPeminjaman
    010611_0230_sequencedia48
  4. Pastikan message 4.1 typenya Call, dengan cara Klik kanan 4.1 à Type à Call à Call
    010611_0230_sequencedia49
  5. Klik kanan pada pesan 4.1 kemudian Select Operation àCreate Operation
    010611_0230_sequencedia50
  6. Berinama operation ini dengan nama simpanPeminjaman, return type boolean
    010611_0230_sequencedia51
  7. Pada parameter buat 2 buah parameter yaitu kodeKoleksi dan npm, kedua parameter bertipe string, untuk parameter kodeKoleksi multiplicitynya beri nila 1..* dan typeModifiernya []
    010611_0230_sequencedia52
  8. Hasil akhirnya seperti berikut
010611_0230_sequencedia53

No comments:

Post a Comment

Silahkan tinggalkan komentar, dan Berkomentar dengan sopan, terimakasih..