Anda di halaman 1dari 50

Sequence Diagram,

Class Diagram

Mata Kuliah Testing & Implementasi Sistem


Program Studi Sistem Informasi 2013/2014
STMIK Dumai
-- Materi 07 --
This presentation is revised by Hazlinda A., STMIK, 2013
Acknowledgement
Main Material:
• *Yud, 2012+ Yudhoatmojo, Satrio Baskoro. “Software & Software
Engineering” IKI30202 - Rekayasa Perangkat Lunak Term 1 - 2011/2012.
Faculty of Computer Science University of Indonesia. 2012. Print
Supplements:
• [BCSPW] Blog Catatan Sebuah Perjalanan Wordpress – Unified Modeling
Language (UML)
• *MHGB+ “Sequence Diagram” - mahergabayu.blogspot.com
• *DRCW+ “Tips Membuat Sequence Diagram” – derienct.wordpress.com
• *BKPPB+ “Sequence Diagram” – Bahan Kuliah PPT PDF
• [PCCW] pccontror.wordpress.com
Sequence Diagram
• Mendefinisikan interaksi yang ada di dalam
sistem
– Mengilustrasikan objek yang berpartisipasi di
dalam use case
• Menggambarkan interaksi mana yang
dilakukan saat suatu use case dijalankan
Sequence Diagram
• 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 atar dimensi vertikal (waktu) dan
dimensi horizontal (objek-objek yang terkait).
• Masing-masing objek, termasuk aktor, memiliki lifeline
vertikal.
• Message digambarkan sebagai garis berpanah dari satu
objek ke objek lainnya.
• Activation bar menunjukkan lamanya eksekusi sebuah
proses, biasanya diawali dengan diterimanya sebuah
message.

Source: [BCSPW]
Sequence Diagram
• Sequence diagram adalah visual coding ( perancangan
form/layar)
• Interaksi object yang tersusun dalam suatu urutan
waktu/kejadian
• Diagram ini secara khusus berasosiasi dengan use case
diagram
– Memperlihatkan tahap demi tahap apa yang seharusnya terjadi
untuk menghasilkan sesuatu didalam use case
• Sequence diagram memodelkan aliran logika dalam sebuah
system dalam cara yang visual
• Sequence diagram biasanya dipakai untuk mendeskripsikan
sebuah/beberapa use case pada use case diagram, yang
menggambarkan hubungan antara actor dan use case

Source: [MHGB]
Komponen Sequence Diagram

Partisipan

Pesan/message

Lifeline Peristiwa eksekusi/


Execution occurrence
Partisipan
• Partisipan berinteraksi satu sama lain sepanjang alur
sequence diagram.
• Partisipan dapat berupa aktor, objek dari class,
tabel dari database, atau apapun yang menjadi
bagian dari jalannya sistem.
• Partisipan yang akan mengirim/menerima alur
pesan (message).

Partisipan
Lifeline
• Sebuah lifeline menunjukkan kapan aktifnya
suatu objek partisipan sepanjang sequence.

Lifeline
Peristiwa Eksekusi
• Peristiwa eksekusi berbentuk
persegi panjang yang diletakkan
di garis lifeline untuk
menandakan kapan suatu objek
mengirim atau menerima pesan.
Peristiwa eksekusi/
Execution occurrence
Pesan (message)
• Pesan menyampaikan informasi dari suatu objek ke
objek lainnya.
• Pesan yang dikirim (send) digambarkan dengan garis
panah yang solid
• Sedangkan pesan yang diterima
(receive/return)digambarkan dengan garis putus-putus.

Pesan/message
Tipe Pesan (message)

Object Message
Menggambarkan pesan kirim antar objek.

Message to Self
Mengambarkan pesan ke objek itu sendiri.
Tipe Pesan (message) – lanj’

Return Message
Menggambarkan pesan kembali antar objek.
Tips membuat sequence diagram

 Buat Flow of event terlebih dahulu  ada di UC


spesifikasi
 Dari flow of event, cari kata benda yang nantinya
akan menjadi kandidat objek partisipan
 Aktor terletak di paling kiri sequence diagram
 Control object, biasanya diletakkan setelah aktor
 Satu use case satu sequence diagram
 Satu object bisa digunakan pada lebih dari satu
sequence diagram

Source: [DRCW]
Belajar membuat sequence
diagram
• Misalnya ada seorang pelanggan ingin makan nasi
goreng. Maka pelanggan akan menemui waiter.
• Waiter mencatat pesanan pelanggan. Karena waiter
tidak bisa memasak nasi goreng, maka dia meminta
bantuan pada TukangNasiGoreng.
• Jika bahan nasi goreng habis, maka TukangNasiGoreng
akan meminta TukangBahanBaku, untuk menyediakan
bahan baku.
• Jika bahan baku habis,maka TukangBahanBaku akan
meminta supplier mengirimkan bahan baku.

