Selasa, 21 September 2010

Tugas Pak Fiftin


Salah satu kelebihan dari C++ adalah dapat memberikan kerja lebih ke operator, Saat mereka digunakan dengan user-defined classes . Ini adalah yang disebut operator overloading. Hanya operator C++ yang bersifat predefined yang dapat di overload. Dengan menggunakan operator overloading maka user dapat memahami notasi dengan lebih mudah.
Disini ada beberapa macam tanda untuk penggunaan overloading operator :
  • = (assignment operator)
  • + - * (binary arithmetic operators)
  • += -= *= (compound assignment operators)
  • == != (comparison operators)
Assignment operator
mempunyai ciri-ciri seperti ini

class MyClass {
public:
    ...
    MyClass & operator=(const MyClass &rhs);
    ...
  }

  MyClass a, b;
  ...
  b = a;   // Same as b.operator=(a);

Compound assignment operator
 
               MyClass a, b;
  ...
  a += b;    // Same as a.operator+=(b)

Dalam kasus ini , value dalam a dimodifikasi oleh operator +=

Binary Arithmetic Operators
Binary arithmetic operators adalah menarik karena mereka tidak merubah kedua operand
Jika harus mengimplementasikan operator += , dan sekarang anda ingin mengimplementasikan operator +. Maka tanda dari fungsi nya harus seperti ini:
 const MyClass MyClass::operator+(const MyClass &other) const {
MyClass result = *this;//membuat copy an.Sama seperti MyClass result(*this);
    result += other;            // Gunakan += untuk menamabah copyan lain.
    return result;                }


Comparison Operators
Comparison operators sangat sederhana. Pertama harus mendifinisikan ==, Memakai fungsi seperti ini :
        bool MyClass::operator==(const MyClass &other) const {
    ...  // Compare value nya , dan return hasil bool.
  }
Point penting disini adalah ketika operator != dapat juga didefinisikan oleh operator ==,Contoh penggunaanya:
bool MyClass::operator!=(const MyClass &other) const {
    return !(*this == other);
  }

CLASS
class dengan anggotanya
class adalah sebuah dasar atau rancangan yang didalamnya terbentuk suatu objek. Dan objek adalah contoh dari sebuah class. Class pada dasarnya adalah serangkaian kode yang menentukan bagaimana untuk membangun sebuah objek.
contoh dari class
class nama{
public:
fungsi dan data public
private:
data yang menjadi privat dan fungsi
};
daftar objek;
contoh penggunaan class:
class satu{
public:
void rata2();
private:
int a;
int b[];
float sum,total,rataa;    
 };
class ini bernama satu . Hal yang harus ada dalam class dan dicontonhkan pada script di atas adalah keyword class diikuti dengan nama dari class ,dan semicolon untuk mengakhiri script kelas tersebut .
void rata2(); berguna untuk memanggil function member (anggota fungsi) yang merupakan anggota dari class.function member sering disebut dengan methods.
dalam class ini function member di masukan kedalam public,dan data member dimasukan sebagai private. perbedaannya adalah public member dapat diakses dari luar class, sementara private members hanya dapat diakses dari dalam class. maka sebutan untuk keamanan ini adalah "information hiding".
contoh program:
#include
#include

using namespace std;
class rata{
      friend ostream& operator<<(ostream&, rata&);
      friend istream& operator>>(istream&, rata&);
      public:
             void rata2();
      private:
         int a;
         int b[];
         float sum,total,rataa;    
      };
     
      void rata::rata2(){
           sum=0;
      for(int j=1;j<=a;j++){
 
    sum=sum+b[j];
    }    
    rataa=sum/a;
    total=rataa*a;
           }
          
      istream& operator>>(istream& in, rata& masukan){
    cout<<"Banyak elemen: \n";in>>masukan.a;
    for(int i=1;i<=masukan.a;i++){
    cout<<"Masukkan Data: ";
    in>>masukan.b[i];
    }          
    return in;
               }
              
      ostream& operator<<(ostream& out, rata& keluaran){
               out<
               cout<
               out<
     return out;
               }
     
