PENDAHULUAN
Variabel bisa kita gunakan yang saat ini hanya bisa menampung
satu data hanya pada satu variabel saja. Dalam banyak kasus kita akan repot
menggunakan banyak variabel, sebagai contoh perhitungan nilai, jika terdapat
banyak siswa, maka variabel nilai yang dibutuhkan disesuaikan dengan banyaknya
siswa. Maka dilihat dari kasus diatas, maka dengan array, kita bisa
mendeklarasikan nilai.
Array adalah tipe data terstruktur yang terdiri dari sejumlah
komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut
disebut sebagai komponen type, array mempunyai jumlah komponen yang jumlahnya
tetap. Banyaknya komponen dalam array ditunjukkan oleh suatu index, dimana tiap
komponen di array dapat diakses dengan menunjukkan nilai indexnya atau
subscript. Array dapat bertipe
data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe
data scalar atau subrange. Tipe array mengartikan isi dari aray atau
komponen- komponenya mempunyai nilai dengan tipe data tersebut.
PEMBAHASAN
A.
PENGERTIAN ARRAY
Menurut definisinya, array
(larik) adalah sebuah variable yang dapat menyimpan lebih dari
satu nilai sejenis (memiliki tipe data yang sama). Hal ini tentu berbeda dengan
variable biasa yang hanya mampu menampung satu buah nilai. Setiap nilai yang
disimpan di dalam array di sebut dengan elemen array, sedangkan
nilai urut yang digunakan untuk mengakses elemennya disebut dengan indeks
array.
B.
DEKLARASI ARRAY
Sama seperti variable lain, array juga
dideklarasikan di dalam bagian deklarasi variable. Bila akan didefinisikan
sebagai tipe bentukan, maka array juga akan dideklarasikan di bagian definisi
tipe (dibawah kata kunci tipe). Dalam bahasa pascal, pendeklaraasian array
dilakukan dengan menggunakan kata kunci array dan tipe data yang akan disimpan
di dalamnya, selain itu juga harus disertai dengan batas-batas indeksnya yang
diapit oleh tanda bracket([]). Berikut ini bentuk umum pendeklarasiannya.
NamaArray : array [IndeksArray..IndeksAkhir] of
tipe_data;
Sebagai contoh, apabila kita ingin
mendeklarasikan array dengan nama A yang berisi 10 buah elemen bertipe integer,
maka kita harus mendeklarasikannya dengan cara berikut.
Var
A : array [1..10] of integer;
Pada kode tersebut, indeks awal dimulai dari
satu. Perlu diperhatikan bahwa bahasa pascal berbeda dengan bahasa C yang
indeks array-nya selalu dimulai dari nol. Pada bahasa pascal, indeks array
dapat dimulai dari bilangan berapapun. Selain itu, indeks array juga dapat
bertipe karakter maupun tipe enumerasi. Berikut ini contoh-contoh kode yang
dapat digunakan untuk mendeklarasikan 10 buah elemen array bertipe integer
sebagai pengganti kode diatas.
Var
A1: array[0..9] of integer;
A2: array[5..15] of integer;
A3: array[‘a’..’j’] of integer;
A4: array[‘A’..’J’] of integer;
Dalam bahasa pascal, tersedia dua buah fungsi
yang dapat digunakan untuk mengambil indek terendah dan tertinggi dari sebuah
array, yaitu fungsi Low dan High. Adapun parameter dari kedua fungsi tersebut
adalah nama array yang akan dicari indeknya. Perhatikan contoh kode berikut.
Var
A: array[1..100] of integer;
Terendah, tertinggi: integer;
Begin
Terendah:= low(A); {akan menghasilkan nilai
1}
Tertinggi:= high(A); {akan menghasilkan
nilai 100}
…
End
.
C.
MENGAKSES
ELEMEN ARRAY
Cara untuk memanipulasi array, langkah pertama
yang harus dilakukan adalah mengisikan nilai ke dalam elemen-elemen array
bersangkutan. Adapun bentuk umum untuk pengisian eleman array adalah sebagai
berikut.
NamaArray[indeks]:=
nilai;
Untuk lebih
memahaminya, coba anda perhatikan terlebih dahulu contoh kode di bawah ini.
Var
A:
array[1..100] of integer;
Begin
A[1]:= 1;
{mengisi elemen pertama dengan nilai 1}
A[2]:=
2; {mengisi elemen kedua dengan nilai 2}
A[3]:=
3; {mengisi elemen ketiga dengan nilai 3}
……..
A[100]:=
100; {mengisi elemen keseratus dengan nilai 100}
End.
Kode tersebut
akan melakukan pengisian 100 elemen array dengan nilai 1 sampai 100 sehingga
kode tersebut akan lebih sederhana apabila dituliskan dengan menggunakan
struktur pengulangan seperti yang terlihat pada kode berikut.
Var
A:
array[1..100] of integer;
I:
integer;
Begin
For
i:=1 to 100 do begin
A[i]:=
I ;
End;
End.
D.
MENGAPA HARUS
MENGGUNAKAN ARRAY
Mungkin anda yang merupakan pemula akan
bertanya mengapa kita perlu untuk mendeklarasikan array? untuk menjawab
pertanyaan tersebut, coba Anda perhatikan dulu contoh kasus berikut. Apabila
kita akan membuat program untuk menyimpan sekumpulan data, misalnya data-data
hasil penelitian yang berupa bilangan, dimana jumlah dari data tersebut
puluhan, ratusan, atau bahkan ribuan, apakah anda akan menggunakan variable
sebanyak data yang ada? Jawabanya tentu tidak, karena hal tersebut merupakan
hal yang sangat tidak efisien. Sebagai contoh, asumsikan bahwa banyak data
tersebut adalah sepuluh, maka apabila kita menggunakan variabel biasa tentu
kita akan menuliskannya melalui contoh kode berikut.
Var
N1, n2, n3, n4, n5, n6, n7, n8, n9, n10: real;
Begin
Writeln(‘masukkan data ke-1 : ‘); readln(n1);
Writeln(‘masukkan data ke-2 : ‘); readln(n2);
Writeln(‘masukkan data ke-3 : ‘); readln(n3);
Writeln(‘masukkan data ke-4 : ‘); readln(n4);
Writeln(‘masukkan data ke-5 : ‘); readln(n5);
Writeln(‘masukkan data ke-6 : ‘); readln(n6);
Writeln(‘masukkan data ke-7 : ‘); readln(n7);
Writeln(‘masukkan data ke-8 : ‘); readln(n8);
Writeln(‘masukkan data ke-9 : ‘); readln(n9);
Writeln(‘masukkan data ke-10 : ‘); readln(n10);
End.
Hal ini tentu akan merepotkan diri kita.
Apabila dilihat, program di atas memang masih pendek karena datanya hanya
sepuluh, bagaimana bila ratusan atau bahkan ribuan?
Untuk mengatasi masalah ini, seharusnya kita
menggunakan array untuk menyimpan data-data tersebut sehingga program akan jauh
lebih sederhana dan mudah dalam pengerjaannya. Berikut iini perbaikan program
diataas apabila kita menampung data-datanya kedalam sebuah array..
Const max= 10;
N: array[1..max] of real;
I: integer;
Begin
For i:=1 to max do
Writeln(‘masukkan data ke-‘, I,’ : ‘);
readln(n[i]);
End.
Apabila ternyata data berjumlah 100 atau 1000,
maka anda hanya perlu mengganti nilai dari konstanta max di atas dengan nilai
yang sesuai. Alasan seperti inilah yang menyebabkan kita perlu menggunakan
array.
Contoh program:
{author: Noor Fitriana, S1 Ilmu Komputer 2008}
Program rata2;
uses wincrt;
const max=100;
var
nilai : array[1..max] of integer;
jml, rata: real;
n,i:integer;
begin
writeln(’*****************WELCOME***************’);
writeln(’***program untuk mencari rata-rata
***’);
writeln(’**************************************’);
writeln;
writeln(’TEKAN ENTER UNTUK MENAMPILKAN DATA!’);
readln;
write(’Masukkan jumlah nilai yang di masukkan:
‘); readln(n);
writeln;
for i:=1 to n do begin
write(’nilai ke-’,i:2,’: ‘); readln(nilai[i]);
end;
jml:=0;
for i:=1 to n do
jml:=jml+nilai[i];
rata:=jml/n;
writeln;
writeln(’—————————’);
writeln(’Jumlah = ‘,jml:9:2);
writeln(’Rata-rata = ‘,rata:9:2);
writeln(’—————————’);
readln;
end.
E.
ARRAY
DIMENSI SATU
·
Mendeklarasikan
Array Dimensi Satu
Bentuk deklarasi
Array Dimensi Satu, seperti dibawah ini :
Var
nama_variabel : Array[ index ] Of Tipe_Data;
nama_variabel : Array[ index ] Of Tipe_Data;
Contoh :
Var
Nilai : Array[1..10] Of Integer;
Nilai : Array[1..10] Of Integer;
Pada
contoh Array dengan nama Nilai telah dideklarasikan dengan tipe integer, dengan
jumlah elemen maksimum 10 elemen, nilai dari elemen array tersebut diatas harus
bertipe integer.
Memberikan
Nilai ke Array Dimensi Satu
Untuk
memberikan nilai kedalam variabel array berdimensi satu, nama variabel diikuti
dengan index yang berada didalam kurung siku. Seperti contoh dibawah ini :
Nilai[1] := 75;
Nilai[2] := 85;
Nilai[3] := 74;
...
...
dan seterusnya
·
Contoh Program
PROGRAM
PENGGUNAAN_ARRAY_DIMENSI_SATU;
Uses Crt;
VAR
A, N, Jml_Nilai : Integer;
Nilai : ARRAY[1..10] Of Integer;
Nil_Rata : Real;
BEGIN
ClrScr;
WriteLn('Program Latihan Array');
WriteLn('=====================');
WriteLn;
{Memasukan Nilai}
Write('Masukan Banyak Data : ');
ReadLn(N);
FOR A :=
1
TO
N DO
Begin
Write('Nilai Ke- ',A,' = ');
ReadLn(Nilai[A]);
End;
{Membaca Nilai Array}
Nil_Rata :=
0;
Jml_Nilai :=
0;
FOR A :=
1
TO
N DO
Begin
Jml_Nilai := Jml_Nilai + Nilai[A];
Write('Nilai Ke- ',A,' =
',Nilai[A]);
End;
Nil_Rata := Jml_Nilai / N;
WriteLn('---------------------');
WriteLn('Jumlah
Nilai : ',Jml_Nilai);
WriteLn('Nilai Rata-Rata :
',Nil_Rata:5:2);
ReadLn;
END.
F.
ARRAY DUA DIMENSI
Array 2 dimensi dapat di gambarkan sebagai
berikut :
Pendeklarasian
Array 2 dimensi
var
arrayName:
array[1..x, 1..y] of element-type;
Contoh Program
program
Khasus2;
var
data
: array [1..3,1..3] of string[30]; // asumsikan semua sebagai string
i,j : integer;
begin
data[1,1] := 'Yoshimori Sumimura';
data[1,2] := 'Kyoto';
data[1,3] := '15'; // mengisi array data di baris 1 kolom3
dengan kota
data[2,1] := 'Fujisaki Yuushuke'; //
mengisi array data di baris 2 kolom1 dengan
nama
data[2,2] := 'Tokyo';
data[2,3] := '17';
data[3,1] := 'Gen Shishio';
data[3,2] := 'Okinawa'; // mengisi array
data di baris 3 kolom 2 dengan kota
data[3,3] := '16';
For j := 1 to 3 do // perulangan baris
array
Begin
For i := 1 to 3 do // perulangan
kolom array
Begin
writeln('isi data di baris ', j ,'
kolom ', i ,' : ', data[j,i]); //
menampilkan
array baris ke j kolom ke i
End;
writeln(' ');
End;
end.
Hasilnya
isi data di
baris 1 kolom 1 : Yoshimori Sumimura
isi data di
baris 1 kolom 2 : Kyoto
isi data di
baris 1 kolom 3 : 15
isi data di
baris 2 kolom 1 : Fujisaki Yuushuke
isi data di
baris 2 kolom 2 : Tokyo
isi data di
baris 2 kolom 3 : 17
isi data di
baris 3 kolom 1 : Gen Shishio
isi data di
baris 3 kolom 2 : Okinawa
isi data di
baris 3 kolom 3 : 16
KESIMPULAN
Array (larik) adalah sebuah variable yang
dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data yang
sama). Bila akan didefinisikan sebagai
tipe bentukan, maka array juga akan dideklarasikan di bagian definisi tipe
(dibawah kata kunci tipe). Dalam bahasa pascal, pendeklaraasian array dilakukan
dengan menggunakan kata kunci array dan tipe data yang akan disimpan di dalamnya,
selain itu juga harus disertai dengan batas-batas indeksnya yang diapit oleh
tanda bracket([]).
Array digunakan untuk mempermudah dalam
penulisan syntax program pascal, array dapat menyimpan data sehingga bisa
menyederhanakan dan mengefektifkan syntax pascal. Array dibedakan menjadi dua
yaitu, Array Satu Dimensi dan Array Dua Dimensi. Setiap jenis array mempunyai
kegunaannya masing-masing.
Tidak ada komentar:
Posting Komentar