Anda di halaman 1dari 31

PEMROGRAMAN BERORIENTASI OBJEK JAVA

MENGHITUNG BANGUN DATAR DAN BANGUN RUANG

Disusun oleh :

1. 1. 1. DYAH ANGGRAINI KARTIKA PUTRI 124180062

2. FIANA DEWI 124180064

PROGRAM STUDI SISTEM INFORMASI


JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
YOGYAKARTA
2019
LISTING PROGRAM

1.1. PACKAGE MAIN


2. package main;
3.
4. import bangundatar.Operation;
5. import bangundatar.BelahKetupat;
6. import bangundatar.JajarGenjang;
7. import bangundatar.LayangLayang;
8. import bangundatar.Lingkaran;
9. import bangundatar.Persegi;
10. import bangundatar.PersegiPanjang;
11. import bangundatar.Segitiga;
12. import bangunruang.Balok;
13. import bangunruang.Bola;
14. import bangunruang.Kerucut;
15. import bangunruang.Kubus;
16. import bangunruang.LimasPersegi;
17. import bangunruang.LimasSegitiga;
18. import bangunruang.PrismaJajarGenjang;
19. import bangunruang.PrismaPersegi;
20. import bangunruang.PrismaSegitiga;
21. import bangunruang.KerucutTerpancung;
22. import bangunruang.Tabung;
23. import java.util.Scanner;
24.
25. public class Main {
26.
27. public static void main(String[] args) {
28. Scanner input = new Scanner(System.in);
29. byte menu = 0, pilihan;
30. do {
31. try { //Exception
32. System.out.println("==============================================");
33. System.out.println(" KALKULATOR BANGUN RUANG DAN BANGUN DATAR");
34. System.out.println("==============================================");
35. System.out.println("1. Bangun Datar");
36. System.out.println("2. Bangun Ruang");
37. System.out.print("Pilih[1-2] : ");
38. menu = input.nextByte();
39. switch (menu) {
40. case 1: {
41. System.out.println("==============================================");
42. System.out.println(" KALKULATOR BANGUN DATAR");
43. System.out.println("==============================================");
44. System.out.println("1. Persegi");
45. System.out.println("2. Persegi Panjang");
46. System.out.println("3. Segitiga");
47. System.out.println("4. Lingkaran");
48. System.out.println("5. Belah Ketupat");
49. System.out.println("6. Layang-layang");
50. System.out.println("7. JajarGenjang");
51. System.out.print("Pilih[1-7] : ");
52. pilihan = input.nextByte();
53. switch (pilihan) {
54. case 1: {
55. System.out.println("==============================================");
56. System.out.println(" PERSEGI");
57. System.out.println("==============================================");
58. double sisi;
59. System.out.print("Masukkan sisi : ");
60. sisi = input.nextDouble();
61. Operation persegi = new Persegi(sisi); //Polymorphism
62. System.out.println("Luas Persegi : " + persegi.getLuas());
63. }
64. break;
65. case 2: {
66. System.out.println("==============================================");
67. System.out.println(" PERSEGI PANJANG");
68. System.out.println("==============================================");
69. double panjang;
70. double lebar;
71. System.out.print("Masukan panjang: ");
72. panjang = input.nextDouble();
73. System.out.print("Masukkan lebar : ");
74. lebar = input.nextDouble();
75. Operation persegiPanjang = new PersegiPanjang(panjang, lebar); //Polymorphism
76. System.out.println("Luas Persegi Panjang : " + persegiPanjang.getLuas());
77.
78. }
79. break;
80. case 3: {
81. System.out.println("==============================================");
82. System.out.println(" SEGITIGA");
83. System.out.println("==============================================");
84. double alas;
85. double tinggi;
86. System.out.print("Masukkan alas : ");
87. alas = input.nextDouble();
88. System.out.print("Masukkan tinggi: ");
89. tinggi = input.nextDouble();
90. Operation segitiga = new Segitiga(alas, tinggi); //Polymorphism
91. System.out.println("Luas Segitiga : " + segitiga.getLuas());
92.
93. }
94. break;
95. case 4: {
96. System.out.println("==============================================");
97. System.out.println(" LINGKARAN");
98. System.out.println("==============================================");
99. double jariJari;
100. System.out.print("Masukkan jari-jari : ");
101. jariJari = input.nextDouble();
102. Operation lingkaran = new Lingkaran(jariJari); //Polymorphism
103. System.out.println("Luas Lingkaran : " + lingkaran.getLuas());
104. }
105. break;
106. case 5: {
107. System.out.println("==============================================");
108. System.out.println(" BELAH KETUPAT");
109. System.out.println("==============================================");
110. double d1, d2;
111. System.out.print("Masukkan sisi diagonal 1 : ");
112. d1 = input.nextDouble();
113. System.out.print("Masukkan sisi diagonal 2 : ");
114. d2 = input.nextDouble();
115. Operation belahKetupat = new BelahKetupat(d1, d2); //Polymorphism
116. System.out.println("Luas Belah Ketupat : " + belahKetupat.getLuas());
117.
118. }
119. break;
120. case 6: {
121. System.out.println("==============================================");
122. System.out.println(" LAYANG - LAYANG");
123. System.out.println("==============================================");
124. double d1, d2;
125. System.out.print("Masukkan sisi diagonal 1 : ");
126. d1 = input.nextDouble();
127. System.out.print("Masukkan sisi diagonal 2 : ");
128. d2 = input.nextDouble();
129. Operation layangLayang = new LayangLayang(d1, d2); //Polymorphism
130. System.out.println("Luas Layang Layang : " + layangLayang.getLuas());
131.
132. }
133. break;
134. case 7: {
135. System.out.println("==============================================");
136. System.out.println(" JAJAR GENJANG");
137. System.out.println("==============================================");
138. double alas;
139. double tinggi;
140. System.out.print("Masukkan alas : ");
141. alas = input.nextDouble();
142. System.out.print("Masukkan tinggi : ");
143. tinggi = input.nextDouble();
144. Operation jajarGenjang = new JajarGenjang(alas, tinggi); //Polymorphism
145. System.out.println("Luas Jajar Genjang : " + jajarGenjang.getLuas());
146. }
147. break;
148. default:
149. System.out.println("Menu Yang Anda Massukan Tidak Sesuai");
150.
151. }
152.
153. }
154. break;
155. case 2: {
156. System.out.println("==============================================");
157. System.out.println(" KALKULATOR BANGUN RUANG");
158. System.out.println("==============================================");
159. System.out.println(" 1. Balok");
160. System.out.println(" 2. Kubus");
161. System.out.println(" 3. Tabung");
162. System.out.println(" 4. Kerucut");
163. System.out.println(" 5. Bola");
164. System.out.println(" 6. Limas Persegi");
165. System.out.println(" 7. Limas Segitiga Sama Kaki");
166. System.out.println(" 8. Prisma Segitiga");
167. System.out.println(" 9. Prisma Persegi");
168. System.out.println(" 10. Prisma Jajar Genjang");
169. System.out.println(" 11. Kerucut Terpancung");
170. System.out.print("Pilih[1-11] : ");
171. pilihan = input.nextByte();
172. switch (pilihan) {
173. case 1: {
174. System.out.println("==============================================");
175. System.out.println(" BALOK");
176. System.out.println("==============================================");
177. double panjang;
178. double lebar;
179. double tinggi;
180. System.out.print("Masukkan panjang : ");
181. panjang = input.nextDouble();
182. System.out.print("Masukkan lebar : ");
183. lebar = input.nextDouble();
184. System.out.print("Masukkan tinggi : ");
185. tinggi = input.nextDouble();
186. Operation balok = new Balok(panjang, lebar, tinggi); //Polymorphism
187. System.out.println(" Luas Permukaan Balok : " + balok.getLuasPermukaan());
188. System.out.println(" Volume Balok : " + balok.getVolume());
189. }
190. break;
191. case 2: {
192. System.out.println("==============================================");
193. System.out.println(" KUBUS");
194. System.out.println("==============================================");
195. double sisi;
196. System.out.print("Maukkan sisi : ");
197. sisi = input.nextDouble();
198. Operation kubus = new Kubus(sisi); //Polymorphism
199. System.out.println(" Luas Permukaan Kubus : " + kubus.getLuasPermukaan());
200. System.out.println(" Volume Kubus : " + kubus.getVolume());
201. }
202. break;
203. case 3: {
204. System.out.println("==============================================");
205. System.out.println(" TABUNG");
206. System.out.println("==============================================");
207. double jariJari;
208. double tinggi;
209. System.out.print("Masukkan jari-jari tabung : ");
210. jariJari = input.nextDouble();
211. System.out.print("Masukkan tinggi tabung : ");
212. tinggi = input.nextDouble();
213. Operation tabung = new Tabung(jariJari, tinggi); //Polymorphism
214. System.out.println(" Luas Permukaan Tabung : " + tabung.getLuasPermukaan());
215. System.out.println(" Volume Tabung = " + tabung.getVolume());
216. }
217. break;
218.
219. case 4: {
220. System.out.println("==============================================");
221. System.out.println(" KERUCUT");
222. System.out.println("==============================================");
223. double jariJari;
224. double tinggi;
225. System.out.print("Masukkan jari-jari kerucut : ");
226. jariJari = input.nextDouble();
227. System.out.print("Masukkan tinggi Kerucut : ");
228. tinggi = input.nextDouble();
229. Operation kerucut = new Kerucut(jariJari, tinggi); //Polymorphism
230. System.out.println(" Luas Permukaan Kerucut : " + kerucut.getLuasPermukaan());
231. System.out.println(" Volume Kerucut : " + kerucut.getVolume());
232. }
233. break;
234. case 5: {
235. System.out.println("==============================================");
236. System.out.println(" BOLA");
237. System.out.println("==============================================");
238. double jariJari;
239. System.out.print("Masukkan jari-jari Bola : ");
240. jariJari = input.nextDouble();
241. Operation bola = new Bola(jariJari); //Polymorphism
242. System.out.println(" Luas Permukaan Bola : " + bola.getLuasPermukaan());
243. System.out.println(" Volume Bola : " + bola.getVolume());
244. }
245. break;
246. case 6: {
247. System.out.println("==============================================");
248. System.out.println(" LIMAS PERSEGI");
249. System.out.println("==============================================");
250. double sisi;
251. double tinggi;
252. System.out.print("Masukkan sisi alas : ");
253. sisi = input.nextDouble();
254. System.out.print("Masukkan tinggi limas : ");
255. tinggi = input.nextDouble();
256. Operation limasPersegi = new LimasPersegi(sisi); //Polymorphism
257. System.out.println(" Luas Permukaan Limas Persegi : " + limasPersegi.getLuasPermukaan());
258. System.out.println(" Volume LImas Persegi : " + limasPersegi.getVolume());
259. }
260. break;
261. case 7: {
262. System.out.println("==============================================");
263. System.out.println(" LIMAS SEGITIGA");
264. System.out.println("==============================================");
265. double alas;
266. double tinggi;
267. double tinggiLimas;
268. System.out.print("Masukkan alas limas : ");
269. alas = input.nextDouble();
270. System.out.print("Masukkan tinggi alas limas : ");
271. tinggi = input.nextDouble();
272. System.out.print("Masukkan tinggi limas : ");
273. tinggiLimas = input.nextDouble();
274. Operation limasSegitiga = new LimasSegitiga(alas, tinggi, tinggiLimas); //Polymorphism
275. System.out.println(" Luas Permukaan Limas Seigita : " + limasSegitiga.getLuasPermukaan());
276. System.out.println(" Volume Limas Segitiga : " + limasSegitiga.getVolume());
277. }
278. break;
279. case 8: {
280. System.out.println("==============================================");
281. System.out.println(" SEGITIGA");
282. System.out.println("==============================================");
283. double alas;
284. double tinggi;
285. double tinggiPrisma;
286. System.out.print("Masukkan alas : ");
287. alas = input.nextDouble();
288. System.out.print("Masukkan tinggi : ");
289. tinggi = input.nextDouble();
290. System.out.print("Masukkan tinggi prisma : ");
291. tinggiPrisma = input.nextDouble();
292. Operation prismaSegitiga = new PrismaSegitiga(alas, tinggi, tinggiPrisma); //Polymorphism
293. System.out.println(" Luas Permukaan Prisma Segitiga : " + prismaSegitiga.getLuasPermukaan());
294. System.out.println(" Volume Prisma Segitiga : " + prismaSegitiga.getVolume());
295. }
296. break;
297. case 9: {
298. System.out.println("==============================================");
299. System.out.println(" PRISMA PERSEGI");
300. System.out.println("==============================================");
301. double sisi;
302. double tinggiPrisma;
303. System.out.print("Masukkan sisi :");
304. sisi = input.nextDouble();
305. System.out.print("Masukkan tinggi prisma : ");
306. tinggiPrisma = input.nextDouble();
307. Operation prismaPersegi = new PrismaPersegi(sisi, tinggiPrisma); //Polymorphism
308. System.out.println(" Luas Permukaan Prisma Persegi : " + prismaPersegi.getLuasPermukaan());
309. System.out.println(" Volume Prisma Persegi : " + prismaPersegi.getVolume());
310. }
311. break;
312. case 10: {
313. System.out.println("==============================================");
314. System.out.println(" PRISMA JAJAR GENJANG");
315. System.out.println("==============================================");
316. double alas;
317. double tinggi;
318. double sisiMiring;
319. double tinggiPrisma;
320. System.out.print("Masukkan alas : ");
321. alas = input.nextDouble();
322. System.out.print("Masukkan tinggi : ");
323. tinggi = input.nextDouble();
324. System.out.print("Masukkan sisi miring : ");
325. sisiMiring = input.nextDouble();
326. System.out.print("Masukkan tinggi prisma : ");
327. tinggiPrisma = input.nextDouble();
328. Operation prismaJajarGenjang = new PrismaJajarGenjang(alas, tinggi, sisiMiring, tinggiPrisma); //Polymorphism
329. System.out.println(" Luas Permukaan Prisma jajar Genjang : " + prismaJajarGenjang.getLuasPermukaan());
330. System.out.println(" Volume Prisma Jajar Genjang : " + prismaJajarGenjang.getVolume());
331. }
332. break;
333. case 11: {
334. System.out.println("==============================================");
335. System.out.println(" KERUCUT TERPANCUNG");
336. System.out.println("==============================================");
337. double jariJari2;
338. double tinggi;
339. double jariJari1;
340. System.out.print("Masukkan Jari - Jari Besar:");
341. jariJari2 = input.nextDouble();
342. System.out.print("Masukkan Jari - Jari Kecil : ");
343. jariJari1 = input.nextDouble();
344. System.out.print("Masukkan tinggi kerucut : ");
345. tinggi = input.nextDouble();
346. Operation kerucutTerpancung = new KerucutTerpancung(jariJari1, jariJari2, tinggi); //Polymorphism
347. System.out.println("Luas Permukaan : " + kerucutTerpancung.getLuasPermukaan());
348. System.out.println("Volume Kerucut Terpancung : " + kerucutTerpancung.getVolume());
349.
350. }
351. break;
352.
353. default:
354. System.out.println("Menu Yang Anda Massukan Tidak Sesuai");
355. }
356. }
357. break;
358. default:
359. System.out.println("Menu Yang Anda Massukan Tidak Sesuai");
360.
361. }
362. } catch (RuntimeException exc) {
363. System.err.println("Terdapat Kesalahan Dalam Program");
364. }
365. } while (menu < 3 && menu > 0);
366. }
367. }
Listing 1.Class Main.java

