7. agregasi komposisi

29
PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Reza Budiawan Untuk: TIM Dosen PBO MI.2283 Pemrograman Berorientasi Object Ganjil 2014/2015 Hanya dipergunakan untuk kepentingan pengajaran di lingkunganFakultas Ilmu Terapan, Universitas Telkom

Upload: ejabudiawan

Post on 04-Jul-2015

554 views

Category:

Education


13 download

DESCRIPTION

Materi ketujuh mata kuliah PBO, Fakultas Ilmu Terapan, Universitas Telkom

TRANSCRIPT

Page 1: 7. agregasi komposisi

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

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

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

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

CONTOH CLASS DIAGRAM

Terdapat class

yang menjadi

atribut

Tipe array of object,

karena hubungan 1..n

Page 6: 7. agregasi komposisi

Bagaimana Kodenya??

Page 7: 7. agregasi komposisi
Page 8: 7. agregasi komposisi
Page 9: 7. agregasi komposisi

Terdapat pengiriman

objek

Page 10: 7. agregasi komposisi

Sekarang….

Bagaimana menampilkannya?

Page 11: 7. agregasi komposisi

Note: Jika terdapat error/exception, pastikan

terdapat kondisi if saat menampilkan

isi array

Page 12: 7. agregasi komposisi

Gunakan

for-loop

sebagai alternatif

Note: Jika terdapat error/exception, pastikan

terdapat kondisi if saat menampilkan

isi array

Page 13: 7. agregasi komposisi

Tambahkan kondisi if jika terjadi exception/error

Page 14: 7. agregasi komposisi

Alternatif Kode?!!

Page 15: 7. agregasi komposisi
Page 16: 7. agregasi komposisi
Page 17: 7. agregasi komposisi

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

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

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

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

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

CONTOH CLASS DIAGRAM

Page 23: 7. agregasi komposisi
Page 24: 7. agregasi komposisi
Page 25: 7. agregasi komposisi
Page 26: 7. agregasi komposisi

Set nama

Pada

Konstruktor

VGA

Page 27: 7. agregasi komposisi

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

Alternatif Kode?!!

Bentuk Objek VGA

dan CPU pada method

addKomponen()

Cek courseware PBO angkatan 2008,

Politeknik Telkom

Page 29: 7. agregasi komposisi

-END OF SLIDE-