Blogroll

Rabu, 09 Mei 2012

OBJEK/CLASS/Polymorphism

Posted by Unknown On 20.54 No comments

BAB I
PENDAHULUAN

I.1 Latar blakang
          Dalam Pemrograman Berbasis Objeck (PBO), kita harus memperhatikan dan memahami knsep-konsep dasar pada program itu sendiri, hususnya pada program java yang akan kita pakai. Disini ditekankan untuk lebih memahami apa saja knsep dasar pada java itu sendiri,bagai mana fungsinya dan cara penulisannya. Oleh karena itu kami membahasnya dalam makalah ini.

I.2 Tujuan
          Dalam mkalah yang kami bahas bertujuan untuk mengetahui, memahami knsep-knsep dasar pada java yang berbasi OOP(Objeck Oriented Programing), dan bagai mana penulisannya. Adapun konsep-konsep tersebut antara lain :
1)      Class
2)      Objeck
3)      Polymorphism
4)      Encapsulation
5)      Inheritance
         

  


BAB II
PEMBAHASAN

II.1 CLASS
A.    Mengenal class
          Dalam Pemrograman Berbasis Objek (PBO), kita harus memperhatikan beberapa class yang sebaiknya digunakan sesuai dengan kebutuhan. Nah, apa yang dimaksud sendiri dengan class? Dan ada berapakah Class class pada Java itu sendiri?
            Class merupakan sebuah kunci pokok dalam sebuah program java, Class mengizinkan Anda dalam mendeklarasikan tipe data baru. Ia dijalankan sebagai blueprint, dimana model dari object yang Anda buat berdasarkan pada tipe data baru ini.

Membuat class pada java cukup digunakan :
Publik kelas_class {}


Class biasanya terdiri dara beberapa atribut dan method
Contoh program (class burung) :
Publik 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”;
            Systen.out.println(“burung”+this.nama+”sedang terbang”);
}
// method tidur
   public void tidur(){
            This.sayap = “diam”;
   System.out.println(“burung”+this.nama+”sedang tidur”);
   }
}

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 adalah implementasi dari bagaimana bekerjanya sebuah class. terbang dan tidur adalah method atau behaviour dari class Burung


II.2 OBJEK
A.    Mengenal objek
objek adalah isi dari class yang sudah kita buat. Contoh paling mudah dalam kehidupan kita sehari – hari adalahBuah.Buah tersebut adalah class yang kita buat, sedangkan objeknya  adalah anggur, nanas, mangga, dan masih banyak lagi buah yang lainnya, tergantung anda  membuat objek tersebut.

