Terdapat beberapa bidang datar yang kita kenal yaitu persegi / busur sangkar, persegi panjang, jajar genjang, belah ketupat, trapesium, segitiga, dan lain sebagainya. Kita dapat membuat program untuk membantu kita dalam menghitung luas dan keliling bidang-bidang tersebut, namun kali ini saya akan membagi program sederhana untuk menghitung persegi, persegi panjang dan beberapa segitiga.
Definisi Masalah
Buatlah program untuk menghitung luas persegi, persegi panjang, dan segitiga
Penyelesaian Masalah
Dalam menerjemahkan kode program yang akan kita buat, dapat kita rumuskan dengan flowchart yang kita pecah dalam beberapa bagian.
Flowchart Utama
Flowchart tersebut memanggil (call) function sesuai dengan nomor menu yang di pilih oleh pengguna.
Bentuk Persegi
Berikut flowchart untuk menghitung luas dan keliling persegi
Bentuk Persegi Panjang
Berikut flowchart untuk menghitung luas dan keliling persegi panjang
Bentuk Segitiga Sama Sisi
Berikut flowchart untuk menghitung luas dan keliling segitiga sama sisi
Bentuk Segitiga Sama Kaki
Berikut flowchart untuk menghitung luas dan keliling segitiga sama kaki
Bentuk Segitiga Siku-Siku
Berikut flowchart untuk menghitung luas dan keliling segitiga siku-siku
Dari flowchart-flowchart untuk menghitung bidang tersebut terdapat juga panggilan / call function untuk output "luas" dan keliling dan/atau menghitung tinggi segitiga. Berikut flowchartnya:
Hitung Tinggi Segitiga
Untuk output hasil perhitungan luas dan keliling flowchartnya seperti ini
Kode Program
Lalu, kode program berdasarkan flowchart di atas seperti ini
import java.util.Scanner;
public class Luaskeliling {
private static Scanner sc = new Scanner(System.in);
private static int input_menu;
private static double luas, keliling;
public static void main(String[] args) {
System.out.println("===== Menghitung Luas dan Keliling ====");
System.out.println("1. Persegi");
System.out.println("2. Persegi Panjang");
System.out.println("3. Segitiga Sama Sisi");
System.out.println("4. Segitiga Sama Kaki");
System.out.println("5. Segitiga Siku-siku");
System.out.print("- Masukkan angka = "); input_menu = sc.nextInt();
switch (input_menu) {
case 1:
hitung_persegi();
break;
case 2:
hitung_persegipjg();
break;
case 3:
hitung_segitigasisi();
break;
case 4:
hitung_segitigakaki();
break;
case 5:
hitung_segitigasiku();
break;
default:
System.out.println("Menu tidak ada");
break;
}
}
private static double hitung_tinggisegitiga(double sisi_miring, double sisi_alas)
{
double result = Math.sqrt(Math.pow(sisi_miring, 2) - Math.pow(sisi_alas, 2));
return result;
}
private static void output_hasil(double luas, double keliling)
{
System.out.println("* Luas = "+luas);
System.out.println("* Keliling = "+keliling);
System.out.println("---------------------");
}
private static void hitung_persegi() {
double panjang_sisi;
System.out.println("\n\n---- 1. Persegi ----");
System.out.print("- Panjang sisi = "); panjang_sisi = sc.nextDouble();
luas = Math.pow(panjang_sisi, 2);
keliling = 4 * panjang_sisi;
output_hasil(luas, keliling);
}
private static void hitung_persegipjg() {
double panjang, lebar;
System.out.println("\n\n---- 2. Persegi Panjang ----");
System.out.print("- Panjang = "); panjang = sc.nextDouble();
System.out.print("- Lebar = "); lebar = sc.nextDouble();
luas = panjang * lebar;
keliling = (2 * panjang) + (2 * lebar);
output_hasil(luas, keliling);
}
private static void hitung_segitigasisi() {
double panjang_sisi, tinggi;
System.out.println("\n\n---- 2. Segitiga Sama Sisi ----");
System.out.print("- Panjang Sisi = "); panjang_sisi = sc.nextDouble();
tinggi = hitung_tinggisegitiga(panjang_sisi, 0.5 * panjang_sisi);
luas = 0.5 * panjang_sisi * tinggi;
keliling = 3 * panjang_sisi;
output_hasil(luas, keliling);
}
private static void hitung_segitigakaki() {
double sisi_miring, sisi_alas, tinggi;
System.out.println("\n\n---- 2. Segitiga Sama Kaki ----");
System.out.print("- Panjang Sisi Miring = "); sisi_miring = sc.nextDouble();
System.out.print("- Panjang Sisi Alas = "); sisi_alas = sc.nextDouble();
tinggi = hitung_tinggisegitiga(sisi_miring, 0.5 * sisi_alas);
luas = 0.5 * sisi_alas * tinggi;
keliling = (2 * sisi_miring) + sisi_alas;
output_hasil(luas, keliling);
}
private static void hitung_segitigasiku() {
double sisi_miring, sisi_alas, tinggi;
System.out.println("\n\n---- 2. Segitiga Siku-siku ----");
System.out.print("- Panjang Sisi Miring = "); sisi_miring = sc.nextDouble();
System.out.print("- Panjang Sisi Alas = "); sisi_alas = sc.nextDouble();
tinggi = hitung_tinggisegitiga(sisi_miring, sisi_alas);
luas = 1/2 * sisi_alas * tinggi;
keliling = sisi_miring + sisi_alas + tinggi;
output_hasil(luas, keliling);
}
}
Pengujian Kode Program
Ketika kita jalankan kode program tersebut, maka akan seperti ini
Sekian dulu, terim kasih atas perhatian Anda, sampai jumpa di postingan saya yang lain, :)