Senin, 18 Juni 2012



interface.....
Antar Muka
Beberapa bahasa pemrograman berorientasi objek, misalnya C++, membolehkan suatu kelas memiliki dua atau lebih kelas super. Hal ini disebut pewarisan ganda (multiple inheritance). Pada ilustrasi berikut, kelas E memiliki kelas super A dan B, sedangkan kelas F memiliki 3 kelas super.

Pewarisan ganda seperti ini tidak diperbolehkan pada Java. Desainer Java ingin menjaga agar bahasa Java tetap sederhana, dan mereka merasa pewarisan ganda ini sangat kompleks dengan keuntungan yang tidak begitu besar. Akan tetapi, Java memiliki fitur lain yang bisa digunakan seperti halnya pewarisan berganda, yaitu antar muka (interface).
Kita telah mengenal istilah "antar muka" sebelumnya, yaitu dalam konteks umum tentang kotak hitam dan subrutin. Antar muka suatu subrutin terdiri dari nama, jenis keluarannya, jumlah dan tipe parameternya. Informasi ini dibutuhkan jika kita ingin memanggi subrutin tersebut. Suatu subrutin juga memiliki implementasi : yaitu blok yang berisi perintah yang akan dijalankan ketika subrutin ini dipanggil.
Dalam Java, kata interface adalah kata kunci yang memiliki arti tambahan. Suatu interface dalam hal ini adalah antar muka yang terdiri dari subrutin tanpa implementasi apa-apa. Suatu kelas dapat mengimplementasi suatu interface dengan memberikan kode detail pada setiap subrutin yang ditulis pada interface tersebut

Senin, 28 Mei 2012

Memeriksa tipe data objek menggunakan operator instanceof (Java)

Memeriksa tipe data objek menggunakan operator instanceof (Java)

Pada bentuk polymorph, suatu variabel referensi dari base class dapat menerima referensi dari objek derivative class secara langsung tanpa melalui type-casting. Type-casting adalah merubah suatu tipe data ke tipe data yang lain. Type-casting pada suatu objek dapat dilakukan selama kedua objek tersebut masih berada pada hirarki turunan kelas yang sama (inheritance). Contoh:
public class Mobil {
  public void nyalakanMesin() {}
  public static void main(String[] args) {
    Object obj = new Mobil();
  }
}
Hal ini karena kelas Object dalam pemrograman Java merupakan kelas paling dasar dari semua kelas yang ada dan semua kelas langsung atau tidak langsung diturunkan dari kelas ini. Oleh karenanya kelas Mobil merupakan turunan dari kelas Objek. Sehingga secara logika obyek mobil adalah suatu objek. Sehingga penulisan kode program seperti di atas diperbolehkan.

Sekarang misalnya obyek yang direferensi oleh variabel obj yakni objek dari kelas Mobil ingin dikembalikan lagi ke bentuk objek aslinya, maka diperlukan type-casting secara eksplisit. Hal ini karena tidak semua objek adalah mobil dan mobil hanya salah satu objek dari objek lainnya. Sehingga penulisannya menjadi:
  Mobil mobil = (Mobil)obj;
Suatu objek tidak hanya mobil saja, bisa saja motor, orang, pohon, dan lainnya. Sehingga diperlukan pemeriksaan tipe data objeknya untuk mencegah kesalahan pada saat melakukan type-casting. Untuk memeriksa kondisi tipe datanya, dapat digunakan operator instanceof yang akan bernilai true jika suatu objek merupakan tipe suatu kelas tertentu. Jika suatu objek bukan tipe data suatu kelas tertentu, maka nilai operator instanceof bernilai false. Contoh:
if (obj instance of Mobil) {
  Mobil mobil = (Mobil)obj;
  mobil.nyalakanMesin();
}
Jika misalnya saja tanpa pemeriksaan terlebih dahulu menggunakan operator instanceof dan ternyata variabel obj tidak mereferensi objek dari kelas Mobil, maka statemen di atas akan menyebabkan kesalahan. Contoh:
Object obj = new Orang();
Mobil mobil = (Mobil)obj; // error di sini
mobil.nyalakanMesin();
Kesalahan terjadi karena variabel obj mereferensi objek dari kelas Orang, sedangkan pada proses type-casting, objek yang direferensi oleh variabel obj diubah (cast) ke bentuk tipe data kelas Mobil.

Rabu, 18 Januari 2012

kata mutiaraqu

Kata Kata Mutiara Terbaik


Janganlah mencari Tuhan karena anda membutuhkan jawaban. Carilah Tuhan karena anda tahu bahwa Dia lah jawaban yang anda butuhkan.

Sebenarnya Anda lebih berani dari yang anda duga, lebih kuat dari yang anda tahu, dan lebih pintar yang anda kira, namun itu semua tersembunyi dibalik diding tipis bernama keragu-raguan.


Senyum mampu menyelesaikan banyak masalah, dan diam mampu membuat kita terhindar dari banyak masalah.

Diam Bukanlah kelemahan, jika di iringi dengan perbuatan dan hasil nyata.

Satu-satunya cara untuk melakukan pekerjaan besar adalah dengan mencintai apa yang Anda lakukan, walaupun sebenarnya anda membencinya.

Harapan tinggallah harapan jika tidak disertai tindakan, impian tinggallah impian jka tidak selaras dengan kemampuan.

Hanya karena kamu mendengar apa yg dilakukan seseorang, tak berarti kamu bisa menghakiminya. Kamu tak tahu apa yg telah dilaluinya.