Makalah "Interface" Bahasa Pemrograman lanjut




BAB 1

PENDAHULUAN


A.    Latar Belakang
Pada proses pengembangan sistem sering kali kita dihadapkan kepada berbagai ragam teknologi atau berbagai jenis teknik pembuatan program. Misalnya dalam membuat aplikasi kita menggunakan berbagai jenis apliaksi database dengan gaya pemrograman yang berbeda. Java memberikan fasilitas untuk menjembatani perbedaan tersebut dengan apa yang disebut dengan interface. Interface lebih mempermudah analyst dalam membuat konsep aplikasi, interface mirip dengan pola atau biasa disebut dengan cetak biru aplikasi.
Apabila sbuah class java menggunakan interface maka class tersebut mngimplementasikan interface. Pada saat class mengimplementasikan interface walaupun semua yang ada di interface harus dicantumkan, namun tidak semuanya harus berisi perintah atau proses. deklarasi interface harus public, karena memang fungsi class pengguna interface adalah untuk digunakan secara public
Interface dalam kehidupan sehari-hari ibarat sebuah clausul kontrak, yang berisi pasal-pasal, namun pasal-pasal tersebut masih kosong dan akan di isi pada saat kontrak tersebut digunakan.

B.     Rumusan Masalah
1.      Apa pengertian Interface dalam java?
2.      Bagaiamana cara membuat dan mengimplementasikan interface?
3.      Apa tujuan dari interface?
4.      Bagaimana aturan-aturan dalam interface?
5.      Contoh program interface

C.    Tujuan
1.      Menjelaskan pengertian interface dalam java
2.      Mendeskripsikan bagaimana cara membuat dan mengimplementasikan interface
3.      Tujuan dari interface
4.      Menjelaskan bagaimana aturan-aturan dalam interface
5.      Memberikan contoh program interface dalam java




BAB 1I
PENDAHULUAN

A.    Pengertian Interface
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.
Di dalam bahasa Java, sebuah subclass merupakan turunan langsung dari satu superclass (single inheritance). Java tidak memperbolehkan sebuah subclass diturunkan langsung dari beberapa macam superclass (multiple inheritance). Dengan menggunakan interfes (interface), akan diperoleh efek dari multiple inheritance.
Interface adalah class yang hanya berisi deklarasi method tanpa memiliki implementasi dan semua property yang dimilikinya bersifat final. Interface mirip dengan class abstrak, tetapi interface tidak terikat dengan class hierarki. Interface mendefinisikan sebuah (signature) dari sebuah kumpulan method tanpa tubuh. Interface mendefenisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Interface perlu digunakan dalam kerja team,karena programer yang lain tidak perlu tahu bagaimana detail code ditulis.
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.
Abstract class dapat memiliki tipe data dengan semua tipe data, sedangkan interface tipe datanya hanya berupa konstanta. Method pada abstract class dapat berupa method kongkrit dan method abstract. Sedangkan pada interface semua method harus berupa method abstract.
Sebuah Interface mendefinisikan protokol untuk berkomunikasi antar 2 object.
-          Class yang meng-implements sebuah interface harus implement semua method yang dideclarasikan di dalam Interface.
-          Nama Interface dapa digunakan di mana saja.
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.
Class modifier implements digunakan untuk mendeklarasikan sebuah kelas (class) yang akan mengimplementasikan satu atau lebih interface Java. Apa bila interface Java yang akan diimplementasikan lebih dari satu maka pendeklarasiannya dipisahkan dengan tanda koma.
Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Sedangkan detail dari method berada pada class yang mengimplementasikan interface tersebut. Interface digunakan jika ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance. Interface tidak berisi perintah kepada system untuk melakukan sesuatu, interface hanya memetakan apa yang harus dikirimkan dan apa yang diharapkan untuk dikembalikan. Tipe data yang boleh pada interface hanya tipe data konstan.
Secara default, interface hanya dapat diimplementasikan oleh class dipaket yang sama, tetapi bila memberi modifier public berarti kita memungkinkan class-class di luar paket dapat mengimplementasikan. Tubuh interface mengacu ke metode dan variable static final yang menyusun interface. Untuk mendeklarasikan sebuah interface, digunakan kata kunci interface sebelum nama interface.
Syntax Dasar
1.  public interface [InterfaceName]
2.  {
3.  //beberapa method tanpa isi
4.  }
 
B.     Tujuan Interface
            Interface merupakan jembatan penghubung antara program yang satu dengan yang lain, antara software satu dengan software lain. Interface perlu digunakan karena dalam software enginering, program tidak perlu tahu bagaimana detail code software lain ditulis.
Contoh:
Seorang pembuat software peta, yang ingin menggunakan Gmap Api (misalnya), tidak perlu mengetahui detail bagaimana Gmap Api ditulis, tetapi cukup tahu fungsi / method bagaimana api tersebut bekerja.
Seorang pembuat Extention browser Firefox, tidak perlu tahu detail code Firefox, tetapi hanya perlu mengetahui fungsi / method dasar code dari Firefox tersebut.
C.    Aturan-Aturan dalam Interface
Berikut ini adalah aturan yang harus dingat tentang pendeklarasian interface:
1.      Modifier yang digunakan hanya public atau tidak sama sekali. Jika tidak menggunakan modifier maka interface tersebut hanya dapat diakses dalam package yang sama.
2.      Semua variabel yang dideklarasikan dalam interface secara otomatis adalah static final. Karena itu waktu pendeklarasian harus diberikan nilai.
3.      Semua method adalah abstrak. Bedanya dengan class abstrak adalah kita tidak perlu menuliskan keyword abstract pada saat mendeklarasikan method dalam interface.
4.      Kita dapat mengimplementasikan lebih dari satu interface (multiple inheritance) dengan memisahkan nama dari setiap interface dengan tanda koma.
5.      Dapat terjadi saat kita mengimplementasikan lebih dari satu interface ternyata interface-interface tersebut memiliki method yang sama. Dalam hal ini method yang akan diimplementasi adalah method yang berada pada posisi pertama.
6.      Semua method yang diimplemetasikan harus public.
7.      Jika kita tidak mengimplementasikan semua method yang ada pada interface, maka class tersebut harus dideklarasikan sebagai abstract class.

D.    Contoh Program Interface
Contoh Program 1
Kelas Interfacenya
1.   public interface OpsiSenjata{
2.   public void tembakSenjata();
3.   public void reloadSenjata();
4.   public void tukarSenjata(int kodesenjata);
5.   }
            Kelas yang mengimplementasi interface diatas
1.   public class Senjata implements OpsiSenjata {
2.   int pelor = 0;
3.   String[] senjata= {"M532", "Magnum", "M16", "AK47", "Kriss", "Panzerfaust"};
4.   Senjata(int pelor){
5.   this.pelor = pelor;
6.   }
7.   public void tukarSenjata(int kodesenjata) {
8.   System.out.println("Senjata tukar ke ke : " + this.senjata[kodesenjata]);
9.   }
10. 
11. public void tembakSenjata() {
12.   if (pelor != 0) {
13.     System.out.println("Dor dor dor!");
14.     this.pelor = pelor -1;
15.   } else {
16.     System.out.println("Sisa Pelor Habis");
17.   } 
18. }
19. public void reloadSenjata() {
20. System.out.println("Senjata di reload");
21. this.pelor = pelor + 7;
22. }
23. 
24.}

Tester
1.   public class Tester {
2.   public static void main(String[] args) {
3.   Senjata Gun1 = new Senjata(7);
4.   Gun1.tembakSenjata();
5.   Gun1.tembakSenjata();
6.   Gun1.reloadSenjata();
7.   Gun1.tukarSenjata(2);
8.   }
9.  }


Contoh Program 2
Kita membuat sebuah class interface, kemudian kita masukkan source code seperti dibawah ini :

public interface JenisMakanan {
                  public void makanan();
}
     

Kemudian kita membuat class baru dengan nama "pedas" kemuidan mengimplemenasikannya dengan class interface tadi dengan cara menambah "implements" pada nama class tersebut dan masukkan source code seperti dibawah ini.

public class pedas implements JenisMakanan{
                  public void makanan()
                  {
System.out.println(" saya Suka Makanan Pedas, Keripik Pedas ");
}
}
     
Kita membuat satu class lagi dengan cara sama seperti class sebelumnya tetapi dengan nama berbeda yaitu "manis" dan juga mengimplementasikannya

public class manis implements JenisMakanan {
public void makanan ()
{
System.out.Println("Saya juga Suka Makanan manis, Keripik Manis");
}
}
     
Kemudian kita membuat satu class untuk memanggil semuanya, dengan nama class "TestInterface". Masukkan Cource code dibawah ini

public class TestInterface {
                  public static void main (string [] args) {
                        manis objectmanis = new manis() ;
                        pedas objectpedas = new pedas() ;
                        objectpedas.makanan();
                        objectmanis.makanan();
}
}

Hasil Run






BAB 111
PENUTUP


A.    Kesimpulan
Di dalam bahasa Java, sebuah subclass merupakan turunan langsung dari satu superclass (single inheritance). Java tidak memperbolehkan sebuah subclass diturunkan langsung dari beberapa macam superclass (multiple inheritance).
Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Sedangkan detail dari method berada pada class yang mengimplementasikan interface tersebut. Interface digunakan jika ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance.

Komentar

  1. saya mau tanya dong, kalau gitu, kelas interface yang dibuat sama aja gak terpakai dong. coba deh kalau misalnya kita hapus kelas interface nya programnya tetap jalan. mohon contoh program lainnya biar kelihatan perbedaannya dan pemakaian interface nya

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Tugas Sistem Operasi

Dinas Komunikasi dan Informatika Kota Makassar