Anda di halaman 1dari 24

LARIK / ARRAY

Dyah Darma Andayani

Defenisi
sekumpulan kotak (variable) yang menyimpan
sekumpulan elemen bertipe sama secara
berurutan (sequential).
Tipe terstruktur yang terdiri dari sejumlah
komponen yang mempunyai tipe data yang sama
Variabel array terdiri dari :
Array berdimensi satu
Array berdimensi dua

Ciri-ciri Array
Ciri-ciri Array
setiap elemen data array diacu melalui
indeksnya
karena elemen disimpan secara berurutan ,
indek array harus lah suatu tipe yang
mempunyai keterurutan (ada suksesor dan
predecessor).
Contoh bertipe data : integer, karakter atau tipe
data enumerasi.

Pengolahan data array harus per elemen.


Elemen Array dapat diakses secara langsung
(random), maksudnya untuk memanipulasi
elemen keempat tidak harus melalui elemen
pertama, kedua, dan ketiga.

Jika indeks integer maka keterturutan indeks


sesuai dengan urutan integer (0,1,2,3,4,5,6,..)
Jika indeks Karakter maka keterturutan indeks
sesuai dengan urutan karakter (a,b,c,d,e .).

Representasi (Pemetaan) di memori


(Array Berdimensi Satu)
Memori komputer untuk pemetaan linear array
dibentuk secara linear pula. Memori memiliki
alamat (address), ibarat suatu komplek
perumahan. Sebagai identifikasi, maka rumahrumah tsb diberi nomor yang urut dalam pola
yang tertentu (misalnya dari kecil ke besar).
Pemetaan di memori juga berfungsi sebagai
identifikasi letak data, agar kelak data tsb dapat
diambil kembali, maka akan dengan tepat
ditemui data tersebut.

Banyaknya alamat di memori tergantung dari jenis


komputer yang digunakan, misalnya dari alamat 000000
hingga FFFFFF (dalam sistem bilangan Hexadesimal).
Setiap alamat dapat ditempati oleh data sebesar satu
byte.
Ketika kita memasukkan data baru, maka komputer akan
mencatat dimana data itu disimpan. Elemen data
pertama yang disimpan dalam alamat memori disebut
dengan Base Address (B).
Jika kita memiliki 20 nilai data dalam variabel bersubscript A yang masing-masing memerlukan 8 byte data
dan base addressnya di 1000 berada di alamat
berapakah mulainya nilai data A yang ke-18 disimpan ?
Berikut gambaran pemetaan data A di memori

Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat
1136 di memori.

1008

A(1)

1024

A(2)

1000

A(3)

1040

A(4)

A(5)

A(6)

1032

1016

1104

1056

A(7)

1112

A(9)

1128

1088

A(10)

1064

1136

A(12) A(13) A(14) A(15) A(16) A(17)


1096

A(8)

1048

1120

1072

1080

1152

A(18)

A(19) A(20)

1144

A(11)

1160

Array Berdimensi Satu


Bentuk Umum :
Tipe_Data Nama_Variabel [ukuran]
Contoh :
int nilai [6];
Jumlah elemen
Nama array
Tipe data elemen array

Contoh :
int nilai [4];
Hasilnya :

Nilai [0]

Nilai [1]

Nilai [2]

Nilai [3]

Bentuk umum untuk data bukan angka :


data_type array_name []={constant_1,
constant_2,...,constant_n}
Data type menyatakan tipe data array.
Array_name adalah nama array, harus memenuhi
ketentuan identifier.
Constant_1,...,constant_n adalah nilai awal elemen
array dan harus setipe.
Contoh :
char huruf []={a,b,c}
a
b
c

Hasil

huruf[0]

huruf[1]

huruf[2]

Formula
Perhitungan Alokasi Memory Array
Kita
Kita dapat
dapat membuat
membuat rumusannya,
rumusannya, yaitu
yaitu ::

AD = B + (SK-1) * LD
Keterangan :
AD =

Posisi alamat awal dari nilai data yang akan dicari

Base Address

SK =

Subscript ke berapa yang akan dicari

LD =

Lebarnya data yang dapat disimpan di setiap alamat memori


