UML Class Diagram merupakan diagram yang menggambarkan kelas-kelas dan hubungan antar kelas dalam sistem perangkat lunak. Diagram ini menggunakan notasi grafis untuk mendefinisikan atribut, operasi, dan hubungan antara kelas-kelas seperti generalisasi, agregasi, dan asosiasi.
1. UML Class Diagram
1 UML ???
The Unified Modeling Language (UML) adalah bahasa standart
untuk melakukan spesifikasi, visualisasi, konstruksi, dan
dokumentasi dari komponen-komponen perangkat lunak, dan
digunakan untuk pemodelan bisnis.
UML menggunakan notasi grafis untuk menyatakan suatu desain
Pemodelan dengan UML berarti menggambarkan yang ada dalam
dunia nyata ke dalam bentuk yang dapat dipahami dengan
menggunakan notasi standart
2 UML Diagram
Pemodelan dengan UML terdiri dari 9 tipe diagram yang berbeda untuk
memodelkan sistem perangkat lunak.
Masing-masing diagram UML didesain untuk menunjukkan satu sisi dari
bermacam-macam sudut pandang (perspektif) dan terdiri dari tingkat
abstraksi yang berbeda.
Diagram UML tersebut terdiri dari:
1. Use case Diagram
2. Class Diagram
3. Object Diagram
4. State Diagram
5. Activity Diagram
6. Sequence Diagram
7. Collaboration diagram
UML Class Diagram – Zulkarnaen NS 1|Page
2. 8. Component diagram
9. Deployment diagram
3 Class Diagram
Cara penggambaran kelas serta hubungannya satu terhadap yang lain.
Diagram kelas ini sangat bermanfaat baik untuk pemodelan abstrak dan
perancangan program aktual.
3.1 Atribut
Merupakan data yang dimiliki suatu objek dalam kelas. Setiap atribut akan
memiliki nilai berbeda untuk setiap objek
Contoh: Kelas manusia misalnya memiliki atribut Nama dan Umur. Untuk
kebutuhan aplikasi hanya atribut-atribut penting saja yang ditampilkan,
atribut yang penting disini mungkin berlainan untuk setiap aplikasi.
Misalnya, aplikasi pencatatan mahasiswa yang kuliah di perguruan tinggi
tertentu mungkin tidak membutuhkan atribut tinggi badan serta berat badan
sedangkan aplikasi untuk event olahraga tertentu mungkin membutuhkan
atribut-atribut tersebut. Atribut yang penting bagi aplikasi tertentu
membutuhkan kajian yang mendalam oleh para analis sistem.
3.2 Metode dan Operasi
Merupakan fungsi atau transformasi yang mungkin dapat diaplikasikan
ke/oleh suatu objek dalam kelas. Misalnya, suatu objek dalam kelas manusia
mungkin memiliki fungsi-fungsi: tersenyum, marah, makan, minum dsb.
Operasi yang sama dapat diterapkan pada kelas-kelas yang berbeda.
Misalnya fungsi makan dapat diterapkan baik pada kelas manusia maupun
pada kelas kera, konsep ini yang dimaksud dengan konsep Polimorfisme.
3.3 Notasi Umum Class
Bentuk/ Notasi umum:
Nama Kelas
Nama_Atribut_1 : Tipe_Data_1 = Nilai_Default_1
Nama_Atribut_2 : Tipe_Data_2 = Nilai_Default_2
Nama_Atribut_N : Tipe_Data_N = Nilai_Default_N
Nama_Metode_1 (Daftar_Argumen_1) : Tipe_Hasil_1
Nama_Metode_2 (Daftar_Argumen_2) : Tipe_Hasil_2
Nama_Metode_N (Daftar_Argumen_N) : Tipe_Hasil_N
Class Buku terdiri dari :
– Atribut : judul, pengarang
– Method : ambilJenis(), ambilHalaman();
UML Class Diagram – Zulkarnaen NS 2|Page
3. Penggambaran dalam class diagram
Buku
+judul : String
+pengarang : String
+idJenis : byte
+ambilJenis(String Tipe)
+ambilHalaman() : int
3.4 Link dan Asosiasi
Link merupakan hubungan konseptual antarobjek.
Contoh: Jawa barat beribukota bandung
Asosiasi dideskripsikan sebagai kumpulan link yang menghubungkan objek-
objek pada kelas yang sama. Asosiasi dan Link umumnya disebutkan sebagai
kata kerja.
Contoh: 1 propinsi beribukota 1 kota
Asosiasi dan link tidak terbatas pada hubungan satu-ke-satu seperti contoh
diatas, tetapi juga bisa diterapkan pada hubungan yang lain, seperti Binary,
Ternary, Serta N-ary. Mirip seperti pada perancangan basis data dengan
Entity Relationship Diagram (ERD) yang digunakan dalam perancangan basis
data relasional.
3.5 Multiplisitas
Multiplisitas menunjukan jumlah suatu objek yang bisa berhubungan dengan
objek lain. Multiplisitas biasa ditunjukan dengan "satu" serta "banyak", tetapi
secara khusus dapat ditunjukan pula dengan bilangan integer lebih besar
atau sama dengan nol. Contoh-contoh bilangan yang bisa digunakan adalah
"1" (satu-dan-hanya-satu), "1+" (satu atau lebih), "1-4" (satu hingga
empat), "1,3,5" (satu atau tiga atau lima), dan seterusnya.
Selain itu juga dikenali simbol-simbol khusus yang dapat diterapkan dalam
multiplisitas ini. Lingkaran berisi menunjukan "banyak", sedangkan lingkaran
kosong berarti "bukan keharusan" (opsional), yaitu nol atau satu. Garis
tanpa lingkaran (baik kosong maupun berisi) menunjukan hubungan satu-ke-
satu.
Berikut contoh multiplisitas
UML Class Diagram – Zulkarnaen NS 3|Page
4. Gambar diatas menunjukan bahwa suatu perusahaan memiliki "banyak"
karyawan sedangkan seorang karyawan pasti bekerja di suatu perusahaan
tertentu.
Pada umumnya multiplisitas (seperti halnya kardinalitas dalam ERD) memiliki
nilai "satu" atau "banyak".
3.6 Generalisasi & Pewarisan
Merupakan suatu cara yang sangat berdayaguna untuk berbagi apa yang
dimiliki suatu kelas (atau objek) bagi kelas-kelas (atau objek- objek) yang
lain. Misalkan kelas kendaraan bermotor. Mobil, truk, dan lain-lain bisa saling
berbagi atribut yang sama, misalnya atribut model, tahun pembuatan,
jumlah gigi transmisi, dan sebagainya.
3.7 Agregasi
Merupakan hubungan "bagian dari" atau "bagian-ke-keseluruhan". Suatu
kelas/objek mungkin memiliki/bisa dibagi menjadi kelas/objek tertentu
dimana kelas/objek yang disebut kemudian merupakan bagian dari
kelas/objek yang terdahulu. Agregasi adalah suatu bentuk khusus dari suatu
asosiasi.
UML Class Diagram – Zulkarnaen NS 4|Page
5. Gambar diatas dapat diperhatikan bahwa suatu PC (Personal Computer) bisa
terbagi (baca: terintegrasi) atas bagian-bagiannya (yaitu: Monitor, System
Box, Mouse, Keyboard) serta System Box bisa terbagi (baca juga:
terintegrasi) atas bagian-bagiannya (yaitu: Chasing, CPU, RAM, Kipas). Inilah
yang dinamakan dengan agregasi bertingkat.
Perlu diperhatikan bahwa hubungan PC dengan monitor adalah "satu- ke-
banyak" dengan notasi 1+. Ini berarti setiap PC bisa memiliki monitor lebih
dari satu namun harus memiliki (minimal) 1 monitor. Sedangkan hubungan
antara PC dengan mouse adalah "satu-ke-satu" (opsional) yang berarti
mungkin juga PC tertentu tidak menggunakan mouse.
4 Class Diagram dengan construktor
Class diagram dengan constructor mempunyai method yang sama dengan
nama class-nya.
mahasiswa
npm
nama
+mahasiswa(String newNpm, String newNama)
+getNrp() : String
+getNama() : String
UML Class Diagram – Zulkarnaen NS 5|Page
6. 5 Attributes & Operation Visibility
Merupakan ketampakan suatu atribut dan method yang dimiliki oleh suatu
kelas.
Terdiri dari:
1. Public (+), boleh di akses oleh semua kelas lain.
2. Private (-), akses terbatas untuk class itu sendiri.
3. Protected (#), bisa diakses oleh subclass.
4. Package (~), bisa diakses oleh object lain pada paket yang sama.
6 Contoh
6.1 Contoh 1
Buku
+judul : String
+pengarang : String
+idJenis : byte
+ambilJenis()
+ambilHalaman() : int
UML Class Diagram – Zulkarnaen NS 6|Page
8. 6.2 Contoh 2
Contoh class diagram dengan konstruktor
mahasiswa
npm : String
nama : String
+mahasiswa(String newNpm, String newNama)
+getNpm() : String
+getNama() : String
Imlementasi class diagram Mahasiswa ke dalam program
UML Class Diagram – Zulkarnaen NS 8|Page