Dalam rekayasa perangkat lunak, sebuahBahasa Pemodelan Terpadu (UML) diagram kelas adalahdiagram struktural statis yang menggambarkan struktur suatu sistem dengan menunjukkan kelas-kelasnya, atributnya, operasi (atau metode), dan hubungan antar objek.

Tujuan Diagram Kelas
- Menampilkan struktur statis klasifier dalam sistem
- Memberikan notasi dasar untuk diagram struktural UML lainnya
- Sangat berguna bagi pengembang dan anggota tim lainnya
- Analisis bisnis dapat menggunakan diagram kelas untuk memodelkan sistem dari sudut pandang bisnis
Diagram kelas UML terdiri dari:
- Seperangkat kelas
- Seperangkat hubungan antar kelas
Apa itu Kelas?
Deskripsi dari sekelompok objek dengan peran yang sama, termasuk:
- Fitur Struktural (atribut): mendefinisikan apa yang diketahui objek kelas tersebut
- Mewakili keadaan objek
- Menggambarkan struktur atau karakteristik statis kelas
- Fitur Perilaku (operasi): mendefinisikan apa yang dapat dilakukan objek kelas tersebut
- Menentukan bagaimana objek berinteraksi
- Menggambarkan perilaku atau karakteristik dinamis kelas
Notasi Kelas
Notasi kelas terdiri dari tiga bagian:
- Nama Kelas
- Nama kelas muncul di kompartemen pertama.
- Atribut Kelas
- Atribut ditampilkan di kompartemen kedua.
- Tipe ditampilkan setelah tanda titik dua.
- Atribut dipetakan ke variabel anggota (anggota data) dalam kode.
- Operasi Kelas (metode)
- Operasi ditampilkan pada kompartemen ketiga. Mereka mewakili layanan yang disediakan oleh kelas.
- Tipe kembalian muncul setelah tanda titik dua di akhir tanda tangan metode.
- Tipe parameter muncul setelah tanda titik dua mengikuti nama parameter.
- Operasi dipetakan ke metode kelas dalam kode.

Representasi grafis dari kelasMyClass seperti yang ditunjukkan di atas:
- MyClass memiliki 3 atribut dan 3 operasi
- Parameter p3 dari op2 bertipe int
- op2 mengembalikan float
- op3 mengembalikan pointer (ditunjukkan oleh *) ke Class6
Hubungan Kelas
Sebuah kelas dapat terlibat dalam satu atau lebih hubungan dengan kelas lain. Hubungan dapat berupa jenis berikut: (Lihat gambar di sebelah kanan untuk representasi grafis).
| Jenis Hubungan | Diagram |
|---|---|
Pewarisan (atau Generalisasi):
|
![]() |
Asosiasi Sederhana:
|
![]() |
Agregasi:
|
![]() |
Komposisi:
|
![]() |
Ketergantungan:
|
![]() |
Nama Hubungan
- Nama hubungan ditulis di tengah garis asosiasi.
- Nama hubungan yang baik bermakna saat dibaca keras-keras:
-
- “Setiap lembar kerja mengandung beberapa sel”
<li”Ekspresi dinilai menjadi suatu nilai”
-
- Mereka sering memiliki panah kecil yang menunjukkan arahpembacaan, misalnya, ekspresi dinilai menjadi nilai, tetapi nilai tidak dinilai menjadi ekspresi.

Hubungan – Peran
- Peran menentukan tujuan dari arah dalam asosiasi.
- Peran ditulis di ujung garis asosiasi dan menggambarkan peran kelas dalam hubungan tersebut.
- Misalnya, Cell terkait dengan Expression. Sifat dari hubungan tersebut adalah Expression merupakan rumus dari sel.
Visibilitas Anggota Kelas
Dalam desain berorientasi objek, visibilitas atribut dan operasi direpresentasikan. UML mendefinisikan empat jenis visibilitas: publik, terlindungi, pribadi, dan paket.
Simbol +, -, #, dan ~ sebelum nama atribut dan operasi menunjukkan visibilitas:
- + menunjukkan atribut atau operasi publik
- – menunjukkan atribut atau operasi pribadi
- # menunjukkan atribut atau operasi terlindungi
- ~ menunjukkan atribut atau operasi paket
Contoh Visibilitas Kelas

