Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 2     Hai teman teman-teman History Rahmat, setelah sebelumnya saya membahas mengenai...

Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 2

 

Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 2

   Hai teman teman-teman History Rahmat, setelah sebelumnya saya membahas mengenai Pemrograman Berorientasi Objek (PBO) Bagian 1. Pada artikel kali ini saya akan melanjutkan pembahasan mengenai Pemrograman Berorientasi Objek (PBO) Bagian 2. Setelah sebelumnya membahas mengenai keuntungan dan komponen-komponen dasar pemrograman berorientasi objek  seperti kelas, objek, data, method dan Hirarki Kelas. Pada artikel kali ini saya akan membahas mengenai fitur-fitur utama paradigma pemrograman berorientasi objek yang meliputi Abstraction (Abstraksi), Encapsulation (Enkapsulasi), Inheritance (Pewarisan) dan Polymorphism (Polimorfisme). Berikut adalah pengertian mengenai fitur-fitur tersebut:

Abstraction (Abstraksi)


Menurut (Olexiy Tykhomyrov, 2002) Abstraksi adalah representasi data dan behavior dari tipe objek baru didalam suatu kelas. Ketika tipe baru dari suatu kelas di definisikan, maka akan membuat satu objek atau lebih dengan tipe baru tersebut yang dapat di gunakan kembali atau istilah lainnya adalah object instantiated (inisialisasi atau pembuatan objek baru).

Setelah proses object instantiated (inisialisasi atau pembuatan objek baru), maka objek sudah dikatakan memiliki state dan behavior. State adalah suatu objek yang ditentukan oleh nilai saat ini dari data (instance variable). Behavior adalah suatu objek yang ditentukan oleh methods (fungsi) baik itu dari member methods (variable yang menjadi anggota method) maupun instance methods (method lainnya).

Abstraksi menjadi suatu pembeda objek satu dengan objek lainnya. Contoh sederhana dari suatu abstraksi adalah ketika suatu objek Smartphone yang memiliki state / instance variable berbeda dengan objek komputer lainnya seperti merk dan spesifikasi. Kemudian objek Smartphone tentunya juga memiliki behavior / method yang berbeda juga seperti Objek Smartphone Samsung Z Fold 3 memiliki behavior dapat dilipat dan di buka kembali.


Encapsulation (Enkapsulasi)



Menurut (Olexiy Tykhomyrov, 2002) Enkapsulasi adalah konsep untuk menyembunyikan implementasi dari kelas dan hanya menampilkan interface (penghubung antar objek). Semua yang berkaitan behavior dari kelas yang di enkapsulasi seperti method dan atribut akan di sembunyikan dan hanya dapat mengakses interface dari kelas tersebut. Tujuan dari enkapsulasi ini adalah untuk menyembunyikan informasi dan menjaga keamanan data dari kelas yang terenkapsulasi.

 

Sebagai contoh dari enkapsulasi adalah ketika kita mengemudi objek mobil untuk perjalanan ke suatu tempat. Dimana mekanisme mengemudi adalah hasil dari enkapsulasi. Semua orang tidak harus tau informasi siapa yang mengemudi, akan tetapi orang tau jika pengemudi mobil memutar setir nya ke kanan, maka mobil akan berbelok ke kanan. Jadi orang hanya tau interface dari objek mobil yaitu mengemudi. Pendekatan ini berfungsi untuk menyembunyikan informasi yang berada pada objek mobil (termasuk informasi siapa yang mengemudi dan atribut lain yang berada di dalam objek mobil) dan hanya menampilkan interface / antarmuka objek mobil melalui enkapsulasi.

Inheritance (Pewarisan)



Menurut (Olexiy Tykhomyrov, 2002) Inheritance (Pewarisan) di dalam Pemrograman Berorientasi Objek adalah suatu konsep suatu kelas yang dapat mewarisi atribut dan karakteristik dari kelas lain. Kelas yang diwarisi di sebut dengan subclass atau child class, sedangkan kelas yang mewarisi disebut dengan superclass atau parent class. Pewarisan sering disebut sebagai perluasan dari superclass. Pewarisan bersifat hierarkis. Dengan kata lain, sebuah kelas mungkin merupakan subclass dari satu kelas dan superclass dari kelas lain. Kelas turunan atau subclass mewarisi representasi data dan perilaku (behavior) superclass kecuali jika kelas turunan memodifikasi perilaku dengan mengganti methods. Kelas turunan juga dapat menambahkan representasi dan perilaku data baru yang unik untuk tujuannya sendiri. Sebuah program biasanya dapat membuat instance objek dari superclass dan juga kelas turunanya / subclass.

 

Sebagai contoh analogi dari Pewarisan adalah seseorang yang membeli rumah tua. Rumah tua tersebut bertindak sebagai parent class atau superclass. Setelah membelinya, orang tersebut biasanya tidak merobohkan rumah tua tersebut atau membangunnya kembali dari awal, akan tetapi orang tersebut memilih untuk memperbaiki rumah tuanya. Dalam istilah Pemrograman berorientasi objek berarti orang tersebut telah menurunkan suatu rumah baru dari rumah yang tuanya, atau dengan kata lain, dia memperluasnya, jadi dia membangun subclass dari rumah yang sudah ada. Rumah baru mewarisi dari rumah tuanya.

Polymorphism (Polimorfisme)



Menurut (Olexiy Tykhomyrov, 2002) Kata polimorfisme berasal dari bahasa Yunani. Itu berarti sesuatu seperti "satu hal, banyak bentuk". Dalam konsep pemrograman berorientasi objek polimorfisme mewakili gagasan "satu interface / antarmuka, banyak method / behavior" dan berarti bahwa fungsi atau operator tidak secara implisit dikenali oleh kompiler. Akan tetapi pada bahasa pemrograman Java tidak mendukung overloading operator, tetapi mendukung overloading dan overriding method.


Sebagai contoh analogi dari Polimorfisme adalah mari kita lihat objek mobil lagi dan katakan bahwa polimorfisme agak mirip dengan transmisi otomatis di mobil. Misalkan, mobil memiliki tiga fungsi: Netral, Maju, Mundur. Kita tahu, bahwa hanya ada satu method yang disebut Mundur. Setiap kali kami memilih Netral, mesin mobil terputus dari mekanisme transmisi. Saat mengendarai mobil untuk bergerak maju, kita akan memilih transmisi (method) Maju. Bergantung pada berbagai rangkaian kondisi saat runtime, mekanisme sistem transmisi otomatis memutuskan versi transmisi (method) Maju yang akan diterapkan dalam setiap situasi konkret. Secara spesifik dari fungsi (method) tersebut akan digunakan tergantung pada situasi saat ini. Ini adalah analogi dengan apa yang disebut polimorfisme runtimeOleh karena itu, mobil menunjukkan perilaku polimorfik saat melaju ke arah depan, tetapi menunjukkan perilaku non-polimorfik saat mundur.


Baik itulah sedikit pembahasan mengenai 4 fitur utama di paradigma Pemrograman Berorientasi Objek yang telah kita bahas. 
Sekian sharing pengetahuan mengenai Pemrograman Berorientasi Objek pada bagian 2 ini dari saya. Semoga Bermanfaat :D

Sumber : Introducing to Object-Oriented Programming (Olexiy Tykhomyrov)

Baca Juga : Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 1

2 komentar:

  1. Hello brow.... izin, nempatin backlink.... https://www.indigoanalyst.eu.org/

    BalasHapus