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 
Actor merepresentasikan entitas yang berada di luar system. Mereka bisa berupa manusia, perangkat keras atau system lain.
General Lifeline 
Merepresentasikan entitas tunggal dalam sequence diagram, digambarkan dengan kotak. Entitas ini memiliki nama, stereotype atau berupa instance (menggunakan instance:class)
Boundary Lifeline 
Boundary biasanya berupa tepi dari system, seperti user interface, atau suatu alat yang berinteraksi dengan system lain.
Control Lifeline 


Control element mengatur aliran dari informasi untuk sebuah scenario. Perilaku dan perilaku bisnis umumnya diatur oleh objek ini
Entity Lifeline 
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 
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 
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
    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”
  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
  4. Pilih create Boundary Life Line
  5. Maka akan tampak seperti gambar berikut
    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
    Dapat dibaca bahwa petugas perpus akan memasukkan nim ke form peminjaman
  1. Tambahkan 1 buah boundary Lifeline dengan nama Tombol Proses
    Kemudian tambahkan 1 buah message dari Petugas perpus ke Tombol Proses dan beri nama menekan tombol proses
    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
  3. Pilih References, kemudian pilih Add Diagram
  4. Pada Diagrams pilih Class Diagram kemudian beri tanda check pada Class Diagram Perpustakaan lalu OK
  5. Maka class Diagram perpustakaan akan menjadi reference document dari Sequence Diagram Mencatat Peminjaman, kemudian pilih OK
  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
    Apabila anda pilih Lifeline maka tampak seperti gambar berikut
  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
  2. Buat call message dari tombol proses ke lifeline TransaksiPeminjaman
  3. Klik kanan pada call message dengan kode 2.1, Select à Operation à Create Operation
  4. Maka akan muncul window berikut
    Pada Name beri nama cekBolehPinjam, pada Return type isikan Boolean
  5. Kemudian pilih tab Parameters, tambahkan parameter dengan menekan tombol add
    Pada name isikan nim, type isikan string, direction pilih in kemudian OK
  6. Maka akan terdapat 1 buah parameter baru, pilih OK
  7. Maka akan tampak seperti berikut
    Untuk menampilkan info lengkap dari method bolehPinjam maka klik kanan pada tempat kosong kemudian ikuti gambar berikut
  1. Coba anda perhatikan lagi gambar yang barusan dihasilkan
    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
  1. Maka akan menghasilkan gambar berikut
  2. Tambahkan message dari Tombol Proses ke Form Peminjaman, kemudian beri nama “munculkan pesan proses peminjaman tidak bisa dilanjutkan”
  1. Klik kanan pada message yang anda buat di nomor 2.3, kemudian pilih Create Combinet Fragment à Alt
  1. Maka hasilnya akan seperti gambar berikut ini
  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
  1. Klik kanan pada Fragment kemudian Open Spesification, pilih Iteraction Operand
    Pilih Operand, kemudian Open Specification à Guard. Pada Constraint isikan bolehPinjam=false.
    Untuk Operand2 klik Open Specification à Guard. Pada Constraint isikan bolehPinjam=true
    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”
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
  2. Buat message dari Petugas Perpus ke Tombol Simpan Peminjaman dengan nama
  3. Tambahkan 1 buah message dari Tombol Simpan Peminjaman ke LifeLine TransaksiPeminjaman
  4. Pastikan message 4.1 typenya Call, dengan cara Klik kanan 4.1 à Type à Call à Call
  5. Klik kanan pada pesan 4.1 kemudian Select Operation àCreate Operation
  6. Berinama operation ini dengan nama simpanPeminjaman, return type boolean
  7. Pada parameter buat 2 buah parameter yaitu kodeKoleksi dan npm, kedua parameter bertipe string, untuk parameter kodeKoleksi multiplicitynya beri nila 1..* dan typeModifiernya []
  8. Hasil akhirnya seperti berikut