//
you're reading...
struktur data, tugas, Uncategorized

Membuat class dalam c++

Sebuah class menyerupai sebuah struktur yang memiliki tipe data sendiri. Perbedaan sebuah kelas dengan sebuah struktur adalah  sebuah class dapat berdiri sendiri dan dapat dipergunakan untuk berbagai  keperluan class-class yang lain, sedangkan sebuah struktur tidak dapat berdiri sendiri.

Misalkan kita mempunyai sebuah objek segitia, yang akan kita cari luasnya. Telah kita ketahui, untuk menghitung luasnya dibutuhkan data panjang alas dan panjang tinggi. Kemudian semua data itu kita hitung menggunakan formula 0.5 x alas x tinggi. dan Anda ingin obyek yang dapat mengakses semua informasi  serta memodifikasinya. Lihat ini :

class segitiga{

public :

segitiga();  //konstruktor

float luas(){hasil=0.5*alas*tinggi;} //fungsi

private :

float alas;

float tinggi;

float hasil;

};

Public

Pada bagian atas pendeklarasian class terdapat kata public. Ini untuk memberitahukan class yang lain bahwa ia dapat mengakses objek yang ada di dalam class tersebut. Izin akses public sebuah atribut biasanya digunakan oleh sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh class lain. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya.

Private

Enkapsulasi pada sebuah kelas bertujuan untuk melindungi atribut dan metode-metode yang ada di dalam kelas agar tidak sembarangan diakses oleh kelas lain. Izin akses private pada sebuah atribut biasanya digunakan oleh sebuah class untuk meliindungimatribut-atributnya agar tidak dapat diakses oleh class lain.  Sebuah atribut umumnya mempunyai izin akses private agar tidak dapat diakses secara langsung oleh class lain.

Protected

Izin akses protected sebuah atribut biasanya digunakan oleh sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh class lain yang merupakan class turunannya (inheritance).

Pewarisan (Inheritance)

Pewarisan atau Inheritance pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya. Keuntungan pewarisan adalah tidak perlu mengutak atik kode kelas yang membutuhkan tambahan atribut atau metode saja karena tinggal membuta kelas turunannya saja tanpa harus mengubah kode kelas dasarnya.

Misalnya kita akan membuat kelas lingkaran, kemudian luas lingkaran ini digunakan untuk menghitung volume tabung. Jadi turunannya adalah kelas volume tabung.

class Lingkaran{

protected:

int r;

public :

Lingkaran();

float getLuas();

void setJari2(int);

int getJari2();

};

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

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

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

float Lingkaran::getLuas(){         // FUNGSI LUAS LINGKARAN

float luas;

luas = 3.14 * r * r;

return luas;}

Di atas kita menggunakan atribut protected, yang hanya dapat diakses oleh kelas turunan dari kelas lingkaran.

class Tabung : public Lingkaran{               // INHERITANCE ATAU PEWARISAN

private:

int t;

public:

Tabung();

void setTinggi(int);

float getVolume();

};

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

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

float Tabung::getVolume(){

float volume = getLuas()*t;

return volume;

}

int main(int argc, char *argv[])

{

Tabung x;

x.setJari2(2);

x.setTinggi(4);

cout<<“Luas Lingkaran = “<<x.getLuas()<<endl;

cout<<“Volume Tabung= “<<x.getVolume()<<endl;

system(“PAUSE”);

return EXIT_SUCCESS;

}

Overloading Operator (input dan output)

Friend adalah sebuah fungsi, metode, atau kelas yang diizinkan mengakses atribut maupun metode satu atau lebih kelas lain yang menjadi temannya walaupun atribut dan metode yang diakses memiliki izin akses private dan protected. Contoh overload operarator input dan output pada class segitiga di atas.

class segitiga{

friend istream & operator >> ( istream &, segitiga & );

friend ostream & operator << ( ostream &, segitiga & );

public :

segitiga();

float luas(){hasil=0.5*alas*tinggi;}

private :

float alas;

float tinggi;

float hasil;

};

segitiga::segitiga(){cout<<“Menghitung luas segitiga\n”;}

istream& operator>>(istream& in, segitiga& masukan){

cout<<“masukan panjang alas: “;

in>>masukan.alas;

cout<<“masukan panjang tinggi: “;

in>>masukan.tinggi;

return in;

}

ostream& operator<<(ostream& out, segitiga& keluar){

out<<“luas segitiga= “<<keluar.hasil<<endl;

return out;

}

int main(int argc, char *argv[])

{

segitiga x;

cin >> x;

x.luas();

cout << x;

system(“PAUSE”);

return EXIT_SUCCESS;

}

Sumber :

Mary Farrel. Computer Programming For Teens.2008.

M.Shalahuddin & dkk. Belajar Pemrograman Dengan Bahasa C++ dan JAVA.

About kusukaitu

nothing special..

Diskusi

One thought on “Membuat class dalam c++

  1. sip….
    keep posting bro…
    jangan lupa maen2 ke blog ya bro…

    Posted by tedesant | 5 Oktober 2010, 5:33 pm

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: