Tugas Alpro2 – Minggu 13 – 4121053 – Erlangga JayaWardhana


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

Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال