top of page

Sequence Diagram

Sequence diagram adalah contoh diagram UML yang menunjukkan interaksi antar objek atau komponen dalam suatu sistem atau proses secara visual.

software-engineer

Apa itu Sequence Diagram?

Sequence diagram adalah contoh diagram UML yang menunjukkan interaksi antar objek atau komponen dalam suatu sistem atau proses secara visual. 

Diagram ini menampilkan urutan tindakan dan komunikasi antara berbagai komponen sistem seperti pengguna dan objeknya. 

Setiap komponen direpresentasikan melalui garis vertikal, dan pesan yang dipertukarkan di antara komponen-komponen tersebut ditampilkan sebagai panah horizontal. 

Sequence diagram berguna untuk memahami dan merancang sistem yang kompleks karena diagram ini memberikan gambaran yang jelas dan ringkas tentang perilaku dan interaksi sistem.

Tujuan Sequence Diagram

Dilansir dari Lucidchart.com, sequence diagram memiliki tujuan sebagai berikut: 

#1 Memberikan representasi visual yang jelas dari aliran proses atau sistem

Sequence diagram dapat digunakan untuk mengilustrasikan detail penggunaan UML, yang dapat membantu memahami persyaratan dan fungsionalitas sistem.

#2 Memodelkan logika dari prosedur, fungsi, atau operasi yang kompleks

Dengan memetakan secara visual langkah-langkah yang dibutuhkan dalam suatu proses, seseorang akan lebih mudah untuk mengidentifikasi potensi masalah. 

#3 Melihat bagaimana objek dan komponen yang berbeda berinteraksi satu sama lain untuk menyelesaikan suatu proses

Dengan merepresentasikan hubungan antara berbagai bagian sistem, sequence diagram dapat membantu mengidentifikasi area di mana komunikasi atau koordinasi perlu ditingkatkan.

#4 Merencanakan dan memahami fungsionalitas detail dari skenario yang ada atau yang akan datang

Dengan memetakan langkah-langkah yang terlibat dalam suatu proses, suatu bisnis dapat mengidentifikasi bagian di mana sumber daya tambahan atau perubahan pada sistem diperlukan.

Komponen dan Simbol Sequence Diagram

Komponen dan simbol  dalam sequence diagram yang umum digunakan, di antaranya adalah:

  • Lifeline: garis vertikal yang menggambarkan pelaku atau objek dalam sistem. Lifeline menunjukkan usia pelaku atau objek dan titik waktu di mana elemen-elemen tersebut berinteraksi dengan pelaku atau objek lain.
  • Actor: menunjukkan entitas eksternal yang berinteraksi dengan sistem. Actor bisa berupa pengguna, sistem, atau entitas eksternal lainnya.
  • Activity: mewakili tugas atau tindakan tertentu yang dilakukan oleh objek atau pengguna sistem.
  • State: mewakili kondisi atau mode objek atau pengguna selama pelaksanaan tugas atau aktivitas.
  • Object Flow: mewakili aliran antara objek atau pengguna di dalam sistem.
  • Initial state: mewakili titik awal tugas atau aktivitas.
  • Control flow: mewakili urutan logis aktivitas atau tugas yang dilakukan dalam sistem.
  • Decision activity: mewakili titik di mana keputusan diambil dalam sistem.
  • Objects: mewakili entitas di dalam sistem yang melakukan tugas atau aktivitas tertentu.
  • Package: kumpulan objek dan aktivitas terkait. Tujuannya adalah untuk menyederhanakan diagram dan membuatnya lebih mudah dipahami.

Di bawah ini merupakan message symbol untuk menunjukkan bagaimana pesan atau informasi disebarkan di antara komponen-komponen:

  • Synchronous message: ditampilkan sebagai garis yang tersambung penuh dengan panah yang padat dari pengirim ke penerima. Synchronous message menunjukkan bahwa pengirim sedang menunggu tanggapan dari penerima sebelum melanjutkannya.
  • Asynchronous message: ditampilkan sebagai garis penuh seperti pada simbol synchronous message, namun bedanya anak panah pada asynchronous message tidak terisi penuh. Asynchronous message menunjukkan bahwa pengirim tidak menunggu tanggapan dari penerima.
  • Reply message: ditampilkan sebagai garis putus-putus dengan mata panah yang menunjuk dari penerima kembali ke pengirim. Reply message menunjukkan bahwa penerima telah menyelesaikan tugasnya dan ingin mengembalikan respons ke pengirim.
  • Self-message: ditampilkan sebagai panah loopback dari objek atau pengguna ke dirinya sendiri. Self-message menunjukkan bahwa objek atau pengguna sedang melakukan tugas atau aktivitas pada diri sendiri.
  • Create message: ditampilkan sebagai panah dengan kepala yang menunjuk ke simbol objek. Create message menunjukkan bahwa objek baru sedang dibuat.
  • Delete message: ditampilkan sebagai panah dengan tanda X di ujungnya. Delete message menunjukkan bahwa suatu objek sedang dihancurkan.

Contoh Sequence Diagram

Dalam diagram berikut ini, seorang pengguna diperlihatkan sedang melakukan proses meminjam buku di perpustakaan. 

Lifeline-nya mewakili pengguna, katalog, buku yang tersedia, dan peminjaman buku. Panah di antaranya mewakili pesan yang dipertukarkan. 

Sequence diagram ini memberikan visualisasi yang jelas tentang interaksi dan pesan yang dipertukarkan antara pengguna dan sistem perpustakaan selama proses peminjaman buku.

FAQ (Frequently Asked Question)

Apa peran sequence diagram dalam software development?

Sequence diagram adalah tool yang berguna dalam pembuatan software untuk memvisualisasikan dan memodelkan interaksi antara berbagai komponen sistem. 

Berdasarkan lucidchart.com, ada beberapa skenario di mana sequence diagram sangat bermanfaat dalam software development:

  • Dengan sequence diagram, skenario penggunaan software dapat digambarkan untuk menunjukkan potensinya. Cara ini memungkinkan pembuat software untuk mempertimbangkan dan bekerja menggunakan logika penggunaan sistemnya.
  • Dengan membuat sequence diagram, software engineer dapat memvisualisasikan urutan berbagai langkah yang diperlukan dalam pembuatan software dan menjelajahi logika fungsi atau prosesnya. Hal ini dapat membantu mengidentifikasi ketidakefisienan dalam desain dan memastikan bahwa fungsi atau proses berjalan sebagaimana mestinya.
  • Untuk memastikan bahwa layanan software bekerja dengan benar dan efisien, seorang software engineer dapat menggunakan sequence diagram untuk memetakan interaksi antara berbagai bagian sistem. Karena sequence diagram dapat menunjukkan urutan suatu request yang dibuat dan juga tanggapan yang diterima, proses identifikasi  masalah dalam desain software dapat dimudahkan dan koordinasi yang baik antara semua bagian sistem dapat dibentuk. 

Mulai karirmu dalam

software-engineer

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

IKUT KURSUS GRATIS
bottom of page