Program Java Pemesanan Makan dan Minum dengan Switch Case dan Method

Program kali ini adalah untuk menjawab salah satu pertanyaan dari temen saya.
Begini pertanyaannya:

Buat program restoran dengan ketentuan sebagai berikut.
  1. Silahkan inputkan NPM, Nama anda, lalu keluarkan / system.out
  2. ketentuan nama makanan nama minuman dan harga
  • soto, harga = 8000
  • rawon, harga =7000
  • pecel, harga = 5000
  • es teh, harga = 3000
  • es buah, harga = 5000
  • susu, harga = 2000
  • tentukan total pembayaran = harga makanan + harga minuman
  • dibuat laporan / system.out
 oke dari ketentuan di atas dapat di simpulkan ada tiga jenis inputan : yaitu pertama input data (mahasiswa / pembeli) kali yah. kedua input makanan dan  yang ketiga input minuman. dan dengan satu buah proses untuk menghitung total pembayaran.

Untuk membuat program ini saya tambahkan satu ketentuan lagi yang tidak di sebutkan yaitu menggunakan switch case.

Sip untuk memulainya buat sebuah project baru Ctrl+Shift+N (saya makenya NetBeans) .
jika sudah jadi kita buat sebuah kelas baru untuk ngebuat method, karena kita disini mainnya make OOP bukan prosedural.

Sip class yang saya buat adalah sebuah class dengan nama MM alias (Makan Minum) ingat kalo buat kelas dia harus berada di luar dari main program, bisa juga di buat pada new class atau diluar program dengan syarat tetep dalam satu package. 
 Tuliskan aja kelasnya seperti ini:
class MM{
//disini kita buatkan methodnya
}
Selanjutnya dalam kurung kurawa tadi kita tambahkan dulu variabel - variabel yang akan kita gunakan nanti seperti berikut:
Scanner scan = new Scanner(System.in);//buat ngaktifin scanner
        int pil,jumlah,
harga,hargaMkn,hargaMnm,hargam,ttl; //untuk switch case dan jumlah pesanan dll yang make data integer.
        String npm, nama;

Oke jika variabel udah di tambahkan seperti di atas tepat di bawah variabelnya kita tambahkan method2nya.
yang pertama adalah method untuk menginputkan data mahasiswa / pembelinya :
public void dataSiswa(){
    System.out.print("Masukkan npm: ");
    npm=scan.nextLine();
     System.out.print("Masukkan nama: ");
    nama=scan.nextLine();
}


