Array

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.


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.

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.

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.

0 comments:

Posting Komentar

Diberdayakan oleh Blogger.

You can replace this text by going to "Layout" and then "Page Elements" section. Edit " About "