Search form

Dynamic Array

Dalam bahasa Pascal kamu bisa membuat array yang sifatnya dinamis. Ini sangat berguna untuk membuat list. Kalau kamu membuat array seperti ini:

var A: array[0..100] of STRING;

Maka array A akan berukuran 101, dengan indeks dari 0 sampai 100. Sepanjang program berjalan, di memori akan tersedia 101 tempat, yang entah dipakai entah tidak, tetap disediakan. Ini sangat memboroskan memori.

Kalau kamu menggunakan dynamic array, kamu tidak perlu menyebutkan indeks dalam deklarasinya:

var Dinamis: array of STRING;

Cara memakainya sama dengan array biasa, tetapi kamu bisa mengubah-ubah ukurannya. Pada awalnya array ini akan berukuran nol. Kamu harus menset terlebih dahulu ukuran array sebelum dipakai, menggunakan prosedur SetLength.

begin
  SetLength(Dinamis, 100);
  Dinamis[0] := 5;
  Dinamis[1] := 10;
  for i:=2 to 99 do Dinamis[i]:=2*i;

  // di sini kamu mengubah lagi ukurannya menjadi 50
  SetLength(Dinamis, 50);

  // maka perintah ini akan error
  Dinamis[60] := 6;
end.

Nah, indeks array dinamis selalu dimulai dari 0. Jadi array berukuran 200 akan memiliki indeks dari 0 sampai 199. Ada tiga fungsi yang bisa memberitahu kita informasi tentang array, yaitu:

  • Length(<array>), menunjukkan ukuran dari array
  • Low(<array&>), menunjukkan indeks elemen pertama dari array.
  • High(<array>), menunjukkan indeks elemen terakhir dari array
var
  i: INTEGER;
  A: array of STRING;
begin
  for i:=Low(A) to High(A) do
    A[i]:="elemen ke " + InttoStr(i);
 
  for i:=0 to Length(A) - 1 do
    writeln(A[i]);
end.

Tanggapan

Beri tanggapan