Data Member dan Member Function

Dalam OOP kita mengabstraksikan object dalam sebuah class. Setiap object memiliki attribute dan operation, sebagai contoh object box memiliki attribut: panjang (length), lebar (breadth) dan tinggi (height) serta memiliki operation: hitung volume (getVolume); seperti digambarkan pada class diagram berikut ini.

class_box

Data Member

Istilah properties/atributes/data member mengacu pada deklarasi variable pada program OOP. Data member umumnya diberikan visibility private atau protected untuk mencegah akses langsung dari luar class. Itu adalah aturan (rule) dalam konsep OOP Encapsulation untuk data/information hiding. Untuk mengakses data member harus melalui member function.

Member Function

Member function adalah deklarasi/definisi fungsi dalam class. Kita dapat memasukan deklarasi fungsi saja dalam bentuk function prototype dan definisi fungsinya diimplementasikan diluar class. Ini sangat dianjurkan supaya pembuatan class menjadi lebih terlihat rapi dan mudah di maintain. Penulisan definisi member function diluar class menggunakan scope resolution (::). Deklarasi function prototype akan menjadi inline function, artinya ketika di compile definisi fungsinya akan masuk ke dalam classnya.

Member function dapat berisi Constructor, Desctructor, Getter (Accessor), Setter (Mutator), helper/utility dan fungsi lainnya sebagai operasi dari object (apa yang bisa dilakukan oleh object).

Object sebagai instance class dapat menjalankan member function dengan operator dot (.)

Access Modifier Member Class

Member dari sebuah class memiliki 3 level akses. (https://www.tutorialspoint.com/cplusplus/cpp_class_access_modifiers.htm)

  • Private –> member hanya dapat diakses dalam classnya sendiri
  • Protected –> member dapat diakses dalam classnya sendiri dan dalam class turunannya
  • Public –> member dapat diakses dari manapun diluar classnya

3 jenis akses tersebut menjadi level visibility dari object class tersebut.

By Default level akses class adalah private, artinya jika member tidak diberikan level visibility (label private/protected/public) maka akses member tersebut adalah private.

#include <iostream>
using namespace std;
class Box {
 private:
 // Data Member
 double length; // Length of a box
 double breadth; // Breadth of a box
 double height; // Height of a box
 public:
 // Member functions declaration
 double getVolume(void);
 void setLength( double len );
 void setBreadth( double bre );
 void setHeight( double hei );
};
// Member functions definitions
double Box::getVolume(void) {
 return length * breadth * height;
}
void Box::setLength( double len ) {
 length = len;
}
void Box::setBreadth( double bre ) {
 breadth = bre;
}
void Box::setHeight( double hei ) {
 height = hei;
}
// Main function
int main( ) {
 Box Box1; // Create object Box1 of type Box
 Box Box2; // Create object Box2 of type Box
 double volume = 0.0; // Initial the volume of a box
 // box 1 specification
 Box1.setLength(6.0);
 Box1.setBreadth(7.0);
 Box1.setHeight(5.0);
 // box 2 specification
 Box2.setLength(12.0);
 Box2.setBreadth(13.0);
 Box2.setHeight(10.0);
 // volume of box 1
 volume = Box1.getVolume();
 cout << "Volume of Box1 : " << volume <<endl;
 // volume of box 2
 volume = Box2.getVolume();
 cout << "Volume of Box2 : " << volume <<endl;
 system("pause");
 return 0;
}

Sumber: https://www.tutorialspoint.com/cplusplus/cpp_class_member_functions.htm
Output:

Volume of Box1 : 210
Volume of Box2 : 1560
Press any key to continue . . .

2 thoughts on “Data Member dan Member Function

  1. Brenda Eirene Warouw

    terimakasih pak sangat membantu. tetapi saya ingin bertanya sedikit, saya kurang paham dengan cara penggunaan scope resolution nya. apakah ‘ :: ‘ tersebut digunakan untuk sebagai pengenalan suatu variabel atau?

    Suka

    Balas

Send your comment