• Breaking News

    Membangun Peradaban Dengan Tulisan

    Recent News

    04 October 2012

    Konsep OOP & Penerapannya di Java Script (Selesai)

      بسم الله الرحمن الرحيم



    Setelah posting-an kemarin dibuat lihat di sini, ada penambahan tentang artikel tersebut....

    tentang  penerapan OOP (Object Oriented Programming).


    Dalam mempelajari pemrograman Java, tentunya kita sering mendengar istilah Object Oriented Programming atau yang beken disingkat OOP. Sebenarnya apa sih OOP itu? Melalui tulisan ini saya akan berusaha memberikan gambaran mengenai OOP melalui contoh. Pengertian OOP sendiri tentunya banyak tersedia di buku-buku maupun artikel mengenai Java.
    Sebelumnya, ada baiknya kita memahami beberapa istilah dalam OOP. Bagi penggemar game komputer pastinya sudah tidak asing lagi dengan game GTA: San Andreas dimana terdapat puluhan kendaraan yang siap pakai di jalan. Secara umum kendaraan itu bisa dibagi menjadi mobil, motor, pesawat, helikopter, dan kapal.

    CLASS
    Bisa dikatakan class adalah 'cetakan' untuk berbagai macam objek. Pada GTA, class bisa dibagi menjadi class Mobil, class Motor, class Pesawat, class Helikopter, dan class Kapal. Pada artikel ini saya ambil class Mobil saja.
    Mobil memiliki atribut yang sama, antara lain nama, jenis, kapasitas silinder, power, dan percepatan. Tentunya masih banyak lagi atribut yang tidak saya gunakan di sini, setiap bagian dari mobil bisa dianggap sebagai atribut, misalnya roda, pintu, mesin, rem, setir, dllsbgnya.
    Walaupun sebuah file bisa berisi lebih dari satu class, ada baiknya satu file hanya berisi satu class untuk mempermudah pemahaman. Nama class utama harus sama dengan nama file.
    Untuk membuat class Mobil dinyatakan dengan perintah: (ingatlah, java itu CaSe SeNSitiVe)
    public class Mobil {
    ………..
    }

    OBJECT
    Object adalah sebuah benda nyata yang merupakan hasil dari 'cetakan' class. Dari class Mobil bisa dihasilkan bermacam-macam mobil misalnya sabre, ZR3500, rancher, clover, greenwood, remington, dll.
    Masing-masing mobil itu memiliki atribut yang sama, namun dengan karakteristik yang berbeda-beda. Cukup jelas kan bahwa kapasitas silinder, power, cara akselerasi, cara berbelok, cara mengerem, setiap mobil bisa berbeda-beda. Setiap mobil itu disebut object.
    Untuk membuat object sabre, ZR, dan rancher dilakukan dengan perintah:
    Mobil sabre = new Mobil();
    Mobil ZR = new Mobil();
    Mobil rancher = new Mobil();
    Sehingga kita memiliki tiga objek yang semuanya memiliki atribut dari class Mobil.

    INHERITANCE
    Satu lagi istilah yang nge-trend dalam OOP yaitu pewarisan sifat (inheritance). Sebuah class bisa mewarisi sifat class yang lain. Dalam contoh ini misalnya class Truk mewarisi sifat dari class Mobil, dimana Truk memiliki semua atribut yang dimiliki mobil, tapi Truk memiliki beberapa atribut yang tidak dimiliki mobil biasa. Misalnya kapasitas muatan, dan jumlah roda. Jumlah roda? Ya, mobil biasa rodanya hanya empat, truk rodanya lebih dari empat. Sedikit tips kalau mau naik taksi, hitung dulu jumlah rodanya, karena kalau jumlahnya tidak sama dengan empat, bisa dipastikan itu bukan taksi.
    Class Truk yang mewarisi sifat class Mobil dinyatakan dengan perintah:
    public class Truk extends Mobil {
    …………….
    }

    METHOD
    Di pelajaran pemrograman terstruktur, method bisa diibaratkan sebagai subprogram. Method letaknya di dalam class, Dalam contoh class Mobil, method “info” dinyatakan pada baris ini:
    public void info(){
    System.out.println(“Nama Mobil  : “+nama);
    System.out.println(“Jenis Mobil : “+jenis);
    System.out.println(“Isi Silinder: “+cc+” cc”);
    System.out.println(“Power       : ” +power+” HP”);
    }
    Method info berisi perintah untuk menampilkan nama mobil, jenis, isi silinder, dan power mobil. Sedangkan untuk memanggil methodnya, misal untuk info mobil sabre dilakukan dengan perintah:
    sabre.info();

    OVERLOADING
    Dalam class Mobil terdapat method info, dalam class Truk juga terdapat method dengan nama yang sama. Ini disebut overloading.
    Jika sebuah mobil memanggil method info, maka yang dikerjakan adalah method info yang berada di class Mobil.
    Namun jika sebuah truk memanggil method info, ada dua pilihan, method info di la clase Mobil atau method info di class Truk. Dalam hal ini yang dikerjakan adalah method info yang berada di class Truk.
    Silakan diperhatikan source-code class Mobil dan class Truk.
    Dari tadi bicarakan class, object, method, dll. Lalu program utamanya ada di mana? Program utama ada di blok perintah ini:
    public static void main(String[]args){
    ………..
    }
    Dalam artikel ini program utama berisi set perintah sebagai berikut:
    1. Buat objek baru untuk Mobil sabre, ZR, rancher, dan Truk freightliner. Kemudian isi karakteristiknya.
    2. Tampilkan data karakteristik untuk masing-masing objek.
    3. Panggil method akselerasi untuk Mobil ZR.
    4. Panggil method deselerasi untuk Mobil sabre.
    Cukup simpel bukan? (tolong dijawab dengan “iya”). Untuk lebih memahami, mari langsung dipraktekkan.
    —-==== CLASS MOBIL (Mobil.java) ====—-
    public class Mobil {
    int kecepatan = 0;
    int cc;
    int power;
    int perubahanKecepatan;
    String nama;
    String jenis;
    public void akselerasi(){
    System.out.println(“Akselerasi mobil “+nama);
    System.out.println(“Kecepatan sebelumnya = “+kecepatan+” Kph”);
    kecepatan = kecepatan + perubahanKecepatan;
    System.out.println(“Kecepatan sekarang = “+kecepatan+” Kph”);
    }
    public void deselerasi(){
    System.out.println(“Deselerasi mobil “+nama);
    System.out.println(“Kecepatan sebelumnya = “+kecepatan+” Kph”);
    kecepatan = kecepatan – perubahanKecepatan;
    System.out.println(“Kecepatan sekarang = “+kecepatan+” Kph”);
    }
    public void info(){
    System.out.println(“Nama Mobil  : “+nama);
    System.out.println(“Jenis Mobil : “+jenis);
    System.out.println(“Isi Silinder: “+cc+” cc”);
    System.out.println(“Power       : ” +power+” HP”);
    }
    }
    —-==== CLASS TRUK MEWARISI SIFAT CLASS MOBIL (Truk.java) ====—-
    public class Truk extends Mobil{
    int muatan;
    int jumlahRoda;
    public void info(){
    System.out.println(“Nama Mobil  : “+nama);
    System.out.println(“Isi Silinder: “+cc+” cc”);
    System.out.println(“Power       : “+power+” HP”);
    System.out.println(“Muatan      : “+muatan+ ” ton”);
    System.out.println(“Jumlah Roda : “+jumlahRoda);
    }
    }
    —-==== PROGRAM UTAMA (Game.java) ====—-
    public class Game {
    public static void main(String[]args){
    /*Bagian ini membuat objek baru berdasarkan class Mobil & Truk
    sabre, ZR, rancher, freightliner, dan mengisi variabel karakteristiknya*/
    Mobil sabre = new Mobil();   //membuat objek mobil sabre
    sabre.nama=”Sabre”;          //mengisi variabelnya
    sabre.jenis=”Sedan Muscle Car”;
    sabre.cc = 3000;
    sabre.power = 175;
    sabre.perubahanKecepatan=5;
    Mobil ZR=new Mobil();        //membuat objek mobil ZR
    ZR.nama=”ZR 3500″;           //mengisi variabelnya
    ZR.jenis=”Sportscar”;
    ZR.cc=3500;
    ZR.power=200;
    ZR.perubahanKecepatan=7;
    Mobil rancher = new Mobil(); //membuat objek mobil rancher
    rancher.nama = “Rancher”;    //mengisi variabelnya
    rancher.jenis = “Jeep off road”;
    rancher.cc = 2750;
    rancher.power = 150;
    rancher.perubahanKecepatan=3;
    Truk freightliner = new Truk();      //membuat objek truk freightliner
    freightliner.nama = “Freightliner”;  //mengisi variabelnya
    freightliner.cc = 12000;
    freightliner.power = 250;
    freightliner.muatan = 30;            //truk ada tambahan variabel muatan-
    freightliner.jumlahRoda = 10;        //dan jumlah roda
    freightliner.perubahanKecepatan=3;
    /*Bagian ini memanggil method yang ada di class Mobil & Truk,
    yaitu info, akselerasi, dan deselerasi*/
    sabre.info();             //menampilkan data mobil sabre
    System.out.println();     //memberi baris kosong saja
    ZR.info();                //menampilkan data mobil ZR
    System.out.println();
    rancher.info();           //menampilkan data mobil rancher
    System.out.println();
    freightliner.info();      //menampilkan data truk freightliner
    System.out.println();
    ZR.kecepatan=40;          //memberi kecepatan awal 40Kph
    ZR.akselerasi();          //akselerasi mobil ZR
    System.out.println();     //memberi baris kosong saja
    sabre.kecepatan=40;       //memberi kecepatan awal 40Kph
    sabre.deselerasi();       //deselerasi mobil rancher
    }
    }
    —-==== HASIL RUNNING PROGRAM (seharusnya seperti ini) ====—-
    Nama Mobil  : Sabre
    Jenis Mobil : Sedan Muscle Car
    Isi Silinder: 3000 cc
    Power       : 175 HP
    Nama Mobil  : ZR 3500
    Jenis Mobil : Sportscar
    Isi Silinder: 3500 cc
    Power       : 200 HP
    Nama Mobil  : Rancher
    Jenis Mobil : Jeep off road
    Isi Silinder: 2750 cc
    Power       : 150 HP
    Nama Mobil  : Freightliner
    Isi Silinder: 12000 cc
    Power       : 250 HP
    Muatan      : 30 ton
    Jumlah Roda : 10
    Akselerasi mobil ZR 3500
    Kecepatan sebelumnya = 40 Kph
    Kecepatan sekarang = 47 Kph
    Deselerasi mobil Sabre
    Kecepatan sebelumnya = 40 Kph
    Kecepatan sekarang = 35 Kph


    Sekian dulu postingan kali ini, semoga bermanfaat bagi yang membacanya.... Aamiin...

    No comments:

    Post a Comment

    Jodi Prakoso. Powered by Blogger.

    Fashion

    Beauty

    Travel