Thursday, 28 March 2013

STRUKTUR DATA STRUCT "ARRAY (2)"

Filled under:


Bentuk struktur data yang dapat menyimpan variabel-variabel dalam 1 nama, namun memiliki tipe data yang berbeda ataupun sama. Variable-variabel tersebut memiliki kaitan satu sama yang lain.
Bentuk umum :
typedef struct nama_struct{
tipe_data<nama_var>;
tipe_data <nama_var>;
....
}

CONTOH LISTING PROGRAM DI C++ PADA CODEBLOCKS
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

void tambah();
void edit();
void hapus();
void lihat();
void isi();
void akhir();

int update=0;
int ketemu;
typedef struct data
{
    int kode_barang;
    int diskon;
    int harga;
    char nama_barang[20],jenis_barang[20];
}tas;

tas tasku[10];

int main()
{
    char menu, kembali='y';

    while(kembali=='y'||kembali=='Y')
    {   menu:
        system("cls");
        printf("\n");
        printf("\t\t\t\tMENU UTAMA\n");
        printf("\t\t\t\tTOKO TAS ABC\n");
        printf("\t\t\t\tUNTARI-5302410064\n");
        printf("\t\t========================================\n\n\n");
        printf("\tPilihan Anda :\n\n");
        printf("\t\t1.Tambah Data\n");
        printf("\t\t2.Edit Data\n");
        printf("\t\t3.Hapus Data\n");
        printf("\t\t4.Lihat Data\n");
        printf("\t\t5.keluar!!\n\n");
        printf("\tMasukkan pilihan Anda : "); menu=getche();
        switch(menu)
        {
            case '1':
            {
                system("cls");
                tambah();
                printf("kembali ke menu utama (y/t)? "); kembali=getche();
            }
            break;

            case '2':
            {
                system("cls");
                edit();

        printf("kembali ke menu utama (y/t)? "); kembali=getche();
            }
            break;
            case '3':
            {
                system("cls");
                hapus();
                printf("kembali ke menu utama (y/t)? "); kembali=getche();
            }
            break;

            case '4':
            {
                system("cls");
                lihat();
                printf("kembali ke menu utama (y/t)? "); kembali=getche();
            }
            break;
            case '5': akhir();break;
            default: goto menu;break;
        }
    }
    return 0;
}

void tambah()
{
    int x,banyak;
    printf("Banyaknya data tas yang akan di input: "); scanf("%d",&banyak);
    for(x=update;x<update+banyak;x++)
    {
        printf("\nKode Barang    : "); scanf("%d",&tasku[x].kode_barang);
        fflush(stdin);
        printf("Nama Barang    : "); gets(tasku[x].nama_barang);
        printf("Jenis Barang    : "); gets(tasku[x].jenis_barang);
        printf("Diskon : "); scanf("%d",&tasku[x].diskon);
        printf("Harga        : "); scanf("%d",&tasku[x].harga);
    }
    update=x;
}

void edit()
{
    int x,edit,ketemu,jenis_barang,diskon;
    for(x=0;x<update;x++)
    {
        isi(x);
    }
    printf("Kode barang yang akan di edit : "); scanf("%d",&edit);
    system("cls");
    for(x=0;x<update;x++)
    {
        if(edit==tasku[x].kode_barang)
        {
          fflush(stdin);
          printf("Nama Barang    : "); gets(tasku[x].nama_barang);
          fflush(stdin);
          printf("Jenis Barang: "); gets(tasku[x].jenis_barang);
          fflush(stdin);
          printf("Diskon : "); scanf("%d",&tasku[x].diskon);
          fflush(stdin);
          printf("Harga        : "); scanf("%d",&tasku[x].harga);
system("cls");
        printf("Data setelah diedit : \n");
        for(x=0;x<update;x++)
        {
          isi(x);
        }
          ketemu=1;
        }
    }
if(ketemu!=1);
printf("Data berhasil diedit");
}

void hapus()
{
    int x,n,kode;
    for(x=0;x<update;x++)
    {
        isi(x);
    }
    printf("Kode barang yang akan dihapus : "); scanf("%d",&kode);
    for (x=0;x<update;x++)
    {
        if(kode==tasku[x].kode_barang)
        {
           for(n=x-1;n<update-1;n++)
           {
             tasku[n]=tasku[n+1];
           }
           update--;
           printf("Semua Data Sekarang : \n");
            for(x=0;x<update;x++)
            {
              isi(x);
            }
        }
    }
    if(ketemu!=1)
    printf("Data dihaous\n");
}
void lihat()
{
    int x;
    for(x=0;x<update;x++)
{
        isi(x);
    }
}

void isi(int x)
{
        printf("\nKode Barang    : %d\n",tasku[x].kode_barang);
        printf("Nama Barang    : %s\n",tasku[x].nama_barang);
        printf("Jenis Barang    : %s\n",tasku[x].jenis_barang);
        printf("Diskon : %d\n",tasku[x].diskon);
        printf("Harga        : %d\n\n",tasku[x].harga);
}
void akhir(){
    system("cls");
    printf("\n\n\t\t\tTHANK YOU\n\n\n");
    exit(1);
    }


0 comments:

Post a Comment