Monday, 16 December 2024

Program Pendapatan dan Pengeluaran

 #include <iostream>

#include <iomanip> 

using namespace std;

int main() {

    int jumlahPendapatan, jumlahPengeluaran;


    // Input jumlah kategori pendapatan dan pengeluaran

    cout << "Masukkan jumlah kategori pendapatan: ";

    cin >> jumlahPendapatan;


    cout << "Masukkan jumlah kategori pengeluaran: ";

    cin >> jumlahPengeluaran;


    // Deklarasi array dinamis

    string kategoriPendapatan[jumlahPendapatan];

    int pendapatan[jumlahPendapatan];


    string kategoriPengeluaran[jumlahPengeluaran];

    int pengeluaran[jumlahPengeluaran];


    // Input data pendapatan

    cout << "\n--- Input Data Pendapatan ---\n";

    for (int i = 0; i < jumlahPendapatan; i++) {

        cout << "Masukkan kategori pendapatan ke-" << i + 1 << ": ";

        cin.ignore();

        getline(cin, kategoriPendapatan[i]);

        cout << "Masukkan jumlah pendapatan (Rp): ";

        cin >> pendapatan[i];

    }


    // Input data pengeluaran

    cout << "\n--- Input Data Pengeluaran ---\n";

    for (int i = 0; i < jumlahPengeluaran; i++) {

        cout << "Masukkan kategori pengeluaran ke-" << i + 1 << ": ";

        cin.ignore();

        getline(cin, kategoriPengeluaran[i]);

        cout << "Masukkan jumlah pengeluaran (Rp): ";

        cin >> pengeluaran[i];

    }


    // Menghitung total pendapatan dan pengeluaran

    int totalPendapatan = 0, totalPengeluaran = 0;


    for (int i = 0; i < jumlahPendapatan; i++) {

        totalPendapatan += pendapatan[i];

    }


    for (int i = 0; i < jumlahPengeluaran; i++) {

        totalPengeluaran += pengeluaran[i];

    }


    // Menentukan kategori keterangan berdasarkan total pengeluaran

    string keterangan;

    if (totalPengeluaran > 10000000) {

        keterangan = "Anda terlalu Boros";

    } else if (totalPengeluaran > 7000000) {

        keterangan = "Boros";

    } else if (totalPengeluaran > 5000000) {

        keterangan = "Sesuai Budget";

    } else if (totalPengeluaran > 3000000) {

        keterangan = "Hemat";

    } else {

        keterangan = "Sangat Berhemat";

    }


    // Menampilkan tabel pendapatan

    cout << "\n==================== TABEL PENDAPATAN ====================\n";

    cout << "| No |       KATEGORI         |    JUMLAH (Rp)   |\n";

    cout << "---------------------------------------------------------\n";

    for (int i = 0; i < jumlahPendapatan; i++) {

        cout << "| " << setw(2) << i + 1 << " | " << left << setw(21) << kategoriPendapatan[i]

             << "| " << right << setw(15) << pendapatan[i] << " |\n";

    }

    cout << "---------------------------------------------------------\n";

    cout << "|    | TOTAL PENDAPATAN       | " << setw(15) << totalPendapatan << " |\n";

    cout << "=========================================================\n";


    // Menampilkan tabel pengeluaran

    cout << "\n==================== TABEL PENGELUARAN ===================\n";

    cout << "| No |          KATEGORI           |    JUMLAH (Rp)   |\n";

    cout << "---------------------------------------------------------\n";

    for (int i = 0; i < jumlahPengeluaran; i++) {

        cout << "| " << setw(2) << i + 1 << " | " << left << setw(25) << kategoriPengeluaran[i]

             << "| " << right << setw(15) << pengeluaran[i] << " |\n";

    }

    cout << "---------------------------------------------------------\n";

    cout << "|    | TOTAL PENGELUARAN          | " << setw(15) << totalPengeluaran << " |\n";

    cout << "=========================================================\n";


    // Menampilkan laba/rugi dan keterangan

    int labaRugi = totalPendapatan - totalPengeluaran;

    cout << "\nLaba/Rugi: Rp. " << labaRugi << "\n";

    cout << "Keterangan: " << keterangan << endl;


    return 0;

}

No comments:

Post a Comment