Jumat, 10 Juni 2016

PERKALIAN MATRIKS DENGAN VEKTOR

Masalah dalam Perkalian Matriks (dengan Ordo di input dari pengguna) dengan Sebuah Vektor.
             Didalam perkalian Matriks dengan Vektor ini sebenarnya sama saja dengan mengalikan Dua Buah Matriks. Jumlah kolom dari Matriks harus sama dengan jumlah Baris didalam Vektor agar dapat dilakukan perkalian.



Analisis
               1. Input nya adalah Matriks dengan Ordo 2x3 akan dikali dengan Vektor 3x1.
               2. Lakukan proses perkalian dengan mengalikan baris dalam Matriks dengan Angka di kolom vektor. Misal = (a11*b11)+(a12*b12)+(a13*b13) dan (a21*b11)+(a22*b12)+(a23*b13)
               3. Maka akan menghasilkan matriks baru dengan ukuran 2x1. Sebut saja matriks C, inilah yang akan di outputkan nanti.

Algoritma
           Procedure kali( input/output matriks[ ][ ],vektor[ ],hasil[ ]:: integer)::integer
           Deklarasi
                  i,k :: integer
           Deskripsi
                  for(i=0;i<a;i++)
                  for(k=0;k<b;k++)
                    hasil[i]=hasil[i]+(matriks[i][k])*(vektor[k]);
                  endfor endfor
 for(int i=0;i<a;i++)
    read(hasil[i]);
 endfor

Pengujian dengan data
 Hasil dari perkalian diatas:

Jadi :
C11 = (a11*b11)+(a12*b12)+(a13*b13) dan
C21 = (a21*b11)+(a22*b12)+(a23*b13)
C11 = (
C11 = (3x3) + (2x1) + (1x0) dan
C21= (1x3) + (2x1) + (1x0)

Hasil  Akhirnya :
11
5

 c++
#include <iostream>
#include <iomanip>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;

int main(int argc, char** argv) {
 int a,b;
 cout<<"Masukkan Baris : ";
 cin>>a;
 cout<<"Masukkan Kolom : ";
 cin>>b;
 int matriks[a][b],vektor[b],hasil[10];


 for(int i=0;i<a;i++){
  for(int j=0;j<b;j++){
   cout<<"Masukkan Data Matriks ke-["<<i+1<<"]["<<j+1<<"] : ";
   cin>>matriks[i][j];
 
  }
 }
 for(int i=0;i<b;i++){
  cout<<"Masukkan Data Vektor ke-["<<i+1<<"] : ";
   cin>>vektor[i];
 
 }
 cout<<"MATRIK A "<<endl;
 for(int i=0;i<a;i++){
  cout<<setw(5);
  for(int j=0;j<b;j++){
  cout<<matriks[i][j]<<setw(5);
  }cout<<endl;
 }
 cout<<endl;

 for(int i=0;i<b;i++){
  cout<<setw(2)<<vektor[i]<<endl;
 }
 for(int i=0;i<2;i++){
  hasil[i]=0;
 }
 cout<<"\nHasil Kali nya = "<<endl;
  for(int i=0;i<a;i++){
  for(int k=0;k<b;k++)
 
   hasil[i]=hasil[i]+(matriks[i][k])*(vektor[k]);
 
 }
 for(int i=0;i<a;i++){
  cout<<hasil[i]<<endl;
 }



 return 0;
}

Tidak ada komentar:

Posting Komentar