Selanjutnya tambahkan method lagi di bawahnya untuk menginputkan data makanan:
public void dataMakanan(){
       
System.out.println("+=====================================+");
System.out.println("|  *Warung Mandiri*                   |");
System.out.println("+=====================================+");
pesan:
System.out.println("\n\n       Daftar Menu : ");
System.out.println("+------------------------+---------------+" );
System.out.println("|        Makanan         |  Harga        |" );
System.out.println("+------------------------+---------------+" );
System.out.println("+ 1. Soto                +  Rp 8000      +");
System.out.println("+ 2. Rawon               +  Rp 7000      |");
System.out.println("+ 3. Pecel               +  Rp 5000      +");
System.out.println("+==============================+=========+");
System.out.print("Makanan yang anda pesan : ");

pil = scan.nextInt();
System.out.print("Makanan yang anda pesan: ");
hargam=0;
switch(pil) {
    case 1: harga=8000;
    System.out.println("Soto  ");
    System.out.println("Jumlah Pesanan : ");
    jumlah= scan.nextInt();
    hargaMkn=harga*jumlah;//pemberian Harga
    System.out.println("\n---------------------------------------------------");
                break;
case 2: harga=7000;
    System.out.println("Rawon ");
    System.out.println("Jumlah Pesanan : ");
    jumlah=scan.nextInt();
     hargaMkn=harga*jumlah;//pemberian Harga
     System.out.println("\n---------------------------------------------------");
            break;
    case 3: harga=5000;
    System.out.println("Pecel ");
    System.out.println("Jumlah Pesanan : ");
    jumlah=scan.nextInt();
    hargaMkn=harga*jumlah;
     System.out.println("\n---------------------------------------------------");
    
     break ;
    default:
    System.out.println("
Makanan yang anda pesan tidak ada ");
}
    }

Setelah itu tambajkan lagi method dibawahnya untuk menginputkan data minuman:
public void dataMinum(){
    System.out.println("        +=====================================+");
System.out.println("        |  *Pilih Minum Wr Mandiri*           |");
System.out.println("        +=====================================+");
System.out.println("\n\n       Menu Minuman : ");
System.out.println("+------------------------------+---------------+" );
System.out.println("+        Minuman               +  Harga        +" );
System.out.println("+------------------------------+---------------+" );
System.out.println("+ 1. Es Teh                    + Rp 3000       +");
System.out.println("+ 2. Es Buah                   + Rp 5000       +");
System.out.println("+ 3. Susu                      + Rp 2000       +");
System.out.println("+==============================+===============+");
System.out.println("Minuman yang anda pesan : ");
pil=scan.nextInt();
System.out.println("Minuman yang anda pesan: ");

switch(pil)
 { case 1: hargam=3000;
    System.out.println("Es Teh  ");
    System.out.print("Jumlah Pesanan : ");
    jumlah= scan.nextInt();
     hargaMnm=hargam*jumlah;
     System.out.println("\n---------------------------------------------------");
 case 4:;          
     break;
case 2: hargam=5000;
    System.out.println("Es Buah ");
    System.out.print("Jumlah Pesanan : ");
    jumlah=scan.nextInt();
     hargaMnm=hargam*jumlah;//pemberian Harga
     System.out.println("\n---------------------------------------------------");
            break;
    case 3: hargam=2000;
    System.out.println("Susu ");
    System.out.println("Jumlah Pesanan : ");
    jumlah=scan.nextInt();
    hargaMnm=hargam*jumlah;//pemberian Harga
     System.out.println("\n---------------------------------------------------");

     break;
    default:
    System.out.println("Minuman yang anda pesan tidak ada");

    }
}


Jika method untuk input minumannya sudah ditambahkan, selanjutnya method terakhir yaitu untuk menghitung total harganya serta menampilkan output atau laporan pembeliannya:
public void hitungHarga(){
    ttl=hargaMkn+hargaMnm;
    System.out.println("Yang di pesan Oleh:");
    System.out.println("Npm  : " + npm);
    System.out.println("Nama : " +nama);
    System.out.println("Total Harganya adalah = "+ttl);
}
}


Sip sampai disini classnya sudah selesai, selanjutnya kita kembali ke main class di code:
 public static void main(String[] args) {
        // TODO code application logic here

Tambahan kode berikut:
        MM data = new MM();// inisialisai class
        data.dataSiswa();//panggil method
        data.dataMakanan();//panggil method
        data.dataMinum();//panggil method
        data.hitungHarga();//panggil method
      

  Jika sudah programnya sudah selesai dan bisa di eksekusi.
Hasil eksekusinya kira - kira seperti berikut:

Males baca?
Download Program jadinya ==> Download Disini || Versi Eclipse
Password RAR : www.toufik.web.id 

Sekian Hari ini
Salam Toufik

8 komentar:

  1. Gile ajib banget...
    terus berkarya mas

    BalasHapus
  2. Terima kasih atas bantuannya bro, saya ada 1 request lagi bro, kalau programnya pakai if itu sperti apa scriptnya? Dan apakah boleh kita cuma memakai kondisi 'if' saja, sedangkan kita tidak memakai 'if else', 'else if' & 'else'. Soalnya program yg saya buat cuma memakai 'if' kondisi saja. Terima kasih, mohon bantuannya.

    BalasHapus
    Balasan
    1. umumnya kalo make if saat kita menghadapi percabangan, di hadapkan pada pilihan benar atau salah (true or false).
      struktrur umumnya yah kebanyakan
      if(logikax disini){
      mau ngelakuin apa?
      }
      else{
      kalo logikax gak cocok sama if di atas.
      }

      boleh cuma memakai if saja, tergantung pada kondisinya saja, karena kalo make if gak harus ada else x kok.. kadang ada program yg make if gak make else sama sekali...
      sekali lagi itu tergantung dari kondisi aja... cimiiwww

      Hapus
  3. akhirnya, bisa sedikit tersenyum,. makasih bang.. ^_^

    BalasHapus

Ada pertanyaan atau sekedar ninggalin jejak silahkan comment di bawah
==komen anda berarti buat kami==