diff --git a/bangundatar/BangunDatar.java b/bangundatar/BangunDatar.java new file mode 100644 index 0000000..33d35a6 --- /dev/null +++ b/bangundatar/BangunDatar.java @@ -0,0 +1,6 @@ +package bangundatar; + +public interface BangunDatar { + public double luas(int s1, int s2); + public double keliling(int s1, int s2); +} diff --git a/bangundatar/Lingkaran.java b/bangundatar/Lingkaran.java new file mode 100644 index 0000000..1d5c037 --- /dev/null +++ b/bangundatar/Lingkaran.java @@ -0,0 +1,26 @@ +package bangundatar; + +public class Lingkaran implements BangunDatar { + + private double pi = 3.1415; + + Lingkaran(){} + + @Override + public double luas(int s1, int s2) { + return 0; + } + + @Override + public double keliling(int s1, int s2) { + return 0; + } + + public double luas(int r){ //metode overload + return (pi * r * r); + } + + public double keliling(int r){ //methode overload + return (2 * pi * r); + } +} diff --git a/bangundatar/Main.java b/bangundatar/Main.java new file mode 100644 index 0000000..9f39bca --- /dev/null +++ b/bangundatar/Main.java @@ -0,0 +1,70 @@ +package bangundatar; + +import java.util.Scanner; + +public class Main { + private static char pilihan; + private static Scanner scanner = new Scanner(System.in); + + private static void main_menu(){ + //pilihan menu + System.out.println("===================="); + System.out.println("Hitung Luas dan Keliling :"); + System.out.println("1. Persegi Panjang"); + System.out.println("2. Segitiga Siku"); + System.out.println("3. Lingkaran"); + System.out.print("Masukan Menu : "); + pilihan = scanner.next().charAt(0); + } + + public static void main(String[] args){ + /*Kamus*/ + PersegiPanjang opersegi; + SegitigaSiku osegitiga; + Lingkaran olingkaran; + int s1, s2, r; + + opersegi = new PersegiPanjang(); + osegitiga = new Segitiga(); + olingkaran = new Lingkaran(); + + /*Program*/ + //panggil metode + main_menu(); + + //kondisional untuk pilihan menu yang dimasukan + switch(pilihan){ + case '1':{ + System.out.print("Masukan panjang persegi: "); + s1 = scanner.nextInt(); + System.out.print("Masukan lebar persegi: "); + s2 = scanner.nextInt(); + System.out.println("Luas persegi panjang: " + opersegi.luas(s1,s2)); + System.out.println("Keliling persegi panjang: " + opersegi.keliling(s1,s2)); + break; + } + case '2':{ + System.out.print("Masukan alas segitiga siku: "); + s1 = scanner.nextInt(); + System.out.print("Masukan tinggi segitiga siku: "); + s2 = scanner.nextInt(); + System.out.println("Luas segitiga: " + osegitiga.luas(s1,s2)); + System.out.println("Keliling segitiga: " + osegitiga.keliling(s1,s2)); + break; + } + case '3':{ + System.out.print("Masukan jari-jari lingkaran: "); + r = scanner.nextInt(); + System.out.println("Luas lingkaran: " + olingkaran.luas(r)); + System.out.println("Keliling lingkaran: " + olingkaran.keliling(r)); + break; + } + default :{ + System.out.println("tidak ada pilihan"); + break; + } + + } + + } +} diff --git a/bangundatar/PersegiPanjang.java b/bangundatar/PersegiPanjang.java new file mode 100644 index 0000000..a2a761e --- /dev/null +++ b/bangundatar/PersegiPanjang.java @@ -0,0 +1,17 @@ +package bangundatar; + +public class PersegiPanjang implements BangunDatar{ + + PersegiPanjang(){} + + + @Override + public double luas(int s1, int s2) { + return (s1 * s2); + } + + @Override + public double keliling(int s1, int s2) { + return (2 * (s1 + s2)); + } +} diff --git a/bangundatar/SegitigaSiku.java b/bangundatar/SegitigaSiku.java new file mode 100644 index 0000000..dfeedb2 --- /dev/null +++ b/bangundatar/SegitigaSiku.java @@ -0,0 +1,16 @@ +package bangundatar; + +public class SegitigaSiku implements BangunDatar { + + Segitiga(){} + + @Override + public double luas(int s1, int s2) { + return (0.5 * s1 * s2); + } + + @Override + public double keliling(int s1, int s2) { + return (s1 + s2 + Math.sqrt((s1*s1) + (s2*s2))); + } +}