Pengertian dan Cara Penggunaan Tipe Data Array Pascal
Pengertian Tipe Data Array Pascal
Tipe data array adalah tipe data bentukan yang terdiri dari
kumpulan tipe data lain. Daripada membuat 10 variabel yang terdiri dari nama1, nama2, nama3, dst, akan lebih
efisien jika variabel nama ini disimpan ke dalam array.
Sebagai contoh, perhatikan kode program
berikut ini:
program
tipe_array;
uses
crt;
var
nilai1,
nilai2, nilai3, nilai4: integer;
begin
clrscr;
nilai1:=
23;
nilai2:=
13;
nilai3:=
98;
nilai4:=
106;
writeln('nilai1:
',nilai1);
writeln('nilai2:
',nilai2);
writeln('nilai3:
',nilai3);
writeln('nilai4:
',nilai4);
readln;
end.
Dalam contoh tersebut kita membuat 4
variabel: nilai1, nilai2, nilai3 dan nilai4. Keempat
variabel ini bertipe integer.
Tidak ada yang salah dari kode program
diatas. Tapi bayangkan apabila kita ingin menyimpan lebih dari 4 nilai,
bagaimana jika 10 atau 100 nilai? Tentu tidak efisien jika kita harus membuat
variabel nilai1, nilai2, nilai3… sampai dengan nilai100. Untuk hal inilah tipe data array lebih cocok digunakan.
Cara Penggunaan Tipe Data Array Pascal
Untuk membuat tipe data array di pascal, kita
harus menentukan seberapa banyak element array yang ingin dibuat. Element adalah
sebutan untuk ‘anggota’ / isi dari array. Sebagai contoh, untuk membuat 10
element array bertipe integer kita bisa menggunakan kode berikut:
var
nilai:
array[0..9] of integer;
Sekarang, variabel ‘nilai’ berisi array dengan 10 element bertipe
integer. Perhatikan angka 0..9, ini berarti kita membuat element array dari
element 0, element 1, element 2, element 3,.. hingga element 9 (total terdapat
10 element).
Bagaimana cara mengakses element ini? kita
bisa mengaksesnya melalui nomor index. Index adalah urutan element di dalam sebuah array. Sebagai
contoh, untuk mengakses element ke – 2, kita bisa menulis: nilai[2]. Untuk mengakses element ke-6, bisa
menggunakan: nilai[6].
Berikut contoh kode program pascal cara
penggunaan tipe data array:
program
tipe_array;
uses
crt;
var
nilai:
array[0..9] of integer;
begin
clrscr;
nilai[0]:=
23;
nilai[1]:=
13;
nilai[2]:=
98;
nilai[3]:=
106;
writeln('nilai0:
',nilai[0]);
writeln('nilai1:
',nilai[1]);
writeln('nilai2:
',nilai[2]);
writeln('nilai3:
',nilai[3]);
readln;
end.
Pada contoh diatas, kita membuat variabel ‘nilai’ sebagai array
yang berisi 10 element integer. Di dalam variabel ‘nilai’ ini, index array dimulai dari 0 hingga 9, karena kita
menulisnya dengan array[0..9]
of integer. Jika anda
ingin membuat 100 element array, bisa menulisnya sebagai array[0..99] of integer.
Walaupun kita membuat 10 element, tapi kita
tidak harus mengisi semua element ini. Pada contoh tersebut, kita hanya mengisi
4 element. Bagaimana dengan element lainnya? ini akan menggunakan nilai default (bawaan) pascal,
biasanya berisi angka 0 untuk tipe data integer.
Selain itu, kita juga tidak harus mengisinya
secara berurutan. Kita bisa mengisi element element array ini secara acak,
selama masih dalam batas yang ditetapkan. Berikut contohnya:
program
tipe_array;
uses
crt;
var
nilai:
array[0..9] of integer;
begin
clrscr;
nilai[3]:=
23;
nilai[9]:=
13;
nilai[2]:=
98;
nilai[0]:=
106;
writeln('nilai3:
',nilai[3]);
writeln('nilai9:
',nilai[9]);
writeln('nilai2:
',nilai[2]);
writeln('nilai0:
',nilai[0]);
writeln('nilai1:
',nilai[1]);
writeln('nilai7:
',nilai[7]);
readln;
end.
Kali ini kita mengisi element secara acak,
dan juga kita menampilkan element nilai[1] dan nilai[7] yang memang tidak diisi dengan nilai.
Hasilnya? pascal akan menggunakan nilai default: 0.
Bagaimana jika kita melewati batas element
array? Misalnya kita mengakses element ke 10? Pascal akan meneluarkan error: Range check error while evaluating
constants.
Kita tidak hanya bisa membuat array bertipe integer saja, tapi juga bisa
menggunakan tipe lain seperti real,
char
atau string.
Berikut contohnya:
program
tipe_array;
uses
crt;
var
kata:
array[20..29] of string[20];
begin
clrscr;
kata[24]:=
'Sedang ';
kata[25]:=
'belajar pascal ';
kata[26]:=
'di ';
kata[27]:=
'Duniailkom.com';
write(kata[24]);
write(kata[25]);
write(kata[26]);
write(kata[27]);
readln;
end.
Kita membuat variabel kata dengan array
berjumlah 10 element yang masing-masing isinya adalah string[20].
Anda bisa lihat bahwa kita menggunakan
penomoran array mulai dari 20 hingga 29. Ini tidak menjadi masalah, selama kita
juga mengaksesnya dengan index yang sesuai. Berikut hasil yang didapat :
·
Keunggulan dari Array
- Sangat cocok untuk pengaksesan acak atau random.
- Jika berada di suatu lokasi element, sangat mudah menelusuri ke element tetangga, baik element pendahulu maupun element penerus.
- Jika element array adalah nilai-nilai independen dan seluruhnya harus terjaga.
·
Kelemahan dari Array
- Bersifat Homogen.
- Kebanyakan bahasa pemograman meng-implementasikan array static yang sulit di ubah ukurannya di waktu eksekusi.
·
Jenis-Jenis Array
- One Dimensional Array ( Dimensi 1)
Deklarasi
Array Dimensi 1
var nama_array : array [batas bawah indeks..batas atas
indeks] of type_data;
- Two Dimensional Array ( Dimensi 2)
Deklarasi
Array Dimensi 2
var nama_array : array [batas bawah indeks
baris..batas atas indeks baris, batas bawah indeks kolom..batas atas indeks
kolom] of type_data;
- Multi Dimensional Array ( Dimensi Banyak)
Program Data_mahasiswa;
uses crt;
var
nama :array[1..10]of string[20];
NPM:array[1..10]of string[20];
alamat:array[1..20]of string[30];
i,j :integer;
begin
clrscr;
write('Masukkan Jumlah Data Mahasiswa :'); readln(j);
for i:=1 to j do
begin
writeln('Data ke-',i);
write('Nama Mahasiswa :');
readln(nama[i]);
write('Masukkan NPM :'); readln(NPM[i]);
write('Alamat :'); readln(alamat[i]);
end;
clrscr;
writeln('*******************************************************************************');
writeln('No. | Nama Mahasiswa | NPM | Alamat |');
writeln('*******************************************************************************');
for i:= 1 to j do
begin
writeln(i:1, nama[i]:20, NPM[i]:25,
alamat[i]:25);
end;
writeln('*******************************************************************************');
readln;
end.
Dari syntax
tersebut jika di RUN akan menghasilkan Input sebagai berikut :
Dan
Outputnya adalah :