Sequence Diagram Dalam Pemodelan Perangkat Lunak

Sequence Diagram – Dalam pemodelan perangkat lunak diagram yang berperan untuk memperlihatkan interaksi antar obyek dalam perintah yang berurut disebut sequence diagram.

Pengertian Sequence Diagram

Sequence diagram adalah penggambaran tentang interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display/form) berupa message yang digambarkan terhadap waktu. Dalam Diagram sequence ini diorganisasikan dengan 2 garis, yaitu:

  • Garis horisontal menunjukkan elemen yang terlibat dalam interaksi. Elemen pada garis horisontal dapat muncul dengan berbagai urutan
  • Garis vertikal menyatakan waktu proses.

Diagram Sequence biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan dengan respon dari sebuah event untuk menghasilkan output tertentu. Hal tersebut diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output.

Diagram ini secara khusus berasosiasi dengan diagram use case. Kemudian memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuati di dalam use case.

Baca Juga: Use Case Diagram Lengkap dengan Contohnya

Tujuan Sequence Diagram

Tujuan utama dari diagram Sequence adalah mendefinisikan urutan kejadian yang dapat menghasilkan output yang diinginkan. Hal ini Mirip dengan activity diagram seperti:

  • Menggambarkan alur kejadian sebuah aktivitas
  • Lebih detail dalam menggambarkan aliran data, termasuk data atau behaviour yang dikirimkan atau diterima
  • Namun kurang mampu menjelaskan detail dari sebuah algoritma (loop, branching)

Simbol Sequence Diagram

SimbolKeterangan
Actor Sequence Diagram
Actor
Menggambarkan pengguna yang berinteraksi dengan sistem
Entity Class Sequence Diagram
Entity Class
Menggambarkan hubungan kegiatan yang akan dilakukan
Boundary Class Sequence Diagram
Boundary Class
Digunakan untuk menggambarkan sebuah Form
Control Class Sequence Diagram
Control Class
Menggambarkan penghubung antara boundary dengan tabel
a focus of control & life line
A focus of control & Life Line
Menggambarkan tempat mulai dan berakhirnya sebuah message
sequence diagram activation
Aktivasi / Activation
Menandakan ketika suatu objek mengirim atau menerima pesan
sequence diagram Message
Message
Menggambarkan Objek yang mengirim satu pesan ke objek lain
sequence diagram Self Call
Message to Self
Menggambarkan bahwa suatu objek hendak memanggil dirinya sendiri
sequence diagram Callback
Message to Return
Message to return digambarkan dengan tanda panah yang berbalik ke tempat semula.
Komponen yang satu ini dijelaskan untuk menunjukkan hasil dari pengiriman message.
Sequence Diagram Destroy
Destruction
Menyatakan suatu objek mengakhiri hidup objek lain, arah panah mengarah pada objek
yang diakhiri. Sebaiknya jika ada create maka ada destroy
Simbol Sequence Diagram

Komponen dalam Sequence Diagram beserta Contohnya

PERAN CLASS

Pada diagram sequence, peran class ditunjukkan menggunakan notasi untuk class, tetapi nama class diawali dengan tanda slash ‘/’ diikuti nama peran dimana obyek harus sesuai dengan partisipasinya dalam peran, diikuti tanda titik dua ‘:’

Class-class lain juga ditunjukkan seperlunya, menggunakan notasi class, peran class dan class2 lain digunakan untuk komunikasi level-spesifik menggunakan diagram sequence. Contoh: peran class projectOrganization serta class Project dan Report

OBYEK TERTENTU

Pada diagram sequence, obyek tertentu dari suatu class sesuai dengan peran class ditunjukkan menggunakan notasi untuk obyek, tetapi nama obyek diikuti dengan tanda slash ‘/’, nama peran, tanda titik dua ‘:’ dan nama class dan diberi garis bawah.
Obyek lain juga dapat ditampilkan menggunakan notasi obyek. Obyek khusus sesuai dengan peran class dan obyek lain digunakan untuk kolaborasi level-anggota menggunakan diagram sequence

Contoh: Andy’s Organization memanikan peran dalam organisasi yang terdiri dari sebuah project yang merupakan subyek dari laporan. Juga terdapat obyek Project dan Report yang tak bernama.

LIFELINE

Lifeline, digambarkan dengan garis vertikal putus-putus dari sebuah elemen, menyatakan keberadaan elemen sepanjang waktu. Simbol Lifeline ini umumnya digunakan untuk menggambarkan eksekusi suatu objek dalam sequence. Atau bisa dikatakan bahwa simbol yang satu ini merupakan pesan dikirim dan diterima beserta aktivasinya. Contoh: lifeline untuk peran class (projectOrganization) dan class (Project dan Report)

