Setelah sebelumnya membahas mengenai Object, Class, Method ataupun Construktor , pada postingan kali ini saya akan beri sedikit pengetahuan mengenai Abstaksi ,Enkapsulasi ,Pewarisan, dan Polimorfisme pada Pemrograman Java berorientasi objek atau OOP.
Abstraksi
Abstraksi adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
Abstraksi pada dasarnya adalah :
- Menemukan hal-hal yang esensial pada suatu object dan mengabaikan hal-hal yang sifatnya insidental
- Pada pengembangan sistem informasi, ini berarti memfokuskan pada :
- Apa itu Objek
- Apa ciri-ciri yang dimiliki object itu (atribut)
- Apa yang bisa dilakukan oleh object itu (fungsi) sebelum memutuskan bagaimana ia diimplementasikan.
Sebagai contoh apabila kita melihat sebuah Sepeda Motor, kita tidak perlu mengetahui susunan komponen mesin dan komponen elektris lainnya yang sangat kompleks. Namun kita hanya memahami sepeda motor sebagai suatu entitas/sistem yang memiliki karakteristik tersendiri, yang ketika dinyalakan bisa digunakan sebagai alat transportasi. Dengan pemahaman yang sederhana ini maka ketika kita memakai sepeda motor, kita tidak perlu tahu betapa rumit komponen dan rangkaian yang menyusun sebuah sepeda motor. Karena yang perlu kita ketahui adalah bagaimana cara sepeda motor tersebut dikendalikan.
Enkapsulasi
Enkapsulasi adalah pembungkusan suatu variabel dan method dalam sebuah objek yang memiliki interface untuk mengakses variabel tersebut, hal ini bertujuan untuk menjaga proses dan memberi hak akses dalam mengakses variabel dan method tersebut.
Enkapsulasi
Enkapsulasi adalah pembungkusan suatu variabel dan method dalam sebuah objek yang memiliki interface untuk mengakses variabel tersebut, hal ini bertujuan untuk menjaga proses dan memberi hak akses dalam mengakses variabel dan method tersebut.
- Information heading adalah penyembunyian informasi dari suatu class agar tidak dapat di akses dari luar class dengan cara memberi akses kontrol private saat mendeklarasikan method tersebut.
- Interface to access data adalah cara untuk merubah nilai dari suatu atribut atau variabel yang telah di sembunyikan.
Contoh program java, buat 2 buah class dan beri nama masing-masing yaitu segitigaMain_A dan segitiga_A . Pada segitigaMain_A ketikkan syntax berikut :
package konstruktorDanPewarisan;
public class segitigaMain_A{
public static void main(String[] args) {
segitiga_A tes= new segitiga_A();
tes.cari();
}
}
Pada segitiga_A ketikan syntax :
package konstruktorDanPewarisan;
public class segitiga_A {
private int alas= 10;
private int tinggi=6;
private int luas;
void cari(){
System.out.println("alas = "+alas);
System.out.println("tinggi = "+tinggi);
luas=(int) (alas*tinggi*0.5);
System.out.println("luas = "+luas);
}
}
Output :
Pewarisan
Pewarisan (inheritance) pada dasarnya mengijinkan objek dari suatu kelas untuk mengakses data & fungsi yang termuat dalam kelas lebih dahulu terdefinisi tanpa harus mendefinisikan ulang. Pewarisan memungkinkan kita untuk menciptakan kelas baru (kelas turunan) yang merupakan perluasan atau spesialisasi dari kelas lain yang telah ada (kelas dasar). Dalam penerapan nya , buatlah beberapa class yaitu class binatang , kucing , ular dan burung. Pada class kucing , ketikan syntax berikut :
package konstruktorDanPewarisan;
public class kucing {
private String nama;
public kucing(String nama){
this.nama=nama;
}
public String keluaran(){
return nama=nama;
}
}
Class ular :
package konstruktorDanPewarisan;
public class ular {
private String nama;
public ular(String nama){
this.nama=nama;
}
public String keluaran(){
return nama=nama;
}
}
Class burung :
package konstruktorDanPewarisan;
public class burung {
private String nama;
public burung(String nama){
this.nama=nama;
}
public String keluaran(){
return nama=nama;
}
}
Class binatang atau main method nya :
package konstruktorDanPewarisan;
public class Biantang {
public static void main(String[] args) {
kucing obkucing= new kucing("Catty");
ular obular= new ular("Snakey");
burung obburung= new burung("Chucky");
System.out.println("Nama Kucing = "+obkucing.keluaran());
System.out.println("Nama Ular = "+obular.keluaran());
System.out.println("Nama Burung = "+obburung.keluaran());
}
}
Output :
Polimorfisme
Polimorfisme adalah penggunaan method yang sama, yang akan menghasilkan suatu hasil yang
berbeda tergantung class yang menggunakan method tersebut. Juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan. Penerapan pada java, buatlah beberapa class diantarannya kendaraan , motor, pesawat, kereta dan bahanbakar, lihat source code pada masing-masing class.
Class kendaraan :
package polimorfisme;
class kendaraan {
public void bahanbakar (){
System.out.println("Bahan bakar kendaraan adalah : ");
}
}
Class kereta :
package polimorfisme;
class kereta extends kendaraan{
public void bahanbakar() {
System.out.println("Bahan bakar kereta adalah Batu Bara");
}
}
Class motor :
package polimorfisme;
class motor extends kendaraan{
public void bahanbakar(){
System.out.println("Bahan bakar motor adalah pertamax 95");
}
}
Class pesawat :
package polimorfisme;
class pesawat extends kendaraan{
public void bahanbakar(){
System.out.println("Bahan bakar pesawat adalah Avgas");
}
}
Class bahanbakar , class ini merupakan class main :
package polimorfisme;
public class bahanbakar {
public static void main(String[] args) {
kendaraan kendaraan = new kendaraan();
kereta Kereta = new kereta();
motor Motor = new motor();
pesawat Pesawat = new pesawat();
kendaraan.bahanbakar();
kendaraan = Kereta;
kendaraan.bahanbakar();
kendaraan = Motor;
kendaraan.bahanbakar();
kendaraan = Pesawat;
kendaraan.bahanbakar();
}
}
mas, saya mau nanya kalo program konversi suhu termasuk inheritance (pewarisan) ataun bukan?
BalasHapusKalo bukan, mungkin ga di bikin inheritance. Terima kasih.
Bisa kok kita buat menggunakan pewarisan. :D
Hapus