Sabtu, 16 April 2011

RATA-RATA

Algoritma mencari rata-rata
{diberikan n data kemudian dicari rata-ratanya}
Deklarasi
i, n, jumlah, x : integer
rata : real
Deskripsi
read(n)
jumlah = 0
for i = 1 to n do
read(x)
jumlah = jumlah + x
endfor
rata = jumlah/n
write(rata)


Listing
#include <iostream>
#include <conio.h>
#include <cstdlib>

using namespace std;
class Rata{
     friend istream& operator>>(istream&, Rata&);
     friend ostream& operator<<(ostream&, Rata&);
public :
float hitung_rata();
private :
int n;
int data;
};
istream& operator>>(istream& in, Rata& A){
cout<<"BANYAK DATA           : ";
in>>A.n;
return in;
}

float Rata::hitung_rata(){
int jumlah = 0;
float rata;
for(int i = 1; i<=n; i++){
cout<<"\ndata ke- "<<i<<" : ";
cin>>data;
jumlah = jumlah + data;
}
rata = (float)jumlah/n;
return rata;
}
ostream& operator<<(ostream&, Rata&A){
cout << "\nRATA-RATA  : " << A.hitung_rata();
return cout;
}

int main(){
Rata x;
cin>>x;
cout<<x;
getch();
}


JUMLAH DERET

Algoritma jumlah deret
Deklarasi
n, jumlah, x : integer
Deskripsi
jumlah = 0
i = 0
repeat
jumlah = jumlah+(1/i)
i = i+1
selisih = (1/i)-(1/(i-1))
until abs (selisih)<0.001
write(jumlah, i)


Listing
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <math.h>
using namespace std;
class Deret{
      friend ostream& operator<<(ostream&, Deret&);

public:
       float hitung_Deret();
private:
        int n;
        float hasil;
        };

float Deret::hitung_Deret(){
      float selisih, jumlah = 0.0;
      int i = 1;
      do{
           jumlah += 1.0/i;
           i++;
           selisih = 1.0/(i-1)-1.0/i;}
           while(selisih>=0.001);
           cout<<" PERULANGAN DILAKUKAN SEBANYAK : "<<i<<endl;
           return jumlah;
           }
     
      ostream& operator<<(ostream& out, Deret& A){
               out<<" JUMLAH DERET = "<<A.hitung_Deret();
               return out;
               }
     
int main(){
    Deret x;
    cout<<x;
    getch();
    return 0;
}



Selasa, 12 April 2011

MENCARI BILANGAN TERBESAR DARI 2 BILANGAN

Algoritma Mencari Bilangan Terbesar Dari 2 Bilangan
{mencari bilangan terbesar dari 2 bilangan dan mencetak hasilnya}
Deklarasi
a, b : integer
bilangan : temp
Deskripsi
int main()
cout<<"MENCARI BILANGAN TERBESAR \n"
bilangan a
cin>>a
a.bil()
cout<<a


Listing
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;
class bilangan{
      friend istream& operator>>(istream&, bilangan&);
      friend ostream& operator<<(ostream&, const bilangan&);
      public:
             void bil();
      private:
              int a[2];
              int b,temp;
            
      };
     
      void bilangan::bil(){
       if(a[0]<a[1]){
       a[0]=temp;
       a[0]=a[1];
       a[1]=temp;
              }   
              }
     
      istream& operator>>(istream& in, bilangan& masuk){
       cout<<"\nInputkan 2 Bilangan      :\n";
       in>>masuk.a[0];
       in>>masuk.a[1]; 
       return in;
               }
              
      ostream& operator<<(ostream& out, const bilangan& keluar){
      out<<"\nTERBESAR                 : "<<keluar.a[0]<<endl;
      return out;
               }
              
int main(int argc, char *argv[])
{
    cout<<"MENCARI BILANGAN TERBESAR \n";
    bilangan a;
    cin>>a;
    a.bil();
    cout<<a;
    getch();
    system("PAUSE");
    return EXIT_SUCCESS;
}


VEKTOR

Algoritma Vektor
{menjumlahkan 2 buah vektor}
Deklarasi
elemen[100] banyak : integer
vektor : class
Deskripsi
int main()
    Vektor X,Y,Z
    cin >> X
    cout <<X
    cin >> Y
    cout <<Y
    Z.perkalian_vektor(X,Y)
    cout << "\n Hasil : \n" << Z



Listing
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;
class Vektor{
      friend ostream& operator<<(ostream&, Vektor&);
      friend istream& operator>>(istream&, Vektor&);
public:
       Vektor();
       void perkalian_vektor(const Vektor&, const Vektor&);
       void beri_nilai(int);
private:
        int elemen[100];
        int banyak;
};
Vektor::Vektor(){
                 banyak=3;
                 for(int i=0; i<banyak; i++)
                 elemen[i]=0;
}
void Vektor::beri_nilai(int i){
     banyak=i;
}
istream& operator>>(istream& in, Vektor& x){
         cout << "PROGRAM PENJUMLAHAN DUA BUAH VEKTOR \n";
         cout << "\nBanyak elemen : ";
         in >> x.banyak;
         cout << "Masukan data vektor : \n";
         for(int i=0; i<x.banyak; i++){
                 cout << "Data [" << i+1 << "] : ";
                 in >> x.elemen[i];
                 }
         return(in);
}
ostream& operator<<(ostream& out, Vektor& x){
         out << endl;
         for(int i=0; i<x.banyak; i++)
         out << "Data [" << i+1 << "] = " <<  x.elemen[i] << endl;
         return(out);
}
void Vektor::perkalian_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];
}

int main(int argc, char *argv[])
{
    Vektor X,Y,Z;
    cin >> X;
    cout <<X;
    cin >> Y;
    cout <<Y;
    Z.perkalian_vektor(X,Y);
    cout << "\n Hasil : \n" << Z;
    getch();
    system("PAUSE");
    return EXIT_SUCCESS;
}