Stack Dan Queue
Hai semuanya....☺
Balik lagi nih bersama saya, di blog sederhana ini. Baiklah langsung saja ke topik utama. Mari kita mbahas tentang stack dan queue. pertama kita bahas dulu tentang stack, stack adalah kumpulan elemen-elemen data yg disimpan dalam satu lajur linear. Nah stack sendiri memakai konsep LIFO (Last In First Out) jadi, benda yg masuk terakhir dalam stack akan menjadi benda pertama yg dikeluarkan dari stack. Anda bisa melihat contoh gambar berikut :
Nah logikanya setelah kita menumpuk barang seperti diatas, akan tidak mungkin kita dapat mengambil data dari bawah dan kita harus mengambil barang tersebut dari atas. oh ya kita juga dapat mengkonversi bilangan dengan menggunakan stack lho contohnya sebagai berikut :
kita akan mengkonversi bilangan desimal 10 menjadi bilangan biner, ok untuk caranya akan saya sertakan dibawah:
berikut adalah contoh dari script stack beserta hasilnya
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>tugas stack n pop</title>
<script>
var palin = new Array();
function data(palin)
{
var toString = "";
var a = palin.length;
for (var i = a ; i > 0 ; i --)
{
toString += palin.charAt(i-1)
};
return toString;
}
function palindrome(palin)
{
return (palin == data(palin));
}
function datpalin()
{
var b = document.iniform.indata.value;
document.iniform.outputData.value = data(b);
document.iniform.hslpalin.value = palindrome(b);
return true;
}
function datapush(Data)
{
palin.push(Data);
}
</script>
</head>
<body>
<center>
<marquee><h1>palindrome???</h1></marquee>
<form name="iniform">
<label>Masukkan kata:</label> <input type="text" name="indata"><br>
<input type="button" value="palindrom gak nih?" onclick='datpalin().value;datapush(indata.value);indata.value="";'>
<input type="text" name="hslpalin" value="" placeholder="true/false???"><br>
<br/>
<label>Hasil Kalo dibalik :</label>
<input type="text" name="outputData"><br/>
</p>
</form>
</center>
</body>
</html>
dan inilah hasilnya...
Selanjutnya Queue, Queue 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).
Pada Stack atau tumpukan menggunakan prinsip“Masuk
terakhir keluar pertama”atau LIFO (Last In First Out), Maka pada Queue atau
antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO
(First In First Out).
Queue atau antrian banyak kita jumpai dalam kehidupan
sehari-hari, ex: antrian Mobil diloket Tol, Antrian mahasiswa Mendaftar, dll.
Contoh lain dalam bidang komputer adalah pemakaian sistem
komputer berbagi waktu(time-sharing computer system) dimana ada sejumlah
pemakai yang akan menggunakan sistem tersebut secara serempak.
Pada Queue atau antrian Terdapat satu buah pintu
masuk di suatu ujung dan satu buah pintu keluar di ujung satunya dimana
membutuhkan variabel Head dan Tail ( depan/front, belakang/rear).
Karakteristik Queue atau antrian :
1. elemen antrian
2. front (elemen terdepan antrian)
3. tail (elemen terakhir)
4. jumlah elemen pada antrian
5. status antrian
Berikut contoh script queue dan hasilnya :
<title>tugas sorting</title>
<script>
var data = new Array;
var j = 0;
function InputData()
{
for(var j = 0 ; j < 20; j++)
{
data[j] = Math.floor(Math.random()*(50-1))+1;
document.getElementById("dataacak").innerHTML += data[j]+",";
}
}
function OutputData(teks)
{
for (var a = 0; a < data.length; a++)
document.getElementById(teks).innerHTML +=data[a] +",";
document.getElementById(teks).innerHTML +="<br>";
}
function InsertSort()
{
var sementara;
var upper=data.length;
for (var outer=1; outer < upper; outer++)
{
sementara=data[outer];
inner=outer-1;
while(data[inner] >sementara && inner >= 0)
{
data[inner +1]=data[inner];
inner--;
}
data[inner +1]=sementara;
OutputData("hslsorting");
}
}
</script>
</head>
<body>
<center>
<marquee direction="left"><h1 align="center">Insertion Sort</h1></marquee>
<table>
<form>
<td><center><p><label>Masukkan Data:</label>
<label id="dataacak"></label>
<input type="button" value="Random Data" onClick="InputData()"><br></p>
<p><input type="button" value="Pencet Sini" onClick="OutputData('lblData')"><br>
<label>Data Awal:</label><label id="lblData"></label><br></p>
<p><label>Proses Sortingnya =</label>
<input type="button" value="Pencet Saya" onClick="InsertSort()"><br>
<label id="hslsorting"></label><br></p></center></td>
</form>
</table>
</center>
</body>
</html>
dan inilah hasilnya :
Sekian materi yg dapat saya sampaikan, jika ada kekurangan mohon dimaklumi.
semoga dapat bermanfaat bagi kita semua.
Byeeee..
Komentar
Posting Komentar