Contoh Program Java - Polimorfisme (Polymorphisme) - Hallo sobat blogger, postingan kali ini saya akan membahas tentang Polymorphism. Apa itu polimorfisme ?. Polimorfisme mempunyai arti bentuk banyak,
yang berarti Polimorfisme adalah sesuatu yang mempunyai banyak bentuk,
yang mana suatu objek digunakan dibanyak tujuan berbeda dengan nama yang
sama.
Ok tanpa basa-basi lagi di sini ada contoh program Polimorhism yang mana di dalamnya terdapat Program Interface juga yang bisa sekalian sobat pelajari. Bentuk polimorfismenya bisa dilihat di Class Utama yang berwarna merah pada program di bawah ini.
- Interface Poligon
interface Poligon {
// Deklarasi methode
double Luas();
double Keliling();
String displayInfo();
}
// Deklarasi methode
double Luas();
double Keliling();
String displayInfo();
}
Save
dengan nama file Poligon.java
- Class Lingkaran
class Lingkaran implements Poligon {
// Deklarasi atribut
private double radius;
private final double PI = 3.14;
// Definisi method
// Konstruktor
public Lingkaran(double r) {
radius = r;
}
// Selector
public double getRadius() {
return radius;
}
// Definisi method dari kelas induk
public double Luas() {
return (PI*radius*radius);
}
public double Keliling() {
return (2*PI*radius);
}
public String displayInfo() {
return ( "Lingkaran"
+ "\no Jari-jari: " + (float)getRadius()
+ "\no Luas : " + (float)Luas()
+ "\no Keliling : " + (float)Keliling() );
}
}
// Deklarasi atribut
private double radius;
private final double PI = 3.14;
// Definisi method
// Konstruktor
public Lingkaran(double r) {
radius = r;
}
// Selector
public double getRadius() {
return radius;
}
// Definisi method dari kelas induk
public double Luas() {
return (PI*radius*radius);
}
public double Keliling() {
return (2*PI*radius);
}
public String displayInfo() {
return ( "Lingkaran"
+ "\no Jari-jari: " + (float)getRadius()
+ "\no Luas : " + (float)Luas()
+ "\no Keliling : " + (float)Keliling() );
}
}
Save
dengan nama file Lingkaran.java
- Class Segi Empat
class SegiEmpat implements Poligon {
// Deklarasi atribut
private double panjang, lebar;
// Definisi method
// Konstruktor
public SegiEmpat(double p, double l) {
panjang = p;
lebar = l;
}
// Selector
public double getPanjang() {
return panjang;
}
public double getLebar() {
return lebar;
}
// Definisi method dari kelas induk
public double Luas() {
return (panjang*lebar);
}
public double Keliling() {
return (2*(panjang+lebar));
}
public String displayInfo() {
return ( "Segi Empat"
+ "\no Panjang : " + (float)getPanjang()
+ "\no Lebar : " + (float)getLebar()
+ "\no Luas : " + (float)Luas()
+ "\no Keliling : " + (float)Keliling() );
}
}
// Deklarasi atribut
private double panjang, lebar;
// Definisi method
// Konstruktor
public SegiEmpat(double p, double l) {
panjang = p;
lebar = l;
}
// Selector
public double getPanjang() {
return panjang;
}
public double getLebar() {
return lebar;
}
// Definisi method dari kelas induk
public double Luas() {
return (panjang*lebar);
}
public double Keliling() {
return (2*(panjang+lebar));
}
public String displayInfo() {
return ( "Segi Empat"
+ "\no Panjang : " + (float)getPanjang()
+ "\no Lebar : " + (float)getLebar()
+ "\no Luas : " + (float)Luas()
+ "\no Keliling : " + (float)Keliling() );
}
}
Save
dengan nama file SegiEmpat.java
- Class Segitiga
import java.lang.Math;
class SegiTiga implements Poligon {
// Deklarasi atribut
private double alas, tinggi;
// Definisi method
// Konstruktor
public SegiTiga(double a, double t) {
alas = a;
tinggi = t;
}
// Selector
public double getAlas() {
return alas;
}
public double getTinggi() {
return tinggi;
}
// Definisi method dari kelas induk
public double Luas() {
return (alas*tinggi)/2;
}
public double Keliling() {
double d;
d = (double)Math.sqrt((alas*alas)+(tinggi*tinggi));
return (alas+tinggi+d);
}
public String displayInfo() {
return ( "Segi Tiga"
+ "\no Alas : " + (float)getAlas()
+ "\no Tinggi : " + (float)getTinggi()
+ "\no Luas : " + (float)Luas()
+ "\no Keliling : " + (float)Keliling() );
}
}
class SegiTiga implements Poligon {
// Deklarasi atribut
private double alas, tinggi;
// Definisi method
// Konstruktor
public SegiTiga(double a, double t) {
alas = a;
tinggi = t;
}
// Selector
public double getAlas() {
return alas;
}
public double getTinggi() {
return tinggi;
}
// Definisi method dari kelas induk
public double Luas() {
return (alas*tinggi)/2;
}
public double Keliling() {
double d;
d = (double)Math.sqrt((alas*alas)+(tinggi*tinggi));
return (alas+tinggi+d);
}
public String displayInfo() {
return ( "Segi Tiga"
+ "\no Alas : " + (float)getAlas()
+ "\no Tinggi : " + (float)getTinggi()
+ "\no Luas : " + (float)Luas()
+ "\no Keliling : " + (float)Keliling() );
}
}
Save
dengan nama file SegiTiga.java
- Class Utama
// Program utama
class TesPoligon {
public static void main(String args[]) {
// Deklarasi array
Contoh1 p[] = new Contoh1[4];
SegiEmpat se = new SegiEmpat(17,8);
SegiTiga sg = new SegiTiga(21,4);
Lingkaran lg = new Lingkaran (10);
Lingkaran lh = new Lingkaran (7);
//bentuk polimorfisme
p[0] = se;
p[1] = sg;
p[2] = lg;
p[3] = lh;
Lingkaran x = new Lingkaran(8);
// Display informasi
for (int i=0; i < p.length; i++) {
System.out.println("\n"+p[i].displayInfo());
}
}
}
class TesPoligon {
public static void main(String args[]) {
// Deklarasi array
Contoh1 p[] = new Contoh1[4];
SegiEmpat se = new SegiEmpat(17,8);
SegiTiga sg = new SegiTiga(21,4);
Lingkaran lg = new Lingkaran (10);
Lingkaran lh = new Lingkaran (7);
//bentuk polimorfisme
p[0] = se;
p[1] = sg;
p[2] = lg;
p[3] = lh;
Lingkaran x = new Lingkaran(8);
// Display informasi
for (int i=0; i < p.length; i++) {
System.out.println("\n"+p[i].displayInfo());
}
}
}
Save dengan nama file TesPoligon.java
Cara menjalankan program :
1. Save semua file di atas
2. Jalankan satu persatu filenya terlebih dahulu
3. Apabila sudah jalan semua jalankan program utama TesPoligon.java
Hasil Output Program

Komentar
Posting Komentar