:::: MENU ::::

Informasi Update tentang Teknologi dan Otomotif




Hai Sahabat coding teknotif. Kali ini mari kita belajar PBO. Pasti kalian bertanya apaitu PBO? PBO adalah kepanjangan dari Pemograman Berotientasi Objek. 

Kali ini kita akan membahas tentang
1. Pengertian Pbo
2. Inheretence
3. Enkapsulasi
4. Polymorphism
5. Overriding
6. Overloding
Langsung saja 

1. PBO(Pemograman Berotientasi Objek)

Pengertian PBO adalah Paradigma pemograman yang populer saat ini yang telah menggatikan teknik pemograman berbasisi prosedur. Object Oriented Programing yang beratinya Pemograman Berorientasi Objek. Pemograman ini sudah di temukan sekitar tahun 1960 dan dikembangkan pemula tahun 1970.

2. Inheritance (Pewarisan/ Penurunan)

Inheritance atau Pewarisan atu juga Penurunan adalah konsep Pemograman dimana sebuah class dapat menurunkan property dan  method yang dimiliki oleh  class lainnya. Konsep  inheritance  bisanya digunakan untuk memanfaatkan fitur code reuse(
penggunaan kembali kode)  untuk mengindari duplikasi kode pemograman.

Konsep inheritance membuat sebuah struktur atau ‘hierarchy’ class dalam kode program. Class yang akan ‘diturunkan’ bisa disebut sebagai class induk (parent class), super class, atau base class. Sedangkan class yang ‘menerima penurunan’ bisa disebut sebagai class anak (child class), sub class, derived class atauheir class.

Contoh Syntak nya:

class motor {
     public $merk;
     public $kecepatan;
     public $tahun;
     public function memilih_motor() {
       return "Memilih Motor";
     }
}
class jenis extends motor {
     public function lihat_spek() {
       return "merk : $this->merk, kecepatan : $this->kecepatan, tahun : $this->tahun;
       }
}
$motor_baru = new jenis();
$motor_baru->merk = "honda";
$motor_baru->kecepatan = "150cc";
$motor_baru->tahun = "2017";
echo $motor_baru->memili_motor();
echo "
";
echo $laptop_baru->lihat_spek();
?>.

3. Enkapsulasi (Information hiding)

Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni : Information hiding , Interface to access data.

Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah ‘public’. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol ‘private’ ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.

Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut yang dinamakan dengan interface to access data.

Dalam enkapsulasi terdapat hak akses public, protected, dan private. Hak akses public memungkinkan semua kelas mengaksesnya, hak akses protected hanya diberikan kepada kelasnya sendiri dan turunannya, serta kelas-kelas dalam satu paket. Sedangkan private hanya boleh diakses oleh kelasnya sendiri.

Mengapa jika hak akses public pada konstruktor manusia di ganti dengan PRIVATE, program akan ERROR ? Private, adalah level proteksi untuk andi yang berada di dalam manusia. Si andi tidak boleh keluar dari manusia karena mempunya level proteksi paling tinggi. Dalam implementasinya, field dengan level proteksi private hanya dapat diakses di dalam class tersebut.

Dalam teori, dapatkah kita memberikan hak akses pada konstruktor??? Constructor berfungsi untuk menginisialisasi obyek dari class dan mempersiapkan ruang memory, sedangkan destructor menghapus dan membersihkan obyek ketika sudah tidak terpakai dan membebaskan memory yang tadinya terpakai. Constructor method merupakan method yang namanya sama dengan nama classnya dan bersifat public tapi tidak berjenis void ataupun non void. Constructor dapat menerima parameter namun tidak bisa mengembalikan nilai apapun.

Bagaimana solusi agar program dapat berjalan?? Konstruktor diubah menjadi protected atau public atau bisa juga menerapkan interface to access.
Contoh Syantaknya :

