Latihan kode program C++ kali ini akan membahas cara membuat dan menghitung diskon potongan harga.
Soal ini umumnya dipakai untuk menguji pemahaman seputar konsep variabel, operator perbandingan, dan kondisi if else.
Soal Diskon Potongan Harga
Buatlah program yang meminta data inputan berupa total belanja. Program kemudian menghitung berapa diskon yang bisa diperoleh dengan ketentuan sebagai berikut:
- Jika total belanja kurang dari Rp. 100.000, tidak mendapat diskon.
- Jika total belanja antara Rp. 100.000 – Rp. 500.000, mendapat diskon 10%.
- Jika total belanja antara Rp. 500.000 – Rp. 1.000.000, mendapat diskon 20%.
- Jika total belanja diatas Rp.1.000.000, mendapat diskon 30%.
Kode program kemudian menampilkan harga yang harus dibayar setelah dikurangi diskon.
Berikut contoh tampilan akhir yang diinginkan (1) :
Total Belanja: Rp.200000 Selamat, anda mendapat diskon 10% Total bayar: Rp.180000
Berikut contoh tampilan akhir yang diinginkan (2) :
Total Belanja: Rp.750000 Selamat, anda mendapat diskon 20% Total bayar: Rp.600000
Berikut contoh tampilan akhir yang diinginkan (3) :
Total Belanja: Rp.2999000 Selamat, anda mendapat diskon 30% Total bayar: Rp.2099300
Berikut contoh tampilan akhir yang diinginkan (4) :
Total Belanja: Rp.99999 Total bayar: Rp.99999
Tips Membuat Kode Program Diskon Potongan Harga
Karena terdapat beberapa kondisi, kode program ini butuh struktur if else. Setiap kondisi punya syarat gabungan, sehingga juga harus paham operator perbandingan dan operator logika di bahasa C++. Terakhir, butuh sedikit operasi aritmatika untuk menghitung diskon serta total jumlah akhir yang harus dibayar.
Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian Variabel dalam Bahasa C++
- Jenis-jenis Operator Aritmatika Bahasa C++
- Jenis-jenis Operator Perbandingan / Relasional Bahasa C++
- Jenis-jenis Operator Logika Bahasa C++
- Percabangan Kondisi IF ELSE IF Bahasa C++
Kode Program C++ Menghitung Diskon Potongan Harga
Berikut salah satu solusi dari soal menghitung diskon potongan harga menggunakan bahasa pemrograman C++:
#include <iostream> using namespace std; int main() { cout << "## Program C++ Diskon Potongan Harga ##" << endl; cout << "=========================================" << endl; cout << endl; int total_belanja, harga_akhir; cout << "Total Belanja: Rp."; cin >> total_belanja; cout << endl; if ((total_belanja >= 100000) && (total_belanja < 500000)) { harga_akhir = total_belanja - (0.1*total_belanja); cout << "Selamat, anda mendapat diskon 10%" << endl; } else if ((total_belanja >= 500000) && (total_belanja < 1000000)) { harga_akhir = total_belanja - (0.2*total_belanja); cout << "Selamat, anda mendapat diskon 20%" << endl; } else if (total_belanja >= 1000000) { harga_akhir = total_belanja - (0.3*total_belanja); cout << "Selamat, anda mendapat diskon 30%" << endl; } else { harga_akhir = total_belanja; } cout << "Total bayar: Rp." << harga_akhir << endl; return 0; }
Di baris 11 terdapat perintah untuk deklarasi 2 variabel integer, yakni total_belanja dan harga_akhir.
Variabel total_belanja dipakai untuk menampung nilai input total belanja user. Ini diperoleh dari perintah cin >> total_belanja di baris 14.
Selanjutnya terdapat 4 pemeriksaan kondisi if else antara baris 17-31. Urutan pemeriksaan ini harus mulai dari terkecil ke terbesar agar sesuai dengan logika program.
Sebagai contoh, kondisi if di baris 17 akan dijalankan jika total belanja sama atau lebih besar dari 100.000, dan kurang dari 500.000. Jika ini bernilai true, maka hitung harga_akhir dengan mengurangkan isi variabel total_belanja – (0.1*total_belanja). Sebagai info tambahan, terdapat perintah cout yang berisi teks "Selamat, anda mendapat diskon 10%".
Untuk kondisi if di baris 21, akan dijalankan jika total belanja sama atau lebih besar dari 500.000, dan kurang dari 1.000.000. Jika ini bernilai true, maka hitung harga_akhir dengan mengurangkan isi variabel total_belanja – (0.2*total_belanja). Sebagai info tambahan, terdapat perintah cout yang berisi teks "Selamat, anda mendapat diskon 20%".
Untuk kondisi if di baris 25, akan dijalankan jika total belanja sama sama atau lebih besar dari 1.000.000. Jika ini bernilai true, maka hitung harga_akhir dengan mengurangkan isi variabel total_belanja – (0.3*total_belanja). Sebagai info tambahan, terdapat perintah cout yang berisi teks "Selamat, anda mendapat diskon 30%".
Terakhir, blok else di baris 29-31 akan dijalankan jika tidak memenuhi ketiga syarat diatas, yakni jika total_belanja kurang dari 100.000. Jika ini bernilai true, harga_akhir akan sama dengan total_belanja karena tidak mendapat diskon.
Total bayar kemudian ditampilkan di baris 33.
Demikian kode program latihan membuat diskon potongan harga dalam bahasa pemrograman C++. Soal seperti ini cukup sering ditemukan dengan beberapa variasi harga diskon dan syarat tambahan.