AKTIVASI

Aktivasi digambarkan dengan segiempat kurus dan panjang pada lifeline, menyatakan periode selama elemen membentuk operasi. Segiempat di bagian atas menyatakan waktu inisial, dan segiempat di bagian bawah menyatakan waktu berakhir. Contoh aktivasi

KOMUNIKASI

Pada diagram sequence, komunikasi, pesan atau stimulus dinyatakan sebagai panah horisontal solid dari lifeline atau aktivasi dari sender ke lifeline atau aktivasi dari suatu penerima. Komunikasi digambarkan menggunakan sintak:

[guard] *[iteration] sequence_number : return_variable := operation_name (argument_list)

Dimana:

  • Guard bersifat opsional dan menyatakan kondisi yang harus dipenuhi dalam komunikasi untuk komunikasi yang dikirim atau terjadi
  •  Iteration bersifat opsional dan menyatakan jumlah waktu komunikasi dikirim atau terjadi. Tanda asterik ‘*’ dan kurung siku dihilangkan jika tidak ada iterasi tertentu
  •  Sequence_number bersifat opsional integer yang menyatakan urutan komunikasi.
  •  Operation_name adalah nama oeprasi yang terjadi
  •  Argumen_list bersifat opsional. Setiap parameter bisa berupa nilai khusus atau nilai variabel dari komunikasi sebelumnya

Contoh Komunikasi Sequence Diagram:

Contoh Komunikasi Sequence Diagram
  • Diagram sequence mengijinkan seseorang membaca dokumentasi untuk mengikuti aliran pesan dari setiap obyek
  • Garis vertikal dengan tanda kotak di bagian atas menyatakan anggota class (obyek)
  • Label di sebelah kanan tanda petik dua ‘:’ adalah class
  • Panah horisontal adalah pesan yang terkirim antara anggota dan dibaca dari atas ke bawah
  • • Customer (user) menyimpan uang dalam MyAccount yang merupakan anggota dari class SavingsAccount. Kemudian obyek MyAccount memvalidasi account dengan menanyakan obyek Bank. MyBank menjalankan ValidateAccount. Akhirnya Customer menanyakan obyek ATM untuk mengeluarkan Resep dengan memanggil operasi GetReceipt
  • Segiempat putih menyatakan area metode atau kumpulan metode yang terjadi dalam obyek MyBank. Garis putus-putuh menghasilkan return dari metode ValidateAccount

KOMUNIKASI: REKURSI

Sebuah obyek mungkin perlu memanggil pesan secara rekursif, artinya untuk memanggil pesan yag sama dari pesan:

  1. Misalnya cityLocations dinyatakan dalam diagram class sebagai kumpulan dari satu atau lebih apartemen atau rumah
  2. Surat dapat dikirim ke semua apartemen dalam lokasi
KOMUNIKASI: REKURSI

JENIS PESAN: Synchronous Messages

Dalam diagram sequence terdapat 4 jenis pesan diataranya: Synchronous Messages, Asynchronous Messages, Self-Reference Message dan Timed Messages. Pertama kita akan membahas Synchronous Messages:

  1. Asumsi nilai hasil diperlukan
  2. Sender menunggu nilai hasil sebelum memproses aktifitas lain
  3. Dinyatakan dengan panah penuh
  4. Pesan dapat di-kembalikan menggunakan panah garis putus-putus
JENIS PESAN - Synchronous Messages

JENIS PESAN: Asynchronous Messages

  1. Tidak menunggu hasil dari pesan
  2. Dicontohkan dengan sinyal
  3. Pengirim hanya bertanggung jawab untuk mendapatkan pesan ke penerima
  4. Biasanya dimodelkan menggunakan garis solid dan panah tak penuh untuk membedakan dengan pesan synchronous
JENIS PESAN - Asynchronous Messages

JENIS PESAN: Self-Reference Message

Self-reference message adalah pesan dimana pengirim dan penerima adalah obyek yang sama:

  1. Dalam self-reference message, obyek memanggil dirinya sendiri
  2. Pesan 2 hanya menjalankan prosedur yang harus dieksekusi
JENIS PESAN: Self-Reference Message

JENIS PESAN:Timed Messages

  1. Pesan mempunyai atribut waktu yang ditentukan user, seperti sentTime atau receivedTime
  2. Atribut waktu yang ditentukan user harus dihubungkan dengan nomor pesan
  3. Dimodelkan dengan panah horisontal
  4. Pesan membutuhkan jumlah waktu tertentu, mungkin untuk menggunakan panah miring dari waktu pembuatan sampai penghapusan

