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.
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 |
- Message
| Create | Digunakan 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 message | Relasi ini menunjukkan bahwa suatu objek hendak menanggil dirinya sendiri |
- Fragment
| Alt | Memodelkan if then else blok |
| Opt | Memodelkan pernyataan switch |
| loop | Loop fragment |
Ada 2 macam sequence diagram yaitu
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.
Application Level Sequence Diagram
Untuk level ini, kita mengganti actor dengan controller atau manager semacam device yang terpasang pada system.
Latihan
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“
Buat 1 buah sequence diagram, beri nama “Mencatat Transaksi Peminjaman”
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
Pilih create Boundary Life Line
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
Berikan message dari petugas perpus ke LifeLine, kemudian berinama memasukkan nim
Dapat dibaca bahwa petugas perpus akan memasukkan nim ke form peminjaman
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
Pertama tama akan kita hubungkan
Sequence diagram
Mencatat transaksi peminjaman dengan Class Diagram
Perpustakaan. Klik kanan pada tempat kosong kemudian open specification
Pilih References, kemudian pilih Add Diagram
Pada Diagrams pilih Class Diagram kemudian beri tanda check pada Class Diagram Perpustakaan lalu OK
Maka class Diagram perpustakaan akan menjadi reference document dari Sequence Diagram Mencatat Peminjaman, kemudian pilih OK
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
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
Buat call message dari tombol proses ke lifeline TransaksiPeminjaman
Klik kanan pada call message dengan kode 2.1, Select à Operation à Create Operation
Maka akan muncul window berikut
Pada Name beri nama cekBolehPinjam, pada Return type isikan Boolean
Kemudian pilih tab Parameters, tambahkan parameter dengan menekan tombol add
Pada name isikan nim, type isikan string, direction pilih in kemudian OK
Maka akan terdapat 1 buah parameter baru, pilih OK
Maka akan tampak seperti berikut
Untuk menampilkan info lengkap dari method bolehPinjam maka klik kanan pada tempat kosong kemudian ikuti gambar berikut

Coba anda perhatikan lagi gambar yang barusan dihasilkan
Dari gambar diatas dapat dibaca
- Petugas perpus akan memasukkan nim ke form peminjaman
- Setelah memasukkan nim ke form peminjaman maka akan menekan tombol proses
- 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
Silahkan klik message dengan kode 2.1, kemudian pilih Create Return Message
Maka akan menghasilkan gambar berikut
- Tambahkan message dari Tombol Proses ke Form Peminjaman, kemudian beri nama “munculkan pesan proses peminjaman tidak bisa dilanjutkan”
- Klik kanan pada message yang anda buat di nomor 2.3, kemudian pilih Create Combinet Fragment à Alt
Maka hasilnya akan seperti gambar berikut ini
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
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
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)
Tambahkan 1 buah Boundary Lifeline dengan nama Tombol Simpan Peminjaman
Buat message dari Petugas Perpus ke Tombol Simpan Peminjaman dengan nama
Tambahkan 1 buah message dari Tombol Simpan Peminjaman ke LifeLine TransaksiPeminjaman
Pastikan message 4.1 typenya Call, dengan cara Klik kanan 4.1 à Type à Call à Call
Klik kanan pada pesan 4.1 kemudian Select Operation àCreate Operation
Berinama operation ini dengan nama simpanPeminjaman, return type boolean
Pada parameter buat 2 buah parameter yaitu kodeKoleksi dan npm, kedua parameter bertipe string, untuk parameter kodeKoleksi multiplicitynya beri nila 1..* dan typeModifiernya []
- Hasil akhirnya seperti berikut