Perkalian Vektor dan matriks
Analisis Masalah :
Matrik terdiri dari ordo 2x3 dikalikan vektor terdiri dari 3 dan kemudian hasilnya
dikalikan dengan Vektor yang terdiri dari 2 elemen.
pertama kita masukan angka dalam array yg kita buat untuk di kalikan matrik dan vektor.
seperti foto di bawah ini :
Sesuai
dengan kaidah 6 langkah,maka langkah pertama yang harus kita lakukan adalah:
1. Identifikasi Masalah
=> Mengalikan Vektor (2 elemen) dengan Matriks berukuran 2x3 dan Vektor (3 elemen)
2. Menentukan input dan output
Input :
matrix [2] [3] = {1,2,3,3,2,1}
vektor [3] = {2,3,4}
vek [2] = {2,1}
Output :
Hasil perkalian matrix 2x3 dan vektor 3 elemen :
20
16
Hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3
dan vektor(elemen 3) :
40
16
3. Membuat Flowchart atau Algoritma:
Algoritma Perkalian_Matrix
{ Menghitung hasil perkalian vektor(elemen 2) dengan
matrix elemen 2x3 dan vektor(elemen 3)}
Deklarasi :
matrix [2] [3] = {2,3,1,1,4,3}
: integer
vektor [3] = {3,2,1}
: integer
vek [2] = {2,3}
: integer
hasil [2] ={0}
: integer
Deskripsi :
Write('Matrik elemen 2x3 : \n')
for i ß 0 to 2 do then i++
for j ß 0 to 3 then j++
hasil[i] ß hasil[i]+(matrix[i][j]*vektor[j]);
end for
end for
for i ß 0 to 2 do then i++
for j ß 0 to 3 then j++ then
write(hasil[i][j])
end for
end for
write(‘Vektor 3 elemen: \n’)
for j ß 0 to 3 then j++ then
write(vektor[i])
end for
write(‘Vektor 2 elemen : \n’)
for i ß 0 to 2 then i++ then
write(vek[i])
end for
write(‘Hasil perkalian matrix 2x3 dan vektor 3 elemen : \n’)
for i ß 0 to 2 then i++
write(hasil[i])
end for
write(‘Hasil perkalian vektor(elemen 2) dengan matrix elemen
2x3 dan vektor(elemen 3) : \n’)
for i ß 0 to 2 then i++
hasil[i] ßhasil[i]*vek[i];
write(hasil[i])
4. Test Menggunakan data
Input :
vek [2] | 2 |
| 3 |
matrix [2] [3]:
| 2 3 1|
| 1 4 3|
vektor [3] :
| 3 |
| 2 |
| 1 |
Output :
Hasil perkalian matrix 2x3 dan vektor 3 elemen :
13
14
Kemudian hasilnya dikalikan dengan asil perkalian
vektor(elemen 2) ,
Hasil akhirnya adalah :
26
42
5. Implementasi c++ ::
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void perkalian(int matrix[2][3],int vektor[3],int hasil[2]){
cout<<"Matrik elemen 2x3 : \n";
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)
hasil[i]=hasil[i]+(matrix[i][j]*vektor[j]);
}
}
void cetakmatrix(int hasil[][3]){
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)
cout<<hasil[i][j]<<" ";
cout<<endl;
}
}
void cetakvektor(int vektor[]){
cout<<"Vektor 3 elemen: \n";
for(int i=0;i<3;i++){
cout<<vektor[i]<<endl;
}
}
void cetakb(int vek[]){
cout<<"Vektor 2 elemen : \n";
for(int i=0;i<2;i++){
cout<<vek[i]<<endl;
}
}
void cetak(int hasil[]){
cout<<"Hasil perkalian matrix 2x3 dan vektor 3 elemen : \n";
for(int i=0;i<2;i++){
cout<<hasil[i]<<endl;
}
}
void cetaka(int vek[2],int hasil[]){
cout<<"Hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3) : \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 matrix[2][3]={2,3,1,1,4,3}, vektor[3]={3,2,1},vek[2]={2,3},hasil[2]={0};
perkalian(matrix,vektor,hasil);
cetakmatrix(matrix);
cetakvektor(vektor);
cetak(hasil);
cetakb(vek);
cetaka(vek,hasil);
return 0;
}
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void perkalian(int matrix[2][3],int vektor[3],int hasil[2]){
cout<<"Matrik elemen 2x3 : \n";
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)
hasil[i]=hasil[i]+(matrix[i][j]*vektor[j]);
}
}
void cetakmatrix(int hasil[][3]){
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)
cout<<hasil[i][j]<<" ";
cout<<endl;
}
}
void cetakvektor(int vektor[]){
cout<<"Vektor 3 elemen: \n";
for(int i=0;i<3;i++){
cout<<vektor[i]<<endl;
}
}
void cetakb(int vek[]){
cout<<"Vektor 2 elemen : \n";
for(int i=0;i<2;i++){
cout<<vek[i]<<endl;
}
}
void cetak(int hasil[]){
cout<<"Hasil perkalian matrix 2x3 dan vektor 3 elemen : \n";
for(int i=0;i<2;i++){
cout<<hasil[i]<<endl;
}
}
void cetaka(int vek[2],int hasil[]){
cout<<"Hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3) : \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 matrix[2][3]={2,3,1,1,4,3}, vektor[3]={3,2,1},vek[2]={2,3},hasil[2]={0};
perkalian(matrix,vektor,hasil);
cetakmatrix(matrix);
cetakvektor(vektor);
cetak(hasil);
cetakb(vek);
cetaka(vek,hasil);
return 0;
}
6. Execusi :