Jumat, 24 Mei 2013

PEMPROGRAMAN BERORIENTASI OBJEK



Pemrograman Berorientasi Objek
(Bagian 1)

1. Konsep PBO
Pemrograman berorientasi objek menjadikan objek sebagai komponen utama dalam program. Objek menggabungkan data dan fungsi sebagai satu kesatuan, sedangkan pada pemrograman yang tidak berorientasi objek, fungsilah yang menjadi perhatian utama. Pendekatan PBO membuat pengembangan program dapat dilakukan dengan lebih mudah, mengurangi duplikasi kode dan mengurangi kesalahan.
Pada PBO terdapat dua istilah yang sangat terkenal yaitu kelas dan objek. Perbedaan kelas dan objek dapat dijelaskan melalui analogi berikut:
Kelas itu seperti cetakan kue. Kelas adalah cetakan untuk objek.
Seperti halnya cetakan kue, sejumlah kue dapat diciptakan dengan menggunakan sebuah cetakan. Begitu pula halnya dengan kelas. Dengan menggunakan sebuah kelas, sejumlah objek dapat diciptakan. Seringpula dikatakan bahwa objek adalah instan kelas.
Masing-masing objek dengan sendirinya memiliki variabel instan (data) dan method (perilaku) yang disebutkan dalam kelas.

2. Kelas
Kelas dapat didefenisikan sebagai kerangka yang mendefinisikan variabel-variabel (data) dan method-method (perilaku) umum dari sebuah objek tertentu.
Dalam dunia pemrograman, sebenarnya kelas tidak jauh berbeda dengan tipe data sederhana. Perbedaannya, tipe data sederhana digunakan untuk mendeklarasikan variabel “normal”, sedangkan kelas digunakan untuk mendeklarasikan sebuah variabel yang berupa objek. Variabel yang berupa objek ini sering disebut dengan referensi objek (object reference).
Penting untuk diperhatikan bahwa kelas masih bersifat abstrak. Pada saat kita membuat sebuah kelas baru, berarti kita mendefinisikan tipe data baru. Sekali didefinisikan, maka tipe data baru ini dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain, kelas adalah pola (template) untuk pembuatan objek, dan objek adalah wujud nyata (instance) dari sebuah kelas. Sebagai contoh, manusia adalah kelas, sedangkan objek dari kelas manusia adalah si Udin, Tono, Dewi, dan lainnya. Kemudian data (variabel instan) disini seperti nama, tinggi dan berat badan, bentuk sidik jari, bentuk rambut, dsb sedangkan manusia juga memiliki perilaku (method) seperti: cara berjalan, cara bersuara, dsb.
Dalm Java, kelas didefinisikan dengan menggunakan kata kunci class. Berikut ini bentuk umum yang digunakan untuk mendefinisikan sebuah kelas:
class NamaKelas{
      tipe data1;
      tipe data2;
      ...
      tipe dataN;
      tipe namaMethod1(daftar-parameter){
      //kode untuk method1
      }
      tipe namaMethod2(daftar-parameter){
      //kode untuk method2
      }
      ...
      tipe namaMethodN(daftar-parameter){
      //kode untuk methodN
      }
}
Contoh kelas sederhana:
class Kotak{
      double panjang;
      double lebar;
      double tinggi;
}

3. Objek
Seperti yang telah dikemukakan sebelumnya, pada saat kita mendefinisikan suatu kelas, kita hanya membuat tipe data baru, bukan membuat objek baru. Untuk membuat objek baru dari tipe kelas yang telah didefinisikan, secara eksplisit kita perlu melakukan dua tahap yaitu pertama mendeklarasikan variabel yang akan menjadi referensi ke sebuah objek dari kelas yang bersangkutan. Kedua, kita perlu menginstansiasi kelas ke dalam variabel referensi dengan menggunakan operator new.

//Tahap pertama
Kotak k;
//Tahap kedua
k = new Kotak();
Atau biasanya bisa langsung ditulis sebagai berikut:
Kotak k = new Kotak();
Contoh 1:
class Kotak{
   double panjang;
   double lebar;
   double tinggi;
}

