14
Pemrograman Berorientasi Objek Danu Wira Pangestu Bangdanu.wordpress.com

Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Embed Size (px)

Citation preview

Page 1: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

PemrogramanBerorientasi Objek

Danu Wira PangestuBangdanu.wordpress.com

Page 2: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

About Me

Danu Wira Pangestu

S.Kom - Univ.PGRI Yogyakarta Prodi T.Informatika (2006)

Email : [email protected] Blog : bangdanu.wordpress.comPhone : 081.328.325.677 (Whatsapp)

Social Media :Twitter : @bangdanuInstagram : @bangdanuFacebook : Danu Wp

Bangdanu.wordpress.com

Page 3: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Pertemuan 3Polimorfisme

Bangdanu.wordpress.com

Tujuan :Memahami konsep polymorphism dan dapatmenerapkannya dalam program

Materi :PolymorphismOverridding atribut & method

Page 4: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Apa itu Polimorfisme?

Bangdanu.wordpress.com

Polymorphism mempunyai makna sesuatu yang memiliki banyakbentuk, yaitu memiliki nama sama, tetapi memiliki kelakuan (behaviour) yang berbeda.

Page 5: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Apa itu Polimorfisme?

Bangdanu.wordpress.com

• Class Bentuk yang merupakan class induk (superclass) dariclass Lingkaran, Elips dan Segitiga mempunyai method gambar() dan hapus().

• Class-class anak (subclass) juga mempunyai method gambar() dan hapus().

• Meskipun keempat class tersebut mempunyai namamethod yang sama, tetapi isi (source code/yang dilakukan/output) dari masing-masing method tersebut berbeda.

• Jika kita menginginkan sebuah objek yang dapat memanggil setiap method (yaitu method gambar & hapus) yang ada pada setiap class (pada superclass maupunsubclass), maka gunakanlah teknik Polymorphism.

Page 6: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Apa itu Polimorfisme?

Bangdanu.wordpress.com

• Polymorphism hanya berlaku pada method dan tidakberlaku untuk atribut.

• Untuk mendapatkan operasi polymorphism dari suatumethod, maka method tersebut haruslah merupakanmethod yang ada di class induk (lihat diagram diatasbahwa method gambar() dan hapus(), selain terdapatdi class-class turunan class Bentuk, juga terdapat di class Bentuk).

Page 7: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Contoh ImplementasiPolimorfisme

Bangdanu.wordpress.com

class Bentuk{public void gambar() {System.out.println("Menggambar");+}public void hapus() {System.out.println("Menghapus Gambar");}}class Lingkaran extends Bentuk{public void gambar(){System.out.println("Gambar Lingkaran");}public void hapus() {System.out.println("Hapus Lingkaran");}}

class Elips extends Bentuk{public void gambar() {System.out.println("Gambar Elips");}public void hapus() {System.out.println("Hapus Elips");}}class Segitiga extends Bentuk{public void gambar() {System.out.println("Gambar Segitiga");}public void hapus() {System.out.println("Hapus Segitiga");}}

Page 8: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Contoh ImplementasiPolimorfisme

Bangdanu.wordpress.com

class RandomBentuk{private Random rand = new Random();public Bentuk next() {switch(rand.nextInt(3)){default:case 0: return new Lingkaran();case 1: return new Elips();case 2: return new Segitiga();}}}

class Latihan3a{private static RandomBentuk gen = newRandomBentuk();public static void main(String[] args){Bentuk[] bangun = new Bentuk[3];for(int i = 0; i < bangun.length;i++)bangun[i] = gen.next();for(int i = 0; i < bangun.length;i++)bangun [i].gambar();for(int i = 0; i < bangun.length;i++)bangun [i].hapus();}}

Berikut ini adalah class yang mengimplimentasikan teknik polymorphism :

Page 9: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Contoh ImplementasiPolimorfisme

Bangdanu.wordpress.com

• Pada class Latihan3a terdapat variabel/objek bangunyang bertipe class Bentuk.

• Maka dapat kita katakan bahwa variable bangundapat berperan sebagai Lingkaran, Elips, atauSegitiga.

• Hal ini didasarkan bahwa pada kenyataannya setiapobjek dari class Induk (superclass) dapat berperansebagai class-class turunannya sebagaimana sepedamotor adalah kendaraan, pelajar dan mahasiswaadalah orang/manusia.

Page 10: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Method Overriding

Bangdanu.wordpress.com

• Overriding method adalah kemampuan dari subclass untuk memodifikasi method dari superclass-nya, yaitu dengan cara menumpuk (mendefinisikankembali) method superclass-nya.

• Contoh overriding method dapat dilihat pada class-class turunan dari class Bentuk yang mendefinisikankembali method gambar() dan method hapus() dariclass induknya.

Page 11: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Latihan

Bangdanu.wordpress.com

1. Terdapat class-class hewan sebagai berikut :

Page 12: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Latihan

Bangdanu.wordpress.com

Penjelasan dari masing-masing atribut dan method sebagaiberikut :jenis : apakah termasuk hewan mamalia, serangga atauburungciri : ciri dari hewan tersebutsuara() : suara hewan tersebutberjalan() : cara hewan tersebut berjalan/bergerak

Buatlah class-class yang mengimplimentasikan gambardiatas !

Page 13: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Latihan

Bangdanu.wordpress.com

2. Buatlah class TestHewan yang akan mengimplementasikanclass-class di atas dengan ketentuan sebagai berikut : Saat pertama kali dijalankan akan ditampilkan menu

pilihan, yaitu nama-nama hewan tersebut serta menu untuk keluar dari program.

Setelah user memilih hewan yang diinginkan, makatampilkan suara dan cara berjalan/bergerak dari hewanyang dipilih.

Jika user memilih Keluar, maka program selesai.

Page 14: Pemrograman Berorientasi Objek · PDF fileMateri : Polymorphism ... class Elips extends Bentuk ... Buatlah kesimpulan sendiri tentang polymorphism. Title: PowerPoint Presentation

Latihan

Bangdanu.wordpress.com

3. Setelah program anda berjalan dengan benar, cobalahuntuk menambahi cara masing-masing hewantersebut bernafas, yaitu apakah menggunakan paru-paru, insang, atau yang lainnya. Sehingga pada saatclass TestHewan dijalankan akan menampilkan suara, cara berjalan/bergerak dan cara bernafas dari hewanyang dipilih.

Buat method ini dengan teknik polymorphism. Buatlah kesimpulan sendiri tentang polymorphism.