Pemrograman Berorientasi Obyek:Pembuatan interface di Java

Revision as of 14:57, 19 December 2022 by Kangtain (talk | contribs) (Created page with "===1. Interface Phone=== <syntaxhighlight lang="java"> package PackIntervace; public interface Phone { int MAX_VOLUME = 100; int MIN_VOLUME = 0; void powerOn(); void powerOff(); void volumeUp(); void volumeDown(); } </syntaxhighlight> ===2. Class PhoneUser=== <syntaxhighlight lang="java"> package PackIntervace;public class PhoneUser { private Phone phone; public PhoneUser(Phone phone) { this.phone = phone; } void turn...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

1. Interface Phone

package PackIntervace;
public interface Phone {
    int MAX_VOLUME = 100;
    int MIN_VOLUME = 0;
    void powerOn();
    void powerOff();
    void volumeUp();
    void volumeDown();
}

2. Class PhoneUser

package PackIntervace;public class PhoneUser {
    private Phone phone;
    public PhoneUser(Phone phone) {
        this.phone = phone;
    }
    
    void turnOnThePhone(){
        this.phone.powerOn();
    }

    void turnOffThePhone(){
        this.phone.powerOff();
    }

    void makePhoneLouder(){
        this.phone.volumeUp();
    }

    void makePhoneSilent(){
        this.phone.volumeDown();
    }
}

3. Class Xiaomi package PackIntervace; public class Xiaomi implements Phone { private int volume; private boolean isPowerOn; public Xiaomi() { // set volume awal this.volume = 50; } @Override public void powerOn() {isPowerOn = true; System.out.println("Handphone menyala..."); System.out.println("Selamat datang di XIAOMI"); System.out.println("Android version 29"); } @Override public void powerOff() { isPowerOn = false; System.out.println("Handphone dimatikan"); } @Override public void volumeUp() { if (isPowerOn) { if (this.volume == MAX_VOLUME) { System.out.println("Volume FULL!!"); System.out.println("sudah " + this.getVolume() + "%"); } else { this.volume += 10; System.out.println("Volume sekarang: " + this.getVolume()); } } else { System.out.println("Nyalakan dulu donk HP-nya!!"); } } @Override public void volumeDown() { if (isPowerOn) { if (this.volume == MIN_VOLUME) { System.out.println("Volume = 0%"); } else {this.volume -= 10; System.out.println("Volume sekarang: " + this.getVolume()); } } else { System.out.println("Nyalakan dulu donk HP-nya!!"); } } public int getVolume() { return this.volume; } } 4. Class Main package PackIntervace; import java.util.Scanner; public class Main { public static void main(String[] args) { // membuat objek HP Phone redmiNote8 = new Xiaomi(); // membuat objek user PhoneUser dian = new PhoneUser(redmiNote8); // kita coba nyalakan HP-nya dian.turnOnThePhone(); // biar enak, kita buat dalam program Scanner input = new Scanner(System.in); String aksi; while (true) {System.out.println("=== APLIKASI INTERFACE ==="); System.out.println("[1] Nyalakan HP"); System.out.println("[2] Matikan HP"); System.out.println("[3] Perbesar Volume"); System.out.println("[4] Kecilkan Volume"); System.out.println("[0] Keluar"); System.out.println("--------------------------"); System.out.print("Pilih aksi> "); aksi = input.nextLine(); if(aksi.equalsIgnoreCase("1")){ dian.turnOnThePhone(); } else if (aksi.equalsIgnoreCase("2")){ dian.turnOffThePhone(); } else if (aksi.equalsIgnoreCase("3")){ dian.makePhoneLouder(); } else if (aksi.equalsIgnoreCase("4")){ dian.makePhoneSilent(); } else if (aksi.equalsIgnoreCase("0")){ System.exit(0); } else { System.out.println("Kamu memilih aksi yang salah!"); } } } }