Class Relation (Relasi Kelas)

Video Pembelajaran

SC YT: Indonesia Belajar

 

  1. Jenis-Jenis Relasi Kelas Dalam Pemrograman Berorientasi Objek, terdapat 4 jenis relasi dasar antar class yang sering digunakan:PBO 03 Konsep Enkapsulasi Dan Relasi Antar Class Beserta Contoh  Implementasinya | #JavaSE

  • Inheritance (Pewarisan)

  • Association (Asosiasi)

  • Aggregation (Agregasi)

  • Composition (Komposisi)

  1. 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.

  1. 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).

  1. 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).

  1. 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).

  1. 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.