Halo sahabat programmer, kali ini saya ingin berbagai contoh program C++ tentang kasir yang sudah saya buat secara sederhana menggunakan aplikasi Dev C++. Sebelumnya sudah banyak contoh-contoh program C++ yang sudah saya buat seperti program C++ biodata mahasiswa dan ada beberapa lainnya. Tujuan saya membagikan ini adalah agar kalian bisa belajar langsung pada studi kasusnya, sehingga konsep algoritma didalam program yang dibuat dapat berjalan dengan baik dan dapat diimplementasikan diberbagai contoh kasus.
Sebelum kalian membuat program C++ kasir ini sebaiknya kalian perlu memahami beberapa struktur dasar algoritma seperti percabangan dan perulangan, karena program ini menggunakan percabangan IF ELSE pada saat menentukan diskon yang didapatkan dari total belanja dan juga memakai perulangan FOR untuk mengulang perintah inputan dari user sesuai dengan jumlah beli. Selain itu program ini juga memakai array (larik) untuk menampung beberapa nilai sekaligus dalam satu variabel yang sama.
Contoh Program C++ Kasir
Program yang saya buat menggunakan aplikasi Dev C++. Jika kalian belum memiliki aplikasi tersebut silahkan baca cara menginstal Dev C++.
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main() {
//Inisialisasi atau deklarasi variabel
int jum_beli, bayar,diskon,jumlah[50], harga[50], sub_tot[50];
string nama_barang[50];
float tot;
cout<<"PROGRAM C++ KASIR"<<endl;
cout<<"---------------------------"<<endl;
cout<<endl;
cout<<"Masukan Jumlah Beli : ";
cin>>jum_beli; //Pengguna memasukan jumlah beli
for (int i=0; i<jum_beli;i++){
cout<<endl;
cout<<"Masukan Barang Ke-"<<i+1<<endl;
cout<<endl;
cout<<"Nama Barang : ";
cin>>nama_barang[i]; //Pengguna input nama barang disimpan pada array nama_barang
cout<<"Jumlah : ";
cin>>jumlah[i]; //Pengguna input jumlah disimpan pada array jumlah
cout<<"Harga : ";
cin>>harga[i]; //Pengguna input harga disimpan pada array harga
sub_tot[i]=jumlah[i]*harga[i]; // Menjumlahkan Harga sub total barang
tot+=sub_tot[i]; //Menjumlahkan seluruh sub total barang
}
cout<<endl;
cout<<"STRUK BELANJA MINI MARKET ABC"<<endl;
cout<<"---------------------------------------------------------"<<endl;
cout<<"No Barang Jumlah Harga Sub Total"<<endl;
for (int i=0;i<jum_beli;i++){
cout<<i+1<<setw(8)<<nama_barang[i]<<setw(10)<<jumlah[i]<<setw(12)<<harga[i]<<setw(12)<<sub_tot[i]<<endl; //Menampilkan semua nilai array
}
cout<<"---------------------------------------------------------"<<endl;
//Kondisi untuk menentukan diskon yang didapatkan berdasarkan total belanja
if (tot>=100000){
diskon=0.06*tot;
} else if (tot>=50000){
diskon=0.04;
}else if (tot>=25000){
diskon=0.02;
}else {
diskon=0;
}
//Menampilkan Keterangan
cout<<"Jumlah Bayar : Rp."<<tot<<endl;//Menampilkan jumlah bayar (belum termasuk diskon)
cout<<"Dikon : Rp."<<diskon<<endl; //Menampilkan diskon
cout<<"Total Bayar : Rp."<<tot-diskon<<endl;//Menampilkan total harga yang harus dibayar
cout<<"Bayar : Rp.";
cin>>bayar; // Input dari user untuk jumlah yang dibayar
cout<<"Kembali : Rp."<<(bayar-(tot-diskon))<<endl; // Menampilkan uang kembali
}
Penjelasan:
Program diatas saya menggunakan beberapa header yaitu:
- iostream – untuk mengenali proses input/output pada program
- string – untuk mengenali variabel dengan tipe string
- iomanip – untuk mengenali fungsi setw()
Ada beberapa variabel yang dibuat dengan tipe integer, string dan float sesuai dengan nilai yang akan ditampung pada masing-masing variabel. Selain itu beberapa variabel menggunakan array seperti nama_barang,harga_jumlah dan sub_tot dengan ukuran maksimal 50 tempat (space) . Variabel-variabel tersebut menggunakan larik karena nantinya penggua akan bisa memasukan nilai yang lebih dari satu berdasarkan jumlah barang yang dibeli, Pelajari selengkapnya tentang array (larik).
Program akan melakukan perulangan (looping) sebanyak jumlah beli yang dimasukan user pada saat program awal dijalankan, perhatikan pada sintak for (int i=0; i<jum_beli;i++)
nilai i akan terus ditambahkan (increment) selama nilai i kurang dari jumlah beli.
Pengguna akan memasukan nilai nama_barang, harga dan jumlah. Kode programnya ada pada sintak cin>>nama_barang[i];
cin>>jumlah[i];
dan cin>>harga[i];
Setiap nilai yang dimasukan akan disimpan pada array berdasarkan index ke-i, ingat index array dimulai dari 0 sehingga nilai i kita inisialisasi nilai awalnya adalah 0.
Selanjunya pada sintax sub_tot[i]=jumlah[i]*harga[i];
berfungsi untuk menjumlahkan harga barang dikali jumlah yang dibeli, sehingga kita bisa mengetahui harga sub_total barang tersebut.
Sintak tot+=sub_tot[i];
berfungsi untuk menjumlahkan seluruh nilai pada array sub_tot[] menggunakan operator addition assignment yang disimpan pada variabel tot.
Sintak cout<<i+1<<setw(8)<<nama_barang[i]<<setw(10)<<jumlah[i]<<setw(12)<<harga[i]<<setw(12)<<sub_tot[i]<<endl;
berfungsi untuk menampilkan semua nilai pada array yang diakses melalui index dengan bantuan variabel i. Kita juga menggunakan fungsi setw() untuk mengatur lebar agar sesuai.
Selanjutnya untuk menentukan berapa jumlah diskon yang didapatkan, kita menggunakan percabangan if else, aturan yang dibuat adalah jika total belanja lebih dari atau sama dengan 100 ribu maka akan mendapat diskon sebesar 0.6 %, sementara jika lebih dari atau sama dengan 50 ribu mendapat diskon 0.4 %, sedangkan jika lebih dari atau sama dengan 25 ribu mendapat 0.2%. Jika tidak memenuhi kondisi-kondisi diatas maka pelanggan tersebut tidak mendapat diskon.
Artikel Lain : Download Aplikasi Kasir Berbasis Web
Program c++ kasir ini sekaligus akan menampilkan uang kembali dari jumlah yang dibayar dikurangi denan total belanja (sudah termasuk diskon yang didapatkan).Apabila di compile dan di run hasil output dari program diatas adalah seperti gambar dibawah ini:
![contoh program c++ kasir](https://kelasprogrammer.com/wp-content/uploads/2020/02/program-c-kasir-sederhana.png)
Kesimpulan
Sekian pembahasan kali ini mengenai contoh program kasir menggunakan bahasa pemrograman c++. Semoga bermanfaat buat teman-teman yang sedang belajar lewat contoh kasus ini. Silahkan beri komentar kalian pada kolom komentar dibawah, Terimakasih.
kak kalo bisa kasih definisi masalah sama kerangka solusi nya sama pseudcode and deskchecking
Terima kasih untuk masukannya
GAK BISA DENGAN HARGA JUTAAN, HARGA TOTAL KOK KAYAK RP.1070E+700
ia kak masih menjadi kekurangan nii.. silahkan coba cari2 sumber lain untuk menangani hal ini.
Kalo langsung running .exe di komputer lain tanpa editor c++ bisa ndak kang?
ka tolong buat seperi daftar isi atau daftar program televisi pake c++ saya masih kurang paham
Bang, Tolong dong dibuat Flowchartnya juga, Bisa enggak?
baik kak menyusul ya tutorialnya.. terimakasih masukannya
bang barang apa aja yang bisa di input si customer
Bang itu bisa nggak ya diubah sedikit jadi ada fungsi rekursif?
mungkin bisa bro.. tapi sy sendiri blm coba
Kalo boleh tau, kira” Bisa di rubah di bagian mana atau bisa ditambah apa ya bang supaya ada fungsi rekursif, maaf bang banyak mintanya wkwkwk buat final project pake ide ini makasih banget bang jadi ada ide, ini sangat membantu bagi saya ada penjelasannya lagi.
mas knapa bagian diskon dan total bayar hasilnya -1 #QNAN ?
Mantap terima kasih kak tutorialnya, sangat membantu
mohon maaf saya bertanya
kenapa pada bagian diskon dan total bayar hasilnya -1 #QNAN ?
Makasih kak bagi ilmunya
Kak bisa ditambahin sorting nggak?
kalau mau lihat kembalian tapi setelah input uang bayar lalu program malah clossed itu kenapa ya ?
permisi kak mau tanya saat programnya di compile n run, bisa jalan dan bisa input barang. Tapi pada saat ditotal, ‘jumlah bayar, dan total bayar hasilnya Rp.nan’. Lalu untuk Diskon hasilnya ‘Rp.0’ dan untuk Bayar hasilnya hanya ‘Rp.’ saja. Saya menggunakan aplikasi codeblock (karena kebetulan sudah terinstall di laptop saya).
Mohon penjelasannya, terimakasih
coba sesuaikan pake aplikasi dev c++ ya kak.. terkadang beda editor bisa jadi program nya tidak berjalan dengan baik.
permisi kak mau nanya mengenai program ini, kalau saya compile, Di bagian harga nya tidak bisa diinput dengan bilangan pecahan. mohon sarangnya. Terima kasih.
selamat ulang tahun yaaan hehe
hallo kak, ini untuk keterangan nama barangnya ga bisa di ubah yaa? sya gagal terus, gimana cara mengubah nama barangnya supaya bisa di sesuaikan untuk tugas sya.
terimakasih
Tipe datanya apa puh