Thursday, August 5, 2010

Array Operation

Saya sudah membuat beberapa posting tentang operasi yang bisa dilakukan pada array, misalnya menambah (add), mengurangi(delete), mengganti (edit), dan melihat (view) satu index data saja. Setelah membuat post tentang fungsi, sekarang saya akan menggabungkan semua operasi array tersebut.

Dalam aplikasi array ini, saya menggunakan variable array dan variable biasa secara global. Hal ini untuk memudahkan dalam pemanggilan fungsi. berikut adalah kode programnya:

#include <stdio.h>
#include <conio.h>
void SemuaData();
void TambahAwal();
void TambahAkhir();
void SisipData();
void HapusData();
void HapusAkhir();
void HapusTengah();
void EditData();
void LihatData();
void InputData();
void opsi();
int data[100]={0};
int BanyakData,IndexAkses,BanyakAkses=0,index;

void main()
{
int pilihan,LetakAkses;
do
{
clrscr();
printf("Pilihan operasi: ");
printf("\n1. Input data");
printf("\n2. Tambah data");
printf("\n3. Ubah data");
printf("\n4. Hapus data");
printf("\n5. Lihat data");
printf("\n6. keluar program");
printf("\n\nPilihan anda: ");
scanf("%d",&pilihan);
switch(pilihan)
{
case 1:
clrscr();
InputData();
SemuaData();
getch();
break;
case 2:
do
{
clrscr();
printf("Letak penambahan data:");
printf("\n1. awal");
printf("\n2. sisipkan");
printf("\n3. akhir\n\n");
printf("pilihan anda: ");
scanf("%d",&LetakAkses);
switch(LetakAkses)
{
case 1:
do
{
clrscr();
TambahAwal();
SemuaData();
opsi();
scanf("%d",&pilihan);
}while(pilihan==1);
break;
case 2:
do
{
clrscr();
SisipData();
SemuaData();
opsi();
scanf("%d",&pilihan);
}while(pilihan==1);
break;
case 3:
do
{
clrscr();
TambahAkhir();
SemuaData();
opsi();
scanf("%d",&pilihan);
}while(pilihan==1);
break;
}
}while(pilihan==1);
break;
case 3:
do
{
clrscr();
EditData();
SemuaData();
opsi();
scanf("%d",&pilihan);
}while(pilihan==1);
break;

case 4:
do
{
clrscr();
HapusData();
SemuaData();
opsi();
scanf("%d",&pilihan);
}while(pilihan==1);
break;

case 5:
do
{
clrscr();
LihatData();
opsi();
scanf("%d",&pilihan);
}while(pilihan==1);
break;
}
printf("\n\nKeluar?\n");
printf("1. YA\n");
printf("2. TIDAK\n");
scanf("%d",&pilihan);
}while(pilihan==2);
}

void InputData()
{
printf("Jumlah input data: ");
scanf("%d",&BanyakData);
printf("Masukan data:\n");
for(index=0;index<BanyakData;index++)
{
printf("Data ke-%d: ",index+1);
scanf("%d",&data[index]);
}
}

void SemuaData()
{
printf("Data anda:");
for(index=0;index<BanyakData;index++)
printf("\nData ke-%d adalah: %d",index+1,data[index]);
}

void TambahAwal()
{
printf("Jumlah penambahan data:");
scanf("%d",&BanyakAkses);
for(index=0;index<BanyakData;index++)
{
data[BanyakData+BanyakAkses-index-1]=data[BanyakData-1-index];
}
printf("Masukan data tambahan:\n");
for(index=0;index<BanyakAkses;index++)
{
printf("Data ke-%d: ",index+1);
scanf("%d",&data[index]);
}
BanyakData=BanyakData+BanyakAkses;
}

void SisipData()
{
printf("Jumlah penambahan data: ");
scanf("%d",&BanyakAkses);
printf("Sisipkan pada urutan: ");
scanf("%d",&IndexAkses);
for(index=0;index<BanyakData-IndexAkses+1;index++)
{
data[BanyakData+BanyakAkses-index-1]=data[BanyakData-index-1];
}
printf("Masukan data:\n");
for(index=0;index<BanyakAkses;index++)
{
printf("Data ke-%d : ",index+1);
scanf("%d",&data[index+IndexAkses-1]);
}
BanyakData=BanyakData+BanyakAkses;
}

void TambahAkhir()
{
printf("Jumlah data: ");
scanf("%d",&BanyakAkses);
printf("Masukan data: \n");
for(index=0;index<BanyakAkses;index++)
{
printf("Data ke-%d: ",index+1);
scanf("%d",&data[BanyakData+index]);
}
BanyakData=BanyakData+BanyakAkses;
}

void EditData()
{
clrscr();
printf("Edit pada urutan: ");
scanf("%d",&IndexAkses);
printf("Data baru: ");
scanf("%d",&data[IndexAkses-1]);
}

void HapusData()
{
printf("Hapus pada urutan: ");
scanf("%d",&IndexAkses);
for(index=0;index<BanyakData-IndexAkses;index++)
{
data[IndexAkses-1-index]=data[IndexAkses-index];
}
BanyakData=BanyakData-1;
}

void LihatData()
{
clrscr();
printf("Lihat pada urutan: ");
scanf("%d",&IndexAkses);
printf("Data yang anda minta: %d",data[IndexAkses-1]);
}

void opsi()
{
printf("\n\nPilihan berikutnya:\n");
printf("1. Ulangi operasi\n");
printf("2. Kembali\n");
}

1 comments:

Anonymous,  August 8, 2010 at 5:14 AM  

sobat, maksudnya javascript mudah di tembus gmana?
ngga juga sob, aku admin di site http://karnadi.freevar.com tapi aku punya dua blog...

Post a Comment

Followers

followers

  © Blogger templates ProBlogger Template by Ourblogtemplates.com 2008

Back to TOP