Pemrograman Berorientasi Obyek:Pembuatan interface di Java: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
===1. Interface Phone=== | ===1. Interface Phone=== | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java" line="1"> | ||
package PackIntervace; | package PackIntervace; | ||
public interface Phone { | public interface Phone { | ||
| Line 12: | Line 12: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===2. Class PhoneUser=== | === 2. Class PhoneUser === | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java" line="1"> | ||
package PackIntervace;public class PhoneUser { | package PackIntervace;public class PhoneUser { | ||
private Phone phone; | private Phone phone; | ||
| Line 38: | Line 38: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
3. Class Xiaomi | === 3. Class Xiaomi === | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java" line="1"> | ||
package PackIntervace; | package PackIntervace; | ||
public class Xiaomi implements Phone { | public class Xiaomi implements Phone { | ||
| Line 98: | Line 98: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
4. Class Main | === 4. Class Main === | ||
<syntaxhighlight lang="java" line="1"> | |||
<syntaxhighlight lang=" | |||
package PackIntervace; | package PackIntervace; | ||
import java.util.Scanner; | import java.util.Scanner; | ||
| Line 141: | Line 140: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Materi]] | |||
[[Category:Matkul]] | |||
[[Category:Pemrograman Berorientasi Obyek]] | |||
Latest revision as of 15:07, 19 December 2022
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!");
}
}
}
}