Pengenalan Java dan Konsep OOP Inheritance

Java adalah bahasa pemrograman yang lagi naik daun, kepopulerannya sudah melampui bahasa C.

Hal itu terjadi karena java memiliki beberapa kelebihan

  • aplikasi yang dibuat dengan mengunakan java dapat dijalankan di berbagai OS yang didalamnya sudah terdapat Java Virtual Machine (JVM). Bahasa kerennya Write Once Run Any WhereMendukung pemrograman berorientasi object (Fully support OOP)
  • Banyak referensi-referensi untuk belajar java, termasuk juga komunitas developer java diinternet
  • Banyak contoh program atau pun library yang siap pakai dan dapat digabungkan dengan program yang kita buat
  • Gratis / Free

Nah sekarang sudah tertarik belum belajar java ?

Pernah berfikir untuk bisa membuat aplikasi yang dapat berjalan di handphone / blackberry. Kalau mau yah harus belajar java.

Oke, sekarang kita mulai membahas konsep object oriented menggunakan java. Dalam pemrograman berorientasi object, kita harus memandang segala sesuatu sebagai object.

Berbagai benda disekitar kita adalah object seperti meja, kuri, rumah dan lainnya.

Kenalan dengan object dan class

Ada pertanyaan nih, kita kan harus memandang segala suatu sebagai object. Bagaimana caranya kita memindah pemikiran object didunia nyata menjadi object didunia sofware khususnya pemrograman java ?

Sekarang mari kita ambil contoh object burung

Sekarang mari kita perhatkan, burung itu punya nama, mata, kaki, sayap, warna, jenis. Burung juga dapat terbang, berkicau dan berjalan. Mata, kaki sayap dan warna dalam dunia pemrograman disebut juga atribut atau properties. Terbang, berkicau dan berjalan dalam dunia pemrograman disebut juga behaviour atau method.

class adalah cetakan, template, prototype dari object, sedangkan object adalah instance dari kelas. Satu kelas dapat mempunyai object lebih dari satu atau banyak.

Bingung yah, nggak usah bingung. Ibaratkan saja class itu adalah cetakan kue dan object itu adalah kue dari cetakan tersebut.

Satu cetakan kue menghasilkan banyak kue

Selanjutnya mari kita lanjutkan ke pemrograman javanya.

Untuk membuat sebuah class dengan java sangatlah mudah, cukup gunakan

public class nama_class { }

class biasnya terdiri dari beberapa attribut dan method

Sekarang mari kita buat class Burung.

public class Burung {
    String nama; //atribut nama
    String jenis; //atribut jenis
    String warna; //atribut warna
    String sayap; //atribut sayap

    //method terbang
    public void terbang(){
        this.sayap = "mengepak";
        System.out.println("Burung "+this.nama+" Sedang Terbang");
    }
    //method tidur
    public void tidur(){
        this.sayap = "diam";
        System.out.println("Burung "+this.nama+" Sedang Tidur");
    }
}

Masih bingung apa itu attribute dan method ?

Attribute adalah Berbagai variable yang mengitari class, dengan nilai datanya bisa ditentukan di object. nama, warna, sayap, dan jenis adalah atribute dari class Burung

Method ethod adalah implementasi dari bagaimana bekerjanya sebuah class. terbang dan tidur adalah method atau behaviour dari class Burung

Untuk membuat object baru dari class Burung tersebut kita harus menginstantiate class Burung. Untuk menginstantiate sebuah class gunakan keyword new

Sekarang mari program untuk membuat object dari class Burung.

public class BurungBeraksi {

    public static void main(String[] args){
        Burung burungnuri = new Burung();//membuat object burungnuri dari class Burung
        burungnuri.nama = "Nuri"; //memanggil attribut nama pada object burungnuri dan memberi nilai
        burungnuri.warna = "Merah";
        System.out.println("Burung "+burungnuri.nama+" warnanya "+burungnuri.warna);
        //memangil method terbang object burungnuri
        burungnuri.terbang();
        System.out.println("Sayapnya "+burungnuri.sayap);
        burungnuri.tidur();
        System.out.println("Sayapnya "+burungnuri.sayap);
        System.out.println("");

        Burung burungmerpati = new Burung();//membuat object burungmerpati dari class Burung
        burungmerpati.nama = "Merpati";
        burungmerpati.warna = "Putih";//memanggil attribut warna pada object burungmerpati dan memberi nilai
        System.out.println("Burung "+burungmerpati.nama+" warnanya "+burungmerpati.warna);
        //memangil method terbang object burungmerpati
        burungmerpati.terbang();
        System.out.println("Sayapnya "+burungmerpati.sayap);
        burungmerpati.tidur();
        System.out.println("Sayapnya "+burungmerpati.sayap);
    }

}

