Posted by My Blog on Sunday, June 28, 2015
Queue pada Struktur Data atau antrian
adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada
suatu ujung disebut dengan sisibelakang(rear), dan penghapusan(pengambilan
elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front).
Queue atau antrian
prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First
In First Out).
contoh program queue sederhana:
Source coude:
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
package struktur_data;
/**
*
* @author Admin
*/
public class Antrian2
{
static int ekor = -1;
static int maxEkor = 5;
public static void addQueue(String antrian[],
String data)
{ if (ekor >= maxEkor)
System.out.println("Maaf, antrian
penuh");
else
{
//System.out.println("add Queue: "+data);
ekor++;
antrian[ekor]=data;
}
}
public static String deQueue(String antrian[])
{ String hasil="";
if (ekor<0)
hasil="Maaf, antrian kosong";
else
{ hasil = antrian[0];
antrian[0]=null;
for (int i=1;i<=ekor;i++)
{
antrian[i-1]=antrian[i];
antrian[i]=null;
}
ekor--;
}
return (hasil);
}
public static void bacaAntrian(String
antrian[])
{ System.out.println("Kondisi Antrian :
");
for (int i=0;i<=maxEkor;i++)
{
if (i==ekor)
System.out.println(i+". "+
antrian[i]+" ekor");
else if (antrian[i]==null)
System.out.println(i+". ");
else
System.out.println(i+".
"+antrian[i]);
}
}
public static void main(String []wawan)
{ String antrian[]=new String [16];
System.out.println("Della
Emilia");
addQueue (antrian, "Mobil A");
addQueue (antrian, "Mobil B");
addQueue (antrian, "Mobil C");
addQueue (antrian, "Mobil D");
addQueue (antrian, "Mobil E");
addQueue (antrian, "Mobil F");
System.out.println("\n");
System.out.println(" ");
bacaAntrian(antrian);
System.out.println("\n\nURUTAN
KELUAR\nQueue : "+deQueue (antrian));
System.out.println("Queue :
"+deQueue (antrian));
System.out.println("Queue :
"+deQueue (antrian));
System.out.println("Queue :
"+deQueue (antrian));
System.out.println("Queue :
"+deQueue (antrian));
System.out.println
("\n\nSedangkan Mobil F masih mengantri");
copy paste kan codingan di atas ke dalam netbeans anda. kemudian run.
maka akan menghasilkan output seperti ini:
program tersebut menggunakan prinsip antrian, yaitu siapa yang masuk duluan maka dialah
yang akan keluar duluan.
jadi pada program yg saya buat di atas ada 6 antrian yaitu mobil A,B,C,D,E dan
F. maka yang akan keluar pertama adalah yang mengantri pertama. Misalnya
seperti program yang saya buat tersebut. Hanya di keluarkan 5 mobil saja dalam
satu pemanggilan. Maka otomatis f akan tetap menunggu. Karena F yang terakhir
mengantri.