INTERFACE
Pengertian
Interface adalah bentuk mirip kelas dimana didalamnya tediri dari kumpulan method kosong dan konstanta. Interface tidak dapat dibuat obyek namun hanya dapat diimplementasi. Jika kelas menyatakan suatu obyek, maka interface pada umumnya menyatakan kemampuan seperti Readable (dapat dibaca), Runnable (dapat dijalankan), Comparable (dapat dibandingkan), dsb.
Jadi interface adalah antarmuka.
Kata ini mungkin sering kamu dengar. Contohnya seperti: GUI (Graphical User Interface) dan CLI (Command Line Interface).
Secara umum, interface berfungsi sebagai penghubung antara sesuatu yang ‘abstrak’ dengan sesuatu yang nyata.
Contoh Program Interface
#Game.java
package cobainterface;
public interface Game { int MAX_Amunisi = 100; int MIN_Amunisi = 0; void GameOn(); void GameOff(); void AmmoUp(); void AmmoDown();}
#Player.java
package cobainterface;
public class Player { private Game use;
public Player(Game use) { this.use = use ; } void playTheGame(){ this.use.GameOn(); } void offTheGhone(){ this.use.GameOff(); } void tambahkanPeluru(){ this.use.AmmoUp(); } void turunkanPeluru(){ this.use.AmmoDown(); }}
#Tank.java
package cobainterface;public class Tank implements Game {
private int Ammo; private boolean isPlayOn;
public Tank() { this.Ammo = 90; }
@Override public void GameOn() { isPlayOn = true; System.out.println("Processing......."); System.out.println(); System.out.println("░░░░░░███████ ]▄▄▄▄▄▄▄▄▃"); System.out.println("▂▄▅█████████▅▄▃▂"); System.out.println("███████████████████]."); System.out.println("◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤..."); System.out.println("Welcome to NDW"); System.out.println("Battle Tank III"); System.out.println(); }
@Override public void GameOff() { isPlayOn = false; System.out.println("SHOOT...!!!!"); }
@Override public void AmmoUp() { if (isPlayOn) { if (this.Ammo == MAX_Amunisi) { System.out.println(); System.out.println("NICE SHOOT"); System.out.println("RELOAD"); System.out.println("ammo" + this.getAmmo()+ "🚀"); System.out.println(); } else { this.Ammo += 10; System.out.println("Ammo: " + this.getAmmo()); } } else { System.out.println(); System.out.println("MISSING...."); System.out.println("Reload !!!!"); System.out.println(); } }
@Override public void AmmoDown() { if (isPlayOn) { if (this.Ammo == MIN_Amunisi) { System.out.println(); System.out.println(" Ammunition = 0 "); System.out.println(); } else { System.out.println(); this.Ammo -= 10; System.out.println("Ammo now: " + this.getAmmo()); System.out.println(); } } else { System.out.println(); System.out.println("Search Ammo !!!"); System.out.println(); } }
public int getAmmo() { return this.Ammo; }
}
#Main.java
package cobainterface;import java.util.Scanner;
public class Main {
public static void main(String[] args) { Game Amarta = new Tank();
Player jony = new Player(Amarta);
jony.playTheGame(); Scanner input = new Scanner(System.in); String aksi;
while (true) { System.out.println(); System.out.println("===WELCOME TO THE NEW ERA==="); System.out.println("[1] PLAY NEW GAME"); System.out.println("[2] ENEMIES AHEAD"); System.out.println("[3] SHOOT"); System.out.println("[4] RUN"); System.out.println("[0] QUIT"); System.out.println("--------------------------"); System.out.print("CHOOSE> "); aksi = input.nextLine(); System.out.println(); if(aksi.equalsIgnoreCase("1")){ jony.playTheGame(); } else if (aksi.equalsIgnoreCase("2")){ jony.offTheGhone(); } else if (aksi.equalsIgnoreCase("3")){ jony.tambahkanPeluru(); } else if (aksi.equalsIgnoreCase("4")){ jony.turunkanPeluru(); } else if (aksi.equalsIgnoreCase("0")){ System.exit(0); } else { System.out.println("WRONG CHOOSE !!!!"); } }
}
}
#Output
Sumber :
Moh. Shohibul Wafa, M. (2022). MODUL 11 – MEMAHAMI INTERFACE DI
JAVA. Modul Praktikum Algoritma dan Pemrograman 2, 1-10.
Muhardian,
A. (2019, Desember 28). Tutorial Java OOP: Memahami Interface di Java
(dan Contohnya). Retrieved from Petani Kode: https://www.petanikode.com/java-oop-interface/
Pengertian Interface Pada Java. (2021, OKTOBER 16). Retrieved from CODETERNITY: https://www.codeternity.com/id-id/article/java/java-interface