Mengenal Konsep Dasar OOP (Inheritance, Polymorphism, Encapsulation, Interface)


Seberapa penting kah konsep OOP ini ??

Tentu penting sekali ..

Jika anda ingin menjadi seorang Programmer yang Professional, maka anda wajib memahami tentang konsep OOP yang satu ini ..

Konsep OOP yang dibahas pada Artikel ini yaitu konsep oop pada bahasa pemrograman Java, tentunya tidak berbeda jauh dengan konsep oop pada bahasa pemrograman PHP.

Jadi jika anda mempelajari konsep OOP pada bahasa pemrograman Java, tentunya tidak akan kesulitan jika mempelajari juga konsep OOP pada bahasa pemrograman PHP.

Jika teman - teman ingin membaca tentang pengulangan pada bahasa pemrograman Java, bisa dibaca pada link berikut ..

Baca Juga : Pengulangan Dalam Bahasa Pemrograman Java

Oke .. ini dia Konsep Dasar OOP


Konsep Dasar OOP (Object Oriented Programming) :

  1. Inheritance
  2. Polymorphism
  3. Interface
  4. Encapsulation


Berikut ini merupakan penjelasan dari Konsep Dasar OOP diatas :

  1. Inheritance
    Pewarisan atau Inheritance merupakan suatu metode yang memungkinkan suatu kelas mewarisi fungsionalitas kelas yang telah ada. Untuk menciptakan kelas baru, hanya perlu menambahkan spesifikasi (method & variable) kelas baru tersebut dari kelas yang sudah ada.

    Berikut ini merupakan contoh penerapan inherintance dalam studi kasus sepeda.

    Inheritance
    Inheritance Sepeda
    Contoh program Inheritance :
    class sepeda {
        int kecepatan = 0;
        int gir = 0;
    
        void ubahGir(int pertambahanGir){
            gir = gir + pertambahanGir;
            System.out.println("Gir : "+gir);
        }
    
        void tambahKecepatan(int pertambahanKecepatan){
            kecepatan = kecepatan + pertambahanKecepatan;
            System.out.println("Kecepatan : "+kecepatan);
        }
    }
    
    
    class sepedagunung extends sepeda{
        int setSadel;
        public void setSadel(int nilaiSadel){
            setSadel = nilaiSadel;
            System.out.println("Tinggi sadel : "+setSadel);
        }
    }
    
    class sepedagunungberaksi{
        public static void main(String[] args){
            sepedagunung sepedaku = new sepedagunung();
            sepedaku.tambahKecepatan(10);
            sepedaku.ubahGir(2);
            sepedaku.setSadel(20);
        }
    }
    Output program :

    Inheritance
    Output Program Inheritance
    Penjelasan program :

    Diatas merupakan program inheritance dengan studi kasus sepeda. Sepeda merupakan super class, sedangkan sepedagunung merupakan sub class dari super class (sepeda). Class sepedagunungberaksi merupakan class main yang fungsinya sebagai pemanggil output, karena didalam class tersebut terdapat program main, dan didalamnya terdapat instansiasi objek atau membuat objek baru dari sebuah class, cirinya terdapat perintah “sepedagunung sepedaku = new sepedagunung()” . artinya class sepedagunung membuat objek baru yang bernama sepedaku, objek inilah yang digunakan untuk pemanggilan semua method yang berada pada super class maupun sub class.
  2. Polymorphism
    Polymorphism
    merupakan statement yang memungkinkan class memiliki banyak bentuk. Dibagi menjadi dua macam, yaitu override dan overload.
    Override merupakan beberapa metode pada superclass dapat ditulis ulang atau digunakan pada subclass dalam pewarisan dengan nama serta isi dan parameter yang sama.
    Overload merupakan beberapa metode dapat memiliki nama yang sama dengan isi namun parameternya berbeda dalam satu kelas yang sama.

    Contoh program Polymorphism :
    class Hewan {
        public void info(){
            System.out.println("Semua hewan bernafas");
        }
    }
    
    class Hewanair extends Hewan{
        public void info(){
            System.out.println("Hewan air bernafas dengan insang");
        }
    }
    
    class Hewandarat extends Hewan{
        public void info(){
            System.out.println("Hewan darat bernafas dengan paru-paru");
        }
    }
    
    public class HewanBernafas{
        public static void main(String[] args){
            Hewanair ikan = new Hewanair();
            ikan.info();
            Hewandarat kuda = new Hewandarat();
            kuda.info();
        }
    }
    Output program :

    Polymorphism
    Ouput Program Polymorphism
    Penjelasan program :

    Diatas merupakan program yang mengimplementasikan konsep polymorphisme, dalam program tersebut terdapat class Hewan yang merupakan super class, Class Hewandarat yang merupakan sub class dari Class Hewan, dan Class Hewanair yang merupakan sub class dari Class Hewan juga. Jika dilihat di semua class, nama method nya sama ,akan tetapi memiliki aksi yang berbeda, inilah yang namanya polymorphism overriding. Di class Hewandarat menampilkan output “Hewan darat bernafas dengan paru-paru“, sedangkan di class Hewanair menampilkan output “Hewan air bernafas dengan insang“.
  3. Interface
    Interface memiliki struktur yang sama seperti kelas hanya saja metodenya berupa abstrak(tidak ada deklarasi isi) juga tidak memiliki atribut. Hubungan interface dengan class memiliki tujuan yang sama agar dapat membentuk objek baru dengan metode dan atribut sama hanya saja sebuah class melakukan implements terhadap interface bukan extends.

    Contoh program Interface :
    interface IntLampu{
        public static final int KeadaanHidup = 1;
        public static final int KeadaanMati = 0;
        public abstract void hidupkan();
        public abstract void matikan();
    }
    
    class Lampu implements IntLampu{
        int statusLampu = 0;
        public void hidupkan(){
            if (this.statusLampu == KeadaanMati){
                this.statusLampu = KeadaanHidup;
                System.out.println("Hidupkan lampu -> Lampu Hidup");
            }else {
                System.out.println("Hidupkan lampu -> Lampu sudah hidup koq");
            }
        }
        public void matikan(){
            if (this.statusLampu == KeadaanHidup){
                this.statusLampu = KeadaanMati;
                System.out.println("Matikan lampu -> Lampu Mati");
            }else {
                System.out.println("Matikan lampu -> Lampu sudah mati koq");
            }
        }
    }
    
    
    public class InterfaceBeraksi{
        public static void main(String[] args){
            Lampu lampukamar = new Lampu();
            System.out.println("Status Lampu saat ini : Mati");
            lampukamar.hidupkan();
            lampukamar.matikan();
            lampukamar.matikan();
            lampukamar.hidupkan();
        }
    }
    Ouput program :

    Interface
    Output Program Interface
    Penjelasan program :

    Pada program diatas merupakan implementasi Interface dalam Java, studi kasusnya program mengeluarkan informasi bahwa status lampu sudah hidup atau mati. Program interface biasanya memiliki ciri perintah “interface ... “. Dan biasanya interface tersebut di implementasikan kembali oleh suatu class, ciri perintahnya adalah “Class .... implements .... “.

    Variable statusLampu di inisialkan bernilai 0 atau Lampu dalam keadaan mati, lalu variable tersebut digunakan dalam sebuah method (hidupkan dan matikan) . Didalam method hidupkan() dan matikan(), terdapat program statements IF, program ini digunakan jika terdapat percabangan, sebagai contoh permasalahan dalam menyalakan lampu dan mematikan lampu. Logika nya, menyalakan lampu jika statusLampu = 0, begitu juga sebaliknya, lalu menampilkan output “Lampu Hidup” atau “Lampu Mati”.
  4. Encapsulation
    Encapsulation atau yang biasa kita sebut sebagai pengkapsulan ini berfungsi melindungi atribut maupun metode pada sebuah class agar tidak dapat diakses sembarangan oleh kelas lainnya. Hal ini untuk meningkatkan keamanan data pada sebuah program.

    Contoh program Encapsulation :
    class Mahasiswa {
        public String nama, npm;
        private String jurusan;
        protected String no_hp;
    
        public Mahasiswa(String nama, String jurusan, String npm, String no_hp) {
            this.nama = nama;
            this.jurusan = jurusan;
            this.npm = npm;
            this.no_hp = no_hp;
        }
    
        public String getJurusan() {
            return jurusan;
        }
    
        public String getNo_hp() {
            return no_hp;
        }
    
        public static void main(String[] args) {
            Mahasiswa aji = new Mahasiswa("Aji Fauzi Pangestu", "187006020", "Informatika", "089999666777");
            System.out.println("Nama : " + aji.nama);
            System.out.println("NPM : " + aji.npm);
            System.out.println("Jurusan : " + aji.getJurusan());
            System.out.println("No HP : " + aji.getNo_hp());
        }
    }
    Output program :

    Encapsulation
    Output Program Encapsulation
    Penjelasan program :

    Diatas merupakan program enkapsulasi, enkapsulasi memiliki ciri keyword public, private, protected. Public artinya semua properti dan method bisa diakses dari luar class atau dari class lain. Private artinya semua method dan properti didalam suatu class, hanya bisa dipakai oleh class itu sendiri. Akan tetapi bisa dipakai diluar class juga, dengan syarat dengan menggunakan metode setter dan getter, dalam program diatas ada method yang bernama getJurusan() dan getNo_hp(), itu merupakan program getter yang isinya merupakan pengembalian nilai sebuah variable (return). Lalu ada protected yang artinya semua properti dan method disuatu class, dapat diturunkan atau diwariskan kepada sub class dari class tersebut, halnya seperti konsep inheritance.


Cukup sekian Artikel mengenai Mengenal Konsep Dasar OOP (Inheritance, Polymorphism, Encapsulation, Interface). Semoga bermanfaat bagi para pengunjung yang telah membaca Artikel ini, jangan lupa bagikan ke temanmu yang lainnya agar ilmu ini terus mengalir. Terimakasih

Aji Fauzi Pangestu Saya hanya seorang Mahasiswa biasa yang rendah hati, rajin menabung, dan tidak sombong :)

Artikel Terkait

Belum ada Komentar untuk "Mengenal Konsep Dasar OOP (Inheritance, Polymorphism, Encapsulation, Interface)"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel