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, :)