Disusun oleh :
1.
2. package bangundatar;//implementasi method dari interface bangundatar dan extends Operation2D
3. public class BelahKetupat extends Operation2D implements BangunDatar {
4. public BelahKetupat(double d1, double d2) { //Constructor
5. super(d1, d2);
6. setA(d1);
7. setB(d2);
8. }
9.
10. @Override//implementasi method override dari interface bangundatar
11. public void luas() {
12. double d1= getA();
13. double d2=getB();
14. setLuas((0.5)*(d1*d2));
15. System.out.println("Hasil luas Belah ketupat = "+getLuas());
16. }
17. }
18.
Listing 3. Class BelahKetupat.java
1.
2. package bangundatar; //implementasi method dari interface bangundatar dan extends Operation2D
3. public class JajarGenjang extends Operation2D implements BangunDatar {
4. public JajarGenjang(double alas, double tinggi) { //constructor
5. super(alas,tinggi);//keyword super
6. setA(alas);
7. setB(tinggi);
8. }
9.
10. @Override//implementasi method override dari interface bangundatar
11. public void luas() {
12. double alas=getA();
13. double tinggi=getB();
14. setVolume (alas*tinggi);
15. System.out.println("Hasil hitung luas jajar genjang : "+getVolume());
16. }
17.
Listing 4. Class JajarGenjang.java
1.
2. package bangundatar; //implementasi method dari interface bangundatar dan extends Operation2D
3. public class LayangLayang extends Operation2D implements BangunDatar {
4. public LayangLayang(double d1, double d2) { //constructor
5. super(d1,d2); //keyword super
6. setA(d1);
7. setB(d2);
8. }
9. @Override//implementasi method override dari interface bangundatar
10. public void luas() {
11. double d1=getA();
12. double d2 =getB();
13. setLuas((0.5)*(d1*d2));
14. System.out.println("Hasil luas Layang-layang = "+getLuas());
15. }
16. }
17.
Listing 5. Class LayangLayang.java
1.
2. package bangundatar; //implementasi method dari interface bangundatar dan extends Operation2D
3. public class Lingkaran extends Operation2D implements BangunDatar {
4. private final double PHI = 3.14159265358979323846;
5. public Lingkaran(double jariJari) { //contructor
6. super(jariJari); //keyword super
7. setA(jariJari);
8. }
9. @Override//implementasi method override dari interface bangundatar
10. public void luas() {
11. double jariJari=getA();
12. setLuas ( PHI*jariJari*jariJari);
13. System.out.println("Hasil luas lingkaran : "+getLuas());
14.
15. }
16. }
17.
Listing 6. Class Lingkaran.java
1.
2. package bangundatar; //implementasi method dari interface bangundatar dan extends Operation2D
3. public class Persegi extends Operation2D implements BangunDatar{
4. public Persegi(double sisi) { //contructor
5. super(sisi); //keyword super
6. setA(sisi);//dikirim ke operation2
7. }
8. @Override//implementasi method override dari interface bangundatar
9. public void luas() {
10. double sisi;
11. double luas;
12. sisi = getA();
13. setLuas(sisi*sisi);
14. System.out.println("Luas persegi= " + getLuas());
15. }
16. }
Listing 7. Class Persegi.java
1.
2. package bangundatar; //implementasi method dari interface bangundatar dan extends Operation2D
3. public class PersegiPanjang extends Operation2D implements BangunDatar {
4. public PersegiPanjang(double panjang, double lebar) { //constructor
5. super(panjang,lebar); keyword super
6. setA(panjang);
7. setB(lebar);
8. }
9. @Override//implementasi method override dari interface bangundatar
10. public void luas() {
11. double panjang = getA();
12. double lebar = getB();
13. setLuas(panjang*lebar);
14. System.out.println("Luas persegi panjang = "+ getLuas());
15. }
16. }
17.
Listing 8. Class PersegiPanjang.java
1.
2. package bangundatar; //implementasi method dari interface bangundatar dan extends Operation2D
3. public class Segitiga extends Operation2D implements BangunDatar{
4. public Segitiga(double alas, double tinggi) { //constructor
5. super(alas, tinggi); //keyword super
6. setA(alas);
7. setB(tinggi);
8. }
9. @Override//implementasi method override dari interface bangundatar
10. public void luas() {
11. double alas = getA();
12. double tinggi = getB();
13. setLuas(((0.5)*(alas*tinggi)));
14. System.out.println("Hasil luas segitiga = "+ getLuas());
15. }
16. }
17.
Listing 9. Class Segitiga.java
1.
2. package bangundatar;
3. public class Operation2D {
4. private double a; //encapsulation
5. private double b; //encapsulation
6. private double c; //encapsulation
7. private double d; //encapsulation
8. //Setter dan Getter karena Modeifier Private
9. public double getD() {
10. return d;
11. }
12.
13. public void setD(double d) {
14. this.d = d;
15. }
16.
17. private double luas; //encapsulation
18. private double volume; //encapsulation
19. private double luasPermukaan; //encapsulation
20.
21. public double getVolume() {
22. return volume;
23. }
24.
25. public void setVolume(double volume) {
26. this.volume = volume;
27. }
28.
29. public double getLuasPermukaan() {
30. return luasPermukaan;
31. }
32.
33. public void setLuasPermukaan(double luasPermukaan) {
34. this.luasPermukaan = luasPermukaan;
35. }
36.
37. //implementasi dari overload
38. Operation2D(double a) { //overloading
39. this.a=a;
40. }
41. Operation2D(double a , double b){ //overloading
42. this.a=a;
43. this.b=b;
44. }
45.
46. Operation2D (double a, double b,double c ){ //overloading
47. this.a=a;
48. this.b=b;
49. this.c=c;
50. }
51. public double getA() {
52. return a;
53. }
54. public void setA(double a) {
55. this.a = a;
56. }
57. public double getB() {
58. return b
59. }
60. public void setB(double b) {
61. this.b = b
62. }
63. public double getC() {
64. return c;
65. }
66.
67. public void setC(double c) {
68. this.c = c;
69. }
70. public double getLuas() {
71. return luas;
72. }
73. public void setLuas(double luas) {
74. this.luas = luas; }
75. }
76.
Listing 10. Class Operation2D.java
1. package bangunruang;
2.
3. import bangundatar.PersegiPanjang;//implementasi method dari interface BangunRuang dan extends Persegi Panjang ( inheritance )
4. public class Balok extends PersegiPanjang implements BangunRuang {
18. public Balok(double panjang, double lebar) { //constructor
5.
6. super(panjang, lebar);
7. setA(panjang);
8. setB(lebar);
9. }
10.
11. @Override//implementasi override dari interface BangunRuang
12. public void volume() {
13. double panjang=getA();
14. double lebar=getB();
15. double tinggi=getC();
16. setVolume((panjang*lebar*tinggi));
17. System.out.println("Hasil volume balok = "+ getVolume());
18. }
19.
20. @Override//implementasi override dari interface BangunRuang
21. public void luasPermukaan() {
22. double panjang=getA();
23. double lebar=getB();
24. double tinggi=getC();
25.
26. setLuasPermukaan((4)*(tinggi*lebar)+(2)*(panjang*lebar));
27. System.out.println("Hasil luas permukaan balok = "+getLuasPermukaan());
28. }
29. }
30.
Listing 12.Class Balok.java
1. package bangunruang;
2. import bangundatar.Lingkaran; //implementasi method dari interface BangunRuang dan extends Lingkaran ( inheritance )
3. public class Bola extends Lingkaran implements BangunRuang {
4. private final double PHI = 3.14159265358979323846;
5. private final double KONSTANTA =1.3333333333;
6. public Bola(double jariJari) { //Constructor
7. super(jariJari);
8. setA(jariJari);
9. }
10. @Override//implementasi override dari interface BangunRuang
11. public void volume() {
12. double jariJari=getA();
13. setVolume(KONSTANTA*PHI*(Math.pow(jariJari,2)));
14. System.out.println("Hsil volume Bola = "+getVolume()); }
15. @Override//implementasi override dari interface BangunRuang
16. public void luasPermukaan() {
17. double jariJari=getA();
18. setLuasPermukaan((4*PHI*(Math.pow(jariJari,2))));
19.
20. System.out.println("Luas permukaan Bola = "+getLuasPermukaan());
21. }
22. }
23.
Listing 13.Class Bola.java
1. package bangunruang;
2. import bangundatar.Lingkaran; //implementasi method dari interface BangunRuang dan extends ke class Lingkaran ( inheritance )
3. public class Kerucut extends Lingkaran implements BangunRuang{
4. private final double PHI = 3.14159265358979323846;
5. public Kerucut(double jariJari) { //Constructor
6. super(jariJari);
7. setA(jariJari);
8. }
9. @Override////implementasi override dari interface BangunRuang
10. public void volume() {
11. double jariJari=getA();
12. double tinggi=getB();
13. setVolume(0.3333333333*PHI*Math.pow(jariJari,2)*tinggi);
14. System.out.println("Hasil volume dari kerucut : "+getVolume());
15. }
16.
17. @Override//implementasi override dari interface BangunRuang
18. public void luasPermukaan() {
19. double jariJari=getA();
20. double tinggi=getB();
21. double selimut=Math.sqrt(Math.pow(jariJari,2)+ Math.pow(tinggi,2));
22. setLuasPermukaan(PHI*jariJari*(jariJari+selimut));
23. System.out.println("Hitung Luas Permukaan kerucut = "+getLuasPermukaan());
24. }
25. }
Listing 14.Class Kerucut.java
1. package bangunruang;
2.
3. import bangundatar.Persegi;
4. public class Kubus extends Persegi implements BangunRuang { //implementasi method dari interface BangunRuang dan extends ke class Persegi ( inheritance )
5. public Kubus(double sisi) { //constructor
6. super(sisi);
7. setA(sisi);
8. }
9. @Override//implementasi override dari interface BangunRuang
10. public void volume() {
11. double sisi=getA();
12. setVolume(Math.pow(sisi,3));
13. System.out.println("Hasil volume kubus= "+ getVolume());
14. }
15. @Override//implementasi override dari interface BangunRuang
16. public void luasPermukaan() {
17. double sisi=getA()
18. double luasAlas=(Math.pow(sisi,2));
19. setLuasPermukaan(6*luasAlas);
20. System.out.println("Hasil luas permukaan kubus= "+ getLuasPermukaan());
21. }
22. }
Listing 15.Class Kubus.java
1. package bangunruang;
2. import bangundatar.Persegi; //implementasi method dari interface BangunRuang dan extends ke class Persegi ( inheritance )
3. public class LimasPersegi extends Persegi implements BangunRuang {
4. public LimasPersegi(double sisi) {
5. super(sisi);
6. setA(sisi);
7. }
8. @Override//implementasi override dari interface BangunRuang
9. public void volume() {
10. double sisi=getA();
11. double tinggi=getB();
12. setVolume((0.3333333333*(Math.pow(sisi,2))*tinggi));
13. System.out.println("Hitung luas volume Limas Persegi = "+getVolume()); }
14. @Override//implementasi override dari interface BangunRuang
15. public void luasPermukaan() {
16. double sisi=getA();
17. double tinggi=getB();
18. double tinggiTegakLimas=(Math.sqrt((0.5*sisi)+Math.sqrt(tinggi)));
19. double luasAlas=(Math.pow(sisi,2));
20. setLuasPermukaan(luasAlas+(4*(0.5*sisi*tinggiTegakLimas)));
21. System.out.println("Hitung Luas Permukaan Limas Persegi = "+getLuasPermukaan());
22. }
23. }
Listing 16.Class LimasPersegi.java
1. package bangunruang;
2. import bangundatar.Segitiga; //implementasi method dari interface BangunRuang dan extends ke class segitiga ( inheritance )
3. public class LimasSegitiga extends Segitiga implements BangunRuang {
4. public LimasSegitiga(double alas, double tinggi) {
5. super(alas, tinggi);
6. }
7. @Override//implementasi override dari interface BangunRuang
8. public void volume() {
9. double alas=getA();
10. double tinggi=getB();
11. double tinggiLimas=getC();
12. setVolume(0.3333333333*(0.5*alas*tinggi)*tinggiLimas);
13. System.out.println("Hasil volume Limas segitiga sama sisi : "+getVolume());
14. }
15. @Override//implementasi override dari interface BangunRuang
16. public void luasPermukaan() {
17. double alas=getA();
18. double tinggi=getB();
19. double tinggiLimas=getC();
20. double sisi=Math.sqrt((Math.pow(0.5*alas,2)+Math.pow(tinggi,2)));
21. double luasAlas=(0.5*alas*tinggi);
22. setLuasPermukaan(luasAlas+(Math.pow(0.5*sisi*tinggiLimas,3)));
23. System.out.println("Hasil luas permukaan limas segitiga sama sisi = "+getLuasPermukaan());
24. }
25. }
26.
Listing 17.Class LimasSegitiga.java
1. package bangunruang;
2. import bangundatar.JajarGenjang; //implementasi method dari interface BangunRuang dan extends ke class JajarGenjang ( inheritance )
3. public class PrismaJajarGenjang extends JajarGenjang implements BangunRuang {
4. public PrismaJajarGenjang(double alas, double tinggi) {
5. super(alas, tinggi);
6. setA(alas);
7. setB(tinggi);
8. }
9. @Override//implementasi override dari interface BangunRuang
10. public void volume() {
11. double alas=getA();
12. double tinggi=getB();
13. double tinggiPrisma=getD();
14. double luasAlas=(alas*tinggi);
15. setVolume(luasAlas*tinggiPrisma);
16. System.out.println("Hasil hitung volume prisma jajar genjang : "+getVolume());
17. }
18. @Override//implementasi override dari interface BangunRuang
19. public void luasPermukaan() {
20. double alas=getA();
21. double tinggi=getB();
22. double sisiMiring=getC();
23. double tinggiPrisma=getD();
24. double luasAlas=(alas*tinggi);
25. double keliling=(2*alas*sisiMiring);
26. setLuasPermukaan ((2*luasAlas)+(keliling*tinggiPrisma));
27. System.out.println("Hasil hitung volume prisma jajar genjang : "+getLuasPermukaan());
28. }
29. }
Listing 18.Class PrismaJajarGenjang.java
1. package bangunruang;
2.
3. import bangundatar.Persegi; //implementasi method dari interface BangunRuang dan extends ke class Persegi ( inheritance )
4. public class PrismaPersegi extends Persegi implements BangunRuang {
5. public PrismaPersegi(double sisi) { //Constructor
6. super(sisi);
7. setA(sisi);
8. }
9. @Override//implementasi override dari interface BangunRuang
10. public void volume() {
11. double sisi=getA();
12. double tinggi=getC();
13. setVolume(Math.pow(sisi,2)*tinggi);
14. System.out.println("Hasil hitung Voulume prisma persegi : "+getVolume());
15. }
16. @Override//implementasi override dari interface BangunRuang
17. public void luasPermukaan() {
18. double sisi=getA();
19. double tinggiPrisma=getC();
20. double keliling=(4*sisi);
21. double luasAlas=(Math.pow(sisi,2));
22.
23. setLuasPermukaan(2*luasAlas*keliling*tinggiPrisma);
24.
25.
26. System.out.println("Hasil hitung luas Permukaan prisma persegi : "+getLuasPermukaan());
27. }
28. }
Listing 19.Class PrismaPersegi.java
1. package bangunruang;
2.
3. import bangundatar.Segitiga; //implementasi method dari interface BangunRuang dan extends ke class segitiga ( inheritance )
4. public class PrismaSegitiga extends Segitiga implements BangunRuang {
5. public PrismaSegitiga(double alas, double tinggi) { //Constructor
6. super(alas, tinggi);
7. setA(alas);
8. setB(tinggi);
9. }
10.
11. @Override//implementasi override dari interface BangunRuang
12. public void volume() {
13. double alas=getA();
14. double tinggi=getB();
15. double tinggiPrisma=getC();
16. double luasAlas=(((0.5)*alas*tinggi));
17. setVolume (luasAlas*tinggiPrisma);
18. System.out.println("Hasil Volume Prisma Segitiga : "+getVolume());
19. }
20. @Override//implementasi override dari interface BangunRuang
21. public void luasPermukaan() {
22. double alas=getA()
23. double tinggi=getB();
24. double tinggiPrisma=getC();
25. double luasAlas=(((0.5)*alas*tinggi));
26. double luasBidangTegak=((0.5)*alas*tinggiPrisma);
27. setLuasPermukaan((2*luasAlas)+(3*luasBidangTegak));
28. System.out.println("Hasil luas permukaan : "+getLuasPermukaan());
29. }
30. }
1. package bangunruang;
2. import bangundatar.Lingkaran; //implementasi method dari interface BangunRuang dan extends ke class Lingkaran ( inheritance )
3. public class Tabung extends Lingkaran implements BangunRuang{
4. private final double PHI = 3.14159265358979323846;
5. public Tabung(double jariJari) { //Constructor
6. super(jariJari);
7. setA(jariJari);
8. }
9. @Override//implementasi override dari interface BangunRuang
10. public void volume() {
11. double jariJari=getA();
12. double tinggi=getB();
13. setVolume(PHI*Math.pow(jariJari,2)*tinggi);
14. System.out.println("Hasil Volume tabung = "+getVolume());
15. }
16. @Override//implementasi override dari interface BangunRuang
17. public void luasPermukaan() {
18. double jariJari=getA();
19. double tinggi=getB();
20. setLuasPermukaan(((2*(PHI*jariJari))*(jariJari+tinggi)));
21. System.out.println("Hasil Luas Permukaan Tabung = "+getLuasPermukaan());
22. }
23. }
Listing 21.Class Tabung.java
1. package bangunruang;
2. public class KerucutTerpancung extends Kerucut implements BangunRuang { //implementasi method dari interface Bangun Ruang extends ke class kerucut
(inheritance)
3. final double PHI = 3.14159265358979323846;
4. public KerucutTerpancung(double jariJari1, double jariJari2, double tinggi) { //Constructor
5. super(jariJari2, tinggi); //Keyword Super
6. setA(jariJari1);
7. setB(jariJari2);
8. setC(tinggi);
9. volume();
10. luasPermukaan();
11. }
12. @Override //implementasi override dari interface Bangun Ruang
13. public void volume() {
14. double tinggi = getC();
15. double jariJari1 = getA();
16. double jariJari2 = getB();
17. double tinggiKerucut = ((tinggi * jariJari1) / (jariJari2 - jariJari1) + tinggi);
18. double volumeKerucut = ((0.33333) * PHI * (Math.pow(jariJari2, 2)) * tinggiKerucut);
19. double volumeKerucutKecil = ((0.33333) * PHI * (Math.pow(jariJari1, 2)) * tinggi);
20. setVolume(volumeKerucut - volumeKerucutKecil);
21. }
22. @Override //implementasi override dari interface Bangun Ruang
23. public void luasPermukaan() {
24. double tinggi = getC();
25. double jariJari1 = getA();
26. double jariJari2 = getB();
27. double alas = jariJari2 - jariJari1;
28. double s = ((Math.sqrt(Math.pow(alas, 2))) + (Math.pow(tinggi, 2)));
29. setLuasPermukaan((PHI * s) * (jariJari2 + jariJari1));
30. }
31. }