Sunday 10 April 2011

tugas blog pertemuan 5(subprogram)

1.mencari bilangan terbesar dari 3 bilangan bulat

#include <cstdlib>
#include <iostream>

using namespace std;
class Banding{
      friend istream& operator>>(istream&,Banding&);
      public:
             Banding(){};
             void bandingkan(){
                   int maks=x;
                   if(y>maks)maks=y;
                   if(z>maks)maks=z;
                   cout<<"bilangan terbesar:"<<maks;
                   }
                   private:
                           int x,y,z;
                           };
                           istream& operator>>(istream& in,Banding& bilangan){
                                    cout<<"bilangan pertama=";
                                    in>>bilangan.x;
                                    cout<<"bilangan kedua=";
                                    in>>bilangan.y;
                                    cout<<"bilangan ketiga=";
                                    cin>>bilangan.z;
                                    return in;
                                    };
                                   
int main(int argc, char *argv[])

{
    Banding bilangan;
    cin>>bilangan;
    bilangan.bandingkan();
   
        system("PAUSE");
    return EXIT_SUCCESS;
}
2.fungsi menukar nilai a ke b dan b ke a
#include <cstdlib>
#include <iostream>

using namespace std;
void tukar(int *a,int *b)
{ int temp;
temp=*a;
*a=*b;
*b=temp;
}

