ANALISIS SOURCE CODE MENGHITUNG TRANSAKSI BELANJA



#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