Penjelasan Singkat Konsep OOP atau PBO

1 komentar

OOP (Object Oriented Programing) atau Pemrograman Berorientasi Objek mengacu pada bahasa pemrograman yang menggunakan objek daripada urutan fungsi.

Mengulas sedikit tentang variabel, yaitu atribut pada suatu class, dengan tipe data yang ditentukan oleh si pembuat program. Atribut sendiri memiliki nama lain yaitu: variabel class, variabel instance, atau state. Method merupakan behaviour (perilaku) berupa fungsi dan memiliki nama lain yaitu Method Instance.

Ada beberapa konsep OOP yang akan dijelaskan disini, perlu diperhatikan bahwa contoh program yang diberikan harus diletakkan di posisi yang tepat agar tidak terjadi error.


1. Class dan Object

Sebelum membahas mengenai konsep dalam OOP, kita akan mengenal Class. Class adalah blueprint atau cetakan yang digunakan untuk membuat Object. Sebagai contoh Class dengan nama “Kucing” adalah suatu unit yang terdiri atas definisi data dan fungsi berbagai macam perilaku dari Kucing yang dapat digunakan untuk membuat Object "Kucing" (Bukan cetakan kucing lagi).

Jadi, jika kita lakukan perumpamaan:
Class = Cetakan
Object = Objek / Hasil Cetakan
Maka, cetakan kucing dapat mencetak object kucing.
Enkapsulasi
Pada gambar di atas dijelaskan bahwa untuk membuat objek kita dapat menggunakan perintah
Class Objek = new Constructor();
Constructor merupakan method bawaan class dengan nama yang sama pada class tersebut, misal kamu membuat class kucing, maka constructornya adalah kucing(), constructor tersebut ada secara otomatis walaupun kita tidak menuliskannya, dengan catatan fungsi constructor adalah void dan isinya masih kosong.

2. Enkapsulasi

Enkapsulasi adalah mengikat atau membungkus kode dan data menjadi satu unit.

Dalam bahasa berorientasi objek, sebuah class mengikat data dan fungsi bersama dan menjaga keduanya tetap aman dari gangguan dan penyalahgunaan dari luar.

Enkapsulasi data dalam suatu kelas disembunyikan dari kelas lain sehingga juga dikenal sebagai Data Hiding. Pada pemrograman Java memungkinkan class memberlakukan pembatasan aksesnya secara eksplisit dengan menggunakan Access Modifier yaitu public, private dan protected.

Berikut adalah pembatasan hak akses lokasi-lokasi dalam project.
Modifier Satu Class Satu Package Subclass Package Lain
Public
Private
Protected
Tanpa Tanda
Berikut adalah contoh penerapan enkapsulasi dalam program:
Enkapsulasi
Pada intinya enkapsulasi membatasi akses pada lokasi tertentu, jadi saat dipanggil dari luar batas tersebut program akan error.

3. Abstrak (Abstract)

Sama seperti namanya, Abstrak berarti ringkasan saja, belum memiliki isi yang lengkap, digunakan untuk Class dan Method:

  • Abstract Class: adalah Class terbatas yang tidak dapat digunakan untuk membuat objek (untuk mengaksesnya harus diwarisi dari Class lain).
  • Abstract Method: hanya dapat digunakan di Abstract Class, dan tidak memiliki body (isi). Isi method disediakan oleh subclass (diwariskan / inherit).

4. Inherit

Inherit adalah pewarisan, sama seperti kita yang mewarisi ciri-ciri dari orang tua dan kakek nenek kita. Pada bahasa berorientasi objek juga memungkinkan class baru mewarisi ciri-ciri dari class induk (parent).

Pada Java, dimungkinkan untuk mewarisi atribut dan method dari suatu class ke class lainnya. Kita mengelompokkan "konsep pewarisan" ke dalam dua kategori:

  • superclass (parent / induk) – class yang mewarisi 
  • subclass (child / anak) – class yang diwarisi
Untuk melakukan inherit kita dapat menggunakan metode extends dan juga implements.

Untuk percobaan, buatlah class baru dengan nama OrangTua.java dengan code program seperti ini
public class OrangTua{
    String nama;
    String suku;
    
    String berbicara(){
        return "Hallo";
    }

}
lalu buat class Anak.java dengan program seperti ini
public class Anak extends OrangTua{

}
Hanya dengan meng-extends OrangTua saja, class Anak.java sudah mewarisi semua atribut dan method class dari OrangTua.java, bisa dibuktikan dengan membuat object pada main class seperti berikut
public static void main(String[] args) {
        Anak an = new Anak();
        an.nama = "john";
        an.berbicara();
    }

5. Polimorfisme

Polimorfisme berarti memiliki banyak bentuk, banyak bentuk sendiri bisa dimisalkan suatu method memiliki nama yang sama namun memiliki fungsi yang berbeda, agar dapat memiliki menerapkan polimorfisme, ada 2 metode yang dapat digunakan, yaitu metode overloading dan overriding.

Metode Overloading

Metode ini digunakan dengan cara memanipulasi satu method dengan nama yang sama, namun dengan parameter yang berbeda.
public class OrangTua{
    public String nama;
    String suku;
    
    void berbicara(String kata){
        System.out.println(kata);
    }
    void berbicara(int jumlah){
        System.out.println(jumlah);
    }
    void berbicara(String kata, String kata2){
        System.out.println(kata+kata2);
    }

}
Bisa dilihat pada contoh program diatas, nama method yang sama bisa dibuat banyak jenis dengan memanipulasi parameter, baik dari jumlah parameter maupun tipe data.

Metode Overriding

Metode ini digunakan dengan cara menimpa (override) method yang berada di superclass lalu ditulis ulang pada subclass.
OrangTua.java (superclass)
public class OrangTua{
    public String nama;
    String suku;
    
    void berbicara(String kata){
        System.out.println(kata);
    }

}
Anak.java (subclass)
public class Anak extends OrangTua{

    @Override
    void berbicara(String kata){
        System.out.println("ini dari anak " + kata);
    }
    
}
Dari kode diatas bisa dilihat bahwa class anak melakukan Override terhadap method berbicara(), sehingga method dari OrangTua tertimpa method baru dari class Anak, dengan begitu kamu dapat membuat banyak bentuk tergantung berapa banyak kamu membuat subclass.
Diffa Aziz
Seorang Blogger Biasa
Terbaru Lebih lama

Related Posts

1 komentar

  1. Casino de California - M2-G/CASINO - JTA Hub
    Casino de 광주광역 출장안마 California. $10 청주 출장마사지 FREE NO DEPOSIT NEEDED. $5 당진 출장안마 FREE NO DEPOSIT 포항 출장마사지 NEEDED. $600 FREE 밀양 출장안마 NO DEPOSIT NEEDED. $15 FREE NO DEPOSIT NEEDED. $1,000 FREE NO DEPOSIT

    BalasHapus

Posting Komentar