class VolumeKotak{
   public static void main(String[] args){
       double volume;
       Kotak k = new Kotak();
       k.panjang = 4;
       k.lebar = 3;
       k.tinggi = 2;
      
       volume = k.panjang * k.tinggi * k.lebar;
      
       System.out.println("Volume Kotak = " + volume);
   }
}
Program ini disimpan dengan nama DemoKotak1.java karena class utama (main program) berada di class DemoKotak1.

Contoh 2:
class Kotak{
      double panjang;
      double lebar;
      double tinggi;
}

class DemoKotak3{
   public static void main(String[] args){
       double volume1,volume2;
       Kotak k1 = new Kotak();
       Kotak k2 = new Kotak();

       k1.panjang = 4;
       k1.lebar = 3;
       k1.tinggi = 2;

       k2.panjang = 4;
       k2.lebar = 3;
       k2.tinggi = 2;

       volume1 = k1.panjang * k1.tinggi * k1.lebar;
       volume2 = k2.panjang * k2.tinggi * k2.lebar;

       System.out.println("Volume Kotak 1 = " + volume1);
       System.out.println("Volume Kotak 2 = " + volume2);
   }
}


4. Method
Berikut ini merupakan bentuk umum dari pembuatan method di dalam kelas:
tipe namaMethod(daftar-parameter){
      //kode yang akan dituliskan
}
Tipe adalah tipe data yang akan dikembalikan oleh method. Dalam Java, method terbagi dua: void dan non-void. Method void adalah method yang tidak mengembalikan nilai. Sedangkan method non-void adalah method yang mengembalikan nilai. Bagi programmer Pascal, method void cara kerjanya sama seperti sebuah prosedur dan method non-void memiliki cara kerja seperti fungsi.
Apabila method void maka di dalam method tersebut harus terdapat statemen return,  yang diikuti dengan nilai yang akan dikembalikan, sbb:
return nilai
nilai dapat berupa konstanta maupun variabel, yang digunakan untuk menandakan nilai yang akan dikembalikan oleh method.
Contoh 3:
class Kotak{
   double panjang;
   double lebar;
   double tinggi;

   void cetakVolume(){

       System.out.println("Volume Kotak = " + (panjang*lebar*tinggi));
   }
}

class DemoKotak4{
   public static void main(String[] args){
      
       Kotak k1 = new Kotak();
       Kotak k2 = new Kotak();

       k1.panjang = 4;
       k1.lebar = 3;
       k1.tinggi = 2;

       k2.panjang = 5;
       k2.lebar = 4;
       k2.tinggi = 3;

       k1.cetakVolume();
       k2.cetakVolume();

   }
}
Contoh 4:
class Kotak{
      double panjang;
      double lebar;
      double tinggi;

      double hitungVolume(){

            double vol = panjang*lebar*tinggi;
            return vol;
      }
}

class DemoKotak5{
      public static void main(String[] args){

            Kotak k1 = new Kotak();
            Kotak k2 = new Kotak();

            k1.panjang = 4;
            k1.lebar = 3;
            k1.tinggi = 2;

            k2.panjang = 5;
            k2.lebar = 4;
            k2.tinggi = 3;

            System.out.println("Volume Kotak 1 = " + k1.hitungVolume());
            System.out.println("Volume Kotak 2 = " + k2.hitungVolume());

      }
}

Contoh 5:
class Kotak{
   double panjang;
   double lebar;
   double tinggi;
  
   void isiData(double p, double l, double t){
       panjang = p;
       lebar = l;
       tinggi = t;
   }  double hitungVolume(){
       return (panjang*lebar*tinggi);}}

class DemoKotak6{
   public static void main(String[] args){
       Kotak k1 = new Kotak();
       Kotak k2 = new Kotak();
       k1.isiData(4,3,2);
   k2.isiData(5,4,3);
       System.out.println("Volume Kotak 1 = " + k1.hitungVolume());
       System.out.println("Volume Kotak 2 = " + k2.hitungVolume());
   }}

Tidak ada komentar:

Posting Komentar