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.
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.
Berikut implementasi queue:
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
Sehingga kode nya akan jadi seperti dibawah ini (abaikan nama package dan class, sesuaikan dengan yg anda buat)
Inisialisasi collections dan nomor antriannya nya, taruh saja kodenya dibawah code yang diatas ini.
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
Silahkan run aplikasinya hasilnya seperti berikut
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
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:
- 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
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
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
Lalu untuk nama variabel bisa disesuaikan atau seperti contoh punya saya yaitu sebagai berikut bisa diamati gif nya dibawah
Code Program Antrian QUEUE
Tahap kedua lets coding, silahkan pilih tab source. Tambahkan library dibawah iniimport 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
Silahkan run aplikasinya hasilnya seperti berikut
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
min cara membuat teks & angka pada jlabel berada ditengah bagaimana caranya?
ReplyDeleteDibagian properties jlabel atau bisa klik kanan jlabel > properties, cari horizontalAlignment > CENTER, bisa juga yang verticalAlignment > CENTER biar text ga kebawah/atas
Deletemin 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?
ReplyDeleteKak knp saat meng-run project ny ada pesan "" Class "queueJFrame " does not have a main method ""
ReplyDeletemin, biar antriannya bisa dicetak tambahkan apa?
ReplyDeletemin minta link githubnya dong.. makasiih
ReplyDelete