Anda di halaman 1dari 6

Penjelasan Program kasir:

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.

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:
Hasil program:

Scrib Program :

#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

Anda mungkin juga menyukai