9. Object Interaction

MODUL 8 :
Object Interaction
Contents
8.1

Pendahuluan................................................................................................................................ 2

8.2

Elemen pada Sequence Diagram .................................................................................................. 3

8.2.1

Partisipant............................................................................................................................ 3

Interaksi Object dan Collaborasi .............................................................................................................. 3
8.3

Interaksi Sequence Diagram ......................................................................................................... 4

8.3.1


Konsep dan Notasi................................................................................................................ 5

Boundary dan control Class.............................................................................................................. 7
Object Destruction........................................................................................................................... 7
Refrexive Message ........................................................................................................................... 8
Focus of Control............................................................................................................................... 9
Replay Message ............................................................................................................................. 10
Object Selector .............................................................................................................................. 10
Interaction Operation .................................................................................................................... 12
8.3.2

Menangani Kompleksitas.................................................................................................... 13

Interaction fragment...................................................................................................................... 14
Lifelines untuk subsystems atau kumpulan Object ......................................................................... 16
Continuations ................................................................................................................................ 19
8.4

Petunjuk pembuatan Sequence Diagram.................................................................................... 19


Referensi ............................................................................................................................................... 21

1

8.1

Pendahuluan
Sequence diagram merup
erupakan sebuah diagram yang menggambarkan
an interaksi
in
antar objek di
dalam sebuah system.. Interaksi
In
tersebut berupa message yang digamb
mbarkan terhadap waktu.
Sequence diagram terdir
rdiri dari dimensi horizontal (objek-objek) dan dimensi
dim

vertical (waktu).
Diagram ini juga meng
enggambarkan urutan even yang terjadi. Dan lebih detail dalam
menggambarkan aliran
an data,
d
termasuk data atau behavior yang dikirimkan
diki
atau diterima.
Namun, diagram ini kurang
kura mampu menjelaskan detail dari sebuah
h algoritma,
a
seperti loop
branching.
Tabel 8.1. Komponen pada Sequence Diagram
Acto
Actor

Menggambarkan sebuah orang atau entitas eksternal yang

berinteraksi dengan sistem

Obje
Object

Menggambarkan sebuah objek dalam
dala sebuah system atau
salah satu komponennya. Objek
bjek merupakan sebuah
instansi dari sebuah class. Bagian
an “abc”

merupakan nama
objek dan “ABC” merupakan nama
ma class
c

Lifel
Lifeline


Menggambarkan daur hidup sebuah
uah objek

Activ
Activation
bar

Menggambarkan durasi/lamanya
nya
pesan (message).

Messa
Message

Sebuah message sederhana antara
tara elemen header (bias
berupa synchronous atau asyn
synchronous). Dan juga
mengindikasikan komunikasi antara
tara objek.


Synchronous
Sync
Messa
Message

Menggambarkan message ke eleme
lemen (objek) lain, dimana
message ini mengaktifkan sebuah
buah proses dan sampai
selesai, baru bisa mengirimkan sebuah
sebu message baru.

Retu
Return

Suatu hasil kembalian sebuah
h operasi
o
(feedback dari

sebuah message)

pengerjaan

sebuah

2

Asynchronous Menggambarkan message ke eleme
Asyn
lemen (objek) lain, dimana
message ini mengaktifkan sebuah
uah proses dan ditengahMessa
Message
tengah proses, pengirim messag
ssage bisa mengirimkan
message baru.

8.2


Destroy
Dest
Elem
Element

Menggambarkan penghancuran
n se
sebuah elemen header
(objek) setelah selesai sebuah opera
perasi

Destroy
Dest
Messa
Message

Menggambarkan penghancuran
n se
sebuah elemen header
(objek) sebagai akibat dari sebuah

se
message dari
elemen/objek lain

Elemen pada Sequ
equence Diagram

8.2.1 Partisipant

Interaksi Object
ct dan
d Collaborasi
Pada saat sebuah objek
jek berkomunikasi dengan mengirimkan pesan ke objek yang lain maka
sebuah operasi yang dimi
dimiliki oleh objek penerima dipanggil oleh objek pengirim
pe
(send message).
Misalkan terjadi komuni
unikasi antara class Campaign dan Class Advert.

ert. Class Campaign ingin
mengetahui berapa cost untuk masing-masing Adverd. Dalam bahasa
hasa pemrograman ditulis
sebagai berikut.
currentadvertCost
tCost = anAdvert.getCost ()
sebuah objek dari class
ss adverd
a
di indentifikasi dengan nama anAdvert
rt dan
da respon diidentifikasi
sebagai return value yang
yan disimpan dalam variabel currentadvertCost.. Satau hal yang mungkin
terjadi adalah sulit untuk
ntuk menentukan apa pesan (message) yang dii kirim
kiri oleh masing-masing
object. Pada kasus diatas
tas jelas bahwa operasi getCost terdapat pada class
lass Adverd.


