You are on page 1of 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.

You might also like