Matrik dan Vektor



1. identifikasi masalah
mengalikan vektor (2 elemen) dengan matriks berukuran 2x3 dan vektor (3 elemen)
2. output input
 input   : matrik[2][3]={1,3,2,4,5,7}.
                    vektor[3]={4,2,3}.
                    vek[2]={1,3}    

 output : hasil[2].
3. algoritma
Deklarasi :
     matrik[2][3] =
{1,3,2,4,5,7} : integer
    vektor[2]        = {4,2,3}           : integer
    vek[2]              = {1,3}              : integer
    hasil[2]           = {0}                 : integer

 Deklarasi :
   for i<-0 to i<-2 do
          for j<-0 to j<-3 do
                 hasil[i]=hasil[i]+(matrik [i][j]*vektor[j]);
                 write hasil[i];
        end for
endfor
for i<-0 toi<-2 do
  hasil[i]=hasil[i]*vek[i];
  write hasil[i];
endfor
end

4. tes menggunakan data
 vektor(2 elemen), matrik(ordo 2x3) dan vektor(3 elemen)
           j=0                       j=0  j=1  j=2                        j=0
A i=0|1|             B i=0| 1     3   2  |           C i=0| 4 |
    i=1|3|                 i=1| 4    5    7  |               i=1 | 2 |
                                                                         i=2 | 3 |
  Kalikan matrik B dengan vektor C agar memudahkan karna keduanya memiliki ordo yang sama 2 x 3 dengan 2 x 1
             j=0  j=1  j=2                            j=0
D i=0|  4     6    6 |     =        D i=0| 16|
    i=1 |  16  10   21|    =             i=1 |47|
Setelah itu kalikan lagi dengan vektor A deman ordo 2 x 1 dan 2 x 1
             j=0                    j=0                          j=0
D i=0|16|       A i=0| 1 |      =       E i=0|   16|
     i=1|47|           i=1| 3 |      =           i=1 |141|
 


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

void kali(int matrik[2][3],int vektor[3],int hasil[2]){
 cout<<"matrik 2x3 : \n";
 for(int i=0;i<2;i++){
  for(int j=0;j<3;j++)
   hasil[i]=hasil[i]+(matrik[i][j]*vektor[j]);
 }
}
void cetakm(int hasil[][3]){
 for(int i=0;i<2;i++){
  for(int j=0;j<3;j++)
   cout<<hasil[i][j]<<" ";
   cout<<endl;
 }
}
void cetakv(int vektor[]){
 cout<<"vektor 3 elemen : \n";
 for(int i=0;i<3;i++){
  cout<<vektor[i]<<endl;
 }
}

void cetak(int hasil[]){
 cout<<"hasil matrik 2x3 dan vektor 3 elemen : \n";
 for(int i=0;i<2;i++){
  cout<<hasil[i]<<endl;
 }
}
void cetakb(int vek[]){
 cout<<"vektor 2 elemen : \n";
 for(int i=0;i<2;i++){
  cout<<vek[i]<<endl;
 }
}

void cetaka(int vek[2],int hasil[]){
 cout<<"hasil akhir : \n";
   for(int i=0;i<2;i++){
 hasil[i]=hasil[i]*vek[i];
 cout<<hasil[i]<<endl;
}
}
int main(int argc, char** argv) {
 int matrik[2][3]={1,3,2,4,5,7}, vektor[3]={4,2,3},vek[2]={1,3},hasil[2]={0};
 kali(matrik,vektor,hasil);
 cetakm(matrik);
 cetakv(vektor);
 cetak(hasil);
 cetakb(vek);
 cetaka(vek,hasil);
 return 0;

}
6. Eksekusi