Source: [BKPPB]
Belajar membuat sequence
diagram
• Terlihat bahwa suatu pernyataan yang membutuhkan
kelas sangat dipentingkan disini. Yang bisa membuat
nasi goreng adalah tukang nasi goreng, maka waiter
mengirimkan pesan buatNasiGoreng yang arahnya
menuju kelas TukangNasiGoreng.
• Begitu juga jika bahannya berasal dari kelas lain, maka
kelas TukangNasiGoreng mengirimkan pesan ke kelas
yang tepat, yaitu kelas TukangBahanBaku.
• Jika TukangBahanBaku perlu bahan baku, maka ia akan
meminta kelas yang punya metode kirimkan bahan
baku untuk bekerja.

Source: [BKPPB]
Belajar membuat sequence
diagram
• Contoh diatas berasumsi bahwa
TukangNasiGoreng, TukangBahanBaku dan
Supplier adalah sesuatu yang akan dikoding.
Walaupun dalam kenyataanya mereka
sebenarnya tidak bisa dikoding, contoh ini
hanya untuk memudahkan pemahaman
konsep saja.
Jika dibuatkan Sequence Diagram-nya, maka akan jadi seperi ini .. 

Source: [BKPPB]
Belajar membuat sequence
diagram
TukangNasiGoreng TukangBahanBaku Supplier

buatNasiGoreng()

siapkanBahanNasiGoreng()

Pelanggan Waiter kirimBahanBaku()

Source: [BKPPB]
Mulai membuat Sequence
Diagram
Kasus: Edit Profile

Berikut adalah contoh basic flow dari use case: Edit Profile

Aktor Sistem
1. Memilih menu edit
2. Menampilkan field untuk
mengganti profile
3. Mengganti profile yang
diinginkan
4. Mengganti profile dan
menyimpan ke dalam database
Sequence Diagram
Cara lain menggambar
Partisipan
Boundary
Mengambarkan interaksi antara satu atau lebih actor dengan
sistem, memodelkan bagian darisistem yang bergantung pada
pihak lain disekitarnya dan merupakan pembatas sistem dengan
dunia luar.

Control
Menggambarkan “perilaku mengatur”, mengkoordinasikan
perilaku sistem dan dinamika dari suatu sistem, menangani
tugas utama dan mengontrol alur kerja suatu sistem

Entity
Menggambarkan informasi yang harus disimpan oleh
sistem (struktur data dari sebuah sistem)
Source: [MHGB]
Contoh

Source: [MHGB]
Class Diagram
Class Diagram

• Class adalah sebuah spesifikasi yang jika


diinstansiasi akan menghasilkan sebuah objek dan
merupakan inti dari pengembangan dan desain
berorientasi objek.
• Class menggambarkan keadaan (atribut/properti)
suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metode/fungsi).
• Class memiliki tiga area pokok :
– 1. Nama (dan stereotype)
– 2. Atribut
– 3. Metode
Class Diagram
• Atribut dan metode dapat memiliki salah satu sifat
berikut :
– Private, tidak dapat dipanggil dari luar class yang
bersangkutan
– Protected, hanya dapat dipanggil oleh class yang
bersangkutan dan anak-anak yang mewarisinya
– Public, dapat dipanggil oleh siapa saja
Nama Class

Atribut

Metode/operasi
Class Diagram
• Berfungsi untuk menggambarkan Objek/Class
Pada Sistem
Contoh :
– Object Class Program
– Tabel Data Pada Database
Objek - Class Diagram
Secara umum ada 4 objek Class Diagram:
• Atribut
• Operation/Function/Method
• Relationship
• Note/Keterangan (Optional)
Objek - Class Diagram
MAHASISWA Nama Class

+ NIM:String
+ NAMA:String
Attribut Class
+ ALAMAT:String
+ TGLLAHIR:Date

tambahMhs()
updateMhs() Behaviour Class
hapusMhs()

NIM : 2 digit pertama adalah tahun,


digit 3 dan 4 adalah angkatan, digit 5 Keterangan
adalah jenjang (tambahan / option)
Icon – Class Diagram

MAHASISWA Nama Class

+ NIM:String
+ NAMA:String
+ ALAMAT:String Attribut Class
+ TGLLAHIR:Date
Relasi – Class Diagram

MAHASISWA WILAYAH
+ NIM:String +kdPos:String
1..* 1
+ NAMA:String
+nmWilayah:String
+ ALAMAT:String
+ TGLLAHIR:Date tambahWLY()
updateWLY()
tambahMhs() hapusWLY()
updateMhs()
hapusMhs()
selectWLY(kdPos)

INDIKATOR
Indikator Relasi (Multiplicity)
Indikator/Gambar Arti Keterangan/Contoh
0..1 Nol atau satu
0..* Nol atau lebih
0..n Nol sampai n 0..3

1 Satu dan hanya satu


1..* Satu atau lebih
1..n Satu sampai n 1..5

* nol atau lebih


N Hanya n, dimana n lebih dari satu 9
n..* n atau lebih 7..*

