WhatsApp-Button
Karakteristik Pemrograman Berorientasi Objek (PBO)

Karakteristik Pemrograman Berorientasi Objek (PBO)

  2020-09-04 16:43:08     Ulti Desi Arni     Dibaca 101 kali

Pemrograman Berorientasi Objek (PBO) disusun dan dipahami oleh ilmuwan yang memandang dunia sebagai populasi objek yang berinteraksi dengan yang lain. Prosedur yang digunakan dalam objek dipandang sebagai kepentingan kedua karena tergantung pada objek itu sendiri. Tentunya hal tersebut berbeda dengan pemrograman terstruktur.

Pemrograman Berorientasi Objek (PBO) adalah metode pemrograman yang meniru bagaimana cara kita memperlakukan suatu benda. Pemrograman Berorientasi Objek memiliki tiga karakteristik, yaitu :

  1. Pengakapsulan (Encapsulation)

Pengkapsulan atau Encapsulation yaitu mengkombinasikan suatu struktur dengan fungsi yang memanipulasi untuk membentuk tipe data baru yaitu kelas (class). Kelas akan menutup rapat data ataupun kode. Akses item di dalam kelas dikendalikan. Pengendalian ini tidak hanya berupa data tetapi juga kode. Saat kelas akan digunakan, kelas harus sudah dideklarasikan. Yang penting, pemakai kelas mengetahui deskripsi kelas, tetapi bukan implementasinya. Bagi pemakai, detail internal kelas tidak penting. Konsep ini disebut penyembunyian informasi (information hiding).

Untuk menggunakan kelas, kita perlu mengetahui sesuatu tentangnya. Kita perlu mengetahui fungsi apa yang bisa digunakan dan data apa saja yang dapat diakses. Fungsi yang dapat digunakan dan data yang dapat diakses disebut antarmuka pemakai (user interface).

Antarmuka pemakai menceritakan bagaimana kelas berperilaku, bukan bagaimana kelas dibuat. Kita tidak perlu mengetahui implementasi kelas. Sekali kelas dibuat, kita bisa memakainya berulang-ulang. Bagi pandangan pemakai, kelas adalah kotak hitam dengan perilaku tertentu.

Baca Juga : Jasa Menajemen Medsos Perusahaan

Kendali Akses terhadap kelas

Tugas kelas adalah untuk menyembunyikan informasi yang tidak diperlukan oleh pemakai. Ada tiga macam pemakai kelas:

  1. Kelas itu sendiri
  2. Pemakai umum
  3. Kelas turunan

Setiap macam pemakai mempunyai hak aksesnya masing-masing. Hak akses ini ditandai dengan kenampakan anggota kelas. Kelas pada C++ menawarkan tiga aras kenampakan anggota kelas (baik anggota data maupun fungsi anggota):

  • Private

Anggota kelas private mempunyai kendali akses yang paling ketat. Dalam bagian private, hanya fungsi anggota dari kelas itu yang dapat mengakses anggota private atau kelas yang dideklarasikan sebagai teman (friend).

  • Public

Dalam bagian public, anggotanya dapat diakses oleh fungsi anggota kelas itu sendiri, instance kelas, fungsi anggota kelas turunan. Suatu kelas agar bisa diakses dari luar kelas, misalnya dalam fungsi main(), perlu mempunyai hak akses publik. Hak akses ini yang biasanya digunakan sebagai perantara antara kelas dengan dunia luar.

  • Protected

Suatu kelas dapat dibuat berdasarkan kelas lain. Kelas baru ini mewarisi sifat-sifat dari kelas dasarnya. Dengan cara ini bisa dibentuk kelas turunan dari beberapa tingkat kelas dasar. Bila pada kelas dasar mempunyai anggota dengan hak akses terproteksi, maka anggota kelas ini akan dapat juga diakses oleh kelas turunannya.

  1. Pewarisan (Inheritance)

Pewarisan atau Inheritance adalah mendefinisikan suatu kelas dan kemudian menggunakannya untuk membangun hirarki kelas turunan, yang mana masing-masing turunan mewarisi semua akses kode maupun data kelas dasarnya.

Suatu kelas dapat diciptakan berdasarkan kelas lain. Kelas baru ini mempunyai sifat-sifat yang sama dengan kelas pembentuknya, ditambah sifat-sifat khusus lainnya. Dengan pewarisan kita dapat menciptakan kelas baru yang mempunyai sifat sama dengan kelas lain tanpa harus menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (codereuse).

