Contoh penggunaan struct untuk pendataan barang C++ - Belajar Bareng

Asssalmu'alaikum...
Setelah memahami mengenai definisi struct dan case study pada , 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

Posting Komentar

Lebih baru Lebih lama