Anda di halaman 1dari 9

Tugas 04 Pemrograman Berorientasi Objek

Nama : Kadek Vigyan Melati Sukma Sari


NIM : 1905551043
Kelas : PBO B

PROGRAM STUDI TEKNOLOGI INFORMASI


FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2020
Class Titik

package Geometri;

public class Titik {


private int x;
private int y;
private int z;

void setX(int x){


this.x = x;
}

void setY(int y){


this.y = y;
}

void setZ(int z){


this.z = z;
}

void setTitik(int x, int y, int z){


this.setX(x);
this.setY(y);
this.setZ(z);
}

int getX(){
return this.x;
}

int getY(){
return this.y;
}

int getZ(){
return this.z;
}
void showTitik(){
System.out.println("\t\t\t X: " + this.x + "\t\t\t
Y:" + this.y + "\t\t\t Z:" + this.z);
}
}
Class Garis
package Geometri;

public class Garis extends Titik {


private Titik titik1;
private Titik titik2;

void setTitik1(Titik t1){


this.titik1 = t1;
}

void setTitik2(Titik t2){


this.titik2 = t2;
}

void setGaris(Titik t1, Titik t2){


this.setTitik1(t1);
this.setTitik2(t2);
}

Titik getTitik1(){
return this.titik1;
}

Titik getTitik2(){
return this.titik2;
}

void showTitik1(){
this.titik1.showTitik();
}

void showTitik2(){
this.titik2.showTitik();
}

void showGaris(){
System.out.println("\t\t\t Titik1 :");
showTitik1();
System.out.println("\n\t\t\t Titik2 :");
showTitik2();
}

}
Class Abstrak Bangun 2D
package Geometri;

public abstract class Bangun2D extends Garis {


String nama;
double luas;
double keliling;

public abstract void setNama();


public abstract double hitungLuas();
public abstract double hitungKeliling();
}

Class Konkret Bangun 2D (Persegi Panjang)


package Geometri;

public class PersegiPanjang extends Bangun2D {


int panjang;
int lebar;

@Override
public void setNama() {
this.nama ="Persegi Panjang";
}

public int panjang(){


Titik titikPanjang2D1 = new Titik();
titikPanjang2D1.setTitik(4,4,0);
Titik titikPanjang2D2 = new Titik();
titikPanjang2D2.setTitik(12,4,0);

Garis garisPanjang2D = new Garis();

garisPanjang2D.setGaris(titikPanjang2D1,titikPanjang2D2);
System.out.println("\t\t Titik Panjang :");
garisPanjang2D.showGaris();

panjang = titikPanjang2D2.getX()-
titikPanjang2D1.getX();
System.out.println("\n\t\t Panjang :"+ panjang +
"satuan");

return panjang;
}

public int lebar(){


Titik titikLebar2D1 = new Titik();
titikLebar2D1.setTitik(12,4,0);
Titik titikLebar2D2 = new Titik();
titikLebar2D2.setTitik(12,20,0);

Garis garisLebar2D = new Garis();


garisLebar2D.setGaris(titikLebar2D1, titikLebar2D2);
System.out.println("\n\t\t Titik Lebar :");
garisLebar2D.showGaris();

lebar = titikLebar2D2.getY() - titikLebar2D1.getY();


System.out.println("\n\t\t Lebar:"+ lebar +"satuan");

return lebar;
}

@Override
public double hitungLuas() {
this.luas = panjang*lebar;
System.out.println("\n\t Dengan luas\t\t: " + luas +
"satuan^2");

return luas;
}

@Override
public double hitungKeliling() {
this.keliling = 2*(panjang + lebar);
System.out.println("\n\t Dengan keliling\t:" +
keliling + "satuan");

return keliling;
}
}

Class Abstrak Bangun 3D


package Geometri;

public abstract class Bangun3D extends Bangun2D {


double volume;

public abstract double hitungVolume();

Class Konkret Bangun 3D (Balok)


package Geometri;

public class Balok extends Bangun3D {


int panjang;
int lebar;
int tinggi;

@Override
public void setNama() {
this.nama ="Balok";
}

public int panjang(){


Titik titikPanjang3D1 = new Titik();
titikPanjang3D1.setTitik(4,4,0);
Titik titikPanjang3D2 = new Titik();
titikPanjang3D2.setTitik(12,4,0);

Garis garisPanjang3D = new Garis();

garisPanjang3D.setGaris(titikPanjang3D1,titikPanjang3D2);
System.out.println("\t\t Titik Panjang:");
garisPanjang3D.showGaris();

panjang = titikPanjang3D2.getX() -
titikPanjang3D1.getX();
System.out.println("\n\t\t Panjang:" + panjang +
"satuan");

return panjang;
}

public int lebar(){


Titik titikLebar2D1 = new Titik();
titikLebar2D1.setTitik(12,4,0);
Titik titikLebar2D2 = new Titik();
titikLebar2D2.setTitik(12,20,0);

Garis garisLebar2D = new Garis();


garisLebar2D.setGaris(titikLebar2D1,titikLebar2D2);
System.out.println("\t\t Titik Lebar:");
garisLebar2D.showGaris();

lebar = titikLebar2D2.getY() - titikLebar2D1.getY();


System.out.println("\n\t\t Lebar:" + lebar +
"satuan");

return lebar;
}

public int tinggi(){


Titik titikTinggi3D1 = new Titik();
titikTinggi3D1.setTitik(12,4,0);
Titik titikTinggi3D2 = new Titik();
titikTinggi3D2.setTitik(12,4,12);
Garis garisTinggi3D = new Garis();

garisTinggi3D.setGaris(titikTinggi3D1,titikTinggi3D2);
System.out.println("\t\t Titik Tinggi:");
garisTinggi3D.showGaris();

tinggi = titikTinggi3D2.getZ() -
titikTinggi3D1.getZ();
System.out.println("\n\t\t Tinggi:" + tinggi +
"satuan");

return tinggi;
}

@Override
public double hitungLuas() {
this.luas = 2*(panjang*lebar) + 2*(panjang*tinggi) +
2*(lebar*tinggi);
System.out.println("\n\t Dengan luas permukaan\t: " +
luas + "satuan^2");

return luas;
}

@Override
public double hitungKeliling() {
this.keliling = 4*(panjang+lebar+tinggi);
System.out.println("\n\t Dengan keliling rusuk\t:"+
keliling + "satuan");

return keliling;
}

@Override
public double hitungVolume() {
this.volume = panjang*lebar*tinggi;
System.out.println("\n\t Dengan volume\t\t: " +
volume + "satuan^3");

return volume;
}

Main Class
package Geometri;

public class mainProgram {


public static void main(String[]args){
PersegiPanjang persegiPanjang = new PersegiPanjang();
persegiPanjang.setNama();
System.out.println("Bangun2D : "+ persegiPanjang.nama
+ "\n\t Dengan data :");
persegiPanjang.panjang();
persegiPanjang.lebar();
persegiPanjang.hitungLuas();
persegiPanjang.hitungKeliling();

Balok balok = new Balok();


balok.setNama();
System.out.println("\nBangun3D : "+ balok.nama +
"\n\t Dengan data :");
balok.panjang();
balok.lebar();
balok.tinggi();
balok.hitungLuas();
persegiPanjang.hitungKeliling();
balok.hitungVolume();

}
}
Hasil Run :

Anda mungkin juga menyukai