Bab 7 - Array
Struktur data Array memungkinkan kita menyimpan nilai lebih dari satu didalam satu variabel. Karakteristik dari array memiliki jumlah data yang statis, dengan kata lain, penyimpanan datanya terbatas. Untuk mengakali keterbatasan dari array, orang-orang telah banyak membuat struktur data sendiri, contohnya linked list yang memungkinkan kita menyimpan data dengan tidak terbatas.
Baiklah, di dalam Pascal untuk mendeklarasikan array sebagai berikut
var
a : array [1..10] of integer; { mendeklarasikan array sebanyak 10 elemen.. }
begin
a[1] := 10;
a[2] := 11;
...
end.
Indeks array dalam Pascal dimulai dari 1. Jika di bahasa lain, seperti C, C++ maupun Java, indeks array dimulai dari 0.
Mendeklarasikan Array yang Memiliki Nilai Default
Untuk mendeklarasikan array yang telah memiliki nilai-nilai default, seperti ini
var
a : array [1..5] of integer = (1, 2, 3, 4, 5);
Pengaksesan Elemen Array
Untuk mengakses sebuah elemen dari array, kita bisa menspesifikasikan nilai indeksnya, seperti ini dalam contoh kode berikut
var
a : array [1..10] of integer; { mendeklarasikan array sebanyak 10 elemen.. }
i : integer;
begin
a[1] := 10; { assign elemen array ke-1 dengan nilai 10 }
a[2] := 11; { assign elemen array ke-1 dengan nilai 11 }
{ looping dari 1 hingga berapa banyak elemen dari array a }
for i := 1 to length(a) do begin
write(a[i], ' ');
end;
writeln();
end.
Potongan kode diatas akan menghasilkan output
10 11 0 0 0 0 0 0 0 0
Array Multidimensi
Setelah kita mengenal array satu dimensi seperti diatas, di bahasan ini kita akan mengenal array multidimensi. Namun pembahasan disini hanya dibatasi hingga array 2 dimensi (matriks).
Untuk mendeklarasikan matriks, caranya cukup mudah
var
matrik : array [1..3, 1..3] of integer; { mendeklarasikan matriks 3x3 }
Pengaksesan Elemen Matriks
Hampir sama dengan mengakses array 1 dimensi
var
a : array [1..3, 1..3] of integer; { mendeklarasikan matriks 3x3 }
i : integer;
begin
a[1, 1] := 10; { assign elemen b=1, k=1 dengan nilai 10 }
a[2, 3] := 11; { assign elemen b=2, k=3 dengan nilai 11 }
end.