STACK dan QUEUE
Assalamualikum wwr.wb
Halo guys kali ini saya
akan sedikit berbagi ilmu tentang stack dan
queue. apa sih stack dab queue
itu??? Yuk simak penjelasan di bawah ini
1.
STACK
Stack
adalah tumpukan data yang terpenting dalam pemrogaman yang memiliki sifat
LIFO(Last In First Out) yang berarti benda yang terakhir masuk manjadi benda
yang pertama keluar. Untuk lebih jelasnya lihat gambar di bawah ini
berikut adalah contoh koding dari stack
<!DOCTYPE html>
<html>
<head>
<title>Praktikum 4</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 palindrome()
{
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.length = 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 = "tidak ada";
else
document.getElementById("txtAtas").innerHTML = pal[hasil -1];
}
</script>
</head>
<body bgcolor="rainbow">
<h1>praktikum 4</h2>
<form name="palinForm">
<p>Masukkan Data: <input type="text" name="inputData"><br>
<input type="button" value="Palindrome?" onclick='palindrome().value;PushData(inputData.value);inputData.value="";'>
<input type="text" name="isPalin" value=""><br>
<br/>
HASIL PALINDROME:
<input type="text" name="outputData"><br/>
</p>
<p>
<input type="button" value="Masukkan ke Stack" onclick='PushData(outputData.value);outputData.value=""; TampilkanStack(mediaList);'>
</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>
<!DOCTYPE html>
<html>
<head>
<title>Praktikum 4</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 palindrome()
{
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.length = 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 = "tidak ada";
else
document.getElementById("txtAtas").innerHTML = pal[hasil -1];
}
</script>
</head>
<body bgcolor="rainbow">
<h1>praktikum 4</h2>
<form name="palinForm">
<p>Masukkan Data: <input type="text" name="inputData"><br>
<input type="button" value="Palindrome?" onclick='palindrome().value;PushData(inputData.value);inputData.value="";'>
<input type="text" name="isPalin" value=""><br>
<br/>
HASIL PALINDROME:
<input type="text" name="outputData"><br/>
</p>
<p>
<input type="button" value="Masukkan ke Stack" onclick='PushData(outputData.value);outputData.value=""; TampilkanStack(mediaList);'>
</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>
2.
QUEUE
Queue
adalah suatau kumpulan data yang mana penambahan data atau elemen hanya
dilaukan di sisi belakang sedangkan untuk pengeluaran elemen di lakukan di sisi
depan. Queue juga bisa disebut sebagai antrean. Untuk lebih jelasnya lihat
gambar di bawah ini
Pada queue
bersifat FIFO(First In First Out) yang berarti yang pertama masuk menjadi pertama
keluar.
berikut adalah contoh koding queue
<!DOCTYPE html>
<html>
<head>
<title>praktikum 5</title>
<script type="text/javascript">
var queue = new Array();
var ganjil = new Array();
var genap = new Array();
var a = 0;
var b = 0;
function Enqueue(data)
{
document.getElementById("txthasil").innerHTML = "";
queue.unshift(data);
}
function datqueue()
{
var ambil = queue.pop();
if(ambil == undefined)
{
return "Queue Sudah Habis"
}
else
{
Hasil = ambil % 2;
if(Hasil == 0)
{
genap.push(ambil);
document.getElementById("Genap").innerHTML += ambil + "<br>";
a++;
return ambil;
}
else
{
ganjil.push(ambil);
document.getElementById("Ganjil").innerHTML += ambil + "<br>";
a++
return ambil;
}
}
}
function TampilkanQueue(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;
}
}
function jumlah()
{
if(ganjil[b] == undefined)
{
c = parseInt(genap[b] + 0);
b++;
document.getElementById("hasil").innerHTML += a + "<br>";
}
else if(genap[b] == undefined)
{
e = parseInt(ganjil[b] + 0);
b++;
document.getElementById("hasil").innerHTML += b +"<br>";
}
else
{
f = parseInt(ganjil[b]) + parseInt(genap[b]);
b++;
document.getElementById("hasil").innerHTML += f +"<br>";
}
}
</script>
</head>
<body bgcolor="rainbow">
<h1>praktikum 5</h2>
<form>
<p>
<input type = "text" name ="txtjumlah">
<input type = "button" value = "Masukkan ke Queue" onclick='Enqueue(txtjumlah.value); txtjumlah.value="";TampilkanQueue(mediaList);'>
</p>
<p>
Data dalam Queue : <br/>
<select name="mediaList" size="12">
<option> Tampilan data..
</select>
</p>
<input type="text" name="Simpan">
<input type="button" value="Peninjauan" onclick='Simpan.value=datqueue()'><br/>
<label id="txthasil"></label>
<p>
<label>Genap :</label><br/>
<label id="Genap"></label>
<label>Ganjil :</label><br/>
<label id="Ganjil"></label>
</p>
<input type="button" value="JUMLAH" onclick="jumlah()">
<label>HASIL :</label>
<label id="hasil"></label>
</form>
</body>
</html>
berikut adalah contoh koding queue
<!DOCTYPE html>
<html>
<head>
<title>praktikum 5</title>
<script type="text/javascript">
var queue = new Array();
var ganjil = new Array();
var genap = new Array();
var a = 0;
var b = 0;
function Enqueue(data)
{
document.getElementById("txthasil").innerHTML = "";
queue.unshift(data);
}
function datqueue()
{
var ambil = queue.pop();
if(ambil == undefined)
{
return "Queue Sudah Habis"
}
else
{
Hasil = ambil % 2;
if(Hasil == 0)
{
genap.push(ambil);
document.getElementById("Genap").innerHTML += ambil + "<br>";
a++;
return ambil;
}
else
{
ganjil.push(ambil);
document.getElementById("Ganjil").innerHTML += ambil + "<br>";
a++
return ambil;
}
}
}
function TampilkanQueue(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;
}
}
function jumlah()
{
if(ganjil[b] == undefined)
{
c = parseInt(genap[b] + 0);
b++;
document.getElementById("hasil").innerHTML += a + "<br>";
}
else if(genap[b] == undefined)
{
e = parseInt(ganjil[b] + 0);
b++;
document.getElementById("hasil").innerHTML += b +"<br>";
}
else
{
f = parseInt(ganjil[b]) + parseInt(genap[b]);
b++;
document.getElementById("hasil").innerHTML += f +"<br>";
}
}
</script>
</head>
<body bgcolor="rainbow">
<h1>praktikum 5</h2>
<form>
<p>
<input type = "text" name ="txtjumlah">
<input type = "button" value = "Masukkan ke Queue" onclick='Enqueue(txtjumlah.value); txtjumlah.value="";TampilkanQueue(mediaList);'>
</p>
<p>
Data dalam Queue : <br/>
<select name="mediaList" size="12">
<option> Tampilan data..
</select>
</p>
<input type="text" name="Simpan">
<input type="button" value="Peninjauan" onclick='Simpan.value=datqueue()'><br/>
<label id="txthasil"></label>
<p>
<label>Genap :</label><br/>
<label id="Genap"></label>
<label>Ganjil :</label><br/>
<label id="Ganjil"></label>
</p>
<input type="button" value="JUMLAH" onclick="jumlah()">
<label>HASIL :</label>
<label id="hasil"></label>
</form>
</body>
</html>
Sekian dari materi
STACK dan QUEUE semoga bermanfaat dan apabila ada kesalahan saya ucapkan mohon
maaf yang sebesar-besarnya.
Wassalamualaikum wr.wb
Komentar
Posting Komentar