A. KASUS
Pada kali ini saya akan menjelaskan program penjualan kosmetik yang telah saya buat sebelumnya dengan operasi struct, struct array dan pointer. Berikut adalah menu kosmetik yang tersedia di program saya.Menu di bawah ini muncul setelah kita memasukkan identitas kita seperti nama dan nomor handphone.
NO
|
JENIS
KOSMETIK
|
HARGA
|
DISKON
|
1
|
Mud Mask Jafra Bib
& Headband
|
Rp 290.000
|
10%
|
2
|
Jafra Mattifying Cleanser
|
Rp 107.000
|
10%
|
3
|
Serum Royal Jelly
Lift Concentrate
|
Rp 899.000
|
10%
|
4
|
Royal Olive
Exfol
|
Rp 259.000
|
10%
|
5
|
Royal Olive Bath
Shower Gel
|
Rp 149.000
|
10%
|
6
|
Cream Concealer
Light
|
Rp 129.000
|
10%
|
7
|
Cream Jafra Jande
ED
|
Rp 509.000
|
10%
|
8
|
Lipstik Jafra Lip
Polish Pinky
|
Rp 149.000
|
10%
|
9
|
Royal Jelly Eye
Concentrate Capsules
|
Rp 559.000
|
10%
|
10
|
Long Wear LipGloss
Infinite Red
|
Rp 149.000
|
10%
|
B. PROGRAM
Di bawah ini adalah listing program, hasil running dan akses file dari kasus penjualan kosmetik yang saya buat menggunakan struct, struct array dan pointer.
- LISTING PROGRAM
#include <iostream>
#include <string.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<fstream>
using namespace std;
struct identitas
{
char nama[20];
char nohp[50];
int jlhbarang;
int pil, harga, diskon;
char lagi;
}dt;
void header()
{
cout<<"======================================================"<<endl;
cout<<"| ANGEL'S SHOP |"<<endl;
cout<<"| SELAMAT DATANG DI TOKO KAMI |"<<endl;
cout<<"| SELAMAT BERBELANJA |"<<endl;
cout<<"======================================================"<<endl;
}
void footer()
{
cout<<"===================================================== "<<endl;
cout<<"| |"<<endl;
cout<<"| TERIMA KASIH ATAS KUNJUNGAN ANDA |"<<endl;
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++++++ "<<endl;
}
void Jafra_Mudmask_BibHeadband ()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=290000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
void Jafra_Mattifying_Cleanser()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=107000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
void SerumRJ_Lift_Concentrate()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=899000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
void Royal_Olive_Exfol ()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=259000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
void RoyalOlive_Bath_Shower_Gel ()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=149000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
void Cream_Concealer_Light ()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=129000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
void Cream_Jafra_Jande_ED ()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=509000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
void Lipstik_Jafra_LipPolishPinky ()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=149000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
void RoyalJelly_EyeConcentrate_Capsules ()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=559000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
void LongWear_LipGloss_InfiniteRed ()
{
cout<<" Masukkan Jumlah Barang : "; cin>>dt.jlhbarang;
dt.harga=149000*dt.jlhbarang;
cout<<" Total Harga adalah : "<<dt.harga<<endl;
dt.diskon=dt.harga*10/100;
cout<<" Total Pembayaran adalah : "<<dt.harga-dt.diskon<<endl;
}
int main()
{
header ();
cout<<endl;
cout<<endl;
cout<<"----------------------------------------------------------------------------------"<<endl;
cout<<"| Isi Identitas Anda |"<<endl;
cout<<"----------------------------------------------------------------------------------"<<endl;
cout<<"Data Pelanggan";
cout<<endl;
cout<<"Nama : ";
cin.getline(dt.nama,sizeof(dt.nama));
cout<<"Alamat dari nama pelanggan adalah : "<<&dt.nama<<endl;
atas1:
cout<<"Nomor Handphone: ";
cin.getline(dt.nohp,sizeof(dt.nohp));
if(strlen(dt.nohp) > 10 && strlen(dt.nohp) <= 12)
{
cout<<"Nomor yang Anda masukkan valid \n";
}
else
{
cout<<"Nomor yang Anda masukkan tidak valid. Silahkan masukkan kembali :)\n";
goto atas1;
}
getch();
system("cls");
header();
cout<<endl;
struct kosmetik
{
string DaftarHargaJafra [10][3]=
{{" 1. Mud Mask Jafra Bib & Headband "," Rp 290.000"," 10%"},
{" 2. Jafra_Mattifying_Cleanser"," Rp 107.000"," 10%"},
{" 3. Serum Royal Jelly Lift_Concentrate"," Rp 899.000"," 10%"},
{" 4. Royal Olive Exfol"," Rp 259.000"," 10%"},
{" 5. Royal Olive Bath Shower Gel"," Rp 149.000"," 10%"},
{" 6. Cream Concealer Light"," Rp 129.000"," 10%"},
{" 7. Cream Jafra Jande ED"," Rp 509.000"," 10%"},
{" 8. Lipstik Jafra Lip Polish Pinky"," Rp 149.000"," 10%"},
{" 9. Royal Jelly Eye Concentrate Capsules","Rp 559.000"," 10%"},
{" 10.Long Wear LipGloss Infinite Red "," Rp 149.000"," 10%"},};
}jkm;
kembali:
cout<<"======================================================"<<endl;
cout<<"====================DAFTAR HARGA JAFRA=============="<<endl;
cout<<"======================================================="<<endl;
cout<<"\tJENIS KOSMETIK\t\t\t\t"<<"HARGA\t\t"<<"DISKON\t\t"<<endl;
cout<<"----------------------------------------------------------------------"<<endl;
for (int i=0;i<10;i++)
{
for (int j=0;j<3;j++)
{
cout <<jkm.DaftarHargaJafra[i][j]<<"\t";
}
cout<<endl;
}
cout<<"======================================================"<<endl;
cout<<"\n Silahkan Pilih : "; cin>>dt.pil;
if (dt.pil==1)
{
Jafra_Mudmask_BibHeadband();
}
else if (dt.pil==2)
{
Jafra_Mattifying_Cleanser() ;
}
else if (dt.pil==3)
{
SerumRJ_Lift_Concentrate() ;
}
else if (dt.pil==4)
{
Royal_Olive_Exfol() ;
}
else if (dt.pil==5)
{
RoyalOlive_Bath_Shower_Gel();
}
else if (dt.pil==6)
{
Cream_Concealer_Light();
}
else if (dt.pil==7)
{
Cream_Jafra_Jande_ED() ;
}
else if (dt.pil==8)
{
Lipstik_Jafra_LipPolishPinky() ;
}
else if (dt.pil==9)
{
RoyalJelly_EyeConcentrate_Capsules() ;
}
else if (dt.pil==10)
{
LongWear_LipGloss_InfiniteRed() ;
}
if (!dt.pil)
{
cout<<"pilihan yang Anda pilih tidak ditemukan"<<endl;
}
cout<<endl;
cout<<endl;
lagi:
cout<<"Apakah Ingin Membeli Lagi? [Y/T] : ";cin>>dt.lagi;
if (dt.lagi=='Y' || dt.lagi == 'y')
{
cout<<endl;
goto kembali;
}
else if(dt.lagi=='T' || dt.lagi == 't')
{
cout<<"Terima kasih telah berbelanja :) "<<endl;
cout<<"Silahkan datang kembali:) "<<endl;
cout<<endl;
footer();
ofstream myfile ("AngelShop.txt");
if(myfile.is_open())
{
myfile<<"====================================================="<<endl;
myfile<<"| ANGEL'S SHOP |"<<endl;
myfile<<"| SELAMAT DATANG DI TOKO KAMI |"<<endl;
myfile<<"| SELAMAT BEBBELANJA |"<<endl;
myfile<<"============================================== ======"<<endl;
myfile<<endl<<endl;
myfile<<"Selamat pembelian kosmetik jafra atas nama "<<dt.nama<<" telah berhasil"<<endl;
myfile<<" dengan jumlah kosmetik sebanyak "<<dt.jlhbarang<<"buah kosmetik"<<endl;
myfile<<" Dengan total pembayaran "<<dt.harga-dt.diskon<<endl;
myfile<<"====================================================="<<endl;
myfile<<"|Terima kasih telah berbelanja di toko kami :) |"<<endl;
myfile<<"|Silahkan datang kembali :) |"<<endl;
myfile<<endl<<endl;
myfile<<"| TERIMA KASIH ATAS KUNJUNGAN ANDA |"<<endl;
myfile<<"=============================================== ="<<endl;
myfile.close();
}
else cout<<"Gagal membuka file";
}
return 0;
}
- RUNNING
- AKSES FILE
C. PENJELASAN PROGRAM SECARA UMUM
Program diatas akan saya jelaskan sebagai berikut:
Bagian
baris 1-6 dari program tersebut adalah bagian library. Using
namespace std berfungsi untuk mewakili penggunaan std pada program. Nah,
dibaris yang ke 9-17 adalah operasi struct identitas yang berisi tipe data dan
variabel serta objek dari struct tersebut.Objek dari struct identitas ini
adalah dt. Operasi struct tersebut dapat berjalan apabila setiap variabel yang
berada dalam kurung kurawal ditambahi dt di awalnya. Contoh dt.nama.
Selanjutnya baris 19-34 itu adalah prosedur untuk bagian atas dan bawah
program. Selanjutnya baris 36-125 merupakan prosedur untuk memasukkan jumlah
barang setiap produk dan rumus hitungan untuk total bayarnya. Selanjutnya,
baris 137-153 disini memasukkan nama dan nomor handphone. Jika kita salah
memasukkan nomor handphone program akan
menampilkan tulisan nomor yang anda masukkan tidak valid. Selain itu
terdapat operasi pointer yang berfungsi untuk menentukan alamat dari nama yang
telah dimasukkan. Nah, dibaris yang ke 162-175 adalah operasi struct kosmetik
yang berisi tipe data dan variabel serta objek dari struct tersebut.Objek dari
struct kosmetik ini adalah jkm. Operasi struct tersebut dapat berjalan apabila
setiap variabel yang berada dalam kurung kurawal ditambahi dt di awalnya.
Contoh jkm.DaftarHargaJafra. Di baris 180-193 terdapat for yang berfungsi untuk
membuat tabel daftar harga jafra memakai array. Dalam baris 196-242 , disini
adalah operasi if else untuk pilihan kosmetik. Jika kita memilih selain yang
ada di daftar, program akan menampilkan pilihan yang anda pilih tidak
ditemukan. Selanjutnya, baris 250-260 merupakan fungsi untuk mengulang program
atau tidak. Jika ya program akan diulang dan jika tidak maka program akan
terhenti. Dan yang terakhir, baris 263-284 merupakan fungsi untuk menampilkan file
dari program yang telah dibuat.
Sekian
penjelasan dari saya tentang kasus penjualan kosmetik dan program yang telah saya
buat menggunakan struct, struct array dan pointer. Terima kasih. Semoga
bermanfaat…. :) :)
0 komentar:
Posting Komentar