Jika class BurungBeraksi di run maka hasilnya :

Burung Nuri warnanya Merah

Burung Nuri Sedang Terbang

Sayapnya mengepak

Burung Nuri Sedang Tidur

Sayapnya diam

Burung Merpati warnanya Putih

Burung Merpati Sedang Terbang

Sayapnya mengepak

Burung Merpati Sedang Tidur

Sayapnya diam

Inheritance

Object Oriented Program memiliki beberapa karakteristik, yang akan kita bahas disini adalah inheritance atau pewarisan.

inheritance adalah pewarisan yang artinya sebuah class dapat mewarisi atribut dan metho dari class lain, sebagai contoh dalam dunia nyata adalah Class Burung menurunkan sifat dan kemampuannya kepada class Bebek. Class Burung sebagai superclass dan mewariskan atribut juga methodnya kepada class Bebek sebagai subclass. Berikut ini gambarannya.

Berikut contoh implementasinya dalam java

Buat Class dengan nama Bebek yang mewarisi class Burung gunakan keyowd extends

public class Bebek extends Burung{

    String kaki;

    public void berenang(){
        System.out.println("Bebek berenang menggunakan kakinya yang berselaput");
    }

}

Untuk membuktikannya mari bahwa class bebek mewarisi attribut dan method class burung kita buat class BebekBeraksi

public class BebekBeraksi {

    public static void main (String[] args){
        Bebek bebekku = new Bebek(); //membuat object bebekku dari class bebek
        bebekku.nama = "Donald Duck"; //terbukti object bebekku mewarisi attribut nama dari class Burung
        bebekku.warna = "Coklat";
        System.out.println("Bebek ini bernama "+bebekku.nama+" dan warnanya "+bebekku.warna);
        bebekku.tidur(); //terbukti object bebekku mewarisi method tidur nama dari class Burung
        bebekku.kaki ="berselaput"; //memanggil object kaki dan menset nilainya
        bebekku.berenang();//memanggil method berenang object bebekku
    }

}

Jika class BebekBeraksi dirun hasilnya

Bebek ini bernama Donald Duck dan warnanya Coklat

Burung Donald Duck Sedang Tidur

Bebek berenang menggunakan kakinya yang berselaput

Terbuktikan class bebek mewarisi class Burung.

Melihat hasil diatas ada kalimat yang aneh. Yaitu β€œBurung Donald Duck Sedang Tidur” classnya bebek kok hasilnya burung itu karena yang dipanggil adalah method tidur yang diwarisi dari class burung.

Untuk memperbaikinya kita bisa mengoveride method tidur tersebut. Tambahkan method tidur pada class Bebek, sehingga bentuk programnya menjadi seperti ini.

public class Bebek extends Burung{

    String kaki;

    public void berenang(){
        System.out.println("Bebek berenang menggunakan kakinya yang berselaput");
    }

    public void tidur(){
        System.out.println("Bebek "+this.nama+" Sedang Tidur");
    }

}

Run kembali class BebekBeraksi, maka sekarang hasilnya adalah

Bebek ini bernama Donald Duck dan warnanya Coklat

Bebek Donald Duck Sedang Tidur

Bebek berenang menggunakan kakinya yang berselaput

Sudah tidak ada kalimat yang janggal dan terbukti bahwa method di superclass dapat dioveride oleh subclassnya.

Sekian dulu yah…, Semoga makin tertarik dengan java πŸ™‚

Agus Haryanto

