Relasi Asosiasi, Komposisi, Agregasi

HAII GUYSSS….Mau ngasihtau aja aku Natalia Devi mahasiswi Telkom University di Fakultas Ilmu Terapan, sekarang aku masih di semester 2 kelas D3-SI-43-01, SI itu (Sistem Informasi)..Gausah banyak basa-basi ya langsung aja temen-temen semua monggo dibaca tentang Relasi mulai dari Asosiasi, Komposisi, dan Agregasi.

Pengertian Relasi

 

Seperti yang kita tahu tentang Relasi adalah sebuah hubungan yang terjalin antara 2 atau lebih manusia, tetapi hampir mirip dengan Relasi dalam hal PBO yaitu bagaimana sih keterkaitan satu kelas dengan kelas yang lainnya. Saat satu class memasukkan pesan ke class lain pada Diagram Interaksi, maka harus terdapat relasi pada kedua class tersebut.

 

Hubungan atau relasi yang terjadi di dalam Java ada 3 jenis yaitu Asosiasi, Agregasi, dan Komposisi. Mari kita mulai dari Asosiasi.

 

Asosiasi

 

Kelas diagram hubungan Asosiasi

 

Dapat kita lihat pada gambar kelas diagram di atas, relasi asosiasi diartikan dengan satu buah garis vertikal yang tidak putus-putus dalam artian garis lurus saja, tetapi kemudian ada kardinal atau kepala sebagai tanda untuk mengeatahui jumlah dari relasi Dosen dengan Mahasiswa di diagram tersebut.

 

Asosiasi bisa juga diartikan sebagai hubungan yang bisa saling menggunakan (use-to) di dalam sebuah kelas, dan tidak saling memiliki. Misal pada gambar di atas terdapat kelas Dosen dan kelas Mahasiswa, dilihat dari kardinalitasnya, satu dosen bisa memiliki banyak mahasiswa. Apabila dosen dihilangkan, mahasiswa masih bisa digunakan karena tidak saling memiliki. Asosiasi juga dapat diartikan sebagai relasi yang terjadi pada class-class dimana salah satu instance dari class tersebut memanggil/mengaktifkan instance dari class lainnya. Asosiasi merupakan relasi yang bisa dibilang relevan bisa uni-directional (satu arah) atau bisa juga bidirectional (dua arah).

 

 

Agregasi

 

Agregasi adalah bentuk hubungan yang lebih khusus dari Asosiasi dimana sebuah object memiliki lifecycle nya sendiri tapi dengan kepemilikan dan class anak tidak dapat memiliki class induknya. 

 

Kelas diagram hubungan Agregasi

 

Relasi agregasi digambarkan dengan diamond putih, yang ditujukan pada kelas yang memiliki nilai kalau seperti diagram diatas kelas jurusan itu hanya punya satu tetapi satu jurusan terdapat banyak mahasiswa yang diberi tanda bintang. 

 

Jika pada relasi asosiasi adalah saling menggunakan (use-to), di sini hubungan yang terjadi adalah memiliki atau bahasa inggrisnya (has-to). Dapat dilihat pada gambar kelas diagram di atas, bahwa kelas Jurusan memiliki kelas Mahasiswa sebagai variable nya. Meskipun kelas Jurusan memiliki kelas Mahasiswa, namun kedua kelas tersebut dapat dibuat secara bebas.

 

Komposisi

 

Relasi Komposisi sama halnya dengan agregasi dimana suatu class merupakan bagian utuh dari class lainya namun pada hal ini satu bagian class tersebut akan sangat bergantung pada keberadaan class lainya.

 

Kelas diagram hubungan komposisi

 

Komposisi digambarkan menggunakan diamond hitam yang menyatakan memiliki bagian seperti pada agregasi, tapi lebih spesial. Kemudian menggunakan garis tidak putus ke kelas yang dimiliki.

 

Contoh dalam bentuk kode :

 

public class Cpu {
  private String nama;
  public Cpu(String nama) {
    this.nama = nama;
  }
  public String getNama() {
    return this.nama
  }
}


cpu.java

 

public class Keyboard {
  private String jenis;
  public Keyboard(String jenis) {
    this.jenis = jenis; 
  }
  public String getJenis() {
    return this.jenis;
  }
}

keyboard.java

 

public class Mouse {
  private String merk;
  public Mouse(String merk) {
    this.merk = merk;
  }
  public String getMerk() {
    return this.merk; 
  }
}

Mouse.java

 

public class Komputer {
  private String merk;
  private String tipe;
  private Mouse mouse;
  private Keyboard keyboard;
  private Cpu cpu;
  public Komputer(String merk, String tipe) {
    this.merk = merk;
    this.tipe = tipe;
  }
  public addKomponen(Mouse mouse, Keyboard keyboard, Cpu cpu) {
    this.mouse = mouse;
    this.keyboard = keyboard;
    this.CPU = cpu;
  }
}

Komputer.java

 

public class MainKomputer {
  public static void main(String[] args) {
    // membuat objek komputer
    Komputer komputer = new Komputer('Asus','A450CC');
    // membuat komponen nya
    komputer.addKomponen(new Mouse('Logitec'), new Keyboard('Logitec'), new Cpu('intel i7'));
  }
}

MainKomputer.java

 

Dapat dilihat dari file MainKomputer.java bahwa komponen kelas Mouse, Keyboard, Cpu baru dibuat setelah komputer dibuat. Apabila objek komputer dihapus maka semua komponen juga terhapus. Begitulah ilustrasi dari hubungan komposisi. 

Sekian dari aku gaes jika ada yang kurang dan kurang dipahami silahkan komen aja gaes, nanti sebisa mungkin aku jawab. Terimakasih.

 

 

 

By Natalia Devi

Hi My name Natalia Devi and I study at Telkom University

Leave a Reply

Your email address will not be published. Required fields are marked *