0% menganggap dokumen ini bermanfaat (0 suara)
324 tayangan

2 Array

Array adalah himpunan data yang terurut dan homogen. Terdiri dari nama array, range array, dan tipe data elemen. Array satu dimensi menyimpan data secara linear dengan indeks. Array dua dimensi menyimpan data secara row-major atau column-major order. Mencari alamat indeks array menggunakan rumus yang melibatkan base location, indeks awal dan akhir, serta lebar elemen.

Diunggah oleh

hafaskom
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
324 tayangan

2 Array

Array adalah himpunan data yang terurut dan homogen. Terdiri dari nama array, range array, dan tipe data elemen. Array satu dimensi menyimpan data secara linear dengan indeks. Array dua dimensi menyimpan data secara row-major atau column-major order. Mencari alamat indeks array menggunakan rumus yang melibatkan base location, indeks awal dan akhir, serta lebar elemen.

Diunggah oleh

hafaskom
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

STRUKTUR DATA

Pertemuan Kedua
ARRAY

PENDEFINISIAN ARRAY

Array adalah suatu himpunan hingga dari elemen data yang terurut dan
homogen

Tiga hal yang perlu diperhatikan adalah :


Nama array, Range array dan Tipe data dari elemen array

Pendefinisian dalam bahasa pemrograman :


C
int Number[10];

PASCAL
VAR TEMP : ARRAY[1..24] OF INTEGER

BASIC
30 DIM TEMP(24)

by Ahmad Fitriansyah
(www.hafaskom.web.id) for STMIK
Eresha (www.eresha.ac.id) 1
PENDEFINISIAN ARRAY

Keuntungan :
- Paling mudah pengoperasiannya
- Ekonomis dalam pemakaian memori jika semua indeks
terisi
- Akses ke setiap elemen memerlukan waktu yang sama

Kerugian :
Memboroskan memori jika banyak indeks yang tidak terisi

PANJANG ARRAY

Panjang suatu array adalah jumlah elemen data


yang terkandung di dalam suatu array.

Panjang suatu array dapat dihitung dengan 2 cara,


yaitu :
Jika L = 1 maka panjang array = U
Jika L <> 1 maka panjang array = U – L +1
L adalah Lower Bound (batas bawah) dan U adalah
Upper Bound (batas atas)
L U
Contoh :
Array A [1 : 4] maka panjang array = 4
Array B [4 : 7] maka panjang array = 4

by Ahmad Fitriansyah
(www.hafaskom.web.id) for STMIK
Eresha (www.eresha.ac.id) 2
PANJANG ARRAY DUA DIMENSI

Array M [ L1 : U1, L2 : U2] maka panjang = P1 * P2

P1 P2

Contoh latihan :

Jumlah elemen yang terkandung dalam array A [1:2, 1:4, 3:5]


adalah …...

Suatu array A [1:5, 1:3, 2:4] mempunyai elemen sebanyak

Array A didefinisikan sebagai A [4:5, 2:4, 1:2, 3:4], maka


banyaknya elemen array adalah …...

ARRAY SATU DIMENSI

Example of an array of 5 integers


Index/Subscript

[0] [1] [2] [3] [4]

88 95 33 55 44

Cell

by Ahmad Fitriansyah
(www.hafaskom.web.id) for STMIK
Eresha (www.eresha.ac.id) 3
ARRAY SATU DIMENSI

 Accessing array
– Each item in the array is accessed by giving the
array name first and then followed by the subscript
number.

– E.g Assign 100 to cell number 3


Number[3] = 100;

ARRAY DUA DIMENSI

Penggambaran secara fisik representasi array dimensi dua ada 2


cara yaitu :
* ROW-MAJOR ORDER
Penyimpanan secara linear berdasarkan barus yaitu baris pertama,
kedua, dan seterusnya.
* COLUMN-MAJOR ORDER
Penyimpanan secara linear berdasarkan kolom yaitu kolom 1, 2, dst.

