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
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.
0 komentar:
Posting Komentar
Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.