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 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.
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