Dalam contoh di atas:
- atribut1 dan op1 dari MyClassName bersifat publik
- atribut3 dan op3 bersifat dilindungi
- atribut2 dan op2 bersifat pribadi
Izin akses untuk anggota kelas yang berbeda ditampilkan di bawah ini:
| Tingkat Akses | Publik (+) | Pribadi (-) | Dilindungi (#) | Paket (~) |
|---|---|---|---|---|
| Anggota kelas yang sama | Ya | Ya | Ya | Ya |
| Anggota kelas turunan | Ya | Tidak | Ya | Ya |
| Anggota kelas lainnya | Ya | Tidak | Tidak | Hanya paket yang sama |
Kelipatan
Kelipatan menunjukkan berapa banyak objek dari suatu kelas yang berpartisipasi dalam suatu hubungan. Dapat dinyatakan sebagai:
- Tepat 1 – 1
- Nol atau satu – 0..1
- Banyak – 0..* atau *
- Satu atau lebih – 1..*
- Jumlah pasti – misalnya 3..4 atau 6
- Hubungan kompleks – misalnya 0..1, 3..4, 6* berarti jumlah berapa saja kecuali 2 atau 5
Contoh Kelipatan
- Persyaratan: Seorang siswa dapat mendaftar pada banyak mata kuliah, dan banyak siswa dapat mendaftar pada satu mata kuliah.
- Pada contoh di bawah ini, diagram kelas (kiri) menggambarkan model statis dari persyaratan di atas, sedangkan diagram objek (kanan) menunjukkan tampilan saat tertentu dari pendaftaran mata kuliah (contoh dari diagram kelas) untuk mata kuliah rekayasa perangkat lunak dan manajemen basis data.

Contoh Agregasi – Komputer dan Komponen
- Agregasi adalah kasus khusus dari asosiasi yang mewakili hierarki ‘mengandung’.
- Agregasi adalah kelas induk, komponen adalah kelas anak.

Contoh Pewarisan – Klasifikasi Sel
- Pewarisan adalah kasus khusus lain dari asosiasi yang mewakili hierarki ‘jenis dari’.
- Pewarisan menyederhanakan model analisis dengan memperkenalkan taksonomi.
- Kelas turunan mewarisi atribut dan operasi dari kelas induk.

Diagram Kelas – Contoh Alat Diagram
Diagram kelas dapat mencakup catatan yang melekat pada kelas atau hubungan. Catatan ditampilkan dalam warna abu-abu.

Dari contoh di atas, kita dapat menafsirkan diagram sebagai berikut:
- Shape adalah kelas abstrak. Ditampilkan dalam huruf miring.
- Shape adalah kelas induk. Circle, Rectangle, dan Polygon mewarisi dari Shape. Dengan kata lain, sebuah Circle adalah Shape. Ini adalah hubungan generalisasi/pewarisan.
- Ada hubungan antara DialogBox dan DataController.
- Shape adalah bagian dari Window. Ini adalah hubungan agregasi. Shape dapat ada tanpa Window.
- Point adalah bagian dari Circle. Ini adalah hubungan komposisi. Point tidak dapat ada tanpa Circle.
- Window bergantung pada Event. Namun Event tidak bergantung pada Window.
- Atribut Circle adalah radius dan center. Ini adalah kelas konkret.
- Metode Circle adalah area(), circum(), setCenter(), dan setRadius().
- Parameter radius pada Circle bertipe float.
- Metode area() pada Circle mengembalikan nilai double.
- Atribut dan metode Rectangle disembunyikan. Beberapa kelas lain dalam diagram juga menyembunyikan atribut dan metode mereka.
Menangani Sistem Kompleks – Diagram Kelas Ganda atau Tunggal?
Ketika memodelkan sistem besar atau domain bisnis besar, banyak entitas harus dipertimbangkan. Haruskah kita menggunakan diagram kelas ganda atau tunggal? Jawabannya adalah:
- Lebih baik menggunakan beberapa diagram kelas daripada memodelkan setiap entitas dan hubungannya dalam satu diagram saja.
- Memecah sistem menjadi beberapa diagram kelas membuatnya lebih mudah dipahami, terutama ketika setiap diagram merupakan representasi visual dari bagian tertentu dari sistem.
Perspektif Diagram Kelas dalam Siklus Pengembangan Perangkat Lunak
Diagram kelas dapat digunakan pada tahap-tahap berbeda dari Siklus Pengembangan Perangkat Lunak (SDLC), dan biasanya tiga tingkat detail (perspektif) yang berbeda dimodelkan secara bertahap:
Perspektif Konseptual: Diagram diinterpretasikan sebagai menggambarkan hal-hal dalam dunia nyata. Dengan demikian, jika Anda memulai dari perspektif konseptual, Anda menggambar diagram yang mewakili konsep-konsep dalam bidang yang sedang diteliti. Konsep-konsep ini secara alami berkaitan dengan kelas-kelas yang mengimplementasikannya. Perspektif ini adalah dipandang sebagai netral terhadap bahasa.
Perspektif Spesifikasi: Diagram diinterpretasikan sebagai menggambarkan abstraksi perangkat lunak atau komponen dengan spesifikasi dan antarmuka, tanpa terikat pada implementasi tertentu. Dengan demikian, jika Anda mendekati dari perspektif spesifikasi, Anda sedang mempelajari antarmuka perangkat lunak daripada implementasi.
Perspektif Implementasi: Diagram diinterpretasikan sebagai menggambarkan teknologi tertentu dan bahasaimplementasi perangkat lunak. Dengan demikian, jika Anda mendekati dari perspektif implementasi, Anda sedang mempelajari implementasi perangkat lunak.
Coba Gambar Diagram Kelas UML Sekarang
Unduh Gratis




