Sabtu, 01 November 2014

Jenis Array

ARRAY DIMENSI SATU
Deklarasi     : Type_Data Nama_Variabel [index]
Rumus untuk menentukan jumlah elemen dalam array adalah :
n
p(Index Array)
i = 1
ket:
p = Perkalian dari index sebelumnya (untuk arraybdimensi dua dan tiga).

Pemetaan (mapping) array dimensi satu ke storage
Rumus              :  @A[i] = B + (i – 1) * L
Dimana :  @A[i]           :  Posisi array yang dicari
                          B         :  Posisi awal index di memori computer
                          i           :  Subkrip atau index array yang di cari
                          L          :  Ukuran atau besar memori suatu tipe data
Contoh bentuk Array menggunakan c++
include<iostream>
using namespace std;
void main(void)
{
int x[10]={0,1,2,3,4,5,6,7,8,9};
int *px;
int i;
for(i=0;i<10;i++)
{
px=&x[i]; // membaca alamat dari x
cout<<x[i] << " " <<*px<<" "<<px<<endl;
}
{
       cout<<"1.NAMA               :SUDARSONO"<<endl;
       cout<<"2.NIM                :2010140119"<<endl;
       cout<<"3.SEMESTER           :IIIA"<<endl;
       cout<<"4.TANGGAL PRAKTIKUM  :23-03-2011"<<endl;
}

2.   ARRAY DIMENSI DUA
Deklarasi     : Type_Data Nama_Variabel [index1] [index2]
Menentukan jumlah elemen dalam array dimensi dua :
n
p(Index Array)
i = 1
ket:
p = Perkalian dari statemen sebelumnya

Pemetaan (mapping) array dimensi dua ke storage terbagi dua cara pandang (representasi) yang berbedayaitu :
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 yang di cari, 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.
3. ARRAY DIMENSI TIGA
Adalah suatu array yang setiap elemennya merupakan tipe data array juga yang merupakan array dimensi dua.
Contoh :

Penyajian data mengenai banyaknya mahasiswa dari 20 perguruan tinggi di Jakarta, berdasarkan tingkat (1 sampai 5), dan jenis kelamin (pria atau wanita). Misalkan array tersebut dinamakan MHS. Ambil subskrip pertama, tingkat = 1, 2, ..., 5; subskrip kedua, jenis kelamin (pria = 1, wanita = 2), dan subskrip ketiga, perguruan tinggi adalah K = 1, 2, ..., 20. Jadi MHS(4,2,17) menyatakan jumlah mahasiswa tingkat 4, wanita, dari perguruan tinggi 17.


CROSS SECTION (Penampang Array Berdimensi-2)
Adalah pengambilan salah satu subskrip.
Misal :            Baris               =          tetap/konstan
                       Kolom             =          berubah-ubah (*)

Contoh :        B(*,4) =          semua elemen pada kolom ke-4.
                        B(2,*) =          semua elemen pada baris ke-2.

Pengertian cross-section pada array dimensi banyak, adalah sama seperti pada array dimensi dua.

Misal :
MHS(4,*,17) =   jumlah mahasiswa tingkat 4 dari perguruan tinggi 17 (masing-masing untuk ria dan wanita).
MHS(*,*, 3) =    jumlah mahasiswa untuk masing-masing tingkat, pria dan wanita, dari perguruan tinggi 3.