Minggu, 14 Juli 2013

Belajar pemrograman C++

 Saat bekerja dengan OOP, kita pasti akan berhadapan dengan yang dinamakan classkarena merupakan template / cetakan dari sebuah objek. Di Ambon, makanan khas kami adalah Sagu. Untuk membuat sagu kami biasanya menggunakan porna. Sagu yang masih mentah, disebutSagu manta, akan dimasukkan ke dalam porna ini untuk kemudian dibakar. Dari sebuah porna kita bisa memperoleh beberapa buah sagu. Setelah sagu menjadi masak dan disiap dimakan, porna yang sudah dipakai bisa dipakai lagi untuk membuat sagu yang lain. Untuk itu porna bisa juga kita pahami sebagai template / cetakan untuk membuat objek yang disebut Sagu bakar.

Bentuk Umum Sebuah Class

class nama_kelas
{

};

Berikut ini adalah beberapa catatan penting yang perlu diperhatikan dari bentuk umum ini:
  • kata kunci class, menunjukkan bahwa kita hendak membuat sebuah kelas dan harus ditulis menggunakan huruf kecil.
  • nama_kelas adalah nama dari kelas yang hendak kita buat. Sebaiknya nama ini bisa melukiskan fungsi dari kelas tersebut. Sebagai contoh, kita hendak membuat kelas untuk menyimpan data diri dari seorang mahasiswa, maka sebaiknya nama kelas yang digunakan adalah Mahasiswa atauDataMahasiswa. Perlu juga untuk diperhatikan aturan pemberian nama kelas: (1) Selalu dimulai dengan huruf Besar, misal Mahasiswa (2) Jika terdapat lebih dari satu suku kata maka setiap suku kata selalu dimulai dengan huruf besar, misal DataMahasiswa.
  • Jangan melupakan tanda titik koma ';' untuk mengakhiri deklarasi dari sebuah kelas.

Posisi Penulisan Class dan Fungsi Utama

Andaikan kita akan mendeklarasikan kelas di dalam sebuah file yang terdapat fungsi utama, maka struktur program kita adalah sebagai berikut:

#include< …>
#include
using namespace std;

class Mahasiswa
{

};

class Dosen
{

};


int main()
{
//body fungsi utama

return 0;
}

Class Sebagai Tipe Data

Selama ini kita sudah mengenal beberapa macam tipe data sepertiint, float, double dll. Kelas juga bisa digunakan sebagai tipe data dari sebuah variable. Sebagai contoh, andaikan kita mempunyai kelas dengan nama Mahasiswa dan kita hendak mendeklarasikan sebuah variabel bertipe Mahasiswa maka penulisannya adalah sebagai berikut:

Mahasiswa mhs;

Pendeklarasian sebuah variabel yang memiliki tipe kelas tertentu bisa juga dipahami sebagai proses pembuatan objek. Pada contoh di atas kita memiliki sebuah objek dengan nama mhs.

Membuat Objek

Pembuatan objek bisa dilakukan dengan mendeklarasikan sebuah varibel bertipe kelas tertentu seperti yang sudah dijelaskan di atas. Bisa juga dilakukan dengan menggunakan pointer, seperti berikut:

Mahasiswa *mhs1 = new Mahasiswa();

Keunggulan menggunakan pointer adalah kita bisa membuat objek pada saat program dijalankan – runtime. Penting untuk diingat setiap objek yang sudah diciptakan (menggunakan pointer) harus dihapus jika sudah tidak dibutuhkan lagi menggunakan perintah delete.

delete (mhs);

Membuat Sebuah Class

Sebuah kelas bisa memiliki variabel/attribute dan fungsi/method. Setiap variabel dan fungsi ini memiliki beberapa sifat sepertiprivateprotected dan public. Ketiga sifat ini disebuh access specifiers dan digunakan untuk menentukan siapa yang berhak mengakses variabel dan fungsi.

Berikut ini adalah bentuk umum sebuah kelas yang berisi variabel, fungsi dan access specifiers:

class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private

protected:
//deklarasi variabel dan fungsi yang bersifat protected

public:
//deklarasi variabel dan fungsi yang bersifat public

};

Mengenal Konstruktor dan Destruktor

Di dalam sebuah kelas terdapat dua buah fungsi/method spesial. Disebut spesial karena kita tidak akan pernah memanggil fungsi tersebut secara langsung namun fungsi ini akan dijalankan secara otomatis. Fungsi Konstruktor (constructor) adalah fungsi yang dipanggil pada saat pembuatan sebuah objek. Sedangkan fungsi Destruktor (destructor) adalah fungsi yang dipanggil pada saat penghancuran sebuah objek.

Pertanyaan yang menarik bagi kita adalah “kapan sih sebuah objek dihancurkan” ? Jawabannya adalah saat objek itu sudah tidak lagi digunakan. Untuk objek yang dibuat menggunakan pointer, objek ini akan dihancurkan hanya pada saat kita memanggil perintah delete. Sedangkan untuk objek yang dibuat tanpa menggunakan pointer, objek tersebut akan dihancurkan jika keluar dari scope objek / variabel tersebut. Pembahasan tentang scope sudah pernah dibahas sebelumnya. Agar lebih memahami cobalah memahami source codeyang disertakan pada tulisan ini.

Sifat spesial yang lain dari kedua fungsi ini adalah nama. Kedua fungsi memiliki nama yang sama dengan nama kelas. Namun yang membedakan, untuk fungsi Destruktor ditambahkan tanda 'cacing'didepan nama fungsi. Sebagai contoh, jika kita mempunyai kelas dengan nama Mahasiswa maka nama fungsi konstruktor dari kelas ini adalah Mahasiswa() sedangkan nama fungsi destruktor dari kelas ini adalah ~Mahasiswa(). Kedua fungsi ini biasanya bersifatpublic.

Dengan demikian bentuk umum dari sebuah kelas adalah sebagai berikut:

class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private

protected:
//deklarasi variabel dan fungsi yang bersifat protected

public:
//deklarasi variabel dan fungsi yang bersifat public

Mahasiswa()
{
//body dari konstruktor

}

~Mahasiswa()
{
//body dari destruktor

}

};
download source Code

Tidak ada komentar:

Posting Komentar