int A[50] dengan alamat awal berada di 0011(H).
tentukan berapa alamat array A[20] dan A[40] ?
Penyelesaian :
a) Dik : A[i] = A[20]
B = 0011(H)
I = 20
L = 2
Dit : Alamat array A[20] ?
jawab : A[i] = B + (i-1) * L
A[20] = 0011(H) + (20-1) * 2
= 0011(H) + 19*2
= 0011(H) + 38(D)
= 0011(H) + 26(H)
= 0037(H)
b) Dik : A[i] = A[40]
B = 0011(H)
I = 20
L = 2
Dit : Alamat array A[40] ?
jawab : A[i] = B + (i-1) * L
A[40] = 0011(H) + (40-1) * 2
= 0011(H) + 39*2
= 0011(H) + 78(D)
= 0011(H) + 4E(H)
= 005F(H)
2. Suatu array X dideklarasikan sbb :
Float X[4][5] dengan alamat awal berada pada 0011(H).
Tentukan berapa alamat array X[4][3],
berdasarkan cara pandang baris dan kolom?
berdasarkan cara pandang baris dan kolom?
Penyelesaian :
Dik : M[i][j] = X[4][3]
M[0][0] = 0011(H)
N = 5
L = 4
K = 4
Dit : Tentukan alamat array X[4][3]
a) cara pandang baris?
b) cara pandang kolom?
jawab:
a) M[i][j] = M[0][0] + { (i - 1) * N + (j - 1) } * L
X[4][3] = 0011(H) + { (4 -1) * 5 + (3 - 1) } * 4
= 0011(H) + {17} *4
= 0011(H) + 68(D)
= 0011(H) + 44(H)
= 0055(H)
b) M[i][j] = M[0][0] + { (j - 1) * K + (i - 1) } * L
X[4][3] = 0011(H) + { (3 - 1) * 4 + ( 4 - 1) } * 4
= 0011(H) + {11} * 4
= 0011(H) + 44(D)
= 0011(H) + 2C(H)
= 003D(H)
3. float M[4][3] alamat awal 001E.
tentukan array M[2][1].
berdasarkan cara pandang baris dan kolom?
penyelesaian :
dik : M[i][j] = M[2][1]
M[0][0] = 001E
N = 3
K = 4
L = 4
dit : tentukan alamat array M[2][1]
M[2][1] = 001E(H) + { (2 - 1) * 3 + (1 - 1) } * 4
= 001E(H) + {3} * 4
= 001E(H) + 12
= 001E(H) + C => E + C = 14 + 12 = 26 = 1A
= 002A(H)
b) M[i][j] = M[0][0] + { (j - 1) * K + (i - 1) } * L
M[2][1] = 001E(H) + { (1 - 1) * 4 + (2 - 1) } * 4
= 001E(H) + {1} * 4
= 001E(H) + 4(D)
= 001E(H) + 4(H) => E + 4 = 14 + 4 = 18 = 1 2
= 0022(H)
= 0014(H)b) M[i][j] = M[0][0] + { (j - 1) * K + (i - 1) } * L
X[4][3] = 0011(H) + { (3 - 1) * 4 + ( 4 - 1) } * 4
= 0011(H) + {11} * 4
= 0011(H) + 44(D)
= 0011(H) + 2C(H)
= 003D(H)
3. float M[4][3] alamat awal 001E.
tentukan array M[2][1].
berdasarkan cara pandang baris dan kolom?
penyelesaian :
dik : M[i][j] = M[2][1]
M[0][0] = 001E
N = 3
K = 4
L = 4
dit : tentukan alamat array M[2][1]
a) cara pandang baris?
b) cara pandang kolom?
jawab:
a) M[i][j] = M[0][0] + { (i - 1) * N + (j - 1) } * LM[2][1] = 001E(H) + { (2 - 1) * 3 + (1 - 1) } * 4
= 001E(H) + {3} * 4
= 001E(H) + 12
= 001E(H) + C => E + C = 14 + 12 = 26 = 1A
= 002A(H)
b) M[i][j] = M[0][0] + { (j - 1) * K + (i - 1) } * L
M[2][1] = 001E(H) + { (1 - 1) * 4 + (2 - 1) } * 4
= 001E(H) + {1} * 4
= 001E(H) + 4(D)
= 001E(H) + 4(H) => E + 4 = 14 + 4 = 18 = 1 2
= 0022(H)
4) Suatu array A dideklarasikan sebagai berikut:
int A[4] alamat awal indeks berada di 0010(H)
ukuran type int = 2.
tentukan berapa alamat array A[3]
dik : int A[3]
B = 0010(H)
i = 3
L = 2
dit : alamat array A[3]?
jawab :
A[3] = 0010(H) + (3 - 1) * 2
= 0010(H) + 2 * 2
= 0010(H) + 4(D)
= 0010(H) + 4(H)
5) Array float A[5] dengan nilai awalnya benda pada 002F(H).
berapa nilai A [3] nya?
penyelesaian :
dik : float A[3]
B = 002F(H)
i = 3
L = 4
dit : nilai A[3]?
jawab :
A[3] = 002F(H) + (3 - 1) * 4
= 002F(H) + 2 * 4
= 002F(H) + 8(D)
= 002F(H) + 8(H) => F + 8 = 15 + 8 = 23 = 1 7
= 0037(H)
itu cara menentukan L nya 2 atau 4 itu gimana? atau random aja?
BalasHapusDari type data nya mas. Kalau integer 2 kalau float 4 kalau char 1
HapusKalo cara menentukan N sama K itu gimana ya?
BalasHapusN = baris
HapusK = kolom
di nomor 3, itu 14 nya darimana ya?
BalasHapusini nomor 2 bagian b maksudnya gimana ya?
BalasHapusyg nmr 2 yang 68(D), 44(H), D sama H itu darimana ya?
BalasHapuskak mau tanya oo11(h)+ 4e(h) kenapa hasilnya oo5f(h). makasih
BalasHapusH D
Hapus0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15
Baca lagi bro, kenapa 0011(H) + 4E(H) = 005F(H)
karena E itu pengganti dari 14, jadi ibaratnya 14+1=15, Nah 15=F
pahami lagi coba makasih
Bener dia bang jadi 0011(H) +4E tuh 005F 4+1=5. E(14H) + 1 jadi 15(F) jadi jawaban nya benar 005F
HapusKomentar ini telah dihapus oleh pengarang.
BalasHapusK sama N nya kebalik itu
BalasHapusHarusnya
N=4
K=5