Anda di halaman 1dari 18

Nama Kelompok:

I Wayan Boby Ramayudha (1705552014)


I Gusti Putu Agung Pradnyani Wulantari (1705552018)
I Dewa Gede Superatikadewa (1705552019)
Ida Ayu Pradita Dewi (1705552022)
4 TUGAS BESAR PEMROGRAMAN C++
=================================================
Soal :
Untuk meningkatkan daya saing dan penjualan sebuah toko bernama
Maju Kena Mundur Kena memerlukan sebuah aplikasi untuk membantu dalam
melakukan transaksi penjualan. Dalam aplikasi tersebut dapat menghitung
besar diskon yang didapat, total pembayaran dan kembalian. Berikut ini
adalah
kebutuhan yang ada dalam aplikasi :
1. Kasir menginputkan jumlah barang yang dibeli
2. Kasir menginputkan harga barang yang dibeli
3. Kasir menginputkan jumlah uang yang dibayarkan
4. Aplikasi menampilkan total belanja
5. Aplikasi menampilkan total diskon
6. Aplikasi menampilkan poin yang didapatkan
7. Aplikasi menampilkan total yang harus dibayar
8. Aplikasi menampilkan total kembalian
Ketentuan :
1. Jika total belanja kurang dari 100.000 maka mendapat diskon 0% dari
total belanja
2. Jika total belanja diantara 100.000 sampai 500.000 mendapat diskon
10% dari total belanja
3. Jika total belanja lebih dari 500.000 mendapat diskon 20% dari total
belanja
4. Untuk mendapat 1 buah poin berlaku untuk total belanja kelipatan
50.000
5. Kembalian ditampilkan dalam pecahan mata uang terbesar terlebih
dahulu
Contoh :
Kembalian = 95.800 maka outputnya seperti berikut :
 1 Lembar 50.000
 2 Lembar 20.000
 1 lembar 500
 3 koin 100
Buatlah aplikasi yang sesuai dengan kebutuhan dari toko Maju Kena Mundur
Kena dengan menggunakan bahasa pemrograman C++
SYNTAC PROGRAM KASIR MAJU KENA MUNDUR KENA

#include <iostream>

#include <conio.h>

#include <stdlib.h>

using namespace std;

int poin;

float seratus_ribu, lima_puluh_ribu, dua_puluh_ribu, sepuluh_ribu, lima_ribu,

dua_ribu, seribu, lima_ratus, dua_ratus, seratus;

void hitungPoin(int total_harga)

for(int i=0; i<=total_harga; i++)

if(total_harga >= 50000)

poin++;

total_harga -= 50000;

if(total_harga < 50000)

continue;

void hitungPecahanUang(int total_bayar)

while (total_bayar>=100)
{

if(total_bayar >= 100000)

seratus_ribu++;

total_bayar -= 100000;

else if(total_bayar >= 50000)

lima_puluh_ribu++;

total_bayar -= 50000;

else if(total_bayar >= 20000)

dua_puluh_ribu++;

total_bayar -= 20000;

else if(total_bayar >= 10000)

sepuluh_ribu++;

total_bayar -= 10000;

else if(total_bayar >= 5000)

lima_ribu++;

total_bayar -= 5000;

else if(total_bayar >= 2000)

dua_ribu++;

total_bayar -= 2000;
}

else if(total_bayar >= 1000)

seribu++;

total_bayar -= 1000;

else if(total_bayar >= 500)

lima_ratus++;

total_bayar -= 500;

else if(total_bayar >= 200)

dua_ratus++;

total_bayar -= 200;

else if(total_bayar >= 100)

seratus++;

total_bayar -= 100;

else if(total_bayar < 100)

continue;

void cetakPecahanUang()

