Class Relation (Relasi Kelas)
Video Pembelajaran
SC YT: Indonesia Belajar
-
Jenis-Jenis Relasi Kelas Dalam Pemrograman Berorientasi Objek, terdapat 4 jenis relasi dasar antar class yang sering digunakan:

-
Inheritance (Pewarisan)
-
Association (Asosiasi)
-
Aggregation (Agregasi)
-
Composition (Komposisi)
-
Inheritance (Pewarisan)
Definisi: Menggambarkan relasi antara class yang lebih umum (parent / superclass) dan class yang lebih khusus (child / subclass). Karakteristik: Dikenal juga dengan sebutan hubungan "is-a" (adalah seorang/sebuah).
Contoh Relasi Inheritance:
-
Dosen adalah seorang Karyawan.
-
Kucing adalah seekor Binatang.
-
Gedung adalah sebuah Bangunan.
-
Mobil merupakan sebuah Kendaraan.
-
Association (Asosiasi)
Definisi: Asosiasi merupakan relasi antar objek yang saling berkaitan dalam suatu sistem. Karakteristik: Dikenal dengan sebutan hubungan "has-a" (memiliki).
Contoh Relasi Asosiasi:
-
Dosen dan Mata Kuliah (Dosen mengajar Mata Kuliah).
-
Mahasiswa dan Mata Kuliah (Mahasiswa mengambil Mata Kuliah).
-
Aggregation (Agregasi)
Definisi: Aggregation merupakan bentuk khusus dari Association dimana terdapat kepemilikan (ownership) antara satu class terhadap class lain, namun masing-masing objek memiliki siklus hidup (life-cycle) nya sendiri secara independen. Karakteristik: Merupakan hubungan satu arah (Unidirectional association) dan gabungan dari relasi "has-a" + "whole-part" (keseluruhan-bagian).
Contoh Relasi Aggregation:
-
Jurusan terdiri dari beberapa Program Studi. Program Studi merupakan bagian dari Jurusan.
-
Siklus hidup independen: Jurusan dan Program Studi memiliki life-cycle nya masing-masing. Artinya, jika objek Jurusan dihapus, objek Program Studi tidak secara otomatis terhapus juga (Program Studi bisa saja dipindahkan ke Jurusan lain).
-
Composition (Komposisi)
Definisi: Composition merupakan bentuk khusus dari Aggregation dimana terdapat ownership antarkelas, tetapi objek anak (child object) tidak memiliki siklus hidup (life-cycle) sendiri tanpa objek induk (parent object). Karakteristik: Ketergantungan total. Child object tidak dapat dibuat tanpa ada parent object, dan child object juga akan otomatis terhapus jika parent object dihapus.
Contoh Relasi Composition:
-
Gedung terdiri dari Ruangan (Jika gedung dihancurkan, ruangan di dalamnya pasti ikut hancur).
-
Karyawan memiliki Tanggungan.
-
E-mail memiliki Attachment (Lampiran file).
-
Multiplicity Notation (Notasi Multiplisitas)
Dalam merancang UML Class Diagram, kita menggunakan notasi angka untuk menunjukkan seberapa banyak objek yang terlibat dalam suatu relasi:
-
" 1 " : Tepat satu
-
" 0..1 " : Nol atau satu
-
" 0..* " : Nol atau lebih (bisa banyak)
-
" 1..* " : Satu atau lebih (minimal satu)
-
" 3..5 " : Batasan spesifik, dari 3 hingga 5
Contoh pembacaan notasi:
-
Jurusan (1) ke ProgramStudi (1..*) artinya: 1 Jurusan memiliki 1 atau lebih Program Studi.
-
Mahasiswa (1..30) ke MataKuliah (0..6) artinya: 1 hingga 30 Mahasiswa dapat mengambil 0 hingga maksimal 6 Mata Kuliah.