Anda di halaman 1dari 3

Sequence Diagram

Sequence Diagram menggambarkan interaksi antara sejumlah class atau object


dalam urutan waktu. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antar
satu objek dengan objek yang lain, menggambarkan urutan waktu proses, juga
menggambarkan interaksi antar object yang terjadi pada titik tertentu dalam eksekusi
sistem. Hal inilah perbedaan mendasar dengan activity diagram. Activity diagram tidak
menunjukkan urutan waktu.
Umumnya sebuah lingkaran use case (dalam use case diagram) akan menghasilkan
sebuah sequence diagram (minimal). Maka jika use case diagram anda memiliki 5 lingkaran
use case, hasilnya adalah 5 buah sequence diagram.
Dalam UML, object pada diagram sequence digambarkan dengan segi empat
yang berisi nama dari object yang digarisbawahi. Pada object terdapat 3 cara untuk
menamainya yaitu : nama object, nama object dan class serta nama class.
Dalam diagram sequence, setiap object hanya memiliki garis yang digambarkan
garis putus- putus ke bawah. Pesan antar object digambarkan dengan anak panah dari
object yang mengirimkan pesan ke object yang menerima pesan. Perhatikan contoh sebagai
berikut untuk kasus authentifikasi user pada mesin ATM. Pada kasus ini objek system bank
diganti dengan objek ATMCard (hanya sekedar untuk variasi bahwa istilah dan penamaan
objek objek pada UML tidak harus seragam, yang penting konsisten).

Gambar 1. Sequence Diagram for Authenticate User’s ATM

Gambar 1 jelas memperlihatkan bahwa waktu bergerak dari posisi panah teratas
(RequestCard) hingga panah terbawah (Pin OK). Umumnya nama panah-panah tersebut
adalah nama method-method dalam class-class yang ada. Jika diceritakan dalam bentuk kata,
maka penjelasan diagram sequence di atas adalah sebagai berikut :
1. Objek ATM dalam kondisi ready menunggu nasabah (user) yang hendak ambil uang,
transaksi dll. Maka pertama kali proses authentifikasi user diawali dari Objek ATM.
Perhatikan panah teratas arahnya berasal dari objek ATM.
2. Saat ada nasabah (user) masuk bilik ATM, mesin ATM akan melakukan RequestCard.
Artinya objek ATM akan menjalankan method yang ada pada dirinya yang bernama
RequestCard. Method ini bertujuan untuk meminta masukan kartu ATM dari user.
3. Arah method RequestCard digambarkan berbentuk arah panah, yaitu menuju Objek User.
Artinya giliran proses berikutnya ada pada objek User.
4. Pada objek user terdapat panah menuju objek ATM kembali, yaitu InsertCard. Panah ini
sedikit digambarkan agak lebih ke bawah. Makna posisi digambar agak kebawah adalah
ada jeda waktu dari panah yang pertama, tidak ditentukan besaran waktunya, apakah satu
detik, menit, milidetik, tapi yang jelas harus ada jeda waktu.
5. Maka ini artinya user akan mengerjakan method InsertCard yang bertujuan memasukkan
kartu ATM. Arah method menyesuaikan giliran proses berikutnya yaitu kembali pada objek
ATM.
6. Dari objek ATM ada panah menuju objek ATM Card, digambar sedikit agak dibawah (berarti
ada jeda waktu), panah ini berarti method verifvcard di objek ATM dikerjakan yang bertujuan
untuk memverifikasi kartu ATM ke objek ATM Card. Maka proses berikutnya ditangani objek
ATM Card.
7. Jika verifikasi di objek ATM Card sukses maka objek ATM Card akan menjalankan method
Card Ok yang akan mengirimkan pesan “atm telah sukses diverifikasi” dan pesan mengarah
kembali ke objek ATM.
8. Demikian seterusnya juga untuk proses verifikasi PIN. Memiliki jalan cerita yang mirip.

NB. Karena sequence diagram menunjukkan urutan waktu, tidak boleh ada panah yang
digambar diatas panah sebelumnya. Karena hal berarti waktu berjalan mundur.

Proses transaksi ATM yang lain adalah proses penarikan uang (withdrawal). Gambaran
proses penarikan uang ada pada sequence diagram sebagai berikut. Harap diperhatikan disini
ada 4 kelas (objek) yang dipakai, tidak sama dengan saat perkuliahan (sekali lagi ini untuk
variasi). Objek Withdrawal Transaction sebenarnya bagian/pecahan dari objek ATM, dan objek
Saving Account adalah bagian dari objek Sistem Bank.
Gambar 2. Sequence Diagram for Withdrawal Transaction in ATM

Coba anda ceritakan jalan proses dari sequence diagram di atas.

Sequence diagram sudah sangat dekat dengan implementasi dalam bentuk coding-coding
dalam bahasa pemrograman (misalnya Java). Class-class dibentuk menjadi class.java dan
panah-panah menjadi method dalam class-class tersebut.

Tugas : buatlah sequence diagram untuk kasus PR anda masing-masing (yang dikumpulkan
saat UTS).
--- selesai --

Anda mungkin juga menyukai