Ilmu

Setiap Manusia tidaklah bodoh tapi hanya kurang mau menerima ilmu sehingga malas belajar

PBO

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


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