#3 Struktur Data : Array Dimensi 1, 2 dan 3

Pengertian Array

Array adalah struktur data sederhana yang dapat didefinisikan sebagai pemesanan alokasi memory sementara pada komputer. Array dapat didefinisikan sebagai suatu himpunan hingga  elemen yang terurut dan homogen. Terurut : Dapat diartikan bahwa elemen tersebut dapat diidentifikasi sebagai elemen pertama, elemen kedua dan seterusnya sampai elemen ke-n. Homogen : Adalah bahwa setiap elemen dari  sebuah Array tertentu haruslah mempunyai type data yang sama.

Karakteristik Array

Sebuah Array dapat mempunyai elemen yang seluruhnya berupa integer atau character atau String bahkan dapat pula terjadi suatu Array mempunyai elemen berupa Array.

Karakteristik Array :
1. Mempunyai batasan dari pemesanan alokasi memory (Bersifat Statis)
2. Mempunyai Type Data Sama (Bersifat Homogen)
3. Dapat Diakses Secara Acak

3 Hal yang harus diketahui dalam mendeklarasikan array :

  • Type data array
  • Nama variabel array
  • Subskrip / index array

Jenis-jenis Array

Jenis Array (yang akan dipelajari) adalah :

  • Array Dimensi Satu (One Dimensional Array)
  • Array Dimensi Dua (Two Dimensional Array)
  • Array Dimensi Tiga (Three Dimensional Array)

Array Dimensi Satu (One Dimensional Array)

Dapat disebut juga dengan istilah vektor yang menggambarkan data dalam suatu urutan.

Deklarasi :  Type_Data Nama_Variabel [index]

Misalnya :   int A[5];

Penggambaran secara Logika :

void main()
{ int bil [5];
  clrscr;
  cout<<"Masukkan 5 bilangan : "<<endl;
  for (int i = 0; i < 5; i++)
   { cout<<"Bilangan ";
     cout<< i + 1 <<" : ";
     cin>> bil[i];
     cout<<endl;
   }
  cout<<endl;
  cout<<"5 bilangan yang dimasukkan “ <<endl;
  for (int i = 0; i < 5; i++)
    cout<<"  "<<bil[i];
  getch();
}

Rumus untuk menentukan jumlah elemen dalam Array:

Contoh :

Suatu Array A dideklarasikan sbb :

int A[10]; maka jumlah elemen Array dimensi satu tersebut adalah   =   10

Baca juga :  #4 Struktur Data : Stack

PEMETAAN (MAPPING) ARRAY DIMENSI SATU KE STORAGE

Rumus :  @A[i] = B  + (i – 1) * L

Dimana   : @A[i]  : Posisi Array yg dicari

B :  Posisi awal index di memory komputer

i  : Subkrip atau indeks array yg dicari

L  : Ukuran / Besar memory suatu type data

Array Dimensi Dua (Two Dimensional Array)

Array dua dimensi adalah array yang penomoran index-nya menggunakan dua buah angka. Atau dengan kata lain array dua dimensi adalah array yang memiliki dua buah indeks array. Jika pada array satu dimensi hanya memiliki satu indeks saja, pada array dua dimensi ini memiliki dua indeks pada arraynya.

Deklarasi : Type_Data Nama_Variabel [Index1] [index2];

Misal : int A[3][2];

PEMETAAN (MAPPING) ARRAY DIMENSI DUA  KE STORAGE

Terbagi dua cara pandang (representasi) yang berbeda :

1. Secara Kolom Per Kolom (Coloumn Major Order/CMO)

  @M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L   

2. Secara Baris Per Baris (Row Major Order / RMO)

  @M[i][j] = M[0][0] + {(i – 1) * N + (j – 1)} * L  

Keterangan :  
@M[i][j] = Posisi Array yg dicari, M[0][0] = Posisi alamat awal index array,i = Baris, j = kolom, L = Ukuran memory type data
K = Banyaknya elemen per kolom, N = Banyaknya elemen per baris 

Contoh Program Array 2 Dimensi

#include<stdio.h>
#include<conio.h>
main()
{
 int a[3][5];
 for (int i=0;i<3;i++)
 {
  for (int j=0;j<5;j++)
  {
   printf("%x ",&a[j][i]);
   }
   printf("\n");
  }
  getch();
}

Array Dimensi Tiga (Three Dimensional Array)

Digunakan untuk mengelola data dalam bentuk 3 dimensi atau tiga sisi.

Deklarasi : Type_Data Nama_Variabel [index1] [index2] [index3]; 
Misal : int A [3][4][2]; 

PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE

Rumus : @M[m][n][p]  = M[0][0][0] + {((m-1) *(jum.elemen2 * jum.elemen3)) + ((n-1)*(jum.elemen 3)) + ((p-1)}* L

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *