28 september 2011
tatap muka kedua struktur data & algoritma..
membahas tentang :
1. Karakteristik Array
2. Pemetaan Array Dimensi 1
3. Pemetaan Array Dimensi 2
point 1 karakteristik Array :
a. Dapat di akses sesuai keperluan
b. Sejumlah data ( indeks/elemen jelas )
c. Type data sama (homogen)
point 2 pemetaan Array 1 Dimensi :
Rumus penting :
A[i] = B+(i-1)*L
A[i] = Alamat index yang di cari
B = Alamat Awal
i = Index
L = Ukuran memory/type data
Contoh kasus 1 :
Dik :
Array dengan deklarasi Int A[5] dengan alamat awal terletak do 0011(H) dengan jumlah memory integer = 2
Dit :
Alamat yang di cari A[3] adalah ?
jawab :
A[3] = 0011(H) + (3-1)*2
= 0011(H) + 4(D)
= 0011(H) + 4(H)
= 0015(H)
Untuk penjumlahan Hexadesimal(H) harus dengan Hexadesimal(H) pula
tidak bisa Hexadesimal(H) dengan Desimal (D)
berikut cara Untuk mengubah 4(D) ke 4(H)
4(D) Diubah ke biner telebih dahulu jadi 100 nah ubah lagi menjadi bilangan Hexadesimal dengan cara menambahkan 0 di depan bilangan biner tadi jadi 0100 = 4(H)
Contoh kasus 2 soal sama dengan contoh kasus 1 hanya diganti yg ditanyakan A[5]?
jawab :
A[5] = 0011(H) + (5-1)*2
= 0011(H) + 8(D) ------> 01000(H) = 8(H)
= 0011(H) + 8(H)
= 0019(H)
Contoh kasus 3 :
Array dengan deklarasi Float A[5]
dengan alamat awal terletak di 00F(H) Dengan jumlah Integer = 4
Alamat yang di cari A[3] adalah?
Jawab :
A[3] = 00F(H) + (3-1)*4
= 00F(H) + 8(D)
= 0015 (D) + 8(D)
= 0023(D)
= 17(H)
Kalau contoh kasus pertama ialah penjumlahan hexa dengan hexa langsung kalau contoh kasus yg kedua ini kita ubah dulu bilangan hexadesimal ke bilangan desimal.
F = 15
dari bilangan desimal berikut :
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Nah urutan F ini adalah ke 15 maka dari itu F=15
Untuk mengubah Bilangan Desimal Ke Hexadesimal seperti berikut :
23(D)=....(H)
Hexa berarti 16
maka bilangan tsb dibagi 16
23/16
= 1 sisa 7
jadi penulisannya
23(D) = 17(H)
point ke 3 Pemetaan Array 2 Dimensi
Int A[3][2]
[3] -------> Baris
[2] -------> KoLOM
Rumus Sudut pandang baris :
M[i][j] = M[0][0]+{(i-1)*K+(j-1)}*L
M[0][0]=Alamat awal
i = baris
j = kolom
K = kolom
Rumus Sudut Pandang Kolom :
M[i][j] = M[0][0]+{(j-1)*N+(i-1)}*L
M[0][0]=Alamat awal
i = baris
j = kolom
N = kolom
Contoh kasus 3
Dik :
Float X[4][3]
Alamat awal = 0011(H)
Ukuran type data = 4
Dit ;
Float X[3][2]
Jawab :
*Cara pandang baris :
Float X[4][3]
X[3][2] = 0011(H) + {3-1)*3 + (2-1)}*4
= 0011(H) + {6+1}*4
= 0011(H) + 7*4
= 0011(H) + 28(D)
= 0011(H) + 1C(H)
= 2D
Cara Mengubah 28(D) menjadi 1C(H)
28/16
= 1 Sisa 12
12 itu c (lihat list di atas)
maka 112 -----> 1C
sesudah itu di jumlahkan :
0011
1C
-----+
2D
Nb : 1+C = D (Habis C apa? D kan?)
1+1 = 2
*Cara pandang kolom :
Float X[4][3]
X[3][2] = 0011(H) + {2-1)*4 + (3-1)}*4
= 0011(H) + {4+2}*4
= 0011(H) + 6*4
= 0011(H) + 24(D)
= 0011(H) + 18(H)
= 0029(H)
Nb : 24/16
= 1 sisa 8
jadi 18(H)
Tugas !!
1. Int A[3][4]
alamat awal = 0015(H)
Dit = Int A[2][3]
2. Float B[2][3]
Alamat awal = 0013(H)
Dit = M[1][2]
3. Shrt Int C[5]
B = 00F(H)
Dit = C[4]
semoga bermanfaat ya..:)
tugasnya jangan lupa di kerjain buat minggu depan...:)
kereenn...
ReplyDeletebagi2 ilmu'y atauh bg...
sama2 bar saling share lewat blog yak...:D
ReplyDelete