You are on page 1of 19

Matrik

wijanarto

Definisi
Sekumpulan informasi yang setiap individu
elemennya terdefinisi berdasarkan dua buah
index
Terdiri dari kolom dan baris
Bertipe data sama (dasar atau terstruktrur)
Tiap elemen dapat di akses secara random
Di dalam memori matrik di representasikan
sebagai larik dalam larik, dimana space yang
di perlukan sebesar kolomXbarisXtipedatanya
Larik berdimensi 2, yang bersifat linear
Struktur Data Statik, fixed in memory

Representasi Matrik
Matrik 3X4
1

Baris = 3 dan kolom = 4M(1,1)


Elemen (2,3) bernilai 7
Elemen (3,3) bernilai 11

M(1,2)

M(1,3)

M(1,4)

M(2,1)

M(2,2)

M(2,3)

M(2,4)

M(3,1)

M(3,2)

M(3,3)

M(3,4)

10 11 12

Baris
1

1
0

1
1

1
2

1
0

1
1

1
2

Kolom
1

Representasi Matrik
Pengisian terhadap elemen matrik
harus bersesuaian, artinya besar
matrik dengan jumlah niai yang
diisikan harus sama
Untuk 3X4 berarti ada 12 elemen,
maka pengisisan baik secara kolom
maupun baris harus berjumlah 12
juga, jika tidak akan menimbulkan
error pada saat di akses.

Matrik dan Pemakaianya


Matematika
Pengolahan citra digital
Deklarasi matrik
M=array [15,1..4] of integer
Type m:array [1..5,1..4] of integer

Akses matrik berdasarkan indexnya


M(1,1),M(2,3), dst

Operasi Matrik
Dalam bahasa operasi matrik
berkenaan dengan loop for
For i:=1 to 10 do //kolom
For j:=1 to 10 do // baris
m(j,i):=0;
Inisialisasi matrik boleh dilaukan atau
tidak, tergantung kebutuhan

Menjumlah 2 matrik
Misal C=A+B dimana A,B adalah
matrik yang berukuran sama, maka
hasilnya C berukruan sama juga
C[I,j]=A[I,j]+B[I,j]
-5

12 13

21 33
6

2
-7

1
=

18 31
2

5
1
15

-6

-7

Implementasi bahasa

pascal
For i:=1 to 3 do
For j:=1 to 3 do
C[i,j]:=a[i,j]+b[i,j];
c
For (i=1;i<=3;i++)
For(j=1;j<=3;j++)
C[i,j]=a[i,j]+b[i,j];

Jumlah per kolom dan per


baris

baris
For i:=1 to 3 do
A[i,3+1]:=0
For j:=1 to 3 do
A[i,3+1]:=a[i,3+1]+a[i,j];
kolom
For i:=1 to 3 do
A[3+1,j]:=0
For j:=1 to 3 do
A[3+1,j]:=a[3+1,j]+a[i,j];

Cek Kesamaan 2 Matrik


Jika a,b adalah matrik maka di
nyatakan sama jika :
A[I,j]=b[I,j], untuk setiap I dan j
Jika A[I,j]<>b[I,j], maka pemeriksaan
berhenti

Cek kesamaan jumlah baris dan kolom


masing-masing matrik
Cek kesesuaian masing-masing nilai
elemen matrik

Fungsi m_sama
Asumsi semua variabel sudah terdeklarasi
If (bar_a<>bar_b) and (kol_a<>kol_b) then Ret
false else
i=1
Sama=true
While (i<=bar_a) and sama do
J=1
While (j<=kol_a) and sama do
If a[I,j]<>b[I,j] then sama=false else j=j+1
If sama then i=i+1
Ret sama

Matrik Simetri
Matrik simetri adalah jika baris dan kolomnya
berukuran sama (bujursangkar)
A[I,j]=a[j,i]
Blok abu-abu adalh diagonal matrik
Merah,kuning dan biru adalah elemen di bawah
diagonal utamanya (a[I,j]=a[j,i]), yg merupakan
cerminan nilai di atasnya
1

11

12

12

15

Fungsi M_Simetri
Asumsi semua variabel sudah terdeklarasi
If (bar_a<>bar_b) and (kol_a<>kol_b) then Ret
false else
i=1
Sim=true
While (i<=bar_a) and sama do
J=1
While (j<=kol_a) and sama do
If a[I,j]<>b[j,i] then sim=false else j=j+1
If sama then i=i+1
Ret sama

Transpose Matrik
Ukuran matrik asal menjadi terbalik,
misal A[3,4]Atrans[4,3] atau
A[j,i]=AT[i,j]
ATranspose

12

10

13

10

11

11

14

12

13

14

Fungsi M-Trans
Asumsi semua variabel sudah
terdeklarasi
Bar_at=kol_a
Kol_at=bar_a
For i=1 to bar_a do
For j=1 to kol_a do
atrans[j,i]=a[I,j]

Matrik Segitiga Bawah


Matrik yang elemen diatas diagonal
utamanya bernilai nol
1

11

12

15

Fungsi M_segi3b
Asumsi semua variabel sudah terdeklarasi
If bar<> kol then ret false else
i=1
Sbwh=true
While i<=bar and sbwh do
j=i+1
while j<=kol and sbwh do
if a[I,j]<>0 then sbwh=false else j=j+1
if sbwh then i=i+1
Ret sbwh

Perkalian 2 matrik
C=A*B
Kolom matrik A harus sama dengan baris matrik
B
A[1..M,1..N] dan B[1..N,1..P] hasilnya
C[1..M,1..P]
C[i,j]=c[i,j]+a[i,k]*b[b,k]
1

10 11

* 12 13

14 15

76
(1*10)+(2*12)+(3*
= 14)
(4*10)+(5*12)+(6*
14)
(7*10)+(8*12)+(9*
14)

(1*11)+(2*13)+(3*
15)
=
(4*11)+(5*13)+(6*
15)
(7*11)+(8*13)+(9*
15)

67

184 199
292 326

Fungsi MKali
Asumsi semua variabel sudah terdeklarasi
M=jum. Baris hasil perkalian
P=jum .Kolom hasil perkalian
N=jum kolom pada A atau B
Bar_c=M
Kol_c=P
For i=1 to Bar_c do
for j=1 to kol_c do
c[I,j]=0
for k=1 to N do
C[I,j]=c[I,j]+A[I,k]*B[K,J]

You might also like