Senin, 15 Juni 2015

Array Dimensi 3

1. Definisi Array Dimensi 3
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;

menunjukkan bahwa ruang adalah nama pengenal/variabel yang berupa array yang komponennya bertipe integer dan terdiri atas 8 baris, mempunyai 5 kolom dan 3 halaman. 


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];
 





  


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]=....?
                Tipe int satu elemen=2byte
                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 <stdio.h>
#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 :



0 komentar:

Posting Komentar