Thursday, 28 March 2013

JOB SHEET 1 STRUKTUR DATA ARRAY

Filled under:


Array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.

DEKLARASI 

tipe_data nama_var_array [ukuran];

tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll)
nama_var_array: menyatakan nama variabel yang dipakai.
ukuran : menunjukkan jumlah maksimal elemen larik.

Contoh:
Int nilai[6];

INISIALISASI
Menginisialisasi array sama dengan memberikan nilai awal array pada saat didefinisikan.

int nilai[6] = {8,7,5,6,4,3};

Contoh di atas berarti Anda memesan tempat di memori komputer sebanyak 6 tempat dengan indeks dari 0-5 di mana indeks ke 0 bernilai 8, indeks ke-1 bernilai 7, dst. Semua data bertipe integer.

Lihat contoh listing program di bawah ini.
Hasil setelah program di run, yaitu program tersebut merupakan array 1 dimensi dengan dilengkapi fungsi ADD, EDIT, DELETE, dan VIEW.


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int   array[100];
int   x=0;
char  pilih;
void  tambah();
void  lihat();
void  edit();
void  hapus();

int main()
{
    do{
    //system("cls");
    printf("------------------------------------------------------------------------------\n");
    printf("\t\t\t PROGRAM ARRAY SATU DIMENSI\n\n");
    printf("------------------------------------------------------------------------------\n");
    printf("\t\t\t UNTARI WIDIASTUTI \n\n");
    printf("\t\t\t 5302410064\n\n");
    printf("------------------------------------------------------------------------------\n");
    printf("MENU UTAMA\n\n");
    printf("  1. Tambah data\n");
    printf("  2. Edit data\n");
    printf("  3. Hapus data\n");
    printf("  4. Lihat data\n");
    printf("  5. EXIT\n");
    printf("\nPilihan: ");
    pilih = getche();
    switch(pilih)
    {
        case '1':
        //system("cls");
        printf("\t\t\tMENU TAMBAH DATA \n\n");
        tambah();
        break;
        case '2':
        //system("cls");
        printf("\t\t\tMENU EDIT DATA \n\n");
        edit();
        break;
        case '3':
        //system("cls");
        printf("\t\t\tMENU HAPUS DATA\n\n");
        hapus();
        break;
        case '4':
        //system("cls");
        printf("\t\t\tMENU LIHAT DATA\n\n");
        lihat();
        printf("\nTekan ENTER untuk kembali ke menu utama...");
        getch();
        break;
        case '5':
        //system("cls");
        printf("Exit.....");
        break;
    }
    }
    while(pilih!='5');
    return 0;
}

void tambah()
{
    char jawab;
    do{
        printf("Data ke-%d: ",x+1);
        scanf("%d", &array[x]);
        x++;
        fflush(stdin); //menampilkan printf di bawah
        printf("Masukkan data lagi? (y/t) : ");
        jawab = getchar();
    }
    while(jawab =='y' || jawab =='Y');
    if(jawab == 't' || jawab == 'T')
    system("cls");
}

void lihat() //looping untuk buat nyimpan
{
    int i;
    for(i=0; i<x; i++)
    {

        printf("Data ke-%d: %d\n",i+1,array[i]);
    }
}

void edit()
{
    int edit,baru;
    lihat();
    printf("\n\nData keberapa yang akan diedit : ");
    scanf("%d", &edit);
    printf("Masukkan data baru: ");
    scanf("%d", &baru);
    array[edit-1] = baru;
    printf("Data berhasil diedit\n");
    printf("Tekan ENTER untuk kembali ke menu utama");
    getch();
}

void hapus()
{
    int n, delete;
    lihat();
    printf("\n\nData keberapa yang akan dihapus : ");
    scanf("%d",&delete);
    array[delete-1] = 0;
    for(n=delete-1; n<x-1; n++)
    {
       array[n] = array[n+1];
    }
    x-=1;
    printf("Data ke-%d sudah terhapus",delete);
}










0 comments:

Post a Comment