Array Dimensi 3
dapat digambarkan
sebagai suatu benda ruang. Deklarasi pada array tiga dimensi tidak berbeda pada
array satu dimensi dan dua dimensi yang telah dijelaskan sebelumnya, kecuali
pada indeks array.
Contoh : type ruang =
array [1..8,1..5,1..3] of integer;
2. Array Dimensi Tiga (Three Dimensional Array)
Digunakan
untuk mengelola data dalam bentuk 3 dimensi atau tiga sisi.
Deklarasi :
Type_Data Nama_Variabel [index1] [ndex2] [index3];
Misal : int A [2][3][4];
Deklarasi :
Type_Data Nama_Variabel [index1] [ndex2] [index3];
Misal : int A [2][3][4];
Menentukan jumlah elemen dalam Array dimensi 3
π = Perkalian
dari statemen sebelumnya
Contoh :
Suatu Array X dideklarasikan sbb
:
int B [2][4][5]; maka jumlah
elemen Array dimensi tiga tersebut adalah :
(2) * (4) * (5) = 40
3. Pemetaan (Mapping) Array Dimensi 3 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
Contoh :
Suatu Array
A dideklarasikan sebagai berikut :
Int A [3]
[5] [2], dengan alamat awal index A [0] [0] [0] berada di 0021(H) dan ukuran type data int = 2.
Tentukan berapa alamat array di A [2] [3] [1] ?
Penyelesaian
:
1. Tentukan
jumlah elemen array A [3] [5] [2]
= (3)*(5)*(2) = 30
2.
@M[m][n][p] = M[0][0][0] +
{((m-1)*(jum.elemen2 *
jum.elemen3)) + ((n-1)*(jum.elemen3)) + ((p-1)}*L
A[2][3][1] =
0021(H) + {((2-1) * 5 * 2) + ((3-1) *2) + (1-1)}* 2
=
0021(H) + {10 + 4 + 0}* 2
=
0021(H) + 28(D) ---> 1C(H)
=
0021(H) + 1C(H)
=
003D(H)
Contoh
Mengenal Alamat Array Dimensi Tiga
1. Terdapat
array tiga dimensi dengan int A[3][5][2].
Diketahui &A[0][0][0]=0021H,
Ditanya &A[2][3][1]=....?
Untuk array [2][3][1]: 1 baris=5
elemen: 1 grup=3 * 5=15 elemen
2. Terdapat array tiga dimensi dengan int
A[3][5][2].
Diketahui &A[1][4][1]=12EFH,
Ditanya &A[0][2][0]=....?
Tipe int satu elemen=2byte
Untuk array [3][5][2]: 1 baris=5
elemen: 1 grup=3 * 5=15 elemen
Contoh
Program array dimensi 3 menggunakan Borland C++
//Judul
Program : Array dimensi 3
//Tanggal
Pembuatan : 14 Juni 2015
#include
<conio.h>
main()
{
int i,s;
char h=64,
nama[5][4][22] = {
"Chelsea
FC","Barcelona","Porto","Monaco",
"Juventus","Real
Madrid","CSKA Moskow","PSG",
"Lyon","Arsenal","Atletico
Madrid","Ajax",
"AS
Roma","Manchester
United","Wolfburg","Valencia",
"Manchester
City","Bayern Munich","Galatasaray","PSV"
};
printf("Liga
Champions : \n\n");
for(i=0;
i<5; i++)
{
++h;
printf("Grup
%c \n", h);
for(s=0;
s<4; s++)
{
printf("
%d. %s \n", s+1, nama[i][s]);
}
printf("\n");
}
getch();
}
4. TRINGULAR
ARRAY (ARRAY SEGITIGA)
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
Contoh :
Diketahui
suatu array segitiga atas memiliki 4 baris dan kolom, tentukan berapakah jumlah
elemen yang bukan nol pada array tersebut.
I = N(N+1) / 2
I = 4(4+1) / 2
= 20 / 2
= 10
contoh bentuk arraynya adalah seperti ini
Suatu Array
Upper Tringular dan Array Lower Tringular dapat dengan order yang sama, dapat disimpan sebagai suatu array dengan order yang
berbeda, Contohnya :
Dapat disimpan sebagai array C berorder (3 X 4)
5. Sparse
Array (Array Jarang)
Suatu Array yang sangat banyak elemen nol-nya, contohnya adalah Array A pada gambar berikut :
Suatu Array yang sangat banyak elemen nol-nya, contohnya adalah Array A pada gambar berikut :
0 komentar:
Posting Komentar