Laman

Minggu, 19 Desember 2010

Pemrograman Berbasis Objek (PBO)

A..Object
A.1 Definisi dan Gambaran Umum Object
Object merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh object yang ada di dunia nyata. Object adalah implementasi dari class. Secara sederhananya, dapat dikatakan terdiri dari properti (atribut) dan method.
Pemahaman singkatnya :
• Objek merupakan sebuah objek khusus yang digunakan untuk mengakses anggota objek (atribut atau method) dari dalam objek itu sendiri.
• Apabila terdapat variabel lain yang memiliki nama yang sama dengan nama atribut di dalam objek, “this” dapat digunakan untuk merujuk ke atribut objek.
A.2 Karakteristik Object
Setiap object memiliki dua karakteristik yang utama, yaitu atribut dan behavior. Atribut merupakan status object dan behavior merupakan tingkah laku dari object tersebut. Contoh sederhana adalah sepeda. Object sepeda memiliki atribut : pedal, roda, dan gigi, kecepatan serta memiliki tingkah laku seperti pacu dan rem. Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur.
B. Class
B.1 Definisi dan Gambaran Umum Class
Class didefinisikan sebagai sebuah blue print, atau prototipe, yang mendefiniskan variabel-variabel dan metode-metode yang umum untuk semua objek dari n jenis tertentu (n maksudnya jumlah tertentu). Sebuah kelas menyerupai sebuah struktur yang merupakan tipe data sendiri, misalkan tipe data titik yang terdiri dari koordinat x dan y. Bahasa Java telah menggunakan sebuah kelas untuk menyatakan tipe data titik karena bahasa pemrograman Java merupakan bahasa pemrograman berorientasi objek murni sehingga tidak mengenal struktur, melainkan mengenal apa yang disebut dengan kelas.
Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk disalin bagian strukturnya ke kode program utama yang lain.
Pemahaman singkatnya :
• Class merupakan pola / template yang menggambarkan kumpulan object yang mempunyai sifat dan perilaku yang sama.
• Class merupakan struktur data dari object (blueprint dari sebuah object), dan proses pembuatan object dari sebuah class disebut juga dengan instantiation..
• Class merupakan definisi data dan fungsi dari suatu hal (benda, konsep, dll).
• Di dalam class dideklarasikan variabel dan method yang dimiliki oleh obyek
B.2 Karakteristik Class
Class memiliki beberapa karakteristik, diantaranya : anggota class terdiri dari atribut dan method. Tiap-tiap anggota class memiliki control pengaksesan tersendiri, maksudnya adalah apakah anggota class tersebut dapat diakses dengan bebas (dengan tipe public) atau hanya dapat diakses melalui sebuah interface. Dalam hal ini, interface adalah device yang digunakan untuk komunikasi antar object berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar object tersebut.
B.3 Class Body
Class Body merupakan bagian dari kelas yang mendeklarasikan kode-kode program java. Class Body tersusun atas:
a .Konstruktor
b. Variable
c. Method (Fungsi-fungsi atau prosedur)
Konstruktor adalah suatu method yang mempunyai nama sama dengan nama class dimana method itu dibuat. Fungsi konstruktor adalah sebagai inisiasi awal dari terbentuknya sebuah objek. Sebuah kelas harus memiliki sebuah metode yang disebut sebagai konstruktor. nama sebuah konstruktor harus sama dengan nama dari sebuah kelas, misalkan kelas Elemen maka konstruktornya adalah Elemen().
Sebuah konstruktor juga dapat menerima sebuah masukan seperti halnya prosedur pada pemrograman prosedural. Fungsi dari sebuah konstruktor adalah mengalokasikan sebuah objek saat program dieksekusi, memberikan nilai awal sebagai inisialisasi dari semua atribut yang perlu diinisialisasi dan mengerjakan prosesproses yang diperlukan saat sebuah objek dibuat.
Namun, pada kenyataannya sebuah konstruktor dapat tidak berisi apa-apa, hal ini jika memang tidak diperlukan adanya inisialisasi atau proses yang dikerjakan ketika sebuah objek dibuat. Konstruktor tersebut disebut sebagai konstruktor default. Konstruktor harus bersifat public karena sebuah konstruktor akan diakses oleh kelas lain untuk membuat objek suatu kelas. Sebuah kelas dapat memiliki konstruktor lebih dari satu.
Pada saat eksekusi program, kompiler atau interpreter akan mencari konstruktor mana yang sesuai dengan konstruktor yang dipanggil, hal ini juga merupakan overloading .
B.4 Perbedaan antara Class dengan Object
Class tentunya berbeda dengan object. Class merupakan prototipe yang mendefinisikan variabel dan method secara umum. Akan tetapi, object adalah hasil instansiasi dari suatu class.
Object-object yang memiliki kondisi yang berbeda seperti sepeda A pada gigi posisi 4 dan sepeda B pada gigi posisi 6 dapat disatukan dalam satu “class sepeda” berdasarkan kondisi umum sepeda yang dapat ubah posisi giginya. Untuk dapat memahami Konsep OOP dengan baik seorang pemrogram harus dapat membedakan antara object dengan class.
B.5 Contoh class pada java
public class Contoh3 {
            public static int a;
            public static void test(){
      }
            public static void main(String[]args){
                  test();
            }
      }
C. Method
C.1.Definisi dan Gambaran Umum Method
Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada pemrograman prosedural. Pada sebuah method di dalam sebuah kelas juga memiliki izin akses seperti halnya atribut pada kelas, izin akses itu antara lain private, public dan protected yang memiliki arti sama pada izin akses atribut yang telah dibahas sebelumnya. Sebuah kelas boleh memiliki lebih dari satu method dengan nama yang sama asalkan memiliki parameter masukan yang berbeda sehingga kompiler atau interpreter dapat mengenali method mana yang dipanggil. Hal ini dinamakan overloading. Di dalam sebuah kelas, terdapat juga yang disebut sebagai method atau atribut statis yang memiliki kata kunci static. Maksud dari statis di sini adalah method yang dapat diakses secara berbagi dengan semua objek lain tanpa harus membuat objek yang memiliki method statis tadi (tanpa proses new), tapi sebuah method statis mempunyai keterbatasan yaitu hanya dapat mengakses atribut atau method lain di dalam kelas yang membungkusnya yang juga bersifat statis. Method statis biasanya diimplementasikan untuk method main.
C.2.Karakteristik Method
Didalam suatu class, behavior disimpan dalam bentuk Method. Method merupakan serangkaian statemen / perintah (perintah = baris program) dalam suatu class yang menghandle task tertentu. Method merupakan hal-hal yang bisa dilakukan oleh object dari suatu class. Method didefinisikan pada class akan tetapi dipanggil melalui object. Method memiliki peranan diantaranya :
- merubah nilai atribut dari suatu object,
- menerima informasi dari object lain, dan
- mengirim informasi ke obyek lain untuk melakukan suatu task (cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method).
C.3 Contoh method pada java
public static void show(){
            a = b + c;
            System.out.println("hasil ="+a);
      }
}
Akses Level
Access Level menentukan level pengaksesan sebuah method. Hal ini menentukan apakah sebuah method bias diakses oleh objek lain, objek anak, objek dalam satu paket atau tidak dapat diakses oleh suatu object sama sekali berikut adalah beberapa jenis level access:
- Public : Atribut ini menunjukan bahwa fungsi/method dapat diakses oleh objek  lain.
public static int b;
- Private : Atribut ini menunjukan bahwa fungsi atau method tidak dapat diakses oleh objek lain.
private static int a;
- Protected : Atribut ini menunjukan bahwa fungsi atau method hanya bisa diakses oleh objek itu sendiri atau objek lain yang merupakan subclass nya.
Return Type
Setiap fungsi menghasilkan suatu nilai dengan tipe data tertentu. Apabila terdapat suatu fungsi yang tidak menghasilkan suatu nilai apapun maka bagian return type ini diganti dengan void. Contoh :
public static int show(){
      return a;
}
Method Name / Nama Method
Setiap fungsi dalam pemrograman mempunyai identitas nama fungsi. Penamaan fungsi / method mengikuti aturan :
- Tidak menggunakan spasi atau menggunakan spasi dengan diganti “_” (misal method .Hitung_integral).
- Tidak menggunakan kata-kata yang telah dipakai oleh compiler (reserved Word).
Parameter
Bagian parameter diisi dengan parameter-parameter fungsi yang diperlukan. Parameter apabila lebih dari satu akan dipisahkan dengan tanda koma (“,”) parameter-parameter pada fungsi-fungsi di java akan di bypass value yang artinya pada tiap fungsi tidak akan dapat merubah isi dari variable parameter yang dimasukan.Contoh :
public static void main(String[]args){
      test(13 , 14); //13 dan 14 adlah parameter (value)
}
D. Atribut
D.3.Deklarasi Atribut dalam Pemrograman Java
Bentuk Umum Atribut :
[modifier] tipedata namavariabel;
[public] [static] final tipedata NAMA_KONSTANTA = nilai;
Merujuk pada Sub bahasan D.1 Definisi dan Gambaran Umum Atribut, berikut ini adalah contoh penggunaan atribut-atribut yang dimaksud (atribut yang ada didalam suatu class) :
Deskripsi pendeklarasiannya (sebagai contoh) :
class Elemen {
private Elemen next1;
public Elemen next2;
protected Elemen next3;
Elemen(){
       }
}
*) Catatan :
Jika kelas lain mempunyai objek dari kelas Elemen, dengan dilakukan pembuatan objek sbb: Elemen e = new Elemen(), maka :
● Atribut next1, tidak dapat diakses melalui elemen next1 karena atribut yang hak aksesnya private hanya dapat diakses oleh kelas yang membungkusnya. Jadi, pengaksesannya dapat dilakukan dengan membuat method pada kelas Elemen yang akan mengembalikan nilai atribut next1 tersebut.
Kelas lain yang akan mengakses atribut next1 pada kelas Elemen harus memanggil method getNext1().Izin akses private ini ditujukan untuk melindungi atribut - atributnya agar tidak dapat diakses oleh kelas lain.
● Atribut next2, dapat diakses kelas lain melalui e.next2 karena bersifat public yang memungkinkan kelas lain untuk mengakses secara langsung terhadap kelas tersebut. Jika sebuah atribut tidak ditulis izin aksesnya, maka interpreter Java akan menganggap atribut tersebut memiliki izin akses public.
● Atribut next3, dapat diakses secara langsung oleh kelas lain yang merupakan turunan kelas Elemen. Izin akses protected ini dimaksudkan untuk melindungi atribut agar tidak diakses secara langsung oleh sembarang kelas lain, kecuali oleh kelas turunannya.