Larik ini adalah struktur data yang statik, yang artinya adalah jumlah elemen ini harus
sudah terdefinisi di dalam program. Kemudian jumlah elemen larik ini tidak bisa diubah,
ditambah, dikurangi selama pelaksanaan program.
Misalnya sebuah larik yang bernama A dengan 8 buah elemen dapat dibayangkan sebagai
sekumpulan kotak yang terurut (baik tersusun secara vertikal atau horizontal). Tiap kotak
kotak pada larik tersebut diberi indeks 1,2,3 …, 8. Setiap elemen larik ditulis dengan
notasi:
Setiap elemen larik menyimpan sebuah nilai. Karena seluruh elemen larik bertipe sama,
maka nilai yang disimpan oleh setiap elemen juga harus bertipe sama.
Contoh dengan tipe data integer
Nama larik harus unik, artinya tidak boleh sama dengan nama peubah, nama tipe
bentukan, nama konstanta, nama prosedur, dan nama fungsi di dalam program. Tipe
elemen larik dapat berupa tipe sederhana (integer, real, char, boolean, string), tipe
terstruktur seperti record, atau bahkan bertipe larik yang lain.
Matriks (dimensi 2)
Matriks adalah struktur penyimpanan data di dalam memori yang setiap individu
elemennya diacu dengan menggunakan dua buah indeks (yang biasanya diartikan dengan
indeks baris dan indeks kolom).
Berikut contoh notasi algoritma dengan 3 tipe data yang berbeda ↓
CETAK
{1,2,3,4,5,6,7,8,9,10} //integer
//Kamus
A[1…10] ← array of integer
D ← integer
//Deskripsi
A[1…10] ← {1,2,3,4,5,6,7,8,9,10}
D← 0
output (A[D])
D=D+1
{1,2,3,4,5,6,7,8,9,10} //real
i ← integer
//Deskripsi
B[1..10] ← {1,2,3,4,5,6,7,8,9,10}
i←0
output(B[i])
i=i+1
{‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’,’I’,’J’}
//Kamus
x ← integer
//Deskripsi
C[1..10] ← {‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’,’I’,’J’}
x←0
output(C[x])
x=x+1
}
//kamus
arrayint ← integer
i ← integer
//deskripsi
i← 0
output( i =)
input arrayint[i]
i←i+1
//Kamus
arrayril ← real
x ← integer
//Deskripsi
x←0
output(x =)
input arrayril[x]
x← x+1
//Kamus
arrayhrf ← char
y ← integer
//Deskripsi
y←0
{
arrayhf[y]←array [1..10] of char
output(y =)
input arrayhrf[y]
y←y+1
syarat melakukan penjumlahan 2 matriks yaitu bila ukuran matriks A dan ukuran
Matriks B sama dan kedua matriks tersebut terdefinisi nilai-nilai nya. Dan Matriks C akan
berukuran sama dengan Matriks A dan Matriks B.
//Kamus
a[1]← 2
a[2]←3
a[3]←1
b[1]←3
b[2]←4
b[3]←2
c[1]←a[1] + b[1]
c[2]←a[2] + b[2]
c[3]←a[3] + b[3]
output(c[1..3])
//Kamus
c ← array[1..3] of integer
indeks←integer
//Deskripsi
indeks ← 1
input a[indeks]
input b[indeks]
c[indeks]←a[indeks] + b[indeks]
indeks ←indeks + 1
PENGURANGAN 2 MATRIKS
syarat melakukan pengurangan 2 matriks sama seperti penjumlahan, yaitu bila ukuran
matriks A dan ukuran Matriks B sama dan kedua matriks tersebut terdefinisi nilai-nilai
nya. Dan Matriks C akan berukuran sama dengan Matriks A dan Matriks B.
//Kamus
//Deskripsi
a[1]← 2
a[2]←3
a[3]←1
b[1]←3
b[2]←4
b[3]←2
c[1]←a[1] – b[1]
c[2]←a[2] – b[2]
c[3]←a[3] – b[3]
output(c[1..3])
//Judul pengurangan matriks 3×1 dinamis
//Kamus
c ← array[1..3] of integer
indeks←integer
//Deskripsi
indeks ← 1
input a[indeks]
input b[indeks]
c[indeks]←a[indeks] – b[indeks]
indeks ←indeks + 1
PERKALIAN 2 MATRIKS
//Kamus
//Deskripsi
a[1]← 2
a[2]←3
a[3]←1
b[1]←3
b[2]←4
b[3]←2
c[1]←a[1] * b[1]
c[2]←a[2] * b[2]
c[3]←a[3] * b[3]
output(c[1..3])
//Judul
perkalian 2 matriks ordo 2×2 dinamis
//Kamus
a ←array[1..2][1..2] of integer
b ←array[1..2][1..2] of integer
c ←array[1..2][1..2] of integer
baris ← integer
kolom ← integer
i ← integer
//Deskripsi
//matriks A
baris ← 0
kolom ← 0
input a[baris][kolom]
kolom ← kolom + 1
baris ← baris + 1
//MatriksB
baris ← 0
while (baris < 2) do
kolom ← 0
input b[baris][kolom]
kolom ← kolom + 1
baris ← baris + 1
//Cetak A
baris ← 0
kolom ← 0
output (a[baris][kolom]
kolom ← kolom + 1
baris ← baris + 1
//Cetak B
baris ← 0
kolom ← 0
output (b[baris][kolom]
kolom ← kolom + 1
baris ← baris + 1
//Kali
baris ← 0
kolom ← 0
c[baris][kolom] ← 0
i← 0
while (i < 2)
kolom ← kolom + 1
baris ← baris + 1
//Cetak
baris ← 0
kolom ← 0
output (c[baris][kolom]
kolom ← kolom + 1
baris ← baris + 1
//Judul
//Kamus
k ← integer
i ← integer
j ← integer
barisa ← integer
koloma ← integer
barisb ← integer
kolomb ← integer
//Deskripsi
input(barisa)
input(koloma)
input(barisb)
input(kolomb)
i←1
while (i ≤ barisa) do
j←1
while (j ≤ koloma) do
input (a[i][j])
output (a[i][j]
j←j+1
i←i+1
i←1
while (i ≤ barisb) do
j←1
while (j ≤ kolomb) do
input (b[i][j])
output (b[i][j]
j←j+1
i←i+1
i←1
while (i ≤ barisa) do
j←1
while (j ≤ kolomb) do
{
c[i][j] ← 0
k←1
while ( k ≤ koloma) do
k←k+1
j←j+1
i←i+1
else