Rabu, 17 Juni 2015

TUGAS STRUKTUR DATA

Latihan
1.Diket:Int A[3][4][2], M[0][0][0]=0038(H), L=3
Ditanya: alamat array A[2][3][2]……..?
               Jawab:
  -Jumlah elemen array=[2][3][2]
                                         =2x3x2
                                         =12
A[2][3][2]= M[0]0][0]+ {((m-1)*(jml.elemen 2*jml.elemen 3))+((n-1)*(jml.elemen 3))+((p-1))}*L
                  =0038(H)+{((2-1)*(4*2))+((3-1)*(2))+((2-1))}*3
                  =0038(H)+{(8)+(4)+(1)*3
                  =0038(H)+39(D)
                 =0038(H)+2.7(H)
                 =0065(H)


2.Int A[4][2][3], M[0]0][0]=0021(H), L=2
Ditanya: alamat array A[3][4][3]=……….?
Jawab:
Jml elemen array=[3][4][3]
                               =(3)*(4)*(3)
                               =36
A[3][4][3]=  M[0]0][0]+ {((m-1)*(jml.elemen 2*jml.elemen 3))+((n-1)*(jml.elemen 3))+((p-1))}*L
                  =0021(H)+{((3-1)*(2*3))+((4-1)*(3))+((3-1))}*2
                  =0021(H)+{(12)+(9)+(2)*2
                  =0021(H)+46(D)
                 =0021(H)+2.14(H)
                 =00415(H)


3. .Int A[2][3][4],
 M[0]0][0]=0032(H),
 L=3
Ditanya: alamat array A[2][2][2]=……….?
Jawab:
Jml elemen array=[2][2][2]
                               =(2)*(2)*(2)
                               =8
A[3][4][3]=  M[0]0][0]+ {((m-1)*(jml.elemen 2*jml.elemen 3))+((n-1)*(jml.elemen 3))+((p-1))}*L
                  =0032(H)+{((2-1)*(3*4))+((2-1)*(4))+((2-1))}*3
                  =0032(H)+{(12)+(4)+(1)*3
                  =0032(H)+51(D)
                 =0032(H)+3.3(H)
                 =0065(H)



4. Diket:Int A[2][3][4]
M[0][0][0]=0012(H)
L=4
Dita:alamat array A[2][3][2]………………?
Jawab:
Jumlah elemen array=[2][3][2]
                                     =(2)*(3)*(2)
                                      =12

A[2][3][2]= M[0]0][0]+ {((m-1)*(jml.elemen 2*jml.elemen 3))+((n-1)*(jml.elemen 3))+((p-1))}*L
                   =0012(H)+{((2-1)*(3*4))+((3-1)*(4))+((2-1))}*4
                  =0012(H)+{(12)+(8)+(1)*4
                  =0012(H)+84(D)
                 =0012(H)+5.4(H)
                 =0066(H)


5.Diket: array segitiga mempunyai 6 baris dan kolom
Dita: jumlah elemen yang bukan nol pada array…..?
Jawab:
I=N(N+1)/2
I=6(6+1)/2
  =42/2
  =21

6.Diket: array segitiga mempunyai 8 baris dan kolom
Dita:jumlah elemen bukan nol pada array……………?
Jawab:
I=N(N+1)/2
I=8(8+1)/2
  =72/2
  =36

7.Diket:array segitiga atas mempunyai 10 baris dan kolom
Dita:jumlah elemen bukan nol pada array…………….?
Jawab:
I=N(N+1)/2
I=10(10+1)/2
  =110/2
  =55

 8. suatu array dideklasikan sebagai berikut : float X[3][4],dengan alamat index X[0][0] berada di  0011(H) dan ukuran type data float =3.
Tentukan berapa alamat array X[2][3]berdasarkan cara baris dan kolom?

Dik:
-           M[0][0]= 0011(H)
-           M[i][j] =X[2][3]
-           N=4
-           K=3
0
1
2
3
0
0011(H)



1




2



?
3




Penyelesaian:
·         Secara Baris Per Baris (Row Major Oder / RMO)       
@M[i][j]   = @M[0][0] + {(I  - 1) *N +( j - 1)} *L
                     X[2][3] = 0011 (H) +{(2 - 1) *4 + (3 - 1)} *3
    = 0011(H) + 6(D)
                                                    = 0011(H) + 6(H)
                                                    = 0017(H)

·         Secara Kolom Per Kolom (Coloumn Major Oder / CMO)
@M[i][j] = @M[0][0] + {(j - 1) * K + (i - 1)} * L
    X[2][3] = 0011(H) + {(3 - 1) * 3 + (2 - 1)} * 3
                   = 0011(H) + 28(D)
                           = 0011(H) + 28(H)
                           = 002D(H)

Tidak ada komentar:

Posting Komentar