Gambar 8.1. Object Messagin
Sumber:
Simon Bennet, Steve McRobb and Ray Farmer, Object Oriented Systems Analysis and Design Using
g UML,
U
Edisi 3. ; McGraw Hill, 2006.

3

Pada analisa berorientasi
tasi objek, sebaiknya fungsionalitas dari setiap kelas
kela tersebar merata. Hal
tersebut bukan berarti
ti setiap
se
kelas memiliki tanggung jawab yang sama
ama melainkan tergantung
dari level class. Padaa saat
sa fungsionalitas tersebar merata maka akan memudahkan untuk
mengembangkan, melaku
elakukan tes serta memelihara. Class yang relatif
latif kecil sangat potensial
untuk digunakan kembali
bali dibandingkan dengan class yang besar dan komp
ompleks.

Gambar 8.2 Ressilience of a Design
Funsionalitas yang merat
erata pada class akan berdampak pada sistem dimana
dima penangannya akan
lebih mudah jika ada perubahan
peru
requirement sehingga perubahan aplikas
likasi tidak terlalu. Besar.

8.3

Interaksi Sequenc
ence Diagram
Merupakan salah satu
u diagram
dia
interaksi yang terdapat pada UML. Secara
cara sematik hampir mirip
dengan communication
on diagram
d
jika kasusnya sederhana. Sequence Diagram
Dia
menggambarkan
komunikasi antar objek
jek sesuai dengan urutan waktu. Sequence diagr
iagram bisa digambarkan
dengan level yang lebih
ih ri
rinci sesuai dengan tujuan yang akan dicapai.

4

8.3.1 Konsep dan Notasi
asi
Setiap objek pada diagra
iagram sequence direpresentasikan dengan lifeline
eline berupa garis vertikal
sebagai simbol objek
ek yang ditempatkan pada bagian atas diagra
iagram. Sebuah Message
digambarkan dengan garis
gar horisontal berpanah dari satu lifeline ke yang
ya lainnya yang diberi
nama sesuai dengan nam
ama messagenya. Setiap message dapat diberi nom
nomor untuk menunjukkan
urutan dari pengiriman
nm
message namun hal tersebut tidak terlalu penting
ting jika message tersebut
ditempatkan sesuai denga
engan posisinya sesuai dengan urutan waktu. Pada
da saat
s
message dikirim ke
sebuah objek, maka objek
obje tersebut memanggil sebuah operasi yangg dimiliki
di
oleh objek yang
dikirim message.

Gambar 8.3 Sequ
equence Diagram untuk Use case Add a new advert
vert to a campaign

5

Sebuah pengulangan ditandai dengan kotak persegi panjang yang diberi label loop pada bagian
atas. Bagian loop tersebut akan dijalankan jika kondisi dari constraint yang membatasi bernilai
benar. Sebuah message Synchronous digambarkan dengan garis panah penuh.

Gambar 8.4 Sequence Diagram untuk menunjukkan pesan dan eksekusi event dan state

6

Boundary dan control
rol Class
Beberapa UseCase memil
emiliki setidaknya 1 buah object boundary yang me
mengatur interaksi antara
Actor dan system. Pada
ada sequence diagram di representasikan dengan
gan lifeline AddAdvertUI.
Control object direpresen
esentasikan dengan lifeline AddAdvert yang menga
engatur semua komunikasi
object tersebut.

Gambar 8.5 Sequenc
ence Diagram untuk Use case Add a new advert to a campaign dengan
boundary dan control classes

Object Destruction
Sebuah object bisa saja dibentuk atau dihilangkan pada saat terjadii interaksi.
int
Pada sequence
diagram untuk menghilan
ilangkan object dilakukan dengan menggunakan tanda
tan silang (X).

7

Gambar 8.6 Obejct destructions

Refrexive Message
Suatu object bisa meman
manggil untuk meminta operasi pada dirinya sendi
ndiri. Pada kasus dibawah
ini ketika object Campa
mpaignmanager meminta berapa biaya yang dibutuhkan
dib
pada setiap
campaign (checkCampaig
paignBudget) maka object Campaign memintaa pe
pengeluaran dari setiap
Adverd (getCost) dengan
ngan mencari berapa pengeluaran setiap Adverd
erd pada Campaign yang
dimaksud. Hal ini dilakuk
kukan secara iterasi untuk setiap campaign (loop). Selain dari cost setiap
adverd, budged dari campaign
cam
diperoleh dari overhead dimana overhe
rhead adaah operasi yang
dimiliki oleh campaign
n itu sendiri. Proses pemanggilan operasi ke diri
iri sendiri
se
disebut reflexive
message.

8

