IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT....

22
IT 405: KPLBO MATERI 8RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

Transcript of IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT....

Page 1: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

IT 405: KPLBOMATERI 8 RELASI ANTAR OBJEKAyi Purbasari, ST., MT.If-Unpas, 2014

Page 2: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

OUTLINE

Agregasi Komposisi

Inheritance Overridingdan Super

Page 3: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

AGREGASI

Relasi “consist of”, “is composed of”, “has a” Contoh: A Car has a(n) Engine A Car has a Transmission A Car is composed of many (4) Wheels A Person has a(n) Address

Page 4: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

COMPOSITION

Adalah agregasi, dimana “bagian”-nya tidakdapat ada tanpa bagian keseluruhannya.

Contoh: A Book is composed of many Chapters Chapter (bab) tidak ada jika tidak ada buku

Page 5: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE

Inheritance hanya dimiliki oleh bahasa pemrogramanOO

Adalah relasi is-a Contoh: A Student is a Person A Sedan is a Car

Pada Student is a Person, maka Person adalahkelas induk dan Student adalah kelas anak

Kelas anak (Student) akan mewarisi sifat-sifat danperilaku-perilaku dari kelas induknya (Person)

Jika Student is a Person, dan Person has a(n)Address, maka Student juga has a(n) Address

Page 6: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE

Perhatikan kelasStudent berikut ini:

Terdapat 2 macamStudent: Graduate Students Undergraduate Student

Graduate Studentadalah student yangtelah menyelesaikanprogramUndergradutenya

Misal kelas karyawanUnpas, terdapat lulusanD3 dari Polban,PoltekPos, D3 Telkom,D2 PDC dan lain-lain.

StudentnamestudentID

setName()setStudentID()getName()getStudentID()

Page 7: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE .. (LANJUTAN) Terdapat kebutuhan informasi: Apa nama program

Undergraduate seorang studentsebelum mengambil programGraduate

Apa institusi programUndergraduate seorang studentsebelum mengambil programGraduate

Misal: D3 Telkom Solusi I: ditambahkan atribut

dan metode di kelas Student

StudentnamestudentIDunderGraduateDegreeunderGraduateInstituion

setName()setStudentID()getName()getStudentID()setUnderGraduateDegree()getUnderGraduateDegree()setUnderGraduateInstitution()getUnderGraduateInstitution()

Page 8: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE .. (LANJUTAN) Konsekuensi solusi I tersebut: atribut dan metode undergraduate ini

tidak berlaku untuk seluruh student,tetapi hanya untuk student graduatesaja

karena itu, atribut dan metode tersebutperlu selalu dicek, apakah digunakanatau tidak

digunakan variabel booleangraduateStudent untuk menandai bahwastudent tersebut adalah seorang studentgraduateStudent

digunakan juga metode untuk mengecek:isGraduateStudent. Jika merupakan graduate student, maka

graduateStudent dan isGraduateStudentakan bernilai TRUE.

StudentnamestudentIDunderGraduateDegreeunderGraduateInstituiongraduateStudent

setName()setStudentID()getName()getStudentID()setUnderGraduateDegree()getUnderGraduateDegree()setUnderGraduateInstitution()getUnderGraduateInstitution()isGraduateStudent()

Page 9: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE .. (LANJUTAN) Contoh penggunaan boolean untuk mengecek

jenis Student:

Page 10: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE .. (LANJUTAN) Jika terdapat kebutuhan-kebutuhan khusus

lainnya untuk kelas Student, maka perluditambahkan variabel baru juga variabel bertipeboolean untuk mengeceknya.

Misal untuk kelas karyawan, diperlukaninformasi tempat kerja mahasiswa yangbersangkutan.

Padahal tidak semua Student memiliki tempatkerja.

Hal ini menunjukkan bahwa Solusi I denganpenambahan-penambahan variabel ini sangattidak praktis dan merumitkan.

Page 11: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE .. (LANJUTAN) Solusi II: Meng-clone semua atribut dan metode

kelas Student

StudentnamastudentID

setName()setStudentID()getName()getStudentID()

GraduateStudentnamestudentIDunderGraduateDegreeunderGraduateInstituion

setName()setStudentID()getName()getStudentID()setUnderGraduateDegree()getUnderGraduateDegree()setUnderGraduateInstitution()getUnderGraduateInstitution()

Page 12: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE .. (LANJUTAN)

Page 13: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

THE PROPER APPROACH (#3): TAKINGADVANTAGE OF INHERITANCE

GraduateStudentunderGraduateDegreeunderGraduateInstituion

setUnderGraduateDegree()getUnderGraduateDegree()setUnderGraduateInstitution()getUnderGraduateInstitution()

StudentnamastudentID

setName()setStudentID()getName()getStudentID()

Solusi III: Dengan menggunakan Inheritance, atribut yangdimiliki kelas Student otomatis dimiliki oleh kelasGraduateStudent

Page 14: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014
Page 15: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

INHERITANCE: CONTOH DIAGRAM KELASDENGAN INHERITANCE

Page 16: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

PENDEKLARASIAN INHERITANCE

public class Student extends Person {

}

Student s1 = new Person(); //Tidak benarStudent s1 = new Student(); //Objek studentPerson s1 = new Student(); //Objek student

Page 17: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

PENDEKLARASIAN INHERITANCEKELAS INDUK/SUPERCLASS

Page 18: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

KELAS TURUNAN/SUBCLASS

Page 19: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

KELAS TURUNAN/SUBCLASS

Page 20: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

HIRARKI KELAS

Page 21: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

PUSTAKA

Barker, Jacquie. Beginning Java Objects FromConcepts to Code, Second Edition. Appress. 2005.

Page 22: IT 405: KPLBO M 8 R A O fileIT 405: KPLBO MATERI 8 RELASI ANTAR OBJEK Ayi Purbasari, ST., MT. If-Unpas, 2014

THANK YOU