Anda di halaman 1dari 4

Modul Praktikum 3: Pointer, Class/Struct, dan Object pada C++

Kompetensi:
Mahasiswa mampu mengimplementasikan class/struct dan object pada C++.

Tujuan Instruksional Khusus:


1. Mahasiswa mampu mengimplementasikan pembuatan dan penggunan class.
2. Mahasiswa mampu mengimplementasikan pembuatan dan penggunan object dari class.
3. Mahasiswa mampu mengimplementasikan pembuatan dan penggunan konstruktor.
4. Mahasiswa mampu mengimplementasikan pembuatan setter dan getter pada sebuah class.
5. Mahasiswa mampu melakukan manipulasi nilai dari data field sebuah objek melalui pointer.

Praktikum:
1. Peralatan
a. Perangkat komputer
b. Sistem Operasi Windows
c. MinGW/C++ Compiler
d. Geany/Notepad++

2. Prosedur
a. Baca dan pahami semua tahapan praktikum dengan cermat.
b. Gunakan fasilitas yang disediakan dengan penuh rasa tanggung jawab.
c. Rapihkan kembali setelah menggunakan komputer (mouse, keyboard, kursi, dll)
d. Perhatikan sikap anda untuk tidak mengganggu rekan praktikan lain.
e. Pastikan diri anda tidak menyentuh sumber listrik.

3. Teori:
a. Objek dan Class
• Class merupakan blueprint untuk menghasilkan objek
• Objek memiliki: State, Behaviour, dan Identity
• Class dapat memiliki: Field, Method, Constructor, Class dan Inteface bercabang
b. Deklarasi Class/Struct:
class NamaClass{
private field;
private function;
};

struct NamaClass{
public field;
public function;
};
c. Pembuatan Object dan Class:
NamaClass namaObjek;
d. Pembuatan konstruktor:
public:
NamaClass(){
//isi konstruktor
}
e. Inisialisasi nilai pada instance variable secara langsung:
class A{
public:
int x;
int y;
};

1
int main(){
A a;
a.x = 10;
a.y = 20;

cout << "x = " << a.x << endl;


cout << "y = " << a.y << endl;
}
Pengaksesan secara langsung terhadap member class diperbolehkan jika access modifier dari
variabel atau method bersifat public.
f. Inisialisasi nilai pada instance variable yang bersifat private melalui public function:
class A{
int x;
int y;

public:
void setX(int x) { //public method untuk pemberian nilai variabel x
this->x = x;
}

void setY(int y) { //public method untuk pemberian nilai variabel y


this->y = y;
}

int getX() { //public method untuk mengambil nilai variabel x


return x;
}

int getY() { //public method untuk mengambil nilai variabel y


return y;
}
};

int main(){
A a;
a.setX(10); //inisialisasi x melalui public method setX()
a.setY(20); //inisialisasi y melalui public method setY()

cout << "x = " + a.getX() << endl; //pengaksesan x melalui method getX()
cout << "y = " + a.getY() << endl; //pengaksesan y melalui method getY()
}
Pengaksesan dari public method dilakukan jika access modifier dari variabel atau method yang
kan diakses bersifat private.
g. Inisialisasi nilai pada instance variable melalui konstruktor:
class A{
int x;
int y;

public:
A(int x, int y) { //konstruktor untuk inisialisasi nilai ke variabel x dan y
this->x = x;
this->y = y;
}

int getX() { //public method untuk mengambil nilai dari variabel x


return x;
}

2
int getY() { //public method untuk mengambil nilai dari variabel y
return y;
}
};

int main(){
A a(10, 20); //inisialisasi x dan y melalui konstruktor

cout << "x = " + a.getX() << endl; //pengaksesan x melalui method getX()
cout << "y = " + a.getY() << endl; //pengaksesan y melalui method getY()
}
Pengaksesan dari public method dilakukan jika access modifier dari variabel atau method yang
kan diakses bersifat private. Dilakukan untuk mempersingkat penulisan kode jika banyak field
yang akan diinisialisasi.

h. Pengaksesan melalui pointer


Untuk melakukan pengaksesan data field sebuah objek melalui pointer, digunakan operator ->
(arrow). Contoh:
struct A{
int x;
int y;
};

int main(){
A a;
a.x = 10;
a.y = 20;

A *pA; //deklarasi pointer untuk menyimpan alamt memori objek dari kelas A
pA = &a; //pointer pA menyimpan alamat memori a

cout << "x = " << pA->x << endl; //nilai x diakses melalui pointer pA
cout << "y = " << pA->y << endl; //nilai y diakses melalui pointer pA

4. Kegiatan Praktikum:
a. Buat sebuah class dengan nama Mahasiswa yang memiliki beberapa field yang memiliki access
modifier private:
• stambuk : tipe data string
• nama : tipe data string
• angkatan : tipe data int
• kelas: tipe data string
b. Buat objek dari class Mahasiswa dengan nama mahasiswa.
c. Lakukan penginputan untuk semua field dari objek mahasiswa. Inisialisasi (pemberian nilai) data
field dapat dilakukan melalui konstruktor atau public function tergantung pilihan yang dipilih.
d. Tampilkan kembali semua nilai field dari objek mahasiswa yang telah diinisialisasi sebelumnya
melalui pointer yang menyimpan alamat memori dari objek mahasiswa.
e. Output aplikasi dapat dilihat pada gambar di bawah:

3
4

Anda mungkin juga menyukai