Gambarr 8.7
8. Sequence Diagram dengan Refelexive Message
sage

Focus of Control
Menunjukkan waktu selam
selama proses yang terjadi pada object. Bagian dari
ari kegiatan yang terdapat
pada focus of control ditu
ditunjukan dengan garis persegi panjang.

9

Gambarr 8.8
8. Sequence Diagram dengan Refelexive Message
sage

Replay Message
Sebuah pesan balasan
n (replay
(re
message) ditampilkan dengan menggunak
nakan tanda panah putusputus. Namun hal tersebu
sebut sifatnya optional.

Object Selector
Sequence diagram dapa
apat digunakan untuk menggambarkan obyek ya
yang dipilih pada iterasi
tertentu (dari sebuah loop yang beinterasi dari 1 ke nilai campaign.count.
unt.

10

Gambar 8.9 SSequence Diagram dengan Object Slector Notatio
tation

11

Interaction Operation
ion
Sequence diagram juga
uga dapat menggambarkan operator interaksii loop
lo
yang digambarkan
dengan parameter. Param
arameter pertama adalah jumlah minimum iterasi
asi dan paramenter kedua
adalah jumlah maksimum
um iterasi.

Gamba
bar 8.10 Sequence Diagram dengan interaction operator
ope
with paramenter

Branching
Beberapa interakasi pada sequence diagram dapat memiliki dua atau lebi
lebih alternative
execution pathways. Setiap
Setia alternatif menggambarkan suatu cabang pada
ada urutan yang mungkin
dari event untuk use case yang diwakilinya.

12

Gamb
mbar 8.11 Sequence Diagram yang menunjukkan
n percabangan
pe
(branching)

8.3.2 Menangani Komple
pleksitas
Untuk mengendalikan
n kompleksitas
ko
sequence diagram dapat dilakukan
kan dengan beberapa cara
antara lain :


Interaction fragm
agments



Lifelines untuk subsystems
su
atau kumpulan Object



Continuations



Interaction Overv
verview Diagrams

13

Interaction fragment
Disini interaksi dimodelkan denga
ngan lebih dari satu sequence diagram. Gambar di bawah
b
ini menunjukkan
ada dua interkasi yang terjadi,
adi, yaitu List client sampaign dan Get campaign
aign budget. Keyword ref
menunjukkan interakasi tersebu
ebut dan mengacu ke sequence diagram List ckient
ckie campaign dan Get
campaign budget.

Gambar 8.12 Sequence
Seq
Diagram Check campaign budget dengan
gan interaction occurences

14

Gambar
bar 8.13
8 Sequence Diagram untuk interaction fragme
gment List client campaign

15

Gambarr 8.14
8. Sequence Diagram untuk interaction fragmen
ment Get campaign budget

Lifelines untuk subsys
systems atau kumpulan Object
Untuk interaksi yang
ng kompleks kita dapat menggambarkan dengan
den
memisahkannya
menggunakan lifelinee untuk
u
mewakili sekumpulan obyek dan intera
teraksinya atau mewakili
subsistem. Seperti yang
ng digambarkan
d
oleh gambar 8.15 dan gambar 8.16
.16 di bawah ini.

16

Gambar 8.15 Sequence Diagram untuk interaction
Gam
on Check
C
campaign budget

17

Gambar
bar 8.16
8 Sequence Diagram untuk interaction fragme
gment List client campaign

18

Continuations
UML 2.0 menyediakan
n notasi
no
untuk menghubungkan sequence diagram
ram. Continuations dapat
ditentukan dengan meng
enggabungkan fragment alt untuk menghubungka
gkan kembali ke sequence
diagram yang dirujuk.. Gambar
Gam
8.17 menunjukkan hal tersebut.

Gambar
bar 8.17 Sequence Diagram yang menunjukkan penggunaan
pen
Continuations

8.4

Petunjuk pembua
buatan Sequence Diagram
Untuk pembuatan sequen
uence diagram dapat dilakukan cara sebagai beriku
rikut :
1. Tentukan pada tingka
gkat mana pemodelan interaksi.
2. Mengidentifikasi unsur-unsur
unsu
utama yang terlibat dalam interaksi.
3. Pertimbangkan altern
lternatif skenario yang mungkin diperluka
4. Identifikasi interaksi
ksi yan
y g sudah di buat sebelumanya.

19

5. Gambarkan outline struktur diagram .
6. Tambahkan interaksi rinci.
7. Periksa konsistensi sesuai dengan urutan diagram
8.

Periksa konsistensi dengan diagram UML lain atau model.

20

Referensi
1. Simon Bennet, Steve McRobb and Ray Farmer, Object Oriented Systems Analysis and Design
Using UML, Edisi 3. ; McGraw Hill, 2006. (SB)

21