PEMROGRAMAN
BERORIENTASI OBJEK (PBO)
“POLIMORPHISM”
MODUL
6
Disusun Untuk Memenuhi Tugas Praktikum Pemrograman
Berorientasi Objek (PBO)
Dosen Pembimbing : Dede Irawan, M.Kom
Disusun Oleh:
IYAS SONA (20160910021)
SI-A 2016
UNIVERSITAS
KUNINGAN
Jln. Cut Nyak
Dhien No. 36A Cijoho Kuningan, Jawa Barat
Tlp/Fax.
(0232)874824
KATA PENGANTAR
Alhamdulilah,
puji syukur saya haturkan kehadirat Allah SWT. Atas rahmat-Nya lah saya dapat
menyelesaikan makalah ini dengan baik.
Tak
lupa saya juga haturkan terima kasih yang sebesar-besarnya kepada semua pihak
yang telah mendukung dan membantu dalam menyelesaikan makalah ini. Saya
menyadari bahwa Makalah ini memang belum mencapai kesempurnaan, masih banyak
kekurangan-kekurangan yang harus diperbaiki. Untuk itu, saya sebagai penyusun
mengharapkan kritik dan saran yang membangun dari para pembaca agar dapat
memperbaiki dalam penulisan Makalah yang saya buat selanjutnya. Akhirnya saya
sebagai penyusun berharap, semoga Makalah yang saya buat dapat menambah wawasan
kepada saya pada khususnya dan kepada para pembaca pada umumnya.
Kuningan, Desember 2018
Iyas Sona
i
Daftar Isi
Daftar isi _____________________________________________________________
ii
BAB I
PEMBAHASAN
- Dasar Teori ___________________________________________________ 3
A.
Polimorphis
________________________________________________ 3
- Praktikum ____________________________________________________ 3
- Latihan / Post Test _____________________________________________ 14
- Tugas Individu ________________________________________________ 15
A.
Dasar Teori
Polymorphism
adalah salah satu dari tiga kemampuan yang mendasar yang dimiliki oleh OOP,
setelah data abstraction dan inheritance. Polymorphism menyediakan cara yang
berbeda pada pemisahan interface dari implementasinya, untuk memasangkan ulang
apa dari bagaimana. Polymorphism memberikan organisasi kode yang lebih baik dan
kode menjadi lebih mudah dibaca, juga memberikan suatu kemampuan pada program
untuk berkembang secara terus menerus baik pada tahap pengembangan awal ataupun
pada saat ingin menambahkan kemampuan-kemampuan yang baru.
Polymorphism
dapat disamakan dengan Method Overloading, dimana di dalam sebuah class
terdapat beberapa method dengan nama sama. Sebuah Method bernama CetakData()
yang misalnya berfungsi menampilkan data String, tentu tidak bisa menangani
masukan berupa data numerik, boolean, ataupun karakter, demikian juga
sebaliknya. Solusi yang bisa dilakukan adalah dengan menyediakan beberapa
MethodCetakData() yang akan menangani setiap tipe data, sehingga data apapun
yang diberikan sebagai parameter tetap bisa diproses.
B.
Praktikum
Praktikum1
Source Kode :
package Modul6;
class Bentuk {
public void
gambar(){System.out.println("Menggambar");}
public void
hapus(){System.out.println("Menghapus gambar\n");}
}
class Lingkaran
extends Bentuk{
public void
gambar(){System.out.println("Gambar Lingkaran");}
public void
hapus(){System.out.println("Hapus Lingkaran\n");}
}
class Elips
extends Bentuk{
public void
gambar(){System.out.println("Gambar Elips");}
public void hapus(){System.out.println("Hapus
Elips \n");}
}
class Segitiga
extends Bentuk{
public void
gambar(){System.out.println("Gambar Segitiga");}
public void
hapus(){System.out.println("Hapus Segitiga\n");}
}
public class
TesBentuk{
public static void main(String[]args){
Bentuk b = new Bentuk();
Lingkaran l= new Lingkaran();
Elips e= new Elips();
Segitiga s= new Segitiga();
System.out.println("Bentuk");
b.gambar(); b.hapus();
System.out.println("Bentuk Lingkaran");
l.gambar(); l.hapus();
System.out.println("Bentuk
Elips");
e.gambar(); e.hapus();
System.out.println("Bentuk
Segitiga");
s.gambar(); s.hapus();
}
}
Hasil :
Praktikum2
Source Kode :
package Modul6;
import java.*;
import
java.io.*;
class
BentukWajah {
//membuat sebuah method respons pada class
induk dimana mengembalikan
public String respons ()
{return("Perhatikan reaksi wajah
saya\n");
}
}
/*Membuat
class-class lain dengan turunan dari class BentukWajah*/
class Senyum
extends BentukWajah
{
public String respons ()
{return("Senyum Karena
senang\n");
}
}
class Tertawa extends BentukWajah
{
public String respons ()
{return("Tertawa Karena
Gembira\n");
}
}
class Marah extends BentukWajah
{
public String respons ()
{return("Kemarahan disebabkan
bertengkar\n");
}
}
class Sedih extends BentukWajah
{
public String respons ()
{return("Sedih disebabkan
cemburu\n");
}
}
Source Kode :
package Modul6;
public class
Programpolimorphism {
//**Main Method*?
public static void main(String []args)
{
System.out.println("\n Program
Polimorphis");
System.out.println("=====================");
//membuat objek-objek raut(ekspresi) dari
wajah
BentukWajah objbentuk=new BentukWajah();
Senyum objsenyum=new Senyum();
Tertawa objtertawa=new Tertawa();
Marah objmarah=new Marah();
Sedih objsedih=new Sedih();
//polimoripish dari bentuk wajah ada 5
dimulai dari 0-4
BentukWajah []Bentuk=new BentukWajah[5];
Bentuk[0]=objbentuk;
Bentuk[1]=objsenyum;
Bentuk[2]=objtertawa;
Bentuk[3]=objmarah;
Bentuk[4]=objsedih;
System.out.println("Bentuk[0]:"+Bentuk[0].respons());
System.out.println("Bentuk[1]:"+Bentuk[1].respons());
System.out.println("Bentuk[2]:"+Bentuk[2].respons());
System.out.println("Bentuk[3]:"+Bentuk[3].respons());
System.out.println("Bentuk[4]:"+Bentuk[4].respons());
}
}
Hasil :
Praktikum3
Source Kode :
package Modul6;
public class
Hewan
{String jenis,ciri;
public void
suara(){System.out.println("Suara Hewan");}
public void
berjalan(){System.out.println("Cara berjalan hewan");}
}
class Singa
extends Hewan
{
public void
suara(){System.out.println("WaouWaou");}
public void berjalan(){
System.out.println("Berlari");
System.out.println("=======================");
}
}
class Elang
extends Hewan
{
public void suara(){System.out.println("Ieoooookkk");}
public void berjalan(){
System.out.println("Terbang");
System.out.println("=======================");
}
}
class Lebah
extends Hewan
{
public void
suara(){System.out.println("wunggg");}
public void berjalan(){
System.out.println("Terbang");
System.out.println("=======================");
}
}
class Paus
extends Hewan
{
public void
suara(){System.out.println("booom");}
public void berjalan(){
System.out.println("Berenang");
System.out.println("=======================");
}
}
Source Kode :
package Modul6;
public class
DemoHewan {
public static void main(String[]asdasd){
Lebah HewanLebah = new Lebah();
Paus HewanPaus = new Paus();
Singa HewanSinga = new Singa();
Elang HewanElang = new Elang();
Hewan h;
System.out.println("Lebah");
h = HewanLebah; h.suara();
h.berjalan();
System.out.println("Singa");
h = HewanSinga; h.suara();
h.berjalan();
System.out.println("Elang");
h = HewanElang; h.suara();
h.berjalan();
System.out.println("Paus");
h = HewanPaus; h.suara(); h.berjalan();
}
}
Hasil :
C.
Latihan/Posttest
Buatlah Program Polimorphism
dengan case studi yang berbeda dari praktikum diatas.
Tampil :
D.
Tugas Individu
·
Apa perbedaan Inheritence dengan Polimorphism,
Jelaskan.!
Inheritance (penurunan sifat /
pewarisan), ini merupakan ciri khas dari OOP yang tidak terdapat pada
pemrograman prosedural gaya lama sedangkan Polymorphism suatu aksi yang
memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki
obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan
yang sama sesuai dengan sifat masing-masing obyek.






Tidak ada komentar:
Posting Komentar