Kamis, 14 Maret 2019

ALGORITMA DAN PEMROGRAMAN 2 "KUIS KASUS PENJUALAN KOSMETIK"

Posted by angel's note on Maret 14, 2019 with No comments
KUIS KASUS PENJUALAN KOSMETIK 


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