#include <iostream>
#include <stdio.h>
using namespace std;
void garis() {
printf("-------------------------------------------------\n");
}
//deklarasi fungsi
// return value tanpa parameter
float getPPN();
// return value dengan parameter
float hitungSubtotal(int harga, int jumlah);
// tidak return value tanpa parameter
void tampilKetentuan();
// tidak return value dengan parameter
void tampilOutput(string judul, int harga, int jumlah,
float subtotal, float diskon, float ppn, float total, string bonus);
int main() {
int kode, jumlah, harga = 0;
string judul, bonus = "-";
tampilKetentuan();
garis();
cout << "Masukan kode buku [1/2/3]: \n";
scanf("%d", &kode);
cout << "Jumlah pembelian buku : \n";
scanf("%d", &jumlah);
// Switch case
switch (kode) {
case 1:
judul = "Sukses Belajar C++";
harga = 50000;
break;
case 2:
judul = "Kunci Pribadi Yang Sukses";
harga = 35000;
break;
case 3:
judul = "Mencari Mutiara Di Dasar Hati";
harga = 45000;
break;
default:
puts("Kode buku tidak valid!");
return 0;
}
float subtotal = hitungSubtotal(harga, jumlah);
// IF
float diskon = 0;
if (jumlah > 5) {
diskon = subtotal * 0.10; // diskon 10%
bonus = "Kotak Pensil";
}
float ppn = getPPN() * subtotal; // PPN 10%
float total = subtotal - diskon + ppn;
tampilOutput(judul, harga, jumlah, subtotal, diskon, ppn, total, bonus);
return 0;
}
// implementasi fungsi
// Tidak return value & tanpa parameter
void tampilKetentuan() {
garis();
puts("Toko Buku Almara");
puts("Jatiasih - Bekasi");
garis();
puts("KETENTUAN");
garis();
puts("| Kode | Judul Buku | Harga |");
garis();
puts("| 1 | 1000 Mindset Berpikir Positif | 50000 |");
puts("| 2 | berani tidak disukai | 35000 |");
puts("| 3 | indistractable | 45000 |");
garis();
puts("Subtotal = Harga x Jumlah Beli");
puts("PPN = 10% x Subtotal");
puts("Jika jumlah beli > 5 mendapat diskon 10% dan bonus kotak pensil");
puts("---------------------------------------------------------------");
}
// Return value tanpa parameter
float getPPN() {
return 0.10;
}
// Return value dengan parameter
float hitungSubtotal(int harga, int jumlah) {
return harga * jumlah;
}
// Tidak return value & dengan parameter
void tampilOutput(string judul, int harga, int jumlah,
float subtotal, float diskon, float ppn, float total, string bonus) {
garis();
cout << "Nama Buku : " << judul << endl;
cout << "Harga : " << harga << endl;
cout << "Bonus : " << bonus << endl;
printf("Subtotal : Rp %.2f\n", subtotal);
printf("Potongan : Rp %.2f\n", diskon);
printf("PPN : Rp %.2f\n", ppn);
printf("Total : Rp %.2f\n", total);
garis();
puts("\t\t Terima Kasih");
garis();
puts("Nama : la ode ian");
puts("Email : laodeian21@gmail.com");
}
/*
#include <iostream>
#include <string>
using namespace std;
//metode kedua
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 : la ode ian\n";
cout << "Email : laodeian21@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;
cin >> 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;
}
*/