Senin, 11 Agustus 2014

HAPPY CODING :D


HAPPY CODING :D

Source code yang kami gunakan:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct barang // deklarasi item sebagai struct
{
char nama[20];
int kode;
int jumlah;
int produksi;
int kadaluarsa;
barang *nxt; // Pointer untuk node selanjutnya
};



barang *mulai_ptr = NULL;
barang *saat_ini;
int pilihan = 0;
int kode = 1;

void tambah_barang_di_akhir()
{
barang *temp, *temp2;
temp = new barang;
cout << "Masukkan Nama Barang      : ";cin >> temp->nama;
//cout << "Masukkan Kode Barang      : ";cin >> temp->kode;
 temp->kode = kode;
 kode++;
cout << "Masukkan Jumlah Barang    : ";cin >> temp->jumlah;
cout << "Masukkan Tahun Produksi   : ";cin >> temp->produksi;
cout << "Masukkan Tahun Kadaluarsa : ";cin >> temp->kadaluarsa;
temp->nxt = NULL;

if (mulai_ptr == NULL)
{
mulai_ptr = temp;
saat_ini = mulai_ptr;
}
else
{
                 temp2 = mulai_ptr;
while (temp2->nxt != NULL)
{
                                temp2 = temp2->nxt;
}
                                temp2->nxt = temp;
}
}

void jumlahbarang()
{
                barang *temp;
                temp= mulai_ptr;
                int jml=0;
                if(temp == NULL)
                cout << "List kosong!\n" << endl;
                else
                {
                                while(temp!= NULL)
                                {
                                                jml = jml+temp->jumlah;
                                                temp = temp->nxt;
                                }
                }
                cout << "Total Quantity barang = " << jml << endl;
                getch();
}

void mxmn()
{
                barang *temp;
                temp= mulai_ptr;
                int max=temp->jumlah;
                int min=temp->jumlah;
                char nmmx[20];
                int kdmx=0;
                char nmmn[20];
                int kdmn = 0;
                if(temp == NULL)
                cout << "List kosong!\n" << endl;
                else
                {
                                while(temp!= NULL)
                                {
                                                if(temp->jumlah>=max)
                                                {
                                                                max = temp->jumlah;
                                                                strcpy(nmmx,temp->nama);
                                                                kdmx = temp->kode;
                                                }
                                                if(temp->jumlah<=min)
                                                {
                                                                min = temp->jumlah;
                                                                strcpy(nmmn,temp->nama);
                                                                kdmn = temp->kode;
                                                }

                                                temp = temp->nxt;
                                }
                }
                cout << "Barang dengan qty terbesar adalah " << nmmx << "\nkode barang : " << kdmx << "\nDengan Quantity :" << max << "\n\n" << endl;
                cout << "Barang dengan qty terkecil adalah " << nmmn << "\nkode barang : " << kdmn << "\nDengan Quantity :" << min << endl;
                getch();
}

void tahuun()
{
                barang *temp;
                temp= mulai_ptr;
                int max=temp->produksi;
                int min=temp->produksi;
                char nmmx[20];
                int kdmx=0;
                char nmmn[20];
                int kdmn = 0;
                if(temp == NULL)
                cout << "List kosong!\n" << endl;
                else
                {
                                while(temp!= NULL)
                                {
                                                if(temp->produksi>=max)
                                                {
                                                                max = temp->produksi;
                                                                strcpy(nmmx,temp->nama);
                                                                kdmx = temp->kode;
                                                }
                                                if(temp->produksi<=min)
                                                {
                                                                min = temp->produksi;
                                                                strcpy(nmmn,temp->nama);
                                                                kdmn = temp->kode;
                                                }

                                                temp = temp->nxt;
                                }
                }
                cout << "Barang dengan tahun terbesar adalah " << nmmx << "\nkode barang : " << kdmx << "\nDengan Tahun :" << max << "\n\n" << endl;
                cout << "Barang dengan tahun terkecil adalah " << nmmn << "\nkode barang : " << kdmn << "\nDengan Tahun :" << min << endl;
                getch();
}

void tampilkan_list()
{
barang *temp;
temp = mulai_ptr;
int i=1;
//cout << endl;
if (temp == NULL)
cout << "List kosong!\n" << endl;
else
{
                 while (temp != NULL)
{
cout << "Data ke - " << i << "\n";
cout << "Nama : " << temp->nama << "\n";
cout << "Kode : " << temp->kode << "\n";
cout << "Jumlah : " << temp->jumlah <<"\n";
cout << "Tahun Produksi   : " << temp->produksi <<"\n";
cout << "Tahun Kadaluarsa : " << temp->kadaluarsa <<"\n\n";
temp = temp->nxt;
i++;
}
cout << "Akhir dari list!\n" << endl;
}
getch();
}

void delete_mulai_barang()
{
barang *temp;
temp = mulai_ptr;
mulai_ptr = mulai_ptr->nxt;
delete temp;
}

void delete_akhir_barang()
{
barang *temp1, *temp2;
if (mulai_ptr == NULL)
cout << "List kosong!" << endl;
else
{
                 temp1 = mulai_ptr;
if (temp1->nxt == NULL)
{
                                delete temp1;
mulai_ptr = NULL;
}
else
{
                 while (temp1->nxt != NULL)
{
                                temp2 = temp1;
temp1 = temp1->nxt;
}
delete temp1;
temp2->nxt = NULL;
}
}
}

void move_saat_ini_on ()
{
if (saat_ini->nxt == NULL)
cout << "Kamu berada pada akhir list." << endl;
else
saat_ini = saat_ini->nxt;
}

void move_saat_ini_back ()
{
if (saat_ini == mulai_ptr)
cout << "Kamu berada pada awal list" << endl;
else
{
                 barang *sebelum;
sebelum = mulai_ptr;
while (sebelum->nxt != saat_ini)
{
                                sebelum = sebelum->nxt;
}
saat_ini = sebelum;
}
}

void main()
{
mulai_ptr = NULL;
menu:
{

clrscr();
cout << "Masukkan pilihan Anda : " << endl;
cout << "1. Tambah Data." << endl;
cout << "2. Liat list barang." << endl;
cout << "3. Total Jumlah Barang" << endl;
cout << "4. Jumlah barang terbesar dan terkecil" << endl;
cout << "5. Tahun terkecil dan terbesar" << endl;
cout << "6. OUT !" << endl;
cout << endl << " >> ";
cin >> pilihan;

switch (pilihan)
{
case 1 : clrscr(); tambah_barang_di_akhir(); break;
case 2 : clrscr(); tampilkan_list(); break;
case 3 : clrscr(); jumlahbarang(); break;
case 4 : clrscr(); mxmn(); break;
case 5 : clrscr(); tahuun(); break;
case 6 : _exit(0);
default :
cout << "Pilihan salah!" << endl;
getch(); break;
}
}
goto menu;
}