Showing posts with label latihan. Show all posts
Showing posts with label latihan. Show all posts

Tuesday, April 17, 2012

Program Membalik Kata

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

class Balik{
       friend istream& operator>>(istream&, Balik&);
       friend ostream& operator<<(ostream&, Balik&);
       public:
             void balik_kata();
             void balik(int s);
       private:
               char kata[50];
               int n;
};

void Balik::balik_kata(){//iteratif
     cout<<"Masukkan Kata Yang Akan Dibalik : ";
     cin>>kata;n=strlen(kata);
     cout<<"Kata Setelah Dibalik : ";
     balik(n);
     cout<<endl;
}

void Balik::balik(int s){//rekursif
     if (s != -1){
            cout<<kata[s];
            balik(s-1);
            }
            }

int main()
{
 Balik X;
 X.balik_kata();
 X.balik(1);

  getch();
}

Monday, April 16, 2012

Flowchart Membalik Kata yang Diinputkan

Rekursif :


 Iteratif :

Konversi Dari Desimal Ke Biner

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


class Biner{
      friend istream& operator>>(istream&, Biner&);
      friend ostream& operator<<(ostream&, Biner&);
    
      public:
      Biner();     
      void masukan();
      void proses();
      void keluar();
      private:
      int data[100],l,a;      
      };
      Biner::Biner(){
       cout<<"program mengkonversi bilangan desimal ke biner"<<endl;
       }
       istream& operator>>(istream& in, Biner& masukan){            
           cout<<"masukan angka:";
           in>>masukan.a;
           }
      void Biner::proses(){
           int i;
           i=0;l=0;
           while(a!=1){
                       data[i]=a%2;
                       a=a/2;i=i+1;l=l+1;
                       }
                       }
     void Biner::keluar(){
          cout<<"hasil biner adalah :"<<1;
          for(int i=l-1;i>=0;i--){
                  cout<<data[i];}
                  }
                
     int main(){
         Biner x;
         cin>>x;
         x.proses();
         x.keluar();
                
getch();
}

Program Mencetak Bilangan yang Habis Dibagi 5 dan 7 Dari 1 - 100 (Rekursif Iteratif)

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

class Bagi{
      friend istream& operator>>(istream&, Bagi &);
      friend ostream& operator<<(ostream&, Bagi&);
      public:
       Bagi();
       void proses();
       int bagi(int a);
       private:
       int a;
       };

Bagi::Bagi(){
cout<<"Menampilkan bilangan yang habis dibagi 5 dan 7 antara 1 sampai 100"<<endl;
             }
//iteratif
void Bagi::proses(){
a =1;
while (!(a>100)){
if (a % 5==0 && a % 7==0){
cout << a << endl;
}else{}
a =a+1;
}
}
//rekursif
int Bagi::bagi (int a){
if (a>100){
}else
{
if (a % 5==0 && a % 7==0)
{
cout << a << endl;      }
else
{}bagi(a+1);
}}

int main(){

    Bagi X;
    X.proses();
    X.bagi(1);

getch();
}

Flowchart Mencetak Bilangan yang Habis Dibagi 5 dan 7 Dari 1 - 100

Rekursif :


 Iteratif :

Program Menhitung Suku Ke-n Dari Deret Fibonacci (Rekursif)

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

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

public:
       long fibonacci(int);

private:
        int n;
};

int fibonacci (int n){
    if((n==1) || (n==2))return (1);
    else return (fibonacci(n-1)+fibonacci(n-2));
}
ostream& operator<<(ostream& out, Operator& a)
{ for (int i=1;i<=a.n;i++)
out<<fibonacci(i)<<"";
return out;
}

istream& operator>>(istream& in, Operator& a){
cout<<"sampai suku ke- ";
in>>a.n;
return in;
}

main()
{
      Operator run;
      cin>>run;
      cout<<run;
    getch();
}

Friday, April 13, 2012

Penggunaan Class Dalam Menentukan Nilai Terbesar Dari Dua Bilangan Bulat

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

class data {
      public:
      int a,b;
     
      public:
      data();
      void tukar();
      void cetak();
      int maks2(int a, int b);
      void jalankan();
      };
data::data(){
a=100;
b=50;
}
int data::maks2(int a,int b){
    if(a>b)return(a);
    else return (b);
}

main(){
     data angka;
     angka.jalankan();
     }
    
void data ::jalankan(){
cout<<"masukkan dua bil integer"<<endl;
cout<<"masukkan bil pertama :";
cin>>a;
cout<<"masukkan bil kedua:";
cin>>b;
cout<<"nilai terbesar: "<<maks2(a,b);

getch();
}

Program C++ Menentukan Nilai Terbesar Dari Dua Bilangan yang Diinputkan

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

int main()
{  
   int a;
   int b;

   cout << "masukkan dua angka" << endl; 
   cout<<"angka 1:";
   cin >> a;
   cout<<"angka2:";
   cin >> b;
   cout << "nilai terbesar :" << endl;  
   if (a>b)
   {
      cout << a << endl;   }
   else
   {
      cout << b << endl;   }

   getch();
}

Fungsi Menentukan Nilai Terbesar Dari Dua Bilangan yang Diinputkan

Main :

Jalankan0 :
Maksimum2() :

Program Menukar Nilai Dua Variabel

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

using namespace std;
int main()
{
   int temp,a,b;

   a =100;
   b =50;
   cout << "isi nilai :"<<a << endl; 
   cout << "isi nilai2 :"<<b << endl;  
   temp =a;
   a =b;
   b =temp;
   cout << "sesudah tertukar" << endl;  
   cout << "isinilai = "<<a << endl;  
   cout << "isinilai = "<<b << endl;
   getch();
}

Flowchart Menukar Nilai Dua Variabel

Flowchart main :

Flowchart tukar0 :

Flowchart Menunjukkan Fungsi Untuk Menghasilkan Nilai X (pankat) Y

Program C++ Menghitung Nilai X(pangkat)Y dengan X Bilangan Real dan Y Bilangan Bulat

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

using namespace std;

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

public:
Pangkat();
int proses(int x, int y);
int output();
private:
int x,y,i;
int hasil;
};
Pangkat::Pangkat(){
cout<<"Mencari X pangkat Y "<<endl;
}

istream& operator>>(istream& in, Pangkat& masukan){
cout<<"Masukan x : ";
in>>masukan.x;
cout<<"Masukan y : ";
in>>masukan.y;
}

int Pangkat::proses(int x,int y){
if (y==1)
return x;
else if (y==0)
return 1;
else
return x*proses(x,y-1);
}

int Pangkat::output(){
hasil = proses(x,y);
cout<<"Maka hasilnya adalah : "<<hasil;
return hasil;
}

int main()
{
Pangkat X;
cin>>X;
X.output();
cout<<endl<<endl;

getch();
}

Program C++ Menentukan Bangun Persegi atau Persegi Panjang

#include 
#include 

class beda {
      friend istream& operator>>(istream&, beda&);
      
public :
       beda(){};       
       void bedakan(){
       if (p==l)
       cout<<"persegi";
       else 
       cout<<"persegi panjang";
       }
private :
        int p, l;

};


istream& operator>>(istream& in, beda& masukan){
cout<<"masukkan panjang = ";
in>>masukan.p;
cout<<"masukkan lebar = ";
in>>masukan.l;
return in;
}


main (){
     beda masukan;
     cin>>masukan;
     masukan.bedakan();
     getch();

}

Flowchart Menentukan Bangun Persegi atau Persegi Panjang


Contoh diinputkan panjang : 3 dan lebar : 5 maka outputnya :