[Praktek] Antrian 2

Konsep antrian hampir sama dengan stack / tumpukan. Perbedaannya hanya pada fungsi pengambilannya.
Dimana stack mengambil data yang terakhir kali dimasukan sedangkan antrian / queue mengambil data yang pertama kali dimasukan.
Program ini tidak jauh berbeda dengan program stack sebelumnya. Hanya ada perbedaan fungsi-fungsi untuk memasukan dan mengambil data yaitu push, shift, unshift, dan pop.


<html>
 <head>
  <title>Struktur Data Queue</title>
  <script language = "JavaScript">
   var queue = new Array();
   
   function Masuk_Antrian(data) 
   {
    queue.unshift(data);
    
   }
   
   function Keluar_Antrian() 
   {
    var yang_keluar_antrian = queue.pop();
    if (queue.length == 0)
     return "Stack Sudah Kosong";
    else
     return yang_keluar_antrian;
   }
   
   function Dalam_Antrian(list)
   {
    list.options.length = 0;
    for (var i = 0; i < queue.length; i++)
    {
     var data = new Option(queue[i]);
     list.options[list.options.length] = data;
    }
   }
  </script>
 </head>
 <body>
  <form>
   <input type=text name=textSimpan>
   <input type=button value="Masuk Antrian" onClick="Masuk_Antrian(textSimpan.value);textSimpan.value='';Dalam_Antrian(Visualisasi);">
   <select name="Visualisasi" size=12>
    <option>Isi Antrian....
   </select>
   <input type=text name=textAmbil size=20>
   <input type=button value="Keluar Antrian" onClick="textAmbil.value = Keluar_Antrian();Dalam_Antrian(Visualisasi);">
  </form>
 </body>
</html>

  • Perhatikan di baris 09. Di situ terdapat fungsi untuk memasukan data dengan perintah unshift. Data akan dimasukan di awal array.
  • Dan di baris 15 juga terdapat fungsi untuk mengambil data dengan perintah pop. Data di akhir array akan diambil terlebih dahulu.
  • Selain dengan menggunakan perintah unshift dan pop, perintah di atas juga dapat diganti dengan shift dan push. Coba saja baris 09 diganti dengan push dan baris 15 dengan shift. Maka algoritmanya akan tetap sama dengan antrian/queue walaupun tampilan di listboxnya berubah.