Thursday, May 26, 2016

DIKTAT BAB 9

Assalamuallaikum wr. wb.

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.
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
         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