Dokumen tersebut memberikan penjelasan mengenai:
1. Pengertian class diagram dan komponen-komponennya seperti class, attribute, method, relasi antar class.
2. Jenis-jenis relasi antar class seperti association, aggregation, generalization.
3. Visibilitas anggota class.
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
Class diagram
1. Nama : Fajar Hidayat
NRP : 5109100205
Teknik Informatika, Fakultas Teknologi Informasi,
Institut Teknologi Sepuluh Nopember Surabaya
Tugas Resume Class Diagram
CLASS DIAGRAM
Class
Class adalah kumpulan objek-objek yang mempunyai struktur umum, behavior umum,
relasi umum, dan semantic/kata yang umum. Class ini sebenarnya merupakan blue print dari
sebuah objek. Dengan mendeklarasikan suatu class, maka kita telah mendeklarasikan suatu
tipe data baru (tipe data referensi).
Penggambaran dari sebuah class berupa icon persegi yang memiliki tiga bagian ruang
didalamnya seperti gambar berikut ini:
nama class
- Kolom paling atas merupakan representasi dari nama kelas.
+Attribute1
+Attribute2 - Kolom yang tengah berisi atribut-atribut yang dimiliki kelas
+Attribute3
+Operation1()
tersebut.
+method()
- Kolom yang terakhir (paling bawah) berisi operasi atau method
Definisi Class Diagram
Class diagram adalah diagram yang digunakan untuk menampilkan beberapa kelas serta
paket-paket yang ada dalam sistem/perangkat lunak yang sedang kita kembangkan dimana
diagram ini memberi kita gambaran (diagram statis) tentang sistem/perangkat lunak dan
relasi-relasi yang ada di dalamnya.
- Atribut : merupakan properti dari sebuah kelas yang melambangkan nilai-nilai
yang mungkin ada pada kelas tersebut.
- Operation atau Method : merupakan behavior(tingkah laku) atau fungsi yang
dapat dilakukan oleh kelas tersebut.
Relasi antar class
UML mendefinisikan beberapa cara untuk merepresentasikan relasi(hubungan) antara
kelas, diantaranya adalah sebagai berikut:
2. a. Association
Dapat diartikan sebagai relasi ".. has a..". Digambarkan sebagai garis lurus antara dua
kelas. Namun tidak berarti bahwa kelas satu memiliki/dimiliki kelas yang lain, tetapi
kelas lain dapat berelasi juga dengan kelas yang sama.
Person +src +dst email
b. Directed Association
Relasi seperti asosiasi namun menggambarkan objek atau aliran kejadian berasal dari
salah satu kelas, sedang kelas yang lainnya bersifat pasif.
Person menggunakan Palu
c. Aggregation
Dapat diartikan sebagai "..owns a .."(“terdiri atas..”). Terdapat kelas sebagai part class
(kelas bagian) yang merupakan bagian dari kelas lain(whole class). Namun jika whole
class tidak ada, part class masih dapat berdiri sendiri.
Person Alamat Rumah apabila kelas person dihilangkan,
+src +dst maka alamat rumah masih dapat
berdiri sendiri.
d. Composition
Bisa disebut juga sebagai strong agregation, dapat diartikan “..is part of..” (“..bagian
dari..”). Seperti halnya relasi agregasi, namun apabila whole class hilang, maka mustahil
part class untuk ada.
Mobil tangki BBM mobil
Apabila kelas mobil dihilangkan, maka tangki BBM mobil ikut hilang.
e. Generalization
3. Dapat diartikan sebagai relasi "..is a.." Digunakan untuk merepresentasikan pewarisan.
Suatu kelas (child class) dapat diturunkan dari kelas lain dan mewarisi semua atribut dan
method induknya (parent class) dan dapat menambah method atau atribut baru.
Sebagai contoh kucing, srigala, singa, macan adalah hewan. Maka bisa dibuat relasi antar
kelas seperti berikut ini:
hewan
Kucing macan srigala
singa
f. Dependency
Merupakan hubungan ketergantungan antar kelas. Suatu kelas memiliki ketergantungan
terhadap kelas lain, tetapi tidak berlaku sebaliknya. Perubahan pada salah satu elemen
kelas (pemasok) berdampak pada kelas lain (klien).
client supplier
g. Realization
Adalah sebuah relasi antar dua class yang mengharuskan class yang satu harus mengikuti
aturan dari class yang lainnya. Biasanya terjadi antara kelas dengan antarmuka
(interface)
<<interface>> <<class>>
interfaceName implementor
Visibility
Untuk menentukan visibilitas (nilai yang diijinkan untuk dilihat atau di akses) anggota
kelas (yaitu, atribut atau method) terdapat notasi berikut yang harus ditempatkan sebelum
nama anggota kelas.
+ public : visibilitas yang menunjukkan bahwa anggota kelas tersebut
dapat diakses oleh kelas lain sekalipun tidak mewarisi kelas yang
bersangkutan namun masih memiliki relasi dengan kelas tersebut.
4. # protected : menunjukkan bahwa anggota kelas tersebut hanya dapat dipanggil oleh
kelas yang bersangkutan dan kelas anak yang mewarisinya.
- private : menunjukkan bahwa anggota kelas tersebut hanya dapat dipanggil oleh kelas
yang bersangkutan dan tidak dapat dipanggil oleh kelas lain.
~ package : menunjukkan atribut tersebut dapat dilihat oleh kelas lain yang masih
terdapat dalam paket yang sama.
nama class
#protected
-private
+public()
~package()
Cardinalitas
Cardinalitas atau multiplicity adalah simbol yang menunjukkan jumlah instansiai dari
satu kelas terkait dengan kelas lainnya.
1 tidak lebih dari satu(tepat satu)
0..1 nol atau tepat satu
* banyak
0..* nol atau banyak
1..* tepat satu atau banyak
Contoh:
student scientist
1..* 0..1