{
if(seratus_ribu > 0)

cout<<seratus_ribu<<" lembar Rp. 100.000"<<endl;

if(lima_puluh_ribu > 0)

cout<<lima_puluh_ribu<<" lembar Rp. 50.000"<<endl;

if(dua_puluh_ribu > 0)

cout<<dua_puluh_ribu<<" lembar Rp. 20.000"<<endl;

if(sepuluh_ribu > 0)

cout<<sepuluh_ribu<<" lembar Rp. 10.000"<<endl;

if(lima_ribu > 0)

cout<<lima_ribu<<" lembar Rp. 5.000"<<endl;

if(dua_ribu > 0)

cout<<dua_ribu<<" lembar Rp. 2.000"<<endl;

if(seribu > 0)

cout<<seribu<<" lembar Rp. 1.000"<<endl;

if(lima_ratus > 0)

{
cout<<lima_ratus<<" koin Rp. 500"<<endl;

if(dua_ratus > 0)

cout<<dua_ratus<<" koin Rp. 200"<<endl;

if(seratus > 0)

cout<<seratus<<" koin Rp. 100"<<endl;

seratus_ribu = 0;

lima_puluh_ribu= 0;

dua_puluh_ribu = 0;

sepuluh_ribu = 0;

lima_ribu = 0;

dua_ribu = 0;

seribu = 0;

lima_ratus = 0;

dua_ratus = 0;

seratus = 0;

main()

int harga, jumlah, total_harga, total_bayar, diskon, kembalian;

char i;

do {

poin = 0;
system("cls");

cout<<"Masukkan harga barang: Rp. ";

cin>>harga;

cout<<"Masukkan jumlah barang: ";

cin>>jumlah;

total_harga = harga * jumlah;

if(total_harga >= 100000 && total_harga < 500000)

diskon = 10;

else if(total_harga >= 500000)

diskon = 20;

else

diskon = 0;

hitungPoin(total_harga);

cout<<endl<<"================================"<<endl<<endl;

cout<<"Total harga: Rp. "<<total_harga<<endl;

if(diskon != 0){

cout<<"Anda mendapatkan diskon sebesar "<<diskon<<"%"<<endl<<endl;

total_harga = total_harga - (total_harga * diskon / 100);

cout<<"Total harga setelah diskon: Rp. "<<total_harga<<endl;

}
cout<<"Anda mendapatkan "<<poin<<" poin"<<endl<<endl;

cout<<"================================"<<endl;

cout<<"Masukkan jumlah pembayaran: Rp ";

cin>>total_bayar;

cout<<"================================"<<endl;

cout<<"Anda membayar dengan pecahan: "<<endl;

hitungPecahanUang(total_bayar);

cetakPecahanUang();

cout<<"================================"<<endl;

kembalian = total_bayar - total_harga;

cout<<"Kembalian Anda: Rp. "<<kembalian<<endl;

cout<<"Pecahan: "<<endl;

hitungPecahanUang(kembalian);

cetakPecahanUang();

cout<<endl<<"================================"<<endl;

cout<<"Ingin memasukkan harga lagi? (y/n): ";

cin>>i;

} while(i=='y' || i=='Y');

cout<<endl<<"Terimakasih telah berkunjung ke toko kami!"<<endl;

getch();

}
Hasil screenshoot eksekusi fitur-fitur aplikasi Kasi MajuKena Mundur Kena
Penjelasan source code (Input data, penghitungan total belanja, hitung kembalian-
pecahan uang) dari Program Kasir Maju Kena Mundur Kena

#include <iostream>//untuk mengaktifkan fungsi cin(input ke variable) dan


cout(tampillan data atau kata) //

#include <conio.h>//untuk mengaktifkan fungsi getch(untuk mengambil sebuah input)//

#include <stdlib.h>//untuk mengaktifkan standar librari seperti system(); //

using namespace std;//untuk mempersingkat std::cout atau std::cin menjadi cout atau
cin//

// variable global yang akan di akses oleh semuanya. Agar tidak perlu deklarasi ulang//

int poin;//untuk menyimpan poin belanja//

float seratus_ribu, lima_puluh_ribu, dua_puluh_ribu, sepuluh_ribu, lima_ribu,

dua_ribu, seribu, lima_ratus, dua_ratus, seratus;//jumlah peachan uang//

//di atas ini adalah variable global//

void hitungPoin(int total_harga)//hitung poin belanja//

for(int i=0; i<=total_harga; i++)//pengulangan untuk menghitung poin//

if(total_harga >= 50000)// jika total harga lebih besar dari 50 ribu//

poin++;//tambah 1 poin//

total_harga -= 50000;//kurangi total harga//

if(total_harga < 50000)

continue;//selesaikan pengulangan bila total harga lebih kecil dari 50 ribu..//

}
}

