Kamis, 21 Februari 2008

Bab 9. Sequence Diagram

9- Sequence Diagram

Dalam metodologi berorientasi objek untuk menujukkan bagaimana suatu objek berkomunikasi dengan objek yang lain dengan memperhatikan urutan waktunya dimodelkan di dalam sequence diagram.

Sequence diagram terdiri dari objek-objek, yang direprensentasikan dalam segi empat di dalamnya memuat nama dari objek, message, yang direpresentasikan dengan garis panah, dan Time (waktu), yang direnpresentasikan dengan vertical progression.

Objek

Setiap objek memiliki suatu garis putus-putus yang diarahkan dari objek kebawah, garis putus-putus ini disebut waktu keberadaan (lifeline) suatu objek. Di sepanjang garis putus-putus ini terdapat kotak segi empat yang disebut suatu aktivitas, yang menggambarkan suatu penggeksekusian dari operasi yang dimiliki oleh objek tersebut pada waktu tertentu. Panjang kotak segi empat menyatakan lama waktu yang diperlukan didalam mengeksekusi operasi. Seperti yang ditunjukkan pada gambar 9.1.

Gambar 9.1 objek dalam sequence diagram

Message

Suatu message akan berpindah dari suatu objek ke objek yang lain selama lifeline. Suatu objek dapat mengirimkan message ke dirinya sendiri. Suatu message dapat berupa message simple, synchronous, atau asynchronous.

Message simple adalah suatu pengiriman message dari suatu objek ke objek yang lain. Jika suatu objek mengirimkan suatu message synchronous, maka objek tersebut harus menunggu objek-objek yang lain yang menggunakan sumber daya yang sama untuk membebaskan sumber daya yang dimilikinya sebelum objek tersebut melakukan operasi pada objek tersebut. Sedangkan message asynchronous dapat melakukan operasi pada suatu objek walaupun objek yang lain menggunakan operasi yang dimiliki oleh objek tersebut. Visualisasi dari setiap message ini dinyatakan seperti yang ditunjukkan pada gambar 9.2.

Gambar 9.2 Simbol-simbol message dalam sequence diagram

Waktu

Urutan waktu dalam pengeksekusian suatu operasi dari suatu objek dinyatakan dengan arah vertikal, yaitu waktu pengeksekusian suatu sequence diagram dibaca dari atas ke bawah. Bagian kiri-atas kotak segi empat operasi merupakan waktu awal pengeksekusian suatu operasi dan bagian kanan bawah dari kotak segi empat operasi menyatakan waktu akhir pengeksekusian suatu operasi.

Gambar 9.3 Sequence diagram dengan message

Pada gambar 9.3 menyatakan actor menginisialisasi suatu objek Name1 dengan mengirimkan message1 dan hasil pengeksekusian dari operasi yang dilakukan oleh objek Name1 akan dikirimkan ke objek Name2 dengan mengirimkan message2, kemudian hasil operasi yang dilakukan oleh Name2 akan dikirimkan ke Name1 dengan mengirimkan message3. Hasil masukan yang diterima oleh Name1 akan melakukan operesi pada objeknya sendiri.

Contoh :

Misalkan user menekan sembarang tombol huruf pada keyboard, dimana yang menggunakan suatu aplikasi word processor. Langkah-langkah pengolahan kata yang ditekan user didalam menampilkan ke user dengan cara berikut :

  1. GUI me-request sistem operasi dalam menangani tombol yang ditekan
  2. Sistem operasi meminta CPU untuk mengolah huruf yang bersesuaian
  3. Siatem oprasi melakukan peng-update-an pada GUI user
  4. CPU meminta Video card untuk dapat memvisualisasikannya
  5. Video card mengirimkan message ke Monitor untuk ditampilkan
  6. Monitor manampilkan huruf yang diketik user.

Gambar 9.4 use case DisplayAlphanumeric

Gambar 9.5 sequence diagram GUI berinteraksi dengan objek yang lain

Misalkan dalam pembelian soda pada aplikasi MM terdapat tiga objek yang berpengaruh yaitu :

  1. Objek Front, GUI bagi pembeli
  2. Objek Register, yang melakukan proses pengidentifikasian uang yang dimasukkan dan yang melakukan penghitungan uang.
  3. Objek Dispenser, yang akan mealukan pengeleluaran jenis barang yang dipilih pembeli.

Sekenario pembelian soda adalah sebagai berikut :

  1. Pembeli memasukkan uang kedalam aplikasi MM dari port yang telah disediakan dalam Front MM
  2. Pembeli melakukan pemilihan jenis barang
  3. Uang dikirimkan ke Register untuk dihitung jumlah uang yang dimasukkan
  4. Register mencek untuk melihat barang yang dipilih ada pada Dispenser
  5. Asumsikan bahwa barang ada pada stok dan register mengupdate uang yang dimasukkan pembeli
  6. Register memintak Dispenser untuk mengeluarkan barang yang dipilih pembeli.

Gambar 9.6 Use case BuyController

Adapun squence diagram dari skenario tersebut adalah sebagai berikut :

Gambar 9.7 Sequence diagram BuyController

Untuk merepresentasikan kondisi “if” di dalam sequence diagram dinyatakan dengan square bracket. Misalkan dalam pembelian suatu jenis barang tertentu aplikasi akan selalu mencek jumlah uang yang dimasukkan dengan dengan jenis barang yang dipilih customer, maka dalam hal ini aplikasi menggunakan kondisi pengecekan “if”, maka sequence diagram ditunjukkan pada gambar 9.8.

Gambar 9.8 Sequence diagram BuyController dengan kondisi if

Untuk membuat sequence diagram dimana saat message yang dikirimkan suatu objek diperuntukkan untuk menciptakan suatu objek baru dinyatakan dengan label “create” seperti yang ditunjukkan pada Gambar 9.10.

Gambar 9.10 Sequence diagram crate objek

Visualisasi untuk sequence diagram yang merepresentasikan proses rekursif dinyatakan seperti pada gambar 9.11.

Gambar 9.11 Sequence diagram yang merepresentasikan proses rekursif

Tidak ada komentar: