OVERVIEW Kelas Objek Communication diagram Sequence diagram
KELAS Kelas digunakan untuk memodelkan
abstraksi yang berasal dari persoalan yang ingin kita selesaikan (terutama pada saat analisis).
KELAS SEBAGAI STRUKTUR STATIS• Kelas merupakan pengkapsulan
(pembungkusan) nilai-nilai atribut dan layanan-layanan eksklusifnya.
• Objek adalah instan dari kelas. Sehingga kelas merupakan deskripsi satu objek atau lebih dengan sekumpulan atribut dan layanan yang seragam.
• Perbedaan kelas dan objek adalah objek merupakan entitas konkret yang ada secara ruang dan waktu, sedangkan kelas merupakan representasi abstraksi.
PROPERTI – PROPERTI KELAS Kelas memiliki properti-properti berikut:
Nama untuk membedakan dengan kelas lain
AtributOperasi / method implementasi layananTanggung jawab (responsibilities) kontrak
atau kewajiban kelasMahasiswa
-nim-nama-alamat-tanggalLahir
+setNama()+getNama()+getUmur()
KLASIFIKASI KELAS Ada beberapa macam kelas sesuai
perannya dalam sistem Dapat digambarkan dengan notasi
stereotype<<….>>
Beberapa jenis kelas yang membantu dalam pembuatan Communication diagram:<<entity>><<control>><<boundary>>
<<ENTITY>> Merepresentasikan situasi yang spesifik
terhadap domain aplikasi, atau objek di dunia nyata, biasanya data dari sistem
Biasanya memiliki banyak sekali atribut Memiliki banyak operasi primitif
(getAttr(), setAttr(), dll) Tidak memiliki operasi kompleks Hanya memiliki sedikit state Contoh: Kontrak, Pelanggan, Mahasiswa
<<CONTROL>> Merepresentasikan aliran kerja, kontrol, atau
proses perhitungan tertentu Biasanya tidak memiliki/memiliki sedikit atribut
miliknya sendiri Biasanya masa hidupnya singkat, yakni hanya
hidup pada waktu proses yang dikontrolnya dilakukan
Sering memiliki akses ke kelas-kelas entity, untuk meminta data, menulis kembali hasil perhitungan, dll.
Memiliki operasi kompleks Terkadang tidak punya state, Tapi terkadang memiliki state yang kompleks yang
menggambarkan proses yang komprehensif
<<BOUNDARY>> Digunakan untuk memodelkan interaksi
antara sistem dengan lingkungan sekitarnya, misal: aktor, atau layanan eksternal
Tidak memiliki operasi sendiri, hanya meneruskan pemanggilan operasi
OBJEK Objek adalah instan dari kelas Contoh: pada sistem penggajian, objek
Adi adalah instan dari kelas Karyawan.
OBJECT
Karyawan
Pak Adi Bu Susi Mbak Dini Pak Roni
Objek dari kelas karyawan
Kelas karyawan
OBJEK• Struktur dan perilaku objek yang serupa
didefinisikan dalam satu kelas• Ciri-ciri objek Mempunyai:
– Identitas: properti objek yang membedakannya dari semua objek yang lain
– State: semua properti objek (biasanya statis) ditambah nilai properti saat itu (biasanya dinamis)
– Perilaku (peran dan tanggung jawab): bagaimana objek-objek beraksi dan bereaksi dalam perubahan status dan pelewatan pesan.
PENGGAMBARAN OBJEK DI UML
COMMUNICATION DIAGRAM Pada UML 1.x disebut Collaboration
diagram Menunjukkan pertukaran pesan antar
instan (objek) dari kelas-kelas yang berbeda pada suatu waktu
Pesan-pesan dapat diberi nomor untuk menunjukkan urutan
CONTOH:(DARI KEHIDUPAN SEHARI-HARI)
Zaki adalah mahasiswa Poltek. Ia ingin mengajukan
cuti akademik selama 2 semester. Ia menemui
dosen walinya mambahas hal tersebut. Setelah
disetujui secara lisan oleh dosen wali, Zaki pergi ke
bagian Akademik untuk mengajukan permohonan
cuti secara resmi. Bagian Akademik kemudian
meminta tanda tangan persetujuan kepada Dosen
Wali. Setelah itu, surat permohonan dimintakan
persetujuan KPS dan Kajur sebelum dilakukan
update pada datanya sebagai mahasiswa Poltek.
SIAPA SAJA YANG TERLIBAT?
Zaki : Mahasiswa : DosenWali
: Akademik
kpsIF : KPS
KajurIF : Kajur
PESAN APA SAJA YANG DISAMPAIKAN?
Pengajuan Cutisd
Zaki : Mahasiswa : DosenWali
: Akademik
kpsIF : KPS
KajurIF : Kajur
1 : meminta saran()
2 : saran cuti()
3 : memohon status cuti()
4 : minta persetujuan()
5 : persetujuan dosen wali()
6 : minta persetujuan()
7 : persetujuan kps()
9 : persetujuan kajur()
8 : minta persetujuan()
10 : update status mahasiswa()
framelifeline
pesan (message)
BEGITU PULA DALAM PERANGKAT LUNAK
Operator
Login
Kelas apa saja yang terlibat dalam use case Login?
<<boundary>> ?
<<control>> ?
<<entity>>?
COMMUNICATION: LOGIN
: User<<entity>>
: GUILogin<<boundary>>
: ProsesLogin<<control>>
: Operator
Bagaimana komunikasi yang terjadi?
Loginsd
SEQUENCE DIAGRAM
: Operator
: GUILogin : ProsesLogin : User
Login(username,password) Login(username,password) Verifikasi user
(username,password)
BooleanstatusLogin
statusLogin
message
return message
lifeline
execution
MACAM-MACAM MESSAGEBerdasarkan tipe aksinya: Synchronous call: mengirim pesan
dan menunggu respons sebelum melakukan eksekusi lainnya
Reply message: respons
MACAM-MACAM MESSAGE Asynchronous call: mengirim pesan
tanpa menunggu respons
Create: digunakan untuk menciptakan lifeline lain
MACAM-MACAM MESSAGE Delete: untuk mengakhiri lifeline lain
COMMUNICATION VS SEQUENCE Keduanya menggambarkan urutan
pertukaran pesan antar objek saat run-time
Sequence diagram:Urutan waktu dari pertukaran pesan lebih
mudah diikutiHubungan antar elemen lebih sulit dilihatMemungkinkan penggambaran iterasiSulit menggambarkan, jika banyak objek
yang terlibat
COMMUNICATION VS SEQUENCE Communication diagram:
Menggambarkan lebih jelas interaksi antar objek
Urutan pesan lebih sulit dilihat, apalagi jika ada banyak objek dan banyak interaksi. Pesan harus dinomori dengan seksama
Iterasi hanya dapat ditambahkan dengan pesan tambahan dan notasi tertentu
Dapat diintegrasikan dengan mudah untuk menggambarkan arsitektur global
COMMUNICATION VS SEQUENCEGunakan sequence diagram: Jika kita memiliki sedikit objek, dan
interaksi yang kompleks dan panjang Jika ada iterasi
Gunakan communication diagram: Jika ada banyak objek dan interaksi
(kolaborasi) antar objek dianggap penting Jika kita bermaksud mengintegrasikan
semua diagram menjadi representasi arsitektur global yang dinamis
TUGAS Buatlah communication diagram dan
sequence diagram dari topik aplikasi PA1 masing-masing.
Manakah yang lebih cocok digunakan pada rancangan perangkat lunak Anda?