Contoh: pesan 1,2,3, waktu eksekusi sama dengan 0. Pesan 4 membutuhkan waktu lebih banyak (waktu>0) untuk eksekusi

PESAN BERSYARAT

Pada diagram sequence, persyaratan (yang melibatkan komunikasi pesan atau stimuli) dalam interaksi bentuk umum ditampilkan sebagai beberapa komunikasi yang meninggalkan satu titik pada lifeline atau aktivasi, dengan komunikasi yang mempunyai ekspresi guard yang mutually exclusive.

Lifeline terbagi ke dalam 2 atau lebih lifeline untuk menunjukkan bagaimana satu elemen menangani beberapa komunikasi yang dapat dan lifeline akan bergabung kembali

Gambar berikut menunjukkan interaksi dan kolaborasi antara pembangkitan proyek dan status laporan, dimana class GenerateProject – StatusReportHandler meminta peran class projectOrganization menandakan bahwa proyek kosong jika proyek baru dibuat, dan class GenerateProject – StatusReportHandler meminta peran class projectOrganization melanjutkan pembangkitan informasi untuk elemen laporan jika proyek bukan baru dibuat.

Hanya komunikasi pertama yg ditampilkan untuk membangkitkan laporan. Jika tidak ada komunikasi lain untuk membangkitkan laporan, komunikasi GenerateReport kemungkinan kembali ke lifeline yg sama sebagai komunikasi OutputEmptyProject. Lifeline yang digunakan berbeda karena setiap lifeline menyatakan jalur eksekusi yang berbeda.

Pembuatan obyek: jika obyek dibuat selama eksekusi, akan muncul di suatu tempat di bawah obyek pembuatnya.

Pembuatan obyek Sequence Diagram

Penghapusan obyek: jika obyek dihapus selama waktu eksekusi, letakkan X pada titik dalam lifeline ketika terminasi terjadi.

Penghapusan obyek Sequence Diagram

Cara Membuat Sequence Diagram

Cara membuat sequence diagram dapat dilakukan secara online melalui website draw.io. Dalam membuat sequence diagram online Pertama anda perlu login, dapat dilakukan dengan menggunakan akun google. Kemudian akan ditampilkan halaman utama seperti berikut ini.

Halaman Utama draw.io

Buatlah diagram baru dengan menekan tombol “Create New Diagram”, selanjutnya akan diarahkan untuk memilih template dan menuliskan nama Diagram anda. Untuk memulai dari halaman kosong, anda dapat memilih template dengan nama “Blank Diagram”. Namun apabila anda ingin memulai dengan contoh sequence diagram, silahkan pilih template dengan nama “Sequence Diagram”. Kemudian tekan tombol Create.

Selanjutnya akan diarahkan untuk menyimpan diagram, anda dapat menyimpan diagram di posisi root atau memilih folder. Saran saya sebaiknya simpan diagram di folder tersendiri supaya lebih mudah mencarinya jika diperlukan.

Beginilah tampilan awal diagram anda jika memilih template “Sequence Diagram”, pada bagian kiri layar terdapat beberapa pilihan bentuk yang dapat anda gunakan. Pilihlah kelompok Bentuk dengan judul UML untuk kebutuhan membuat sequence Diagram.

Dengan contoh yang diberikan oleh template “Sequence Diagram” anda hanya perlu memodifikasi dan menambahkan bentuk/simbol yang sesuai dengan keperluan anda.

sequence diagram binus

Sequence Diagram Perpustakaan

Sequence Diagram Perpustakaan: Menambah Anggota
Sequence Diagram Perpustakaan: Menambah Anggota
Sequence Diagram Perpustakaan: Mencetak Kartu Anggota
Sequence Diagram Perpustakaan: Mencetak Kartu Anggota
Sequence Diagram Perpustakaan: Menambah Buku
Sequence Diagram Perpustakaan: Menambah Buku
Sequence Diagram Perpustakaan: Mencetak Stiker Kode Buku
Sequence Diagram Perpustakaan: Mencetak Stiker Kode Buku

Sequence Diagram Pdf

Untuk anda yang ingin belajar diagram sequence berikut ini beberapa sequence diagram pdf yang dapat anda download:

Contoh Sequence Diagram Penjualan

Contoh kali ini menggunakan referensi dari: Sidik, A., Sutarman, S., & Marlenih, M. (2017). Perancangan Sistem Informasi Penjualan Perumahan Citra Raya. Jurnal Sisfotek Global, 7(1).

Contoh Sequence Diagram Penjualan: Login user
Contoh Sequence Diagram Penjualan: Login user

Pada gambar di atas dapat dilihat bahwa ada 4 kelas yang saling berinteraksi, yaitu :

  1. Halaman login
  2. Controller
  3. Admins
  4. Halaman utama user

