PROJECT KELOMPOK 5 – R5L package polimorfisme; interface Poligon { // Deklarasi methode double Luas(); double Keliling(); String displayInfo(); } -------------------------------------------------------------------------------package polimorfisme; 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() ); } } -------------------------------------------------------------------------------package polimorfisme; class SegiEmpat implements Poligon { // Deklarasi atribut private double panjang, lebar; // Definisi method // Konstruktor public SegiEmpat(double p, double l) { Pemrograman Berorientasi Objek | Lukman Andi W (201143501567)
panjang = p; lebar = l; } // Selector public double getPanjang() { return panjang; } public double getLebar() { return lebar; } 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() ); } } -------------------------------------------------------------------------------package polimorfisme; import java.lang.Math; class SegiTiga implements Poligon { // Deklarasi atribut private double alas, tinggi; // Konstruktor public SegiTiga(double a, double t) { alas = a; tinggi = t; } public double getAlas() { return alas; } public double getTinggi() { return tinggi; } public double Luas() { return (alas*tinggi)/2; } public double Keliling() { Pemrograman Berorientasi Objek | Lukman Andi W (201143501567)
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() ); } } -------------------------------------------------------------------------------package polimorfisme; // Program utama class TesPoligon { public static void main(String args[]) { // Deklarasi array Poligon p[] = new Poligon[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()); } } } -------------------------------------------------------------------------------Output:
Pemrograman Berorientasi Objek | Lukman Andi W (201143501567)
-------------------------------------------------------------------------------package polimorfisme; import java.*; import java.io.*; /*class induk dengan nama Bentukwajah*/ class Bentukwajah { /*Membuat sebuah method respons pada class induk dimana mengembalikan *sebuah nilai String*/ 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"); } }
Pemrograman Berorientasi Objek | Lukman Andi W (201143501567)
class Marah extends Bentukwajah { public String respons() { return("kemarahan disebabkan bertangkar\n"); } } class Sedih extends Bentukwajah { public String respons() { return("Sedih disebabkan cemburu\n"); } } -------------------------------------------------------------------------------package polimorfisme; //program utama public class Programpolimorphis { /**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(); //polimorphis 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()); } } -------------------------------------------------------------------------------Pemrograman Berorientasi Objek | Lukman Andi W (201143501567)
Output:
-------------------------------------------------------------------------------import javax.swing.JOptionPane; public class enkapsulasi { public static void main (String[]args) { int pil=Integer.parseInt(JOptionPane.showInputDialog("| Balok |\n```````````` \n1. Hitung Volume Balok\n2. Hitung Luas Permukaan Balok\n\nMasukkan Nomor Pilihan :")); if (pil==1) { volume panggil = new volume(); JOptionPane.showMessageDialog(null, "Volume Balok : " +panggil.d); } else if (pil==2) { LuasPermukaan panggil = new LuasPermukaan(); JOptionPane.showMessageDialog(null, "Luas Permukaan balok : " +panggil.d); } } } class volume { double a=Double.parseDouble(JOptionPane.showInputDialog("Masukkan Panjang Balok : ")); double b=Double.parseDouble(JOptionPane.showInputDialog("Masukkan Lebar Balok : ")); double c=Double.parseDouble(JOptionPane.showInputDialog("Masukkan Tinggi Balok : "));
Pemrograman Berorientasi Objek | Lukman Andi W (201143501567)
double d=a*b*c; } class LuasPermukaan { double a=Double.parseDouble(JOptionPane.showInputDialog("Masukkan Panjang Balok : ")); double b=Double.parseDouble(JOptionPane.showInputDialog("Masukkan Lebar Balok : ")); double c=Double.parseDouble(JOptionPane.showInputDialog("Masukkan Tinggi Balok : ")); double d=2*((a*b)+(a*c)+(b*c)); } -------------------------------------------------------------------------------Output:
Pemrograman Berorientasi Objek | Lukman Andi W (201143501567)
-------------------------------------------------------------------------------public class Lingkaran{ float jari=7; double v=3.14; public double Lingkaran(){//konstruktor return jari*jari*v; } public double Keliling(){ return (2*jari*v); } } -------------------------------------------------------------------------------public class Tabung extends Lingkaran { double t=10; Lingkaran ling = new Lingkaran(); public void Input(){ System.out.println("Jari-jari Lingkaran : "+jari); System.out.println("'V' Lingkaran : "+v); } public void LKLingkaran(){ System.out.println("Luas Lingkaran : "+ling.Lingkaran()); System.out.println("Keliling Lingkaran: "+ling.Keliling()); } public double Tabung(){ return Lingkaran()*t; } public double LuasTabung(){ return (2*Lingkaran())+(Keliling()*t); } } Pemrograman Berorientasi Objek | Lukman Andi W (201143501567)
-------------------------------------------------------------------------------public class VolumeLuas_LingkaranTabung{ public static void main(String[] args){ Tabung gelas =new Tabung(); System.out.println("========Lingkaran========"); gelas.Input(); gelas.LKLingkaran(); System.out.println(); System.out.println("=========Tabung=========="); System.out.println("Volume Tabung adalah : "+gelas.Tabung()); System.out.println("Luas Tabung adalah : "+gelas.LuasTabung()); } } -------------------------------------------------------------------------------Output:
Pemrograman Berorientasi Objek | Lukman Andi W (201143501567)