46 comments to Pengenalan Java dan Konsep OOP Inheritance

  • mantep kang,..
    jadi lumayan ngerti nieh hehehhe πŸ™‚

  • Dian Sugiarto

    Terima Kasih Banyak Atas pembelajaran Java-nya nih, semoga amal kebaikan Mas Agus bisa memberi manfaat bagi semua orang dan saya doakan untuk artikelnya semakin bertambah dan bertambah terus, khususnya untuk Android.

  • Roy

    thanks Mas ijin bukmak, jodoh nya di sini kalee jd lebih mengerti kamsutnya krn bahasa yang enak kalee za.. πŸ™‚
    2 x 8 = 16 kebaikan Tuhan yang balas:)

  • makasih mas,sangat membantu, gampang dimengerti soalnya, lebih gampang ini dari pada yang dijelasin dosen.. hehe..

  • Agus Haryanto

    @khaer Ansori, yang betul nih, jadi ada pikiran untuk mencoba profesi dosen nih πŸ™‚

  • nah kalo seperti ini lebih mudah dicerna. sepertinya cocok di dosen. gak cocok di “air”.he.he…

  • teguh

    Gaya penyampaian nya saya suka… πŸ˜‰
    mudah untuk di cerna… Thank’s πŸ˜€

  • Agus Haryanto

    @teguh, thanks juga, kebetulan dulu punya cita-cita jadi penulis super, jadi yah berusaha untuk buat tulisan yang bagus dan mudah dipahami dan sebagai modal untuk ngelamar jadi dosen (Insya Allah tahun depan) siapa tahu ada yang mau nerima hehe πŸ™‚

  • lemonnine

    Penjelasannya urut dan mudah dimengerti,
    ditambah ada contoh real dalam bentuk gambar juga, jadi lebih menarik.

  • Husni

    Assalamu’alaikum…
    Terimakasih banyak untuk tutorialnya mas Agus. Saya sedang memulai untuk belajar Java. Insya Allah tutorialnya bermanfaat πŸ™‚

    Salam

  • charles

    blog yang bkin gw jadi makin pinter nih, jadi ngerti android plus java..

    makasih mas agus πŸ˜€

  • wah artikelnya sangat bagus….

    sudah lama tidak main java h.a.ah.h.

    thanks

  • Mantap infonya ni gan. makasih ya

  • Tri

    mantap artikelnya bikin saya mengerti tentang java. terima kasih. untuk belajar lebih lanjutnya kemana ya?

  • ojan

    keren gan..ana lbh ngerti ini dripada yg dikasi dosen..setuju gan..jd dosen aja, biar mhsiswa g cuman dpet ijazah, tp dpet ilmu jg..

  • ary

    makasih ya mas atas penjelasannya, baru belajar java jadi awam bngt saya

  • Agus Haryanto

    @ojan, Alhmadulillah kalau mudah dimengerti

  • Agus Haryanto

    @ary, biar awam kalau sering berlatih insya Allah jadi master

  • arievwindie

    script di atas , kalo mau saya coba bikin ke Eclipse apakah bisa ..?

  • Agus Haryanto

    @arievwindie, Bisa

  • haru

    saya dukung mas agus buat jadi dosen
    apalagi kalau jadi dosen di kampus saya, seneng banget saya bisa interaksi langsung hehe

  • radit

    keren!!! puzzle saya udah 40% kesusun nih soal kelas. Terimakasih.

  • nanpoet

    mantap sekali tutorialnya !! terima kasih mas, ini sangat membantu, kalo boleh , request dong penjelasan polymorphism sama penjelasan abstract class, hehehe πŸ˜€

  • wah, ini dia penjelasan OOP yang mudah dicerna, makasih mas….

  • daiska

    terus muat artikel-artikel yang lainnya, thanks…

  • mantap gan,

    bagus buat referensi πŸ˜€

  • Aidy

    thanks mas atas tambahan ilmunya…bisa jadi manfaat…

  • Thx artikelnya..
    Sangat Bermanfaat dan membantu…
    Lebih mudah memahaminya tentang OOP…

    bagus buat refrensi juga nih,,
    (^o^)v

  • Sepengalaman saya, mengajarkan orang OOP dengan contoh2 yang tidak nyata dipemrograman malah membuat mereka bingung dipenerapan langsung Pak, seperti pakai hewan atau kendaraan.
    Paling enak pakai contoh nyata, misal Swing di Java itu sudah lengkap dijadikan contoh. Class Override Overload Extends Implements

  • Agus Haryanto

    @Agung Setiawan, Setiap orang bisa beda-beda, ada yang lebih paham konsep OOP dengan penjelasan dunia nyata. dan juga ada yang paham langsung ke javanya ke SWING. tapi kalau orang baru belajar menurut pendapat saya lebih enak dengan yang pendekatan dunia nyata. Nah kayaknya serunih kalau mas Agung bisa sharing untuk pemahamn OOP dengan SWING

  • bagus banget banget, cuma untuk konsep oop yang encapsulation dan polymorfism nya belum ada nehhh. terimakasih, saya jadi lebih paham konsep oop java setelah membaca tutorial pak Agus Haryanto.

  • HASAN

    Pak saya izin Share di Blog saya ya

  • Tegar Pratama

    Alhamdulillah jadi ada pencerahan konsep dasar java.

    Saran : Ada kajian java secara bertahap untuk para pemula, agar mereka dapat memahami konsep dasar pemrograman java sepenuhnya. Setelah itu pasti mereka akan berkembang dgn sendirinya.

  • Agus Haryanto

    @Tegar, Terimakasih sarannya.

  • Mantap pak agus..terimakasih untuk semua ilmunya…setuju dengan saran mas tegar…

  • isnaini laily

    mas bsa tolong bntuin cara buat aplikasi desktop kosakata bahasa arab secara ilmu sharaf,gak pham gmn cra bca huruf arab di pemrograman java trus pkek database lagi…
    tolong mas ya di share ilmu nya..terimakasih sebelumnya mas yaa….

  • isnaini laily

    mas tlg share contoh aplikasi desktop kamus arab pkek java programming donk…

  • very good explaination, sir. thank you.. πŸ˜€

  • Hilman

    saya sangat tertarik dengan tulisan anda, saya juga mempunyai tulisan sejenis
    yang mungkin anda juga tertarik, anda bisa mengunjunginya di klik disini terima kasih.

  • Mas mau nanya ya..saya kok error ya.. sya udah ketikkan coding diatas sampai public class BurungBeraksi()

    nah ketika saya compile muncul pesan error :
    “Error: Main method not found in class burung.Burung, please define the main method as:
    public static void main(String[] args)
    or a JavaFX application class must extend javafx.application.Application
    Java Result: 1”

    mohon banget pencerahannya ya mas..trima kasih sebelum dan sesudahnya..semoga diberikan ilmu yang lebih lagi.amin

  • maaf maas: ini koding yang sudah saya ketikkan

    public class Burung {
    string nama;
    string jenis;
    string warna;
    string sayap;

    //method terbang
    public void terbang(){
    this.sayap=”mengepak”;
    System.out.println(“Burung”+this.nama+”Sedang terbang”);
    }
    //method tidur
    public void tidur(){
    this.sayap=”diam”;
    System.out.println(“Burung”+this.nama+”Sedang tidur”);
    }
    /**
    * @param args the command line arguments
    */

    public class BurungBeraksi {

    public static void main(String[] args) {
    // TODO code application logic here
    Burung burungnuri = new Burung();//membuat object burungnuri dari class burung
    burungnuri.nama=”nuri”;
    burungnuri.warna=”merah”;
    System.out.println(“Burung”+burungnuri.nama+”warnanya”+burungnuri.warna);
    //memanggil method terbang object burung nuri
    burungnuri.terbang();
    System.out.println(“Sayapnya”+burungnuri.sayap);
    burungnuri.tidur();
    System.out.println(“Sayapnya”+burungnuri.sayap);
    System.out.println(“”)

    Burung burungmerpati = new Burung();//membuat object burungmerpati dari class burung
    burungmerpati.nama=”merpati”;
    burungmerpati.warna=”putih”;
    System.out.println(“Burung”+burungmerpati.nama+”warnanya”+burungmerpati.warna);
    //memanggil method terbang object burung merpati
    burungmerpati.terbang();
    System.out.println(“Sayapnya”+burungmerpati.sayap);
    burungmerpati.tidur();
    System.out.println(“Sayapnya”+burungmerpati.sayap);
    System.out.println(“”);

    }
    setelah saya kompile muncul pesan diatas..makasih sebelumnya mas..maaf saya newbe. πŸ™‚

  • terima kasih sangat membantu saya..

    http://st3telkom.ac.id/

  • Thanks for the information

  • wah sangat membantu sekali dalam mempelajari java untuk ujian dan pelajaran sehari hari

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>