Selasa, 12 Agustus 2014

Program Penyimpanan Data Barang Sederhana Meggunakan Struck

Ditulisan kali ini saya belajar mengenai bagaimana caranya membuat sebuah Program sederhana untuk Penyimpanan data barang pada c++. disini kita akan menggunakan fungsi Struct dan Array.


(Menu Utama)

progam ini terbagi atas 2, yaitu program utama (void main) dan void tambahan (Prosedur/fungsi)

Pertama-tama yang harus kita lakukan adalah deklarasikan Struct dan Tipe data, Struct dan tipe data harus berada diluar Void main. struct adalah tipe data baru yang bisa dibuat sendiri sesuai kebutuhan.


struct produksi {
 int tahun ;
 int Expired;
};


struct item{
 int kode;
 int Qty 
produksi produk[10]; // variabel produk bertipe data produksi yang didalamnya terdapat  tahun produksi dan  expired 
};

membuat variabel global :


int data;
item brg[10];
int i,j;

Selanjutnya, kita buat 5 buah void untuk setiap menu yang terdapat pada menu utama. Void-void ini haruslah terletak di luar program utama (Void Main). 

Coding untuk menu 1 (menambah data) :

void menu1 () {
char ulang = 'n';
 do{
                                                printf("\nMasukan data barang\n");
                                                 printf("---------------------------\n");
                                                printf("Kode Barang : " );
                                                scanf ("%d", &brg[data].kode);
                                                printf("\nQuantity : ");
                                                scanf ("%d",&brg[data].Qty);
                                                printf("\nTahun : ");
                                                scanf ("%d", &brg[data].produk[data].tahun);
                                                printf("\nExpired : ");
                                                scanf ("%d", &brg[data].produk[data].Expired);

            printf("\ntambah lgi(y/n)? ");
            scanf("%s",&ulang);
            data++;
                                }while(ulang == 'y');

}
 
Contoh koding untuk menu 2 (melihat data yang telah dimasukan) : 


void menu2()
{
    printf("\nKode\t\tQuantity\t\tTahun\t\tExpired  ");
    for(int k = 0; k < data; k++){
                 printf("\n%d\t\t%d\t\t\t%d\t\t%d"
             ,brg[k].kode,brg[k].Qty,brg[k].produk[k].tahun,brg[k].produk[k].Expired);
    }
}


Contoh koding untuk menu 3 (mencari data dengan quantiti terkecil dan terbesar) :


void menu3(int &i, int &j) {



   int temp;

   for (i= 0 ; i < data; i++)

      {

            for (j = 0 ; j < data ; j++)

             {

                if( brg[i].Qty < brg[j].Qty )

                     {

                      temp = brg[j].Qty;

                        brg[j].Qty = brg[i].Qty;

                         brg[i].Qty = temp;

                       }

      }   
 printf("\nQuantity Terbesar adalah %d \n",temp);
              
    for (i= 0 ; i < data; i++)

       {

          for (j = 0 ; j < data ; j++)

        {

            if( brg[i].Qty > brg[j].Qty )

               {

                temp = brg[j].Qty;

                 brg[j].Qty = brg[i].Qty;

                   brg[i].Qty = temp;

               }

        }
 }
     printf("\nQuantity Terkecil adalah %d \n",temp);

}

Contoh koding untuk menu 4 (Menghitung total kuantiti data) :


void menu4() {



int total = 0;



for (int i = 0; i < data ;i++)

{

 total += brg[i].Qty;

}



printf("\nTotal Kuantiti : %d ",total);

printf("\n ");





}


Contoh koding untuk menu 5 (mencari data dengan menurut tahun produksi terbesar dan terkecil) :


void menu5(int &i, int &j){

int temp;

  for (i= 0 ; i < data; i++)

   {

    for (j = 0 ; j < data ; j++)

      {

             if( brg[i].produk[i].tahun < brg[j].produk[j].tahun )

                    {

                          temp = brg[j].produk[j].tahun;

                           brg[j].produk[j].tahun = brg[i].produk[i].tahun;

                            brg[i].produk[i].tahun= temp;

                    }
          }

      }

printf("\nTahun Produksi Terbesar adalah %d \n",temp);


   for (i= 0 ; i < data; i++)

   {

      for (j = 0 ; j < data ; j++)

      {

          if( brg[i].produk[i].tahun > brg[j].produk[j].tahun)

               {

               temp = brg[j].produk[j].tahun;

               brg[j].produk[j].tahun = brg[i].produk[i].tahun;

                 brg[i].produk[i].tahun= temp;

               }

   }
}
   printf("\ntahun Produksi Terkecil adalah %d \n",temp);



}

kemudian setelah ke-5 void telah ditulis, saatnya  kita membuat Void main atau menu utama dengan contoh koding : 



void main () {



int pilihan=0;

do {
                printf("\n\tMenu\n");
                printf("------------------------\n");
                printf("1.Tambah  Data Barang\n");
                printf("2.Lihat  Data Barang\n");
                printf("3.Data Barang Dengan Kuantiti Terkecil Dan Terbesar\n");
                printf("4.Total kuantiti\n");
                printf("5.Tahun Produksi Terkecil Dan Terbesar\n");
                printf("6.Keluar\n");
                printf("Masukan pilihan anda : ");
                scanf("%d",&pilihan);
                switch (pilihan){
                                case 1: menu1();
                                                break;
                                case 2 : menu2();
                                                break;
                                case 3 : menu3(i,j);
                                                                break;
                                case 4 : menu4 ();
                                                break;
                                case 5 : menu5 (i,j);
                                                break;
                                case 6 : break;
      default :
                     printf ("\n\t\tMaaf,Inputan anda salah !\n\tsilahkan masukan Kembali pilihan anda!\n");
            break;
   }
} while (pilihan != 6);

 getch();

Tampilan program akan seperti gambar diatas. lebih jeasnya mengenai tampilan gambar dari setiap menu, akan terlihat seperti gambar-gamber dibawah ini.

pilihan kita : Menu 1 .

disetiap kali kita selesai menambah data , akan ada pilihan apakah kita akan menambah data lagi atau tidak. jika kita menekan "y", maka permintaan data menu satu akan iulang kembali. tetapi jika kita menekan "n", maka program akan otomatis kembali pada menu utama.


  
Pilihan kita : Menu 2
 smua data yang kita masukan di menu 1, akan ditampilkan dalam bentuk tabel.



Pilihan kita : menu 3
 Akan tampil kuantiti terbesar dan terkecil.



Pilihan kita : menu 4
Menjumlahkan semua kuantiti


Pilihan kita : menu 5
Tahun produksi terbesar dan terkecil.
Menu 6  : keluar
ketika kta menekan angka 6, menu utama tidak akan muncul lagi.

Akhirnya, semoga tulisan saya kali ini bermanfaat buat teman-teman semua.

13 komentar:

  1. trmaksih atas informasinya yang bagus dan bermanfaat

    Vimax Canada
    Vimax Canada Original

    BalasHapus



  2. Interesting blog. It would be great if you can provide more details about it. Thanks you.

    - Jual Tas Murah
    - Undangan Pernikahan
    - Interior Rumah
    - Elevenia
    - Maklon
    - Kursus Online
    - Promosi Online
    - HRCentro

    BalasHapus
  3. Ilmunya sungguh bermanfaat untuk saya, thanks.
    kios nugraha
    deviyudis

    BalasHapus