Anda di halaman 1dari 15

Tugas Kelompok ke-2

(Minggu 4 / Sesi 5)

Family Restaurant

Family Restaurant merupakan restoran yang menyediakan berbagai macam hidangan


yang terdiri dari dua menu yaitu menu Reguler dan menu Special. Anda sebagai
programmer diminta untuk membuatkan program yang digunakan untuk mengatur daftar
menu Family Restaurant dengan menggunakan konsep OOP (Menggunakan Inherintance)
dan disimpan dengan menggunakan Vector / ArrayList.
Pada saat program pertama kali dijalankan akan menampilkan 6 buah pilihan yaitu
Add Regular Menu, Add Special Menu, Show All Menu, Delete Regular Menu, Delete Special
Menu dan Exit. Validasikan user hanya dapat memasukan pilihan antara 1-6 dan berupa
angka. Jika input tidak sesuai maka program akan meminta user untuk memasukan pilihan
lagi.

1. Add Regular Menu


Ketika user memasukan pilihan “1” maka program akan meminta user untuk memasukan
data untuk menu reguler yaitu:
- Kode Menu
Validasikan panjang kode menu 4 karakter dan huruf depannya “R”.
- Nama Menu
Validasikan panjang nama menu antara 5 sampai 20 karakter.
- Harga
Validasikan harga menu antara 10.000 – 100.000 dan harus berupa angka.

COMP6125-Advanced Object Oriented Programming


Ketika user selesai memasukan data untuk menu reguler maka program akan
menampilkan pesan “Add Success".

2. Add Special Menu


Ketika user memasukan pilihan “2” maka program akan meminta user untuk memasukan
data untuk menu special yaitu:
- Kode Menu
Validasikan panjang kode menu 4 karakter dan huruf depannya “R”.
- Nama Menu
Validasikan panjang nama menu antara 5 sampai 20 karakter.
- Harga
Validasikan harga menu antara 10.000 – 100.000 dan harus berupa angka.
- Diskon
Validasikan diskon hanya 10, 25 dan 50 persen.
Ketika user selesai memasukan data untuk menu reguler maka program akan
menampilkan pesan “Add Success".

COMP6125-Advanced Object Oriented Programming


3. Show All Menu
Ketika user memasukan pilihan “3” maka program akan menampilkan semua data menu
reguler dan menu special.

4. Delete Regular Menu


Ketika user memasukan pilihan “4” maka program akan meminta user untuk memasukan
kode menu reguler yang ingin dihapus. Validasikan panjang kode menu 4 karakter dan
huruf depannya “R”. jika kode menu reguler yang dimasukan ada, maka menu tersebut
akan terhapus dan program akan menampilkan pesan“Delete Success”. Jika kode menu
reguler yang dimasukan tidak ada, maka program akan menampilkan pesan “Code is
Wrong”.

5. Delete Special Menu


Ketika user memasukan pilihan “5” maka program akan meminta user untuk memasukan
kode menu special yang ingin dihapus. Validasikan panjang kode menu 4 karakter dan
huruf depannya “S”. jika kode menu special yang dimasukan ada, maka menu tersebut
akan terhapus dan program akan menampilkan pesan “Delete Success”. Jika kode menu

COMP6125-Advanced Object Oriented Programming


special yang dimasukan tidak ada, maka program akan menampilkan pesan “Code is
Wrong”.

6. Exit
Ketika user memasukan pilihan “6” maka program akan keluar.

COMP6125-Advanced Object Oriented Programming


Jawaban :
Restoran

package restaurant;

import java.util.Arraylist;

import java.util.Scanner;

