Pengertian Array pada Struktur Data



Salah satu Struktur Data yang teramat penting adalah Array atau Larik.
Array dapat didefinisikan sebagai suatu himpunan hingga  elemen, terurut dan homogen. Atau Dapat didefinisikan juga sebagai pemesanan alokasi memory sementara pada komputer.
 
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. Sebuah Array dapat mempunyai elemen yang  semuanya berupa integer atau dapat pula seluruhnya berupa character atau String bahkan dapat pula terjadi suatu Array mempunyai elemen berupa Array pula.

Karakteristik Array :
1. Mempunyai batasan dari pemesanan alokasi
    memory (Bersifat Statis)
2. Mempunyai Type Data Sama
    (Bersifat Homogen)
3. Dapat Diakses Secara Acak
Adapaun jenis Array yang akan dipelajari adalah :
1.  Array Dimensi Satu (One Dimensional)
2.  Array Dimensi Dua (Two Dimensional)
3.  Array Dimensi Banyak (Multi Dimensional)

1.  ARRAY DIMENSI SATU (One Dimensional)
                Deklarasi : Var A : Array[1..N] Of Type Data;
               Penggambaran secara Logika :
array+dimensi+1
  

Harga minimum dari subskrip suatu Array disebut sebagai batas bawah atau lower bound (L), sedangkan harga maksimumnya disebut batas atas atau upper bound (U).
PEMETAAN ARRAY DIMENSI SATU KE STORAGE
Mapping Storage Array Dimensi Satu
Rumus :  @A[I] = B  + {U - 1} * L
Dimana   @A[I]  : Posisi Array Yg Dicari
                B : Posisi Awal Array di Memory Komp.
                U : Subkrip atau Indeks Atas Array
                L : Besar Memory dari St. Type Data
Rumus menentukan jumlah elemen dalam Array :
Jumlah Elemen :
n
p (Ui – Li)
i=1
p = Pi (Perkalian dari statemen sebelumnya)
  {Dosen membuat contoh aplikasi mapping
    array dimensi  satu}

2.  ARRAY DIMENSI DUA (Two Dimensional)
B.U : Var A : Array[1..N,1..M] Of Type Data;

Sering digunakan dalam menterjemahkan matriks pada pemrograman.
Mis : Var A : Array[1..3,1..4] Of Integer;

Terbagi Dua cara pandang (representasi) yang berbeda :
1. Secara Kolom Per Kolom (Coloumn Major Oder)
@M[i,j] = @M[1,1] + {(j - 1) * K + (i - 1)} * L

2. Secara Baris Per Baris (Row Major Order)
@M[i,j] = @M[1,1] + {(i - 1) * N + (j - 1)} * L

Ket :  I = Baris, j = kolom, L = panjang elemen
K = Banyaknya kolom
N = Banyaknya baris
 
3.  ARRAY DIMENSI TIGA (Three Dimensional) dan Dimensi   Banyak (Multidimensional)
      B.U : Var A : Array[1..N,1..M,1..P,1..R,…] Of Type Data;

Pada dasarnya hanya pengembangan dari array dimensi tiga, yaitu :
@M[n,m,p,r,….] = @M[1,1,1,1,….] + {(n-1)*(Ui-Li+1)+(m-1)*(Ui-Li+1)+ (p-1)* (Ui - Li + 1)+……} * L

TRINGULAR ARRAY (ARRAY SEGITIGA)
Beberapa aspek pelinieran suatu Array yang harus ditinjau adalah Tringular Array. Tringular Array dapat merupakan Upper Tringular (seluruh elemen di bawah diagonal utama = 0), ataupun Lower Tringular (seluruh elemen di atas diagonal utama = 0).
Dalam Array Lower Tringular dengan N baris, jumlah maksimum elemen <> 0 pada baris ke-I adalah = I, karenanya total elemen <>0, tidak lebih dari
                                N
                         SIGMA     I = N(N+1)/2
                                I=1

tringular+array
Gambar       (a)  Upper Triangular Array
                    (b)  Lower Triangular Array
               

Contoh berikut.
tringular+array

SPARSE ARRAY (ARRAY JARANG).
Suatu Array yang sangat banyak elemen nol-nya, dikenal sebagai Sparse Array, contohnya adalah Array A pada Gambar berikut :
sparse+array

Post a Comment

0 Comments