Sabtu, 21 Agustus 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. Sama seperti penggambaran di dunia nyata, pengembangan program dengan konsep OOP juga menggunakan model object yang akan menyimpan atributnya dalam variabel dan tingkah lakunya dalam method atau fungsi-fungsi/prosedur. Deskripsinya :
Contoh objek : Sepeda
- Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna.
- Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda.
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.
A.3.Deklarasi Object dalam Pemrograman Java
Bentuk Umum Object :
namaObjek.namaMethod([daftarNilaiParameter]);
namaObjek.namaAttribute;
Deskripsi pendeklarasiannya (sebagai contoh) 1 :
Misalnya kita akan membuat objek sepeda dengan nama Onthel dan Onta, sepeda Onthel mempunyai 10 gigi dengan merk enlander sedangkan sepeda Onta memiliki 20 gigi dengan merk wan ‘abud, maka pembuatan / deklarasi objeknya adalah:
Sepeda Onthel=new Sepeda(10, “Enlander”);
Sepeda Onta=new Sepeda(20,”Wan Abud”);
Terlihat bahwa objek onthel dan onta akan memanggil konstruktor sepeda dengan 2
parameter yakni gigi dan merk. Sekarang kita akan coba membuat objek sepedaku dari class sepeda dengan meman ggil konstruktor tanpa berparameter.
Sepeda Sepedaku= new Sepeda();
Maka secara otomatis, objek sepedaku akan berisi gigi 0 dengan merk “Aneh”.
Deskripsi pendeklarasiannya (sebagai contoh) 2 :
Untuk membuat object, kita menggunakan perintah new dengan sebuah nama class yang akan dibuat sebagai instance dari class tersebut, sebagai contoh :
String str = new String();
Random r = new Random();
Pegawai p2 = new PEgawai();
Date hari = new Date();
Hari adalah object reference dari class Date yang akan digunakan untuk mengakses classnew adalah operator yang akan menghasilkan hari sebagai reference ke instance dari class Date(). Date. Sedangkan operator
B. Class
B.1.Definisi dan Gambaran Uum 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.
Sebuah file dapat terdiri dari berbagai kelas, namun biasanya pada bahasa pemrograman Java sebuah file hanya terdiri dari satu kelas yang disimpan dengan nama kelas, misal file List.java berisi kelas List. Namun jika kelas yang dibuat misalnya public class nama_kelas, maka kelas itu harus disimpan dalam satu file hanya untuk satu kelas. Setelah dilakukan kompilasi maka pada Java akan ada sebuah file .class yang berisi bytecode dari setiap kelas.
Jika sebuah file terdiri dari dua kelas, maka setelah dilakukan kompilasi akan dihasilkan dua buah file .class yang nantinya akan dibaca oleh interpreter Java saat program dieksekusi. Sebuah kelas saat program dieksekusi dan perintah new dijalankan, maka akan dibuat sebuah objek. Class adalah template untuk pembuatan objek. Class juga memiliki anggota, diantaranya : atribut dan method.
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.Deklarasi Class dalam Pemrograman Java
Bentuk Umum Class :
(modifier1)class NamaKelas (modifier2)
{
Classbody
}
Dalam pemrograman Java, untuk mendeklarasikan suatu class tentunya kita harus memperhatikan aturan-aturan umumnya, diantaranya :
- Tidak menggunakan space (spasi / blank) atau menggunakan spasi dengan diganti “_” (misal : class Sarjana_Mipa)
- Apabila nama kelas terdiri atas 2 kata, maka huruf pertama dari kedua kata tersebut menggunakan huruf besar (misal : class SarjanaMipa)
- Tidak menggunakan kata-kata yang telah dipakai oleh compiler (reserved Word)
Deskripsi pendeklarasiannya (sebagai contoh) :
Public Class Sepeda{
private String merk;
Variable
private int gigi;
public Sepeda(){
this.gigi=0;
Konstruktor
this.merk=”Aneh”
}
public Sepeda(int g, string m){
this.gigi=g;
this.merk=m;
}
public void ganti_gigi(int g){
this.gigi=g;
Method
}
public String tampilkan_merk(){
return this.merk
}
Class Body
}
B.4.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)
Berikut adalah penjelasan secara umum apa yang dimaksud dengan konstruktor dan juga bagaimana peranannya :
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.5.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.
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.Deklarasi Method dalam Pemrograman Java
Suatu method terdiri atas dua bagian / dua blok, yakni Method Declaration dan Method Body.
Bentuk Umum Method :
:
[modifier] tipe_return_value namaMethod(tipe parameter)
{
methodbody;
}
Deskripsi pendeklarasiannya (sebagai contoh) :
Public int perkalian (int y;int z)
}
Method Body
Int x=0;
X=y*z;
Return x;
}
Keterangan :
Public = Akses Level
Method Declaration
Int = Return type
Perkalian = Nama Method
(Int y; int z) = Parameter
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.
- Private
Atribut ini menunjukan bahwa fungsi atau method tidak dapat diakses oleh objek lain.
- 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.
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.
D. Atribut
D.1.Definisi dan Gambaran Umum Atribut
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas, Atribut dapat memiliki hak akses private, public maupun protected. Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara langsung. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya. Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya.
D.2.Karakteristik Atribut
Dalam class, atribut disebut sebagai variabel. Atribut dapat membedakan antara satu object dengan object yang lain. Sebagai contoh, pada class : mahasiswa, terdapat object mahasiswa si A, dan object mahasiswa si B. Yang membedakan antara object si A dan si B adalah NPM-nya (Nomor Pokok Mahasiswa) yang merupakan atribut dari object tersebut. Pada atribut, terdapat pula dua istilah variabel, yaitu Instance Variabel dan Class Variable. Dimana pada tiap variabel memiliki karakteristik tersendiri, diantaranya : Pada Instance Variabel àtiap object memiliki instance variabel dan menyimpan nilainya tersendiri. Sedangkan pada Class Variabel à atribut yang dimiliki oleh semua object yang berasal dari class yang sama, serta semua object memiliki nilai class variabel yang sama. atribut yang dimiliki object dari class yang sama, serta
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. Contoh:
public getNext1()
{
return next1;
}
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.
E. Implementasi Program Java Lengkap (Object, Class, Method, dan Atribut)
Deskripsi Program :
Class : Radio
Object : Radioku
Attribute : Warna Kuning Jeruk
Merek Arrowz
Pemutar volume
Tombol on/off
Method : Membesarkan volume
Menyalakan radio
Mematikan radio
Dari contoh di atas, terdapat satu buah class Radio dengan object Radioku. Object dalam class Radio bisa dibuat lebih dari satu. Kita bisa membuat object Radioku, Radiomu, Radionya Budi, dan Radionya Ridho. Banyak object yang dapat diciptakan dari satu kelas yang sama seperti halnya banyak radio yang dapat dibuat dari satu gambar rancangan yang sama. Bagaimana bentuk class, object, attribute, dan method dalam baris-baris pemrograman berbasis object? Mari kita lihat melalui bahasa Java yang menerapkan OOP :
// Radio.java
class Radio
{
String warna; //attribute dari class Radio
String merek; //attribute adalah data member atau variabel
int volume;
int off = 1;
//method dari kelas Radio
//method melakukan sebuah fungsi atau tugas dalam sebuah kelas
void nyalakanRadio()
{
System.out.println ("Radio menyala...");
off = 0; //tanda bahwa radio menyala
}
void matikanRadio()
{
off = 1; //tanda bahwa radio tidak menyala
System.out.println ("Radio tidak menyala...");
}
void besarkanVolume()
{
if (off == 1) //jika radionya mati
{
System.out.println ("Radio saat ini tidak menyala.");
System.out.println ("Tidak bisa besarkan volume.");
}
else
System.out.println ("Volume bertambah 1 level.");
}
void kecilkanVolume()
{
if (off == 1) //jika radionya mati
{
System.out.println ("Radio saat ini tidak menyala.");
System.out.println ("Tidak bisa kecilkan volume.");
}
else
System.out.println ("Volume berkurang 1 level.");
}
void cetakAttribute()
{
System.out.println ("Warna radio: " + warna);
System.out.println ("Merek radio: " + merek);
}
} //akhir dari kelas Radio
Semua data member (variabel) dan method dibungkus dalam kelas-kelas atau object-object. Class Radio memiliki data yang berfungsi sebagai attribute seperti warna, merek, off, dan volume. Class Radio juga memiliki fungsi atau tugas yang berfungsi sebagai method seperti nyalakanRadio, matikanRadio, besarkanVolume, kecilkanVolume, dan cetakAttribute.
Selanjutnya, mari kita buat file RadioBeraksi.java Yang menggunakan attribute dan method dari file Radio.java.
//RadioBeraksi.java
public class RadioBeraksi
{
public static void main (String[] args)
{
//membuat object terlebih dahulu
Radio radioku = new Radio();
//memanggil attribute dan memberi input nilai
radioku.warna = "Hitam";
radioku.merek = "Arrowz";
//panggil method dari class Radio
radioku.cetakAttribute();
radioku.kecilkanVolume();
radioku.nyalakanRadio();
radioku.besarkanVolume();
radioku.matikanRadio();
}
}
Dari baris-baris pemrograman dengan bahasa java yang dilengkapi dengan comment (komentar), kita dapat melihat bagaimana definisi class, object, data (attribute), dan method. Dalam OOP, data member dan method diperlakukan sama, tidak seperti dalam pemrograman terstruktur. Bagaimanapun, penggunaan sudut pandang object memberikan nuansa yang berbeda dalam merancang sebuah program.

Tidak ada komentar:

Posting Komentar