twitter

Implemntasi Array satu dimensi banyak seklai contohnya salah satunya adalah di gunakan untuk menghitung penjumlahan dan perkalian antara skalar dan vektor. Sebelumnya kita harus mengetahui apa sih itu vektor dan sklalar.

Vektor dalam matematika atau fisika adalah suattu besaran yang mempunyai arah dan bergantung pada arah tersebut. Sedangkan Skalar adalah suatu besaran yang cukup dinyatakan dengan besaran saja.

Operasi Dalam Vektor :
  • Penjumlahan Vektor
    Pada penjumlahan vektor ini di tentukan oleh arah dan tanda dari suatu variabel. Misalnya A +  B (berarti arah vektor A dan B searah) atau A + (-B) (arah A dan B berlawanan).
  • Perkalian Vektor
    Sedangkan Perkalian dalam vektor di pengaruhi oleh besar skalar. Karena pada umumnya rumus pekaliiana vektor adalah B = k . A dimana k adalah skalar, A adalah vektor dan B adalah hasil perkalian vektor A dan skalar k.

Program Untuk Menjumlah dan Mengalikan Vektor dan Skalar.

  • Penjumlahan
    void vektor::penjumlahan_vektor(const vektor& a, const vektor& b){ // const disini adalah menyatakan besaran vektor a dan b
         if (a.banyak > b.banyak) banyak = a.banyak; // percabangan jika nilai a>b maka nilai banyak adalah nilai banyak itu sendiri.
         else banyak = b.banyak;
         for(int i=0;i<banyak;i++){
                 elemen[i] = a.elemen[i] + b.elemen[i]; // pemberian nilai pada array elemen[]
                 }
         }
        
  • Perkalian
    void vektor::perkalian_vektor(float k, const vektor& d){
         banyak = d.banyak; // penginialisasian nilai banyak
         for(int i=0;i<banyak;i++){
                 elemen[i]=k * d.elemen[i]; // pemberian nilai pada array elemen
                 }
         }
Program Lengkapnya adalah sebagai berikut :
#include <cstdlib>
#include <iostream>
#include <iomanip.h>
#include "dyas.h"

using namespace std;


class vektor{
      friend istream& operator>>(istream&, vektor&);
      friend ostream& operator<<(ostream&, vektor&);
     
      public:
             vektor();
             void penjumlahan_vektor(const vektor&, const vektor&);
             void perkalian_vektor(float, const vektor&);
             void nilai_banyak(int);
            
      private:
              int elemen[100];
              int banyak;
      };

vektor::vektor(){
                 banyak = 3;
                 for (int i=0;i<banyak;i++){
                     elemen[i]=0;
                     }
                 }
                
void vektor::nilai_banyak(int i){
     banyak = i;
     }
    
istream& operator>>(istream& in, vektor& mlebu){
         cout<<endl;
         cout<<"Banyak elemen : ";
         in>>mlebu.banyak;
         cout<<"masukkan data vektor"<<endl;
         for (int i=0;i<mlebu.banyak;i++){
             cout<<"data ["<<i+1<<"] : ";
             in>>mlebu.elemen[i];
             }
         return in;
         }
        
ostream& operator<<(ostream& out, vektor& metu){
         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){
     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];
             }
     }
    
void vektor::perkalian_vektor(float k, const vektor& d){
     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;
    cin>>x;
    cout<<x;
    cin>>y;
    cout<<y;
    z.penjumlahan_vektor(x,y);
    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;
}

Kamis, 16 Juni 2011 | 0 komentar | Label: