PEMROGRAMAN BERORIENTASI OBJEK

      No Comments

Pemrograman Berorientasi Objek

Summary of Pemrograman Berorientasi Objek I

Pemrograman Berorientasi Objek atau Object-Oriented Programming adalah paradigma pemrograman yang berfokus pada objek sebagai unit utama pemrograman. Dalam PBO atau OOP, sebuah program dibangun dari objek-objek yang saling terkait dan memiliki atribut (data) dan metode (fungsi) yang terkait. Tujuan dari Pemrograman Berorientasi Objek (PBO) adalah untuk memodelkan dunia nyata ke dalam program komputer dengan cara yang lebih mudah dipahami dan diorganisir. Dalam PBO, objek memiliki atribut (data) dan perilaku (method) yang dapat diakses dan dimanipulasi oleh objek lain.

Konsep Dasar Pemrograman Berorientasi Objek

  • Class

Class dalam PBO atau OOP (Object-Oriented Programming) adalah sebuah blueprint atau template yang digunakan untuk membuat objek. Class mendefinisikan atribut dan metode yang dimiliki oleh objek yang dibuat dari class tersebut. Atribut dalam class adalah variabel yang menyimpan data yang terkait dengan objek yang dibuat dari class tersebut. Sementara itu, metode dalam class adalah fungsi atau prosedur yang digunakan untuk memanipulasi data atau melakukan tindakan pada objek yang dibuat dari class tersebut.

  • Object

Objek dalam PBO atau OOP (Object-Oriented Programming) adalah instance dari sebuah class. Ketika sebuah class telah didefinisikan, objek dapat dibuat berdasarkan class tersebut. Setiap objek memiliki atribut dan metode sesuai dengan definisi classnya.

  • Encapsulation

Encapsulation dalam Pemrograman Berorientasi Objek (PBO) adalah konsep fundamental yang menggambarkan ide untuk membungkus data dan perilaku yang terkait dalam sebuah class, sehingga dapat diakses dan dimanipulasi hanya melalui method atau fungsi yang telah ditentukan. Encapsulation memungkinkan programmer untuk menyembunyikan detail implementasi dari objek, sehingga objek dapat digunakan tanpa harus mengetahui bagaimana objek tersebut bekerja di dalamnya. Dengan menggunakan encapsulation, programmer dapat membuat program yang lebih aman, lebih mudah dipahami, dan lebih mudah diubah. Encapsulation juga memungkinkan programmer untuk memanfaatkan kembali kode yang sudah ada di dalam program.

  • Inheritance

Inheritance atau pewarisan dalam PBO adalah konsep dimana sebuah class dapat mewarisi properti dan metode dari class yang sudah ada sebelumnya. Class yang mewarisi disebut subclass atau child class, dan class yang diwarisi disebut superclass atau parent class. Dalam inheritance, subclass akan memiliki semua metode dan variabel yang didefinisikan dalam superclass. Subclass juga dapat menambahkan metode atau variabel baru yang spesifik untuk kebutuhan subclass tersebut. Selain itu, subclass juga dapat mengubah atau meng-overwrite metode yang diwarisi dari superclass, sehingga dapat membuat metode tersebut berperilaku berbeda.

  • Polymorphism

Polymorphism dalam Pemrograman Berorientasi Objek (PBO) dapat diartikan sebagai kemampuan suatu objek untuk memiliki banyak bentuk atau perilaku. Dalam PBO, polymorphism dapat dicapai melalui dua cara, yaitu method overloading dan method overriding. Method overloading terjadi ketika sebuah class memiliki beberapa method dengan nama yang sama, tetapi parameter yang berbeda. Dalam kasus ini, ketika method tersebut dipanggil, compiler akan menentukan method mana yang harus dijalankan berdasarkan jumlah dan tipe parameter yang diberikan. Sedangkan method overriding terjadi ketika sebuah class turunan mengganti atau menimpa method dari class induk dengan implementasi yang berbeda. Dalam kasus ini, ketika method tersebut dipanggil pada objek dari class turunan, compiler akan menentukan method mana yang harus dijalankan berdasarkan jenis objek yang digunakan.

