Unified Modeling Language (UML), juga dikenal sebagai Unified Modeling Language atau Standard Modeling Language, adalah standar OMG yang dimulai pada tahun 1997. Ini adalah bahasa grafis yang mendukung pemodelan dan pengembangan sistem perangkat lunak, menyediakan model untuk semua tahapan pengembangan dan visualisasi perangkat lunak dukungan, mulai dari analisis persyaratan hingga spesifikasi, hingga konstruksi dan konfigurasi. Perkembangan metode analisis dan desain berorientasi objek (OOA&D, OOAD) mencapai klimaksnya pada akhir 1980an hingga pertengahan 1990an, dan UML adalah produk dari klimaks tersebut. Tidak hanya menyatukan metode representasi Booch, Rumbaugh dan Jacobson, tetapi juga mengembangkannya lebih lanjut dan akhirnya menyatukannya menjadi bahasa pemodelan standar yang diterima masyarakat.
Dalam diagram kelas UML, beberapa hubungan yang umum digunakan adalah: Generalisasi, Realisasi, Asosiasi, Agregasi, Komposisi, Ketergantungan. Selanjutnya melalui artikel ini akan diberikan penjelasan detailnya satu per satu.
1. Generalisasi
[Hubungan generalisasi]: Ini adalah hubungan pewarisan yang mengungkapkan hubungan umum dan khusus. Ini menentukan bagaimana subkelas mengkhususkan semua karakteristik dan perilaku kelas induk. Misalnya: Harimau adalah sejenis hewan yang memiliki ciri-ciri harimau serta kesamaan di antara hewan.
[Panah menunjuk]: garis padat dengan panah segitiga, panah menunjuk ke kelas induk
2. Realisasi
[Hubungan implementasi]: Ini adalah hubungan antara kelas dan antarmuka, yang menunjukkan bahwa kelas tersebut adalah implementasi dari semua karakteristik dan perilaku antarmuka.
[Panah menunjuk]: Garis putus-putus dengan panah segitiga, panah menunjuk ke antarmuka
3. Asosiasi
[Hubungan asosiasi]: Ini adalah semacam hubungan kepemilikan, yang memungkinkan satu kelas mengetahui atribut dan metode kelas lain seperti: guru dan murid, suami dan istri;
Asosiasi bisa bersifat dua arah atau satu arah. Asosiasi dua arah dapat memiliki dua panah atau tanpa panah, dan asosiasi searah memiliki satu panah.
[Refleksi Kode]: Variabel anggota
[Panah dan penunjuk]: Garis padat dengan panah biasa menunjuk ke pemiliknya
Pada gambar di atas, guru dan siswa berhubungan secara dua arah. Guru mungkin memiliki banyak siswa, dan siswa juga dapat memiliki banyak guru. Namun hubungan antara seorang mahasiswa dengan suatu mata kuliah merupakan hubungan satu arah, seorang mahasiswa boleh saja mengambil banyak mata kuliah, suatu mata kuliah merupakan suatu hal yang abstrak dan tidak memiliki mahasiswanya sendiri.
Gambar di atas menunjukkan hubungannya sendiri:
4. Agregasi
[Hubungan agregasi]: Ini adalah hubungan antara keseluruhan dan bagian, dan suatu bagian dapat ada secara independen dari keseluruhan. Misalnya, mobil dan ban memiliki hubungan antara keseluruhan dan bagian, dan ban masih dapat ada tanpa mobil.
Hubungan agregasi adalah jenis hubungan asosiasi dan merupakan hubungan asosiasi yang kuat; asosiasi dan agregasi tidak dapat dibedakan secara tata bahasa, dan hubungan logis tertentu harus diperiksa.
[Refleksi Kode]: Variabel anggota
[Panah dan penunjuk]: Garis padat dengan belah ketupat berongga, belah ketupat menunjuk ke keseluruhan
5. Komposisi
[Hubungan gabungan]: Ini adalah hubungan antara keseluruhan dan bagian-bagian, tetapi bagian-bagian tersebut tidak dapat berdiri sendiri dari keseluruhan , tidak akan ada departemen.
Hubungan kombinasi adalah jenis hubungan asosiasi dan merupakan hubungan yang lebih kuat daripada hubungan agregasi. Hal ini mengharuskan objek yang mewakili keseluruhan dalam hubungan agregasi biasa bertanggung jawab atas siklus hidup objek yang mewakili bagian.
[Refleksi Kode]: Variabel anggota
[Panah dan penunjuk]: Garis padat dengan belah ketupat padat, belah ketupat menunjuk ke keseluruhan
6. Ketergantungan
[Ketergantungan]: Ini adalah hubungan penggunaan, yaitu implementasi satu kelas memerlukan bantuan kelas lain, jadi usahakan untuk tidak menggunakan saling ketergantungan dua arah.
[Kinerja kode]: variabel lokal, parameter metode, atau panggilan ke metode statis
[Panah dan penunjuk]: Garis putus-putus dengan panah yang menunjuk ke pengguna
Urutan kekuatan berbagai hubungan:
Generalisasi = Implementasi > Komposisi > Agregasi > Asosiasi > Ketergantungan
Diagram UML berikut menunjukkan berbagai hubungan diagram kelas dengan lebih jelas:
Di atas adalah keseluruhan narasi artikel ini, saya harap Anda menyukainya.