BLANTERORBITv102

    Cara Membuat Pemrograman Berorientasi Objek (OOP) Di Java Part 2

    Jumat, 23 Januari 2015
    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.

    • 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 : 

    java-sc:enkapsulasi


    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 : 

    java-sc:Pewarisan


    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();
        }
    }

    Output :

    java-sc:Polimorfisme


    Sekian penjelasan mengenai Pemrograman Berorientasi Objek (OOP) yang dapat saya buat, untuk rekan-rekan yang memiliki ilmu lebih, silahkan berbagi melalui kolom komentar.

    Terimakasih sudah berkesempatan untuk menimba ilmu dari blog JSC, semoga ilmu yang di share dapat bermanfaat. Jika ada pertanyaan mengenai ilmu yang terkait ataupun tidak, mari kita berdiskusi di dalam kolom komentar ini.

    Keep Learning and Keep Sharing

    1. mas, saya mau nanya kalo program konversi suhu termasuk inheritance (pewarisan) ataun bukan?
      Kalo bukan, mungkin ga di bikin inheritance. Terima kasih.

      BalasHapus
      Balasan
      1. Bisa kok kita buat menggunakan pewarisan. :D

        Hapus