MODUL VIII
INTERFACE
A. Pengertian Interface
Interface merupakan sutu mekanisme yang disediakan oleh java yang
memungkinkan berbagi konstanta atau menentukan bentuk metode yang dapat
digunakan oleh sejumlah kelas. Sekilas Interface mirip dengan kelas abstrak, karena
kelas abstrak juga menentukan bentuk metode untuk subkelas. Namun Interface dapat
dibedakan dengan kelas abstrak dalam hal ini seperti berikut :
Kelas abstrak dapat mengandung metode abstrak maupun metode tidak
abstrak, sedangkan hanya dapat mengandung metode abstrak.
Kelas Abstrak dapat mendeklarasikan variable instant, sedangkan interface
hanya dapat mendefinisikan konstanta.
Kelas Abstrak digunakan oleh kelas lain melalui pewarisan (via kata kunci
extends), sedangkan interface digunakan oleh kelas tidak melalui
mekanisme itu.
B. Program Interface
//program interface
interface AlatMusik {
void mainkan();
void setelNada();
String ambilNama();
}
class AlatMusikPetik implements AlatMusik {
protected String nama;
public void mainkan() {
System.out.println(ambilNama() + "dimainkan dengan cara dipetik");
}
public void setelNada() {
System.out.println("Setel Nada pada " +ambilNama());
}
public String ambilNama() {return nama;
}
}
class AlatMusikTiup implements AlatMusik {
protected String nama;
public void mainkan() {
System.out.println(ambilNama() + "dimainkan dengan cara Tiup");
}
public void setelNada() {
System.out.println("Setel Nada pada " +ambilNama());
Laporan Praktikum 1
Kelas dan Objek
Bahasa Pemrograman 1
}
public String ambilNama() {return nama;
}
}
class AlatMusikPukul implements AlatMusik {
protected String nama;
public void mainkan() {
System.out.println(ambilNama() + "dimainkan dengan cara dipetik");
}
public void setelNada() {
System.out.println("Setel Nada pada " +ambilNama());
}
public String ambilNama() {return nama;
}
}
class Gitar extends AlatMusikPetik {
Gitar(String nama) { this.nama = nama;
}
}
class Bass extends AlatMusikPetik {
Bass(String nama) { this.nama = nama;
}
}
class Interface {
public static void main(String[] args) {
AlatMusikPetik gitar,bass;
gitar = new Gitar("Gitar");
bass = new Bass("Bass");
gitar.mainkan();
gitar.setelNada();
System.out.println();
bass.mainkan();
bass.setelNada();
}
}
Setelah program selesai di compile maka keluaran yang akan muncul adalah sebagai
berikut :
Compiler Interface
Laporan Praktikum 2
Kelas dan Objek
Bahasa Pemrograman 1
B. Mendeklarasikan Interface
Interface menyerupai kelas. Perbedaannya, kata kunci Interface
menggantikan kedudukan kata kunci class. Bentuk pendeklarasiannya adalah
seperti berikut :
Penentu akses public biasa digunakan dengan tujuan agar interface dapat
diakses oleh kelas manapun. Jika tak ada penentu akses public, interface hanya
dapat diakses oleh kelas-kelas yang berada dalam paket yang sama.
C. Pewarisan Interface
Suatu Interface dapat mewarisi lebih dari sebuah interface. Bentuknya sebagai
berikut :
D. Menggunakan Interface
Sebuah kelas dapat menggunakan kelas Interface melalui kata kunci implements .
Bentuknya sebagai berikut :
Laporan Praktikum 3
Kelas dan Objek
Bahasa Pemrograman 1
Program VarInterface
Variabel yang akan di deklarasikan adalah variable hari dengan penggantian kode
berupa angka 1..7, dimana jika program ini akan meminta sejumlah angka antara
1..7 sejumlah hari yang ada. Terdapat pemilihan dengan memnggunakan switch-
case dalam pemilihan variable, dimana setiap angka yang d inputkan yaitu 1..7
maka program akan mencari/merujuk ke dalam case yang mana yang sesuai
dengan bilangan hari itu. Sebagai contoh setelah program di kompilasi, program
akan meminta untuk menginputkan angka yang mana nantinya akan di
terjemahkan ke dalam pemilihan hari, kita masukan angka -2, maka program akan
mencari angka yang cocok dengan hari tersebut sehingga angka – 2 menyatakan
bahwa angka tersebut terletak pada hari senin. Begitun dengan angka yang
lainnya.
Laporan Praktikum 4
Kelas dan Objek
Bahasa Pemrograman 1
Program TesInterface2
// program : TestInterface2.java
interface IntLampu {
public static final int KEADAAN_HIDUP = 1;
public static final int KEADAAN_MATI = 0;
System.out.print("redupkan() : ");
if (this.statusLampu == POSISI_MINIMUM)
System.out.println("Lampu mati");
else {
System.out.print("Lampu hidup");
System.out.println("Posisi tombol : " + this.statusLampu);
}
}
System.out.print("redupkan() : ");
if (this.statusLampu == POSISI_MAKSIMUM)
System.out.println("Lampu hidup");
Laporan Praktikum 5
Kelas dan Objek
Bahasa Pemrograman 1
else {
System.out.print("Lampu hidup");
System.out.println("Posisi tombol : " + this.statusLampu);
}
}
} // Akhir kelas
lampuKamar.hidupkan();
lampuKamar.redupkan();
lampuKamar.redupkan();
lampuKamar.buatLebihTerang();
lampuKamar.matikan();
lampuKamar.buatLebihTerang();
}
}
Laporan Praktikum 6
Kelas dan Objek
Bahasa Pemrograman 1
Kesimpulan
Interface merupakan sutu mekanisme yang disediakan oleh java yang
memungkinkan berbagi konstanta atau menentukan bentuk metode yang dapat
digunakan oleh sejumlah kelas. Sekilas Interface mirip dengan kelas abstrak, karena
kelas abstrak juga menentukan bentuk metode untuk subkelas
Laporan Praktikum 7
Kelas dan Objek