Contoh Program C++ Menghitung Total Pembayaran dan Diskon Sederhana

Program menghitung total pembayaran dan diskon adalah salah satu latihan dasar yang wajib dikuasai saat belajar C++. Program ini mengajarkan konsep dasar seperti input/output, variabel, operator aritmatika, dan percabangan if.
1. Konsep Dasar Program
Program ini akan meminta pengguna memasukkan:
- Harga barang per unit
- Jumlah barang yang dibeli
Kemudian program menghitung total, dan jika total melebihi batas tertentu, program akan memberikan diskon.
2. Program Dasar: Menghitung Total Pembayaran
Mari mulai dengan versi sederhana: menghitung total tanpa diskon.
#include <iostream>
using namespace std;
int main()
{
float harga, jumlah, total;
cout << "Masukkan harga barang: ";
cin >> harga;
cout << "Masukkan jumlah barang: ";
cin >> jumlah;
total = harga * jumlah;
cout << "Total pembayaran: Rp" << total << endl;
return 0;
}
Penjelasan:
floatdigunakan agar bisa menerima harga desimal (misal Rp1.500,50)cinmembaca input dari keyboard- Operator
*mengalikan harga dengan jumlah coutmenampilkan hasil ke layar
3. Menambahkan Fitur Diskon
Sekarang kita tambahkan logika diskon: diskon 10% jika total belanja lebih dari Rp1.000.000.
#include <iostream>
using namespace std;
int main()
{
float harga, jumlah, total, diskon;
cout << "Masukkan harga barang: ";
cin >> harga;
cout << "Masukkan jumlah barang: ";
cin >> jumlah;
total = harga * jumlah;
if (total > 1000000) {
diskon = total * 0.1;
total = total - diskon;
cout << "Diskon 10%: Rp" << diskon << endl;
}
cout << "Total pembayaran: Rp" << total << endl;
return 0;
}
4. Program Lengkap dengan Multi-Tingkat Diskon
Pada versi ini, diskon diberikan bertingkat berdasarkan total belanja:
#include <iostream>
using namespace std;
int main()
{
float harga, jumlah, total, diskon = 0, totalBayar;
cout << "=== Program Kasir Sederhana ===\n";
cout << "Masukkan harga barang: Rp";
cin >> harga;
cout << "Masukkan jumlah barang: ";
cin >> jumlah;
total = harga * jumlah;
cout << "\nTotal belanja: Rp" << total << endl;
// Logika diskon bertingkat
if (total >= 2000000) {
diskon = total * 0.2;
cout << "Diskon 20% (belanja >= Rp2.000.000)" << endl;
} else if (total >= 1000000) {
diskon = total * 0.1;
cout << "Diskon 10% (belanja >= Rp1.000.000)" << endl;
} else if (total >= 500000) {
diskon = total * 0.05;
cout << "Diskon 5% (belanja >= Rp500.000)" << endl;
} else {
cout << "Tidak ada diskon (belanja < Rp500.000)" << endl;
}
totalBayar = total - diskon;
cout << "Diskon: Rp" << diskon << endl;
cout << "Total bayar: Rp" << totalBayar << endl;
return 0;
}
Contoh Output
=== Program Kasir Sederhana ===
Masukkan harga barang: Rp250000
Masukkan jumlah barang: 5
Total belanja: Rp1250000
Diskon 10% (belanja >= Rp1.000.000)
Diskon: Rp125000
Total bayar: Rp1125000
5. Studi Kasus: Program Kasir dengan Menu dan PPN
Program yang lebih kompleks dengan pajak dan pilihan item:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int pilihan, jumlah;
float harga, total = 0, diskon = 0, ppn, grandTotal;
cout << "=== Program Kasir Minimarket ===\n";
cout << "1. Mie Instan - Rp3.500\n";
cout << "2. Susu Kotak - Rp6.000\n";
cout << "3. Roti Tawar - Rp12.000\n";
cout << "4. Selesai\n\n";
while (true) {
cout << "Pilih item (1-4): ";
cin >> pilihan;
if (pilihan == 4) break;
cout << "Jumlah: ";
cin >> jumlah;
switch(pilihan) {
case 1: total += 3500 * jumlah; break;
case 2: total += 6000 * jumlah; break;
case 3: total += 12000 * jumlah; break;
default: cout << "Item tidak valid!\n";
}
}
// Diskon jika total > 100rb
if (total > 100000) diskon = total * 0.1;
// PPN 11%
ppn = (total - diskon) * 0.11;
grandTotal = total - diskon + ppn;
cout << fixed << setprecision(0);
cout << "\n=== Struk Belanja ===\n";
cout << "Total: Rp" << total << endl;
cout << "Diskon: Rp" << diskon << endl;
cout << "PPN 11%%: Rp" << ppn << endl;
cout << "Grand Total: Rp" << grandTotal << endl;
return 0;
}
6. Latihan Mandiri
Coba kembangkan program di atas dengan menambahkan fitur:
- Simpan data transaksi ke dalam array
- Hitung rata-rata belanja per item
- Tampilkan jumlah item yang dibeli
- Tambahkan validasi input (jangan sampai pengguna memasukkan angka negatif)
Kesalahan Umum yang Sering Terjadi
Saat belajar C++, beberapa kesalahan umum yang perlu dihindari:
- Lupa titik koma — Setiap statement di C++ harus diakhiri dengan
;. - Out of bounds array — Index array dimulai dari 0, pastikan tidak mengakses index di luar deklarasi.
- Mengabaikan return type — Fungsi
main()harus bertipeintdan mengembalikan nilai. - Tidak menggunakan namespace — Gunakan
using namespace std;atau qualify denganstd::untuk menghindari ambigu. - Lupa menginisialisasi variabel — Variabel lokal tidak otomatis bernilai 0; selalu inisialisasi sebelum dipakai.
Memahami kesalahan umum ini akan menghemat waktu debugging Anda.
- Belajar Pemrograman C++ untuk Pemula
- Contoh Program Do While C++
- Contoh Program Manipulasi String C++
- Program Menghitung Gaji Karyawan C++
Kesimpulan
Program menghitung total pembayaran dan diskon adalah latihan yang mengajarkan konsep fundamental C++: input/output, variabel, operator, percabangan, dan switch-case. Dengan memahami contoh di atas, Anda bisa mengembangkannya menjadi program kasir yang lebih lengkap untuk studi kasus nyata.

