ARRAY (LARIK)
Pendahuluan
Sebuah variabel hanya menyimpan sebuah nilai, tidak dapat menyimpan beberapa buah nilai yang bertipe sejenis
Dalam pemrograman, mengolah sekumpulan data bertipe sama, misal : hasil ujian 100 mhs, tabel
harga barang di supermarket, dll.
Setiap elemen data bertipe sama, dibedakan dengan mengunakan indeks (subscript)
Dalam pemrograman, sekumpulan data ini disimpan sementara dalam memori komputer untuk sewaktu-waktu dimanipulasi
Struktur penyimpanan data ini dinamakan array/ larik
Atau : tabel, vektor, atau variabel majemuk (satu variabel mempunyai banyak elemen)
Apakah Array itu?
Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama
Setiap elemen diakses langsung melalui indeksnya
Indeks array harus tipe data yang menyatakan keterurutan, misal : integer atau karakter
Misal array A dengan 8 elemen dinotasikan : A[1], A[2],A[3], A[4], A[5],A[6], A[7], A[8]
Apakah Array itu
? ….
A
1 158
2 157
3 167
4 150
5 172
6 161
7 155
Deklarasi Array
Deklarasi array berarti :
Mendefinisikan bayaknya elemen array (ukuran array)
Mendefinisikan tipe elemen array
Jumlah elemen harus sudah diketahui sebelum program dieksekusi
Jumlah elemen tidak dapat diubah selama pelaksanaan program
Mendefinisikan banyaknya elemen array berarti memesan sejumlah tempat di memori
Mendefinisikan tipe array berarti menetapkan tipe nilai yang dapat disimpan oleh array, mis : integer, real,
Deklarasi
Array ….
Notasi deklarasi array :
Contoh Deklarasi array :
Sebagai variabel :
A : array [1..100] of integer (100 elemen, indeks dimulai dari 1)
NMhs : array [1..12] of string (12 elemen, indeks dimulai dari 1)
NUjian : array[0 .. 74] of real (74 elemen, indeks dimulai dari 0)
Deklarasi
Array ….
Sebagai tipe bentukan :
Misalkan LarikInt didefinisikan sebagai nama tipe baru
untuk array yang bertipe integer. Ukuran array 100 elemen . Misal dideklarasikan variabel A yang bertipe
LarikInt.
Cara mengacu elemen array
Elemen array diacu melalui indeksnya dimana nilai indeksnya harus terdefinisi.
Contoh :
A[4] {mengacu elemen keempat dari array A}
NMhs[2] {mengacu elemen kedua dari array NMhs}
A[i] {mengacu elemen ke-i dari array A, asalkan nilai i sudah terdefinisi}
Pemrosesan Array
Memproses array artinya mengunjungi setiap
elemen array dan memanipulasi nilai didalamnya Kunjungan dimulai dari elemen pertama,
berturut-turut sampai terakhir
Skema umum algoritma pemrosesan array
Pemrosesan
Array ….
PROGRAM pemrosesan_array DEKLARASI
A: array [1..100] of integer i: integer {indeks array}
ALGORITMA
i=1 {inisialisasi, mulai dari elemen pertama}
while i<=100 do
pemrosesan terhadap A[i]
i=i+1
program array1; uses crt;
var
A: array [1..100] of integer; i,n,jumlah: integer;
rataan : real; begin
clrscr;
write('Banyaknya data : ');readln(n); i:=1;
jumlah:=0; while i<=n do begin
write('Nilai data ke-',i,' : ');readln(A[i]); jumlah:=jumlah+A[i];
i:=i+1; end;
writeln ('Penjumlahan datanya : ',jumlah); rataan:=jumlah/n;
writeln ('Rata-rata : ',rataan:0:2); readln;
writeln('Data ke-2 adalah ',A[2]); write('Data ke ');readln(i);
writeln(A[i]); readln;
program array1a; uses crt;
var
A: array [1..100] of integer; i,n,jumlah: integer;
begin
clrscr;
write('Banyaknya data : ');readln(n); i:=1;
jumlah:=0; while i<=n do begin
write('Nilai data ke-',i,' : ');readln(A[i]); i:=i+1;
end;
for i:=1 to n do
jumlah := jumlah+A[2*i];
writeln('Penjumlahan datanya : ', jumlah); readln;
Mencari nilai maksimum dari elemen array
Dengan array dapat dicari nilai maksimum dari data yang dientry dalam bentuk array
Nilai maksimum adalah elemen dengan nilai terbesar pada array
program array1b; uses crt;
var
A: array [1..100] of integer; i,n,maks: integer;
begin
clrscr;
write('Banyaknya data : ');readln(n); i:=1;
while i<=n do begin
write('Nilai data ke-',i,' : ');readln(A[i]); i:=i+1;
writeln('Data terbesar adalah : ', maks); readln;
Array 2 dimensi
Selain array 1 dimensi yang berbentuk vector, juga dikenal array 2 dimensi yang berbentuk matriks. Secara umum array 2 dimensi dideklarasikan
dengan bentuk:
type NamaArray = array[I,J] of tipeelemen;
Array 2 dimensi
…..
Misalnya jika kita ingin membuat matrik A
berukuran 2 baris dan 3 kolom, maka matriks tersebut dapat disimpan dalam array 2 dimensi yang didefinisikan sebagai:
Array 2 dimensi
…..
Jika perulangan for digunakan untuk mengontrol proses pembacaan dan pencetakan biasanya digunakan satu statement for untuk mengontrol setiap array. Setiap statement for digunakan untuk membangkitkan nilai sebuah indeks.
Sebagai contoh:
var tabel:array[1..40,1..5] of real;
for i:= 1 to 40 do for j:=1 to 5 do
Array 2 dimensi
…..
Dari contoh diatas dapat dijelaskan bahwa:
tabel adalah array dimensi dua atau matriks dengan 40 baris dan 5 kolom (200 elemen).
statement read akan dikerjakan 200 kali, masing-masing 5 kali untuk setiap eksekusi perulangan luar. indeks j akan bernilai 1,2,3,4 dan 5 untuk setiap
program array3; uses crt;
var
tabel: array[1..3,1..2] of byte; i,j:byte;
begin
clrscr;
Bekerja dengan 2 Array
Dua array dapat dioperasikan sekaligus
Misal :
Nilai ujian n mahasiswa disimpan pada array NilUjian
program array4; uses crt;
const Nmaks = 200; var
NilUjian : array [1..Nmaks] of real; Indeks : array [1..Nmaks] of char; i,n : integer;
begin
clrscr;
write('Banyaknya mahasiswa : ');readln(n); for i:=1 to n do readln(NilUjian[i]);
for i:= 1 to n do
if NilUjian[i]>=80 then Indeks[i]:='A' else
if NilUjian[i]>=70 then Indeks[i]:='B' else
if NilUjian[i]>=55 then Indeks[i]:='C' else