Membuat Program Penghitung Luas Semua Bangun Datar Menggunakan C++

Membuat Program Penghitung Luas Semua Bangun Datar Menggunakan C++
Photo by Rodion Kutsaiev / Unsplash

Menghitung luas bangun datar adalah salah satu latihan pemrograman dasar yang sering digunakan untuk melatih logika dan penguasaan operasi matematika. Dalam artikel ini, kita akan membuat program untuk menghitung luas beberapa jenis bangun datar, seperti persegi, persegi panjang, segitiga, lingkaran, trapesium, dan jajar genjang, menggunakan bahasa pemrograman C++.

Rencana Program

  1. Input dari Pengguna
    Program akan meminta pengguna memilih jenis bangun datar yang ingin dihitung luasnya, serta memasukkan parameter yang diperlukan (seperti panjang, lebar, atau jari-jari).
  2. Proses Perhitungan
    Program akan menghitung luas berdasarkan rumus masing-masing bangun datar.
  3. Output Hasil
    Hasil perhitungan luas akan ditampilkan ke layar.
  4. Penggunaan Fungsi
    Setiap bangun datar akan memiliki fungsi sendiri untuk menghitung luasnya agar kode lebih modular dan mudah dibaca.

Kode Program Lengkap

#include <iostream>
#include <cmath>
using namespace std;

// Fungsi untuk menghitung luas persegi
double luasPersegi(double sisi) {
    return sisi * sisi;
}

// Fungsi untuk menghitung luas persegi panjang
double luasPersegiPanjang(double panjang, double lebar) {
    return panjang * lebar;
}

// Fungsi untuk menghitung luas segitiga
double luasSegitiga(double alas, double tinggi) {
    return 0.5 * alas * tinggi;
}

// Fungsi untuk menghitung luas lingkaran
double luasLingkaran(double jariJari) {
    const double PI = 3.14159;
    return PI * jariJari * jariJari;
}

// Fungsi untuk menghitung luas trapesium
double luasTrapesium(double sisiAtas, double sisiBawah, double tinggi) {
    return 0.5 * (sisiAtas + sisiBawah) * tinggi;
}

// Fungsi untuk menghitung luas jajar genjang
double luasJajarGenjang(double alas, double tinggi) {
    return alas * tinggi;
}

int main() {
    int pilihan;
    double hasil;

    cout << "=== Program Penghitung Luas Bangun Datar ===" << endl;
    cout << "Pilih bangun datar yang ingin dihitung:" << endl;
    cout << "1. Persegi" << endl;
    cout << "2. Persegi Panjang" << endl;
    cout << "3. Segitiga" << endl;
    cout << "4. Lingkaran" << endl;
    cout << "5. Trapesium" << endl;
    cout << "6. Jajar Genjang" << endl;
    cout << "Masukkan pilihan (1-6): ";
    cin >> pilihan;

    switch (pilihan) {
        case 1: {
            double sisi;
            cout << "Masukkan panjang sisi persegi: ";
            cin >> sisi;
            hasil = luasPersegi(sisi);
            break;
        }
        case 2: {
            double panjang, lebar;
            cout << "Masukkan panjang: ";
            cin >> panjang;
            cout << "Masukkan lebar: ";
            cin >> lebar;
            hasil = luasPersegiPanjang(panjang, lebar);
            break;
        }
        case 3: {
            double alas, tinggi;
            cout << "Masukkan panjang alas: ";
            cin >> alas;
            cout << "Masukkan tinggi: ";
            cin >> tinggi;
            hasil = luasSegitiga(alas, tinggi);
            break;
        }
        case 4: {
            double jariJari;
            cout << "Masukkan jari-jari lingkaran: ";
            cin >> jariJari;
            hasil = luasLingkaran(jariJari);
            break;
        }
        case 5: {
            double sisiAtas, sisiBawah, tinggi;
            cout << "Masukkan panjang sisi atas: ";
            cin >> sisiAtas;
            cout << "Masukkan panjang sisi bawah: ";
            cin >> sisiBawah;
            cout << "Masukkan tinggi: ";
            cin >> tinggi;
            hasil = luasTrapesium(sisiAtas, sisiBawah, tinggi);
            break;
        }
        case 6: {
            double alas, tinggi;
            cout << "Masukkan panjang alas: ";
            cin >> alas;
            cout << "Masukkan tinggi: ";
            cin >> tinggi;
            hasil = luasJajarGenjang(alas, tinggi);
            break;
        }
        default:
            cout << "Pilihan tidak valid!" << endl;
            return 1;
    }

    cout << "Luas bangun datar adalah: " << hasil << endl;
    return 0;
}

Penjelasan Kode

  1. Fungsi-Fungsi Perhitungan:
    • Setiap bangun datar memiliki fungsi tersendiri untuk menghitung luas. Misalnya:
      • luasPersegi(double sisi): Menghitung luas persegi.
      • luasLingkaran(double jariJari): Menghitung luas lingkaran.
    • Hal ini membuat kode lebih modular dan mudah dibaca.
  2. Menu Pilihan:
    Program menampilkan daftar pilihan bangun datar yang tersedia dan meminta pengguna untuk memilih salah satu.
  3. Penggunaan switch-case:
    • Berdasarkan input pengguna, program memanggil fungsi yang sesuai.
    • Jika input tidak valid, program menampilkan pesan error.
  4. Input dan Output:
    • Program meminta pengguna untuk memasukkan parameter (seperti panjang sisi atau jari-jari) dan menghitung luas berdasarkan parameter tersebut.
    • Hasil perhitungan ditampilkan ke layar.

Contoh Output Program

Input 1:

=== Program Penghitung Luas Bangun Datar ===
Pilih bangun datar yang ingin dihitung:
1. Persegi
2. Persegi Panjang
3. Segitiga
4. Lingkaran
5. Trapesium
6. Jajar Genjang
Masukkan pilihan (1-6): 2
Masukkan panjang: 10
Masukkan lebar: 5

Output 1:

Luas bangun datar adalah: 50

Input 2:

=== Program Penghitung Luas Bangun Datar ===
Pilih bangun datar yang ingin dihitung:
1. Persegi
2. Persegi Panjang
3. Segitiga
4. Lingkaran
5. Trapesium
6. Jajar Genjang
Masukkan pilihan (1-6): 4
Masukkan jari-jari lingkaran: 7

Output 2:

Luas bangun datar adalah: 153.938

Kesimpulan

Program di atas memberikan solusi modular untuk menghitung luas berbagai bangun datar menggunakan C++. Dengan memanfaatkan fungsi-fungsi terpisah untuk setiap jenis bangun datar, kode menjadi lebih mudah dibaca, dipahami, dan diperluas. Kamu juga bisa mengembangkan program ini lebih lanjut dengan menambahkan fitur seperti validasi input atau menghitung keliling bangun datar.

Read more