Tugas alpro minggu ke-10
Identifikasi masalah :
Identifikasi masalah :
Bagaimana cara mengalikan matriks dengan ordo 2x3 dengan
vektor baris yang mempunyai record 2 buah elemen dan vektor kolom yang
mempunyai record 3 buah elemen.
Analisis input dan output dengan contoh soal :
Analisis input dan output dengan contoh soal :
Contoh soal, di berikan matriks dengan ordo 2x3 dengan
elemen sebagai berikut :
A : | 2 1 3 |
| 1 3 2 |
Dan 2 buah vektor yaitu vektor baris dan vektor kolom dengan
data sebagai berikut :
Baris : | 3 2 |
Kolom : | 2 |
| 1 |
| 3 |
Pertanyaannya bagaimana cara mengalikan matriks a dengan
vektor baris dan juga vektor kolom ?
Analisis :
Hasil kali vektor baris dengan matriks :
Hasil = (a11 x b11 +
a21 x b12) (a12 x b11 + a22 x b12) (a13 x b11 + a23 x b12)
Hasil kali vektor kolom dengan matriks :
Hasil = (a11 x b11 +
a12 x b21 + a13 x b31)
Penyusunan algoritma :
Procedure baris(a,b,vekb), kolom(a,k,vekk);
Deklarasi :
a[2][3], b[2], k[3], vekb[3], vekk[2];
Deskripsi :
Deskripsi :
Vektor baris :
for(int j=0;j<3;j++){
for(int j=0;j<3;j++){
for(int i=0;i<2;i++)
vekb[j]=vekb[j]+(a[i][j]*b[i]);}
Vektor kolom :
for(int i=0;i<2;i++){
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)
vekk[i]=vekk[i]+(a[i][j]*k[j]);}
Implementasi kedalam program c++ :
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
void matrik(int a[2][3])
{
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
cout<<" "<<a[i][j]<<" ";
}
cout<<endl;
}
}
void baris(int a[2][3], int b[2], int vekb[3])
{
for(int j=0;j<3;j++)
{
for(int i=0;i<2;i++)
vekb[j]=vekb[j]+(a[i][j]*b[i]);
}
}
void kolom(int a[2][3], int k[3], int vekk[2])
{
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
vekk[i]=vekk[i]+(a[i][j]*k[j]);
}
}
void vektorb(int b[2])
{
for(int i=0;i<2;i++)
{
cout<<" "<<b[i];
}
cout<<endl;
}
void vektork(int k[3])
{
for(int i=0;i<3;i++)
{
cout<<" "<<k[i]<<endl;
}
}
void cetak(int vekk[])
{
for(int i=0;i<3;i++)
{
cout<<" "<<vekk[i];
}
cout<<endl;
}
void tulis(int vekb[])
{
for(int i=0;i<2;i++)
{
cout<<" "<<vekb[i]<<endl;
}
}
int main(int argc, char** argv)
{
int a[2][3]={2,1,3,1,3,2}, b[2]={3,2}, k[3]={2,1,3};
int vekb[3]={0}, vekk[2]={0};
baris(a,b,vekb);
kolom(a,k,vekk);
cout<<"Matrik ordo 2x3 : "<<endl;
matrik(a);
cout<<"Vektor baris : "<<endl;
vektorb(b);
cout<<"Vektor kolom : "<<endl;
vektork(k);
cout<<"Hasil kali vektor baris : "<<endl;
cetak(vekb);
cout<<"Hasil kali vektor kolom : "<<endl;
tulis(vekk);
return 0;
}
Melakukan uji coba data :
Melakukan uji coba data :
Semoga bermanfaat terimkasih.
Emoticon Emoticon