Kamis, 07 Juli 2011

Contoh program menghitung hari

#include<iostream>
#include<conio>

class hitung_hari{
friend istream& operator>>(istream&,hitung_hari&);
friend ostream& operator<<(ostream&,hitung_hari&);

public :
hitung_hari();
void hitung_dibulan();
void hitung_ditahun();

private :
int a,bulan,tahun,jum_hari;
int hari;

};

hitung_hari::hitung_hari(){
cout<<"menghitung jumlah hari dalam 1 bulan atau dalam 1 tahun"<<endl;
cout<<"pilihan : \n 1 menghitung hari dalam satu bulan \n 2 menghitung hari dalam satu tahun"<<endl;
cout<<endl;
}

istream& operator>>(istream& in,hitung_hari& masuk){
cout<<"masukkan pilihan anda : ";
in>>masuk.a;
if (masuk.a==1){
    cout<<"bulan ke- : ";
    in>>masuk.bulan;
    cout<<"tahun : ";
    in>>masuk.tahun;
    cout<<endl;
    void hitung_dibulan();
    }
else if (masuk.a==2){
   cout<<"tahun ke- : ";
   in>>masuk.tahun;
   cout<<endl;
   void hitung_ditahun();
    }
else cout<<"masukan salah!"<<endl;
return in;
}

void hitung_hari::hitung_dibulan(){
if(bulan==1 || bulan==3 || bulan==5 || bulan==7 || bulan==8 || bulan==10||bulan==12)jum_hari=31;
if(bulan==2 && tahun % 4==0)                                                        jum_hari=29;
if(bulan==2)                                                                                         jum_hari=28;
if(bulan==4 || bulan==6 || bulan==9 || bulan==11)                                                jum_hari=30;
}

void hitung_hari::hitung_ditahun(){
if(tahun%4==0) jum_hari=366;
else jum_hari=365;
cout<<endl;
}

ostream& operator<<(ostream& out,hitung_hari& keluar){
out<<"jumlah = "<<keluar.jum_hari<<" hari"<<endl;
return out;
}

void main(){
hitung_hari x;
cin>>x;
x.hitung_dibulan();
x.hitung_ditahun();
cout<<x;
getch();
}

program membalik 4 digit angka

#include <cstdlib>
#include <iostream>

using namespace std;
class balik{
      friend istream& operator>>(istream&, balik&);
      friend ostream& operator<<(ostream&, balik&);
     
      public:
             balik();
             void proses();
            
      private:
              int nilai;
              int a,b,c,d,e,f;
      };
     
balik::balik(){
        cout<<"membalik nilai 4 digit\n\n";
        }
       
istream& operator>>(istream& in, balik& mlebu){
         cout<<"masukkan nilai  : ";
         in>>mlebu.nilai;
         return in;
         }
        
ostream& operator<<(ostream& out, balik& metu){
         if(metu.nilai>9999 || metu.nilai<=999) {
                   out<<"range nilai salah"<<endl;
                   return out;
                   }
         else {
         out<<"setelah dibalik : "<<metu.f<<metu.e<<metu.c<<metu.a<<endl<<endl;
         return out;
         }
         }
        
void balik::proses(){
     a = nilai / 1000;
     b = nilai % 1000;
     c = b / 100;
     d = b % 100;
     e = d / 10;
     f = d % 10;
     
     }
int main(int argc, char *argv[])
{
    balik njo;
    cin>>njo;
    njo.proses();
    cout<<njo;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

program mencari volume bola

#include <cstdlib>
#include <iostream>


using namespace std;

class livobo {
      friend ostream&operator<<(ostream&, livobo&);
      friend istream&operator>>(istream&, livobo&);
public:
       livobo();
       void li_vobo(){
            pi=3.14;
            volum =(4/3)*pi*r*r*r;
            luas=pi*r*r;}
private:
        int r;
        float luas, volum;
        double pi;
        };
livobo::livobo(){
                 cout<<"Program menghitung luas lingkaran dan volume bola dengan 1 masukkan\n";
                 }
istream& operator>>(istream& in, livobo& masukan){
         cout<<"Masukkan r (jari-jari) = ";
         in>>masukan.r;
         return in;}
ostream& operator<<(ostream& out, livobo& keluaran){
         out<<"luas lingkaran = "<<keluaran.luas<<endl;
         out<<"volume bola = "<<keluaran.volum<<endl;
         return out;}
int main(int argc, char *argv[])
{
    livobo x;
    cin>>x;
    x.li_vobo();
    cout<<x;
    system("PAUSE");
    return EXIT_SUCCESS;
}

program nilai max dan min

#include <iostream.h>
int main(){
  int a,maks,min;
  int c[100];

  maks=-100;
  min=100;
  cout<<"masukkan banyak data yang mau dimasukkan:";
  cin>>a;
  for (int t=0; t<a; t++){
      cout<<"data ke-"<<t+1<<":";
      cin>>c[t];
      }
  cout<<endl;
  cout<<"menampilkan data inputan"<<endl;
        for(int x=0; x<a; x++){
  cout<<"data ke-"<<x+1<<":"<<c[x]<<endl;
       if (c[x]>maks){
            maks=c[x];
            }
       if (c[x]<min){
            min=c[x];
            }
       }
       cout<<"nilai maksimal :"<<maks<<endl;
       cout<<"nilai minimal :"<<min<<endl;

  cin>>a;
        return 0;
}

Program menghitung luas dan volume

#include <cstdlib>
#include <iostream>

using namespace std;

class njo{
      friend istream& operator>>(istream&, njo&);
      friend ostream& operator<<(ostream&, njo&);
     
      public:
             njo();
             void luas_lingkaran(){
                  phi=3.14;
                  luas=phi*r*r;};
             void volume_bola(){
                  phi=3.14;
                  volume=(3*phi*r*r*r)/4;};
            
      private:
              float r;
              float phi;
              float luas;
              float volume;
      };
     
njo::njo(){
             cout<<"menghitung luas lingkaran dan volume dengan inputan jari - jari\n"<<endl;
             }
            
istream& operator>>(istream& in, njo& masuk){
         cout<<"masukkan nilai jari - jari : ";
         in>>masuk.r;
         return in;
         }
        
ostream& operator<<(ostream& out, njo& metu){
         out<<"luas lingkaran = "<<keluar.luas<<endl;
         out<<"volume bola    = "<<keluar.volume<<endl;
         return out;
         }
     

int main(int argc, char *argv[])
{
    njo shinjo;
    cin>>shinjo;
    shinjo.luas_lingkaran();
    shinjo.volume_bola();
    cout<<shinjo;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Program menghitung faktor prima

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

using namespace std;

class faktor_prima{
      /*friend istream& operator>>(istream&, faktor_prima&);
      friend ostream& operator<<(ostream&, faktor_prima&);*/
     
      public:
             faktor_prima();
             void masuk();
             void beri_nilai();
             void hitung();
             void keluar();
            
      private:
              int n;
              int r;
              int q;
              int i;
              double a;
              //int d[100];
              int f[100];
              int prime;
     
      };
     
faktor_prima::faktor_prima(){
       cout<<"Menghitung faktor prima dari bilangan bulat\n\n";
                             }
                            
/*istream& operator>>(istream& in, faktor_prima& masuk){
         cout<<"Masukkan bilangan bulat positif : ";
         in>>masuk.n;
         return in;
         }
        
ostream& operator<<(ostream& out, faktor_prima keluar){
         out<<"faktor prima dari "<<keluar.n<<" : ";
         for(int x=1;x<=i;x++){
                 out<<f[i]<<" , ";
                 return out;
                 }
         return out;
         }*/
        
void faktor_prima::masuk(){
     cout<<"Masukkan bilangan bulat positif : ";
     cin>>n;
     cout<<endl;
     }

void faktor_prima::beri_nilai(){
     i = 0;
     prime = 2;
     }
        
void faktor_prima::hitung(){
     a = sqrt(n);
     q = n / prime;
     r = n % prime;
    
     while (r = 0 || q > prime){
             if(r = 0){
                  i = i + 1;
                  f[i] = prime;
                  n = q;
                  }
             else {
                  q = n / prime;
                  r = n % prime;
                  }
                  };
    
            
     if(n > 1){
          i = i + 1;
          f[i] = n;
          }
         
     }
    
void faktor_prima::keluar(){
     cout<<"faktor prima dari "<<n<<" : ";
         for(int x=1;x<=i;x++){
                 cout<<"("<<f[x]<<") ";
                 }
     cout<<endl<<endl;
     }    
     
int main(int argc, char *argv[])
{
    faktor_prima dyas;
   
    peni.masuk();
    peni.beri_nilai();
    peni.hitung();
    peni.keluar();
   
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Contoh program perkalian rekursif

#include <cstdlib>
#include <iostream>

using namespace std;

int kali(int a, int b){
    if(b==1) return a;
    else return (a+kali(a,(b-1)));
    }

int main(int argc, char *argv[])
{
    int a,b;
    suit:
    cout<<"nilai a : ";
    cin>>a;
    cout<<"nilai b : ";
    cin>>b;
    cout<<"hasil   : "<<kali(a,b);
    cout<<endl<<endl;
    goto suit;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

program menghitung rata-rata

#include<iostream>
#include<conio>

class rata{
public:
rata();
void masuk();
void proses();
void keluar();

private:
int n;
float x;
float min, max;
float rata_rata, jumlah;
};

rata::rata(){
cout<<"menghitung nilai max, min, jumlah, rata-rata untuk bilangan lebih besar dari 0"<<endl;
cout<<"untuk mengakhiri maasukkan nilai 0 atau bilangan negatif\n"<<endl;
}

void rata::masuk(){
n=1;
jumlah=0;
cout<<"bilangan ke-1 : ";
cin>>x;

while (x>0){

   jumlah+=x;
    cout<<"bilangan ke-"<<n+1<<" : ";
    cin>>x;
   min=x;
   if(x<min)min=x;
   max=x;
   if(max>x)max=x;
    n++;

   }
}

void rata::proses(){
rata_rata=0;
rata_rata=jumlah/(n-1);
}

void rata::keluar(){
cout<<endl;
cout<<"nilai minimum : "<<min<<endl;
cout<<"nilai maximum : "<<max<<endl;
cout<<"jumlah        : "<<jumlah<<endl;
cout<<"rata - rata   : "<<rata_rata<<endl;
}

void main(){
rata peni;
peni.masuk();
peni.proses();
peni.keluar();
getch();
}

program tahun kabisat

#include <cstdlib>
#include <iostream>

using namespace std;

class kabisat{
      friend istream& operator>>(istream&, kabisat&);
      friend ostream& operator<<(ostream&, kabisat&);
     
      public:
      kabisat();
      void proses();
     
      private:
      int x;
      string tulis;       
      };
     
kabisat::kabisat(){
                   cout<<"menentukan tahun kabisat\n"<<endl;
                   }
                  
istream& operator>>(istream& in, kabisat& masuk){
         cout<<"masukkan tahun : ";
         in>>masuk.x;
         return in;
         }
        
ostream& operator<<(ostream& out, kabisat& keluar){
         out<<keluar.x<<" "<<keluar.tulis<<endl<<endl;
         return out;
         }
        
void kabisat::proses(){
         if(x==0) tulis = "awal tahun masehi";
         else if (x>0 && x % 4 == 0) tulis = "tahun kabisat setelah masehi";
         else if (x<0 && x % 4 == 0) tulis = "tahun kabisat sebelum masehi";
         else if (x>0) tulis = "bukan tahun kabisat setelah masehi";
         else tulis = "bukan tahun kabisat sebelum masehi";
         }

int main(int argc, char *argv[])
{
   
    kabisat peni;
    cin>>peni;
    peni.proses();
    cout<<peni;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

sorting by diminishing increment

#include <cstdlib>
#include <iostream>

using namespace std;

class sorting{
      friend istream& operator>>(istream&, sorting&);
      friend ostream& operator<<(ostream&, sorting&);
     
      public:
             sorting();
             void diminishing_increment();
            
      private:
              int inc;
              int current;
              int previous;
              int data[100];
              int k,x,n;
              int inserted;
      };
     
istream& operator>>(istream& in, sorting& a){
         cout<<"Banyak data : ";
         in>>a.n;
         for(int i=1;i<=a.n;i++){
                 cout<<"Data ke-"<<(i+1)<<" : ";
                 in>>a.data[i];
                 }
         cout<<"\n\nData sebelum diurutkan :"<<endl;
         for(int i=1;i<=a.n;i++){
                 cout<<a.data[i]<<" ";
                 }
         cout<<"\n\n";
         return in;
         }

ostream& operator<<(ostream& out, sorting& b){
         out<<"\n\nData setelah diurutkan :"<<endl;
         for(int i=1;i<=b.n;i++){
                 out<<b.data[i]<<" ";
                 }
         out<<"\n\n";
         return out;
         }

sorting::sorting(){
                   cout<<"Sorting by Diminishing Increment"<<"\n\n";
                   }

void sorting::diminishing_increment(){
     inc = n;
     while(inc>1){
                  inc = inc /2;
                  for(int i=1;i<=inc;i++){
                          k = i + inc;
                          while(k<=n){
                                      inserted = 0;
                                      x = data[k];
                                      current = k;
                                      previous = current - inc;
                                      while((previous>=i)&&(inserted == 0)){
                                                               if(x<data[previous]){
                                                                                    data[current]=data[previous];
                                                                                    current=previous;
                                                                                    previous=previous-inc;
                                                                                    }
                                                               else inserted = 1;
                                                               }
                                      data[current]=x;
                                      k = k + inc;
                                      }
                          }
                  }
     }

int main(int argc, char *argv[])
{
    sorting peni;
    cin>>peni;
    peni.diminishing_increment();
    cout<<dyas;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Contoh program membalik Array

#include <cstdlib>
#include <iostream>

using namespace std;
class array{
      public:
             array();
             void masuk();
             void proses();
             void keluar();
            
      private:
              int t;
              int i;
              int x;
              int r;
              int a[100];
};


array::array(){
               cout<<"Membalik nilai didalam elemen array\n\n";
               }
              
void array::masuk(){
     cout<<"Banyak elemen : ";
     cin>>x;
     for(i=0;i<x;i++){
                      cout<<"data ke-"<<(i+1)<<" : ";
                      cin>>a[i];
                      }
     cout<<endl<<endl;
     cout<<"Data sebelum dibalik : ";
     for(i=0;i<x;i++){
                      cout<<a[i]<<" ";
                      }
     }
    
void array::proses(){
     r = x / 2;
     for(i=0;i<r;i++){
                      t = a[i];
                      a[i] = a[x-i-1];
                      a[x-i-1] = t;
                      }
     }
        
void array::keluar(){
     cout<<endl<<endl;
     cout<<"Data setelah dibalik : ";
     for(i=0;i<x;i++){
                      cout<<a[i]<<" ";
                      }
     cout<<endl<<endl;
     }

int main(int argc, char *argv[])
{
    array peni;
    peni.masuk();
    peni.proses();
   peni.keluar();
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Contoh program menghitung hari

#include<iostream>
#include<conio>

class hitung_hari{
friend istream& operator>>(istream&,hitung_hari&);
friend ostream& operator<<(ostream&,hitung_hari&);

public :
hitung_hari();
void hitung_dibulan();
void hitung_ditahun();

private :
int a,bulan,tahun,jum_hari;
int hari;

};

hitung_hari::hitung_hari(){
cout<<"menghitung jumlah hari dalam 1 bulan atau dalam 1 tahun"<<endl;
cout<<"pilihan : \n 1 menghitung hari dalam satu bulan \n 2 menghitung hari dalam satu tahun"<<endl;
cout<<endl;
}

istream& operator>>(istream& in,hitung_hari& masuk){
cout<<"masukkan pilihan anda : ";
in>>masuk.a;
if (masuk.a==1){
    cout<<"bulan ke- : ";
    in>>masuk.bulan;
    cout<<"tahun : ";
    in>>masuk.tahun;
    cout<<endl;
    void hitung_dibulan();
    }
else if (masuk.a==2){
   cout<<"tahun ke- : ";
   in>>masuk.tahun;
   cout<<endl;
   void hitung_ditahun();
    }
else cout<<"masukan salah!"<<endl;
return in;
}

void hitung_hari::hitung_dibulan(){
if(bulan==1 || bulan==3 || bulan==5 || bulan==7 || bulan==8 || bulan==10||bulan==12)jum_hari=31;
if(bulan==2 && tahun % 4==0)                                                        jum_hari=29;
if(bulan==2)                                                                                         jum_hari=28;
if(bulan==4 || bulan==6 || bulan==9 || bulan==11)                                                jum_hari=30;
}

void hitung_hari::hitung_ditahun(){
if(tahun%4==0) jum_hari=366;
else jum_hari=365;
cout<<endl;
}

ostream& operator<<(ostream& out,hitung_hari& keluar){
out<<"jumlah = "<<keluar.jum_hari<<" hari"<<endl;
return out;
}

void main(){
hitung_hari x;
cin>>x;
x.hitung_dibulan();
x.hitung_ditahun();
cout<<x;
getch();
}

Contoh program bilangan prima

#include
#include

using namespace std;

class prima{
friend istream& operator>>(istream&, prima&);

public:
prima();
void proses();

private:
int x, a;
};

prima::prima(){
cout<<"menentukan bilangan prima dari sebuah inputan\n"<>(istream& in, prima& masuk){
cout<<"masukkan bilangan : "; in>>masuk.x;
return in;
}

void prima::proses(){
a=0;
for(int i=1; i<=x; i++) { if(x%i==0) a++; } if(a==2) cout<<<" adalah bilangan prima\n"<<<<" bukan bilangan prima\n"<>peni;
peni.proses();

system("PAUSE");
return EXIT_SUCCESS;
}