Anda di halaman 1dari 7

Bahasa Pemrograman 1

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 :

Public interface NamaInterface {


// metode – tanpa implementasi
// definisi konstanta
}

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 :

public Interface NamaInterface extends InterfaceA.InterfaceB {


// tubuh ibterface
}

D. Menggunakan Interface
Sebuah kelas dapat menggunakan kelas Interface melalui kata kunci implements .
Bentuknya sebagai berikut :

class NamaKelas1 [extends NamaKelas2]


implements NamaInterface1[NamaKelas2]{
//tubuh kelas
}

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.

Compiler Program VarInterface

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;

public abstract void hidupkan();


public abstract void matikan();
//Akhir interface
}
interface IntLampuPenyuram extends IntLampu {
public static final int POSISI_MAKSIMUM = 1;
public static final int POSISI_MINIMUM = 0;

public abstract void redupkan();


public abstract void buatLebihTerang();
//Akhir interface
}

class LampuPenyuram implements IntLampuPenyuram {


private int statusLampu = 0;

public void hidupkan() {


this.statusLampu = POSISI_MAKSIMUM;
System.out.print("hidupkan() : ");
System.out.print("Lampu hidup ");
System.out.print("Posisi tombol : " + this.statusLampu);
}

public void hidupkan() {


this.statusLampu = POSISI_MINIMUM;
System.out.print("matikan() : ");
System.out.print("Lampu mati ");
}

public void redupkan() {


if (this.statusLampu != POSISI_MINIMUM)
this.statusLampu--;

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);
}
}

public void buatLebihTerang() {


if (this.statusLampu != POSISI_MAKSIMUM)
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

public class TesInterface2 {


public static void main(String[] args) {

LampuPenyuram lampuKamar = new LampuPenyuram();

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

Anda mungkin juga menyukai