Monday, February 7, 2011

Tutorial java | Queue


Queue / antrian adalah struktur data dimana data yang pertama kali di masukkan adalah data yang pertama kali dapat dihapus. Struktur data ini biasa disebut dengan istilah FIFO (First In First Out).
Dalam kehidupan sehari hari metode queue ini bisa di istilahkan sebagai penjualan tiket sepak bola. Orang yang pertama kali datang dialah yang pertama kali dilayani dan mendapatkan tiket duluan serta keluar dari tempat antrian duluan. Tapi beda lagi kalau panitianya orang PS*I pasti bakalan kacau tu antrian tiketnya..hehehe
Nah langsung adja ke contoh program biar lebih jelas dan paham. Disarankan di ketik ulang biar semakin paham dan mengerti maksud dari struktur data queue ini..




/*
* DILARANG MENGUBAH DAN MENGHAPUS COPYRIGHT INI.
*
* Nama : Muhammad Syauqil Ilmi
* Email : akuonline@yahoo.com
* weblog : aksesgratis.blogspot.com
* Comment : Disarankan diketik ulang ya...!!
* spesifikasi: IDE : Netbeans IDE 6.9.1
* Laptop : Compaq CQ41 224TX
* JDK : JDK 1.6.
*/


/**
*
* @author Syauqil
*/


import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.LinkedList;
import java.util.Queue;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class Aplikasi_Queue extends JFrame{


public static void main(String[]args){
Aplikasi_Queue nc = new Aplikasi_Queue();
nc.insert();
nc.submit();
nc.clear();
nc.terbit();
nc.aksi();
}


public Aplikasi_Queue() {
super("Aplikasi queue");
setLocation(350, 100);
setSize(377, 453);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setResizable(false);
}


Queue<Object> qu = new LinkedList<Object>();


JLabel data = new JLabel("Masukkan nomor antrian");
JLabel head = new JLabel("Aplikasi antrian");
JTextField txdata = new JTextField(20);
JButton insert = new JButton("Insert");
JButton submit = new JButton("Submit");
JButton clear = new JButton("Clear");
JTextArea hasil1 = new JTextArea();
JTextArea hasil2 = new JTextArea();


void clear(){
txdata.setText("");
hasil1.setText("");
hasil2.setText("");
}


void submit(){
hasil2.append(qu.peek() + "\n");
qu.poll();
hasil1.setText(qu + "\n");
}


void insert(){
String in = txdata.getText();
qu.add(in);
hasil1.append(in + "\n");
txdata.setText("");
txdata.requestFocus();
}


void terbit(){
Container c = getContentPane();
c.setLayout(null);
c.add(head);
head.setBounds(140, 10, 100, 15);
c.add(data);
data.setBounds(15, 57, 150, 15);
c.add(txdata);
txdata.setBounds(175, 55, 80, 22);
c.add(insert);
insert.setBounds(275, 55, 80, 22);
c.add(hasil1);
hasil1.setBounds(15, 90, 340, 120);
hasil1.setEditable(false);
c.add(submit);
submit.setBounds(100, 220, 80, 22);
c.add(clear);
clear.setBounds(200, 220, 80, 22);
c.add(hasil2);
hasil2.setBounds(15, 251, 340, 150);
hasil2.setEditable(false);
}


void aksi(){
insert.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
insert();
}
});
submit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
submit();
}
});
clear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clear();
}
});
}
}

No comments:

Post a Comment