Wednesday, September 28, 2011

Struktur data dan Algoritma tatap muka ke dua TI UIKA Bogor

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...:)

2 comments:

Apakah Skill adalah penentu keberhasilan mendapatkan pekerjaan?

Rasanya kemapuan atau skill hebat bukan satu-satunya faktor penentu keberhasilan dalam mendapatkan pekerjaan, masih ada faktor hoki dan oran...