Siang Bro n Sis siang ini sambil saya nunggu kuliah jam 3 sore saya akan berikan sedikit share mengenai PBO apa sih PBO itu ? PBO adalah pemograman berorientasi objek yang dimana biasanya digunakan untuk penulisan dalam bahasa UML (Unified Model Languang) dan biasanya PBO ini kita mengimplementasikannya kedalam bahasa JAVA
berikut uraiannya
berikut uraiannya
ENCAPSULATION, INHERITANCE DAN POLYMORPHISM
A. ENCAPSULATION (PENGKAPSULAN)
Encapsulation
adalah proses pemaketan data bersama metode-metodenya dimana hal ini bermanfaat
untuk menyembeunyikan rincian-rincian implementasi dari pemakai. Dalam sebuah
objek yang mengandung variabel-variabel dan methodmethod, dapat ditentukan hak
akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan
method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut
dengan enkapsulasi.
Bagian eksternal dari sebuah objek sering disebut sebagai interface
atau antarmuka terhadap objek
lain. Karena objek lain harus berkomunikasi dengan obejk itu hanya melalui
antarmuka maka bagian internal objek dapat dilindungi dari gangguan luar.
Karena program luar tidak mengakses implementasi internal objek, maka
implementasi internal dapat berubah tanpa
mempengaruhi
bagian-bagian program lain.Di dalam Java, pengkapsulan dapat dilakukan dengan
pembentukan kelas-kelas menggunakan keyword class.
Sedangkan penyembunyian informasi dapat dilakukan dengan pengendalian tgerhadap
pengaksesan pembentuk kelas dengan keyword-keyword untuk kendali pengaksesan default,
private, protected, dan public.
Penyembunyian informasi deilakukan dengan implementasi penerapan kendari menggunakan
keyword private dan protected
pada
elemen data.
Ada 2 manfaat
utama dari enkapsulasi yaitu :
1.
Penyembunyian Informasi (information hiding)
Ha ini mengacu
kepada perlindungan terhadap implementasi obejk internal. Obejk
tersebut dari
interface public dan bagian private
yang merupakan kombinasi data
dan metode
internal. Manfaat utamanya adalah bagian internal dapat berubah tanpa
memepngaruhi
bagian-bagian program yang lain.
2. Modularitas
Modularitas
berarti objek dapat dikelola secara independen. Karena kode sumber
bagian
internal objek dikelola secara terpisah dari antarmuka, maka Kita bebas
melakukan
modifikasi yang tidak menyebabkan masalah pada bagian-bagian lain dari
sistem.
Manfaat ini mempermudah mendistriibusikan objek-objek dari sistem.
Untuk lebih
memahami berikut contoh Program dengan implementasi Enkapsulasi :
public
class Kapsul{
private
double panjang; // attribute yang disembunyikan
private
double lebar; // attribute yang disembunyikan
private
double tinggi; // attribute yang disembunyikan
public
Kapsul(){
double
panjang = 0;
double
lebar = 0;
}
private
double luas(double p, double l) { //attribute yang di enkapsulasi
return
p*l;
}
public
void setPanjang(double panjang) {
this.panjang
= panjang;
}
public
void setLebar(double lebar) {
this.lebar
= lebar;
}
public
double getPanjang() {
return
panjang;
}
public
double getLebar() {
return
lebar;
}
public
double getLuas() {
return
luas(panjang, lebar);
}
}
class
Encapsulasi{
public
static void main(String[] srgs) {
Kapsul pp
= new Kapsul();
pp.setPanjang(50);
pp.setLebar(100);
System.out.println("Panjang
: "+ pp.getPanjang());
System.out.println("Lebar
: "+ pp.getLebar());
System.out.println("Luas
: "+ pp.getLuas());
}
}
Dari program
di atas dapat dilihat bahwa deklarasi variabel disembunyikan dan pada saat
dilakukan
proses perkalian untuk mencari luas dilakukan
enkapsulasi. Program di atas akan
menghasilkan 2
class yaitu : class Kapsul
dan class Encapsulasi.
Kedua class ini berbeda.
Di
mana class
Kapsul merupakan kelas untuk pembentukan Objek dan
pemrosesan dalam pencarian
luas persegi
panjang. Sedangkan untuk class Encapsulasi merupakan
kelas untuk menampilkan
hasil dari proses tersebut.
B.
INHERITANCE (PEWARISAN)
Pewarisan
adalah proses penciptaan kelas baru dengan mewarisi karakteristik dari kelas
yang telah ada, ditambah dengan karakteristik unik dari kelas baru tersebut.
Dalam hirarki kelas, jika kelas C merupakan turunan kelas B, dan kelas B
merupakan turunan kelas A, maka otomatis attribute dan method kelas A juga diwariskan
kelas C. Setiap subclass akan
mewarisi state (variabel-variabel
) dan behaviour (
method-method ) dari superclass-nya.
Subclass kemudian
dapat menambahkan state dan
behaviour baru
yang spesifik dan dapat pula memodifikasi (override
) state dan
behaviour yang
diturunkan oleh superclass-nya.Keuntungan
dari inheritance adalah :
Subclass
menyediakan state/behaviour
yang spesifik yang membedakannya dengan
superclass,
hal ini akan memungkinkan programmer Java untuk menggunakan ulang
source
code dari superclass
yang telah ada.
Programmer
Java dapat mendefinisikan superclass khusus
yang bersifat generik,
yang disebut abstract
class, untuk mendefinisikan class
dengan behaviour
dan state
secara umum.
Kemudahan
dalam me-manage kelas yang memiliki data dan method yang sama
Untuk
memodifikasi suatu data atau method untuk semua subkelas / kelas anak, maka
tidak perlu
melakukan perubahan di masing-masing kelas anak melainkan hanya pada
kelas induk
saja.
Istilah dalam inheritance
yang perlu diperhatikan :
Extends
Keyword ini
harus kita tambahkan pada definisi class yang menjadi subclass.
Superclass
Superclass
digunakan untuk menunjukkan hirarki class yang berarti class dasar dari
subclass/class
anak.
Subclass
Subclass
adalah class anak atau turunan secara hirarki dari superclass.
Secara umum bentuk deklarasi
dalam kkonsep pewarisan adalah sebagai berikut
C.
POLYMORPHISM
Polymorphism
dapat diartikan sebagai memiliki banyak bentuk. Dua objek atau lebih
dikatakan
sebagai polymorphic bila
kedua objek tersebut mempunyai antarmuka identik namun mempunyai perilaku yang
berbeda. Dalam pemrograman, polimorfisme dapat diartikan sebagai modul yang
memiliki nama sama, namun memiliki behaviour (tingkah laku) yang berbeda
sehingga listing code implementasinya juga berbeda.
Kondisi yang
harus dipenuhi supaya polimorfisme dapat
diimplementasikan adalah :
Method
yang dipanggil harus melalui variabel dari basis class atau superclass.
Method
yang dipanggil harus juga menjadi method dari basis class.
Signature
method harus sama baik pada superclass maupun subclass.
Method
access attribute pada subclass tidak boleh lebih terbatas dari basis class.
sekian share hari ini thanks.
0 komentar:
Posting Komentar