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:
· 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:
Sekarang
kita bahas queue yaa
Queue
pengertian queue dalam struktur data
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 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.
<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
Posting Komentar