Senin, 15 November 2010

ALGORITMA PERKALIAN MATRIKS

Algoritma Perkalian Matriks

Algoritma :

a.inisialisasi matrik_a[ ][ ], matrik_b[ ][ ], matrik_c[ ][ ], i=0, j=0, k=0, baris_a, kolom_a, kolom_b
b.inputkan baris_a, kolom_a, kolom_b
c.Proses looping untuk memasukkan nilai pada matrik_a :

1.untuk i=0 sampai dengan banyak baris_a-1, i=i+1
a)untuk j=0 sampai dengan banyaknya kolom_a-1, j=j+1
b)inputkan matrik_b[i+1][j+1]
c)Apakah j< kolom_a ? jika tidak, kembali ke proses c.1.a

2.Apakah i < baris_a ? jika tidak, kembali ke proses c 1.
d.Proses looping untuk memasukkan nilai pada matrik_b :

1.untuk j=0 sampai dengan banyak kolom_a-1, j=j+1
a)untuk k=0 sampai dengan banyaknya kolom_a-1, k=k+1
b)inputkan matrik_b[j+1][k+1]
c)Apakah k< kolom_b ? jika tidak, kembali ke proses d.1.a

2.Apakah j < kolom_a ? jika tidak, kembali ke proses d 1.
e.Proses looping untuk mengalikan matriks :
1.untuk i=0 sampai dengan banyak baris_a-1, i=i+1
a)untuk k=0 sampai dengan banyaknya kolom_b-1, k=k+1

i)untuk j=0 sampai dengan kolom_a -1, j=j+1
ii)matrik_c[i][k] + = matrik_a[i][j] * matrik_b[j][k]
iii)Apakah j< kolom_a ? jika tidak, kembali ke proses i)

b)Apakah k2.Apakah i < baris_a ? jika tidak, kembali ke proses e 1.
f.Proses looping untuk menampilkan matrik_c :

1.untuk i=0 sampai dengan banyak baris_a-1, i=i+1
a)untuk k=0 sampai dengan banyaknya kolom_b -1, k=k+1
b)Print matrik_c[i][k]
c)Apakah k< kolom_b ? jika tidak, kembali ke proses f.1.a

2.Apakah i < baris_a ? jika tidak, kembali ke proses f 1.
g.Program selesai.

Algoritma Determinan Matrik

1.Masukkan ordo matrik (n)

2.Untuk i=0 s/d i < n dan j = 0 s/d j < n
- matrik [i][j]=a
- i=baris dan j=kolom

3.Lakukan penukaran baris
Untuk j=0 s/d j < n
temp=a[baris1][j];
a[baris1][j]=a[baris2][j];
a[baris2][j]=temp;

4.Proses determinan
nilai a[i][j]<0 br="br">max=i
Untuk m=i+1 s/d m if (fabs(a[m][i]) > fabs(a[max][i]))
max = m ;
Untuk j=i+1 s/d j < n
if (fabs(a[j][i]) != 0){
c=(double) a[j][i]/a[i][i];
Untuk k=0 s/d k < n
a[j][k]=a[j][k]-c*a[i][k];

5. Hasil dari proses
Untuk i=0 s/d i < n
hasil=hasil*a[i][i];

Program Matrik Transpose

Program Matrik_Transpose;
Uses Crt;
Type Matrik = Array [1..3,1..3] of integer;
Var
Awal,MatrikT: Matrik;
I,J : Integer;
Begin
ClrScr;
TextColor(155);
Awal[1,1] := 1;Awal[1,2] := 2;Awal[1,3] := 3;
Awal[2,1] := 4;Awal[2,2] := 5;Awal[2,3] := 6;
Awal[3,1] := 7;Awal[3,2] := 8;Awal[3,3] := 9;
Writeln(‘Matrik Awal :’);
Writeln(‘ By ULtr4′);
For I := 1 to 3 do
Begin
For J := 1 to 3 do
Begin
Write(Awal[I,J]:2,’ ‘);
End;
Writeln;
End;
Writeln;
For I := 1 to 3 do
Begin
For J := 1 to 3 do
Begin
MatrikT[I,J] := Awal[J,I];
End;
End;
Writeln(‘Matrik Tranpose :’);
Writeln(‘ Poenya gue ‘);
For I := 1 to 3 do
Begin
For J := 1 to 3 do
Begin
Write(MatrikT[I,J]:2,’ ‘);
End;
Writeln;
End;
End.

Tidak ada komentar:

Posting Komentar