Ask Contoh penggunaan struct untuk pendataan barang C++ AdityaDS - AdityaDees

Hot

https://publishers.chitika.com/

Contact us for advertising.

18 July 2020

Ask Contoh penggunaan struct untuk pendataan barang C++ AdityaDS

Asssalmu'alaikum...
Setelah memahami mengenai definisi struct dan case study pada case study struct in C++ , kali ini akan dilanjutkan dengan case study yang kedua yaitu menggunakan struct untuk Data Barang Dagang. 

Berikut deskripsi dan gambar untuk case study struct part 2 :

Data barang dagang
Deskripsi :
Pertama akan ada login, dengan ketentuan apabila salah user_id/password sebanyak 3x maka program akan close. Setelah login lakukan input data barang seperti : kode barang, nama barang, jumlah stock dan supplier. 
Menu Utama akan menampilkan 3 menu yang dimana menu pertama akan menampilkan hasil input barang. Menu kedua pengambilan barang berdasarkan kode barang yang artinya bahwa ketika barang diambil maka stock berkurang.  Menu terakhir yaitu close dari program.

Solusi : 
Pertama, user_id, password dan nama programmer yang sudah ditetapkan didalam program (tidak di input). Sehingga kita bisa buat sebuah struct programmer yang memiliki atribut nama,user_id dan password.


struct programmer {
    string nama = "belajarbelajarrr.blogspot.com";
    string user_id = "belajar";
    string password = "belajarrr";
} pro;

Kedua, pada input barang juga bisa kita buat menjadi struct seperti :

struct barang{
    string kodeBarang;
    string namaBarang;
    int stock;
    string supplier;
}barangdagang;

Ketiga, melakukan pengurangan stock dapat dilakukan dengan menggunakan algoritma searching (pencarian).

Setelah melakukan analisis terhadap case study maka selanjutnya memuat program utuhnya seperti :

#include<iostream>
#include<iomanip>
using namespace std;

struct programmer{
    string user_id="belajar";
    string password="belajarrr";
    string namaProgrammer="belajarbelajarrr.blogspot.com";
};
programmer pro;

struct barang{
    string namaBarang;
    string kodeBarang;
    string supplier;
    int jumlahStock;
};
int jumlahBarang;

void line(){
for(int i=0;i<50;i++){
cout<<"=";
}cout<<endl;
}

void menuUtama(){
    cout<<"Menu Utama"<<endl;
    line();
    cout<<"[I] Tampil data inventory"<<endl;
    cout<<"[P] Pengambilan barang"<<endl;
    cout<<"[E] Exit"<<endl;
    cout<<"Pilihan [I/P/E]?";
}

int main(){
    string user_id;
    string password;
    char pilih;
    string ambilKode;
    int jumlahAmbil;
    int j;
    int coba=0;
    do{
        cout<<"Data Aktifitas"<<endl;
        cout<<"PT 'supply'"<<endl;
        cout<<"Programmer : "<<pro.namaProgrammer<<endl;
        cout<<"Login "<<endl;
        cout<<"User Id: ";cin>>user_id;
        cout<<"Password: ";cin>>password;
        if(user_id==pro.user_id && password==pro.password)
            coba=100;
        else
            coba++;
        if(coba ==3)
            exit(0);
    }while(coba<3);

    cout<<"Input berapa barang?";
    cin>>jumlahBarang;
    barang barangDagang[jumlahBarang];
    cout<<"Input Data"<<endl;
    for (int i = 0; i < jumlahBarang; i++)
    {
        cout<<"Barang ke-"<<i+1<<endl;
        cout<<"Kode Barang : ";cin>>barangDagang[i].kodeBarang;
        cout<<"nama barang : ";cin.ignore();getline(cin, barangDagang[i].namaBarang);
        cout<<"stock : ";cin>>barangDagang[i].jumlahStock;
        cout<<"supplier : ";cin.ignore(); getline(cin, barangDagang[i].supplier);
    }

    do{
        menuUtama();
        cin>>pilih;
        switch (pilih)
        {
        case 'I':
                cout<<setiosflags(ios::left);
                cout<<setw(5)<<"No"<<setw(12)<<"Kode Barang"<<setw(20)<<"Nama Barang"<<setw(10)<<"Stock"<<setw(20)
                    <<"Supplier"<<endl;
                line();
                for (int i = 0; i < jumlahBarang; i++)
                {
                    cout<<setw(5)<<i+1<<setw(12)<<barangDagang[i].kodeBarang<<setw(20)<<barangDagang[i].namaBarang<<setw(10)<<barangDagang[i].jumlahStock<<setw(20)
                        <<barangDagang[i].supplier<<endl;
                }
                
            break;
        case 'P':
            line();
                cout<<"Kode Barang : ";cin>>ambilKode;
                cout<<"Jumlah Diambil : ";cin>>jumlahAmbil;
                j=0;
                for ( ; j < jumlahBarang; j++)
                {
                    if(ambilKode==barangDagang[j].kodeBarang){
                        barangDagang[j].jumlahStock -= jumlahAmbil;
                        break;
                    }
                        
                }
                cout<<"sisa Barang : "<<barangDagang[j].jumlahStock<<endl;
            line();
            break;
        case 'E':
            exit(0);
            break;
        default:
            break;
        }
        cout<<"Kembali ke Menu utama?[Y/T]";cin>>pilih;
    }while(pilih=='Y');

}
Hasil output program tersebut :



Ada banyak solusi yang bisa sobat pakai untuk menyelesaikan case study pada postingan kali ini ya :)

Semoga bermanfaat. Terimakasih 

*sumber beberapa gambar dikirim dari pembaca blog https://belajarbelajarrr.blogspot.com

No comments:

Post a Comment

Komentar yang bermutu Insyaallah akan mendapatkan berkah

https://payclick.com/

Contact us for advertising.