1.2. PACKAGE BANGUN DATAR


1.
2. package bangundatar;//implementasi dari interface Bangun Datar
3.
4. public interface BangunDatar {
5. void luas();
6. }
7.

Listing 2.Interface BangunDatar.java

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.3 PACKAGE BANGUNRUANG


1. package bangunruang;//implementasi dari interface
2.
3. public interface BangunRuang {
4. void volume();
5. void luasPermukaan();
6. }
Listing 11.Interface BangunRuang.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. }

Listing 20.Class PrismaSegitiga.java

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. }

Listing 22.Class Kerucut Terpancung


OUTPUT PROGRAM

Gambar 1. Tampilan menu awal

Gambar 2. Operasi Hitung Persegi

Gambar 3. Operasi Hitung Persegi Panjang


Gambar 4. Operasi Hitung Segitiga

Gambar 5. Operasi Hitung Lingkaran

Gambar 6. Operasi Hitung Belah Ketupat

Gambar 7. Operasi Hitung Layang – Layang


Gambar 8. Operasi Hitung Balok

Gambar 9. Operasi Hitung Tabung

Gambar 10. Operasi Hitung Kerucut


Gambar 11. Operasi Hitung Bola

Gambar 12. Operasi Hitung Limas Persegi

Gambar 13. Operasi Hitung Limas Segitiga

Gambar 14. Operasi Hitung Kubus


Gambar 15. Operasi Hitung Prisma Jajar Genjang

Gambar 16. Operasi Hitung Kerucut Terpancung

Gambar 17. Operasi Hitung Prisma Segitiga


Gambar 18. Operasi Hitung Prisma Persegi