Quick actions

cmd+k|ctrl+k

Navigation

Languages

11.1al

Snippet info

Language

Cpp

Visibility

public

Author

zackyahmadsyahputra4

Created

2025-12-20T05:36:42.861958Z

Updated

2026-01-02T23:38:18.305177Z

#include <iostream>
#include <stdio.h>
#include <string>
// NAMA : ZACKY AHMAD S
// NIM  : 3420240009
using namespace std;

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

//  Function Return Value (Without Parameter) -
float getPajakRate() {
    return 0.1; 
}

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

//  Function NOT Return Value (With Parameter) -
void tampilkanFooter(string nama, string email, string nim) {
    puts("--------------------------------------------");
    puts("Arigato");
    puts("--------------------------------------------");
    cout << "Nama  : " << nama << endl;
    cout << "Email : " << email << endl;
    cout << "Nim   : " << nim << endl;
}
//  Function Return Value (Without Parameter)
int main() {
    int kode, jumlah;
    string namaBuku;
    long harga = 0;
    string bonus = "-";
    float potongan = 0;

    // Header Toko
    puts("--------------------------------------------");
    puts("Toko Buku jaya");
    puts("Pondok gede - Bekasi");
    puts("--------------------------------------------");
    puts("KETENTUAN");
    puts("--------------------------------------------");
    printf("| %-4s | %-29s | %-7s |\n", "Kode", "Judul", "Harga");
    puts("--------------------------------------------");
    printf("| %-4d | %-29s | %-7s |\n", 1, "Negri 5 Menara", "50.000");
    printf("| %-4d | %-29s | %-7s |\n", 2, "Bulan", "35.000");
    printf("| %-4d | %-29s | %-7s |\n", 3, "Bumi", "45.000");
    puts("--------------------------------------------");

    // Memanggil fungsi yang berisi print instruksi gambar 3
    tampilkanInstruksi();

    // Input menggunakan cin dan scanf
    cout << "Masukan kode buku [1/2/3]: ";
    cin >> kode;
    printf("%i\n",kode);

    printf("Jumlah pembelian buku    : ");
    scanf("%d", &jumlah);
    printf("%i\n",jumlah);
//  Function Return Value (With Parameter)
    // Struktur Switch Case
    switch (kode) {
        case 1:
            namaBuku = "Negri 5 Menara";
            harga = 50000;
            break;
        case 2:
            namaBuku = "Bulan";
            harga = 35000;
            break;
        case 3:
            namaBuku = "Bumi";
            harga = 45000;
            break;
        default:
            namaBuku = "Kode Tidak Valid";
            harga = 0;
            break;
    }

    long subtotal = hitungSubtotal(harga, jumlah);

    // Struktur IF untuk diskon dan bonus
    if (jumlah > 5) { //
        potongan = 0.1 * subtotal; //
        bonus = "Kotak Pensil"; //
    } else {
        potongan = 0;
        bonus = "-";
    }

    float ppn = getPajakRate() * subtotal;
    float total = subtotal - potongan + ppn;

    // Output Hasil
    puts("\n--------------------------------------------");
    cout << "Nama Buku   : " << namaBuku << endl;
    printf("Harga Buku  : %ld\n", harga);
    cout << "Bonus       : " << bonus << endl;
    printf("Subtotal    : Rp. %.2f\n", (float)subtotal);
    printf("Potongan    : Rp. %.2f\n", potongan);
    printf("PPN         : Rp. %.2f\n", ppn);
    printf("Total       : Rp. %.2f\n", total);

    tampilkanFooter("zacky ahmad s", "zackyahmads.gmail.com", "3420240009");

    return 0;
}
INFO