public class Restaurant {

static ArrayList<Special> List = new ArrayList();

static ArrayList<Menu> List = new ArrayList();

public static void addMenu() {

Scanner input = new Scanner(System.in);

String kode;

String nama;

double harga = 0;

Menu obj = new Menu();

System.out.println(“Add Regular Menu”);

System.out.println(“==========================================”);

do{

System.out.print(“Input menu code [R…] : “);

kode = input.nextLine();

} while (!(kode.startsWith(“R”) && kode.length() >= 4));

do{

System.out.print(“Input menu name [5-20]“);

nama = input.nextLine();

} while (!(nama.length() <= 20 && 5 < nama.length() ));

do{

COMP6125-Advanced Object Oriented Programming


System.out.print(“Input menu price [10000-100000] : “);

try {

harga = input.nextDouble();

catch(Exception e){

System.out.println(“Inputan harus angka !!!”); }

}while (!(harga <= 100000 && harga >= 10000) );

obj.setKode(kode);

obj.setNama(nama);

obj.setHarga(harga);

list.add(obj);

System.out.println(“Add Success !”);

public static void addSpecialMenu() {

Scanner input = new Scanner(System.in);

String kode;

String nama;

double harga = 0;

int discount = 0;

Special obj = new Special();

System.out.println(“Add Special Menu”);

System.out.println(“==========================================”);

do{

System.out.print(“Input menu code [S…] : “);

kode = input.nextLine();

} while (!(kode.startsWith(“S”) && kode.length() >= 4));

do{

COMP6125-Advanced Object Oriented Programming


System.out.print(“Input menu name [5-20]“);

nama = input.nextLine();

} while (!(nama.length() <= 20 && 5 < nama.length() ));

do{

System.out.print(“Input menu price [10000-100000] : “);

try {

harga = input.nextDouble();

catch(Exception e){

System.out.println(“Inputan harus angka !!!”); }

}while (!(harga <= 100000 && harga >= 10000) );

do{

System.out.print(“Input menu discount [10% | 25% | 50% ] : “);

try {

discount = input.nextInt();

catch(Exception e){

System.out.println(“Inputan harus angka !!!”); }

}while (discount != 10 && discount != 25 && discount != 50 );

obj.setKode(kode);

obj.setNama(nama);

obj.setHarga(harga);

obj.setDiscount(discount);

list.add(obj);

System.out.println(“Add Success !”);

public static void showAll() {

COMP6125-Advanced Object Oriented Programming


System.out.println(“Regular Menu”);

System.out.println(“===============================================”);

System.out.println(“No.|\tKode\t\t\t|Nama\t\t\t\t\t|Harga |”);

System.out.println(“===============================================”);

for (Menu obj : list) {

int i = 1;

System.out.println(i+”\t”+obj.getKode()+”\t\t\t”+obj.getNama()+”\t\t\t\t\t”+obj.getHarga()+”\n”);

i++;

System.out.println(“\n\nSpecial Menu”);

System.out.println(“===============================================”);

System.out.println(“No.|\tKode\t\t\t|Nama\t\t\t\t\t|Harga\t\t|Diskon |”);

System.out.println(“===============================================”);

for (Special obj : list) {

int i = 1;

System.out.println(i+”\t”+obj.getKode()+”\t\t\t”+obj.getNama()+”\t\t\t\t\t”+obj.getHarga()+”\t\
t+obj.getDiscount()+”%”+”\n”);

i++;

public static void deleteRegular() {

String code;

int a=0;

Scanner scanner = new Scanner(System.in);

System.out.println(“Delete Regular Menu”);

System.out.println(“==========================================”);

System.out.println(“Input menu code [R…] : “);

COMP6125-Advanced Object Oriented Programming


code = scanner.nextLine();

if(code.startsWith(“R”)){

for (Menu obj : list){

if(code.equals(obj.getKode())){

list.remove(obj);

a=1;

break;

}else {

System.out.println(“Code is Wrong !!!”);

if(a==1){

System.out.println(“Delete Success !!!”);

}else {

System.out.println(“Delete Failed !!!”);

public static void deleteSpecial() {

String code;

int a=0;

Scanner scanner = new Scanner(System.in);

System.out.println(“Delete Special Menu”);

System.out.println(“==========================================”);

System.out.println(“Input menu code [S…] : “);

code = scanner.nextLine();

if(code.startsWith(“S”)){

COMP6125-Advanced Object Oriented Programming


for (Special obj : list){

if(code.equals(obj.getKode())){

list.remove(obj);

a=1;

break;

}else {

System.out.println(“Code is Wrong !!!”);

if(a==1){

System.out.println(“Delete Success !!!”);

}else {

System.out.println(“Delete Failed !!!”);

public static void main(String[] args) {

int choice;

Scanner scanner = new Scanner(System.in);

do{

System.out.println(“Family Restaurant”);

System.out.println(“=================================================”);

System.out.println(“1. Add Regular Menu”);

System.out.println(“2. Add Special Menu”);

System.out.println(“3. Show All Menu”);

System.out.println(“4. Delete Regular Menu”);

System.out.println(“5. Delete Special Menu”);

COMP6125-Advanced Object Oriented Programming


System.out.println(“6. Exit”);

System.out.print(“Choice [1-6] = “);

choice = scanner.nextInt();

switch(choice) {

case 1 :

Restaurant.addMenu();

break;

case 2 :

Restaurant.addSpecialMenu();

break;

case 3 :

Restaurant.showAll();

break;

case 4 :

Restaurant.deleteRegular();

break;

case 5 :

Restaurant.deleteSpecial();

break;

case 6 :

System.exit(0);

break;

}while (6 != choice);

COMP6125-Advanced Object Oriented Programming


Daftar Menu

package restaurant;

public class Menu {

protected String kode;

protected String nama;

protected double harga;

public Menu() {

public Menu(String kode, String nama, double harga) {

this.kode = kode;

this.nama = nama;

this.harga = harga;

public String getKode() {

return kode;

public void setKode(String kode) {

this.kode = kode;

public String getNama() {

return nama;

public void setNama(String nama) {

this.nama = nama;

COMP6125-Advanced Object Oriented Programming


public double getHarga() {

return harga;

public void setHarga(double harga) {

this.harga = harga;

Menu Special

package restaurant;

public class Special extends Menu {

private int discount ;

public Special() {

public special(String kode, String nama, double harga, int discount) {

this.kode = kode;

this.nama = nama;

this.harga = harga;

this.discount = discount;

@Override

public String getKode() {

return kode;

@Override

public void setKode(String kode) {

COMP6125-Advanced Object Oriented Programming


this.kode = kode;

@Override

public String getNama() {

return nama;

@Override

public void setNama(String nama) {

this.nama = nama;

@Override

public double getHarga() {

return harga;

@Override

public void setHarga(double harga) {

this.harga = harga;

public int getDiscount() {

return discount;

public void setDiscount(int discount) {

this.discount = discount;

COMP6125-Advanced Object Oriented Programming


COMP6125-Advanced Object Oriented Programming

Anda mungkin juga menyukai