Profil

Senin, 30 September 2013

Algoritma Pengurangan dan Penjumlahan Matriks



Algoritma  Pengurangan Matriks
Deklarasi
 i, j: integer

Deskripsi
 for<-- i to baris do
  for<-- j to baris do
    kurang[i,j]:= matriks1[i,j] - matriks2 [i.j]
  end for
 end for


Source code:
#include <iostream.h>
#include <conio.h>

void baca(int mat[10][10], int baris, int kolom){
 int i, j;
 for (i=0; i<baris; i++)
  for (j=0; j<kolom; j++){
   cout<<"Data ["<<i+1<<" , "<<j+1<<"] : ";
   cin>>mat[i][j];}
}
void kurangM(const int matriks1[10][10], const int matriks2[10][10], int baris, int kolom, int hasil[10][10]){
 int i,j;
 for (i=0; i<baris; i++)
  for (j=0; j<kolom; j++)
   hasil[i][j]= matriks1[i][j]- matriks2[i][j];
}
void cetak(int A[10][10], int baris, int kolom){
 int i, j;
 for (i=0; i<baris; i++){
  for (j=0; j<kolom; j++)
   cout<<A[i][j]<<" ";
   cout<<endl;
}
}
int main(){
 int b,k;
 int matriks1[10][10], matriks2[10][10];
 int hasil[10][10];
 cout<<"Banyak Baris: "; cin>>b;
 cout<<"Banyak kolom: "; cin>>k;
 cout<<"\nMatriks Pertama \n";
 baca(matriks1, b, k);
 cetak(matriks1, b, k);
cout<<"\nMatriks Kedua \n";
 baca(matriks2, b, k);
 cetak(matriks2, b, k);

 kurangM(matriks1, matriks2,  b, k, hasil);
 cout<<"\nHasil pengurangan \n";
 cetak(hasil, b, k);

 getch();
}
Algoritma  Penjumlahan Matriks
Deklarasi
 i, j: integer

Deskripsi
 for<-- i to baris do
  for<-- j to baris do
    jumlah[i,j]:= matriks1[i,j] + matriks2 [i.j]
  end for
 end for

Source code:
#include <iostream.h>
#include <conio.h>

void baca(int mat[10][10], int baris, int kolom){
 int i, j;
 for (i=0; i<baris; i++)
  for (j=0; j<kolom; j++){
   cout<<"Data ["<<i+1<<" , "<<j+1<<"] : ";
   cin>>mat[i][j];}
}

void jumlahM(const int matriks1[10][10], const int matriks2[10][10], int baris, int kolom, int hasil[10][10]){
 int i,j;
 for (i=0; i<baris; i++)
  for (j=0; j<kolom; j++)
   hasil[i][j]= matriks1[i][j]+ matriks2[i][j];

}

void cetak(int A[10][10], int baris, int kolom){
 int i, j;
 for (i=0; i<baris; i++){
  for (j=0; j<kolom; j++)
   cout<<A[i][j]<<" ";
   cout<<endl;
}
}

int main(){
 int b,k;
 int matriks1[10][10], matriks2[10][10];
 int hasil[10][10];

 cout<<"Banyak Baris: "; cin>>b;
 cout<<"Banyak kolom: "; cin>>k;

 cout<<"\nMatriks Pertama \n";
 baca(matriks1, b, k);
 cetak(matriks1, b, k);

 cout<<"\nMatriks Kedua \n";
 baca(matriks2, b, k);
 cetak(matriks2, b, k);

 jumlahM(matriks1, matriks2,  b, k, hasil);
 cout<<"\nHasil penjumlahan \n";
 cetak(hasil, b, k);

 getch();
}

Penjelasannya Penjumlahan Matriks :

inti dari program ini sebenarnyab terletak di
for (i=0; i<baris; i++)
  for (j=0; j<kolom; j++)
   hasil[i][j]= matriks1[i][j]+ matriks2[i][j];
karena disinilah program akan menjumlahkan inputan kita....
satu hal yang harus diketahui adalah agar bisa menjumlahkan Matriks adalah jumlah baris dan kolom antara matriks 1 dan matriks ke dua haruslah sama. OK....
Algoritma  Perkalian Matriks
Algoritma:
deklarasi
 i, j, k; int

deskripsi
 for<-- i to baris do
  for<-- j to baris do
   mat_kali[i][j] = 0
   for k <-- 1 to barkol do
    mat_kali[i][j]<-- mat_kali[i][j] + matriks1[i][k] * matriks2[k][j]   
   end for
  end for
 end for


Source code:
#include <iostream.h>
#include <conio.h>

void baca(int mat[10][10], int baris, int kolom){
 int i,j;
 for (i=0; i<baris; i++)
  for (j=0; j<kolom; j++){
   cout<<"Data ["<<i+1<<","<<j+1<<"] : ";
   cin>>mat[i][j];}
}

void kali(const int M1[10][10], const int M2[10][10], int baris, int kolom, int barkol, int hasil[10][10]){
 int i, j, k;
  for (i=0; i<baris; i++)
   for (j=0; j<kolom; j++){
    hasil[i][j]=0;
     for (k=0; k<barkol; k++)
      hasil[i][j]=hasil[i][j] +M1[i][k] *M2[k][j];}
}

void cetak(const int A[10][10], int baris, int kolom){
 int i,j;
  for (i=0; i<baris; i++){
   for (j=0; j<kolom; j++)
    cout<<A[i][j]<<" ";
    cout<<endl;}
}

int main(){
 int a,b,c;
 int M1[10][10], M2[10][10];
 int hasil[10][10];

 cout<<"banyak baris matriks 1 : "; cin>>a;
 cout<<"banyak kolom matriks 2 : "; cin>>b;
 cout<<"banyak kolom matriks 1 atau baris matriks 2 : "; cin>>c;

 cout<<"\nMatriks pertama \n";
 baca(M1, a, c); cout<<endl;
 cetak(M1, a, c);

 cout<<"\nMatriks Kedua \n";
 baca(M2, c, b); cout<<endl;
 cetak(M2, c, b);

 kali(M1, M2, a, b, c, hasil);
 cout<<"\nHasil Perkalian \n";
 cetak(hasil , a, b);

 getch();
}

Penjelasannya:
inti dari program ini terletak di fungsi void kali.....
dan dalam hal mengalikan matriks ini teman-teman harus mengetahui syarat perkalian matriks terlebih dahulu. yaitu jumlah kolom mtriks pertama harus sama dengan jumlah baris matriks ke dua.Jadi dalam hal ini saya belum menggunakan fungsi if, tapi saya langsung menginputkan nya menjadi satu. Dapat teman liat sendiri di
" cout<<"banyak kolom matriks 1 atau baris matriks 2 : "; cin>>c; ".. Ok...

Tidak ada komentar:

Posting Komentar