PROJECT KELOMPOK 5 – R5L · Nurul Afrianti – 201143501514 – R5L } } /*Membuat class-class...
Transcript of PROJECT KELOMPOK 5 – R5L · Nurul Afrianti – 201143501514 – R5L } } /*Membuat class-class...
Nurul Afrianti – 201143501514 – R5L
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
Nurul Afrianti – 201143501514 – R5L
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
Nurul Afrianti – 201143501514 – R5L
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;
}
public double Luas() {
return (panjang*lebar);
}
public double Keliling() {
return (2*(panjang+lebar));
}
Nurul Afrianti – 201143501514 – R5L
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() {
Nurul Afrianti – 201143501514 – R5L
return tinggi;
}
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() );
}
}
--------------------------------------------------------------------------------
package polimorfisme;
// Program utama
class TesPoligon {
Nurul Afrianti – 201143501514 – R5L
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:
Nurul Afrianti – 201143501514 – R5L
--------------------------------------------------------------------------------
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");
Nurul Afrianti – 201143501514 – R5L
}
}
/*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 bertangkar\n");
}
}
class Sedih extends Bentukwajah
Nurul Afrianti – 201143501514 – R5L
{
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];
Nurul Afrianti – 201143501514 – R5L
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());
}
}
--------------------------------------------------------------------------------
Output:
--------------------------------------------------------------------------------
Nurul Afrianti – 201143501514 – R5L
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)
Nurul Afrianti – 201143501514 – R5L
{
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 : "));
double d=a*b*c;
Nurul Afrianti – 201143501514 – R5L
}
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:
Nurul Afrianti – 201143501514 – R5L
--------------------------------------------------------------------------------
public class Lingkaran{
float jari=7;
double v=3.14;
public double Lingkaran(){//konstruktor
return jari*jari*v;
}
Nurul Afrianti – 201143501514 – R5L
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(){
Nurul Afrianti – 201143501514 – R5L
return (2*Lingkaran())+(Keliling()*t);
}
}
--------------------------------------------------------------------------------
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: