Search This Blog

Tuesday 12 June 2012

INTERFACE PADA PEMROGRAMAN JAVA

Interface adalah jenis khusus dari blok yang hanya berisi method signature (atau constant).  Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh. Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa interface-interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method interface dan versi yang tepat dari method yang akan dieksekusi tergantung dari tipe object yang melewati pemanggil method interface – from J.E.N.I


Untuk memahami lebih mudah, interface sekumpula dari method-method yang dibuat tapi belum ada operasi di dalam tubuh method tersebut, interface ini bisa diturunkan atau diwariskan kepada class yang ingin memakai method yang ada dalam masing-masing interface tersebut dengan keyword extends [interface yang didefinisikan]. Dan juga sebuah class mengimplementasi 1 interface yang sudah dibuat dengan keyword implements.

Ciri-ciri dari interface adalah sebagai berikut..
  • Method interface tidak punya tubuh, sebuah interface hanya dapat mendefinisikan konstanta dan interface tidak langsung mewariskan hubungan dengan class istimewa lainnya, mereka didefinisikan secara independent.
  • Tidak bisa membuat instance atau objek baru dari sebuah interface.
  • Ciri umum lain adalah baik interface maupun class dapat mendefinisikan method. Bagaimanapun, sebuah interface tidak punya sebuah kode implementasi sedangkan class memiliki salah satunya.
public interface [InterfaceName]
{
//beberapa method tanpa isi
}


- Seperti penggunaan interface pada salah satu class interface berikut.


public interface RemoteAllInOne {

 public void pindahChannel(int channel);

 public void perbesarVolume(int kpsts);

 public void perkecilVolume(int kpsts);

 public void perkecilZoom(int kpsts);

 public void perbesarZoom(int kpsts);
}


- Setelah itu kita menggunakan class yang akan mengimplementasi setiap method yang ada pada class interface RemoteAllInOne.


public class BenQ implements RemoteAllInOne {

 String[] menuTV = {"ANTV", "INDOSIAR", "TRANS-TV", "TPI", "RCTI", "SCTV", "GLOBAL-TV"};

 public void pindahChannel(int channel) {
 System.out.println("LCD BENQ Pindah Channel ke - " + this.menuTV[channel]);
 }

 public void perbesarVolume(int kpsts) {
 System.out.println("LCD BENQ Perbesar Vol : " +kpsts);
 }

 public void perkecilVolume(int kpsts) {
 System.out.println("LCD BENQ Pekecil Vol : " + kpsts);
 }

 public void perkecilZoom(int kpsts) {
 System.out.println("LCD BENQ Pekecil Zoom : " + kpsts);
 }

 public void perbesarZoom(int kpsts) {
 System.out.println("LCD BENQ Pebesar Zoom : " + kpsts);
 }
}

- Setelah itu kita membuat class yang berfungsi sebagai perantara pemanggil method sebelum kita masuk ke class main, atau pembuatan instance baru sebuah objek supaya dapat digunakan setiap interface yang dibuat tadi.

public class MyRemoteAllInOne {
 public void sendRequest(int aksi, RemoteAllInOne rmt, int tombol){
 switch(aksi){
 case 1:
 rmt.pindahChannel(tombol);
 break;
 case 2 :
 rmt.perkecilVolume(tombol);
 break;
 case 3 :
 rmt.perbesarVolume(tombol);
 break;
 case 4 :
 rmt.perkecilZoom(tombol);
 break;
 case 5 :
 rmt.perbesarZoom(tombol);
 break;
 }
 }
}


- Dan berikut adalah class main yang dipakai waktu pengeksekusian program.

public class Tester {

 /**
 * @param args the command line arguments
 */
 public static void main(String[] args) {
 BenQ bq = new BenQ();
  MyRemoteAllInOne my = new MyRemoteAllInOne();
  my.sendRequest(1, bq, 6);
  }
}



No comments:

Post a Comment