void hitungPecahanUang(int total_bayar)//hitung pecahan uang//

while (total_bayar>=100)//for(int i=0; i<=total_bayar; i++)//pengulangan kalau totab


bayar lebih dari 100 perak//

if(total_bayar >= 100000)//jika total bayar lebih dari 100 ribu //

seratus_ribu++;//tambah 1 di pecahan uang stratus ribu //

total_bayar -= 100000;// kurangi 100 ribu //

else if(total_bayar >= 50000)//jika total bayar lebih dari 50 ribu //

lima_puluh_ribu++;//tambah 1 di pecahan uang lima puluh ribu //

total_bayar -= 50000;//tambah 1 di pecahan uang lima pulih ribu //

else if(total_bayar >= 20000)//jika total bayar lebih dari 20 ribu //

dua_puluh_ribu++;//tambah 1 di pecahan uang dua puluh ribu //

total_bayar -= 20000;//tambah 1 di pecahan uang dua pulih ribu //

else if(total_bayar >= 10000)//jika total bayar lebih dari 10 ribu //

sepuluh_ribu++;//tambah 1 di pecahan uang sepuluh ribu //

total_bayar -= 10000;//tambah 1 di pecahan uang sepuluh ribu //

else if(total_bayar >= 5000)//jika total bayar lebih dari 5 ribu //


