Anda di halaman 1dari 19

HUBUNGAN ANTAR OBJECT

ASOSIASI, AGREGASI DAN KOMPOSISI


ASOSIASI

• Menggambarkan hubungan antar Class (object) yang


tidak saling memiliki, hanya mengambil nilai dari
atribut object (Class) lain saja.

• Contoh: Dosen mengajar Matakuliah


• Mahasiswa memiliki Buku
ASOSIASI

Gambar 1. Asosiasi Matakuliah dengan Dosen


ASOSIASI

Public static void main(){


//instance object mhs1 & mhs2
Mahasiswa mhs1=new Mahasiswa("201851021","Ali Ahmadi");
Mahasiswa mhs2=new Mahasiswa("201851022","Agus Prihadi");

//instance object dosen bernama dsn


Dosen dsn=new Dosen();
dsn.setDosen("Dr. Adie Nugroho , MT ");

//asosiasi dosen dan mahasiswa


dsn.setMahasiswa(mhs1);
dsn.setMahasiswa(mhs2);
}
ASOSIASI (2)

//instance object untuk dosen :dosenA;


Dosen dosenA=new Dosen("0620068302", “Ahmad Jazuli,
M.Kom");
//instance object untuk matakuliah:PBO;
Matakuliah matkul=new Matakuliah("MTI504", "PBO",
dosenA.getNama());
System.out.println("Matakuliah:"+matkul.getNama()
+"|"+"Dosen:"+matkul.getNamaDosen());

Mengambil atribut nama dari kelas dosen


ASOSIASI
public static void main(String[] args) {
//instance objek mhs bernama budi
Mahasiswa budi=new Mahasiswa("Budi Harjoko");

//asosiasi matakuliah dan mhs


Matakuliah mk1=new
Matakuliah("MTI505","Praktikum PBO",
budi.getNama());
System.out.println("Kode="+mk1.getId()+"|"+
"Nama
Matakuliah="+mk1.getMatakuliah()+"|"+

"Mahasiswanya="+mk1.getNamaMhs());
}
AGREGASI

• Hubungan antar dua object (class) , dimana class yang


satu merupakan bagian dari class yang lain.
• Contoh:
Mahasiswa dengan Jurusan (Jurusan, Kode)
Matakuliah dengan Dosen (NIP, Nama_dosen);

• Ketika “wadah” dimusnahkan, object “muatan”


masih bisa berdiri sendiri.
AGREGASI (2)

• Agregasi adalah beberapa objek dibangun dari objek-


objek yang lain
• Mobil, misalnya, dibangun dari mesin, bodi, dan
beberapa bagian lainnya.
• Agregasi juga dapat dideskripsikan sebagai sebuah relasi
memiliki sesuatu.
• Mobil memiliki suatu bodi.
CONTOH AGREGASI

Gambar 1. Class diagram UML yang


menunjukan agregasi
AGREGASI

Gambar 2. Class diagram UML agregasi Mahasiswa & Jurusan (Jurusan & Kode)
AGREGASI

Gambar 2. Diagram class agregasi Matakuliah & Dosen (NIP dan Nama)
AGREGASI
• Matakuliah2 matkul2=new Matakuliah2("MTI505", "Prak.PBO",
dosenA);
• System.out.println("Matakuliah:"+matkul2.getNama());
• System.out.println("Nama dosennya dengan
NIP:"+matkul2.getDosen().getNIP());
• System.out.println("Nama dosennya dengan
Nama:"+matkul2.getDosen().getNama());

Note: Mengambil object dosen (dosenA) dari kelas Matakuliah,


sehingga kita bisa mengeluarkan atribut dosen
KOMPOSISI

• Bentuk khusus dari Agregasi


• Siklus hidup objek bergantung pada pemilik objeknya
(ex.Motor)
• Object “muatan” baru dapat diciptakan (ex.Aki, Mesin,
Roda), setelah object “wadah” dibuat.
• Ketika “wadah” dimusnahkan, maka object “muatan”
juga akan ikut musnah.
KOMPOSISI

Gambar 3. Komposisi objek motor yang terdiri dari Aki dan Mesin
KOMPOSISI

• public static void main(String[] args) {

Komputer kom1=new Komputer("Asus");


kom1.addKomponen(new CPU("Core i3"),new
Keyboard("Logitec"),
new Mouse("Genius"));
System.out.println("Komputer="+kom1.getNama());
System.out.println("Processor="+kom1.cpu.getCPU()+"\n"+
"Keyboard="+kom1.keyboard.getKeyboard()+"\n"+
"Mouse="+kom1.mouse.getMouse());

}
KOMPOSISI(2)

//komposisi objek motor dengan memiliki mesin & aki


• Motor motor=new Motor("Honda", "250 cc", "60 Hz");
• System.out.println("Motor merk:"+motor.getMerk()+"|"+
"Kecepatan:"+motor.getMesin().getCc()+"|"+
"Tegangan Aki:"+motor.getAki().getTegangan());
PENUTUP

1. Asosiasi, Agregasi dan Komposisi adalah beberapa


contoh bentuk hubungan antar object satu sama
lain yang sama persis kita lihat dalam kehidupan
sehari-hari.
2. Poin penting dari konsep asosiasi, agregasi dan
komposisi adalah terletak pada aturan (cara) mereka
bagaimana berkomunikasi. Sehingga dengan
menerapkan aturan tersebut, keberadaan dari
suatu object akan bisa dipandang sebagai
informasi yang lengkap (utuh).
SOAL
Employee
1. Buatlah object untuk - nama : String
rancangan class diagram UML - nip : String
- gol : int
disamping:
+ setNama () : String
• Golongan seorang employee + setNIP () : String
berkisar dari 1 sd 4. + setGol () : int
• Buatlah beberapa method, dan + getNama () : String
+ getNIP () : String
panggil method tersebut melalui + getGolongan () : int
object-objectnya

Manager
- departemen : String
+ setDepartemen () : String
+ getDepartemen () : String
SOAL (2)

• 2. Buatlah object yang mengadopsi konsep dari hubungan


antar object seperti asosiasi, agregasi dan komposisi (diluar
contoh yg ada di slide), dengan ketentutan:
a. Properti object minimal 4
b. Method object minimal 2 buah
c. Panggil method-methodnya melalui object yang telah
ditentukan

Anda mungkin juga menyukai