-->

Mengetahui Definisi dan Fungsi Pemrograman Berorientasi Objek (PBO)

Pemrograman Berorientasi Objek

Terdapat banyak perbedaaan dan jenis pendekatan dalam pengembangan suatu program, Pemrograman Berorientasi Objek hanya salah satunya saja. PBO merupakan suatu teknik atau cara untuk membuat program yang berorientasi pada objek. Sistem ini terdiri dari komponen (kelas/obyek) yang dapat melakukan interaksi dengan kelas/objek lainnya untuk menyelesaikan suatu tugas. Hubungan antar kelas dan objek dalam PBO ditunjukkan oleh gambar 1.
Cara pendeklarasian kelas dan objek pada program dengan bahasa C++ ditunjukkan pada Gambar 2.
Pemrograman Berorientasi Objek (PBO)

Mendefinisikan Kelas dan Isinya

Pada contoh program di atas terdapat pendefinisian satu kelas bernama ‘x’ yang didefinisikan pada baris 4-11. Kelas ‘x’ dalam program tersebut memiliki member data bernama ‘a’ yang terdapat pada baris ke 7. Selain itu, juga terdapat member fungsi bernama ‘b’ yang didefinisikan pada baris 9-10. Dalam program di atas terdapat keyword private: dan public: yang berfungsi mengatur akses member data dan fungsi yang terdapat di dalamnya. Member data atau fungsi yang terdapat dalam private:, hanya bisa diakses dari dalam kelas tersebut. Member data atau fungsi yang terdapat dalam public: dapat diakses dari luar kelas. Mekanisme data hiding dalam PBO adalah dengan meletakkan data ke dalam private:, sehingga data tidak bisa sembarangan di akses kecuali melalui member fungsi public: dalam kelas tersebut.

Mendefinisikan Objek dan Pemanggilan Member Fungsi dan Data

Statement pertama dalam main() pada baris ke-14 program di atas
x p1,p2 ;
menunjukkan pendefinisian dua objek bernama p1 dan p2 dari kelas ‘x’. Secara umum pendefinisian objek dari sutu kelas dapat dituliskan dengan aturan sebagai berikut :
nama_kelas nama_objek;
Baris berikutnya dalam program di atas menunjukkan bagaimana cara untuk memanggil member data atau member fungsi dari kelas oleh objek yang ditunjukkan pada baris ke 16 dan 17 sebagai berikut :
p1.b();
p2.a;
Baris program diatas menunjukkan bahwa objek p1 memanggil member fungsi b(), dan p2 memanggil member data ‘a’ dengan bantuan operator period (.). Hal ini disebabkan ‘a’ dan ‘b()’ merupakan member dari kelas, maka untuk pemanggilannya harus dihubungkan dengan objek dari kelas tersebut. Secara umum pemanggilan member fungsi atau data oleh objek dari kelas adalah sebagai berikut :
nama_objek.nama_fungsi_atau_data;
Saat program pada gambar 2 dijalankan akan muncul error, coba amati dan tunjukkan apa yang salah dalam program di atas.

Akses data melalui Member Fungsi

Seperti yang telah dijelaskan sebelumnya, member data yang diletakkan dalam private: hanya dapat diakses oleh member fungsi dalam kelas yang sama. Gambar 3 menunjukkan listing program untuk memasukkan nilai ke dalam data yang terdapat dalam private: melalui member fungsinya.

Pemrograman Berorientasi Objek (PBO)

Konstruktor

Ketika banyak objek yang di buat maka akan lebih mudah jika objek dapat menginisialisasi dirinya sendiri ketika pertama dibuat, tanpa membutuhkan panggilan ke member function. Inisialisasi otomatis ini dapat dilakukan dengan menggunakan member function khusus disebut Konstruktor. Konstruktor terekseskusi secara otomatis kapanpun objek dibuat. Ciri utama konstruktor memiliki nama yang sama dengan nama kelas. Format penulisan konstruktor dalam program adalah sebagai berikut.
nama_kelas() : member_data(nilai)
{ }
Berikut adalah contoh program dengan konstruktor tanpa argumen
Pemrograman Berorientasi Objek (PBO)
Baris ke 9 merupakan konstruktor yang ditunjukkan dengan ciri memiliki nama yang sama dengan nama kelas. Setiap ada objek yang dibuat (baris 18), konstruktor bekerja mengisi nilai data ‘i’ dengan 33.

Overloaded Constructor

Overloaded constructor merupakan suatu kondisi terdapat lebih dari satu konstruktor dalam satu kelas dengan nama yang sama. Kondisi ini dapat terjadi dikarenakan adanya pendefinisan objek dengan jumlah argument yang berbeda. Argumen adalah nilai yang diberikan antara program, fungsi atau subrutin. Contoh program yang mengandung overloaded constructor ditunjukkan dalam Gambar 5.
Pemrograman Berorientasi Objek (PBO)
Program dalam gambar 5 diatas menunjukkan bahwa ketika objek s1 dan s3 didefinisikan konstruktor 1 dipanggil secara otomatis. Saat objek s2 dengan dua argument didefinisikan maka konstruktor ke-2 aktif.

Fungsi yang Didefinisikan di Luar Kelas

Member fungsi tidak harus selalu didefinisikan di dalam kelas. Suatu fungsi dapat saja didefinisikan di luar kelas dengan tetap memberikan deklarasi terlebih dahulu di dalam kelas. Berikut contoh penerapannya yang dapat dilihat pada gambar 6.
Pemrograman Berorientasi Objek (PBO)
Fungsi display dideklarasikan di dalam kelas ITTP sehingga fungsi display tetap dikenali oleh program sebagai bagian dari kelas ITTP (baris 15). Fungsi display didefiniskan di luar kelas tampak pada baris 18-22 dengan format penulisan sebagai berikut :
void nama_kelas::nama_fungsi()
{ }

Objek Sebagai Fungsi Argumen

Data dari suatu objek dapat menjadi masukan bagi objek yang lain dengan memanfaatkan objek sebagai argument. Contoh program terlihat pada gambar 7
Pemrograman Berorientasi Objek (PBO)
Pemrograman Berorientasi Objek (PBO)
Contoh penggunaan Objek sebagai argument diberikan pada baris ke 47, dimana objek s3 menggunakan objek s1 dan s2 sebagai argument. Format penulisannya dalah sebagai berikut :
nama_objek.nama_fungsi(namaobjek1, namaobjek2,…dst);
Pemanggilan data pada tiap objek ditunjukkan pada baris 24-30. p1 dan p2 merupakan variable pengganti untuk objek s1 dan s2. Untuk mendapatkan data dari objek digunakan operator period(.). Hal ini ditunjukkan pada baris ke 26-29. Sebagai salah satu contoh untuk mendapatkan nilai data ‘i’ dari objek s2, maka cara pemanggilannya adalah dengan p2.i.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel

close