Membuat Aplikasi Antrian (Queue FIFO) Dengan Java GUI Beserta Penjelasan dan Flowchartnya ~ Coding IsmyNR - Cara Dan Contoh Pemrograman

Membuat Aplikasi Antrian (Queue FIFO) Dengan Java GUI Beserta Penjelasan dan Flowchartnya

Pernahkah anda mengantri ? pasti semua orang tidak terhindar dari antrian, berobat ke rumah sakit harus mengantri, transfer bank harus antri, bayar parkir antri, hingga saat dirumah pun ketika ada yang mandi di kamar mandi kita harus mengantri dan menunggu sampai selesai mandi itu juga sama namanya ngantri.
source code aplikasi antrian java dengan netbeans

Pada artikel kali ini saya akan membahas, mencontohkan sekaligus membagi penjelasan mengenai antrian ini, antrian ini tidak hanya pada kehidupan sehari hari saja, adakalanya kita membutukan konsep antrian ke dalam sebuah program yaitu FIFO (first in first out) -> pertama kali masuk akan pertama kali keluar.

Pengertian dan Konsep QUEUE dan FIFO

Queue adalah bahasa inggris yang artinya antrian, queue memiliki konsep FIFO yaitu konsep dimana sebuah data yang pertama kali dimasukan akan pertama kali keluar. iyah sama halnya saat kita mengantri pada antrian pertama, lalu datang lagi orang mengantri dengan antrian ke2, lalu datang lagi orang mengantri dengan antrian ke3, sampailah antrian sepanjang 3 orang, kita sebagai antrian pertama pasti akan didahulukan terlebih dahulu, itulah yang dinamakan konsep FIFO.

Berikut implementasi queue:
implementasii antrian queue algoritma

  • Terdapat 1, 2, dan 3 antrian, 
  • yang keluar pertama kali antrian1, lalu antrian ke 2 dan 3 naik ke atas, 
  • kemudian antrian bertambah 4, dan 5, 
  • lalu antrian keluar berikutnya yaitu 2 kemudian antrian 3, 4, dan 5 naik ke atas, 
  • lalu antrian 3 keluar kemudian antrian 4 dan 5 naik ke atas, 
  • lalu antrian4 keluar dan antrian5 terakhir dari antrian

Contoh kali ini saya membuat program Java GUI dengan netbeans, menggunakan konsep FIFO yaitu program untuk pengambilan nomor antrian dan pemrosesan antrian pada antrian pertama, pada java terdapat fungsi untuk membuat progam queue ini, jadi kita tidak perlu memikirkan bagaimana algoritma queue itu sendiri, jadi tinggal kita bagaimana cara mengimplementasikannya

Pertama untuk menyimpan data antrian dari antrian 1 sampai seterusnya disini kita menggunakan collections java yaitu linkedlist

Kedua untuk operasi implementasi FIFO / antrian kita juga menggunakan collections java yaitu queue

Oke langsung saja, saya harap anda sudah tau cara membuat projek baru dinetbeans ...
Buat project baru di netbeans -> jangan lupa untuk menambahkan packagenya dalam project -> klik kanan pada packagenya -> new -> pilih JFrame Form.

Jadi hanya 1 file jframe saja, untuk struktur projeknya seperti ini
source code aplikasi antrian java dengan netbeans

Desain JFrame Aplikasi Antrian QUEUE

Tahap pertama silahkan membuat desain nya terlebih dahulu pada tab design, bisa disesuaikan designnya, contoh punya saya desainya seperti dibawah ini
source code aplikasi antrian java dengan netbeans

Kemudian ubah variabel dari tiap tiap komponent yang ada pada jframe nya, untuk menggantinya klik kanan pada salah satu komponen lalu change variabel name, variabel name inilah yang akan digunakan untuk setting komponen yang ada di jframe pada code program java

source code aplikasi antrian java dengan netbeans

Lalu untuk nama variabel bisa disesuaikan atau seperti contoh punya saya yaitu sebagai berikut bisa diamati gif nya dibawah
source code aplikasi antrian java dengan netbeans

Code Program Antrian QUEUE