Misalkan array A berordo 3 x 3, maka di memori digambarkan


sebagai berikut :
ROW-MAJOR ORDER
[1,1][1,2][1,3][2,1][2,2][2,3][3,1][3,2][3,3]
COLUMN-MAJOR ORDER
[1,1][2,1][3,1][1,2][2,2][3,2][1,3][2,3][3,3]

by Ahmad Fitriansyah
(www.hafaskom.web.id) for STMIK
Eresha (www.eresha.ac.id) 4
ARRAY DUA DIMENSI

Contoh :

Gambarkan matriks berikut baik secara row major maupun


coloumn major

1. Matriks A [2 : 5, 3 : 4]

2. Matriks B [3 : 4, 1 : 4]

MENCARI ALAMAT INDEKS ARRAY

ARRAY DIMENSI SATU

Untuk mencari alamat awal dari elemen data pada


array dimensi satu, menggunakan rumus :

B + (X – L) * S

B = BASE LOCATION (ALAMAT AWAL ARRAY)


X = INDEX ELEMEN DATA YANG DICARI
ALAMATNYA
L = INDEX DATA AWAL ARRAY
S = LEBAR ELEMEN DATA (BYTE)

by Ahmad Fitriansyah
(www.hafaskom.web.id) for STMIK
Eresha (www.eresha.ac.id) 5
MENCARI ALAMAT INDEKS ARRAY

ARRAY DIMENSI DUA


Diketahui array Z (L1:U1,L2:U2) index yang dicari (I,J)

ROW-MAJOR
B + (I – L1) * (U2 – L2 + 1) * S + (J – L2) * S

COLUMN MAJOR
B + (J – L2) * (U1 – L1 + 1) * S + (I – L1) * S

DIMANA :
B = BASE LOCATION (ALAMAT AWAL ARRAY)
L = BATAS BAWAH
U = BATAS ATAS
I = BARIS ELEMEN YANG DICARI
J = KOLOM ELEMEN YANG DICARI
S = LEBAR ELEMEN DATA (BYTE)

MENCARI ALAMAT INDEKS ARRAY

ARRAY DIMENSI SATU

CONTOH 1 :
Cari alamat awal elemen Z(4) pada array Z(1:4)
Jawab : B + (X – L) * S = B + (4 - 1) * S = B + 3 * S

CONTOH 2 :
Cari alamat awal elemen A(5) pada array Z(2:6)
Jawab : B + (X – L) * S =

by Ahmad Fitriansyah
(www.hafaskom.web.id) for STMIK
Eresha (www.eresha.ac.id) 6
MENCARI ALAMAT INDEKS ARRAY

ARRAY DIMENSI DUA


Diketahui array Z(1:2,1:3). Index data yang dicari (2,1)

CONTOH ROW-MAJOR ORDER


= B + (I – L1) * (U2 – L2 + 1) * S + (J – L2) * S
= B + (2-1) * ( 3 – 1 + 1) * S + (1 – 1) * S
=B+1*3*S+0*S
=B+3*S

CONTOH COLUMN-MAJOR ORDER


= B + (J – L2) * (U1 – L1 + 1) * S + (I – L1) * S
= B + (1 – 1) * (2 – 1 + 1) * S + (2 – 1) * S
=B+0*2*S+1*S
=B+S

MENCARI ALAMAT INDEKS ARRAY

CONTOH SOAL 1 :
Diketahui array Z(3:7,2:5). Index data yang dicari (4,3)
Cari berdasarkan row-major =
Cari berdasarkan column-major =

CONTOH SOAL 2 :
Diketahui array Z(2:4,3:6). Index data yang dicari (1,3)
Cari berdasarkan row-major.

Diketahui array B(1:3,5:4). Index data yang dicari (1,4)


Cari berdasarkan column-major

by Ahmad Fitriansyah
(www.hafaskom.web.id) for STMIK
Eresha (www.eresha.ac.id) 7

Anda mungkin juga menyukai