Terdapat beragam operasi pada matrik seperti:
- penjumlahan
- pengurangan
- perkalian
- transpose
- inverse
- dan sebagainya
- penjumlahan
- pengurangan
- perkalian
- transpose
- inverse
- dan sebagainya
pada bahasan kali ini akan dijelaskan tentang penjumlahan matrik dan perkalian matrik.
A(m,n) disebut sebagai matrik A dengan baris m dan kolom n.
Pada posisi baris dan kolom dapat diletakkan elemen matrik. Sebagai contoh pada baris ke-1 dan kolom ke-1 ditulis A(1,1) dapat diberikan suatu nilai. Ilustrasi dari elemen-elemen matrik pada matrik A(3,3) adalah:
A1,1 A1,2 A1,3
A2,1 A2,2 A2,3
A3,1 A3,2 A3,3
Pada contoh di atas bahwa terdapat matrik A(3,3) yang artinya matrik A terdiri atas 3 baris dan 3 kolom.
Sebagai contoh elemen-elemen matrik A(3,3):
2 4 5
6 7 8
9 10 11
Untuk menjumlahkan dua buah matrik dapat dituliskan seperti berikut:
C= A + B, artinya bahwa matrik A ditambah matrik B hasilnya adalah matrik C
C= A + B, artinya bahwa matrik A ditambah matrik B hasilnya adalah matrik C
Pada penjelasan sebelumnya disebutkan bahwa setiap matrik memiliki baris dan kolom sehingga bentuk penjumlahan diatas dapat kita dituliskan menjadi:
C(m,n) = A(m,n) + B(m,n)
dimana m adalah cacah baris matrik
n adalah cacah kolom matrik
C(m,n) = A(m,n) + B(m,n)
dimana m adalah cacah baris matrik
n adalah cacah kolom matrik
Dalam penjumlahan dua buah atau banyak matrik bahwa banyak baris dan kolom matrik yang akan dijumlahkan harus sama.
Sebagai contoh terdapat matrik A(2,2) dan B(2,2) seperti di bawah ini:
Matrik A
2 3
4 2
Matrik B
5 6
7 8
Perjumlahan matrik A dan B adalah
Matrik A Matrik B
2 3 5 6
4 2 7 8
C(1,1) = A(1,1)+B(1,1)
= 2 + 5
= 7
C(1,2) = A(1,2) + B(1,2)
= 3 + 6
= 9
dan seterusnya
Implementasi matrik dalam bahasa pemrograman dapat kita lakukan dengan menggunakan Array.= 2 + 5
= 7
C(1,2) = A(1,2) + B(1,2)
= 3 + 6
= 9
dan seterusnya
Misalkan terdapat matrik A(2,2) yang elemen-elemenya adalah bilangan bulat, maka deklarasi matrik A pada visual basic dapat dilakukan seperti berikut:
Dim A(2,2) As Byte
Deklarasi di atas menyatakan bahwa terdapat empat pengenal seperti berikut:
A(1,1)
A(1,2)
A(2,1)
A(2,2)
Algoritma penjumlahan dua buah matrik
0. Mulai
1. Tentukan matrik A dan B
2. Ulangi I mulai dari 1 sampai dengan banyak baris matrik A
3. Ulangi J mulai dari 1 sampai dengan banyak kolom matrik A
4. Matrik C = Matrik A + Matrik B
5. Ulangi J
6. Ulangi I
7. Selesai
Private Sub Form_Activate()
Dim I,J As Byte Dim A(2,2),B(2,2),C(2,2) As Byte A(1,1)=2: A(1,2)=3:A(2,1)=4:A(2,2)=2 B(1,1)=5:B(1,2)=6:B(2,1)=7:B(2,2)=8'Jumlahkan Matrik A dan B
For I = 1 To 2 Step 1 For J = 1 To 2 Step 1 C(I,J)=A(I,J)+B(I,J) Next J Next I'Cetak Matrik C
For I = 1 To 2 Step 1 For J = 1 To 2 Step 1 Print C(I,J); Next J Print Next IEnd Sub.
PERKALIAN PROGRAM MATRIK:
Program untuk mengalikan dua buah matriks. Dalam perkalian matriks, yang
sangat penting diperhatikan adalah jumlah kolom matriks A harus sama
dengan jumlah baris matriks B.
uses crt;
var
a,f,k:array[1..100,1..100] of integer;
b,c,i,j,l,z:longint; m,n,d,e,g,h:byte;
begin clrscr;
write(' Program Perkalian 2 Matriks');readln;writeln;writeln;
writeln('Masukkan data untuk matriks pertama (M1)'); writeln;
write('banyaknya baris matriks pertama: '); readln(b);
write('banyaknya kolom matriks pertama: '); readln(c);writeln;
for d:= 1 to b do
begin
for e:= 1 to c do
begin
write('entri baris ke-',d,' kolom ke-',e,': '); readln(a[d,e]);
end;
end;writeln;
writeln('M1:');writeln;
for d:= 1 to b do
begin
for e:= 1 to c do
begin
write(a[d,e]:7);
end;writeln;writeln;end;writeln;writeln;
writeln('Masukkan data untuk matriks kedua (M2)');writeln;
write('berapa banyak baris matriks kedua? '); readln(g);
write('berapa banyak kolom matriks kedua? '); readln(h);writeln;
for i:= 1 to g do
begin
for j:=1 to h do
begin
write('entri baris ke-',i,' kolom ke ',j,': '); readln(f[i,j]);
end;end;writeln;
writeln('M2:');writeln;
for i:= 1 to g do
begin
for j:= 1 to h do
begin
write(f[i,j]:7);
end;writeln;writeln;end;writeln;writeln;
writeln('Tekan Enter Untuk Melihat Hasil Operasi dari M1 x M2!');readln;
if c=i then begin
writeln('M1 x M2:');writeln;
for d:= 1 to b do
begin
for l:=1 to h do
begin
for e:= 1 to c do
begin
for j:= l to h do
begin
for i:=e to g do
begin
k[d,j]:=k[d,j]+a[d,e]*f[i,j];
if c=e then begin
write(k[d,j]:7);end;i:=g;
end;j:=h;end;end;end;writeln;writeln;end;end else
begin
writeln('Maaf?! Operasi dari M1 x M2 tidak dapat dilakukan');
writeln('karena kolom M1 (',c,' kolom) tidak sama dengan baris M2 (',i,' baris)');
end;
readln;
end.
Tidak ada komentar:
Posting Komentar