Professional Documents
Culture Documents
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
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.
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];
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];
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]
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]