Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array...
-
Upload
dangkhuong -
Category
Documents
-
view
236 -
download
7
Transcript of Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array...
![Page 1: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/1.jpg)
STRUKTUR DATASTRUKTUR DATA
ARRAY
Denny Agustiawan,M.pd
STMIK Asia Malang – 2011
![Page 2: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/2.jpg)
Metode PenyimpananMetode PenyimpananPenyimpanan struktur data dalam
memori komputer dilakukan dengan 2 metode:
Sequential Allocation statisLinked Allocation dinamis
![Page 3: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/3.jpg)
Sequential allocation Sequential allocation Dengan sequential
allocation alamat sebuah elemen akan dapat ditentukan jika telah diketahui nomor urut / indeks yang menunjukkan posisi elemen dan kapasitas memori yang digunakan untuk setiap elemen
Ali
Adi
Ari
Avi
1
2
n-1
n
.
.
.
.
.
.
![Page 4: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/4.jpg)
Sequential AllocationSequential AllocationUntuk menyimpan n sejumlah data
harus didefinisikan terlebih dahulu besarnya memori / jumlah tempat yang digunakan untuk menyimpan data tersebut.
Sebaliknya, jika tempat yang disediakan berlebih, maka terjadi pemborosan memori, sehingga metode ini disebut Metode Pengalamatan Statis.
Contoh paling sederhana dari sequential allocation ini adalah ARRAY.
![Page 5: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/5.jpg)
ArrayArray Array 1-dimensi disebut
Vektor Array 2-dimensi disebut
Matriks
![Page 6: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/6.jpg)
Vektor (array 1-dimensi)Vektor (array 1-dimensi)Biasanya digunakan untuk
menyatakan suatu daftar yang mempunyai urutan tertentu (tidak boleh bolak-balik)
Diawali sebuah ordered-list, misal: Jan, Feb, …, Des.
Jika dilakukan alokasi memori (misal: 100 byte), maka alokasi memori yang dipesan akan terletak secara berurutan & tidak terpencar-pencar, mulai elemen pertama hingga terakhir.
![Page 7: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/7.jpg)
Vektor (2)Vektor (2)Untuk sebuah vektor n elemen,
yang tiap elemennya membutuhkan c byte, maka total memori yang dialokasikan sebesar c * n byte dengan struktur alokasi vektor sbb:
A(1)
A(n)
Lo
.
.
.
A(i)
.
.
.
.
LLo = alamat awal elemen pertama array Ac = ukuran satu elemenL = Lo + c(i -1)A[i] = lokasi elemen ke-I array A
![Page 8: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/8.jpg)
Contoh segmen program Contoh segmen program PascalPascal
1: CONST2: n = 1003: VAR4: A : array [1..n] of integer
Misalkan elemen pertama (Lo) berada pada offset 1000, c = 2 byte maka, pada offset ke berapakah elemen ke-5 = A[5] ?
Jawab: Lo = 1000c = 2 bytei = 5L = A[5] = 1000 + 2*(5-1)
= 1000 + 8 = 1008
![Page 9: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/9.jpg)
Contoh segmen program Pascal Contoh segmen program Pascal (2)(2)
Contoh 2 :
1: Var2: B : array [5..30] of integer
Lo = 1000B[15] = ?
Jawab :B[15] = 1000 + 2.(15-5) = 1000 + 20
= 1020
![Page 10: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/10.jpg)
Matriks (Array 2-D)Matriks (Array 2-D) Ada 2 cara penyimpanan di
memori:◦ Row Major Order (RMO) ◦ Column Major Order (CMO)
![Page 11: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/11.jpg)
Row Major Order Row Major Order (RMO)(RMO)
Row Major Order (RMO)Data disimpan baris per baris sebagai
sebuah vektor
Contoh: 1: CONST2: n = 4 {jumlah baris}3: m = 3 {jumlah kolom}4: VAR5: A: array [1..n,1..m] of integer
A(1,1) A(1,2) A(1,3) A(2,1) A(2,2) A(2,3) … A(4,1) A(4,2) A(4,3)
baris – 1 baris – 2 baris – 4
![Page 12: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/12.jpg)
RMORMORumus pencarian lokasi elemen A[i,j]
secara RMOL = Lo + { (i-1) * m + (j-1) } * c
di mana 1 ≤ i ≤ n 1 ≤ j ≤ m
i = indeks jumlah barisj = indeks jumlah kolomm = jumlah kolomc = ukuran satu elemenLo = alamat elemen awal
![Page 13: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/13.jpg)
RMORMOContoh: Lo = 1000, c =2 , n =4,
m = 3 A[3,2] = ?A[3,2] = 1000 + {(3-1)*3 + (2-
1)} * 2 = 1000 + 7 * 2= 1000 + 14= 1014
![Page 14: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/14.jpg)
RMORMOSecara umum: untuk matriks yang
mempunyai lower bound lk dan upperbound uk, maka:
L = Lo + {(i-l1) * (u2 – l2 + 1) + (j – l2)} * c
Array [1 .. 6 ; 2 .. 5] l1 = 1; l2 = 2; u1 = 6; u2 = 5 B[3,2] = 1000 + {(3-1) * (5-2+1) + (2 –
2)} * 2 = 1000 + (2*4 + 0) * 2 = 1016
![Page 15: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/15.jpg)
Column Major Order Column Major Order (CMO)(CMO)
Column Major Order (CMO)
Prinsip penyimpanan mirip dengan RMO, hanya saja data disimpan kolom per kolom sebagai sebuah vector
Misal: matriks A dengan dimensi 4 baris & 3 kolom A(1,1) A(2,1) A(3,1) A(4,1) A(1,2) … A(4,2) A(1,3) … A(4,3)
kolom – 1 kolom – 3 kolom – 2
![Page 16: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/16.jpg)
CMOCMORumus CMO
L = Lo + {(i-1) + (j-1) * n} * c1 ≤ i ≤ n, 1 ≤ j ≤ m L = Lo + {(i-l1) + (j-l2) * (u1 – l1 + 1)} *
cA[3,2] = 1000 + {(3-1) + (2-1) * 4} * 2
= 1000 + (2+4) * 2 = 1012B[3,2] = 1000 + { (3-1) + (2-2) * (6-
1+1)} * 2= 1000 + (2 + 0 * 6) * 2= 1004
![Page 17: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/17.jpg)
ARRAY 3 DIMENSIARRAY 3 DIMENSIA [i,j,k] 1 ≤ i ≤ 2, 1 ≤ j ≤ 5, 1 ≤ k ≤ 4Rumus Secara umum 1 ≤ i ≤ n1, 1 ≤ j ≤ n2, 1 ≤ k ≤ n3A[i,j,k] = Lo + {(i-1) * n2 * n3 + (j-1) * n3 + (k-1)} * c
Rumus untukArray [l1 .. u1, l2 .. u2, l3 .. u3] of type dataA[i,j,k] = Lo + {(i – l1) * (u2 – l2 + 1) * (u3 – l3 + 1) + (j – l2) * (u3 – l3 + 1) + (k – l3)} * c
![Page 18: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/18.jpg)
Latihan SoalLatihan SoalDiketahui segmen program Pascal sbb:
Consta=2;b=5n=100m=50
VarArray_A : Array [1..1000] of string[30];Array_B : Array [1..b,1..m] of integer;Array_C : Array [a..m,b..n] of real;Array_D : Array [m..n] of boolean;
![Page 19: Digital Image Processing - Denny …… · PPT file · Web view · 2013-10-20Array Array 1-dimensi disebut Vektor Array 2-dimensi disebut Matriks Vektor ... Matriks (Array 2-D)](https://reader030.fdokumen.com/reader030/viewer/2022021420/5ae38ee97f8b9a595d8e947b/html5/thumbnails/19.jpg)
Latihan SoalLatihan SoalJika Lo = 1000, maka tentukan:
◦ Array_A[57]◦ Array_A[82]◦ Array_B[3,43] secara RMO◦ Array_B[4,44] secara CMO◦ Array_C[3,99] secara RMO◦ Array_C[m-a,n-b] secara CMO◦ Array_C[m-a,n-b] secara RMO◦ Array_B[b-3,m-(b*2)] secara CMO◦ Array_D[n-m]◦ Array_D[77]