AD = B + (SK-1) * LD
AD = 1000 + (18-1) * 8
AD = 1000 + 17 * 8
AD = 1000 + 136
AD = 1136

Array Berdimensi Dua


Bentuk Umum :
Tipe_Data Nama_Variabel [index-1] [index-2]
Contoh :
int nilai [2] [3] ;
Jumlah kolom
Jumlah baris
Nama array
Tipe data elemen array

Salah satu implemantasi array 2 dimensi ini


digunakan untuk membuat program MATRIK
(Aljabar Linear).
Contoh Matrik dengan ordo 2 x 2
A= 1 5
2 4
Matrik A diatas adalah matrik dengan ordo 2x2
sehingga matrik tersebut memiliki elemen :
A[1,1] = 1, A[1,2] = 5, A[2,1]= 2 dan A[2,2]=4.

Array Multi Dimensi


Bahasa C tidak membatasi jumlah dimensi array
yang bisa digunakan. Hal ini semata-mata dibatasi
jumlah memory yang tersedia.
Array tiga dimensi dapat diumpamakan sebagai
sebuah balok dengan balok-balok satuan sebagai
elemen array.
Bentuk umum :
data_type array_name[size1] [size2]...[size n]
Size 1 menyatakan jumlah elemen dimensi pertama
size 2 menyatakan jumlah elemen dimensi kedua
size n menyatakan jumlah elemen dimensi ke-n

Contoh I
int i, j ;
int tabel [3] [2] ;
for (i=0 ; i<=2 ; i++)
{
for (j=0; j<=1; j++)
{
cout<< data ke- << i << j << endl;
cout<< nilai = ;
cin>> tabel [i] [j];
}
}

Hasil Contoh I

HASIL

Tabel [0] [0]

Tabel [0] [1]

Tabel [1] [0]

Tabel [1] [1]

Tabel [2] [0]

Tabel [2] [1]

Contoh 2
Diberikan matriks A sebagai berikut :
1 1 1 1
0 1 1 1
0 0 1 1
0 0 0 1
Perintah pokok yang digunakan pada pengisian matriks
A adalah :
A[i,j] = 1, jika i <= j
A[i,j] = 0, jika i > j

Latihan
Diberikan matriks sebagai berikut :
1 2 3 4
0 2 3 4
0 0 3 4
0 0 0 4
Perintah pokok yang digunakan pada pengisian
matriks A adalah :

Diberikan matriks A sebagai berikut :


1 0 0 0
2 2 0 0
3 3 3 0
4 4 4 4
Perintah pokok yang digunakan untuk pengisian
matriks A adalah :

Tugas
1 . Diberikan matriks A sebagai berikut :
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Perintah pokok yg digunakan pd pengisian
matriks A adalah :

2. Diberikan larik ( array ) A[1..n] , serta algoritma


sbb :
For i = 1 to n
A[i]=2*i+1
End_i
Algoritma tsbt digunakan untuk mengisi A
dengan Nilai .....

3. Diberikan suatu Array X[1..4] dan Y[1..4],


dengan nilai X=4,6,8,10 dan Y=2,3,4,5
Suatu Algoritma :
Hasil = 0
For i = 1 to n
Hasil= hasil+X[i]/Y[i]
End_i
Bila Algoritma ( dengan n=4 ) dikerjakan,
maka nilai dari hasil adalah :

4.
a)Jika kita memiliki 25 nilai data dalam variabel ber-subscript A
yang masing-masing memerlukan 8 byte data dan base
addressnya di 100 berada di alamat berapakah mulainya nilai
data A yang ke-23 disimpan ?
b)Jika kita memiliki 35 nilai data dalam variabel ber-subscript B
yang masing-masing memerlukan 4 byte data dan base
addressnya di 1500 berada di alamat berapakah mulainya nilai
data A yang ke-33 disimpan ?
c)Jika kita memiliki 75 nilai data dalam variabel ber-subscript C
yang masing-masing memerlukan 10 byte data dan base
addressnya di 900 berada di alamat berapakah mulainya nilai
data A yang ke-65 disimpan ?
1. Buatlah perhitungannya dengan rumus !
2. Buatlah gambarannya !

Anda mungkin juga menyukai