n..m n sampai m 3..10


Indikator Relasi
Agregasi (Aggregation)

Kunci Gabungan
(Composite Key)
Turunan (Inheritance) Specialisasi/Generalisasi

Ralasi (Relation)

Dependencies

Realizations
Indikator Relasi

1. Asosiasi, menggambarkan class yang memiliki atribut


berupa class lain, atau class yang harus mengetahui
eksistensi class lain.
2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri
atas..”).
3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat
diturunkan dari class lain dan mewarisi semua atribut dan
metode class asalnya dan menambahkan fungsionalitas
baru, sehingga ia disebut anak dari class yang diwarisinya.
Kebalikan dari pewarisan adalah generalisasi.
Indikator Variabel

+ Public
# Protected
- Private
$ Static
/ Drived Atribut tidak standar
* Abstrak Fungsi tidak standar
Mulai Membuat Class Diagram
Contoh – Class Diagram
“Setiap nomor rekening harus memiliki 1 dan hanya 1
kartu ATM”
REKENING kartuATM
NoRek NoATM
Nama TglBuat
1 1 TglAktif
TglLahir
Alamat Password
Contoh – Class Diagram
“Setiap nomor rekening dapat memiliki 1 ATM”

kartuATM
REKENING

NoRek NoATM
Nama TglBuat
1 0.. 1 TglAktif
TglLahir
Alamat Password
Contoh – Class Diagram
“Satu dosen tinggal di satu wilayah,
namun satu wilayah bisa saja dihuni oleh banyak dosen”

DOSEN WILAYAH

NIM 1..* 1 KDPOS


NAMA NMWILAYAH
ALAMAT
TGLLAHIR
Contoh – Class Diagram
“Satu dosen tidak harus terdata di wilayah,
sedangkan wilayah tersebut bisa saja mempunyai banyak dosen”

DOSEN WILAYAH

NIM 0..* 1 KDPOS


NAMA NMWILAYAH
ALAMAT
TGLLAHIR
Contoh – Class Diagram
• Many To Many Association
1 (satu) dosen dapat mengajar banyak mata kuliah dan 1
(satu) mata kuliah dapat diajarkan oleh banyak dosen.

DOSEN MATAKULIAH

KDDOSEN 1..* 1..* KDMATKUL


NAMA NMMATKUL
ALAMAT
TGLLAHIR

JADWAL Class Asosiasi


JAMMULAI
JAMAKHIR
Contoh – Class Diagram
Alternatif dari class asosiasi…

DOSEN MATAKULIAH

KDDOSEN KDMATKUL
NAMA NMMATKUL
ALAMAT
TGLLAHIR
1

1
JADWAL
1..* 1..*
JAMMULAI
JAMAKHIR
Generalisasi – Class Diagram
• Dua atau lebih class dapat melakukan berbagi atribut dan
method
• Dosen, karyawan harian, dan karyawan tetap merupakan
pegawai
PEGAWAI

NIK
NAMA
ALAMAT
TGLLAHIR

DOSEN KARY_HARIAN KARY_TETAP


KDDOSEN UPAHHARIAN GAJIBULANAN
MULAINGAJAR JMLHARIKERJA
HONORPERJAM
Agregasi dan Composite – Class Diagram

Contoh Agregasi

Contoh Composite
Agregasi dan Composite – Class Diagram

• Agregasi merupakan gabungan tetapi tidak mutlak

PELANGGAN

NOPLG
NAMA
TGLDAFTAR

PEL_PLN PEL_TELKOM

NOPLGPLN NOPLGTELKOM
NAMAPLGPLN NAMAPLGTELKOM
TGLDAFTARPLN TGLDFTRTELKOM

Class Diagram Agregasi


Agregasi dan Composite – Class Diagram

TAGIHAN PEMBAYARAN

NOTAGIHAN NOEMBAYARAN
TGLTAGIHAN TGLTAGIHAN

Class Diagram Komposit

• Komposit merupakan hasil gabungan yang tak


terpisahkan dari class lainnya
Contoh Class Diagram (Complete)
Kesimpulan
Diagram UML
Nama Diagram Digunakan untuk Digunakan pada tahapan
Menggambarkan hubungan antara model class
Diagram Class Analysis, Design
dalam system.

Menggambarkan hubungan antara model object


Diagram Object Analysis, Design
di dalam system.

Menggambarkan hubungan aliran kerja


business terlepas dari classes, aliran aktivitas
Diagram Aktivitas Analysis, Design
dalam sebuah use case, atau detail design dari
method.

Mendapatkan persyaratan/kebutuhan system


Diagram Use Case dan menggambarkan hubungan antara system Analysis
dengan aktor.

Memodelkan prilaku objek dalam sebuah use


Diagram sequence case. Focus pada urutan berdasarkan waktu dari Analysis, Design
sebuah aktivitas.
Hirarki Diagram UML

Anda mungkin juga menyukai