Seputar Dunia IT dan Fakta Unik Lainnya

Tuesday, 1 March 2016

Software Project - Relasi Antar Class (Agregasi)



RELASI ANTAR CLASS (AGREGASI)

Pada relasi antar class (agregasi), satu class bertindak sebagai Supplier dan class lain bertindak sebagai Client atau Container.
  • Supplier : class yang digunakan oleh class lain, atau menjadi bagian dari class lain
  • Client/Container : class yang menggunakan class lain, atau class yang beranggotakan/menampung class lain


RELASI ANTARA CLASS TITIK & GARIS

  • Garis memiliki variabel titikAwal dan titikAkhir yang masing-masingnya bertipe data Point. Konsep ini sama seperti konsep relasi antar class pada OOP/Java.
  • Class Titik adalah Supplier, karena ia menjadi bagian dari class Garis, atau digunakan oleh class Garis.
  • Class Garis adalah Client, karena ia menggunakan class Titik sebagai atributnya.



Untuk memahami relasi antar class Titik dan Garis, kita akan mulai pembahasan dari Class Driver.


class Driver{
public static void main (String args[]){
Titik t1 = new Titik(7,5);
Titik t2 = new Titik(8,20);
Garis g1 = new Garis(t1,t2);
}
}

Pada contoh Driver tersebut, kita dapat membuat Constructor Garis yang menerima input berupa 2 buah Titik.


class Garis{
private Titik tAwal;
private Titik tAkhir;
public Garis(Titik ta, Titik tb){
tAwal = ta;
tAkhir = tb;
}
}

Untuk Get dan Set pada Garis :


class Garis{
public Titik getTAwal(){
return tAwal;
}
public void setTAwal(Titik ta){
tAwal = ta;
}
}

Untuk printInfo pada Garis :


class Garis{
public void printInfo(){
tAwal.printInfo();    // menampilkan nilai x,y titik awal
tAkhir.printInfo();   // menampilkan nilai x,y titik akhir
}
}

Untuk Method Translasi pada Garis :


class Garis{
public void translasi(int dx, int dy){
tAwal.translasi(dx,dy);  // menggeser titik awal
tAkhir.translasi(dx,dy);  // menggeser titik akhir
}
}


PENGAKSESAN CLASS TITIK

Kembali ke class Driver, bila kita ingin mengakses atribut atau method class Titik maka harus dilakukan secara bertingkat melalui class Garis. Perhatikan contoh berikut :

class Driver{
public static void main (String args[]){
Garis g1 = new Garis(t1,t2);
System.out.println(g1.getTAwal.getX());
System.out.println(g1.getTAwal.getY());
}
}

Apa keuntungan dari konsep Relasi Antar Class diatas ?

  • Membangun Relasi Antar Class memudahkan programmer untuk memaintenance source code bila ada perubahan, misalnya bila kita menambahkan class Titik dengan atribut z (tiga-dimensi), kita bisa meminimalisir perubahan yang harus dilakukan pada class Garis.
  • Relasi antar class artinya menggunakan class yang sudah ada (reusability). Konsep ini tentunya diperlukan bila kita ingin membuat sistem perangkat lunak yang besar atau kompleks.

No comments:

Post a comment

BILA ANDA MEMASUKKAN LINK HIDUP, MAKA AKAN OTOMATIS TERDELETE..

Blog Archive