Class Diagram
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
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
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()
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
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: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
Kunci Gabungan
(Composite Key)
Turunan (Inheritance) Specialisasi/Generalisasi
Ralasi (Relation)
Dependencies
Realizations
Indikator Relasi
+ 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
DOSEN WILAYAH
DOSEN MATAKULIAH
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
Contoh Agregasi
Contoh Composite
Agregasi dan Composite – Class Diagram
PELANGGAN
NOPLG
NAMA
TGLDAFTAR
PEL_PLN PEL_TELKOM
NOPLGPLN NOPLGTELKOM
NAMAPLGPLN NAMAPLGTELKOM
TGLDAFTARPLN TGLDFTRTELKOM
TAGIHAN PEMBAYARAN
NOTAGIHAN NOEMBAYARAN
TGLTAGIHAN TGLTAGIHAN