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

Array

Sedikit share yah tentang array ;)) . Array adalah struktur data yang mengandung type data yang mempunyai tipe yang sama. Suatu array merupakan sekelompok memori yan berhubungan. Array mempunyai nama dan tipe yang sama. Untuk merujuk lokasi tertentu atau elemen dalam array, nama arra dan angka posisi dari elemn tersebut dalam array. Deklarasi array ditentukan dengan tipe dari setiap elemen dan banyaknya elemen yang diperlukan oleh setiap array sehingga komputer mempersiapkan sejumlah memori.
Deklarasi adalah sebaai berikut :
Algoritmik  :
c: Array [1..5] of integer
Bahasa C++ :
int c[5]
ini berarti memberitahu komputer untuk menyediakan 5 elemen integer array c. Array bisa saja dideklarasikan untuk berisi tipe data yan lain. Sebaai contoh, array tipe char dapat digunakan untuk menyimpan string karakter.

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 :

Thursday, April 12, 2012

Program C++ Menghitung Jarak Antara Dua Titik

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

using namespace std;
int main()
{

   double x1,y1,a, b,x2, y2;

   cout<<"masukkan x1 = ";
   cin >> x1;
   cout<<"masukkan x2 =";
   cin >> x2;
   cout<<"masukkan y1=";
   cin >> y1;
   cout<<"masukkan y2=";
   cin >> y2;
   a =(x1+x2)/2;
   b =(y1+y2)/2;
   cout << "nilai dari garis x ="<<a << endl;  
   cout << "nilai dari garis y = "<<b << endl;
   getch();
}

Flowchart Menhitung Jarak antara Dua Titik

Misalnya x1= 2 , x2=4, y1=6, y2=8, maka jarak antara dua titik A(2,6) dan B(4,8) adalah :

Program C++ Menentukan Tahun Kabisat atau Bukan

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

using namespace std;
int main()
{
   int t;

   cout<<"masukkan tahun =";
   cin >> t;
   if (t % 4==0)
   {
      cout << "tahun kabisat" << endl;   }
   else
   {
      cout << "bukan tahun kabisat" << endl;   }

   getch();
}

Flowchart Menentukan Tahun Kabisat atau Bukan

 Contoh, tahun yang diinputkan adalah 2000 maka hasilnya :

Program Konversi Bilangan (1 - 11) Menjadi Kalimat

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

class konversi{
           friend istream& operator>>(istream&, konversi&);
public:
       konversi(unsigned int b=0){bilangan=b;};
       void membilang();
private:
unsigned int bilangan;
};

istream& operator>>(istream& in, konversi& x){
cout<<"masukkan bilangan:";
in>>x.bilangan;
return in;
}

void konversi::membilang(){
     switch (bilangan){
     case 0:cout<<"nol";break;
     case 1:cout<<"satu";break;
     case 2:cout<<"dua";break;
     case 3:cout<<"tiga";break;
     case 4:cout<<"empat";break;
     case 5:cout<<"lima";break;
     case 6:cout<<"enam";break;
     case 7:cout<<"tujuh";break;
     case 8:cout<<"delapan";break;
     case 9:cout<<"sembilan";break;
     case 10:cout<<"sepuluh";break;
     case 11:cout<<"sebelas";break;
    default:cout<<"di luar range"<<endl;
    }}

main(){
       konversi a;
       cin>>a;
       a.membilang();
getch();
}

Flowchart Menghitung Luas Permukaan dan Volume Kubus

Ini flowchart dari program c++ yang menggunakan operator overloading dari perhitungan luas permukaan dan volume kubus yang sudah saya posting beberapa hari lalu, cek it :)



Misal, nilai yang diinputkan 8, maka outputnya :

Program C++ Penjumlahan Tiga Bilangan Integer Menggunakan Operator Overloading

Pengunaan operator overloading pada penjumlahan tiga bilangan integer :

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

using namespace std;
class Hitung{
      friend ostream& operator<<(ostream&, Hitung&);
      friend istream& operator>>(istream&, Hitung&);
public:
       Hitung();
       void hitung_jumlahnya(){jumlah =(a+b+c);}
private:
int a,b,c;
int jumlah;
};

Hitung::Hitung(){
cout<<"program menghitung jumlah 3 integer"<<endl;
}

istream& operator>>(istream& in, Hitung& masukan){
cout<<"masukkan nilai a:";
in>>masukan.a;
cout<<"masukkan nilai b:";
in>>masukan.b;
cout<<"masukan nilai c:";
in>>masukan.c;
return in;
}
ostream& operator<<(ostream& out, Hitung& keluaran){
out<<"nilai a:"<<keluaran.a<<endl;
out<<"nilai b:"<<keluaran.b<<endl;
out<<"nilai c:"<<keluaran.c<<endl;
out<<"jumlah : "<<keluaran.jumlah<<endl;
return out;
}

main(){
       Hitung X;
       cin>>X;
       X.hitung_jumlahnya();
       cout<<X;
       getch();
      
              }

Tuesday, April 10, 2012

Refleksi Minggu Ke-7 Alpro

Array !!! lupa-lupa ingat tentang materi ini hahaha, padahal baru semester 1 kemaren *tepok jidat* . Dari perkuliahan alpro minggu ini menghasilkan contoh dari array :D :
input : seseorang melihat kalender untuk mencari tahu, pada tanggal x jatuh pada hari apa.
proses : (misalnya) mencari tanggal 9 April itu hari apa. Kemudian melihat kalender April kolom 1 baris ke-3
output : pada tanggal 9 April merupakan hari Senin.
Dalam menentukan contoh ini tidak terlalu sulit, tapi ketika pengaplikasian pada c++ itu banyak menemui kesulitan. Jujur sih, semester satu lalu belum paham bener tentang bab ini, terutama masalah2 yang lebih kompleks. Kurang latihan pasti ya huhu -____-
Quote : Latihan latihan latihan ~ Tekun dapat mengalahkan orang yang pintar :)

Refleksi Minggu Ke-6

Games??? yeeeaaa minggu ini ada games, yang mungkin sempet nggak mau ikutan karena takut ahihihi, seperti kuis komunikata, maklum ingatanku level rendah -____- . Tapi dengan games ini, sedikit lebih mengerti tentang materi yang diterangkan. Sedikit? ya sedikit, seperti sebelumnya odongnya kumat wuahahaha, nggak tau ini ada nggak sih obat yang bisa nyepetin pemahamanku tentang materi alpro ini. Aduh malah bahas apa ini, haha.
Jujur, sebenernya masih bingung penggunaan rekursi pada raptor, alias pada flowchartnya. Sebatas tau rekursi itu tidak menggunakan for, while, repeat until, tapi cara penerapannya di raptor gimana, bingung lagi :'( . Sepertinya perlu mentoring tentang ini deh huhu (sampai ketemu kembali mas mentor #eh ).
Quote : Jangan membiarkan masalahmu menumpuk, selesaikan :)