Anda di halaman 1dari 40

Safuan,M.

Kom
Mampu memahami
konsep dasar dari
Kompetensi array satu dimensi
hingga array
multidimensi
Definisi Array
 Array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen
dengan type yang sama.
 Banyaknya komponen dalam suatu larik adalah tetap dan lokasi dalam suatu larik
ditunjukkan oleh suatu INDEKS.
 Yang penting dalam array adalah pengalamatan memori dan digunakan pengalamatan
secara static.
Karakterisitik 01 Jumlah elemen array terbatas

02 Semua elemen array dapat diakses


secara acak

03 Panjang elemen sama


Array 1 – Dimensi
 List
 Vektor

Array 2 – Dimensi
 Tables
 Matriks (2 dimensi)

Dimensi
Array 3 – Dimensi
 Matriks 3 Dimensi

Array Multidimensi
 Pada prinsipnya secara teori jumlah
dimensi suatu matriks tidak terbatas, yang
membatasi adalah kemampuan hardware
dan besarnya memori
ARRAY 1 DIMENSI
Soal
Suatu array dideklarasikan dengan : A[ -3 . . 8 ], setiap elemen terdiri
dari 4 byte. Jika alamat elemen pertama @A[ -3 ] = 1000 H ditanya :

A. Jumlah Elemen

B. Jumlah Byte Seluruhnya

C. Alamat A[7] atau ditulis @A[7]


 
A. Jumlah Elemen = (Index atas - Index Bawah ) + 1
 
= ( 8 - (-3) ) + 1
 
= 12 Elemen
 
B. Jumlah Byte = JumlahElemen * Jumlah Byte PerElemen
= 12 * 4
 
 
= 48 Byte

 
C. Alamat @A[ 7 ] = 40 disini adalah dalam notasi 40 Decimal, dalam pengalamatan memori
 
Dari @A[-3] berpindah/bergerak ke @A[7] digunakan notasi Hexa Decimal. Maka 40 Decimal dirubah menjadi
= 7 - (-3) Hexa Decimal.
 
  = 10 Elemen  
 

Setiap Elemen 4 Byte maka : 40 Decimal = 28 Hexa Decimal atau 28 H Jadi


 
@A[7] = 1000 H + 28 H
10 * 4 = 40 Byte
  = 1028 H
 
 
ARRAY 2
DIMENSI
Array Dua Dimensi
Representasi matriks dalam bentuk array dua dimensi dapat
berupa :

 Ukuran baris perbaris ( Row Major Order)


 Ukuran Kolom perkolom ( Column Major Order)

Matrik dalam pembahasan selanjutnya menggunakan


M[Baris][Kolom]
Soal
Diketahui suatu Array dua dimensi yang dideklarasikan dengan A[ -1
.. 2 , 3 .. 8 ] Setiap elemen terdiri dari 4 Byte.
Alamat elemen pertama @A[-1,3] = 1000 H atau @A[-1,3] = 1000
H
A. Jumlah Elemen

B. Jumlah Byte Seluruhnya

C. Alamat A[2,5] atau @A[2,5] ?

Jika penempatan memori menggunakan :


C1. Row Major Order
C2. Column Major Order
Catatan : Angka- Angka Didalam Elemen Bukan Isi elemen tapi merupakan nomor Urut elemen.
C1. Menentukan Alamat @A[2,5]
Dari Gambar disamping terlihat bahwa bergerak dari
menggunakan ROW MAJOR ORDER
elemen A[-1,3] ke elemen A[2,5] yaitu
elemen ke 21 menurut ROW MAJOR ORDER
perpindahannya sebanyak :
21 – 1 = 20 Elemen

ATAU

Terlihat dari Baris –1 ke baris 2 sebanyak 3 Baris


Setiap Baris ada 6 Elemen , Jadi 3 * 6 = 18
Elemen

Dari Kolom 3 Ke kolom 5 sebanyak 2 Kolom

Jadi Total Perpindahan = 18 + 2 = 20 Elemen

Satu Elemen 4 Byte  Pindah 20 * 4 = 80 Byte 


80 Dec = 50 Hexa Dec.
Dimana 1 Elemen 4 Byte Jadi  20 * 4 = 80 Byte ( Decimal )

80 Decimal = 50 Hexa Decimal

Jadi Alamat @A[2,5] = 1000 H + 50 H = 1050 H


C2. Menentukan Alamat @A[2,5] menggunakan
COLUMN MAJOR ORDER

Dari Gambar Diatas terlihat bahwa bergerak dari elemen A[-1,3] ke elemen A[2,5] yaitu
elemen ke 12 menurut COLUMN MAJOR ORDER perpindahannya sebanyak :
12 – 1 = 11 Elemen

ATAU

Terlihat dari kolom 3 ke kolom 5 sebanyak 2 Kolom


