110 likes | 121 Views
PERTEMUAN 9. TIGA PILAR OOP: Konsep Inheritance , Polymorphism & Encapsulation. PEMROGRAMAN BERORIENTASI OBJEK (PBO). Pokok Bahasan. Pertemuan 1. Pertemuan 2. TIGA PILAR OOP: Konsep Inheritance, Polymorphism dan Encapsulation. Pertemuan 3. Pertemuan 4. TUJUAN INTERAKSIONAL
E N D
PERTEMUAN 9 TIGA PILAR OOP: Konsep Inheritance, Polymorphism & Encapsulation PEMROGRAMAN BERORIENTASI OBJEK (PBO)
PokokBahasan Pertemuan 1 Pertemuan 2 TIGA PILAR OOP: Konsep Inheritance, Polymorphism dan Encapsulation Pertemuan 3 Pertemuan 4 • TUJUAN INTERAKSIONAL • UMUM : • Mahasiswamampumenjelaskankonsep OOP • KHUSUS : • Mahasiswamampumenjelaskankonseppolimorfisme • Mahasiswamampumenjelaskankonsepinheritas • Mahasiswamampumenjelaskankonsepencapsulation Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Materi : • 1. Konsep Inheritance Pertemuan 12 2. Konsep Polymorphism Pertemuan 13 • 3. Konsep Encapsulation Pertemuan 14 Pertemuan 15
1. Konsep Inheritance (Pewarisan) • Inheritance adalah proses pewarisan data dan method darisuatukelaskepadakelas yang lain. Kelas yang mewariskandisebutkelas super (super class), sedangkankelas yang diwariskandisebutsubkelas (sub class). • Ataukelas super disebutKelasInduk, sementarasubkelasdisebutKelasAnak. • Denganmelakukanpewarisan, kitadapatmenggunakan field dan method yang telahdibuatkelasinduksertamenambahkan field dan method baruuntukberadaptasisesuaikebutuhanbarudanlebihspesifik. Fasilitasinidisediakan OOP untukmenghematpenulisankodeulangdenganmemanfaatkankomponen lama (reuse component) dalammenciptakankomponenbarudenganfiturtambahanlebihspesifik
Contoh Inheritance KENDARAAN kecepatan warna belokKiri() belokKanan() KendaraanBermotor ukuranMesin nomorPolisi Sepeda getUkuranMesin() belokKanan() bunyiBel() SepedaMotor Mobil jumlahPintu isHelmIn() switchAirConditioner() getJumlahPintu()
Contoh Inheritance PERSON nama Alamat umur getNama() getAlamat() getUmur() Mahasiswa nim Dosen getNimMahasiswa idDosen getIdDosen()
1. Konsep Polymorphism (BanyakBentuk) • Polymorphismebermaknasesuatu yang memilikibanyakbentuk. Dalampemrogramanistilahinidapatdiartikansebagaimodul yang memilikinamasama, namunmemilikibehaviuor (tingkahlaku yang berbeda) sehingga listing code implementasinyaberbeda. Maksudnyadengannama method yang sama, kitabisamendapatkanfungsi yang berbeda. • Selaindenganmembuat method dengannama yang samapadasebuah class, dalamJava penerapanpolymorphismdapatdilakukandengan 3 carayaitu: • Meng-override method dari super class • Mengimplementasikanabstract class • Mengimplementasikan interface.
Contoh Polymorphism Sebagaicontohterdapat super class bernama Message, danterdapat 3 sub class turunan (inheritance) dari class Message yaitu class MailMessage, FaxMessagesertaVoiceMessage. Ketika programmer memanggil method SendMessagepada 3 kelastersebut, ketigaobyektersebutmemangbenarakanmengirimpesantetapidilakukandengancara yang berbedadanspesifik SendMessage() ?
3. Konsep Encapsulation (Pembungkusan) • Enkapsulasiadalahpembungkus, pembungkusdisinidimaksudkanuntukmenjagasuatu proses program agar tidakdapatdiaksessecarasembaranganatau di intervensioleh program lain. Konsepenkapsulasisangatpentingdilakukanuntukmenjagakebutuhan program agar dapatdiaksessewaktu-waktu, sekaligusmenjaga program tersebut. • Jugamerupakancara “membungkus” data dan method yang menyusunkelasdanmenyembunyikannyadaridunialuar. • Proses enkapsulasimemudahkankitauntukmenggunakansebuahobjekdarisuatukelaskarenakitatidakperlumengetahuisegalahalsecararinci.
Contoh Encapsulation • Dalamkehidupansehariharienkapsulasidapatdimisalkansebagaiaruslistrikpada generator, dansistemperputaran generator untukmenghasilkanaruslistrik. Kerjaaruslistriktidakmempengaruhikerjadarisistemperputaran generator, begitu pula sebaliknya. Karenadidalamaruslistriktersebut, kitatidakperlumengetahuibagaimanakinerjasistemperputaran generator, apakah generator berputarkebelakangataukedepanataubahkanserong. Begitu pula dalamsistemperputaran generator, kitatidakperlutahubagaimanaaruslistrik, apakahmenyalaatautidak. • Class Mobil menyediakanantarmukafungsiuntukmenjalankanmobiltersebut, tanpakitaperlutahukomposisibahanbakar, udaradankalor yang diperlukanuntuk proses tersebut.
End Of Slide