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; const max = 26;
{menampilkan nilai yang terdapat pada setiap elemen array}
var a: array[1..max] of char; c: char; i: integer;
end.
begin clrscr; {mengisikan elemen array}
c:='a'; i:=1; while (i<max) do begin a[i] :=c; inc(c); inc(i); end;
for i:=1 to max do write (a[i],' ');
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; uses wincrt; const jbaris = 2; jkolom = 3; type matriks23 = array[1..jbaris, 1..jkolom] of integer; var A,B,C : matriks23; j,k : integer;
begin clrscr; {mengisikan matriks A} writeln ('Matriks A'); for j:=1 to jbaris do begin for k:=1 to jkolom do begin write('A[',j,',',k,'] ='); readln (A[j,k]); end; writeln; end; writeln;
{mengisikan matriks B} writeln ('Matriks B'); for j:=1 to jbaris do begin for k:=1 to jkolom do begin write('B[',j,',',k,'] ='); readln (B[j,k]); end; writeln; end; writeln;
{penjumlahan matriks A dan B dan hasilnya ditampilkan ke layar} writeln ('hasil penjumlahan'); for j:=1 to jbaris do begin for k:=1 to jkolom do begin C[j,k] := A[j,k] + B[j,k]; writeln ('C[',j,',',k,'] = ', C[j,k]); end; writeln; end; readln; end.
Array tiga dimensi Array yang memiliki 3 subskrip (x,y,z). y
x z
NamaArray :array[1..xMaks, 1..yMaks, 1..zMaks] of tipe_data;
program aksesArray3D; uses wincrt; const xMaks =2; yMaks =2; zMaks =2;
begin clrscr;
{mengisikan nilai ke dalam array A} x:=1; 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; end; i,j,k : integer; {u/ indeks pengulangan} end; x : integer;
{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.