2Pemodelan Kebutuhan Sistem
Ruang Lingkup
Masalah
Analisis
Kebutuhan
Pemodelan
Perangkat
Lunak
Diagram Use
Case
Diagram
Sekuensial
Diagram
Aktivitas
Diagram Kelas Diagram State
Materi Pertemuan 6
Perancangan Sistem dengan Analisis Dinamis
Analisis Dinamis
Diagram Sekuensial / Sequence
3
Analisis dinamis umumnya dilakukan setelah
analisis statis dengan tujuan :
Memastikan kelas diagram yang sudah kita
buat “komplit” dan tepat
Memastikan model hasil perancangan kita siap
untuk diimplementasikan
Memastikan semua fungsionalitas sistem dan
antarmuka pengguna sudah ter-cover dengan
baik pada perancangan sistem
5Analisis Dinamis
Analisis dinamis memiliki fokus utama pada
Use Case Realization
1. Menelusuri semua use case dan mencoba
mensimulasikan hubungan tiap objek yang terkait
dengan melihat proses pertukaran pesan antar objek, baik yang mengirim maupun yang
menerima
2. Menentukan spesifikasi sterotype pada kelas atau
objek yang terlibat proses pertukaran pesan untuk
semakin mempermudah pemodelan dan
implementasi
3. Menggambarkan hasil simulasi dalam
communication diagram atau sequence diagram
6Analisis Dinamis
Terdapat 4 class sterotype pada pemodelan UML
Actor
Mewakili aktor dari sistem
Boundary
Mewakili semua antarmuka dari sistem
Controller
Mewakili semua objek di dalam sistem yang memiliki tugas sebagai pengaturproses logika dari sistem
Entity
Mewakili semua objek di dalam sistem yang merepresentasikan konsep bisnisdan penyimpanan data
7Class Sterotype
Sequence diagram menggambarkan interaksi
antar objek di dalam dan di sekitar sistem
(termasuk pengguna, display, dan
sebagainya) berupa message yang
digambarkan terhadap waktu
Sequence diagram terdiri dari dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek
yang terkait)
9Sequence Diagram
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu
Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan
Diagram ini secara khusus berasosiasi dengan use case diagram
Memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case
10Sequence Diagram
12Komponen Sequence
Diagram
Secara umum terdapat 2 bagian utama padasequence diagram, yaitu :
Partisipan / Participant
Mewakili objek atau entitas yang memilikiinteraksi (aksi) pada sequence diagram
Pesan / Message
Mewakili komunikasi antar objek partisipan
Terdapat 2 dimensi pada sequence diagram
Horizontal : menggambarkan partisipan manasaja yang terkait dalam proses interaksi
Vertikal : menggambarkan urutan jalannyawaktu
13Komponen Sequence
Diagram : Partisipan
Objek partisipan dapat digambarkan dengan
2 cara, yaitu menggunakan Class Stereotypes
atau dengan menggunakan Objek (Object)
14Komponen Sequence
Diagram : Pesan
Message atau pesan mewakili proses
pemanggilan method (method call),
digambarkan dengan menggunakan anak
panah horizontal
Tuliskan nama dan argument dari method di
atas tanda panah
15Komponen Sequence
Diagram : Pesan
Beda bentuk tanda panah merepresentasikan
arti yang berbeda
Tanda panah runcing bergaris putus – putus
menggambarkan return message (nilai
kembalian)
Tanda panah runcing setengah bergaris tebal
menggambarkan asynchronous method call
Tanda panah penuh bergaris tebal
menggambarkan synchronous method call
Tanda panah runcing bergaris tebal
menggambarkan flat method call
16Komponen Sequence
Diagram : Pesan
Synchronous (flow interrupt until the message has completed)
Asynchronous (don’t wait for response)Flat (no distinction between sysn/async)
Return (control flow has returned to the caller)
17Komponen Sequence
Diagram : Lifetime Objek
Creation : anak panah
dengan bertuliskan
“new”
Objek yang dibuat
(diinstansiasi) setelah
awal dari skenario,
munculnya lebih rendah
daripada yang lain
Deletion : tanda X di akhir
lifeline sebuah objek
Dalam Java, proses deletion
tidak secara eksplisit
digunakan
18Komponen Sequence
Diagram : Aktivasi
Aktivasi (activation) menggambarkan momen
saat sebuah objek aktif, digambarkan dengan
persegi panjang vertical pada lifeline tiap
objek
Digambarkan saat method dari objek ada
pada stack / tumpukan proses, dapat dipakai
untuk melihat urutan method yang dieksekusi
Gambarkan secara berkalang (nested) untuk
menunjukkan method yang sifatnya rekursif
20Komponen Sequence
Diagram : Frame
Frame adalah persegi panjang yang berada
“di dalam” sequence diagram untuk
menggambarkan seleksi kondisi maupun
perulangan
If digambarkan dengan frame opt
If else digambarkan dengan frame alt, kondisi
true atau false dibatasi oleh garis putus-putus
Loop digambarkan dengan frame loop
22Menghubungkan Beberapa
Sequence Diagram
Suatu ketika dalam membuat sequence diagram,
kita akan menemui suatu kejadian seperti ini :
saat diagram kita terlalu besar sehingga tidak cukupuntuk ditampilkan semua
diagram kita ternyata masih berhubungan dengandiagram lain
Maka kita perlu menggambarkannya dengan
cara yang lain
anak panah yang belum selesai dan disertai
keterangan
menggunakan frame ref untuk menunjukkan
referensi dengan diagram lain
25Sequence Diagram Vs Source
Code
Saat membuat sequence diagram kita akan
sadar ternyata sequence diagram sangat
dekat dengan penulisan kode program
Kemudian mengapa kita
tidak langsung saja membuat
penjabaran algoritmanya saja
daripada harus
menggambarkannya pada
sequence diagram ?
26Sequence Diagram Vs Source
Code
Karena…
Sequence diagram yang bagus masih memiliki level yang lebih tinggi daripada kode program, kodeprogram tidak bisa “menggambarkan” semua yang ada pada diagram
Sequence diagram bersifat language-agnostic(universal untuk semua bahasa pemrograman)
Orang yang tidak mengerti kode program pun dapat membuat sequence diagram
Lebih mudah membuat sequence diagram dalamtim
Dapat digunakan untuk melihat banyak objek/klasbeserta hubungannya dalam 1 halaman yang sama
Buat diagram sequence dengan
menggunakan analisis dinamis dari contoh
diagram use case ini !
Kerjakan sebagai latihan dan siap–siap
pertemuan minggu depan akan ada yang
ditunjuk maju secara acak untuk presentasi ^^
27Latihan