Selasa, 23 Desember 2014

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.

0 komentar:

Posting Komentar

  • Blogroll

  • About

    Matakuliah E-Application Dosen Pengampu I Putu Agus Pratama,S.T., M.T Jurusan Teknologi Informasi Fakultas Teknik Universitas Udayana