int main(int argc, char *argv[])
{
    int a=3,b=5;
    cout<<"sebelum tukar\n";
    cout<<"isi nilai1="<<a<<endl;
    cout<<"isi nilai2="<<b<<endl;
    tukar(&a,&b);
    cout<<"sesudah tukar\n";
    cout<<"isi nilai1="<<a<<endl;
    cout<<"isi nilai2="<<b<<endl;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

3.fungsi mengembalikan nilai
#include <cstdlib>
#include <iostream>

using namespace std;
int tambah5(int x)
{
    return(x+5);
}

int main(int argc, char *argv[])
{
    int x,y;
    cout<<"masukan harga x:";cin>>x;
    y=tambah5(x);
    cout<<"setelah masuk fungsi bernilai:"<<y;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
4.fungsi tak mengembalikan nilai

#include <cstdlib>
#include <iostream>

using namespace std;
void cetak(int n)
{
     int i;
     for(i=1;i<=n;i++)
     cout<<"harga n="<<i<<endl;
     }
int main(int argc, char *argv[])
{
    int n;
    cout<<"masukan harga n:";cin>>n;
    cetak(n);
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
5.fibonacci

#include <cstdlib>
#include <iostream>

using namespace std;
int fibonacci (int n){
    if((n==1)||(n==2))return(1);
    else return(fibonacci(n-1)+fibonacci(n-2));
}

int main(int argc, char *argv[])
{
    int i,n;
    cout<<"sampai suku ke:";cin>>n;
    for(i=1;i<=n;i++)cout<<fibonacci(i)<<"";
    system("PAUSE");
    return EXIT_SUCCESS;
}

6.fungsi iteratif

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

using namespace std;

void balik(char  *s)
{
     int i;
     for(i=strlen(s)-1;i>=0;i--)
     cout<<s[i];
     }
    
int main(int argc, char *argv[])
{
    char *kata="algoritma";
    balik(kata);


    system("PAUSE");
    return EXIT_SUCCESS;
}

7.fungsi rekursif

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

using namespace std;
void balik(char *s)
{
     if(*s !='\0'){
balik(&s[1]);
cout<<s[0];
}
}
          
int main(int argc, char *argv[])
{
    char *kata="algoritma";
    balik(kata);
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

8.class versi iteratif

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

using namespace std;

class GCD{
      friend ostream& operator<<(ostream&, GCD&);
      friend istream& operator>>(istream&, GCD&);
      public:
             int HitungGCD(int,int);
             private:
                     int x,y;
                     };
                     int GCD::HitungGCD(int c,int d)
                     { int r;
                     while(d>0){
                                r=c%d;
                                c=d;
                                d=r;
                                }
                                return (c);
                                }
                                istream& operator>>(istream& in,GCD& a){
                                         cout <<"masukan bilangan pertama:";
                                         in>>a.x;
                                         cout<<"masukan bilangan kedua:";
                                         in>>a.y;
                                         return in;
                                         }
                                         ostream& operator<<(ostream& out,GCD& a){
                                                  out<<"Ggcd("<<a.x<<","<<a.y<<")=";
                                                  out<<a.HitungGCD(a.x,a.y);
                                                  return out;
                                                  }
                                                 
int main(int argc, char *argv[])
{
    GCD run;
    cin>>run;
    cout<<run;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
9.fungsi template

#include <cstdlib>
#include <iostream>

using namespace std;
template<class T>
T tambah5(T x){
return(x+5);
  }
            
int main(int argc, char *argv[])
{
    int x;
    float y;
    cout<<"masukan harga x(integer):";cin>>x;
    cout<<"stelah masuk fungsi bernilai:"<<tambah5(x)<<endl;
    cout<<"masukan harga x(float):";cin>>y;
    cout<<"setelah masuk fungsi bernilai:"<<tambah5(y);

    system("PAUSE");
    return EXIT_SUCCESS;
}

Monday 4 April 2011

tugas 4 alpro(perulangan)

1.Mencari rata-rata dari n Bilangan bulat positif

#include
#include

using namespace std;
class Rata{
friend ostream& operator<<(ostream&,Rata&); friend istream& operator>>(istream&,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<<"data ke-"<>data;
jumlah=jumlah+data;
}
rata=(float)jumlah/n;
return rata;
}
ostream& operator<<(ostream& out,Rata& A){ out<<"rata-rata="<>X;
cout<
#include
#include

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:"<
#include

using namespace std;
class Operator{
friend ostream& operator<<(ostream&, Operator&); friend istream& operator>>(istream&,Operator&);
public:
long faktorial();
private:
int n;
long hasil;
};
long Operator::faktorial(){
long fak=1;
for(int i=1;i<=n;i++) fak=fak*i; return fak; } ostream& operator<<(ostream& out,Operator&a){ a.hasil=a.faktorial(); out<<"hasil cara iterasi:"<>(istream& in,Operator& a){
cout<<"masukan integer n:"; in>>a.n;
return in;
}

int main(int argc, char *argv[])
{
Operator run;
cin>>run;
cout<
#include
#include

using namespace std;
float pangkat(int x,int y)
{
return (exp(y*log(x))); }

int main(int argc, char *argv[])
{
float hasil;
int a,b;
cout<<"menghitung hasil perpangkatan\n"; cout<<"tulis sebuah bilangan:"; cin>>a;
cout<<"mau di pangkat berapa:"; cin>>b;
hasil=pangkat(a,b);
cout<
#include

using namespace std;

int pangkat(int x,int y){
int hasil=1;
for(int i=1;i<=y;i++) hasil*=x; return hasil; } void eja(int x){ switch(x){ case 1:cout << "satuan";break; case 2:cout << "puluhan + ";break; case 3:cout << "ratusan + ";break; case 4:cout << "ribuan + ";break; case 0:cout << " ";break; } } void urai(int n){ int pilihan=4; int mulai=10,hasil; cout << n << " = "; while(n!=0){ hasil=n/pangkat(mulai,pilihan-1); n%=pangkat(mulai,pilihan-1); if (hasil){ cout << hasil; eja(pilihan); } pilihan--; } } int main(){ int bilangan; cout << "masukan bilangan bulat:"; cin >> bilangan;
urai(bilangan);

system("PAUSE");
return EXIT_SUCCESS;
}

6.Perkalian 2 bilangan bulat dengan menggunakan operator penjumlahan

#include
#include

using namespace std;

int kali(int m,int n){
int i,hasil=0;
for(i=1;i<=n;i++) hasil=hasil+m; return(hasil); } main() { int a,b; cout <<"masukan bilangan:"; cin >>a;
cout <<"akan di kali dengan:"; cin >>b;
cout <<"nilai"<
#include

using namespace std;

int main(int argc, char *argv[])
{
int x,y,i;
int pangkat;
cout<<"menghitung hasil perpangkatan\n"; cout<<"tulis sebuah bilangan:"; cin>>x;
cout<<"mau di pangkat berapa:"; cin>>y;
pangkat=1;
for(i=1;i<=y;i++)
pangkat=pangkat*x;
cout<
system("PAUSE");
return EXIT_SUCCESS;
}