int main(int argc, char *argv[])
{
   
rata a;
   cin>>a;
    a.rata2();       
    cout<
    system("PAUSE");
    return EXIT_SUCCESS;
}
Constructor
Constructor adalah sebuah function member yang dipanggil secara otomatis pada saat objek dideklarasikan/diciptakan/dihidupkan. Fungsi constructor harus memiliki nama yang sama dengan nama class itu sendiri, dan dideklarasikan tanpa tipe kembalian.
Destructor
Destructor memiliki nama yang sama seperti constructor, tidak memiliki jenis kembali, didahului dengan ~
contoh:
class destruktor{
public:
destruk();
~destruk();
Menggunakan protected members.
lebih sering dijumpai dalam metode inheritance atau class turunan.
protected member diciptakan dengan menggunakan protected access modifier.
Contoh:
#include
#include

using namespace std;
class b{
      protected:
      int i,j;
      public:
      void set(int a, int b){i=a;j=b;}
             void show(){cout<<<""<<
             };
class d:public b{
      int k;
      public:
      void setk(){k=i*j;}
      void showk(){cout<<
             };
int main(int argc, char *argv[])
{
    d objek;
    objek.set(2,3);
    objek.show();
    objek.setk();
    objek.showk();
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
disini,karena b diwariskan oleh d sebagai public dan karena i dan j dinyatakan sebagai protected,fungsi d setk() dapat mengaksesnya. jika i dan j dinyatakan sebagai pribadi oleh b, lalu d tidak akan memiliki akses kepada mereka, dam program akan tidak dapat dikompilasi. ketika class dasar adalah sebagai warisan public, protected member class dasar menjadi anggota protected class turunan. ketika class dasar yang diwariskan sebagai private, protected member class dasar menjadi anggota private class turunan.
INHERITANCE

Inheritance adalah proses di mana ada kelas-kelas baru yang  diciptakan dari kelas yang ada atau biasa
disebut kelas dasar . Kelas asal memiliki semua fitur dari kelas dasar dan dapat memilih untuk
menambahkan fitur - fiturbaru khusus untuk kelas asal yang baru Class turunan akan menurunkan seluruh anggota yang dimiliki oleh class dasar(parent)nya. Jadi jika class parent mempunyai anggota A dan diturunkan pada class lain dengan anggota  B,maka clas turunan ini akan memiliki A dan B.
Untuk menurunkan class, menggunakan operator : (colon) pada saat deklarasi, syntax              :
class derived_class_name: public base_class_name;
Dimana derived_class_name adalah nama dari derived class dan base_class_name adalah nama dari class asal. public dapat digantikan dengan tipe akses lainnya : protected atau private, Contoh              :

#include
using namespace std;

class Lingkaran{
protected:
int r;
public:
Lingkaran();
void setR(int);
int getR();
float getLuas();
};

Lingkaran::Lingkaran(){
r = 0;
}

void Lingkaran::setR(int a){
r = a;
}

int Lingkaran::getR(){
return r;
}

float Lingkaran::getLuas(){
float luas;
float phi = 3.14;
luas = phi * r * r;
return luas;
}

class Tabung : public Lingkaran{
private:
int t;
public:
Tabung();
void setT(int);
float getVolume();
};

Tabung::Tabung(){
t = 0;
}

void Tabung::setT(int a){
t = a;
}

float Tabung::getVolume(){
float volume = getLuas() * t;
return volume;
}

int main()
{
Tabung a;
a.setR(5);
a.setT(6);
cout<<

system("PAUSE");
return EXIT_SUCCESS;
}

PROGRAM
setelah saya posting,, ternyata code nya bertabrakan dengan kode Html..
maka saya putuskan untuk dilampirkan dalam file
http://gocandra.files.wordpress.com/2010/09/pom.doc




Algoritma Kehidupan Sehari-hari

Contoh dari algoritma menyalakan computer
> Menancapkan power ke jack listrik
>Menghidupkan UPS
>Menyalakan monitor
>Menekan tombol power pada chasing computer