PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE

Tidak ada komentar

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

1.       Array A dideklarasikan sebagai berikut :
Int A [2][4][3], dengan alamat awal A [0][0][0] berada di 0011(H) dan ukuran data int = 2 Tentukan berapa alamat Array di A[2][3][2] ?

Jawab :

Tentukan jumlah elemen array A [2][4][3] = (2) * (4) * (3) = 24

A [2][3][2]           = 0011(H) + {((2 - 1) * (4 * 3) + ((3 - 1) * (3)) + (2 - 1)} * 2
                                = 0011(H) + {12 + 6 + 1} * 2
                                = 0011(H) + 38(D) -> 26(H) dikonversi
                                = 0011(H) + 26(H)
                                = 0037(H)

2.       Array A dideklarasikan sebagai berikut :
Int A [2][4][3], dengan alamat awal A [0][0][0] berada di 0011(H) dan ukuran data int = 2 Tentukan berapa alamat Array di A[2][4][2] ?

Jawab :

Tentukan jumlah elemen array A [2][4][3] = (2) * (4) * (3) = 24

A [2][4][2]           = 0011(H) + {((2 - 1) * (4 * 3)) + ((4 - 1) * (3)) + (2 - 1)} * 2
                                = 0011(H) + {12 + 9 + 1} * 2
                                = 0011(H) + 44(D) -> 2C(H) dikonversi
                                = 0011(H) + 2C(H)
                                = 003D(H)

3.       Array A dideklarasikan sebagai berikut :
Int A [2][4][3], dengan alamat awal A [0][0][0] berada di ABCD(H) dan ukuran data float = 4 Tentukan berapa alamat Array di A[2][2][3] ?

Jawab :

Tentukan jumlah elemen array A [2][4][3] = (2) * (4) * (3) = 24

A [2][2][3]           = ABCD(H) + {(2 - 1) * (4 * 3)) + ((2 - 1)) *  (3)) + (3-1)} * 4
                                = ABCDH) + {12 + 3 + 2} * 4
                                = ABCDH) + 68(D) -> 44(H) dikonversi
                                = ABCD(H) + 44(H)
                                = AC11(H)

4.       Array A dideklarasikan sebagai berikut :
Float A [5][5][5], dengan alamat awal A [0][0][0] = 0021(H) , berapakah alamat array A[2][3][2] dan A[5][4][3] ?

Jawab :

Tentukan jumlah elemen array A [5][5][5] = (5) * (5) * (5) = 125

#A [2][3][2]         = 0021(H) + {(2 - 1) * (5 * 5)) + ((3 - 1) * (5)) + (2 - 1)} * 4
                                = 0021(H) + {25 + 10 + 1} * 4
                                = 0021(H) + 144(D) -> 90(H) dikonversi
                                = 0021(H) + 90(H)
                                = 00B1(H)


#A [5][4][3]         = 0021(H) + {(5 - 1) * (5 * 5)) + ((4 - 1) * (5)) + (3 - 1)} * 4
                                = 0021(H) + {100 + 15 + 2} * 4
                                = 0021(H) + 468(D) -> 1D4(H) dikonversi
                                = 0021(H) + 1D4(H)
                                = 01F5(H)

5.       Array B dideklarasikan sebagai berikut :
Char B [3][4][3], dengan alamat awal B [0][0][0] = 0021(H) , berapakah alamat array B[2][3][2] dan B[3][4][3] ?

Jawab :

Tentukan jumlah elemen array A [3][4][3] = (3) * (4) * (3) = 36

#B [2][3][2]         = 0021(H) + {((2 - 1) * (4 * 3)) + ((3 - 1) * (3)) + (2 - 1)} * 1
                                = 0021(H) + {12 + 6 + 1} * 1
                                = 0021(H) + 19(D) -> 13(H)
                                = 0021(H) + 13(H)
                                = 0025(H)

#B [3][4][3]         = 0021(H) + {((3 - 1) * (4 * 3)) + ((4 - 1) * (3)) + (3 - 1)} * 1
                                = 0021(H) + {24 + 9 + 2} * 1
                                = 0021(H) + 35(D) -> 23(H)
                                = 0021(H) + 23(H)
                                = 0044(H)

6.       Deklarasi array x adalah int A [2][4][5], 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][2][2] ?
Jawab :

Tentukan jumlah elemen array A[2][4][5] = (2) * (4) * (5) = 40

A [2][2][2]           = 0021(H) * {((2 - 1) * (4 * 5)) + ((2 - 1) * (5)) + (2 - 1)} * 2
                                = 0021(H) * {20 + 5 + 1} * 2
                                = 0021(H) + 52(D) -> 34(H) dikonversi
                                = 0021(H) + 34(H)
                                = 0055(H)


Tidak ada komentar :

Posting Komentar