Home > Corat Coret > KELAS DAN OBJEK

KELAS DAN OBJEK

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 :

1. 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

1. 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)

1. 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.

1. 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.

1. 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.

About these ads
Categories: Corat Coret
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: