Quick actions

cmd+k|ctrl+k

Navigation

Languages

Tugas 11.1

Snippet info

Language

Cpp

Visibility

public

Author

asiyahtflh

Created

2025-01-09T09:05:21.847322Z

Updated

2025-01-09T09:30:30.113499Z

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

void displayMenu();
void tampilKetentuan();
float calculateSubtotal(int price, int quantity);
float calculatePPN(float subtotal);
float calculateDiscount(float subtotal);
void displayOutput(string bookName, int price, int quantity, float subtotal, float discount, float ppn);

int main() {
    int code, quantity;
    string bookName;
    int price;
    float subtotal, ppn, discount, total;

    displayMenu();
    tampilKetentuan();

    cout << "Masukan kode buku [1/2/3]: ";
    cin >> code;
    cout << "\nJumlah pembelian buku    : ";
    cin >> quantity;

    switch (code) {
        case 1:
            bookName = "Sukses Belajar C++";
            price = 50000;
            break;
        case 2:
            bookName = "Kunci Pribadi Yang Sukses";
            price = 35000;
            break;
        case 3:
            bookName = "Mencari Mutiara Di Dasar Hati";
            price = 45000;
            break;
        default:
            cout << "Kode buku tidak valid!" << endl;
            return 1;
    }

    subtotal = calculateSubtotal(price, quantity);
    ppn = calculatePPN(subtotal);
    discount = (quantity > 5) ? calculateDiscount(subtotal) : 0;
    total = subtotal - discount + ppn;

    displayOutput(bookName, price, quantity, subtotal, discount, ppn);

    cout << "Terima Kasih\n";
    cout << "------------------------------------------------------------\n";
    cout << "Nama   : Asiyah Thufailah\n";
    cout << "Email  : [email protected]\n";

    return 0;
}

void displayMenu() {
    cout << "------------------------------------------------------------\n";
    cout << "Toko Buku Almara                                            \n";
    cout << "Jatiasih - Bekasi                                           \n";
    cout << "------------------------------------------------------------\n";
    cout << "KETENTUAN\n";
    cout << "------------------------------------------------------------\n";
    cout << "| Kode | Judul                               | Harga       |\n";
    cout << "------------------------------------------------------------\n";
    cout << "| 1    | Sukses Belajar C++                  | 50.000      |\n";
    cout << "| 2    | Kunci Pribadi Yang Sukses           | 35.000      |\n";
    cout << "| 3    | Mencari Mutiara Di Dasar Hati       | 45.000      |\n";
    cout << "------------------------------------------------------------\n";
}

void tampilKetentuan() {
    printf ("Subtotal = Harga x Jumlah Beli\n");
    puts ("PPN = 10% x Subtotal");
    puts ("Jika Jumlah beli lebih dari 5 maka mendapat discount 10% dan bonus kotak pensil");
    printf ("------------------------------------------------------------\n");
    puts ("Harus Terdapat Fungsi:");
    puts ("cout, cin, printf, scanf, puts");
    printf ("Struktur IF dan Switch Case\n");
    cout << "Function Return Value (Without Parameter)\n";
    cout << "Function Return Value (With Parameter)\n";
    cout << "Function Not Return Value (Without Parameter)\n";
    cout << "Function Not Return Value (With Parameter)\n";
    cout << "------------------------------------------------------------" << endl;
}

float calculateSubtotal(int price, int quantity) {
    return price * quantity;
}

float calculatePPN(float subtotal) {
    return 0.1 * subtotal;
}

float calculateDiscount(float subtotal) {
    return 0.1 * subtotal;
}

void displayOutput(string bookName, int price, int quantity, float subtotal, float discount, float ppn) {
    cout << "\n------------------------------------------------------------\n";
    cout << "Nama Buku    : " << bookName << endl;
    cout << "Harga Buku   : Rp. " << price << endl;
    if (quantity > 5) {
        cout << "Bonus        : Kotak Pensil\n";
    } else {
        cout << "Bonus        : -\n";
    }
    cout << fixed << setprecision(0);
    cout << "Subtotal     : Rp. " << subtotal << ",00" << endl;
    cout << "Potongan     : Rp. " << discount << ",00" << endl;
    cout << "PPN          : Rp. " << ppn << ",00" << endl;
    cout << "Total        : Rp. " << (subtotal - discount + ppn) << ",00" << endl;
    cout << "------------------------------------------------------------\n";
}
INFO