You are on page 1of 21

ARRAY

Apa itu array?


Array : sebuah variabel yang dapat
menyimpan lebih dari satu nilai sejenis
(memiliki tipe data sama).
Komponen-komponen array :
A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10]

1 2 3 4 5 6 7 8 9 10

10 20 30 40 50 60 70 80 90 100

Nilai elemen array

Indeks array

Elemen array
Deklarasi array
NamaArray : array [IndeksAwal..IndeksAkhir] of tipe_data;

Ex : deklarasikan array dengan nama A


yang berisi 10 buah elemen bertipe
integer, maka deklarasinya :
Var
A : array [1..10] of integer;
Contoh2 kode yang dapat digunakan
untuk mendeklarasikan 10 buah
elemen array bertipe integer
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;

Tersedia 2 bh fungsi yang dapat


digunakan untuk mengambil indek
terendah dan tertinggi dari sebuah array
yaitu fungsi low dan high.
Var
A: array[1..100] of integer;
terendah, tertinggi : integer;
Begin
terendah :=low(A); {akan menghasilkan nil 1}
tertinggi :=high(A); {akan m’hslkan nil 100}

End.
Mengakses elemen array

Bagaimana cara untuk memanipulasi


array tersebut?
Langkah pertama adalah mengisikan
nilai ke dalam elemen2 array
bersangkutan.

NamaArray[indeks] := nilai;
Var
A : array[1..100] of integer;
Begin
A[1]:=1;
A[2]:=2;

A[100]:=100;
End.

Var
A : array[1..100] of integer;
i: integer;
Begin
for i:=1 to 100 do
begin
A[i]:= i;
end;
End.
program akses_array;
uses wincrt; {menampilkan nilai yang
terdapat pada setiap elemen
const
array}
max = 26;
for i:=1 to max do
var write (a[i],' ');
a: array[1..max] of char;
c: char; end.
i: integer;

begin
clrscr;

{mengisikan elemen array}


c:='a';
i:=1;
while (i<max) do
begin
a[i] :=c;
inc(c);
inc(i);
end;
Mengapa harus menggunakan
array??
Bagaimana cara untuk menyimpan
10 bh data?
Kalau menggunakan array.
Const
Max =10;
Var
n: array[1..max] of real;
i: integer;
Begin
for i:=1 to max do
writeln (‘masukkan data ke-’,i,’ : ‘);
readln (n[i]);
End.
Array sebagai tipe data bentukan

Cara mendeklarasikannya di bagian defenisi tipe


data, yaitu bagian yang diawali dengan kata kunci
type.

Type
bilangan =array [1..100] of integer;
vokal = array [1..5] of char

setelah selesai mendefenisikan array tersebut,


maka kita dapat menggunakannya untuk
mendeklarasikan variabel lain di dalam program.
Var
x: bilangan;
vowel : vokal;

Kita mendeklarasikan var dengan nama x yang


bertipe bilangan sedangkan variabel vowel bertipe
vokal. Hal ini menyebabkan variabel tersebut juga
dapat diperlakukan sebagai array.

Contoh penggunaan variabel2 tersebut :


Begin
X[1] := 1;
X[2] :=2;

Vowel[1] :=‘a’;
Vowel[2] :=‘I’;

End.
Array konstan
Nilai yang terkandung dalam sebuah array dapat
bernilai konstan. Untuk itu array harus di
deklarasikan dengan kata kunci const.
Const
NamaArray : array [indekAwal...IndekAkhir] of tipe_data=
(nilai1,nilai2,…);

Ex:

Const
A: array [1..5] of char =(‘A’,’B’,’C’,’D’,’E’);

Array konstan dapat dibaca, tp tdk dpt diubah.


program arraykonstan;
uses wincrt;
const
bulan :array [1..12] of string =
('jan','feb','maret','april','mei','juni','juli',
'agust','sept','okt','nov','des');
var
nobln : integer;
begin
clrscr;
write ('masukkan no bln:');
readln(nobln);
write ('nama bulan ke-',nobln,' adalah ',bulan[nobln]);
readln;
end.
Array multidimensi
Array dua dimensi
Adalah array yang memiliki 2 elemen yang bertipe
array.
baris

kolom

Array diatas tdr dari 3 baris dan 4 kolom, sehingga


jumlah elemennya adalah 12.
NamaArray : array [1..BykBaris, 1..BykKolom] of tipe_data;

Contoh : deklarasikan array 2 dimensi dengan 3


buah baris dan 4 kolom, yang elemennya bertipe
integer.
array2d : array [1..3,1..4] of integer;
Untuk melakukan pengaksesan terhadap
elemen2nya, hrs dituliskan indeks baris dan
kolom. Mis : ingin mengisikan nilai 100 ke dalam
elemen yang terdapat pd baris ke-2 kolom ke-3,
maka:
array2d[2,3] :=100;
program jumMatriks;
begin
uses wincrt;
clrscr;
const
{mengisikan matriks A}
jbaris = 2;
writeln ('Matriks A');
jkolom = 3;
for j:=1 to jbaris do
begin
type
for k:=1 to jkolom do
matriks23 =
begin
array[1..jbaris, 1..jkolom] of integer;
write('A[',j,',',k,'] =');
readln (A[j,k]);
var
end;
A,B,C : matriks23;
writeln;
j,k : integer;
end;
writeln;
{penjumlahan matriks A dan B
{mengisikan matriks B} dan hasilnya ditampilkan ke layar}
writeln ('Matriks B');
for j:=1 to jbaris do writeln ('hasil penjumlahan');
begin for j:=1 to jbaris do
for k:=1 to jkolom do begin
begin for k:=1 to jkolom do
write('B[',j,',',k,'] ='); begin
readln (B[j,k]); C[j,k] := A[j,k] + B[j,k];
end; writeln ('C[',j,',',k,'] = ', C[j,k]);
writeln; end;
end; writeln;
writeln; end;

readln;
end.
Array tiga dimensi
Array yang memiliki 3 subskrip (x,y,z).
y

NamaArray :array[1..xMaks, 1..yMaks, 1..zMaks] of tipe_data;


program aksesArray3D; begin
uses wincrt; clrscr;
const
xMaks =2; {mengisikan nilai ke dalam array A}
yMaks =2; x:=1;
zMaks =2; for i :=1 to xMaks do
begin
for j:=1 to yMaks do
type
begin
array3d = array [1..xMaks, 1..ymaks, for k:=1 to xMaks do
1..zMaks] of integer; begin
A[i,j,k] :=x;
var inc(x);
A : array3d; end;
i,j,k : integer; {u/ indeks pengulangan} end;
x : integer; end;
{menampilkan isi yang terdapat dalam array A}
for i :=1 to xMaks do
begin
for j:=1 to yMaks do
begin
for k:=1 to xMaks do
begin
write('A[',i,',',j,',',k, ']=',
A[i, j, k], '');
end;
end;
writeln;
end;
readln;
end.
Latihan
Buatlah program untuk menghitung nilai rata-rata
dari array yang berisi N buah data bertipe integer.
Dimana N adalah banyaknya elemen array
tersebut.

You might also like