#include <iostream>
#include <string>
using namespace std;
void garis() {
printf("---------------------------------------------------\n");
}
// Fungsi NOT Return Value (Tanpa Parameter)
void tampilkanKetentuan() {
garis();
//Fungsi Printf
printf("Toko Buku Almara\n");
cout << "Jatiasih - Bekasi\n";
garis();
cout << "KETENTUAN\n";
garis();
cout << "| Kode | Judul | Harga |\n";
garis();
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";
garis();
cout << "Subtotal = Harga x Jumlah Beli\n";
cout << "PPN = 10% x Subtotal\n";
cout << "Jika jumlah beli lebih dari 5 maka mendapat discount 10% dan bonus kotak pensil.\n";
garis();
}
// Fungsi Return Value (Dengan Parameter)
int hitungSubtotal(int harga, int jumlah) {
return harga * jumlah;
}
// Fungsi Return Value (Tanpa Parameter)
int hitungPPN(int subtotal) {
return subtotal * 0.10;
}
// Fungsi NOT Return Value (Dengan Parameter)
void tampilkanHasil(string namaBuku, int harga, string bonus, int subtotal, int potongan, int ppn, int total) {
//Fungsi Cout
cout << "Nama Buku : " << namaBuku << endl;
cout << "Harga Buku : " << harga << endl;
cout << "Bonus : " << bonus << endl;
cout << "Subtotal : Rp. " << subtotal << ".00" << endl;
cout << "Potongan : Rp. " << potongan << ".00" << endl;
cout << "PPN : Rp. " << ppn << ".00" << endl;
cout << "Total : Rp. " << total << ".00" << endl;
garis();
cout << "Terima Kasih\n";
garis();
cout << "Nama : Ramdika Rovansah\n";
cout << "Email : ramdika33@gmail.com\n";
}
int main() {
tampilkanKetentuan();
// Deklarasi variabel
int kode, jumlah;
string namaBuku, bonus = "-";
int harga = 0, subtotal, potongan = 0, ppn, total;
// Input kode dan jumlah
cout << "Masukkan kode buku [1/2/3]: "<<endl;
//Fungsi Cin
cin >> kode;
cout << "Jumlah pembelian buku: "<<endl;
scanf(jumlah);
garis();
// Struktur Switch Case
switch (kode) {
case 1:
namaBuku = "Sukses Belajar C++";
harga = 50000;
break;
case 2:
namaBuku = "Kunci Pribadi Yang Sukses";
harga = 35000;
break;
case 3:
namaBuku = "Mencari Mutiara Di Dasar Hati";
harga = 45000;
break;
default:
cout << "Kode buku tidak valid!\n";
return 0;
}
// Hitung subtotal
subtotal = hitungSubtotal(harga, jumlah);
// Cek jumlah untuk potongan dan bonus
if (jumlah > 5) {
potongan = subtotal * 0.10; // 10% diskon
bonus = "Kotak Pensil";
}
// Hitung PPN dan total
ppn = hitungPPN(subtotal);
total = subtotal - potongan + ppn;
// Tampilkan hasil
tampilkanHasil(namaBuku, harga, bonus, subtotal, potongan, ppn, total);
return 0;
}