#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
}
- Analisis Source Code
Program ini adalah program C++ untuk menghitung transaksi belanja di sebuah mini market. Berikut adalah analisis dari source code tersebut:1. Library yang digunakan:
• `iostream`: Digunakan untuk input dan output dari program.
• `string`: Digunakan untuk mengolah data berupa string.
• `iomanip`: Digunakan untuk memanipulasi output dengan menggunakan `setw` (set width) untuk mengatur lebar tampilan.
2. Fungsi `main()`:
• Program dimulai dari fungsi `main()`, yang merupakan entry point dari program C++.
• Variabel-variabel yang digunakan dalam program dideklarasikan di awal, yaitu `jum_beli` untuk jumlah barang yang dibeli, `bayar` untuk jumlah uang yang dibayarkan, `diskon` untuk nilai diskon, `jumlah` , `harga`, dan `sub_tot` adalah array untuk menyimpan jumlah, harga, dan subtotal dari masing-masing barang, `nama_barang` adalah array untuk menyimpan nama barang, dan `tot` untuk total harga semua barang.
• Kemudian, program mencetak judul program "PROGRAM C++ KASIR" ke layar.
3. Memasukkan Data Barang:
• Pengguna diminta untuk memasukkan jumlah barang yang akan dibeli melalui `cin>>jum_beli`.
• Setelah itu, terdapat loop `for` untuk mengulang penggunaan input untuk setiap barang.
• Di dalam loop, pengguna diminta untuk memasukkan detail barang seperti nama barang, jumlah, dan harga.
• Nilai-nilai tersebut disimpan dalam array yang sesuai.
4. Menampilkan Struk Belanja:
• Setelah selesai menginput barang, program mencetak struk belanja ke layar.
• Pada bagian ini, terdapat loop `for` yang mengulang sebanyak jumlah barang yang telah diinput.
• Setiap barang diambil dari array dan dicetak ke layar menggunakan `cout` dengan format yang sesuai.
5. Menghitung Diskon:
• Program menentukan diskon yang didapatkan berdasarkan total belanja.
• Terdapat kondisi `if-else` untuk memeriksa total belanja dan menetapkan nilai diskon yang sesuai.
• Jika total belanja lebih dari atau sama dengan 100.000, diskon adalah 6% dari total belanja. Jika total belanja lebih dari atau sama dengan 50.000, diskon adalah 4%. Jika total belanja lebih dari atau sama dengan 25.000, diskon adalah 2%. Jika tidak memenuhi syarat-syarat tersebut, diskon adalah 0.
6. Menampilkan Total Bayar dan Pembayaran:
• Setelah itu, program mencetak informasi jumlah bayar, diskon, total bayar, dan meminta pengguna untuk memasukkan jumlah uang yang dibayarkan.
• Nilai kembaliannya dihitung dengan mengurangi jumlah yang dibayarkan dengan total bayar dikurangi diskon.
7. Program selesai:
• Program mencapai akhir dan selesai di sini.
Pada intinya, program ini mengambil input dari pengguna berupa detail barang, menghitung total belanja, menerapkan diskon berdasarkan total belanja, dan mencetak struk belanja serta informasi jumlah bayar, diskon, total bayar, dan kembalian.
- Analisis Source Code Lanjutan
Berikut adalah analisis dari source code tersebut:
1. `#include <iostream>`: Mendeklarasikan header file iostream yang berisi fungsi input-output standar untuk C++.
2. `#include <string>`: Mendeklarasikan header file string yang berisi fungsi-fungsi untuk memanipulasi string dalam C++.
3. `#include <iomanip>`: Mendeklarasikan header file iomanip yang berisi fungsi untuk memanipulasi output dengan menggunakan setw (set width) untuk mengatur lebar tampilan.
4. `using namespace std;`: Menggunakan namespace std sehingga tidak perlu menuliskan `std::` pada setiap penggunaan objek dari namespace std seperti cout, cin, dll.
5. `int main()`: Mendeklarasikan fungsi utama dari program, yang akan dieksekusi pertama kali ketika program dijalankan.
6. Variabel-variabel yang dideklarasikan:
• `jum_beli`: Variabel untuk menyimpan jumlah barang yang akan dibeli.
• `bayar`: Variabel untuk menyimpan jumlah uang yang dibayarkan.
• `diskon`: Variabel untuk menyimpan nilai diskon.
• `jumlah[50]`, `harga[50]`, `sub_tot[50]`: Array untuk menyimpan jumlah, harga, dan subtotal dari setiap barang. Ukuran array adalah 50.
• `nama_barang[50]`: Array untuk menyimpan nama barang. Ukuran array adalah 50.
• `tot`: Variabel untuk menyimpan total harga semua barang.
7. Penggunaan `cout`:
• Digunakan untuk mencetak teks ke layar.
• Contoh: `cout<<"PROGRAM C++ KASIR"<<endl;`
8. Penggunaan `cin`:
• Digunakan untuk menerima input dari pengguna melalui keyboard.
• Contoh: `cin>>jum_beli;`
9. Loop `for`:
• Digunakan untuk mengulang kode di dalam blok loop sejumlah kali tertentu.
• Contoh: `for (int i=0; i<jum_beli;i++) { ... }`
10. `if-else`:
• Digunakan untuk melakukan percabangan kondisional.
• Blok kode dalam `if` akan dieksekusi jika kondisi di dalamnya bernilai `true`. Jika tidak, maka blok kode dalam `else if` atau `else` akan dieksekusi.
• Contoh:
```cpp
if (tot>=100000) {
diskon=0.06*tot;
} else if (tot>=50000) {
diskon=0.04;
} else if (tot>=25000) {
diskon=0.02;
} else {
diskon=0;
}
```
11. `setw()`:
• Fungsi yang digunakan untuk mengatur lebar tampilan output.
• Contoh: `cout<<i+1<<setw(8)<<nama_barang[i]<<setw(10)<<jumlah[i]<<setw(12)<<harga[i]<<setw(12)<<sub_tot[i]<<endl;`
12. Operator aritmatika:
• Digunakan untuk melakukan operasi matematika seperti penjumlahan, perkalian, dan pengurangan.
• Contoh: `sub_tot[i]=jumlah[i]*harga[i];`
13. Operator relasional:
• Digunakan untuk membanding
Komentar
Posting Komentar