Konsep OOP(Enkapsulasi, Inheritas, Polymorphisme, Package)
1.
Enkapsulasi
Enkapsulasi adalah pembungkus,
pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak
dapat diakses secara sembarangan oleh program lain. Dalam Java, dasar
enkapsulasi adalah class. Anda membuat suatu class yang menyatakan bahwa
variable atau method sebuah class tidak dapat diakses oleh
class lain dengan menjadikan class tersebut private, atau menjadikan
class tersebut protected yaitu hanya bisa diakses
oleh turunannya, atau menjadikan class tersebut public yaitu bisa diakses oleh sembarang class.
Dengan
melakukan enkapsulasi pada data, berarti kamu membuat data dari sistemmu lebih
secure dan terpercaya. Karena kamu mengetahui bagaimana data diakses dan
operasi apa yang sedang berjalan pada data. Hal ini membuat maintenance program
menjadi lebih mudah. Kamu juga dapat memodifikasi metode yang digunakan untuk
kerja pada data, dan jika kamu tidak merubah bagaimana metode itu diminta dan
tipe response dikirim balik, maka kamu tidak dapat merubah object lain dengan
menggunakan metode tersebut .
Ada dua hal yang mendasar dari
enkapsulasi yaitu information hiding dan interface to access data.
·
Information hidingmaksudnya adalah menyembunyikan
informasi dari suatu class agar tidak bisa diakses oleh class lainnya dengan
cara memberikan modifier private pada variabel
yang akan disembunyikan.
·
Interface to access datasesuai dengan namanya, digunakan untuk
mengakses nilai dari suatu variabel yang telah disembunyikan oleh information hiding baik itu mengambil nilai
ataupun mengubah nilai. Hal ini dilakukan dengan
menggunakan method, dengan method ini kita dapat mengakses variabel yang telah
mengalami information hiding.
Enkapsulasi terbagi menjadi 3 jenis,
yaitu public, protected, dan private.
·
Public
Merupakan suatu modifier yang memungkinkan setiap variabel maupun method yang
dideklarasikan dengan dalam class public ini dapat diakses oleh setiap
class baik dalam package yang sama maupun package yang berbeda.
·
Protected
Merupakan suatu modifier yang digunakan untuk memproteksi suatu class.
Sehingga hanya class dan subclass tersebutlah yang dapat mengakses varibel
maupun method dalam class tersebut, baik dalam package yang sama maupun dalam
package yang berbeda.
·
Private
Merupakan kata kunci yang dideklarasikan dalam suatu class agar setiap variabel
dan method yang berada dalam class private ini hanya dapat diakses oleh class
yang sama. Didalam bahasa pemgrograman java class yang bersifat private
memproteksi agar semua variabel dan methodnya tidak dapat di akses oleh semua
subclass dan non subclass di package yang sama, dan subclass dan non subclass
di package yang berbeda.
Contoh:


Jika modifiernya public dan protected maka
variabel tersebut dapat dipanggil pada subclassnya. Sedangkan jika
modifiernya private maka variabel tersebut
tidak dapat dipanggil pada subclass. Dapat terlihat variabel “namaAwal”
memiliki modifier private. Jadi, pada subclass yaitu
class web, variabel “namaAwal” memiliki garis bawah berwarna merah yang berarti
syntax tersebut error.
2.
Inheritance
Inheritance
atau pewarisan dalam pemrograman berorientasi objek adalah suatu teknik
dimana suatu class dapat mewarisi attribut maupun method-method yang
dimilikinya pada class lain (disebut subclass).
Pewarisan
adalah sifat dalam pemrograman berorientasi objek yang memungkinkan programmer
untuk membuat kelas baru yang lebih spesifik ataupun di perluas dari kelas yang
telah ada tanpa harus membuat ulang attribut maupun method yang sudah
dideklarasikan pada class sebelumnya. (kecuali menggunakan modifier private).
Untuk menggunakan Inheritance /
pewarisan, menggunakan kata kunci yaitu “extend”.
Suatu
Subclass juga dapat memanggil constructor yang terdapat di superclass
menggunakan kata kunci “super”. Kata kunci super juga dapat digunakan untuk
merujuk pada anggota dari superclass, hal ini sama dengan penggunaan
referensi “this”.
Contoh
:
Suatu
Subclass juga dapat memanggil constructor yang terdapat di superclass
menggunakan kata kunci “super”. Kata kunci super juga dapat digunakan untuk
merujuk pada anggota dari superclass, hal ini sama dengan penggunaan
referensi “this”.
Contoh
super :

Contoh
turunan :

3.
Polimorfisme (Polymorphism)
·
Polimorfisme
berarti kelas-kelas yang berbeda tetapi berasal dari satu orang tua dapat
mempunyai metode yang sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan
kata lain, suatu fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas
yang berbeda-beda.
·
Polymorphism
adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu
keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan
tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing
obyek.
Atau
Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa
(override), suatu method, yang berasal dari parent class (super class) dimana
object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Overloading
method adalah suatu teknik dimana didalam suatu class terdapat method dengan
nama yang sama namun prilaku yang berbeda.
Aturan
penulisannya :
1.
Nama
Method harus sama
2.
Parameter
harus berbeda
3.
Tipe
Kembalian boleh sama ataupun berbeda
Contoh
overloading :

Contoh
Override (Menimpa Method “hitung” dari super class “overloadingMethod”):
1.
Super class
:

2.
Sub class

3.
Package
Package
adalah koleksi dari beberapa class dan interface yang saling berhubungan.
Package ini sangat berguna sekali saat memiliki class yang banyak. Package
membantu mengelompokan class sesuai yang diinginkan. Satu hal yang menjadi
catatan saat membuat package adalah melatakan class yang memiliki package yang
sama dalam satu direktori / folder, dan nama folder harus sama dengan nama
package.

EmoticonEmoticon