Pusat Ilmu Secara Detil

Operasi Insert Pada Array Bahasa C Secara Dinamis

Operasi Insert Pada Array Bahasa C Secara Dinamis


Dalam tutorial pemrograman bahasa C kali ini, kita akan mempelajari operasi-operasi yang terdapat pada Array. Operasi-operasi pada Array yang dimaksud adalah : Traverse, Insert, Delete, Search serta Update.

Konsep Array ini merupakan salah satu bagian dalam pemrograman yang paling sering kita gunakan. Array yang merupakan variabel untuk menampung banyak nilai, namun dengan syarat harus nilai yang sama tipe datanya. Sedangkan nilai-nilai tersebut dibedakan dengan lokasi yang berbeda,yaitu :index.

Dengan demikian, array terdiri dari :
  • Elemen
    Elemen adalah nilai yang mengisi sebuah array.
  • Index
    Index merupakan bagian lokasi yang menandakan sebuah elemen dalam array. Sehingga untuk mengakses sebuah elemen digunakan index.

Representasi Array



Dari gambar diatas:
  • Index sebuah array selalu dimulai dari 0
  • Panjang array menyatakan banyaknya elemen yang dikandung. Dari gambar diatas memiliki tiga(3) elemen, sehingga dikatakan panjangnya 3.
  • Tiap-tiap elemen dapat diakses melalui indexnya. Contoh untuk mengakses elemen "Didi Mansur", maka indexnya adalah 1.

Operasi-Operasi Dasar Terhadap Array

Berikut ini adalah operasi-operasi dasar yang dapat dilakukan pada array:
  • Insertion.
    Operasi insertion akan melakukan penambahan sebuah elemen pada index tertentu.
  • Delete.
    Operasi ini akan mengakibatkan terhapusnya sebuah elemen pada index tertentu.
  • Search.
    Mencari suatu elemen array dengan menggunakan index atau nilai yang diberikan.
  • Update.
    Operasi ini akan menggantikan nilai dari elemen sebelumnya.

Contoh Operasi Insert pada Array

#include<stdio.h>
#include<conio.h>
int main()
{
    int panjang=0;
    int Nilai[panjang];
    int i;
    int sisip,posisi, change_panjang;

    printf("Masukkan Panjang Array :");
    scanf("%d",&panjang);
    
    for(i=0;i<panjang;i++)
    {
      printf("Masukkan Elemen Array Index[%d]:",i);
      scanf("%d",&Nilai[i]);
    }
    
    printf("\nElemen array awal :\n");
    for(i=0;i<panjang;i++)
    {
  printf("Nilai[%d] = %d \n",i,Nilai[i]);
                     
    }

    printf("\nMasukkan Nilai Elemen Yang Akan di Insert :");
    scanf("%d",&sisip);
    
    printf("Pada Index Keberapa Elemen tersebut di Insert:");
    scanf("%d",&posisi);
    
    change_panjang = panjang+1;
    while(panjang>=posisi)
 {
  Nilai[panjang+1] = Nilai[panjang];
  panjang = panjang-1;
 }
 Nilai[posisi] = sisip;
   
    printf("\nElemen array setelah diinsert :\n");
    for(i=0;i<change_panjang;i++)
    {
  printf("Nilai[%d] = %d \n",i,Nilai[i]);
                     
    }
    
 getch();
}

Outputnya adalah :
Masukkan Panjang Array :5
Masukkan Elemen Array Index[0]:1
Masukkan Elemen Array Index[1]:3
Masukkan Elemen Array Index[2]:5
Masukkan Elemen Array Index[3]:7
Masukkan Elemen Array Index[4]:8

Elemen array awal :
Nilai[0] = 1
Nilai[1] = 3
Nilai[2] = 5
Nilai[3] = 7
Nilai[4] = 8

Masukkan Nilai Elemen Yang Akan di Insert :10
Pada Index Keberapa Elemen tersebut di Insert:3

Elemen array setelah diinsert :
Nilai[0] = 1
Nilai[1] = 3
Nilai[2] = 5
Nilai[3] = 10
Nilai[4] = 7
Nilai[5] = 8

Jika kita lihat contoh program insert diatas, maka:
  • User menginputkan berapa panjang array yang akan dibuat. Panjang array ini disimpan dalam variabel panjang. Jadi begitu dimasukkan panjang array 5, maka akan terbuat array untuk menampung 5 elemen pada bagian Nilai[5]
  • Pada looping pertama, kita memasukkan nilai elemen sedangkan pada looping kedua akan mencetak elemen-elemen yang telah kita inputkan.
  • Variabel sisip merupakan nilai elemen yang akan kita insert pada array yang telah tercreate sebelumnya. Sedangkan variabel posisi menyatakan pada index keberapa elemen tersebut akan diinsert.
  • Pada proses looping ketiga pada bagian kode while(panjang>=posisi){.....} akan melakukan pemindahan nilai elemen pada index berikutnya. Karena index awalnya akan diisi dengan elemen yang akan diinsert.
  • Variabel change_panjang = panjang+1 akan menambah panjang array setelah diinsert
  • Bagian Nilai[posisi] = sisip adalah proses menjadikan elemen yang dimasukkan pada array dengan index yang telah diinputkan juga sebelumnya.
  • Looping bagian terakhir adalah proses mencetak nilai elemen array setelah ada penambahan atau operasi insert sebuah nilai array pada index tertentu.

Share this:

You Might Also Like:

Disqus Comments