#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", "anandara7891@gmail.com");
buatGaris();
return 0;
}