Senin, 03 April 2017

Mesin Antrian Bank

Evaluasi Tengah Semester PBO

Nama : Yumna Nurroidah
NRP : 5115100125
Kelas : PBO A

Mesin Antrian Bank

Mesin antrian bank adalah system yang berfungsi untuk mengelola nasabah bank, selain fungsi lain yaitu, mempermudah teller dan customer service, atau layanan lain pada bank tersebut, memanggil nasabah dan melayani sesuai dengan keperluan nasabah, pada masing-masing layanan.

-----------------------
MesinAntrianBank
-----------------------
- input : int
-----------------------
- getTanggal : String
+ printAntrianA()
+ printAntrianB()
-----------------------

Berikut adalah program Java Mesin Antrian Bank

Source Code
/**
 * Program Mesin Antrian Bank
 * Nama : Yumna Nurroidah
 * NRP : 5115100125
 * Kelas : PBO A
 */

import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

public class MesinAntrianBank
{
    private int antrianA = 1;
    private int antrianB = 1;
    
    private String getTanggal() 
    { 
        DateFormat dateFormat = new SimpleDateFormat("EEEE  dd/MM/yyyy  H:mm:ss"); 
        Date date = new Date(); 
        return dateFormat.format(date); 
    }
    
    public void printAntrianA()
    {
        System.out.println ("            BANK ITS SURABAYA             ");
        System.out.println ("==========================================");
        System.out.println (getTanggal());
        System.out.println ("Nomor Antrian :");
        System.out.println ("T E L L E R");
        System.out.println ("A" + antrianA++);
        System.out.println ("Mohon menunggu hingga nomor dipanggil...\n\n");
    }
    
    public void printAntrianB()
    {
        System.out.println ("BANK ITS SURABAYA");
        System.out.println ("=================");
        System.out.println (getTanggal());
        System.out.println ("Nomor Antrian :");
        System.out.println ("CUSTOMER SERVICE");
        System.out.println ("B" + antrianB++);
        System.out.println ("Mohon menunggu hingga nomor dipanggil...\n\n");
    }
}

/**
 * Program Mesin Antrian Bank Test
 * Nama : Yumna Nurroidah
 * NRP : 5115100125
 * Kelas : PBO A
 */

import java.util.Scanner;

public class MesinAntrianBankTest
{
    public static void main (String args[])
    {
        Scanner scan = new Scanner (System.in);
        int pilih;
        MesinAntrianBank antrian = new MesinAntrianBank();
        while (true)
        {
            System.out.println ("Masukkan pilihan :");
            System.out.println ("1. TELLER");
            System.out.println ("2. CUSTOMER SERVICE");
            pilih = scan.nextInt();
            
            switch (pilih)
            {
                case 1:
                    System.out.println ("\n");
                    antrian.printAntrianA();
                    break;
                    
                case 2:
                    System.out.println ("\n");
                    antrian.printAntrianB();
                    break;     
                    
                default :
                    System.out.print ("Maaf, pilihan tidak ada\n\n");
            }
        }
    }
}

Output


































REVISI

Source code class tanggal
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

public class tanggal
{
    public String getTanggal()
    {
        DateFormat dateFormat = new SimpleDateFormat("EEEE, dd/MM/yyyy H:mm:ss");
        Date date = new Date();
        return dateFormat.format(date);
    }
}


Source code class teller
public class teller
{
    private int teller = 0;
    private int antri = 0;
    
    public void printTiketTeller()
    {
        tanggal tgl = new tanggal();
        System.out.println(tgl.getTanggal());
        System.out.println("Nomor Antrian : ");
        System.out.println("A" + (teller+1));
        teller++;
        System.out.println("TELLER");
        antri = teller-1;
        System.out.printf("\nAntrian yang belum di panggil : %d", antri);
        System.out.printf("\nSilahkan menunggu sampai nomor antrian Anda dipanggil...");
    }
}


Source code class customerservice 
public class customerservice
{
   private int customer = 0;
   private int antri = 0;
   
   public void printTiketCustomer()
   {
        tanggal tgl = new tanggal();
        System.out.println(tgl.getTanggal());
        System.out.println("Nomor Antrian : ");
        System.out.println("B" + (customer+1));
        customer++;
        System.out.println("CUSTOMER SERVICE");
        antri = customer-1;
        System.out.printf("\nAntrian yang belum di panggil : %d", antri);
        System.out.printf("\nSilahkan menunggu sampai nomor antrian Anda dipanggil...");
   }
}