{

lima_ribu++;//tambah 1 di pecahan uang lima ribu //

total_bayar -= 5000;//tambah 1 di pecahan uang lima ribu //

else if(total_bayar >= 2000)//jika total bayar lebih dari 2 ribu //

dua_ribu++;//tambah 1 di pecahan uang dus ribu //

total_bayar -= 2000;//tambah 1 di pecahan uang dua ribu //

else if(total_bayar >= 1000)//jika total bayar lebih dari seribu //

seribu++;//tambah 1 di pecahan uang seribu //

total_bayar -= 1000;//tambah 1 di pecahan uang seribu //

else if(total_bayar >= 500)//jika total bayar lebih dari 5 ratus //

lima_ratus++;//tambah 1 di pecahan uang lima ratus //

total_bayar -= 500;//tambah 1 di pecahan lima ratus //

else if(total_bayar >= 200)//jika total bayar lebih dari 2 ratus //

dua_ratus++;//tambah 1 di pecahan uang dua ratus //

total_bayar -= 200;//tambah 1 di pecahan dua ratus //

else if(total_bayar >= 100)//jika total bayar lebih dari seratus //

seratus++;//tambah 1 di pecahan uang seratus //

total_bayar -= 100;//tambah 1 di pecahan dua ratus //

else if(total_bayar < 100)//jika total bayar lebih dari seratus //


{

continue;//selesaikan pengulangan//

void cetakPecahanUang()//cetak Pecahan Uang//

if(seratus_ribu > 0)// kalau ada seratus ribu//

cout<<seratus_ribu<<" lembar Rp. 100.000"<<endl;//cetak jumlah pecahan 100 ribu//

if(lima_puluh_ribu > 0)// kalau ada lima puluh ribu//

cout<<lima_puluh_ribu<<" lembar Rp. 50.000"<<endl;//cetak jumlah pecahan 50


ribu//

if(dua_puluh_ribu > 0)// kalau ada dua puluh ribu//

cout<<dua_puluh_ribu<<" lembar Rp. 20.000"<<endl;//cetak jumlah pecahan 20


ribu//

if(sepuluh_ribu > 0)// kalau ada sepuluh ribu//

cout<<sepuluh_ribu<<" lembar Rp. 10.000"<<endl;//cetak jumlah pecahan 10 ribu//

if(lima_ribu > 0)// kalau ada lima ribu//

cout<<lima_ribu<<" lembar Rp. 5.000"<<endl;//cetak jumlah pecahan 5 ribu//

}
if(dua_ribu > 0)// kalau ada dua ribu//

cout<<dua_ribu<<" lembar Rp. 2.000"<<endl;//cetak jumlah pecahan 2 ribu//

if(seribu > 0)// kalau ada seribu//

cout<<seribu<<" lembar Rp. 1.000"<<endl;//cetak jumlah pecahan 1 ribu//

if(lima_ratus > 0)// kalau ada lima ratus//

cout<<lima_ratus<<" koin Rp. 500"<<endl;//cetak jumlah pecahan 5 ratus//

if(dua_ratus > 0)// kalau ada dua ratus//

cout<<dua_ratus<<" koin Rp. 200"<<endl;//cetak jumlah pecahan 2 ratus//

if(seratus > 0)// kalau ada seratus//

cout<<seratus<<" koin Rp. 100"<<endl;//cetak jumlah pecahan 1 ratus//

seratus_ribu = 0;// menggeset ulang variable seratus_ribu//

lima_puluh_ribu= 0;// menggeset ulang variable lima_puluh_ribu//

dua_puluh_ribu = 0;// menggeset ulang variable dua_puluh_ribu//

sepuluh_ribu = 0;// menggeset ulang variable sepuluh_ribu//

lima_ribu = 0;// menggeset ulang variable lima_ribu//

dua_ribu = 0;// menggeset ulang variable dua_ribu//

seribu = 0;// menggeset ulang variable seribu//

lima_ratus = 0;// menggeset ulang variable lima_ratus//

dua_ratus = 0;// menggeset ulang variable dua_ratus//


seratus = 0;// menggeset ulang variable seratus//

main()//inti pemrograman yang manjalankan seluruh fungsi di atas dan menetukan apa
mendapatkn diskon berapa %//

int harga, jumlah, total_harga, total_bayar, diskon, kembalian;//variable input//

char i;//input untuk masuk ke pengulangan kasir//

do {// menjalankan input data pada program//

poin = 0;// mereset poin//

system("cls");//memerintakan system untuk bersihkan layar//

cout<<"Masukkan harga barang: Rp. ";

cin>>harga;// masukan harga barang//

cout<<"Masukkan jumlah barang: ";

cin>>jumlah;// jumlah harga barang//

total_harga = harga * jumlah;//hitung total harga barang//

if(total_harga >= 100000 && total_harga < 500000)// cek diskon untuk 10%//

diskon = 10;

else if(total_harga >= 500000)// cek diskon untuk 20%//

diskon = 20;

else //selain total harga 100000 dan 500000 tidak mendapatkan diskon//

{
diskon = 0; //tidak menampilkan diskon//

hitungPoin(total_harga);

cout<<endl<<"================================"<<endl<<endl;

cout<<"Total harga: Rp. "<<total_harga<<endl;//total H=harga barang//

if(diskon != 0){// jika dapet diskon//

cout<<"Anda mendapatkan diskon sebesar "<<diskon<<"%"<<endl<<endl;

total_harga = total_harga - (total_harga * diskon / 100);//hitung harga diskon//

cout<<"Total harga setelah diskon: Rp. "<<total_harga<<endl;

cout<<"Anda mendapatkan "<<poin<<" poin"<<endl<<endl;

cout<<"================================"<<endl;

cout<<"Masukkan jumlah pembayaran: Rp ";

cin>>total_bayar;

cout<<"================================"<<endl;

cout<<"Anda membayar dengan pecahan: "<<endl;

hitungPecahanUang(total_bayar);//ini untuk menghitung jumlah pecahan

cetakPecahanUang();//cetak jumlah pecahan

cout<<"================================"<<endl;

kembalian = total_bayar - total_harga;// kembalian //

cout<<"Kembalian Anda: Rp. "<<kembalian<<endl;

cout<<"Pecahan: "<<endl;

hitungPecahanUang(kembalian);

cetakPecahanUang();

cout<<endl<<"================================"<<endl;

cout<<"Ingin memasukkan harga lagi? (y/n): ";

cin>>i; //Memasukan nilai pilihan melanjutkan pembelian kembali atau tidak//

} while(i=='y' || i=='Y');// jika i sama dengan y kecil atau y besar//


cout<<endl<<"Terimakasih telah berkunjung ke toko kami!"<<endl;

getch();

Anda mungkin juga menyukai