1
Rekayasa Perangkat Lunak
Materi 5 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.
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
2
Rekayasa Perangkat Lunak
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
2. Message Create Synchronous
Asynchronous
Self message
Digunakan untuk melakukan inisialisasi suatu objek Relasi ini digunakan untuk memaggil operasi atau ethod yang dimiliki oleh suatu objek. Synchronous mengharuskan kita menyelesaikan 1 proses baru kemudian memanggil proses berikutnya. 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. Relasi ini menunjukkan bahwa suatu objek hendak menanggil dirinya sendiri
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
3
Rekayasa Perangkat Lunak
3. Fragment Alt Opt loop
Memodelkan if then else blok Memodelkan pernyataan switch Loop 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.
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
4
Rekayasa Perangkat Lunak
Latihan 1. Pada materi Use Case kita pernah membuat Use Case diagram seperti berikut
” 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
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
5
Rekayasa Perangkat Lunak
4. Pilih create Boundary Life Line
5. Maka akan tampak seperti gambar berikut
Ubah nama Lifeline menjadi Form Peminjaman, disini menunjukkan bahwa 6. Berikan message dari petugas perpus ke LifeLine, kemudian berinama memasukkan nim
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
6
Rekayasa Perangkat Lunak
7. 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
8. Pertama tama akan kita hubungkan Sequence diagram Mencatat transaksi peminjaman dengan Class Diagram Perpustakaan. Klik kanan pada tempat kosong kemudian open specification
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
7
Rekayasa Perangkat Lunak
9. Pilih References, kemudian pilih Add Diagram
10. Pada Diagrams pilih Class Diagram kemudian beri tanda check pada Class Diagram Perpustakaan lalu OK
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
8
Rekayasa Perangkat Lunak
11. , kemudian pilih OK
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
9
Rekayasa Perangkat Lunak
12. 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
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
10
Rekayasa Perangkat Lunak
Pada toolbox silahkan anda ganti message dengan call message
14. Buat call message dari tombol proses ke lifeline TransaksiPeminjaman
15. Klik kanan pada call message dengan kode 2.1, Select Operation Create Operation
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
11
Rekayasa Perangkat Lunak
16. Maka akan muncul window berikut
Pada Name beri nama cekBolehPinjam, pada Return type isikan Boolean
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
12
Rekayasa Perangkat Lunak
17. Kemudian pilih tab Parameters, tambahkan parameter dengan menekan tombol add
Pada name isikan nim, type isikan string, direction pilih in kemudian OK 18. Maka akan terdapat 1 buah parameter baru, pilih OK
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
13
Rekayasa Perangkat Lunak
19. Maka akan tampak seperti berikut
Untuk menampilkan info lengkap dari method bolehPinjam maka klik kanan pada tempat kosong kemudian ikuti gambar berikut
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
14
Rekayasa Perangkat Lunak
20. Coba anda perhatikan lagi gambar yang barusan dihasilkan
21. Silahkan klik message dengan kode 2.1, kemudian pilih Create Return Message
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
15
Rekayasa Perangkat Lunak
22. Maka akan menghasilkan gambar berikut
23. Tambahkan message dari Tombol Proses ke Form Peminjaman, kemudian beri nama “munculkan pesan proses peminjaman tidak bisa dilanjutkan”
24. Klik kanan pada message yang anda buat di nomor 2.3, kemudian pilih Create Combinet Fragment Alt
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
16
Rekayasa Perangkat Lunak
25. Maka hasilnya akan seperti gambar berikut ini
26. 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
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
17
Rekayasa Perangkat Lunak
27. 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 Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
18
Rekayasa Perangkat Lunak
28. Buat message dari Petugas Perpus ke Form Peminjaman, kemudian beri nama “input kode koleksi”
29. Tambahkan 1 buah Boundary Lifeline dengan nama Tombol Simpan Peminjaman
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
19
Rekayasa Perangkat Lunak
30. Buat message dari Petugas Perpus ke Tombol Simpan Peminjaman dengan nama
31. Tambahkan 1 buah message dari Tombol Simpan Peminjaman ke LifeLine TransaksiPeminjaman
32. Pastikan message 4.1 typenya Call, dengan cara Klik kanan 4.1 Type Call Call
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
20
Rekayasa Perangkat Lunak
33. Klik kanan pada pesan 4.1 kemudian Select Operation Create Operation
34. Berinama operation ini dengan nama simpanPeminjaman, return type boolean
35. Pada parameter buat 2 buah parameter yaitu kodeKoleksi dan npm, kedua parameter bertipe string, untuk parameter kodeKoleksi multiplicitynya beri nila 1..* dan typeModifiernya []
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com
21
Rekayasa Perangkat Lunak
36. Hasil akhirnya seperti berikut
Rekayasa Perangkat Lunak | ratnokustiawan.wordpress.com