contoh lain :
Description: http://writeronebe.files.wordpress.com/2010/01/cetakankuedankue.png?w=300
Dalam contih ini ibaratkan saja class itu adalah cetakan kue dan object itu adalah kue dari cetakan tersebut.
Untuk membuat object baru dari class Burung tersebut kita harus menginstantiate class Burung. Untuk menginstantiate sebuah class gunakan keyword new.
Program untuk membuat object dari class burung di atas :
Public class burungberaksi {

            Public static void main(String[] args){
               Burung burungnuri = new burung(); //membuat objecktburung nuri dari class burung
               Burung nuri.nama = “nuri”; // memanggil atribut nama pada object burung nuri dan memberi nilai
               Burungnuri.nama = “merah”;
            System.out.println(“burung”+burungnuri.nama+”warnanya”+burungnuri.warna);

//memanggil 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 atribut warna pada object burungmerpati dan memberi nilai
            System.out.println(“burung”+burungmerpati.nama+”warnanya”+burungmerpati.warna);
//memanggil 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

II.3 Polymorphism
A.    Mengenal polymorpism
          Polymorphism adalah salah satu dari tiga kemampuan yang mendasar yang dimiliki oleh OOP, setelah data abstraction dan inheritance. Polymorphism menyediakan cara yang berbeda pada pemisahan interface dari implementasinya, untuk memasangkan ulang apa dari bagaimana. Polymorphism memberikan organisasi kode yang lebih baik dan kode menjadi lebih mudah dibaca, juga memberikan suatu kemampuan pada program untuk berkembang secara terus menerus baik pada tahap pengembangan awal ataupun pada saat ingin menambahkan kemampuan-kemampuan yang baru.




            Polymorphism dapat disamakan dengan Method Overloading, dimana di dalam sebuah class terdapat beberapa method dengan nama sama. Sebuah Method bernama CetakData() yang misalnya berfungsi menampilkan data String, tentu tidak bisa menangani masukan berupa data numerik, boolean, ataupun karakter, demikian juga sebaliknya. Solusi yang bisa dilakukan adalah dengan menyediakan beberapa MethodCetakData() yang akan menangani setiap tipe data, sehingga data apapun yang diberikan sebagai parameter tetap bisa diproses.
Berikut adalah contoh program Polymorphism pada Java:
class CetakDataTipe {

// membuat method dengan nama sama tapi berbeda tipe data
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
public class Polymorphism {

public static void main(String[] args) {
CetakDataTipe data = new CetakDataTipe();

System.out.print("Cetak Data Tipe String : ");
data.CetakData("Sumatra");

System.out.print("Cetak Data Tipe Integer : ");
data.CetakData(1989);
System.out.print("Cetak Data Tipe Double : ");
data.CetakData(16.5 / 2);

System.out.print("Cetak Data Tipe Char : ");
data.CetakData('N');
}
}
2. Lalu Jalankan Program dan Akan mendapatkan Output seperti dibawah ini :
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnaSAF75gy3_Ct2qsHLVfe3gJuavtpixCXwixRGJJvkTyEeIfhCJGlgeR5LprWR8LgKO4qxmudXN0HjrN1N0dGzZJIPepvFtqljYaGGCUdxIjiVX7tgrm3KlVGbG80FDD0wtwdJ_yLutrf/s320/polymorphism.JPG

Method CetakData() akan bereaksi dengan satu dari 4 macam tipe data, tergantung dari data yang Passing ke dalamnnya. Keragaman model Method ini disebut Polimorph atau Banyak Bentuk.


II.4ENCAPSULATION
A.    Mengenal Encapsulation
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.



Contoh dalam program :
import javax.swing.*;
public class HaloJava
{
public static void main( String[] args )
{
JOptionPane.showMessageDialog(null,”Halo Java”);
}
}
Perhatikan contoh coding diatas.  Kita mempergunakan class javax.swing.  Didalam javax.swing , ada method yang bernama JoptionPane, showMessageDialog. Jadi kita cukup memasukkan parameter (null, “Halo Java”), sedangkan proses yang terjadi didalamnya, kita tidak mengetahui. Inilah salah satu contoh penerapan dari konsep encapsulation.
dengan encapsulation kita dapat:
  1. Penyembunyian Data (Data Hiding), supaya variabel tidak langsung diakses dan diberi sebarang nilai dari luar class, ini memberikan kemudahan kepada kita untuk me-monitor nilai dari variabel yang kita miliki.
  2. Memudahkan untuk me-maintain aplikasi yang kita buat, kita bisa merubah isi dari mutator method tanpa harus banyak melakukan proses re-factoring.
II.5 INHERITANCE
A.    Mengenal Inheritance
Inheritance adalah pewarisan yang artinya sebuah class dapat mewarisi
atribut dan method dari class lain, sebagai contoh dalam dunia nyata adalah Class Burung menurunkan sifat dan kemampuannya kepada class bebek dan ayam. Class Burung sebagai superclass dan mewariskan atribut juga methodnya kepada class bebek dan ayam sebagai subclass. Umumnya menggunakan extends Berikut ini gambarannya.
Description: http://writeronebe.files.wordpress.com/2010/01/inheritance.png
Contoh implementasi pada java
Membuat class bebek yang mewarisi class burung menggunakan extends :
Public class bebek extends burung {
            String kaki;
            Public void berenang (){
               System.out.println(“bebek berenang menggunakan kakinya yang berselaput”);
            }
}

Untuk membuktikan class bebek mewarisi atribut 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 atribut 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 mengset 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”+this.nama”+sedang tidur”);
            }
}

Coba 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.

                                                   















                                                                  BAB III
PENUTUP


III.1 Kesimpulan
          JAVA termasuk kedalam bahasa pemrograman yang berbasis objek(OOP) dimana prosesnya terbagi dalam Class. Setiap Class dapat membentuk objek-objek yang pada prinsipnya saling terintegrasi guna menyelesaikan masalah. Antara lain :
1.     Dalam Pemrograman Berbasis Objek (PBO), kita harus memperhatikan beberapa class yang sebaiknya digunakan sesuai dengan kebutuhan. , dimana model dari object yangdibuat berdasarkan pada tipe data.
2.      Untuk membuat sebuah class baru gunakan keyword new.
3.     Pada polymorpism agar type data dapat teridentifikasi maka perlu dibuatkan/dituliskan method untuk mendeklarasikan type data tersebut.
4.     Encapsulation menjaga program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
5.     Inheritance dapat mewarisi atribut dan method dari class lain.
Jadi konsep-konsep dari class,objeck,polymorpism,encapsulation,dan inheritance saling berhubungan untuk menjaga keutuhan sebuah program.
III.2 Saran
          Jadi dalam penggunaan/pembuatan program dalam java yang berbasis OOP kita harus memahami konsep-konsep dasar dari OOP tersebut, sehingga dapat menciptakan program dengan baik.

DAFTAR PUSTAKA






0 komentar:

Posting Komentar

Site search

    Blogger news

    Blogroll

    About