Skip to content

Commit ba37219

Browse files
Add files via upload
1 parent bcf0f2f commit ba37219

File tree

5 files changed

+135
-0
lines changed

5 files changed

+135
-0
lines changed

bangundatar/BangunDatar.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package bangundatar;
2+
3+
public interface BangunDatar {
4+
public double luas(int s1, int s2);
5+
public double keliling(int s1, int s2);
6+
}

bangundatar/Lingkaran.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package bangundatar;
2+
3+
public class Lingkaran implements BangunDatar {
4+
5+
private double pi = 3.1415;
6+
7+
Lingkaran(){}
8+
9+
@Override
10+
public double luas(int s1, int s2) {
11+
return 0;
12+
}
13+
14+
@Override
15+
public double keliling(int s1, int s2) {
16+
return 0;
17+
}
18+
19+
public double luas(int r){ //metode overload
20+
return (pi * r * r);
21+
}
22+
23+
public double keliling(int r){ //methode overload
24+
return (2 * pi * r);
25+
}
26+
}

bangundatar/Main.java

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package bangundatar;
2+
3+
import java.util.Scanner;
4+
5+
public class Main {
6+
private static char pilihan;
7+
private static Scanner scanner = new Scanner(System.in);
8+
9+
private static void main_menu(){
10+
//pilihan menu
11+
System.out.println("====================");
12+
System.out.println("Hitung Luas dan Keliling :");
13+
System.out.println("1. Persegi Panjang");
14+
System.out.println("2. Segitika Siku");
15+
System.out.println("3. Lingkaran");
16+
System.out.print("Masukan Menu : ");
17+
pilihan = scanner.next().charAt(0);
18+
}
19+
20+
public static void main(String[] args){
21+
/*Kamus*/
22+
PersegiPanjang opersegi;
23+
Segitiga osegitiga;
24+
Lingkaran olingkaran;
25+
int s1, s2, r;
26+
27+
opersegi = new PersegiPanjang();
28+
osegitiga = new Segitiga();
29+
olingkaran = new Lingkaran();
30+
31+
/*Program*/
32+
//panggil metode
33+
main_menu();
34+
35+
//kondisional untuk pilihan menu yang dimasukan
36+
switch(pilihan){
37+
case '1':{
38+
System.out.print("Masukan panjang persegi: ");
39+
s1 = scanner.nextInt();
40+
System.out.print("Masukan lebar persegi: ");
41+
s2 = scanner.nextInt();
42+
System.out.println("Luas persegi panjang: " + opersegi.luas(s1,s2));
43+
System.out.println("Keliling persegi panjang: " + opersegi.keliling(s1,s2));
44+
break;
45+
}
46+
case '2':{
47+
System.out.print("Masukan alas segitiga: ");
48+
s1 = scanner.nextInt();
49+
System.out.print("Masukan tinggi segitiga: ");
50+
s2 = scanner.nextInt();
51+
System.out.println("Luas segitiga: " + osegitiga.luas(s1,s2));
52+
System.out.println("Keliling segitiga: " + osegitiga.keliling(s1,s2));
53+
break;
54+
}
55+
case '3':{
56+
System.out.print("Masukan jari-jari lingkaran: ");
57+
r = scanner.nextInt();
58+
System.out.println("Luas lingkaran: " + olingkaran.luas(r));
59+
System.out.println("Keliling lingkaran: " + olingkaran.keliling(r));
60+
break;
61+
}
62+
default :{
63+
System.out.println("tidak ada pilihan");
64+
break;
65+
}
66+
67+
}
68+
69+
}
70+
}

bangundatar/PersegiPanjang.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package bangundatar;
2+
3+
public class PersegiPanjang implements BangunDatar{
4+
5+
PersegiPanjang(){}
6+
7+
8+
@Override
9+
public double luas(int s1, int s2) {
10+
return (s1 * s2);
11+
}
12+
13+
@Override
14+
public double keliling(int s1, int s2) {
15+
return (2 * (s1 + s2));
16+
}
17+
}

bangundatar/Segitiga.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package bangundatar;
2+
3+
public class Segitiga implements BangunDatar {
4+
5+
Segitiga(){}
6+
7+
@Override
8+
public double luas(int s1, int s2) {
9+
return (0.5 * s1 * s2);
10+
}
11+
12+
@Override
13+
public double keliling(int s1, int s2) {
14+
return (s1 + s2 + Math.sqrt((s1*s1) + (s2*s2)));
15+
}
16+
}

0 commit comments

Comments
 (0)