Studi Kasus Toko Eskrim

Kali ini kita akan belajar mengenai Pemrograman C++, dengan studi kasus input data dan output struk pembayaran dari sebuah Toko Es Krim bernama “CM Ice Cream”. Dalam kasus ini, si pembeli akan datang dan akan diberikan pilihan Es Krim yang ingin dibelinya, beserta harga masing-masing Es Krim tersebut.

Ada 3 (tiga) pilihan es krim yang diberikan, yaitu:

Chocolate Strawberry, dengan harga Rp. 15000
Chocolate Vanila, dengan harga Rp. 20000
Chocolate Capucinno, dengan harga Rp. 25000
Kemudian, jika jumlah pembelian melebihi Rp. 50000, akan diberikan diskon 10%, sedangkan jika jumlah pembelian di atas Rp. 40000 namun di bawah 50000, akan diberikan diskon 5%, di bawah itu tidak mendapatkan diskon. Untuk perhitungan uang kembalian, yaitu jumlah uang yang diberikan, dikurangi jumlah total pembelian.

Di akhir program, kasir akan diberikan kesempatan untuk memilih, apakah ingin mengulangi proses atau tidak.

Sekarang, mari kita mulai buat programnya, langkah per langkah.

Langkah pertama, adalah dengan mendaftarkan file header yang dibutuhkan. Script-nya adalah sebagai berikut:

#include <conio.h>
#include <stdio.h>
#include <iostream.h>

Kemudian, berikan penanda bracket agar C++ tahu bahwa ini adalah awal program, sekaligus ketikkan daftar variabel memory yang dibutuhkan:

main()
{
char kode[3],nama[30],pembeli[30],input;
int harga,jumlah,total,jumtotal,jumbayar,kembalian,potongan;

Selanjutnya, untuk form input, script-nya seperti di bawah ini:

awal:
clrscr();
cout<<“”<<endl;
cout<<”                                 CM ICE CREAM                                   “<<endl;
cout<<” =========================================”<<endl;
cout<<” Input Nama Pembeli : “;gets(pembeli);
cout<<” Pilihan Es Krim Yang Tersedia : “<<endl;
cout<<” A1 – Chocolate Strawberry “<<endl;
cout<<” A2 – Chocolate Vanila “<<endl;
cout<<” A3 – Chocolate Capucinno “<<endl;
cout<<” Es Krim Yang Dipilih : “;cin>>kode;
cout<<” Jumlah Beli : “;cin>>jumlah;

Langkah selanjutnya adalah menyeleksi Kode Es Krim yang diketikkan kasir.

if (strcmp(kode,”A1″)==0) {
strcpy(nama,”Chocolate Strawberry”);
harga=15000;
}
else if (strcmp(kode,”A2″)==0) {
strcpy(nama,”Chocolate Vanila”);
harga=20000;
}
else {
strcpy(nama,”Chocolate Capucinno”);
harga=25000;
}

Kemudian tampilkan hasil sesuai dengan pilihan yang diberikan pada form input:

clrscr();
cout<<“”<<endl;
cout<<” =========================================”<<endl;
cout<<” Struk Pembayaran “<<endl;
cout<<” =========================================”<<endl;
cout<<” Nama Pembeli : “<<pembeli<<endl;
cout<<” Nama Es Krim : “<<nama<<endl;
cout<<” Harga : “<<harga<<endl;
cout<<” Jumlah : “<<jumlah<<endl;
total=harga*jumlah;
cout<<” Total : “<<total<<endl;
if (kode==”A1″||total>40000) {
potongan=0.05*total;
}
else if (kode==”A2″&&total>50000) {
potongan=0.1*total;
}
else {
potongan=0;
}
cout<<” Potongan : “<<potongan<<endl;
cout<<” =========================================”<<endl;

Lalu hitung jumlah total yang harus dibayarkan, berikut uang kembalian, sesuai jumlah yang diberikan pembeli:

jumtotal=total-potongan;
cout<<” Total Keseluruhan : “<<jumtotal<<endl;
cout<<” Uang Bayar : “;cin>>jumbayar;
kembalian=jumbayar-jumtotal;
cout<<” Uang Kembali : “<<kembalian<<endl;
cout<<” =========================================”<<endl;

Dan akhirnya, script untuk memberikan pilihan pada Kasir, apakah ia ingin mengulangi proses tersebut dari awal.

cout<<” Mau Input Lagi [Y/N]? : “;cin>>input;
if (input==’Y’||input==’y’)
goto awal;
else
goto akhir;
akhir:
}

Untuk selanjutnya, tentu saja, gabungkan script-script tersebut di atas, ke dalam satu program utuh, seperti di bawah ini:

#include <conio.h>
#include <stdio.h>
#include <iostream.h>

main()
{
char kode[3],nama[30],pembeli[30],input;
int harga,jumlah,total,jumtotal,jumbayar,kembalian,potongan;

awal:
clrscr();
cout<<“”<<endl;
cout<<” CM ICE CREAM “<<endl;
cout<<” =========================================”<<endl;
cout<<” Input Nama Pembeli : “;gets(pembeli);
cout<<” Pilihan Es Krim Yang Tersedia : “<<endl;
cout<<” A1 – Chocolate Strawberry “<<endl;
cout<<” A2 – Chocolate Vanila “<<endl;
cout<<” A3 – Chocolate Capucinno “<<endl;
cout<<” Es Krim Yang Dipilih : “;cin>>kode;
cout<<” Jumlah Beli : “;cin>>jumlah;

if (strcmp(kode,”A1″)==0) {
strcpy(nama,”Chocolate Strawberry”);
harga=15000;
}
else if (strcmp(kode,”A2″)==0) {
strcpy(nama,”Chocolate Vanila”);
harga=20000;
}
else {
strcpy(nama,”Chocolate Capucinno”);
harga=25000;
}

clrscr();
cout<<“”<<endl;
cout<<” =========================================”<<endl;
cout<<” Struk Pembayaran “<<endl;
cout<<” =========================================”<<endl;
cout<<” Nama Pembeli : “<<pembeli<<endl;
cout<<” Nama Es Krim : “<<nama<<endl;
cout<<” Harga : “<<harga<<endl;
cout<<” Jumlah : “<<jumlah<<endl;
total=harga*jumlah;
cout<<” Total : “<<total<<endl;
if (kode==”A1″||total>40000) {
potongan=0.05*total;
}
else if (kode==”A2″&&total>50000) {
potongan=0.1*total;
}
else {
potongan=0;
}
cout<<” Potongan : “<<potongan<<endl;
cout<<” =========================================”<<endl;
jumtotal=total-potongan;
cout<<” Total Keseluruhan : “<<jumtotal<<endl;
cout<<” Uang Bayar : “;cin>>jumbayar;
kembalian=jumbayar-jumtotal;
cout<<” Uang Kembali : “<<kembalian<<endl;
cout<<” =========================================”<<endl;
cout<<” Mau Input Lagi [Y/N]? : “;cin>>input;
if (input==’Y’||input==’y’)
goto awal;
else
goto akhir;
akhir:
}

 Sedangkan untuk screenshoot Form Input-nya, adalah seperti di bawah ini :

Dan untuk Form Output-nya adalah seperti berikut ini :



Comments