Anda di halaman 1dari 20

Larik (dimensi 1)

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:

A[1], A[2], A[3], A[4], A[5], A[6]. A[7], A[8]

Angka di dalam tanda kurung siku menyatakan indeks larik.

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

Mendeklarasikan larik di dalam bagian deklarasi ini berarti:

1. Menspesifikasikan nama larik


2. Menspesifikasikan ukuran larik
3. Menspesifikasikan tipe elemen larik

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

//Judul cetak array 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

while (D < 10) do

output (A[D])

D=D+1

{1,2,3,4,5,6,7,8,9,10} //real

//Judul cetak array real


//Kamus

B[1..10] ← array of real

i ← integer

//Deskripsi

B[1..10] ← {1,2,3,4,5,6,7,8,9,10}

i←0

while (i < 10) do

output(B[i])

i=i+1

{‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’,’I’,’J’}

//Judul cetak array char

//Kamus

C[1..10] ← array of char

x ← integer

//Deskripsi

C[1..10] ← {‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’,’I’,’J’}

x←0

while (x < 10) do

output(C[x])

x=x+1
}

Dan di bawah ini merupakan source code nya


INPUT

//Judul input in array dengan integer

//kamus

arrayint ← integer

i ← integer

//deskripsi

i← 0

while ( i < 10) do

arrayint[i] ← array [1..10] of integer

output( i =)

input arrayint[i]
i←i+1

//Judul input in array dengan real

//Kamus

arrayril ← real

x ← integer

//Deskripsi

x←0

while ( x < 10) do

arrayril[x] ←array [1..10] of real

output(x =)

input arrayril[x]

x← x+1

//Judul input in array dengan char

//Kamus

arrayhrf ← char

y ← integer

//Deskripsi

y←0

while (y < 10) do

{
arrayhf[y]←array [1..10] of char

output(y =)

input arrayhrf[y]

y←y+1

Dan di bawah ini source code nya


PENJUMLAHAN 2 MATRIKS

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.

C[i,j] = A[i,j] + B[i,j] untuk semua i dan j

Contoh penjumlahan matriks A dan B menghasilkan matriks C:

//Judul penjumlahan matriks 3×1 statis

//Kamus

a ← array [1..3] of integer

b← array [1..3] of integer

c← array [1..3] of integer


//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 penjumlahan matriks 3×1 dinamis

//Kamus

a ← array [1..3] of integer

b ← array [1..3] of integer

c ← array[1..3] of integer

indeks←integer

//Deskripsi

indeks ← 1

while ( indeks < 4) do

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.

C[i,j] = A[i,j] – B[i,j] untuk semua i dan j

//Judul pengurangan matriks 3×1 statis

//Kamus

a ← array [1..3] of integer

b← array [1..3] of integer

c← array [1..3] of integer

//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

a ← array [1..3] of integer

b ← array [1..3] of integer

c ← array[1..3] of integer

indeks←integer

//Deskripsi

indeks ← 1

while ( indeks < 4) do

input a[indeks]

input b[indeks]

c[indeks]←a[indeks] – b[indeks]

indeks ←indeks + 1

PERKALIAN 2 MATRIKS

Perkalian 2 buah matriks A dan B menghasilkan Matriks C, yaitu C = A x B.

Algoritma menghasilkan 2 buah matriks lebih rumit daripada menjumlahkan keduanya.


Syarat perkalian matriks A dan B yaitu, jumlah kolom matriks A harus sama dengan
jumlah baris matriks B.
//Judul perkalian matriks 3×1 statis

//Kamus

a ← array [1..3] of integer

b← array [1..3] of integer

c← array [1..3] of integer

//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

while (baris < 2) do

kolom ← 0

while (kolom < 2) do

input a[baris][kolom]

kolom ← kolom + 1

baris ← baris + 1

//MatriksB

baris ← 0
while (baris < 2) do

kolom ← 0

while (kolom < 2) do

input b[baris][kolom]

kolom ← kolom + 1

baris ← baris + 1

//Cetak A

baris ← 0

while (baris < 2) do

kolom ← 0

while (kolom < 2) do

output (a[baris][kolom]

kolom ← kolom + 1

baris ← baris + 1

//Cetak B
baris ← 0

while (baris < 2) do

kolom ← 0

while (kolom < 2) do

output (b[baris][kolom]

kolom ← kolom + 1

baris ← baris + 1

//Kali

baris ← 0

while (baris < 2) do

kolom ← 0

while (kolom < 2) do

c[baris][kolom] ← 0

i← 0

while (i < 2)

c[baris][kolom] ← a[baris][i] * b[i][kolom]


i← i+1

kolom ← kolom + 1

baris ← baris + 1

//Cetak

baris ← 0

while (baris < 2) do

kolom ← 0

while (kolom < 2) do

output (c[baris][kolom]

kolom ← kolom + 1

baris ← baris + 1

//Judul

PERKALIAN 2 MATRIKS DENGAN ORDO M x N

//Kamus

a← array [1..n][1..m] of integer


b← array [1..n][1..m] of integer

c← array [1..n][1..m] of integer

k ← integer

i ← integer

j ← integer

barisa ← integer

koloma ← integer

barisb ← integer

kolomb ← integer

//Deskripsi

input(barisa)

input(koloma)

input(barisb)

input(kolomb)

if (koloma = barisb) then

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

c[i][j] ← c[i][j] + a[i][k] * b[k][j]

k←k+1

j←j+1

i←i+1

else

output(ordo tidak tepat)

Anda mungkin juga menyukai