Jika tidak ada fasilitas pewarisan ini, maka pemrograman dalam C++ akan tidak banyak berbeda dengan pemrograman C, hanya perbedaan dalam pengkapsulan saja yang menggunakan kelas sebagai pengganti struktur.

Yang perlu menjadi catatan di sini adalah bahwa data dan fungsi yang dapat diwariskan hanya yang bersifat public dan protected. Untuk data dan fungsi private tetap tidak dapat diwariskan. Hal ini disebabkan sifat protected yang hanya dapat diakses dari dalam kelas saja.

Sifat pewarisan ini menyebabkan kelas-kelas dalam pemrograman berorientasi objek membentuk hirarki kelas mulai dari kelas dasar, kelas turunan pertama, kelas turunan kedua dan seterusnya. Sebagai gambaran misalnya ada hirarki kelas unggas.

Baca Juga : Jasa Branding Perusahaan

Sebagai kelas dasar adalah Unggas. Salah satu sifat Unggas adalah bertelur dan bersayap. Kelas turunan pertama adalah Ayam, Burung dan Bebek. Tiga kelas turunan ini mewarisi sifat kelas dasar Unggas yaitu bertelur dan bersayap.

Selain mewarisi sifat kelas dasar, masing-masing kelas turunan mempunyai sifat khusus, Ayam berkokok, Burung terbang dan Bebek berenang. Kelas Ayam punya kelas turunan yaitu Ayam Kampung dan Ayam Hutan. Dua kelas ini mewarisi sifat kelas Ayam yang berkokok.

Tetapi dua kelas ini juga punya sifat yang berbeda, yaitu: Ayam Kampung berkokok panjang halus sedangkan Ayam hutan berkokok pendek dan kasar. Jika hirarki kelas Unggas diimplementasikan dalam bentuk program, maka secara sederhana dapat ditulis sebagai berikut:

Dapat dilihat, bahwa kelas Ayam dan kelas Bebek dapat menjalankan fungsi Bertelur() yang ada dalam kelas Unggas meskipun fungsi ini bukan merupakan anggota kelas Ayam dan kelas Bebek. Kelas Ayam Kampung dapat menjalankan fungsi Berkokok() yang ada dalam kelas Ayam walaupun dua fungsi tersebut bukan merupakan anggota kelas Ayam Kampung. Sifat-sifat di atas yang disebut dengan pewarisan (Inheritance).

  1. Polimorphisme (Polymorphism)

Polimorfisme atau Polymorphism yaitu memberikan satu aksi untuk satu nama yang dipakai Bersama pada satu hirarki kelas, yang mana masing-masing kelas hirarki menerapkan cara yang sesuai dengan dirinya. Polimorfisme berasal dari bahasa Yunani, (banyak) dan (bentuk).

Fungsi-fungsi dari suatu kelas dasar didefinisikan ulang atau ditindih pada kelas turunan, maka objek-objek yang dihasilkan hirarki kelas berupa objek polimorfik. Polimorfik artinya mempunyai banyak bentuk atau mempunyai kemampuan untuk mendefinisikan banyak bentuk.

Fungsi dari adanya polymorpishm adalah untuk mendapatkan metode yang sama dengan perilaku yang berbeda-beda dari class.

Mekanisme dari Polymorphism, ialah:

  1. Murni dengan bahasa OOP, small talk semua object merupakan bagian yang sama dari hirarki object.
  2. C++ sebagai hybrid bahasa OOP, membutuhkan pointer ke super class object (sebuah pointer dari superclass dapat menunjuk langsung ke subclass tanpa seleksi).

Metode polymorpishm pada C++ :

  1. Superclass mendefinisikan metode yang virtual (polymorpic).
  2. Subclass dapat mendefinisikan sendiri bagaimana versi mereka tentang virtual metodenya.

 

Penulis : Purnama


Sukai/Like Fan Page Facebook Garuda Cyber Indonesia
Subscribe Channel Youtube Garuda Cyber Indonesia
Follow Instagram Garuda Cyber Indonesia
Chat Wa

Signup for Newsletter

Langganan Newsletter dari Garuda Cyber untuk mendapatkan informasi terupdate dari Garuda Cyber Indonesia