#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;
}