Skip to main content

APLIKASI OOP DASAR SEDERHANA MENGGUNAKAN JAVA

Aplikasi Object Oriented dengan Bahasa Pemrograman Java untuk UMKM: Coffee Shop


Nama Aplikasi :

FABS

Diambil dari akronim kata Fly as Butterfly yang merupakan identitas kelompok yaitu FABulous.

Deskripsi Aplikasi :

Aplikasi ini dirancang untuk sistem pemesanan di coffee shop. Program yang dirancang masih sangat sederhana yaitu untuk satu kali pemesanan minuman di coffee shop.

Fitur yang terdapat dalam program ini adalah menambah pesanan baru, mengubah pesanan, membatalkan pesanan, melihat pesanan dan memproses pesanan untuk pembayaran.

Program ini dituliskan dengan dua method yaitu method main dan menu serta dua class yaitu class user dan menu.

1. Method Main

Method main berisikan kode untuk penginputan nama user.


2. Method Menu

Method menu berisikan kode untuk fitur menu utama yaitu tambah pesanan, pembatalan pesanan, lihat pesanan, pembatalan pesanan dan proses pesanan.

Kedua method dilengkapi dengan if-case dan switch-case.


3. Class User dan Menu

Class di program ini dilengkapi dengan setter, getter dan query serta atributnya.

Atribut kelas user adalah nama dan nomor telpon, sedangkan atribut untuk kelas menu adalah nama menu dan jumlah.


Source Code

1. Class User

package pkgCoffeeShop;

public class cUser {
    private String nama;
    private String nomor;
    public cUser(String nm, String  tlp) {
        nama = nm;
        nomor = tlp;
    }
    public void setNama(String nm) {

        nama = nm;
    }

    public void setNomor(String tlp) {


        nomor = tlp;
    }

    public String getNama() {

        return nama;
    }

    public String getNomor() {

        return nomor;
    }

    public String ToString() {

        return nama+" "+nomor;
    }
}

2. Class Menu

package pkgCoffeeShop;

public class cMenu {
    private static int jumlah;
    private static String pesan;


    cMenu(String ps, int jml) {
        pesan = ps;
        jumlah = jml;
    }

    public void setPesan(String ps) {

        pesan = ps;
    }

    public void setJumlah(int jml) {

        jumlah = jml;
    }

    public static String getPesan() {

        return pesan;
    }

    public static int getJumlah() {

        return jumlah;
    }

    public String ToString() {

        return pesan+" "+jumlah;
    }
}

3. Menu Utama Program

package pkgCoffeeShop;

import java.util.Scanner;

    public class appCoffeeShop {
        private static String nama;
        static cMenu menu = null;
        static cUser user = null;
        static Scanner sc = new Scanner(System.in);

        public static void main (String[]args){


            System.out.println("::Selamat datang di Fab's Coffee");
            System.out.println("::Mohon masukan nama dan nomor telpon untuk memulai program");
            System.out.println(" ");

            System.out.print("Nama : ");
            sc = new Scanner(System.in);
            String nama = sc.nextLine();

            System.out.print("Nomor Telpon : ");
            String nomor = sc.next();

            user = new cUser(nama, nomor);

            if (nama == "") {
                main(args);
            } else {
                System.out.println("Hello, " + nama + "\nSilahkan pilih menu pemesanan!");
                menu();
            }
        }

        public static void menu () {
        System.out.println();
            System.out.println("::MENU FAB'S COFFEE");
            System.out.println("1. Tambah Pesanan");
            System.out.println("2. Lihat Pesanan");
            System.out.println("3. Ubah Pesanan");
            System.out.println("4. Batalkan Pesanan");
            System.out.println("5. Proses Pesanan");
            System.out.println("6. Keluar");
            System.out.println("\nMasukkan Pilihan : ");

            Scanner sc = new Scanner(System.in);
            int pilihMenu = sc.nextInt();

            switch (pilihMenu) {
                case 1:
                    System.out.println("Menambah Pesanan");
                    System.out.println("MENU COFFEE SHOP");
                    System.out.println("1. Americano");
                    System.out.println("2. Cappucino");
                    System.out.println("3. Ice Esspreso");
                    System.out.println("4. Caramel Macciato");

                    System.out.print("Masukkan Pesanan: ");
                    String pesan = sc.next();

                    System.out.print("Jumlah: ");
                    int jumlah = sc.nextInt();

                    menu = new cMenu(pesan, jumlah);
                    System.out.println("Pesanan berhasil Ditambahkan");
                    menu();
                    break;

                case 2:
                    System.out.println("Lihat Pesanan");
                    if (menu != null) {
                        System.out.println("Menu yang dipesan: " + cMenu.getPesan());
                        System.out.println("Jumlah: " + cMenu.getJumlah());
                        menu();
                    } else
                        System.out.println("Data tidak ada");
                    break;

                case 3:
                    System.out.println("Ubah Pesanan");
                    System.out.print("Nama: ");
                    sc = new Scanner(System.in);
                    nama = sc.nextLine();

                    if (user != null && user.getNama().equalsIgnoreCase(nama)) {
                        System.out.println("MENU COFFEE SHOP");
                        System.out.println("1. Americano");
                        System.out.println("2. Cappucino");
                        System.out.println("3. Ice Esspreso");
                        System.out.println("4. Caramel Macciato");

                        System.out.print("Masukkan Pesanan: ");
                        String ps = sc.next();

                        System.out.print("Jumlah: ");
                        int jml = sc.nextInt();

                        menu.setPesan(ps);
                        menu.setJumlah(jml);

                        System.out.println("Pesanan berhasil diubah menjadi" +
                                "\nKode Pesan: "+ps+"\nJumlah: "+jml);

                    } else System.out.println("Data tidak ada!");
                    menu();
                    break;

                case 4:
                    System.out.println("Hapus Pesanan");
                    System.out.print("Nama: ");
                    sc = new Scanner(System.in);
                    nama = sc.nextLine();
                    if (user!=null && user.getNama().equalsIgnoreCase(nama)) {
                        System.out.println("Hapus data?");
                        System.out.println("1. Ya");
                        System.out.println("2. Tidak");
                        System.out.print("Pilihan: ");
                        int delete = sc.nextInt();

                        if (delete == 1) {
                            user = null;
                            System.out.println("Pesanan berhasil dibatalkan");
                        }
                        else {
                            System.out.println("Data batal dihapus");
                            menu();
                        }
                    }
                    break;

                case 5:
                    System.out.println("Pesanan diproses");
                    System.out.print("Nama: ");
                    sc = new Scanner(System.in);
                    nama = sc.nextLine();

                    int total = cMenu.getJumlah() * 25000;
                    int bayar = 0;
                    if (total >= 100000) {
                        bayar = (int) (total - (0.15*total));
                    }
                    else if (total >= 50000) {
                        bayar = (int) (total - (0.10*total));
                    } else bayar = total;

                    System.out.println("Total pesanan adalah Rp." +total);
                    System.out.println("Total pembayaran adalah Rp." +bayar);
                    menu();
                    break;
                    
                case 6:
                    System.out.println("Terima kasih sudah menjalankan program ini!");
                    break;
            }

        }

    }