Gambar di atas merupakan Sequence Diagram Login diperlukan agar user dapat mengakses hak akses terhadap sistem. Pada skenario di atas login menggunakan username dan password untuk masuk ke dalam sistem, kemudian dilakukan validasi data oleh sistem dengan memanggil data pada tabel admin. Jika data yang diinput sesuai dengan database maka proses validasi sukses kemudian masuk ke menu utama dan jika data yang diinput tidak sesuai dengan database maka sistem akan menampilkan pesan tidak valid.

Contoh Sequence Diagram Penjualan: Input Data Produk
Contoh Sequence Diagram Penjualan: Input Data Produk

Pada gambar di atas dapat dilihat bahwa ada 4 kelas yang saling berinteraksi, yaitu :

  1. Halaman Produk Properti
  2. Halaman Tambah Produk
  3. Controller
  4. Produk

Gambar di atas Skenario Squance diagram di atas menunjukkan seorang Admin melakukan penginputan data di halaman tambah produk kemudian sistem melakukan proses menyimpanan data ke dalam tabel produk. Pada saat Admin akan melakukan Update dan Delete data maka admin harus memilih edit dihalaman produk properti setelah itu sistem akan memanggil data di database produk, kemudian sistem akan menampilkan data produk rumah dihalaman produk properti atau memilih hapus dihalaman produk properti setelah itu sistem akan menghapus data di database produk.

Contoh Sequence Diagram Penjualan: Validasi Order

Pada gambar di atas dapat dilihat bahwa ada beberapa kelas yang saling berinteraksi, yaitu :

  1. Halaman Validasi Order
  2. Halaman Detail Order
  3. Controller
  4. Order
  5. Order_detail
  6. Produksi

Gambar di atas merupakan Skenario Squance diagram di atas menunjukkan seorang Admin melakukan validasi order dihalaman validasi order kemudian Admin memilih detail produk dan sistem akan menampilkan halaman detail order. Selanjutnya admin akan menentukan status order rumah. Jika status yang dipilih Sold maka sistem akan mengubah data di tabel orders dan dan mengurangi stok ditabel produk.

Jika status yang dipilih batal maka sistem hanya merubah data ditabel order tanpa mengurangi stok ditabel produk kemudian jika admin akan menghapus data yang dianggap tidak penting maka admin akan memilih hapus dihalaman validasi order dengan catatan status order sudah dirubah menjadi batal maka sistem akan menghapus data ditabel orders dan order_detail.

Contoh Sequence Diagram Penjualan: Validasi Produk

Pada gambar di atas dapat dilihat bahwa ada 4 kelas yang saling berinteraksi, yaitu :

  1. Halaman Validasi Produk
  2. Controller
  3. Produk
  4. Produk2

Gambar di atas merupakan Skenario Squance diagram di atas menunjukkan seorang Admin melakukan validasi data dihalaman validasi produk kemudian sistem akan memanggil data di tabel produk2 selanjutnya sistem akan menampilkan data produk yang di-upload marketing. Jika admin memilih valid maka sistem akan menyimpan data tersebut ke dalam tabel produk. Jika admin memlih tidak valid maka sistem akan menghapus data di dalam tabel produk2.

Contoh Sequence Diagram Penjualan: Registrasi member
Contoh Sequence Diagram Penjualan: Registrasi member

Pada gambar di atas dapat dilihat bahwa ada beberapa kelas yang saling berinteraksi, yaitu :

  1. Customer
  2. Halaman Home Century21
  3. Halaman Registrasi
  4. Controller
  5. Member

Gambar di atas merupakan Skenario Squance diagram di atas menunjukkan seorang Customer melakukan registrasi member dihalaman web century21 kemudian sistem akan memproses registrasi di tabel member selanjutnya sistem akan menampilkan login member. Jika customer berhasil dalam registrasi maka sistem akan menyimpan data tersebut ke dalam tabel member. Jika memilih tidak maka sistem akan menghapus data di dalam tabel member.

Contoh Sequence Diagram Penjualan: Laporan Pemesanan
Contoh Sequence Diagram Penjualan: Laporan Pemesanan

Pada gambar di atas dapat dilihat bahwa ada beberapa kelas yang saling berinteraksi, yaitu :

  1. Halaman Laporan
  2. Controller
  3. Orders

Gambar diatas merupakan Skenario Squance diagram di atas menunjukkan seorang Admin melakukan pemanggilan data laporan pada halaman laporan dengan cara memasukkan tanggal laporan untuk mencetak sebuah laporan kemudian sistem akan melakukan proses pencetakanan laporan.