class belajar{
public String x =”Cerdas”;
private String y = “Java”;
}
Pintar.Java
public class Pintar{
public static void main(String[]args){
Coba panggil = new Belajar();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}

3. Polymorphism
Polymorphism merupakan salah satu konsep penting dalam object oriented programming (OOP) khususnya di bahasa pemrograman Java setelah abstraction dan inheritance. Polymorphism berarti banyak bentuk. Ada beberapa definisi berbeda tentang polymorphism yang berkaitan dengan pemrograman berorientasi obyek. Sedangkan apa yang dimaksud dengan polymorphism sendiri, sebenarnya sulit untuk didefinisikan. Sejalan dengan contoh yang diberikan, Anda diharapkan dapat mengerti dan memahami konsep polymorphism itu sendiri.

Polymorphism sering dikaitkan dengan penggunaan lebih dari satu metoda dengan nama sama. Penggunaan metoda dengan nama sama dapat diterapkan dengan method overloading dan method overriding. Peran polymorphism sebenarnya tidak terbatas hanya pada hal tersebut. Ada keterkaitan antara polymorphism dan inheritance (turunan).

Dalam konsep turunan, saat obyek dari subclass dikonstruksi, obyek dari superclass juga ikut dikonstruksi. Jadi setiap instance dari subclass adalah juga instance dari superclass. Apabila Anda mendeklarasikan metoda dengan parameter dari tipe superclass, Anda diperbolehkan untuk memberi argumen berupa obyek subclass yang merupakan turunan dari superclass tersebut.

Berikut ini adalah contoh program yang dapat memberikan gambaran terkait konsep polymorphism. Perlu dipahami dan dimengerti bahwa kelas Object merupakan akar dari semua kelas Java dan menduduki puncak tertinggi dalam hirarkhi kelas. Program akan mendefinisikan kelas yang berkaitan dengan bidang datar secara sederhana termasuk beberapa kelas turunannya (kelas PersegiPanjang dan Balok) dan membatasi hanya pada penerapan method overriding).

Contoh Syntakmya:

public class Polimorphism {
   public static void main(String[ ] args) {
      cetakObyek(new Balok());
      cetakObyek(new PersegiPanjang());
      cetakObyek(new BangunDatar());
      cetakObyek(new Object());
   }
    
   public static void cetakObyek(Object obyek) {
      System.out.println(obyek);
   }
} // Akhir kelas Polimorphism
class Balok extends PersegiPanjang {
   public String toString() {
      return "Mempunyai sisi panjang, lebar dan tinggi";
   }
}
class PersegiPanjang extends BangunDatar {
   public String toString() {
      return "Mempunyai sisi panjang dan lebar";
   }
}
class BangunDatar extends Object {
   public String toString() {
      return "Mempunyai berbagai bentuk";
   }
}

4.Overriding

Method overriding merupakan method yang parrent class yang ditulis kembali oleh subclass. Aturan dari method overriding pada Java :
1. Parameter yang terdapat pada method overriding di subclass harus sama dengan parameter yang terdapat pada parent class.
2. Aturan hak akses, hak akses method overriding di subclass tidak boleh lebih ketat di bandingkan dengan hak akses method pada parent class

Contoh Syntaxnya:
public class Binatang {
    public void begerak(){
        System.out.println("Binatang bergerak sesuai kemampuannya");
    }
    public void berkembangBiak(){
        System.out.println("Binatang berkembang biak sesuai kemampuannya");
    }
}
public class Mamalia extends Binatang {
    //overriding method parent class
    public void begerak(){
        System.out.println("Mamalia bergerak sebagian besar dengan kakinya");
    }    
    public void berlari(){
      System.out.println("Sebagian Mamalia dapat berlari");
    }
}

public class PenggunaanOverriding {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Binatang b = new Binatang();
        Mamalia m = new Mamalia();
        Binatang bm = new Mamalia();
        b.begerak();
        m.begerak();
        bm.begerak();
        bm.berkembangBiak();
    }
}

5.Overloading


Method Overloading adalah sebuah kemampuan yang membolehkan sebuah class mempunyai 2 atau lebih method dengan nama yang sama, yang membedakan adalah parameternya.


Pada method overloading perbedaan parameter mencakup :

1. Jumlah parameter
2. Tipe data dari parameter
3. Urutan dari tipe data parameter

Contoh Syntaxnya:

 public class ContohOverloading { 
 public void jumlah (int a, int b){
 System.out.println("Jumlah 2 angka ="+ (a + b));
 } 
 //oveloading perbedaan jumlah parameter
 public void jumlah (int a, int b, int c){
 System.out.println("Jumlah 3 angka =" + (a + b + c));
 } 
 //overloading perbedaan tipe data parameter
 public void jumlah (double a, int b){
 System.out.println("Jumlah 2 angka (double+int) = "+ (a + b));
 } 
 //overloading perbedaan urutan tipe data parameter
 public void jumlah (int b, double a){
 System.out.println("Jumlah 2 angka (int+double) = "+ (a + b));
 }
}


Nah tadi adalah Pengertian PBO ,Inheretence, Enkapsulasi, Polymorphism, Overriding  dan Overloding. Semoga ilumnya bermanfaat dan jangan malas Ngoding. Salam Ngdoing. #RPL WAJIB NGULIK


0 komentar:

Post a Comment