Download - 7. agregasi komposisi
![Page 1: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/1.jpg)
PEMROGRAMAN
BERORIENTASI OBJEK
Disusun Oleh:
Reza Budiawan
Untuk:
TIM Dosen PBO
MI.2283Pemrograman Berorientasi Object
Ganjil 2014/2015
Hanya dipergunakan untuk kepentingan pengajaran di lingkunganFakultas Ilmu Terapan, Universitas Telkom
![Page 2: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/2.jpg)
Agregasi merupakan hubungan antara dua kelas di mana
kelas yang satu merupakan bagian dari kelas yang lain namun
kedua kelas ini dapat berdiri sendiri-sendiri.
Agregasi sering juga disebut relasi “part of” atau relasi
“whole -part”.
Simbol yang digunakan: hollow diamond
AGREGASI
![Page 3: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/3.jpg)
kelas yang satumerupakan bagiandari kelas yang lain
Suatu kelas menjadiatribut bagi kelas lain
Pada Driver Class terdapat objek
referensi tiap kelasdan pengiriman objek
CONTOH IMPLEMENTASI
![Page 4: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/4.jpg)
Buatlah sebuah hubungan agregasi antara jurusan/prodi
dengan mahasiswanya.
Jurusan menyimpan nilai dari mahasiswa
Satu jurusan hanya bisa ditempati maksimal 10 mahasiswa
CONTOH SOAL
![Page 5: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/5.jpg)
CONTOH CLASS DIAGRAM
Terdapat class
yang menjadi
atribut
Tipe array of object,
karena hubungan 1..n
![Page 6: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/6.jpg)
Bagaimana Kodenya??
![Page 7: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/7.jpg)
![Page 8: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/8.jpg)
![Page 9: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/9.jpg)
Terdapat pengiriman
objek
![Page 10: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/10.jpg)
Sekarang….
Bagaimana menampilkannya?
![Page 11: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/11.jpg)
Note: Jika terdapat error/exception, pastikan
terdapat kondisi if saat menampilkan
isi array
![Page 12: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/12.jpg)
Gunakan
for-loop
sebagai alternatif
Note: Jika terdapat error/exception, pastikan
terdapat kondisi if saat menampilkan
isi array
![Page 13: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/13.jpg)
Tambahkan kondisi if jika terjadi exception/error
![Page 14: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/14.jpg)
Alternatif Kode?!!
![Page 15: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/15.jpg)
![Page 16: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/16.jpg)
![Page 17: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/17.jpg)
Bedanya Apa??
Kode 2 bisa dibilang lebih bersifat navigable,
karena class jurusan mengakses class Mahasiswa.
Tidak hanya menyimpan, tapi juga mengakses
dan menampilkan.
navigable
![Page 18: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/18.jpg)
KENAPA DISEBUT AGREGASI
Perhatikan bahwa terdapat pembuatan objek dari tiap kelas.
Nilai dari jurusan bisa didapat dari objek “j”
Nilai dari mahasiswa bisa didapat dari objek “m1” dan “m2”
Mereka berdiri sendiri, tapi nilai mahasiswa juga bisa didapat dari “j”
“m1” dan “m2” bagian dari “j”
![Page 19: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/19.jpg)
Komposisi merupakan bentuk khusus dari agregasi di mana
kelas yang menjadi part (bagian) baru dapat diciptakan
setelah kelas yang menjadi whole (seluruhnya) dibuat dan
ketika kelas yang menjadi whole dimusnahkan, maka kelas
yang menjadi part ikut musnah.
Simbol: black diamond
Simbol panah menyatakan navigable
KOMPOSISI
![Page 20: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/20.jpg)
Kelas satu menjadi bagian kelasyang lain
Implementasi:
• Objek suatu kelas dibentuk di kelas non Driver
• Membentuk objek tanpa nama referensi
CONTOH IMPLEMENTASI
![Page 21: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/21.jpg)
Buatlah sebuah hubungan komposisi antara sebuah laptop
dengan komponennya.
Contoh objek:
Laptop Asus A43S memiliki CPU intel core i7; VGA Nvidia 2GB;
Laptop Toshiba S006 memiliki CPU intel core i5; VGA Nvidia 2GB;
CONTOH SOAL
![Page 22: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/22.jpg)
CONTOH CLASS DIAGRAM
![Page 23: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/23.jpg)
![Page 24: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/24.jpg)
![Page 25: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/25.jpg)
![Page 26: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/26.jpg)
Set nama
Pada
Konstruktor
VGA
![Page 27: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/27.jpg)
KENAPA DISEBUT KOMPOSISI
Perhatikan bahwa terdapat pembuatan objek dari tiap kelas.
Tapi tidak setiap class punya referensi objek.
Nilai CPU dan VGA tidak bisa didapat jika tidak melalui nilai objek “l1”
Objek “l1” merupakan objek Laptop.
Artinya, ada ketergantungan penuh dari class CPU & VGA ke Laptop
![Page 28: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/28.jpg)
Alternatif Kode?!!
Bentuk Objek VGA
dan CPU pada method
addKomponen()
Cek courseware PBO angkatan 2008,
Politeknik Telkom
![Page 29: 7. agregasi komposisi](https://reader034.vdocuments.pub/reader034/viewer/2022042508/5597a0421a28aba7098b45af/html5/thumbnails/29.jpg)
-END OF SLIDE-