ARRAY 2 DIMENSI
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 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
Komentar
Posting Komentar