Anda di halaman 1dari 6

Polimorfisme adalah metode yang digunakan untuk menyatakan satu nama yang merujuk

ke beberapa fungsi berbeda.


Java mengimplementasikan polimorfisme dengan 2 cara, yaitu:
1. Methode overloading
2. Methode overriding dengan pewarisan

a) Contoh Polimorfisme Overloading

public class Matematika


{
public int max (int bil1, int bil2)
{
System.out.println(“max integer”);
return (bil1 < bil2 ? bil2 : bil1);
}
public float max (float bil1, float bil2)
{
System.out.println(“max float”);
return (bil1 < bil2 ? bil2 : bil1);
}
public double max (double bil1, double bil2)
{
System.out.println(“max double”);
return (bil1 < bil2 ? bil2 : bil1);
}
}

public class Testmax


{
public static void main (String args [ ] )
{
Matematika test = new Matematika ( );
System.out.println(“3 dan 4, yang lebih besar :”
+ test.max (3,4));

System.out.println(“3 .3 dan 4.0, yang lebih besar :”


+ test.max (3.3F ,4F));
System.out.println(“3.5 dan 4.0, yang lebih besar :”
+ test.max (3.5, 4.0));
}
}
b) Contoh Polimorfisme Overridding
 polimorfisme ini diwujudkan melalui relasi pewarisan

public class.KomunitasUniversitas
{
protected String nama ;
protected String alamat ;
/* intansiasi nama dan alamat dengan nilai tertentu */
KomunitasUniversitas (String namaku, String alamatku)
{
nama = namaku ;
alamat = alamatku ;
}
public void tampilinformasi ( )
{
System.out.println (“nama : “+nama) ;
System.out.println (“alamat : “+alamat) ;
}
}
public class pegawai extends KomunitasUniversitas
{
private int noPegawai ;
private int gajiPokok ;

Pegawai (String namaku, String alamatku, int noPegawaiku, int gajiPokokku)


{
noPegawai = noPegawaiku :
gajiPokok = gajiPokokku :
}
public void tampilinformasi ( )
{
System.out.println(“NoPegawaiku ; “+noPegawai);
System.out.println(“GajiPokokku ; “+gajiPokok);
}
}

Polymorphism (Polimorfisme / Berubah Bentuk)


Suatu object yang dapat memiliki berbagai atau banyak bentuk yang menjadi object dari
class nya sendiri ataupun object dari superclass nya adalah merupakan konsep OOP dari
Polymorphism. Polymorphism adalah serperti kepribadian berganda, yang mana satu
nama dapat berperilaku berbagai macam.
Ada 2 bentuk dari polimorfisme, yaitu overloading dan overriding. Overloading adalah
pemakaian suatu nama yang digunakan untuk beberapa method yang di dalamnya
mempunyai parameter yang berbeda-beda. Sedangkan overriding adalah deklarasi
method subclass sama dengan method yang ada pada superclass nya.
Contoh Program :

Nilai.Java

class Nilai{

int a;

String b;

Nilai(int a, String b){ //Dengan Parameter

this.a = a;
this.b = b;

Nilai(){ //Tanpa Parameter

a = 1;

b = “Dua”;

}}

LihatNilai.Java

class LihatNilai{

public static void main (String[]args){

Nilai x = new Nilai ();

System.out.println(“X = “+x.a);

System.out.println(“Y = “+x.b);

}}

Hasil yang akan ditampilkan ketika class LihatNilai di atas dijalankan adalah x = 1 dan y
= Dua, hal ini membuktikan bahwa sifat polimorfisme yang ada di java. Class LihatNilai
memanggil method Nilai tanpa parameter, sehingga nilai yang dikembalikan adalah nilai
yang ada dimana nilai tersebut berada di method yang tidak memiliki parameter.
· Inheritance (Pewarisan / Turunan )
Inheritance atau pewarisan merupakan konsep OOP yang mudah di pahami. Pewarisan
atau turunan lebih dekat dengan kehidupan sehari-hari dari manusia atau mahluk hidup
lainnya. Jika kita coba untuk mengambil contoh nyata adalah diri kita sendiri yang
merupakan “turunan” dari orang tua kita. Ataupun seekor kambing yang merupakan
turunan dari induknya. Inheritance atau pewarisan dapat dibilang seperti sistem hirarki
keturunan manusia, untuk jenjang yang paling atas disebut dengan induk atau orang tua
sedangkan jenjang yang berada dibawahnya disebut dengan anak dan tentunya seorang
anak akan mewarisi sifat-sifat dari orang tua atau induknya.
Didalam pemrograman java, Inheritance merupakan turunan dan pengembangan dari
sebuah class menjadi class lainnya dan mempunyai suatu hubungan antar class dan
mewarisi (inherits) semua attribute dan method dari class pendahulunya. Untuk class
yang menjadi pendahulu / induknya disebut sebagai super class / parent class / based
class. Sedangkan class baru yang menjadi turunannya disebut dengan subclass / child
class / derived class.
Contoh dalam program :

OrangTua.Java

class OrangTua{

String a = “Penyabar”;

char b = ‘A’;

void sifatOrangTua(){

System.out.println(“Sifat Orang Tua : “+a);

System.out.println(“Golongan Darah : “+b);

}}

Anak.Java

class Anak extends OrangTua{


String c = “Nakal”;

public void sifatAnak(){

System.out.println(“Sifat Anak : “+c);

}}

AnakAnak.Java

public class AnakAnak{

public static void main(String[]args){

Anak anakku = new Anak();

anakku.sifatOrangTua();

anakku.sifatAnak();

}}

Kalimat extends yang terdapat dalam class Anak, menjelaskan bahwa class Anak
merupakan subclass dari class OrangTua. Hal ini menjadikan bahwa semua sifat dan
variabel yang berada pada class OrangTua dapat diakses oleh class Anak.