Quick actions

cmd+k|ctrl+k

Navigation

Languages

Tugas 11.1

Snippet info

Language

Cpp

Visibility

public

Author

anandara7891

Created

2025-12-27T05:57:53.167975Z

Updated

2025-12-27T05:57:53.167975Z

#include <iostream>
#include <stdio.h>
#include <string>

using namespace std;

// 1. Function NOT Return Value (Without Parameter) - Untuk garis
void buatGaris() {
    puts("-------------------------------------------------------------");
}

// 2. Function NOT Return Value (With Parameter) - Untuk Header/Judul
void tampilJudul(string namaToko, string lokasi) {
    buatGaris();
    cout << namaToko << endl;
    cout << lokasi << endl;
    buatGaris();
}

// 3. Function Return Value (Without Parameter) - Mengambil nilai PPN (10%)
float getPPN() {
    return 0.1;
}

// 4. Function Return Value (With Parameter) - Menghitung Subtotal
long hitungSubtotal(int harga, int jumlah) {
    return (long)harga * jumlah;
}

// Function NOT Return Value (With Parameter) - Info Author
void ttd(string nama, string email) {
    buatGaris();
    cout << "Nama  : " << nama << endl;
    cout << "Email : " << email << endl;
}

int main() {
    int kode, jumlah;
    string judulBuku, bonus = "-";
    int harga = 0;
    float diskon = 0, ppn_rp, total;
    long subtotal;
    tampilJudul("Toko Buku Ananda", "Jatirahayu - Bekasi");
    puts("KETENTUAN");
    buatGaris();
    puts("| Kode | Judul                         | Harga  |");
    buatGaris();
    puts("|  1   | Bungkam Suara                 | 90.000 |");
    puts("|  2   | Dompet Ayah Sepatu Ibu        | 95.000 |");
    puts("|  3   | Kami (bukan) Sarjana Kertas   | 85.000 |");
    buatGaris();

    printf("Masukan kode buku [1/2/3] : ");
    scanf("%d", &kode);
    printf("\n");
    printf("Jumlah pembelian buku    : ");
    scanf("%d", &jumlah);
    printf("\n");

    switch (kode) {
        case 1:
            judulBuku = "Bungkam Suara";
            harga = 90000;
            break;
        case 2:
            judulBuku = "Dompet Ayah Sepatu Ibu";
            harga = 95000;
            break;
        case 3:
            judulBuku = "Kami (bukan) Sarjana Kertas";
            harga = 85000;
            break;
        default:
            judulBuku = "Kode Tidak Valid";
            harga = 0;
            break;
    }

    subtotal = hitungSubtotal(harga, jumlah);

    if (jumlah > 5) {
        diskon = 0.1 * subtotal;
        bonus = "Magnetic Bookmark";
    }

    ppn_rp = getPPN() * subtotal;
    total = subtotal - diskon + ppn_rp;

    // Output Hasil
    buatGaris();
    cout << "Nama Buku   : " << judulBuku << endl;
    cout << "Harga Buku  : " << harga << endl;
    cout << "Bonus       : " << bonus << endl;
    
    // Menampilkan angka dengan format dua desimal
    printf("Subtotal    : Rp. %.2f\n", (float)subtotal);
    printf("Potongan    : Rp. %.2f\n", diskon);
    printf("PPN         : Rp. %.2f\n", ppn_rp);
    printf("Total       : Rp. %.2f\n", total);
    
    buatGaris();
    puts("Terima Kasih");
    ttd("Ananda Rakhma Aulia", "[email protected]");
    buatGaris();

    return 0;
}
INFO