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.
Bila ingin mendonwload Materi Software Project - Relasi Antar Class (Agregasi), silahkah buka page Materi Mata Kuliah Software Project (Java/Oracle).
No comments:
Post a Comment
BILA ANDA MEMASUKKAN LINK HIDUP, MAKA AKAN OTOMATIS TERDELETE..