2. DEFINISI ARRAY
 Array (Larik) adalah struktur data yang menyimpan
sekumpulan elemen yang bertipe sama.
 Setiap elemen diakses langsung melalui
indeksnya. A
1
2
3
4
5
6
7
8
Gambar Larik A dengan 8 elemen
3. PENDEKLARASIAN ARRAY
 Larik adalah struktur data statik
 Mendeklarasikan larik berarti:
 Mendefinisikan banyaknya elemen larik (ukuran larik)
 Mendefinnisikan tipe elemen larik
 Bentuk Umum:
Type namaarray : array [I] of tipedasar
4. PENDEKLARASIAN ARRAY
a. Sebagai Peubah (variabel)
b. Sebagai Tipe Bentukan
Deklarasi
A : Array [1..100] of integer
NamaMhs : Array [1..10] of String
Nilai : Array [0..74] of real
Deklarasi
Type larikInt : Array [1..100] of integer { nama tipe
baru }
A : LarikInt { A peubah larik int dengan 100 elemen }
5. PENDEKLARASIAN ARRAY
c. Ukuran larik sebagai Konstanta
Deklarasi
Const Nmaks = 100 { ukuran maksimum elemen larik }
Type LarikInt : Array [1..Nmaks] of integer
A : LarikInt
6. MENGISI ELEMEN ARRAY
 Versi 1 : jumlah elemen efektif ditentukan di awal
procedure bacalarik1(output A : LarikInt,
input n : integer)
Deklarasi
i : integer
Deskripsi
for i  1 to n do
read(A[i])
endfor
7. MENGISI ELEMEN ARRAY
 Versi 2 : jumlah elemen efektif baru diketahui di
akhir pembacaan
procedure bacalarik2(output A : LarikInt,
input n : integer)
Deklarasi
jawab : char
Deskripsi
n  0
repeat
n  n + 1
read(A[n])
write(‘Lagi? (y/t)’)
read(jawab)
until jawab = ‘t’
8. MENCETAK ELEMEN ARRAY
 Elemen larik dicetak satu persatu mulai elemen
pertama sampai elemen ke-n
procedure cetaklarik(input A : LarikInt,
input n : integer)
Deklarasi
i : integer { pencatat indeks larik }
Deskripsi
for i  1 to n do
write(A[i])
endfor
9. MENGHITUNG NILAI RATA-RATA
procedure hitungratarata(input A : LarikInt, input n :
integer, output rata : real)
Deklarasi
i : integer { pencatat indeks larik }
jumlah : real { jumlah total seluruh nilai }
Deskripsi
i  1
jumlah  0
for I  1 to n do
jumlah  jumlah + A[i]
endfor
u  jumlah / n
10. MENCARI NILAI MAKSIMUM DAN MINIMUM ARRAY
a. Versi 1
Mengasumsikan nilai maksimum sementara (maks) adalah
nilai yang sangat kecil, misalnya -9999,
procedure carimaks1 (input A : LarikInt, input n :
integer, output maks : integer)
Deklarasi
i : integer
Deskripsi
maks  -9999
for i  1 to n do
if A[i] > maks then
maks  (A[i])
endif
endfor
11. MENCARI NILAI MAKSIMUM DAN MINIMUM ARRAY
b. Versi 2
Pada versi ini nilai maksimum sementara dan minimun
sementara diinisialisasi dengan elemen pertama larik
procedure carimin2 (input A : LarikInt, input n : integer
output min : integer)
Deklarasi
i : integer
Deskripsi
min  A[1]
for i  2 to n do
if A[i] < min then
min  (A[i])
endif
endfor
12. MENCARI NILAI MAKSIMUM DAN MINIMUM ARRAY
c. Versi 3
Yang diperlukan adalah posisi atau indeks elemen larik
yang bernilai maksimum atau minimum itu.
procedure carimaks3 (input A : LarikInt, input n : integer
output IdxMaks : integer)
Deklarasi
i : integer
Deskripsi
IdxMaks  1
for i  2 to n do
if A[i] > A[IdxMaks] then
IdxMaks  I
endif
endfor
13. BEKERJA DENGAN DUA ARRAY
 Contoh: Menghitung nilai indeks mahasiswa dan
menyimpan nilai indeks tersebut di dalam larik indeks,
Dengan Ketentuan
NilUjian ≥ 85 , indeks nilai = A
70 ≤ NilUjian < 85 , indeks nilai = B
60 ≤ NilUjian < 70 , indeks nilai = C
50 ≤ NilUjian < 60 , indeks nilai = D
NilUjian < 50 , indeks nilai = E
Deklarasi
Const Nmaks = 200 {jumlah maksimum elemen larik }
Type LarikUjian : Array [1..Nmaks] of real
Type LarikIndeks : Array [1..Nmaks] of char
14. BEKERJA DENGAN DUA ARRAY
 Prosedur menghitung Nilai indeks
procedure HitungIndeksNilai (input NilUjian : Larikujian,
input n : integer,
output indeks : LarikIndeks)
Deklarasi
i, k : integer
Deskripsi
for k  1 to n do
if (NilUjian[i] ≥ 85) then
indeks[i]  ‘A’
else
if (NilUjian[i] ≥ 70) and (NilUjian[i] < 85) then
indeks[i]  ‘B’
else
15. BEKERJA DENGAN DUA ARRAY
if (NilUjian[i] ≥ 60) and (NilUjian[i] < 70) then
indeks[i]  ‘C’
else
if (NilUjian[i] ≥ 50) and (NilUjian[i] < 60) then
indeks[i]  ‘D’
else
indeks[i]  ‘E’
endif
endif
endif
endif
endfor
16. BEKERJA DENGAN DUA ARRAY
 Prosedur mencetak
procedure CetakIndeksNilai (input NilUjian : Larikujian,
input n : integer,
output indeks : LarikIndeks)
Deklarasi
i, k : integer
Deskripsi
for I  1 to n do
write(i, NilUjian[i], indeks[i])
endfor