Source code class menu
public class menu
{
  public void display()
  {
      System.out.println("\nSelamat Datang di Bank ITS SURABAYA");
      System.out.println("---------------------------------------");
      System.out.println("Pilih layanan yang Anda inginkan : ");
      System.out.println("1. TELLER");
      System.out.println("2. CUSTOMER SERVICE");
      System.out.println("3. Exit\n");
      System.out.print("Layanan yang Anda inginkan : ");
  }
}


Source code class antriantest
import java.util.Scanner;

public class antriantest
{
    public static void main (String args[])
    {
        Scanner scan = new Scanner (System.in);
        menu menu = new menu();
        teller tllr = new teller();
        customerservice CS = new customerservice();
        int input;
        
        while(true)
        {
            menu.display();
            input = scan.nextInt();
            switch(input)
            {
                case 1:
                tllr.printTiketTeller();
                System.out.println();
                break;
                
                case 2:
                CS.printTiketCustomer();
                System.out.println();
                break;
                
                case 3:
                System.out.println("Terimakasih...");
                return;
            }
        }
    }
}


Output






















































































































USING DIALOG BOX

Entering Input and Showing Output in a Dialog Box

The programs presented thus far display output in the command window. Many applications use windows or dialog boxes to display output. Web browsers such as Firefox, Internet Explorer, Chrome and Safari display web pages in their own windows. E-mail programs allow you to type and read messages in a window. Typically, dialog boxes are windows in which programs display importantmessages to users.

This program contains a class named Account that maintains the balance of a bank account. A typical bank services many accounts, each with its own balance.

Source Code
public class Account
{
    private double balance;
    
    public Account (double initialBalance)
    {
        if (initialBalance > 0.0)
            balance = initialBalance;
    }
    
    public void credit (double amount)
    {
        balance = balance + amount;
    }
    
    public double getBalance()
    {
        return balance;
    }
}
    


Let's see the difference :)


Without Dialog Box

Source Code
import java.util.Scanner;

public class AccountTest
{
    public static void main (String[] args)
    {
        Account account1 = new Account (50.00);
        Account account2 = new Account (-7.53);
        
        System.out.printf ("account1 balance : $%.2f\n", account1.getBalance());
        System.out.printf ("account2 balance : $%.2f\n\n", account2.getBalance());
        
        Scanner input = new Scanner (System.in);
        double depositAmount;
        
        System.out.print ("Enter deposit amount for account1 : ");
        depositAmount = input.nextDouble();
        System.out.printf ("\nadding %.2f to accout1 balance\n\n", depositAmount);
        account1.credit (depositAmount);
        
        System.out.printf ("account1 balance : $%.2f\n", account1.getBalance());
        System.out.printf ("account2 balance : $%.2f\n\n", account2.getBalance());
        
        System.out.printf ("Enter dposit amount for account2 : ");
        depositAmount = input.nextDouble();
        System.out.printf ("\nadding %.2f to account2 balance\n\n", depositAmount);
        account2.credit (depositAmount);
        
        System.out.printf ("account1 balance : $%.2f\n", account1.getBalance());
        System.out.printf ("account2 balance : $%.2f\n", account2.getBalance());
    }
}


Output


















With Dialog Box

Source Code
import javax.swing.JOptionPane;

public class AccountTestDialogBox
{
    public static void main (String[] args)
    {
        Account account1 = new Account (50.00);
        Account account2 = new Account (-7.53);
        
        String output1 = String.format ("account1 balance : $%.2f\naccount2 balance : $%.2f\n\n", account1.getBalance(), account2.getBalance());
        JOptionPane.showMessageDialog (null, output1);
        
        String input1 = JOptionPane.showInputDialog ("Enter deposit amount for account1 : ");
        Double input1a = Double.parseDouble (input1);
        account1.credit (input1a); 
        String message1 = String.format ("\nadding %s to account1 balance\n\n", input1);
        JOptionPane.showMessageDialog (null, message1);
        
        String output2 = String.format ("account1 balance : $%.2f\naccount2 balance : $%.2f\n\n", account1.getBalance(), account2.getBalance());
        JOptionPane.showMessageDialog (null, output2);
        
        String input2 = JOptionPane.showInputDialog ("Enter deposit amount for account2 : ");
        Double input2a = Double.parseDouble (input2);
        account2.credit (input2a);
        String message2 = String.format ("\nadding %s to account2 balance\n\n", input2);
        JOptionPane.showMessageDialog (null, message2);
        
        String output3 = String.format ("account1 balance : $%.2f\naccount2 balance : $%.2f\n", account1.getBalance(), account2.getBalance());
        JOptionPane.showMessageDialog (null, output3);
    }
}


Output