Tahap kedua lets coding, silahkan pilih tab source. Tambahkan library dibawah ini
import java.util.LinkedList;
import java.util.Queue;
Taruh kode diatas setelah code package namaPackageAnda;
Sehingga kode nya akan jadi seperti dibawah ini (abaikan nama package dan class, sesuaikan dengan yg anda buat)
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package queueJFrame;

import java.util.LinkedList;
import java.util.Queue;

/**
 *
 * @author ISMYNR
 */
public class queue extends javax.swing.JFrame {

Inisialisasi collections dan nomor antriannya nya, taruh saja kodenya dibawah code yang diatas ini.
Queue<Object> antrian = new LinkedList<>();
int nomor = 0;
sehingga kodenya akan seperti ini :
public class queue extends javax.swing.JFrame {
    /**
     * Creates new form queue
     */
    
    Queue<Object> antrian = new LinkedList<>();
    int nomor = 0;
    
    public queue() {
        initComponents();
    }
Selanjutnya membuat function untuk inisialisasi / setting component component yang ada dalam jframe nya, taruh kodenya dibawah contructor saja atau dibawahnya kode ini public queue() { lebih tepatnya di bawah tutup kurung kurawal.
private void inisialisasi(){
        lbJmlAntrian.setText("0");
        lbTotalAntrian.setText("0");
        lbPanggilAntrian.setText("-----");
        
        txtAtas.setText("RS HARAPAN ANDA");
        txtAtas1.setText("Jl. Ababil No.42, Randugunting, Tegal Selatan");
        txtAtas2.setText("Kota Tegal, Jawa Tengah 52131");
        txtAtas3.setText("Senin, 19 Oktober 2018");
        txtAtas4.setText("Nomor Antrian");
        txtAtas5.setText("--------");
        txtAtas6.setText("Silahkan menunggu");
        txtAtas7.setText("--------");
    }
Lainnya function untuk menambahkan antriannya biasanya mengambil nomor antrian untuk menunggu antriannya berikut kodenya
private void tambahAntrian(){
        nomor++; // tambah nomornya
        String antr = "Antrian "+nomor; // simpan dalam variabel
        antrian.add(antr); // menambah antrian ke list (collection linkedlist)
        String cvt = String.valueOf(antrian.size()); // mengambil panjang list
        lbJmlAntrian.setText(cvt); // meng set text komponen agar menampilkan panjang list
        lbPanggilAntrian.setText(""+antrian.peek()); // menampilkan data yang paling atas
        lbTotalAntrian.setText(""+nomor); // tampil nomor ada berapa
        txtAntrian.append(antr + "\n");
        
        txtAtas3.setText("Senin, 19 Oktober 2018");
        txtAtas4.setText("Nomor Antrian");
        txtAtas5.setText("  " + nomor);
        txtAtas6.setText("Silahkan menunggu " + cvt + " Antrian Lagi ");
        txtAtas7.setText("Mohon untuk bersabar");
    }
Satu function lagi untuk memproses antrian maksudnya digunakan untuk memanggil antrian sesuai nomor urut yang tertera dalam program
private void prosesAntrian(){
        if(antrian.isEmpty()){ // jika antrian tidak ada
            JOptionPane.showMessageDialog(this, "Ambil Nomor antrian terlebih dahulu !");
        }
        txtAntrian.setText(""); // mengosongkan textarea list antrian
        antrian.poll(); // mengambil antrian
        antrian.forEach((Object element) -> { 
            txtAntrian.append("" + element + "\n"); // print semua antrian ke textarea list
        });
        if(antrian.isEmpty()){
            lbPanggilAntrian.setText("-----");
        }else{
            lbPanggilAntrian.setText(""+antrian.peek());
        }
    }
Sehingga kode lengkap nya akan seperti berikut
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package queueJFrame;

import java.util.LinkedList;
import java.util.Queue;
import javax.swing.JOptionPane;

/**
 *
 * @author ISMYNR
 */
public class queue extends javax.swing.JFrame {
    /**
     * Creates new form queue
     */
    
    Queue<Object> antrian = new LinkedList<>();
    int nomor = 0;
    
    public queue() {
        initComponents();
        inisialisasi();
    }
    private void inisialisasi(){
        lbJmlAntrian.setText("0");
        lbTotalAntrian.setText("0");
        lbPanggilAntrian.setText("-----");
        
        txtAtas.setText("RS HARAPAN ANDA");
        txtAtas1.setText("Jl. Ababil No.42, Randugunting, Tegal Selatan");
        txtAtas2.setText("Kota Tegal, Jawa Tengah 52131");
        txtAtas3.setText("Senin, 19 Oktober 2018");
        txtAtas4.setText("Nomor Antrian");
        txtAtas5.setText("--------");
        txtAtas6.setText("Silahkan menunggu");
        txtAtas7.setText("--------");
    }
    private void tambahAntrian(){
        nomor++;
        String antr = "Antrian "+nomor;
        antrian.add(antr);
        String cvt = String.valueOf(antrian.size());
        lbJmlAntrian.setText(cvt);
        lbPanggilAntrian.setText(""+antrian.peek());
        lbTotalAntrian.setText(""+nomor);
        txtAntrian.append(antr + "n");
        
        txtAtas3.setText("Senin, 19 Oktober 2018");
        txtAtas4.setText("Nomor Antrian");
        txtAtas5.setText("  " + nomor);
        txtAtas6.setText("Silahkan menunggu " + cvt + " Antrian Lagi ");
        txtAtas7.setText("Mohon untuk bersabar");
    }
    private void prosesAntrian(){
        if(antrian.isEmpty()){
            JOptionPane.showMessageDialog(this, "Ambil Nomor antrian terlebih dahulu !");
        }
        txtAntrian.setText("");
        antrian.poll();
        antrian.forEach((Object element) -> {
            txtAntrian.append("" + element + "n");
        });
        if(antrian.isEmpty()){
            lbPanggilAntrian.setText("-----");
        }else{
            lbPanggilAntrian.setText(""+antrian.peek());
        }
    }

Untuk actionnya terdapat 2 button yang masih masing dikasih action ketika button tersebut diklik, anda bisa ke tab design > klik kanan pada button "Ambil Nomor Antrian" nya > Events > Action > actionPerformed > kemudian akan diarahkan ke source code nya, nah disini pemanggilan function tambahAntrian(); letakan di situ saja

Dan button yang kedua yaitu "Proses Antrian" sama saja seperti yang diatas tetapi panggil functionnya prosesAntrian(); jika bingung anda bisa langsung lihat tutorial dibawah
source code aplikasi antrian java dengan netbeans

Silahkan run aplikasinya hasilnya seperti berikut
source code aplikasi antrian java dengan netbeans

Mudah bukan ? atau kesulitan ? jangan sungkan sungkan untuk komentar dibawah mengenai tutorial membuat aplikasi antrian ini, dari aplikasi antrian ini  kode nya pun tidak banyak simple, jadi untuk anda yang ingin mendonload aplikasi nya bisa lihat digithub saya




Tag:
aplikasi antrian sederhana jframe netbeans
membuat aplikasi antrian jframe form
proram queue java
pemrograman Java
aplikasi antrian dengan bahasa pemrograman java
program antrian dengan java
source code program antrian dengan java
contoh membuat aplikasi antrian dengan netbeans
implementasi queue java
queue java netbeans
contoh aplikasi antrian
contoh coding input antrian java
contoh flowcart queue
algorima antrian
logoblog

Share :

6 comments:

  1. min cara membuat teks & angka pada jlabel berada ditengah bagaimana caranya?

    ReplyDelete
    Replies
    1. Dibagian properties jlabel atau bisa klik kanan jlabel > properties, cari horizontalAlignment > CENTER, bisa juga yang verticalAlignment > CENTER biar text ga kebawah/atas

      Delete
  2. min source code biar misal jumlah antrian langsung update ketika ada antrian keluar gimana? jadi gak nunggu dari antrian masuk dulu supaya jumlah antrian biar update nya?

    ReplyDelete
  3. Kak knp saat meng-run project ny ada pesan "" Class "queueJFrame " does not have a main method ""

    ReplyDelete
  4. min, biar antriannya bisa dicetak tambahkan apa?

    ReplyDelete
  5. min minta link githubnya dong.. makasiih

    ReplyDelete

Berkomentarlah jika ada pertanyaan, Kesan pembaca atau saran yang membangun blog ini.
> Gunakan akun google dan ceklis kolom (Notify Me) agar mendapat notifikasi balasan komentar

 
Back to Top