Penjumlahan & Perkalian 2 buah Vektor

Vektor dalam matematika adalah salah satu cabang ilmu yang mempelajari analisis riil dari vektor dalam dua atau lebih dimensi. Cabang ilmu ini sangat berguna bagi para insinyur dan fisikawan dalam menyelasikan masalah karena mengandung teknik-teknik dalam menyelesaikan masalah yang berkaitan dengan vektor.

Pernjumlahan vektor adalah operasi penjumlahan dengan dua operand (obyek yang dijumlahkan) berupa vektor.

Perkalian vektor adalah operasi perkalian dengan dua operand (obyek yang dikalikan) berupa vektor. Terdapat tiga macam perkalian vektor, yaitu perkalian titik (dot product), perkalian silang (cross product) dan perkalian langsung (direct product).

Program Penjumlahan & Perkalian 2 Vektor

#include <cstdlib>
#include <iostream>
#include <iomanip.h>

using namespace std;
// Pendeklarasian class
class vektor{ // Pendeklarasian fungsi input & output
      friend istream& operator>>(istream&, vektor&);
      friend ostream& operator<<(ostream&, vektor&);

      public: // pendeklarasian fungsi
             vektor();
             void penjumlahan_vektor(const vektor&, const vektor&);
             void perkalian_vektor(float, const vektor&);
             void nilai_banyak(int);

      private:// Pendeklarasian variabel
              int elemen[100];
              int banyak;
      };

vektor::vektor(){ // pendeskrepsian fungsi
                 banyak = 3;
                 for (int i=0;i<banyak;i++){
                     elemen[i]=0;
                     }
                 }

void vektor::nilai_banyak(int i){ // pendeklarasian fungsi
     banyak = i;
     }

istream& operator>>(istream& in, vektor& mlebu){ // pendeskripsian fungsi
         cout<<endl;
         cout<<"Banyak elemen : ";
         in>>mlebu.banyak;
         cout<<"masukkan data vektor"<<endl;
         for (int i=0;i<mlebu.banyak;i++){ //perulangan sebanyak var banyak
             cout<<"data ["<<i+1<<"] : ";
             in>>mlebu.elemen[i];
             }
         return in;
         }

ostream& operator<<(ostream& out, vektor& metu){ //pendeskripsian fungsi
         out<<endl;
         for(int i=0;i<metu.banyak;i++){
                 out<<"s["<<i+1<<"] : "<<setw(5)<<metu.elemen[i]<<endl;
                 }
         return out;
         }
void vektor::penjumlahan_vektor(const vektor& a, const vektor& b){ //pendeskripsian fungsi
     if (a.banyak > b.banyak) banyak = a.banyak;
     else banyak = b.banyak;
     for(int i=0;i<banyak;i++){
             elemen[i] = a.elemen[i] + b.elemen[i]; // pemberian nilai elemen pada indeks i
             }
     }

void vektor::perkalian_vektor(float k, const vektor& d){ // pendeskripisian fungsi
     banyak = d.banyak;
     for(int i=0;i<banyak;i++){
             elemen[i]=k * d.elemen[i];
             }
     }

int main(int argc, char *argv[])
{
    vektor x, y, z; //pendeklrasiann var dari class vektor
    cin>>x;
    cout<<x;
    cin>>y;
    cout<<y;
    z.penjumlahan_vektor(x,y); //pemanggilan fungsi
    cout<<endl;
    cout<<"hasil penjumlahan 2 vektor : "<<z;
    z.perkalian_vektor(3,x);
    cout<<endl;
    cout<<"hasil perkalian skalar 3 dengan vektor x : "<<z;
    cout<<endl;

    system("PAUSE");
    return EXIT_SUCCESS;
}

Hasil Running Program :

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: