Jumat, 02 Juni 2017

Hospital Queue Machine Java Source Code

MESIN ANTRIAN RUMAH SAKIT

Mesin antrian rumah sakit adalah mesin yang membantu memudahkan pihak rumah sakit untuk mengatur antrian. Selain itu pihak pasien sendiri pun akan dimudahkan karena prosesnya yang cepat tidak perlu menunggu terlalu lama untuk mendapatkan nomor antrian.

Mesin antrian rumah sakit ini sendiri prinsipnya hampir sama dengan mesin antrian bank. Terdapat 4 class yaitu class hospital, class umum, class poli, dan class date.

Source code :

class hospital
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class hospital
{
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;
   private Poli a;
   private Umum b;
   public hospital(){
       prepareGUI();
       this.a = new Poli();
       this.b = new Umum();
   }
   public static void main(String[] args){
       hospital test = new hospital();
       test.showButton();
   }
   private void prepareGUI(){
       mainFrame = new JFrame("d Hospital");
       mainFrame.setSize(300,150);
       mainFrame.setLayout(new GridLayout(3, 1));
      
       mainFrame.addWindowListener(new WindowAdapter() {
           public void windowClosing(WindowEvent windowEvent){
               System.exit(0);
           }        
       });
       
       headerLabel = new JLabel("", JLabel.CENTER);        
       statusLabel = new JLabel("", JLabel.CENTER);    
       statusLabel.setSize(350,100);

       controlPanel = new JPanel();
       controlPanel.setLayout(new FlowLayout());

       mainFrame.add(headerLabel);
       mainFrame.add(controlPanel);
       mainFrame.add(statusLabel);
       mainFrame.setVisible(true);  
   }
   private void showButton(){
       headerLabel.setText("Selamat datang..");
       
       JButton nButton = new JButton("Pasien"); 
       JButton pButton = new JButton("Pegawai"); 
       nButton.addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){       
               String pilihan = JOptionPane.showInputDialog("Silahkan pilih:\n 1. Poli\n 2. Umum");
               char c = pilihan.charAt(0);
               if(c=='1'){
                   String pilih = JOptionPane.showInputDialog("Silahkan pilih:\n 1. Poli Anak\n 2. Poli Mata\n 3. Poli Penyakit Dalam\n 4. Poli Gigi\n 5. Poli Kulit");
                   char x = pilih.charAt(0);
                   if(x=='1')
                       a.ticketT('a');
                   else if(x=='2')
                       a.ticketT('b');
                   else if(x=='3')
                       a.ticketT('c');
                   else if(x=='4')
                       a.ticketT('d');
                   else if(x=='5')
                       a.ticketT('e');
                   else{
                       String message1 = String.format("Pilihan yang Anda masukkan salah. Silahkan coba lagi...");
                       JOptionPane.showMessageDialog(null, message1);
                   }
               }
               else if(c=='2'){
                   b.ticketU();
               }
               else{
                   String message2 = String.format("Pilihan yang Anda masukkan salah. Silahkan coba lagi...");
                   JOptionPane.showMessageDialog(null, message2);
               }
           }          
       });
       pButton.addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
               String pil = JOptionPane.showInputDialog("Silahkan pilih:\n 1. Poli\n 2. Umum");
               char c = pil.charAt(0);
               if(c=='1'){
                   String p = JOptionPane.showInputDialog("Silahkan pilih:\n 1. Poli Anak\n 2. Poli Mata\n 3. Poli Penyakit Dalam\n 4. Poli Gigi\n 5. Poli Kulit");
                   char y = p.charAt(0);
                   if(y=='1')
                       a.screenT('a');
                   else if(y=='2')
                       a.screenT('b');
                   else if(y=='3')
                       a.screenT('c');
                   else if(y=='4')
                       a.screenT('d');
                   else if(y=='5')
                       a.screenT('e');
                   else{
                       String message3 = String.format("Pilihan yang Anda masukkan salah. Silahkan coba lagi...");
                       JOptionPane.showMessageDialog(null, message3);
                   }
               }
               else if(c=='2'){
                   String z = JOptionPane.showInputDialog("Silahkan pilih:\n 1. Umum1\n 2. Umum2");
                   char w = z.charAt(0);
                   if(w=='1')
                       b.screenU('a');
                   if(w=='2')
                       b.screenU('b');
                   else{
                       String message4 = String.format("Pilihan yang Anda masukkan salah. Silahkan coba lagi...");
                       JOptionPane.showMessageDialog(null, message4);
                   }
               }
               else{
                   String message4 = String.format("Pilihan yang Anda masukkan salah. Silahkan coba lagi...");
                   JOptionPane.showMessageDialog(null, message4);
               }
           }          
       });
       controlPanel.add(nButton);
       controlPanel.add(pButton);
       mainFrame.setVisible(true);  
   }
}


class  umum
import java.util.*;
import java.text.*;
import javax.swing.*;
public class Umum
{
   private int nomorU=0;
   private int antriU=0;
   private date q;

   Date dNow = new Date();
   SimpleDateFormat ft = new SimpleDateFormat("E, dd.MM.yyyy   hh:mm:ss a");
   
   public void ticketU(){
       this.q = new date();
       String message1 = String.format("#######################################\nd Hospital\n\n"+q.getTanggal()+"\n\nNomor Antrian Anda :\nUMUM\nU%d\n\nTerima kasih telah tertib\nJumlah antrian: %d\n#######################################", nomorU+1, nomorU-antriU);
       JOptionPane.showMessageDialog(null, message1);
       nomorU++;
   }
   public void screenU(char x){
       antriU++;
       if(x=='a'){
           String message2 = String.format("Pelayanan:\nUMUM1\nU%d\n\nBelum mendapatkan pelayanan %d", nomorU-(nomorU-antriU),nomorU-antriU);
           JOptionPane.showMessageDialog(null, message2);
       }
       else if(x=='b'){
           String message2 = String.format("Pelayanan:\nUMUM2\nU%d\n\nBelum mendapatkan pelayanan %d", nomorU-(nomorU-antriU),nomorU-antriU);
           JOptionPane.showMessageDialog(null, message2);
       }
   }
}


class poli
import java.util.*;
import java.text.*;
import javax.swing.*;
public class Poli
{
   private int nomorTA=0;
   private int nomorTM=0;
   private int nomorTD=0;
   private int nomorTG=0;
   private int nomorTK=0;
   private int antriTA=0;
   private int antriTM=0;
   private int antriTD=0;
   private int antriTG=0;
   private int antriTK=0;
   private date q;
   
   public void ticketT(char x){
       this.q = new date();
       if(x=='a'){
           String message1 = String.format("#######################################\nd Hospital\n\n"+q.getTanggal()+"\n\nNomor Antrian Anda :\nPOLI ANAK\nA%d\n\nTerima kasih telah tertib\nJumlah antrian: %d\n#######################################", nomorTA+1, nomorTA-antriTA);
           JOptionPane.showMessageDialog(null, message1);
           nomorTA++;
       }
       else if(x=='b'){
           String message2 = String.format("#######################################\nd Hospital\n\n"+q.getTanggal()+"\n\nNomor Antrian Anda :\nPOLI MATA\nB%d\n\nTerima kasih telah tertib\nJumlah antrian: %d\n#######################################", nomorTM+1, nomorTM-antriTM);
           JOptionPane.showMessageDialog(null, message2);
           nomorTM++;
       }
       else if(x=='c'){
           String message3 = String.format("#######################################\nd Hospital\n\n"+q.getTanggal()+"\n\nNomor Antrian Anda :\nPOLI PENYAKIT DALAM\nC%d\n\nTerima kasih telah tertib\nJumlah antrian: %d\n#######################################", nomorTD+1, nomorTD-antriTD);
           JOptionPane.showMessageDialog(null, message3);
           nomorTD++;
       }
       else if(x=='d'){
           String message4 = String.format("#######################################\nd Hospital\n\n"+q.getTanggal()+"\n\nNomor Antrian Anda :\nPOLI GIGI\nD%d\n\nTerima kasih telah tertib\nJumlah antrian: %d\n#######################################", nomorTG+1, nomorTG-antriTG);
           JOptionPane.showMessageDialog(null, message4);
           nomorTG++;
       }
       else if(x=='e'){
           String message5 = String.format("#######################################\nd Hospital\n\n"+q.getTanggal()+"\n\nNomor Antrian Anda :\nPOLI KULIT\nE%d\n\nTerima kasih telah tertib\nJumlah antrian: %d\n#######################################", nomorTK+1, nomorTK-antriTK);
           JOptionPane.showMessageDialog(null, message5);
           nomorTK++;
       }
   }
   public void screenT(char y){
       if(y=='a'){
           antriTA++;
           String message6 = String.format("Pelayanan:\nPOLI ANAK\nA%d\n\nBelum mendapatkan pelayanan %d", nomorTA-(nomorTA-antriTA),nomorTA-antriTA);
           JOptionPane.showMessageDialog(null, message6);
       }
       else if(y=='b'){
           antriTM++;
           String message7 = String.format("Pelayanan:\nPOLI MATA\nB%d\n\nBelum mendapatkan pelayanan %d", nomorTM-(nomorTM-antriTM),nomorTM-antriTM);
           JOptionPane.showMessageDialog(null, message7);
       }
       else if(y=='c'){
           antriTD++;
           String message8 = String.format("Pelayanan:\nPOLI PENYAKIT DALAM\nC%d\n\nBelum mendapatkan pelayanan %d", nomorTD-(nomorTD-antriTD),nomorTD-antriTD);
           JOptionPane.showMessageDialog(null, message8);
       }
       else if(y=='d'){
           antriTG++;
           String message9 = String.format("Pelayanan:\nPOLI GIGI\nD%d\n\nBelum mendapatkan pelayanan %d", nomorTG-(nomorTG-antriTG),nomorTG-antriTG);
           JOptionPane.showMessageDialog(null, message9);
       }
       else if(y=='e'){
           antriTK++;
           String message0 = String.format("Pelayanan:\nPOLI KULIT\nE%d\n\nBelum mendapatkan pelayanan %d", nomorTK-(nomorTK-antriTK),nomorTK-antriTK);
           JOptionPane.showMessageDialog(null, message0);
       }
   }
}


class date
import java.util.*;
import java.text.*;
public class date
{
   public String getTanggal(){
       Date dNow = new Date();
       SimpleDateFormat ft = new SimpleDateFormat("E, dd.MM.yyyy   hh:mm:ss a");
       return ft.format(dNow);
   }
}
import java.util.*;
import java.text.*;
public class date
{
   public String getTanggal(){
       Date dNow = new Date();
       SimpleDateFormat ft = new SimpleDateFormat("E, dd.MM.yyyy   hh:mm:ss a");
       return ft.format(dNow);
   }
}

}



Output :

Ada 2 tombol yaitu tombol untuk pasien dan untuk pegawai. Untuk pasien yang ingin mendapat antrian makan klik tombol Pasien.












Ketika memilih tombol pasien maka akan ada 2 tombol lagi yaitu poli dan umum. Inputkan angka 1 untuk memilih poli.











Apabila  memilih tombol poli maka akan muncul lagi tombol pilihan.














Ini adalah tampilan struk antrian untuk poli.

















Inputkan angka 2 untuk memilih umum.











Dan ini adalah tampilan struk antrian umum.
































Untuk pegawai rumah sakit sendiri maka klik tombol Pegawai.










Inputkan angka 1 untuk melihat antrian pada pasien di bagian poli.











Kemudian akan muncul lagi pilihan seperti ini untuk melihat antrian pasien pada masing-masing poli.














Tampilannya seperti ini.












Inputkan angka 2 untuk melihat antrian pada pasien di bagian umum.











Karena ada 2 dokter yang melayani di bagian umum maka tampilannya seperti ini.








































Dan ini adalah tampilan apabila inputan salah atau tidak ada dalam pilihan.