RSS

Free PASCAL

Apa itu Array ?

Array itu tipe data yang terdiri dari banyak/kumpulan data. Contoh: di dalam kelas terdapat 30 siswa. Nah, daripada membuat 30 variabel nama: nama1, nama2, nama3, ..., nama30, maka akan lebih efisien jika variabel nama ditampung dalam array : nama: array [1..30] of string;

Contoh variabel array nama diatas memiliki range/cakupan sebanyak 30 data. Jika kita memasukkan data lebih dari 30 maka akan terjadi range check error.

Contoh penulisan aplikasi array di PASCAL:



Program array1;

var
  nama:array [1..5] of string;
  i: integer;

begin
  {cara memasukkan data array}
  for i:=1 to 5 do readln(nama[i]);
end.

Array diatas dapat dikatakan sebagai array 1 dimensi, dimana elemen array terdiri dari 1 lapis. Array juga dapat digunakan untuk menggambarkan bentuk data tabel/ matriks yang terdiri dari 2 dimensi.

Contoh:

0 0 1
0 1 0
1 0 0

Bentuk matriks diatas terdiri dari 3 baris dan 3 kolom dengan data sebagai berikut:
(1,1) = 0 {baris pertama kolom pertama}
(1,2) = 0 {baris pertama kolom kedua}
(1,3) = 1 {baris pertama kolom ketiga}
... dst.

Karena data disimpan berdasarkan no. baris dan no. kolom, maka jika ditulis menggunakan tipe data Array di Pascal, Array yang digunakan adalah array 2 dimensi.

Contoh penulisan aplikasi array di PASCAL :

Program array2;

var
  matriks: array [1..5,1..5] of integer;
  i,j:integer;

begin
  {cara memasukkan data array 2 dimensi}
  {i mewakili baris dan j mewakili kolom}
  for i:=1 to 5 do
     for j:=1 to 5 do
        readln(matriks[i,j]);
end.

Apa Beda Fixed Array dan Dynamic Array ?

Fixed Array adalah array yang jumlahnya tetap. Contoh contoh array diatas adalah fixed array. Sedangkan Dynamic Array adalah array yang jumlahnya belum ditetapkan, cara mendefinisikan dalam PASCAL:

var
   nilai:array of integer;

Jumlah elemen array itu nantinya akan didefinisikan dengan perintah setlength.
Contoh penulisan aplikasi dalam PASCAL :

program array3;

var
   nilai:array of integer;
   banyak,i: integer;

begin
   write('masukkan banyaknya nilai : ');
   readln(banyak);
   setlength(nilai,banyak);
   for i:=0 to banyak-1 do
      readln(nilai[i]);
end.

Oya, perlu diketahui nih,
mengapa kok perulangannya jadi for i:=0 to banyak-1?
Ini karena elemen dalam array dimulai dari angka 0. Jadi kalau pada contoh diatas, banyaknya nilai diisi 3, maka ketika di-setlength 3, elemen array-nya jadi nilai[0], nilai[1], nilai[2].
So... jangan kaget jika saat memasukkan data, Anda menggunakan perulangan i yang dimulai dari 1 hingga n data, maka ketika di-compile akan sukses namun ketika dieksekusi akan muncul error 201 (out of range - pada contoh kasus diatas, muncul nilai[3])

Contoh diatas adalah contoh array dinamis 1 dimensi. Bagaimana jika 2 dimensi? Maka pendefinisian dalam PASCAL menjadi :

var
   matriks:array of array of integer;

Contoh aplikasi di PASCAL:

program matriks1;

var
   matrik:array of array of integer;
   i,j,baris,kolom:integer;

begin
  {masukkan dimensi matrik}
   write('masukkan jumlah baris dan kolom : ');
   readln(baris,kolom);
   setlength(matrik,baris,kolom);

  {masukkan data elemen matrik}
   for i:=0 to baris-1 do
      for j:=0 to kolom-1 do
         readln(matrik[i,j]);

  {menampilkan data elemen matrik}
   for i:=0 to baris-1 do begin
      for j:=0 to kolom-1 do
         write(matrik[i,j],' ');
      writeln;
   end;
end.

Semoga bermanfaat.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.