ARRAY
A. Array 1 Dimensi dengan Pascal
Array atau Larik merupakan istilah yang digunakan dalam sebuah program pascal untuk
menyimpan data bertipe sama dalam sebuah urutan indeks akses.
Setiap elemen mempunyai urutan indeks tersendiri sehingga cara pengaksesan terhadap
elemen array dilakukan dengan merujuk nomor indeks dari elemen yang akan diakses.
Array dapat diibaratkan sebagai deretan kotak berukuran dimensi yang sama dan disusun
sejajar. Perhatikan ilustrasi mengenai array berikut.
Skema Array 1 dimensi
Deret Bilangan
23 45 56 1 7
Indeks ke -
1 2 3 4 5
Indeks pertama bernilai 23, indeks kedua bernilai 45, indeks keriga bernilai 56, indeks
keempat bernilai 1, dan indeks kelima bernilai 7. Jika elemen array adalah X, setiap elemen
array ditulis dengan notasi sebagai berikut.
X[1], X[2], X[3], X[4], X[5]
Bilangan di dalam kurung siku menunjukkan indeks elemen array. Jadi ilustrasi array pada
gambar tersebut dapat didefinisikan sebagai berikut.
23
25
56
1
7
Urutan Elemen Array
1. Format Deklarasi Array
Array merupakan struktur data dengan jumlah elemen yang statis harus
dideklarasikan pada awal program. Elemen dalam Array tidak dapat diubah, ditambah, dan
dihapus ketika program yang dijalankan. Dalam pendeklarasian array, ada beberapa hal
yang harus diperhatikan, yaitu :
a. banyaknya elemen dalam array dan
b. tipe data tiap elemen array
Format umum pendeklarasian array, yaitu
Var
NamaArray : array [IndeksAwal…IndeksAkhir] of Tipe Data
1
Dalam mendeklarasikan array, ada tiga bentuk format penulisan sebagai berikut.
a. Array sebagai nilai peubah
Contoh
Var
namamhs : array[1..50] of string;
b. Penulisan array dengan tipe data baru
Kita dapat membuat array yang berasal dari sebuah tipe data bentukan baru.
Sebagai contoh membuat array dengan jumlah elemen maksimal 20 bertipe string
Contoh
Deklarasi array dengan tipe data bentukan baru bertipe string
type lariknama = array [1..20] of string;
var data : lariknama;
c. Penulisan array dengan konstanta
Disamping contoh-contoh diatas, nilai maksimal sebuah elemen yang terdaopat
dalam elemen array dapat ditentukan menggunakan konstanta.
Contoh
Deklarasi array dengan tipe data bentukan baru bertipe string
const max = 100;
type lariknama = array [1..max] of string;
var data : lariknama;
2. Inisialisasi dan Akses Indeks Elemen Array
Inisialisasi adalah proses menyatakan atau memasukkan nilai data ke dalam indeks
elemen array.
Contoh
Menyatakan nilai data ke dalam elemen array
2
program akses_array;
uses crt;
var i : array[1..10] of string;
begin
clrscr;
i[1] := ‘Budi Gunawan’;
i[2] :=’Andi Novianto’;
i[3] :=’Asep Indrayana’;
i[4] :=’Agus Maryanto’;
readln;
end.
Seperti telah dijelaskan sebelumnya, data dalam elemen array diakses berdasarkan
indeksnya. Seperti contoh di atas, pada data deretan nama mahasiswa sejumlah 10, pada
elemen indeks pertama memiliki nama “Budi Gunawan”. Cara mengaksesnya adalah
sebagai berikut.
Contoh
Mengakses nilai elemen array indeks kelima
program akses_array;
uses crt;
var i : array[1..10] of string;
begin
clrscr;
i[1] := ‘Budi Gunawan’;
i[2] :=’Andi Novianto’;
i[3] :=’Asep Indrayana’;
i[4] :=’Agus Maryanto’;
writeln(‘Nilai data pada elemen indeks ke-1 adalah’, i[1]);
readln;
end.
3. Menentukan Isi Elemen Array
Beberapa jenis metode yang dapat dilakukan dalam menentukan isi elemen array
adalah sebagai berikut.
a. Secara manual
b. Dengan nilai maksimal elemen yang sudah ditentukan dari awal.
Perhatikan contoh berikut.
Untuk memasukkan nilai data pada tiap elemen array, kita dapat memanfaatkan
struktur perulangan for..do. Dengan perulangan for..do, jumlah maksimal indeks elemen
dalam array dapat kita tentukan. Sebagai contoh, menyimpan nilai perulangan I ke dalam
indeks array.
Contoh
3
Menyimpan data ke dalam array dengan for..do
program simpan_for_do;
uses crt;
var
x : array[1..20] of integer;
y : integer;
begin
clrscr;
for y:= 1 to 20 do;
begin
x[y]:=y; {memasukkan nilai y ke dalam array x dengan indeks y}
end;
readln;
end.
Pada kode program di atas, nilai y akan disimpan ke dalam array x dengan indeks y setiap
kali perulangan for..do dilakukan hingga y mencapai nilai 20.
4. Menentukan NilaiTerbesar dalam Elemen Array
Tujuan proses ini adalah mencari nilai data terbesar dari setiap elemen array
bertipe bulat atau real. Algoritme dalam pencarian nilai terbesar dalam array adalah
sebagai berikut.
program cari_bil_maks
Deklarasi
i : array[1..100] of integer
x , maks : integer;
Algoritma
For x ← 1 to 10 do
i[x] ← random(100) {mengisi array dengan nilai acak}
End for
maks ← i[1];
For x ← 2 to 10 do
If maks < i[x] then {apa maks lebih kecil dari array}
maks ← i[x} {tukarkan posisi maks}
Endif
Endfor
Write(maks)
4
5. Menyalin Data dari Array Satu ke Array yang lain
Pada bagian ini, akan dijelaskan bagaimana caranya menyalin data dalam elemen
sebuah array ke array yang lainnya. Syarat utama yang harus diperhatikan ketika menyalin
isis array adalah tipe data dan nilai maksimum array asal dengan array tujuan harus sama.
Contoh
Menyalin isi array ke array lainnya
program salin_array;
uses crt;
var
x,y : array[1..20] of integer;
i : integer;
begin
clrscr;
{mengisi nilai array dengan bilangan acak}
writeln;
for i:= 1 to 20 do
begin
x[i] := random(100);
write(x[i],’ ‘ );
end;
{menyalin isi array X ke array Y}
writeln;
writeln(‘Hasil Salinan array X ke array Y’);
for i := 1 to 20 do
begin
y[i] : = x[i];
write(y[i],’ ‘0;
end;
readln;
end.
Penjelasan :
Proses memasukkan bilangan secara acak dari 1 sampai 100 ke dalam elemen array
x
for i := 1 to 20 do
begin
x[i] := random(100);
write(x[i],’ ‘);
5
end;
Proses menyalin data setiap elemen array x ke dalam elemen array y
for i : = 1 to 20 do
begin
y[i] : = x[i];
write(y[i], ‘ ‘);
end;
6. Array Dengan Tipe Data Bentukan Baru
Array hanya dapat menampung data dengan tipe yang sama. Dalam kode
program berikut, dideklarasikan sebuah tipe bau array dengan nama newlarik
dengan jumlah elemen indeks sejumlah 100 bertipe data integer. Pada deklarasi,
variabel A didefinisikan dengan tipe data newlarik yang berarti bahwa
A←array[1..100] of integer;
Contoh
Menentukan nilai maksimal array deng konstanta
Program larik;
Uses crt;
Const maks = 3;
Type newlarik = array[1..maks] of integer; {dengan konstanta}
Var A : newlarik; {A adalah array dengan maksimal 100 elemen
bertipe integer}
Begin
clrscr;
a[1]:= 102;
a[2]:= 103;
a[3]:=12;
writeln(‘Nilai array A indeks ke 1 =’, a[1]);
writeln(‘Nilai array A indeks ke 2 =’, a[2]);
writeln(‘Nilai array A indeks ke 3 =’, a[3]);
readln;
end.
B. Array 1 Dimensi dengan Java
Format penulisan deklarasi array adalah sebagai berikut.
1. Contoh penulisan deklarasi array
6
1. Cara pertama (lebih dianjurkan)
tipedata [ ] variabel_array;
Contoh : int [ ] iniArray;
2. Cara kedua (tidak dianjurkan)
Tipedata variabel_array[ ];
Contoh : int iniArray[ ];
Contoh
Menampilkan indeks array sebanyak 15 elemen
public class array1
{
public static void main(String[ ] args)
{
int[ ] x; //deklarasi array
x = new int[15]; // Menentukan banyaknya elemen array
dengan operator New
[Link](“%s%8s\n”, “Array”, “Nilai”);
for(int ulang=0; ulang < x. length; ulang++)
{
[Link](“%3d%8d\n”, ulang, x[ulang]);
}
}
}
Output dari kode program tersebut adalah
7
Array Nilai
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
14 0
C. Array 2 Dimensi dengan Pascal
Konsep array 2 dimensi adalah model penyimpanan yang pada setiap indeks elemen
larik utama memiliki subindeks lainnya. Sebagai contoh, sebuah indeks elemen siswa
memiliki dua indeks elemen nilai. Perhatikan ilustrasi berikut.
Indeks Siswa Indeks Nilai
Indeks IPA IPS
Andi 100 65
Joko 80 70
Untuk mendeklarasikan array 2 dimensi, format penulisannya adalah sebagai berikut.
Var
nama : array [n_awal1..n_akhir1,n_awal2..n_akhir2] of tipe data
Contoh
8
Program struktur array 2 dimensi
Program cth_Array_Dua_Dimensi;
Uses crt;
Var nilai : array[1..3,1..2] of integer;
nama : array[1..3] of string[25];
i,j : integer;
{program ini berfungsi untuk memasukkan data nilai 3 siswa untuk dua mata pelajaran
yang mereka ikuti}
Begin
clrscr;
textcolor(14);
{Input data Nama Siswa}
For i:= 1 to 3 do begin
write(‘Nama Siswa’,i,’ : ‘); readln(nama[i]);
{Input Nilai untuk 2 mata pelajaran}
For j:= 1 to 2 do begin
write(‘Nilai Pelajaran ke ‘,j,’=’);
readln(nilai[i,j]);
end;
end;
{Proses Mencetak Data yang telah diinput}
writeln;
writeln(‘Hasil Input Data’);
{Proses Mencetak Nama Siswa}
For i:= 1 to 3 do begin
write(nama[i] : 25, ‘ ‘);
{Proses Mencetak Nilai Siswa}
For j:= 1 to 2 do begin
write(nilai[i,j] : 4, ‘ ‘);
end;
writeln;
end;
readln;
end.
9
D. Array 2 Dimensi dengan Java
Sama seperti konsep array dua dimensi dengan Pascal, Java juga memiliki format
struktur array dua dimensi sebagai berikut.
tipedata variabel_array[ ] [ ] = new tipedata[ ] [ ] { {nilai} {nilai} }
Contoh
Menampilkan nilai array dua dimensi dengan Java
public class Array2Dim
{
public static void main(String[ ] args)
{
int larik [ ] [ ] = new int[ ] [ ]
{
//kolom ----------
{56,87,76,33,69}, //baris
{66,67,78,44,80}, //|
{84,90,89,76,84}, //|
{75,75,100,47,82} }; //|
int x, y;
//x adalah variabel baris
//y adalah variabel kolom
for (x=0; x<4; x++) { //menampilkan baris
for (y=0; y<5; y++) { //menampilkan kolom
[Link](larik[x] [y] + “ “); //mengakses larik baris dan kolom
}
[Link](‘’ ‘’);
}
}
}
Output program tersebut adalah
56 87 76 33 69
66 67 78 44 80
10
84 90 89 76 84
75 75 100 47 82
11