STACK and QUEUE



hayy semua udah lama gak ngeblog nih soalnya banyak hal yang harus saya lakukan di dunia nyata T_T jadi sibuk deh.. hehe



langsung saja gaess kita ke topik, sekarang aku mau membahas tentang stack dan queue. apa kalian tau apa itu stack dan queue?? kalo tidak tau baca ya ampe selesai >_<

Stack (Tumpukan) adalah kumpulan elemen-elemen data yang disimpan dalam satu lajur linear. Kumpulan elemen-elemen data hanya boleh diakses pada satu lokasi saja yaitu posisi ATAS (TOP) tumpukan.
Seperti kita menumpuk barang dari bawah hingga ke atas
Operasi-operasi dasar dalam stack ada 2 yaitu operasi push dan pop:

·   Operasi push, berfungsi untuk memasukkan sebuah nilai atau data ke dalam stack. Sebelum sebuah nilai atau data dimasukkan ke dalamstack, prosedur ini terlebih dahulu akan menaikkan posisi top satu level ke atas. Berikut ilustrasi kerja pada operasi push:



Ilustrasi kerja operasi push



·      Operasi pop, berfungsi untuk mengeluarkan atau menghapus nilai terakhir (yang berada pada posisi paling atas) dari stack, dengan cara menurunkan nilai top satu level ke bawah. [5] Berikut ilustrasi kerja pada operasi pop:




Ilustrasi kerja operasi pop

Sekarang kita bahas queue yaa

Queue
pengertian queue dalam struktur data
Queue atau antrian merupakan struktur data linear dimana penambahan komponen dilakukan disatu ujung, sementara pengurangan dilakukan diujung lain. Kaidah utama dalam konsep queue adalah FIFO yang merupakan singkatan dari First In First Out, artinya adalah data yang pertama kali dimasukkan atau disimpan, maka data tersebut adalah yang pertama kali akan diakses atau dikeluarkan.

berikut ilustrasi kerja queque :



berikut contoh script HTML stack dibawah

<html>
<head>
<title>Palindrom Tugas 2</title>
<script type="text/javascript" language="javascript">
var pal = Array();
var hasil = 0;
function data(pal) 
{
var toString = "";
var a = pal.length;
for (var i = a ; i > 0 ; i --)
{
toString += pal.charAt(i-1)
};
return toString;
}

function Palindrome(pal)
{
return (pal == data(pal));
}

function DataPalin()
{
var b = document.palinForm.inputData.value;
document.palinForm.outputData.value = data(b);
document.palinForm.isPalin.value = Palindrome(b);
return true;
}

function PushData(Data)
{
pal.push(Data);
}

function PopData()

{
var data_dari_stack = pal.pop();
if (data_dari_stack == undefined)
return "Stack Sudah Kosong";
else
return data_dari_stack;
}

function TampilkanStack(list)
{
list.options.lenght=0;
for (var i = 0;i < pal.length; i++)
{
var Data = new Option(pal[i]);
list.options[list.options.length] = Data;
}
PeekData();
document.getElementById("txtBanyak").innerHTML = pal.length;
}

function HapusData()
{
pal = [];
}

function PeekData()
{
var hasil = pal.length;
if (hasil == 0 || hasil == undefined)
document.getElementById("txtAtas").innerHTML = "Kosong";
else
document.getElementById("txtAtas").innerHTML = pal[hasil -1];
}
</script>
</head>
<body color="yellow">
<h1>Palindrome</h1>

<form name="palinForm">

<p>Masukkan Data: <input type="text" name="inputData"><br>
<input type="button" value="Palindrome?" onclick='DataPalin().value;PushData(inputData.value);inputData.value="";TampilkanStack(mediaList);'>
<input type="text" name="isPalin" value=""><br>

<br/>
HASIL :
<input type="text" name="outputData"><br/>

</p>


<p>Data di dalam stack:<br/>
<select name="mediaList" size="12">
<option>Tampilan data
</select>
</p>

<p>
<input type="text" name="textAmbil" size="20">
<input type="button" value="Ambil dari Stack" onclick="textAmbil.value = PopData(); TampilkanStack(mediaList);">
<input type="button" value="Hapus Data" onclick="HapusData(); TampilkanStack(mediaList);"> <br/>
<label>Banyak Data: </label><label id="txtBanyak"></label><br>
<label>Data Terakhir:</label><label id="txtAtas"></label>
</p>
</form>
</body>

</html>

dan hasilnya 




hanya itu yang bisa saya bagikan sekarang, bila teman-teman kurang puas bisa kunjungi diSINI untuk lebih detail tentang materi ini selebihnya terima kasih sudah membaca blog ini, silahkan dishare ke teman-teman sekalian semoga bermanfaat.





Komentar

Postingan populer dari blog ini

ARRAY