SOAL
1. Buatlah algoritma dan program untuk mengalikan matriks dengan vektor. Vektor adalah
matriks berdimensi satu (bisa matriks baris maupun matriks kolom). Implementasikan
matriks dengan array berdimensi dua, dan vektor dengan menggunakan matriks
berdimensi satu.
a. Buat contoh matriks sembarang, misal berordo 2x2 :
b. Buat contoh vektor :
c. Kalikan matriks poin a dan vektor poin b elemen demi elemen. Jangan menuliskan hasil akhir saja, tapi tuliskan pula perkalian (dan penjumlahan) setiap elemen.
a. Buat contoh matriks sembarang, misal berordo 2x2 :
b. Buat contoh vektor :
c. Kalikan matriks poin a dan vektor poin b elemen demi elemen. Jangan menuliskan hasil akhir saja, tapi tuliskan pula perkalian (dan penjumlahan) setiap elemen.
d. Identifikasilah dan kelompokkan setiap langkah dengan variabel perulangan !
e. Tulis lengkap algoritma yang anda peroleh :
Penyelesaian masalah dengan Pengembangan Masalah :
1. Identifikasi masalah
" Program untuk mengalikan matriks dengan vektor."
2. Menentukan input dan output
input : A[maks][maks]
baris
kolom
n
z
output : m[baris]
m[z]
3. Membuat algoritma atau flowchart
Algoritma = "Program untuk mengalikan matriks dengan vektor"
Deklarasi = A[maks][maks] : integer
baris : integer
kolom : integer
n : integer
z : integer
m[baris] : integer
m[z] : integer
Deskripsi =
for when i=0 then i<baris write i=i+1
Penyelesaian masalah dengan Pengembangan Masalah :
1. Identifikasi masalah
" Program untuk mengalikan matriks dengan vektor."
2. Menentukan input dan output
input : A[maks][maks]
baris
kolom
n
z
output : m[baris]
m[z]
3. Membuat algoritma atau flowchart
Algoritma = "Program untuk mengalikan matriks dengan vektor"
Deklarasi = A[maks][maks] : integer
baris : integer
kolom : integer
n : integer
z : integer
m[baris] : integer
m[z] : integer
Deskripsi =
for when i=0 then i<baris write i=i+1
for when j=0 then j<kolomwrite j=j+1
write i,j
A[i][j]
end for
end for
for when i=0 then i<baris write i=i+1
for when j=0 then j<kolom write j=j+1
A[i][j]
end for
end for
for when z=0 then z<kolom write z=z+1
m[z]
end for
for when i=0 then i<baris write i=i+1
for when j=0 then j<kolom write j=j+1
for when z=0 then z<kolom write z=z+1
n=A[i][j]*m[z]
end for
end for
end for
4. Test menggunakan data
input matriks [2][3] = 1 2 3
4 5 6
vektor = 1 2 3
output
Perkalian matriks dan vektor adalah:
= 14
32
5. Implementasi dengan C++
#include <iostream>
#define maks 10
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int A[maks][maks], baris, kolom;
cout<<"input baris :"; cin>>baris;
cout<<"input kolom :"; cin>>kolom;
for(int i=0; i<baris; i++){
for(int j=0; j<kolom; j++){
cout<<"Masukan data ke ["<<i<<"] ["<<j<<"] : "; cin>>A[i][j];
}
}
cout<<"Isi Matriks A :\n";
for(int i=0; i<baris; i++){
for(int j=0; j<kolom; j++){
cout<<A[i][j]<<" ";
}
cout<<endl;
}
int m[baris],n;
cout<<"penghitungan vektor \n";
cout<<"berapa variabel : ";
cin>>m[kolom];
for(int z=0; z<kolom; z++){
cout<<"Masukan data ke ["<<z<<"] "" : "; cin>>m[z];
}
cout<<endl;
cout<<" vektor b : \n";
for(int z=0; z<kolom; z++){
cout<<m[z]<<"\n";
}
cout<<"perkalian matrik dan vektor \n";
for(int i=0; i<baris; i++){
for(int j=0; j<kolom; j++){
for(int z=0; z<kolom; z++){
n=A[i][j]*m[z];
cout<<n<<" ";
}
}
}
return 0;
}
6. Eksekusi
No 2-4 = Hayu Permatasari
No 5 = Agus Prasetyo
Sekian semoga bermanfaat!
Wassalamuallaikum wr. wb.
0 comments :
Post a Comment