Setiap Kolom ada 4 Elemen , Jadi 2 * 4 = 8 Elemen
Dari baris -1 Ke baris 2 sebanyak 3 baris
Jadi Total Perpindahan = 8 + 3 = 11 Elemen

Satu Elemen 4 Byte  Pindah 11 * 4 = 44 Byte= 44 Dec


44 Dec = 2C Hexa,
ARRAY 3
DIMENSI
Soal
Suatu Array dideklarasikan A[ 2 ..4 , -1 .. 2 , 3 .. 8 ], setiap elemen
terdiri 4 byte.
Alamat elemen pertama @A[2,-1,3]= 1000 H ditanya :

A. Jumlah Elemen
B. Jumlah Byte Seluruhnya
C. Alamat @A[4,2,5]
C1. Menggunakan Row Major Order
C2. Menggunakan Column Major Order
A. Jumlah Elemen: Jumlah Blok = ( 4 - 2 ) + 1 = 3 Blok
Jumlah Baris = ( 2 – (-1) + 1 = 4 Baris
Jumlah Kolom = ( 8 – 3 ) + 1 = 6 Kolom

Jumlah Elemen = 3 * 4 * 6 = 72 Elemen.

B. Jumlah Byte : 72 * 4 Byte = 288 Byte.


Dari Gambar terlihat urutan perpindahan dari elemen no. 1 ke Elemen No.
69 perpindahan
sebanyak 68 Elemen.

68 * 4 Byte =272 Byte --- 272 Dec. = 110 Hexa Dec.

Jika tidak melihat gambar dapat dihitung dengan melihat perpindahan


Blok, Baris dan
kolom.
Ditanya : @A[ 4 , 2 , 5 ]
Diketahui @A[ 2 , -1 , 3 ] Di kurang

2 3 2
Pindah = 68 Elemen
= 68 * 4 Byte
= 272 Byte (Decimal)
= 110 Hexa Dec

Jadi Alamat @A[4,2,5] =


1000 H + 110 H = 1110 H
Dari Gambar terlihat urutan perpindahan dari elemen no. 1 ke Elemen No. 60 perpindahan
sebanyak 59 Elemen.

59 * 4 Byte = 236 Byte  236 Dec. = EC Hexa Dec.


Pindah = 59 Elemen
= 59 * 4 Byte
= 236 Byte (Decimal)
= EC Hexa Dec

Jadi Alamat @A[4,2,5] =


1000 H + EC H =
10EC H
ARRAY MULTI
DIMENSI
Soal
Diketahui suatu Array Multi Dimensi yang dideklarasikan dengan
A[1..2, 2..4, -1..2, 3..8 ].
Setiap elemen terdiri dari 4 Byte. Alamat elemen pertama @A[1,2,-
1,3] = 1000 H
A. Jumlah Elemen
B. Jumlah Byte Seluruhnya
C. Alamat @A[2,4,2,5]
C1. Menggunakan Row Major Order
C2. Menggunakan Column Major Order
A. Jumlah Elemen =
2 Grup * 3 Blok * 4 Baris * 6 Kolom
= 144 Elemen

B. Jumlah Byte
= 144 * 4 = 576 Byte
Ada pertanyaan?
Latihan
 
1. Suatu array dideklarasikan dengan : A[-2 .. 5 ], setiap elemen terdiri dari 6 byte.
 
Jika alamat elemen pertama FFBB H ditanya :
 
a. Jumlah Elemen
 
b. Jumlah Byte Seluruhnya
c. Alamat A[4] atau ditulis @A[4]

2. Diketahui suatu Array dua dimensi yang dideklarasikan dengan A[-2..3,3..6].


Setiap elemen terdiri dari 2 Byte. Alamat elemen pertama FECA H
Ditanya : A . Jumlah Elemen
  B. Jumlah Byte Seluruhnya
  C. Alamat A[2,5] atau @A[2,5] ?
Jika penempatan memori menggunakan :
C1. Row Major Order 
C2. Column Major Order
 
Latihan
3. Diketahui suatu Array 3 dimensi yang dideklarasikan dengan A[-2..2,1..4,3..6]. Setiap
elemen terdiri dari 6 Byte. Alamat elemen pertama FC8B H
Ditanya : A . Jumlah Elemen
B. Jumlah Byte Seluruhnya
C. Alamat A[1,3,5] atau @A[1,3,5] ?
C1. Row Major Order
C2. Column Major Order

4. Diketahui Array Multi dimensi yang dideklarasikan dengan A[2..4,-


1..4,3..6,1..6]. setiap elemen 8 Byte. Alamat elemen Pertama F2BE H.
Ditanya A. Jumlah Elemen
  B. Jumlah Byte Seluruhnya
  C. @A[2,4,4,5]
 C1. Row Major Order
 C2. Column Major Order

Anda mungkin juga menyukai