Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <windows.h>
- #include <conio.h>
- #include <windows.h>
- using namespace std;
- int urut=-1;
- //(deklarasi prosedur untuk penggunaan gotoxy){
- void gotoxy(int x,int y){
- COORD k = {x,y};
- SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), k);
- }
- //}(sampai sini)
- //(deklarasi struct untuk fungsi stack atau tumpukan, digunakan untuk menyimpan data nama barang beserta harganya){
- struct data{
- string nmBarang;
- int harga;
- int jmlStok;
- };
- struct Stack{
- data dataBarang[100];
- int posisi;
- }dataStok;
- //}(sampai sini)
- //(deklarasi struct linkedlist){
- struct linkedlist{
- string nmTmbhBrg;
- int bnykTmbhBrg;
- linkedlist* next;
- };
- linkedlist* head;
- linkedlist* tail;
- linkedlist* simpul;
- //}(sampai sini)
- //(prosedur buat simpul dan tambah data ke simpul untuk linkedlist yang berfungsi untuk menyimpan history penambahan stok barang){
- //dibawah ini prosedurnya dipanggil di prosedur tambahinNamaBrg()
- void buat_simpul(string dataNamaBrg,int banyaknya){
- simpul = new linkedlist;
- simpul->nmTmbhBrg = dataNamaBrg;
- simpul->bnykTmbhBrg = banyaknya;
- simpul->next = NULL;
- }
- //dibawah ini prosedurnya dipanggil dalam prosedur lihatstok()
- void tambahinNamaBrg(string dataNamaMasuk,int banyakMasuk){
- if(head == NULL && tail == NULL){
- buat_simpul(dataNamaMasuk,banyakMasuk);
- head = simpul;
- tail = simpul;
- }else{
- buat_simpul(dataNamaMasuk,banyakMasuk);
- simpul->next = head;
- head = simpul;
- }
- }
- //}(sampai sini)
- //(prosedur untuk fungsi login){
- //dibawah ini prosedurnya dipanggil di program inti(int main);
- void login(){
- string user,passwd,inuser,inpasswd;
- int salah=3;
- char input;
- user="teamgjls";passwd="admin123";
- char adm;
- anjay:
- if (salah==0){
- system("cls");
- system("color 0c");
- gotoxy(33,12);cout<< "=======================================================";
- gotoxy(33,13);cout<< "ANDA SALAH MEMASUKKAN USERNAME DAN PASSWORD SEBANYAK 3X";
- gotoxy(33,14);cout<< " SILAHKAN CLOSE APLIKASI KEMUDIAN BUKA LAGI!! ";
- gotoxy(33,15);cout<< "=======================================================";
- getch();
- exit(0);
- }else{
- system("color 0b");
- system("cls");
- gotoxy(42,3);cout << "=====================================";
- gotoxy(42,4);cout << "[ LOGIN APLIKASI ]";
- gotoxy(42,5);cout << "=====================================";
- gotoxy(42,7);cout<< "MASUKKAN USERNAME: ";
- gotoxy(42,8);cout<< "MASUKKAN PASSWORD: ";
- gotoxy(42,9);cout<< "Anda Memiliki Kesempatan Salah Sebanyak "<<salah<<"X";
- gotoxy(61,7);cin>> inuser;
- gotoxy(61,8);cin>> inpasswd;
- if (inuser==user){
- if(inpasswd==passwd){
- system("cls");
- system("color 0a");
- gotoxy(46,13);cout<< "============================";
- gotoxy(46,14);cout<< "[ ANDA BERHASIL LOGIN !! ]";
- gotoxy(46,15);cout<< "============================";
- getch();
- }else{
- system("cls");
- system("color 0c");
- gotoxy(45,13);cout<< "===============================";
- gotoxy(45,14);cout<< "[ USERNAME / PASSWORD SALAH!! ]";
- gotoxy(45,15);cout<< "===============================";
- getch();
- salah--;
- goto anjay;
- }
- }else{
- system("cls");
- system("color 0c");
- gotoxy(45,13);cout<< "===============================";
- gotoxy(45,14);cout<< "[ USERNAME / PASSWORD SALAH!! ]";
- gotoxy(45,15);cout<< "===============================";
- getch();
- salah--;
- goto anjay;
- }
- }
- }
- //}(sampai sini)
- //(prosedur untuk deklarasi nilai awal seluruh barang){
- //prosedur ini dipanggil dalam program inti(int main)
- void WajibCall(){
- dataStok.dataBarang[0].nmBarang="Buku Tulis";
- dataStok.dataBarang[1].nmBarang="Pulpen";
- dataStok.dataBarang[2].nmBarang="Pensil";
- dataStok.dataBarang[3].nmBarang="Penghapus";
- dataStok.dataBarang[4].nmBarang="Tipe-X";
- dataStok.dataBarang[5].nmBarang="kertas HVS";
- dataStok.dataBarang[6].nmBarang="Kertas Folio";
- dataStok.dataBarang[7].nmBarang="Kertas A4";
- dataStok.dataBarang[8].nmBarang="Buku Gambar";
- dataStok.dataBarang[9].nmBarang="Kertas Binder";
- dataStok.dataBarang[10].nmBarang="Kertas A3";
- dataStok.dataBarang[11].nmBarang="Label";
- dataStok.dataBarang[12].nmBarang="Penggaris Biasa";
- dataStok.dataBarang[13].nmBarang="Penggaris Busur";
- dataStok.dataBarang[14].nmBarang="Gunting";
- dataStok.dataBarang[15].nmBarang="Rautan";
- dataStok.dataBarang[0].harga=5000;
- dataStok.dataBarang[1].harga=2500;
- dataStok.dataBarang[2].harga=2000;
- dataStok.dataBarang[3].harga=500;
- dataStok.dataBarang[4].harga=2500;
- dataStok.dataBarang[5].harga=100;
- dataStok.dataBarang[6].harga=500;
- dataStok.dataBarang[7].harga=300;
- dataStok.dataBarang[8].harga=4000;
- dataStok.dataBarang[9].harga=10000;
- dataStok.dataBarang[10].harga=1000;
- dataStok.dataBarang[11].harga=3000;
- dataStok.dataBarang[12].harga=3000;
- dataStok.dataBarang[13].harga=5000;
- dataStok.dataBarang[14].harga=5000;
- dataStok.dataBarang[15].harga=3000;
- dataStok.dataBarang[0].jmlStok= 10*5;
- dataStok.dataBarang[1].jmlStok= 12*5;
- dataStok.dataBarang[2].jmlStok= 12*5;
- dataStok.dataBarang[3].jmlStok= 40*5;
- dataStok.dataBarang[4].jmlStok= 12*5;
- dataStok.dataBarang[5].jmlStok= 500*5;
- dataStok.dataBarang[6].jmlStok= 100*5;
- dataStok.dataBarang[7].jmlStok= 500*5;
- dataStok.dataBarang[8].jmlStok= 10*5;
- dataStok.dataBarang[9].jmlStok= 50;
- dataStok.dataBarang[10].jmlStok= 100*5;
- dataStok.dataBarang[11].jmlStok= 25*5;
- dataStok.dataBarang[12].jmlStok= 12*5;
- dataStok.dataBarang[13].jmlStok= 12*5;
- dataStok.dataBarang[14].jmlStok= 12*5;
- dataStok.dataBarang[15].jmlStok= 24*5;
- dataStok.posisi=15;
- }
- //}(sampai sini)
- //(prosedur untuk menambah stok barang){
- //prosedur ini dipanggil pada program ini (int main)
- void tambahStok(){
- string nmBrg,konfirm;
- int hrgBrg,stkBrg;
- gotoxy(47,2);cout<< "==========================="<<endl;
- gotoxy(47,3);cout<< "[ MENU TAMBAH STOK BARANG ]"<<endl;
- gotoxy(47,4);cout<< "==========================="<<endl;
- cin.ignore();
- gotoxy(43,6);cout<< "Masukkan Nama Barang : ";
- gotoxy(43,7);cout<< "Masukkan Harga Barang (Satuan) : ";
- gotoxy(43,8);cout<< "Masukkan Stok Barang : ";
- gotoxy(76,6);getline(cin,nmBrg);
- gotoxy(76,7);cin>>hrgBrg;
- gotoxy(76,8);cin>>stkBrg;
- konfirmasi:
- gotoxy(60,10);cout<< "Masukkan Barang ke Gudang? (ya/batal) : ";
- gotoxy(100,10);cin>>konfirm;
- if (konfirm=="ya" | konfirm=="YA"){
- dataStok.posisi+=1;
- dataStok.dataBarang[dataStok.posisi].nmBarang = nmBrg;
- dataStok.dataBarang[dataStok.posisi].harga = hrgBrg;
- dataStok.dataBarang[dataStok.posisi].jmlStok = stkBrg;
- system("cls");
- gotoxy(45,12);cout<< "==============================";
- gotoxy(45,13);cout<< "[ DATA BERHASIL DIMASUKKAN!! ]";
- gotoxy(45,14);cout<< "==============================";
- }else if (konfirm=="batal" | konfirm=="BATAL"){
- system("cls");
- gotoxy(46,12);cout<< "=============================";
- gotoxy(46,13);cout<< "[ BERHASIL BATALKAN INPUT!! ]";
- gotoxy(46,14);cout<< "=============================";
- }else{
- gotoxy(45,12);cout<< "===============================";
- gotoxy(45,13);cout<< "[ HARAP PERIKSA KEMBALI INPUT ]";
- gotoxy(45,14);cout<< "[ YANG ANDA MASUKKAN UNTUK ]";
- gotoxy(45,15);cout<< "[ KONFIRMASI ]";
- gotoxy(45,16);cout<< "===============================";
- getch();
- gotoxy(45,12);cout<< " ";
- gotoxy(45,13);cout<< " ";
- gotoxy(45,14);cout<< " ";
- gotoxy(45,15);cout<< " ";
- gotoxy(45,16);cout<< " ";
- gotoxy(100,10);cout<< " ";
- goto konfirmasi;
- }
- }
- //}(sampai sini)
- //(prosedur lihat stok barang){
- //prosedur ini dipanggil pada program inti (int main)
- void lihatStok(){
- char tambah;
- int brp,bnyk;
- sini:
- system("cls");
- cout<< "\t\t\t ========================"<<endl;
- cout<< "\t\t\t DAFTAR KETERSEDIAAN STOK"<<endl;
- cout<< "\t\t\t ========================"<<endl;
- for (int i=0;i<=dataStok.posisi;i++){
- cout<< "\t\t Barang ke-"<<i+1<<endl;
- cout<< "\t\t Nama Barang : "<<dataStok.dataBarang[i].nmBarang<<endl;
- cout<< "\t\t Sisa Stok Barang : "<<dataStok.dataBarang[i].jmlStok<<endl;
- cout<< endl;
- }
- cout<< "Ingin Menambah Stok? (y/t) ";cin>>tambah;
- if (tambah == 'y' | tambah == 'Y'){
- cout<< "Produk Keberapa Yang Ingin Anda Tambah? ";cin>>brp;
- if (brp>dataStok.posisi+1){
- cout<< "MAAF PERIKSA KEMBALI PILIHAN ANDA!!"<<endl;
- getch();
- goto sini;
- }
- cout<< "Ingin Menambah Berapa Banyak? ";cin>>bnyk;
- dataStok.dataBarang[brp-1].jmlStok += bnyk;
- tambahinNamaBrg(dataStok.dataBarang[brp-1].nmBarang, bnyk);
- cout<< "BERHASIL MENAMBAHKAN!!";
- getch();
- }
- }
- //}(sampai sini)
- //(deklarasi queue untuk menyimpan history keluaran barang (terbatas hanya sampai 50 antrian)){
- struct antrianKeluar{
- string namaBarang[50];
- int bnykKeluar[50];
- int totalPemasukan[50];
- }antri;
- //}(sampai sini)
- //(prosedur untuk keluaran barang){
- //dipanggil pada program inti (int main)
- void produkKeluar(){
- top:
- system("cls");
- int nobar,bnykBar;
- cout<< "\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
- cout<< "\t\t== MENU BARANG YANG TERSEDIA=="<<endl;
- cout<< "\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
- for (int i=0;i<=dataStok.posisi;i++){
- cout<< "\t "<<i+1<<". "<<dataStok.dataBarang[i].nmBarang<<endl;
- cout<< "\t Sisa Barang Tersedia = "<<dataStok.dataBarang[i].jmlStok<<endl;
- cout<< endl;
- }
- cout<< "SILAHKAN MASUKKAN NOMOR BARANG YANG KELUAR : ";cin>>nobar;
- cout<< "MASUKKAN BANYAK BARANG YANG KELUAR : ";cin>>bnykBar;
- if (urut>49){
- cout<< "HARAP HAPUS BEBERAPA HISTORY TERLEBIH DAHULU, KARENA ANTRIAN HISTORY PENUH"<<endl;
- getch();
- //goto top;
- goto bawah;
- }
- else if (dataStok.dataBarang[nobar-1].jmlStok<bnykBar){
- cout<< "MOHON PERIKSA KEMBALI JUMLAH BARANG KELUAR, KARENA JUMLAH YANG ANDA MASUKKAN TERLALU BESAR"<<endl;
- getch();
- goto top;
- }else if (dataStok.dataBarang[nobar-1].jmlStok==bnykBar){
- for (int i=nobar-1;i<dataStok.posisi;i++){
- dataStok.dataBarang[i].nmBarang=dataStok.dataBarang[i+1].nmBarang;
- dataStok.dataBarang[i].jmlStok=dataStok.dataBarang[i+1].jmlStok;
- dataStok.dataBarang[i].harga=dataStok.dataBarang[i+1].harga;
- }
- dataStok.posisi--;
- }else if(dataStok.dataBarang[nobar-1].jmlStok>bnykBar){
- dataStok.dataBarang[nobar-1].jmlStok-=bnykBar;
- }
- urut+=1;
- antri.namaBarang[urut]=dataStok.dataBarang[nobar-1].nmBarang;
- antri.bnykKeluar[urut]=bnykBar;
- antri.totalPemasukan[urut]=dataStok.dataBarang[nobar-1].harga*bnykBar;
- cout<< endl;
- cout<< "TOTAL PEMASUKKAN UNTUK "<<antri.namaBarang[urut]<<" ADALAH Rp."<<antri.totalPemasukan[urut]<<endl;
- cout<< endl;
- char lgi;
- cout<< "Ingin Input Pengeluaran Lagi? (y/t) ";cin>>lgi;
- if (lgi=='y' | lgi== 'Y'){
- goto top;
- }
- bawah:
- int gatau;
- }
- //}(sampai sini)
- //(prosedur untuk tampil history){
- //prosedur ini dipanggil pada program inti (int main)
- void tampilHistory(){
- char hpshistor,menhap;
- int bnykhps;
- system("cls");
- cout<< "\t =========================="<<endl;
- cout<< "\t DAFTAR HISTORY PENGELUARAN"<<endl;
- cout<< "\t =========================="<<endl;
- if (urut==-1){
- cout<< "\t TIDAK ADA HISTORY PENGELUARAN"<<endl;
- }else{
- for (int i=0;i<=urut;i++){
- cout<< i+1<<". "<<antri.namaBarang[i]<<endl;
- cout<< "\t\t Banyak Keluar : "<<antri.bnykKeluar[i]<<endl;
- cout<< "\t\t Total Pemasukkan : "<<antri.totalPemasukan[i]<<endl;
- cout<<endl;
- }
- cout<< "Ingin Hapus History? (y/t) ";cin>>hpshistor;
- if (hpshistor=='y' | hpshistor=='Y'){
- cout<< "\t =MENU HAPUS="<<endl;
- cout<< "\t 1. Hapus Seluruhnya Sekaligus"<<endl;
- cout<< "\t 2. Hapus Beberapa Saja"<<endl;
- cout<< "\t MASUKKAN PILIHAN ANDA : ";cin>>menhap;
- if (menhap=='1'){
- urut=-1;
- cout<< "DONE..!!"<<endl;
- }else if (menhap=='2'){
- cout<< "\t Berapa Banyak History Yg Ingin Anda Hapus : ";cin>>bnykhps;
- urut-=bnykhps;
- for (int i=0;i<=urut;i++){
- antri.namaBarang[i]=antri.namaBarang[bnykhps+i];
- antri.bnykKeluar[i]=antri.bnykKeluar[bnykhps+i];
- antri.totalPemasukan[i]=antri.totalPemasukan[bnykhps+i];
- }
- cout<< "\t DONE..!!"<<endl;
- }
- }
- }
- }
- //}(sampai sini)
- //(prosedur untuk menampilkan data){
- //prosedur ini dipanggil pada program inti(int main)
- void tampil_data(){
- int n=1;
- gotoxy(41,2);cout<< "======================================"<<endl;
- gotoxy(41,3);cout<< "Daftar History Penambahan Stock Barang"<<endl;
- gotoxy(41,4);cout<< "======================================"<<endl;
- if(head == NULL && tail == NULL){
- cout<<"\t Tidak ada data"<<endl;
- }else{
- linkedlist* helper;
- helper = head;
- while(helper != NULL){
- cout<<"\t "<<n<<". "<<helper->nmTmbhBrg<<endl;
- cout<< "\t Ditamabah Sebanyak : "<<helper->bnykTmbhBrg<<endl;
- cout<< "====================================================="<<endl;
- helper=helper->next;
- n++;
- }
- }
- }
- //}(sampai sini)
- int main()
- {
- int pilmen1;
- WajibCall();
- login();
- atas:
- system("color 09");
- system("cls");
- gotoxy(50,28); cout << "Created By GJLS~Team"<<endl;
- gotoxy(42,2);cout << "====================================="<<endl;
- gotoxy(42,3);cout << "[ KOPERASI MAHASISWA ]"<<endl;
- gotoxy(42,4);cout << "====================================="<<endl;
- gotoxy(42,5);cout << "~ 1. Tambah Produk ~~~~~~~~~~~~~~~~~~"<<endl;
- gotoxy(42,6);cout << "~ 2. Produk Keluar ~~~~~~~~~~~~~~~~~~"<<endl;
- gotoxy(42,7);cout << "~ 3. Lihat Stok Produk ~~~~~~~~~~~~~~"<<endl;
- gotoxy(42,8);cout << "~ 4. Lihat History Keluaran ~~~~~~~~~"<<endl;
- gotoxy(42,9);cout << "~ 5. History Penambahan Stok Barang ~"<<endl;
- gotoxy(42,10);cout <<"~ 6. EXIT ~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
- gotoxy(42,11);cout <<"masukkan menu yang anda inginkan : ";cin>>pilmen1;
- if (pilmen1==1){
- system("color 0f");
- system("cls");
- tambahStok();
- getch();
- goto atas;
- }else if (pilmen1==2){
- system("color 0e");
- produkKeluar();
- //cout<< "MENUNYA BELUM DIBIKIN BEGO!!";
- goto atas;
- }else if (pilmen1==3){
- system("color 0d");
- lihatStok();
- goto atas;
- }else if (pilmen1==4){
- system("cls");
- system("color 0a");
- //cout<< "MENUNYA BELUM DIBIKIN BEGO!!";
- tampilHistory();
- getch();
- goto atas;
- }else if (pilmen1 == 5){
- system("color 0b");
- system("cls");
- tampil_data();
- getch();
- goto atas;
- }else if (pilmen1==6){
- char keluar;
- system("cls");
- system("color 0c");
- cout<< "ANDA YAKING INGIN KELUAR DARI APLIKASI INI?? (y/t) ";cin>>keluar;
- if (keluar=='y' | keluar=='Y'){
- cout<< "BERHASIL KELUAR DARI APLIKASI"<<endl;
- getch();
- }else{
- goto atas;
- }
- }else{
- system("color 0c");
- cout<< "MENUNYA CUMAN ADA 6 BEGO, PILIH YG BENER DONG!!";
- getch();
- goto atas;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment