site of awanboy
Dunia penuh warna..
kumpulbloger
Sabtu, 10 Februari 2018
Senin, 25 Oktober 2010
Pemrograman Berorientasi Object
PBO
Objek
Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek , yaitu :
Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state.
Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour.
Contoh sederhananya adalah : 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.
Class
Class berbeda dengan objek. Class merupakan prototipe yang mendefinisikan variabel-variabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu kelas.
Method
Pada bahasa – bahasa pemograman yang lain method disebut juga fuction atau procedure. Dalam pemograman berorientasi object method adalah suatu operasi atau kegiatan yang dapat dilakukan suatu object.
Sifat2 OOP
1. Enkapsulasi
Dalam sebuah objek yang mengandung variabel-variabel dan methodmethod, dapat ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi
dapat diartikan sebagai bungkusan ( wrapper ) pelindung program dan data yang sedang diolah. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain.
Manfaat dari proses enkapsulasi adalah :
Modularitas
Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.
Information Hiding
Karena kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.
2. Inheritance
Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state ( variabel-variabel ) dan behaviour ( methodmethod) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override ) state dan behaviour yang diturunkan oleh superclass-nya.
Keuntungan dari inheritance adalah :
Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.
Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
Istilah dalam inheritance yang perlu diperhatikan :
Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
Superclass
Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.
Subclass
Subclass adalah class anak atau turunan secara hirarki dari superclass.
Super
Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.
Methode Overriding
Pendefinisian ulang method yang sama pada subclass.
Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.
3. Polimorfisme
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method
tergantung dari tipe objeknya.
Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah :
Method yang dipanggil harus melalui variabel dari basis class atau superclass.
Method yang dipanggil harus juga menjadi method dari basis class.
Signature method harus sama baik pada superclass maupun subclass.
Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.
Interface
Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk komunikasi antar objek berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar objek tersebut.
Package
Package adalah cara untuk mengelompokan class dan interface yang ada ke dalam kelompoknya (name space) masing – masing sehingga lebih mudah diatur dan memungkinkan penggunaan nama yang sama.
Modifier
Penggunaan modifier berfungsi untuk melakukan enkapsulasi (membungkus data) pada objeck. Dengan menggunakan modifier kita dapat menentukan siapa saja yang boleh menggunakan atau mengakses member dari suatu objek.
Ada empat macam modifier yang dikenal oleh Java, yaitu private, protected, public dan tanpa modifier.
Berikut ini adalah daftar modifier yang dapat digunakan pada method.
Modifier | Keterangan |
(default) | Method visible atau dapat digunakan hanya pada package yang sama |
public | Method visible pada semua package |
private | Method visible hanya di dalam class itu sendiri |
protected | Method visible didalam package dan sub classnya |
static | Lihat sub bab sebelumnya |
final | Method tidak dapat diubah / dioverride pada subclass (dibahas pada bab selanjutnya) |
abstract | Method harus dioverride / didefinisikan pada subclassnya (dibahas pada bab selanjutnya) |
Abstract Class
Class Abstrak tidak berbeda dengan class – class lainnya yaitu memiliki class members (method dan variabel). Sebuah class adalah abstrak jika salah satu methodnya dideklarasikan abstrak. Method abstrak adalah method yang tidak memiliki implementasi. Contoh deklarasi method abstrak:
abstract public void cetak();
Beberapa hal yang perlu diperhatikan adalah sebagai berikut:
Class abstrak tidak dapat dibuatkan instan atau objeknya menggunakan keyword new.
Sebuah class dapat dideklarasikan sebagai class abstrak walaupun tidak memiliki method abstrak.
Variabel dengan tipe class abstrak tetap bisa diciptakan, tetapi harus refer ke subclass dari class abtrak tersebut yang tentunya tidak abstrak.
Konstruktor
Konstruktor merupakan method khusus yang digunakan untuk menginisialisasi objek dan tiap class boleh memiliki lebih dari satu konstruktor.
Perbedaan method biasa dengan konstruktor adalah bahwa konstruktor harus memiliki nama yang sama dengan nama classnya dan tidak memiliki nilai kembalian (tipe-data).
Konstruktor dijalankan pada saat sebuah object diinisialisasi (menggunakan kata new). Pada konstruktor juga berlaku overloading, artinya boleh mendeklarasikan lebih dari satu konstruktor, asalkan memiliki parameter yang berbeda – beda.
Method Overloading
Dalam Java kita boleh memiliki lebih dari satu method yang memiliki nama sama. Inilah yang disebut method overloading. Walaupung Java mengizinkan memiliki nama method sama lebih dari satu, tetapi daftar parameter yang digunakan haruslah berbeda untuk masing – masing method. Karena Java akan menggunakan parameter – parameter ini untuk menentukan method mana yang akan dieksekusi.
Method Overriding
Jika pada subclass kita menulis ulang method yang ada pada super classnya, maka method yang ada di subclass tersebut disebut meng-override method super classnya. Jadi ketika kita memanggil method tersebut dari objek subclassnya maka yang akan dijalankan adalah method yang berada di subclass tersebut.
Penggunaan Keyword this
Terkadang dalam suatu method kita ingin menunjuk ke objek di mana method ini berada. Untuk itu kita menggunakan keyword this.
Penggunaan Keyword Static
Apabila kata kunci static kita tempatkan pada pendeklarasian member (variabel dan method) dari suatu class, maka member class tersebut dapat diakses tanpa harus menciptakan objek class tersebut.
Keyword final
Kata kunci final digunakan untuk pendeklarasian yang absolut. Keyword final dapat digunakan dalam pendeklarasian variabel, class, method. Pendeklarasiannya dengan menuliskan keyword final di depan variabel, class atau method. Dan perlu diketahui, final adalah keyword bukan modifier akses.
Penggunaan final pada variabel
Conoh:
class Lingkaran {
final double PI = 3.14;
}
Variabel PI bertipe double dan bernilai 3.14 tidak bisa diubah lagi secara aktual lewat mekanisme apapun. Baik lewat objek ataupun apapun. Final membuat variabel menjadi suatu konstanta yang absolut (tidak dapat diubah)
Penggunaan final pada class
Contoh:final class Kampus {
}Class Kampus tidak dapat diturunkan lagi (extends)
Penggunaan final pada method
Contoh:class Kampus {
final void tampil() {
System.out.println(“I LOVE JAVA”)
}
}Method tampil sudah mendapatkan keyword final, dan itu berarti method tersebut tidak dapat diubah atau dioverride dan di turunkan
Senin, 12 Juli 2010
Send gift to mylovelygf and stand a chance to WIN $100 USD
Open to all mig33 members with a registered and authenticated mobile number
The competition period is 1-11July, GMT
The mig33 user must send the virtual gifts to username "mylovelygf ", to be eligible for the competition
There will be one global prize winner who will win $100 mig33 credits. This will be the user who sends the most gifts to the username “mylovelygf ”
There will be local winners, in 15 specific countries. In each country the top two who send the most gifts to the username “mylovelygf ” will win $50 mig33 credits each.
There countries are:
* Syria
* Saudi Arabia
* Iraq
* Hong Kong
* Egypt
* Indonesia
* Maldives
* Brunei Darussalam
* Singapore
* South Africa
* India
* Bangladesh
* Mozambique
* Oman
* Israel
The prizewinners will be contacted via their registered mobile number and email with mig33.
The winners will be published within mig33. The winner̢۪s name and details may be used for promotional purposes.
This competition is not open to users in the USA.
by SaurabhBidani