A. Sekilas tentang kelas
Kelas
dibuat untuk mempresentasikan sebuah objek tertentu sehingga akan
membantu dalam proses penyelesaian masalah-masalah kompleks. Apabila
kita amati, definisi sebuah kelas itu sama saja dengan pembuatan tipe
data baru. Sebagai contoh kita dapat membuat tipe-tipe yang berkaitan
dengan suatu objek seperti mobil, rumah, karyawan dan lain-lain.
B. Apa sih yang dimaksud dengan kelas?
Kelas
adalah bentuk penyederhanaan dari suatu permasalahan yang berkaitan
dengan objek. Kelas juga dapat didefinisikan sebagai sesuatu yang
mempunyai data (sifat) dan funsi (kelakuan). Kelas bersifat abstrak,
oleh karena itu kita harus melakukan instansiasi dari kelas tersebut,
selanjutnya instance (contoh
nyata atau perwujudan) dari kelas tersebut juga sering dinamakan dengan
objek, sebagi contoh manusia adalah suatu kelas maka instance atau objek dari manusia adalah Irwan, Yana, Parlin dan yang lainnya.
C. Gimana ya cara membuat kelas?
Dalam C++, kelas dibuat dengan menggunakan keyword class. Adapun bentuk umum pembuatannya yaitu :
Class nama_kelas {
Access_specifier1:
Data_members;
Member_functions;
………
Access_specifier2:
Data_members;
Member_functions;
………
………
};
Untuk
membuat implementasi fungsi-fungsiyang terdapat pada suatu kelas, kita
menggunakan operator ::. Bentuk umum pembuatannya yaitu :
Tipe_data nama_kelas :: nama_fungsi(daftar_parameter) {
Statemen_yang_akan_dilakukan;
……..
}
Sedangka
untuk mengakses data atau funsi yang terdapat di dalam kelas tersebut,
kita menggunakan tanda titik. Bentuk umum pembuatannya yaitu :
Nama_instance.data
Atau
Nama_instance.nama_fungsi(daftar_parameter)
D. CONTRUCTOR dan DESTRUCTOR
1. Pengertian Constructor
Constructor adalah sebuah fungsi yang otomatis akan dipanggil setiap kali melakukan instansiasi terhadap suatu kelas. Constructor digunakan untuk melakukan inisialisasi nilai dari data-data yang terdapat didalam kelas bersangkutan.
2. Pengertian Destructor
Destructor adalah fungsi yang merupakan kebalikan dari constructor, yaitu berguna untuk menghancurkan atau membuang sebuah objek (kelas) dari memori. Adapun nama dari fungsi destruktor adalah sama seperti nama kelas maupun nama constructor, hanya didepannya ditambahkan tanda tilde (‘~’).
Dalam C++, terdapat tiga buah tingkat akses yaitu :
- Private
Tingkat
akses ini berguna untuk memberikan hak akses data hanya kepada kelas
yang bersangkutan saja. Artinya kelas-kelas turunan atau lingkungan luar
didalam program tidak diizinkan untuk mengakses data tersebut. Berikut
ini gambaran pendefinisian sebuah kelas yang menggunakan tingkat akses private.
Class CONTOH {
Int X; //Secara default, Xakan bersifat private
Public:
Int Y; //Y akan bersifat public
Private:
Int Z; //Z akan bersifat private
- Public
Tingkat akses ini berfungsi untuk memberikan hak akses secara umum (public)
kepada kelas-kelas turunannya maupun terhadap lingkungan luar didalam
program. Bagian ini biasanya berisi fungsi-fungsi yang akan dijadikan
sebagai penghubung (interface)
- Protected
Tingkat
akses ini digunakan untuk memberikan hak akses terhadap data dalam
suatu kelas sehingga data tersebut dapat diakses oleh kelas turunannya,
namun lingkungan luar didalam program masih tetap tidak di beri hak
untuk mengakasesnya
E. Anggota kelas yang bersifat statis
Di dalam C++, anggota-anggota dari sebuah kelas (data dan fungsi) dapat dijadikan sebagai statis, yaitu dengan menambah keyword static di depan pendeklarasiannya.
- Data Statis
Perlu
diperhatikan bahwa ketika kita mendeklarasikan data statis, kita tidak
mendefinisikannya. Ini berarti sebelumnya data tersebut tidak tersimpan
dalam memori. Untuk itu kita harus menyediakan definisi global untuk
data tersebut dimanapun letaknya asalkan berada diluar kelas yang
bersangkutan.
- Fungsi Statis
Sama
seperti halnya data atau variabel dari sebuah kelas, fungsi-fungsi yang
terdapat di dalam sebuah kelas juga dapat dijadiakan fungsi statis.
Caranya sama, yaitu dengan menambahkan keyword static di depannya. Namun dalam melakukan hal ini kita perlu sekali untuk memperhatikan hal-hal berikut :
a. Fungsi statis yang terdapat di dalam kelas tersebut tidak memiliki pointer this
b. Fungsi statis tidak boleh bersifat virtual
c. Tidak boleh terdapat dua (atau lebih) fungsi yang sama, walaupun yang satu bersifat statik dan yang lainnya non-statik.
F. Pointer ke Objek
Pointer
ke objek juga akan mengakses data atau fungsi didalam kelas menggunakan
operator ->, dan bukanlah menggunakan operator titik (.) seperti
pada instance yang bukan merupakan pointer.
Pointer This
Pointer
this adalah pointer secra otomatis yang dilewatkan setiap kali objek
dibuat didalam memori dan akan mewakili nama kelas yang bersangkutan.
G. Objek Sebagai Parameter dalam sebuah Fungsi
Dalam
C++, objek dapat juga berperan sebagai parameter dalam pendefinisian
sebuah fungsi. Objek ini akan di lewatkan secara standar yaitu dengan
menggunakan metode pass by value (dikirimkan
berdasarkan nilai) yang bertujuan untuk mengakses suatu data (yang
bersifat public) di dalam sebuah kelas diman pemrosesannya dilakukan di
dalam fungsi luar (bukan member function).
H. Objek Sebagai Nilai Kembalian dalam Sebuah Fungsi
Selain
menjadi parameter, sebuah objek juga dapat digunakan sebagai nilai
kembalian dari suatu fungsi. Di dalam fungsi akan tercipta suatu objek temporary yang kemudian akan dibebaskan kembali sesaat setelah proses pengembalian nilai.
I. Friend Function
Dalam C++ kita diizinkan untuk membuat fungsi luar (bukan member function) yang dapat mengakses bagian private suatu kelas. Funsi seperti ini dinamakan dengan friend function.
J. Friend Class
Yaitu kelas yang dapat mengakses semua data (termasuk bagian private) dari kelas lain.
0 komentar:
Posting Komentar