Ujian Akhir Semester Analisis dan Perancangan Sistem Berorientasi Object
Analisis dan Perancangan Sistem Berorientasi Object
UAS AnPSBO(OOP)
Assalamu'alaikum Wr. Wb.
Nama : Aufa Munadil Al - Khoir
NIMa : 3420210024
Prodi : Teknik Informatika
Fakultas : Sains dan Teknologi
Emailass : 2020aufamunadil@gmail.com
UAS Analisis & Perancangan Sistem Berorientasi Object
Buatlah sebuah program yang dapat membuktikan bahwa sebuah variable atau method yang berada didalam protected inner class dapat diakses dari luar package melalui konsep inheritance (pewarisan).
Dijalankan Menggunakan Aplikasi NetBeans IDE 16
Script [Package_1-Inheritance]:
package Package_1;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AKHIR SEMSETER IV */
public class Inheritance {
protected class Inner {
public Inner() {
}
public void View() {
System.out.println("Soal Number 1 Program INHERITANCE [PEWARISAN]");
}
}
}
Script [Package_2-Pewarisan]:
package Package_2;
import Package_1.Inheritance;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AKHIR SEMESTER IV */
public class Pewarisan extends Inheritance {
public void accessInner() {
Inner inner = new Inner();
inner.View();
}
public static void main(String[] args) {
Pewarisan pwrsn = new Pewarisan();
pwrsn.accessInner();
}
}
Buatlah program untuk membuktikan bahwa jika didalam sebuah interface terdapat atribut maka secara otomatis atribut-atribut tersebut bersifat public, static, dan final.
Dijalankan Menggunakan Aplikasi NetBeans IDE 16
package uas.anpsbobject_uas;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AKHIR SEMESTER IV */
// Interface dengan atribut
public interface Interface_UAS {
int Value = 10;
String Name = "Aufa_Munadil_Al-Khoir";
void myMethod();
}
// Implementasi interface
class MyClass implements Interface_UAS {
@Override
public void myMethod() {
// Implementasi metode dari interface
System.out.println("Soal Number 2 IMPLEMENTASI METHOD INTERFACE");
}
}
Script [TInterface_UAS]:
package uas.anpsbobject_uas;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AKHIR SEMESTER IV */
public class TInterface_UAS {
public static void main(String[] args) {
System.out.println("VALUE From Intereface_UAS : " + Interface_UAS.Value);
System.out.println("NAME From Interface_UAS : " + Interface_UAS.Name);
System.out.println("=================================================");
Interface_UAS myObj = new MyClass();
myObj.myMethod();
}
}
Pada program drone (pembahasan enum), tambahkan status kondisi drone (misalnya baik atau rusak) dan buatlah kondisi dimana jika drone jatuh dari ketinggian 3 atau lebih maka status drone akan berubah menjadi rusak.
Dijalankan Menggunakan Aplikasi NetBeans IDE 16
Script 1 [Plane]:
package uas.anpsbobject_uas;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AHIR SEMESTER IV */
public class Plane {
protected int Height;
protected int Energy;
protected boolean machineStatus;
}
![]() |
File_2_[Drone_UAS] |
Script 2 [Drone_UAS]:
package uas.anpsbobject_uas;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AKHIR SEMESTER IV */
public class Drone_UAS extends Plane {
enum merk {
DJI, BRIC, JJRC
}
private final merk nameMerk;
Drone_UAS(int Energy, merk nameMerk, boolean machineStatus, int Height) {
this.Energy = Energy;
this.nameMerk = nameMerk;
this.machineStatus = machineStatus;
this.Height = Height;
System.out.println("Drone Initialized. " +
"\nMerk : " + nameMerk +
"\nEnergy : " + Energy +
"\nMachine Status : " + machineStatus +
"\nHeight : " + Height +
"\nCondition : Good.");
}
boolean checkMachine() {
if(machineStatus == true) {
return true;
} else {
System.out.println("The Machine has'n been Started.");
return false;
}
}
boolean checkHeight() {
if(Height <= 0) {
System.out.println("The Drone is on the Ground.");
return false;
} else {
return true;
}
}
boolean checkEnergy() {
if(Energy <=0) {
System.out.println("The Drone is Running out of Energy.");
if(Height > 0) {
System.out.println("Drone Fall.");
}
return false;
} else {
return true;
}
}
void checkStatus() {
System.out.println("Height : " + Height);
System.out.println("Energy : " + Energy);
if (Height >= 3 && Energy == 0) {
System.out.println("Condition : Rusak");
} else {
System.out.println("Condition : Baik");
}
}
void startMachine() {
if(machineStatus == true) {
System.out.println("Machine is ON.");
} else {
machineStatus = true;
System.out.println("The Engine Start.");
}
}
void offMachine() {
System.out.println("Command Shutdown Machine!");
if(checkHeight() == true) {
System.out.println("Machine Can't be Turn OFF," +
" Because The Drone is Flying.");
return;
}
machineStatus = false;
System.out.println("Machine Turn OFF.");
}
void chargeEnergy() {
System.out.println("Command Charge Energy!");
if(machineStatus == true) {
System.out.println("Can't Charge Energy," +
" Because The Drone Engine is ON.");
return;
}
if(Height > 0) {
System.out.println("Can't Charge Energy," +
" Because The Drone is Flying.");
return;
}
/*
Silakan Aktifkan salah satu Energy Untuk Mengujicoba
Program Sesuai dengan ketentuan Soal Nomor 3
*/
Energy = 2;
//Energy = 10;
System.out.println("Energy Drone Filled as Much : " + Energy);
/* Jika sudah menguji Programnya Silakan Kembalikan Seperti Semula :) */
}
void Fly() {
System.out.println("Command Fly!");
if(checkMachine() == false) {
System.out.println("Drone Can't Fly.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't Fly.");
return;
}
/*
Aktifkan Perintah di bawah ini Untuk Mengujicoba
Program Sesuai Ketentuan Soal Nomor 4
*/
/*if(Height == Energy) {
Height--;
Energy--;
System.out.println("Drone is Automatically"+
" descending to avoid Falling.");
return;
}*/
/* Jika sudah menguji Programnya Silakan Kembalikan Seperti Semula :) */
Energy--;
Height++;
System.out.println("Flying Drone.");
checkStatus();
}
void Down() {
System.out.println("Command Down!");
if(checkMachine() == false) {
System.out.println("Drone Can't go Down.");
return;
}
if(checkHeight() == false) {
System.out.println("Drone Can't go Down.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't go Down.");
return;
}
Height--;
Energy--;
System.out.println("Drone Down");
checkStatus();
}
void Turn() {
System.out.println("Command Turn!");
if(checkMachine() == false) {
System.out.println("Drone Can't Turn.");
return;
}
if(checkHeight() == false) {
System.out.println("Drone Can't Turn.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't Fly.");
return;
}
Energy--;
System.out.println("Drone Turn.");
checkStatus();
}
void Forward() {
System.out.println("Command Forward!");
if(checkMachine() == false) {
System.out.println("Drone Can't Forward.");
return;
}
if(checkHeight() == false) {
System.out.println("Drone Can't Forward.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't Fowrward.");
return;
}
Energy--;
System.out.println("Drone Forward.");
checkStatus();
}
void Backward() {
System.out.println("Command Backward!");
if(checkMachine() == false) {
System.out.println("Drone Can't Backward.");
return;
}
if(checkHeight() == false) {
System.out.println("Drone Can't Backward.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't Backward.");
return;
}
Energy--;
System.out.println("Drone Backward.");
checkStatus();
}
}
![]() |
File_3_[TDrone_UAS]_(Kondisi-Baik) |
Script 3 [TDrone_UAS] (Kondisi-Baik):
package uas.anpsbobject_uas;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AKHIR SEMESTER IV */
public class TDrone_UAS {
static void Line() {
System.out.println("=======================================================");
}
public static void main(String[] args) {
System.out.println("TEST DRONE [ENUM]");
Line();
Drone_UAS Drone = new Drone_UAS(0, Drone_UAS.merk.JJRC,false, 0);
Line();
Drone.Fly();
Line();
Drone.checkEnergy();
Line();
Drone.chargeEnergy();
Line();
Drone.startMachine();
Line();
Drone.Fly();
Line();
Drone.Fly();
Line();
/* Untuk Ketinggian Lebih dari 2 */
/*Drone.Fly();
Line();
Drone.Forward();
Line();
Drone.Backward();
Line();
Drone.Fly();
Line();
Drone.Down();
Line();
Drone.Turn();
Line();
Drone.Turn();
Line();
Drone.Fly();
Line();*/
Drone.checkEnergy();
Drone.checkStatus();
/*
Jika sudah menguji Programnya
Silakan Kembalikan Seperti Semula :)
*/
}
}
![]() |
File_2_[Drone_UAS]_(Perubahan_Energy) |
Script Perubahan Energy Pada File 2 [Drone_UAS]:
void chargeEnergy() {
System.out.println("Command Charge Energy!");
if(machineStatus == true) {
System.out.println("Can't Charge Energy," +
" Because The Drone Engine is ON.");
return;
}
if(Height > 0) {
System.out.println("Can't Charge Energy," +
" Because The Drone is Flying.");
return;
}
/*
Silakan Aktifkan salah satu Energy Untuk Mengujicoba
Program Sesuai dengan ketentuan Soal Nomor 3
*/
//Energy = 2;
Energy = 10;
System.out.println("Energy Drone Filled as Much : " + Energy);
/* Jika sudah menguji Programnya Silakan Kembalikan Seperti Semula :) */
}
![]() |
File_3_[TDrone_UAS]_(Kondisi-Rusak) |
Script 3 [TDrone_UAS] (Kondisi-Rusak):
package uas.anpsbobject_uas;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AKHIR SEMESTER IV */
public class TDrone_UAS {
static void Line() {
System.out.println("=======================================================");
}
public static void main(String[] args) {
System.out.println("TEST DRONE [ENUM]");
Line();
Drone_UAS Drone = new Drone_UAS(0, Drone_UAS.merk.JJRC,false, 0);
Line();
Drone.Fly();
Line();
Drone.checkEnergy();
Line();
Drone.chargeEnergy();
Line();
Drone.startMachine();
Line();
Drone.Fly();
Line();
Drone.Fly();
Line();
/* Untuk Ketinggian Lebih dari 2 */
Drone.Fly();
Line();
Drone.Forward();
Line();
Drone.Backward();
Line();
Drone.Fly();
Line();
Drone.Down();
Line();
Drone.Turn();
Line();
Drone.Turn();
Line();
Drone.Fly();
Line();
Drone.checkEnergy();
Drone.checkStatus();
/*
Jika sudah menguji Programnya
Silakan Kembalikan Seperti Semula :)
*/
}
}
![]() |
Output Drone Kondisi Baik |
![]() |
Output Drone Kondisi Rusak |
Pada program drone (pembahasan enum), tambahkan kondisi dimana jika ketinggian sama dengan energi maka drone hanya bisa bergerak turun untuk menghindari drone jatuh karena kehabisan energi.
Dijalankan Menggunakan Aplikasi NetBeans IDE 16
Script 2 [Drone_UAS]:
package uas.anpsbobject_uas;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AKHIR SEMESTER IV */
public class Drone_UAS extends Plane {
enum merk {
DJI, BRIC, JJRC
}
private final merk nameMerk;
Drone_UAS(int Energy, merk nameMerk, boolean machineStatus, int Height) {
this.Energy = Energy;
this.nameMerk = nameMerk;
this.machineStatus = machineStatus;
this.Height = Height;
System.out.println("Drone Initialized. " +
"\nMerk : " + nameMerk +
"\nEnergy : " + Energy +
"\nMachine Status : " + machineStatus +
"\nHeight : " + Height +
"\nCondition : Good.");
}
boolean checkMachine() {
if(machineStatus == true) {
return true;
} else {
System.out.println("The Machine has'n been Started.");
return false;
}
}
boolean checkHeight() {
if(Height <= 0) {
System.out.println("The Drone is on the Ground.");
return false;
} else {
return true;
}
}
boolean checkEnergy() {
if(Energy <=0) {
System.out.println("The Drone is Running out of Energy.");
if(Height > 0) {
System.out.println("Drone Fall.");
}
return false;
} else {
return true;
}
}
void checkStatus() {
System.out.println("Height : " + Height);
System.out.println("Energy : " + Energy);
if (Height >= 3 && Energy == 0) {
System.out.println("Condition : Rusak");
} else {
System.out.println("Condition : Baik");
}
}
void startMachine() {
if(machineStatus == true) {
System.out.println("Machine is ON.");
} else {
machineStatus = true;
System.out.println("The Engine Start.");
}
}
void offMachine() {
System.out.println("Command Shutdown Machine!");
if(checkHeight() == true) {
System.out.println("Machine Can't be Turn OFF," +
" Because The Drone is Flying.");
return;
}
machineStatus = false;
System.out.println("Machine Turn OFF.");
}
void chargeEnergy() {
System.out.println("Command Charge Energy!");
if(machineStatus == true) {
System.out.println("Can't Charge Energy," +
" Because The Drone Engine is ON.");
return;
}
if(Height > 0) {
System.out.println("Can't Charge Energy," +
" Because The Drone is Flying.");
return;
}
/*
Silakan Aktifkan salah satu Energy Untuk Mengujicoba
Program Sesuai dengan ketentuan Soal Nomor 3
*/
Energy = 2;
//Energy = 10;
System.out.println("Energy Drone Filled as Much : " + Energy);
/* Jika sudah menguji Programnya Silakan Kembalikan Seperti Semula :) */
}
void Fly() {
System.out.println("Command Fly!");
if(checkMachine() == false) {
System.out.println("Drone Can't Fly.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't Fly.");
return;
}
/*
Aktifkan Perintah di bawah ini Untuk Mengujicoba
Program Sesuai Ketentuan Soal Nomor 4
*/
if(Height == Energy) {
Height--;
Energy--;
System.out.println("Drone is Automatically"+
" descending to avoid Falling.");
return;
}
/* Jika sudah menguji Programnya Silakan Kembalikan Seperti Semula :) */
Energy--;
Height++;
System.out.println("Flying Drone.");
checkStatus();
}
void Down() {
System.out.println("Command Down!");
if(checkMachine() == false) {
System.out.println("Drone Can't go Down.");
return;
}
if(checkHeight() == false) {
System.out.println("Drone Can't go Down.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't go Down.");
return;
}
/*
Aktifkan Perintah di bawah ini Untuk Mengujicoba
Program Sesuai Ketentuan Soal Nomor 4
*/
if(Height == Energy) {
Height--;
Energy--;
System.out.println("Drone is Automatically"+
" descending to avoid Falling.");
return;
}
/* Jika sudah menguji Programnya Silakan Kembalikan Seperti Semula :) */
Height--;
Energy--;
System.out.println("Drone Down");
checkStatus();
}
void Turn() {
System.out.println("Command Turn!");
if(checkMachine() == false) {
System.out.println("Drone Can't Turn.");
return;
}
if(checkHeight() == false) {
System.out.println("Drone Can't Turn.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't Fly.");
return;
}
/*
Aktifkan Perintah di bawah ini Untuk Mengujicoba
Program Sesuai Ketentuan Soal Nomor 4
*/
if(Height == Energy) {
Height--;
Energy--;
System.out.println("Drone is Automatically"+
" descending to avoid Falling.");
return;
}
/* Jika sudah menguji Programnya Silakan Kembalikan Seperti Semula :) */
Energy--;
System.out.println("Drone Turn.");
checkStatus();
}
void Forward() {
System.out.println("Command Forward!");
if(checkMachine() == false) {
System.out.println("Drone Can't Forward.");
return;
}
if(checkHeight() == false) {
System.out.println("Drone Can't Forward.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't Fowrward.");
return;
}
/*
Aktifkan Perintah di bawah ini Untuk Mengujicoba
Program Sesuai Ketentuan Soal Nomor 4
*/
if(Height == Energy) {
Height--;
Energy--;
System.out.println("Drone is Automatically"+
" descending to avoid Falling.");
return;
}
/* Jika sudah menguji Programnya Silakan Kembalikan Seperti Semula :) */
Energy--;
System.out.println("Drone Forward.");
checkStatus();
}
void Backward() {
System.out.println("Command Backward!");
if(checkMachine() == false) {
System.out.println("Drone Can't Backward.");
return;
}
if(checkHeight() == false) {
System.out.println("Drone Can't Backward.");
return;
}
if(checkEnergy() == false) {
System.out.println("Drone Can't Backward.");
return;
}
/*
Aktifkan Perintah di bawah ini Untuk Mengujicoba
Program Sesuai Ketentuan Soal Nomor 4
*/
if(Height == Energy) {
Height--;
Energy--;
System.out.println("Drone is Automatically"+
" descending to avoid Falling.");
return;
}
/* Jika sudah menguji Programnya Silakan Kembalikan Seperti Semula :) */
Energy--;
System.out.println("Drone Backward.");
checkStatus();
}
}
Script 3 [TDrone_UAS]:
package uas.anpsbobject_uas;
// Nama : Aufa Munadil Al - Khoir
// NIM : 3420210024
// Prodi : Teknik Informatika
// Email : 2020aufamunadil@gmail.com
/* UJIAN AKHIR SEMESTER IV */
public class TDrone_UAS {
static void Line() {
System.out.println("=======================================================");
}
public static void main(String[] args) {
System.out.println("TEST DRONE [ENUM]");
Line();
Drone_UAS Drone = new Drone_UAS(0, Drone_UAS.merk.JJRC,false, 0);
Line();
Drone.Fly();
Line();
Drone.checkEnergy();
Line();
Drone.chargeEnergy();
Line();
Drone.startMachine();
Line();
Drone.Fly();
Line();
Drone.Fly();
Line();
/* Untuk Ketinggian Lebih dari 2 */
Drone.Fly();
Line();
Drone.Forward();
Line();
Drone.Backward();
Line();
Drone.Fly();
Line();
Drone.Down();
Line();
Drone.Turn();
Line();
Drone.Turn();
Line();
//Drone.Fly();
//Line();
Drone.checkEnergy();
Drone.checkStatus();
/*
Jika sudah menguji Programnya
Silakan Kembalikan Seperti Semula :)
*/
}
}
![]() |
Output_[TDrone_UAS]-No4 |
Sekian & Terimakasih
Wassalamu'alaikum Wr. Wb.
Komentar
Posting Komentar