Perbedaan antara abstract class dan interface

  • Abstract class adalah sebuah class yang tidak dapat diinstansiasi, artinya tidak dapat dibuat objek langsung dari class tersebut. Abstract class digunakan sebagai blueprint atau cetak biru untuk membuat class turunan yang lebih spesifik. Abstract class dapat memiliki method abstrak dan non-abstrak, serta dapat memiliki variabel atau properti. Class turunan dari abstract class harus mengimplementasikan semua method abstrak yang ada di abstract class tersebut.
  • Interface adalah sebuah kontrak atau perjanjian yang menggambarkan perilaku atau kemampuan yang harus dimiliki oleh class yang mengimplementasikan interface tersebut. Interface hanya dapat memiliki method abstrak dan tidak dapat memiliki variabel atau properti. Class yang mengimplementasikan interface harus mengimplementasikan semua method yang ada di interface tersebut. Class dapat mengimplementasikan beberapa interface sekaligus.

Coupling dan cohesion

  • Coupling mengacu pada seberapa erat hubungan antara dua class atau objek dalam sebuah program. Jika class A sangat tergantung pada class B, maka coupling antara class A dan B dikatakan tinggi. Sebaliknya, jika class A dan B hanya saling bergantung pada interface yang minim, coupling antara class A dan B dikatakan rendah. Semakin rendah coupling antara class, semakin mudah program diubah dan dimodifikasi.
  • Cohesion mengacu pada seberapa terkait fungsi dan perilaku class. Jika semua method dalam sebuah class berkaitan dengan satu tujuan atau tanggung jawab, maka cohesion dikatakan tinggi. Sebaliknya, jika terdapat beberapa method dalam sebuah class yang tidak berkaitan dengan tujuan class tersebut, maka cohesion dikatakan rendah. Semakin tinggi cohesion dalam sebuah class, semakin mudah untuk memahami dan memelihara class tersebut.

Access modifier

Access modifier adalah fitur dalam PBO yang memungkinkan kita untuk mengatur akses ke anggota class seperti variabel dan method. Ada tiga jenis access modifier dalam PBO, yaitu private, protected, dan public. Berikut ini adalah perbedaan antara ketiga access modifier tersebut:

  • Private, digunakan untuk memberikan access hanya untuk anggota class itu sendiri. Anggota class yang dideklarasikan sebagai private tidak dapat diakses dari class lain, bahkan class turunan sekalipun.
  • Protected, digunakan untuk memberikan access kepada anggota class dan class turunannya. Artinya, anggota class yang dideklarasikan sebagai protected dapat diakses oleh class turunan dari class tersebut, tetapi tidak dapat diakses oleh class lain.
  • Public, digunakan untuk memberikan access yang paling terbuka, yaitu dapat diakses oleh semua class termasuk class turunan.

REFERENSI : 
Oracle. (n.d.). Java Tutorials - Learning the Java Language. Interfaces. https://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html
Oracle. (n.d.). Java Tutorials - Learning the Java Language. Abstract Methods and Classes. https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html
Suryanegara, M. (2018). Pengertian dan Contoh Cohesion dalam Pemrograman Berorientasi Objek. Dicoding. https://www.dicoding.com/blog/pengertian-dan-contoh-cohesion-dalam-pemrograman-berorientasi-objek/
Suryanegara, M. (2018). Pengertian dan Contoh Coupling dalam Pemrograman Berorientasi Objek. Dicoding. https://www.dicoding.com/blog/pengertian-dan-contoh-coupling-dalam-pemrograman-berorientasi-objek/
GeeksforGeeks. (2022). Access Modifiers in Java. https://www.geeksforgeeks.org/access-modifiers-java/
https://marsalfirdaus.wordpress.com/2018/01/23/pengertian-encapsulation-dan-polymorphism-pada-pemrograman-berorientasi-objek-pbo/
https://elib.unikom.ac.id/files/disk1/660/jbptunikompp-gdl-fahmimifta-32984-10-unikom_f-i.pdf
https://saniyatul.lecturer.pens.ac.id/Teori%20PBO%202022/T-%20Polymorfisme.pdf

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>