Tampilan Program

1. Tampilan Awal Program

User akan diminta untuk memasukkan nama dan juga nomor telepon sebagai identitas user.



2. Tampilan Menu Utama Program

User dapat memilih berbagai macam opsi untuk melakukan pemesanan.
Opsi tersebut terdiri dari:

a. Menu Tambah Pesanan

Pada menu ini user dapat memilih menu yang ingin dipesan, namun user hanya dapat memilih 1 jenis menu dengan jumlah bebas.


b. Menu Lihat Pesanan

Pada menu ini user dapat melihat pesanan yang sudah dipilih.


c. Menu Ubah Pesanan

Pada menu ini user dapat mengubah pesanan yang sudah dilakukan dengan syarat memasukkan nama user untuk memastikan identitas user.


d. Menu Batalkan Pesanan

Pada menu ini user dapat membatalkan atau menghapus pesanan yang telah dibuat dengan syarat memasukkan nama user untuk memastikan identitas user.


e. Menu Proses Pesanan

Pada menu ini program akan menampilkan jumlah tagihan pesanan yang harus dibayar oleh user dengan syarat memasukkan nama user untuk memastikan identitas user.
Dalam program ini semua varian menu mempunyai harga sama yaitu Rp 25.000,- setiap menunya, namun akan terdapat diskon sebesar 15% jika total pembelian lebih dari Rp 100.000,- dan diskon 10% jika total pembelian lebih dari Rp 50.000,-.


f. Keluar Program

Pada menu ini maka user akan langsung keluar dari program ini.




Comments

Popular posts from this blog

PROGRAM PUSTAKA ADT MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

  Program Antrian Pembelian Tiket Pesawat Berikut ini merupakan contoh program Pustaka ADT pada bahasa pemrograman java menggunakan Queue dan juga Linked List: Source Code 1. Class appAntrianTiket import java.util.Queue; import java.util.LinkedList; import java.util.Scanner; public class appAntrianTiketPesawat { public static void main(String[] args) { int bagasi;     int hargaTiket=700000;     int hargaBagasi=4400;     String noAntrian,nama,bandaraAsal,bandaraTujuan; Queue q = new LinkedList(); Scanner s = new Scanner(System.in); int pilih=0; do { System.out.println("\nMENU PEMBELIAN TIKET PESAWAT");         System.out.println("1. Ambil nomor antrian");         System.out.println("2. Panggil antrian");         System.out.println("3. Daftar antrian");         System.out.println("4. Keluar");         System.out.print("...

PROGRAM DOUBLE LINKED LIST MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

    Program Double Linked List Barang Berikut ini merupakan contoh program double linked list dengan bahasa pemrograman java untuk penyimpanan data barang: Source Code 1. Class cNode public class cNode { private String kode; private String nama; private int harga; cNode next, prev; cNode(String kd, String nm, int hrg){ kode=kd; nama=nm; harga=hrg; next=prev=null; System.out.println("Object "+kd+" "+nm+" "+hrg+" dibuat..."); } public String getKode() { return kode; } public String getNama() { return nama; } public int getHarga() { return harga; } public String ToString() { return "["+kode+"]"+"\t"+nama+"\t"+harga; } } 2. Class cDoubleLinkedList public class cDoubleLinkedList { cNode head, tail; int jNode; cDoubleLinkedList(){ head=tail=null; jNode=0; System.out.println("Object Double Linked List dibuat..."); } public void tambahN...

PROGRAM STACK SINGLE LINKED LIST MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

  Program Stack Single Linked List Barang Berikut ini merupakan contoh program stack dengan single linked list menggunakan bahasa pemrograman java untuk penyimpanan data barang: Source Code 1. Class cElemen public class cElemen { private String nama; cElemen next; cElemen(String n){ nama=n; System.out.println("Object "+n+" created..."); } public String getNama() { return nama; } } 2. Class cStack public class cStack { //head dan tail cElemen top, bottom; int jumlah; cStack(){ top=bottom=null; jumlah=0; System.out.println("Object stack created..."); } public void push(cElemen baru) { if(top==null) { top=bottom=baru; } else { //tumpukan sudah ada isinya baru.next = top; top = baru; } System.out.println("Push OK..."); } public cElemen pop() { if(top==null) { System.out.println("Stack empty!"); return null; } else if(top.next==null) { cElemen t...