Linked List

<html>

<head>

<title>Linked List</title></head>

<body>

<script language = "JavaScript">

<!--

function LinkedList()

{

this._panjang = 0;

this._kepala = null;

}



LinkedList.prototype =

{

constructor : LinkedList,



tambah : function(data)

{

var node = {data : data, next:null};

var NodeTanda;



if (this._kepala === null)

{

this._kepala = node;

} else

{

NodeTanda = this._kepala;

while (NodeTanda.next)

{

NodeTanda = NodeTanda.next;

}

NodeTanda.next = node;

}

this._panjang++;

},



Item : function(index)

{

if (index > -1 && index < this._panjang)

{

var NodeTanda = this._kepala,

i=0;

while (i++ < index)

{

NodeTanda = NodeTanda.next;

}

return NodeTanda.data;

} else

{

return null;

}

},



Buang : function(index)

{

if( index > -1 && index < this._panjang)

{

var NodeTanda = this._kepala,previous, i=0;

if (index === 0)

{

this._kepala = NodeTanda.next;

} else

{

while(i++ < index)

{

previous = NodeTanda;

NodeTanda = NodeTanda.next;

}

previous.next = NodeTanda.next;

}

this._panjang--;

return NodeTanda.data;

} else

{

return null;

}

},



Ukuran : function()

{

return this._panjang;

},



toArray : function()

{

var result = [],

NodeTanda = this._kepala;

while (NodeTanda)

{

result.push(NodeTanda.data);

NodeTanda = NodeTanda.next;

}

return result;

},



toString : function()

{

return this.toArray().toSring();

}



}



var list = new LinkedList();

list.tambah("Teknik Informatika");

list.tambah("Teknik Komputer");

list.tambah("Komputer Akutansi");

list.tambah("Computer Nerworking");



document.write("Isi LinkedList <br>");

document.write("--------------- <br>");

for (i=0;i<4;i++)

{

document.write(list.Item(i) + "<br>");

}

document.write("----------------<br>");



alert("Isi LinkedList awal = " + list.Item(0));

alert("Item 1 pada LinkedList dibuang, yaitu = " + list.Item(1));

list.Buang(1);

document.write("<br><br>");

document.write("Isi LinkedList Terakhir <br>");

document.write("--------------- <br>");

for (i=0;i<4;i++)

{

if (list.Item(i) == null)

{

document.write("--");

} else {

document.write(list.Item(i) + "<br>");

}

}

document.write("----------------<br>");

//-->

</script>

</body>

</html>

program queue 2

<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"Antrian 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>
<from>
<input type=text name=textSimpan>
<input type=button value="Masukan Antrian"
onclick='Masukan_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);">
</option>
</from>
</body>
</html>

Program Queue

<html>
<head>
<title>program queue dengan pop dan unshift JavaScript</title>
<script language="JavaScript">

function DataQueue()
{
var queue=[];
queue.unshift(1);
queue.unshift(2);

var i=queue.pop();
document.write(i+"<br/>");
queue.unshift(3);
queue.unshift(4);
var i=queue.pop();
document.write(i+"<br/>");
}

</script>
</head>
<body>
<form name="FormStrukturData">
<input name="btnQueue" value="Queue" type="button" onClick="DataQueue();"/>
</form>
</body>
</html>

Stack (Menambahkan Function)

<html>
<head>
<title>Struktur Data Stack</title>
<script language = "JavaScript">
var stack=new Array();
function Input_ke_Stack(data)
{
stack.push(data);
}
function Ambil_dari_Stack()
{
var data_dari_stack = stack.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<stack.length;i++){
var data = new Option(stack[i]);
list.options[list.options.length]=data;
}
}
</script>
</head>
<body>
<form>
<input type=text name=textSimpan size=25>
<input type=button value="Masukan ke Stack"
onClick='Input_ke_Stack(textSimpan.value);
textSimpan.value="";
TampilkanStack(mediaList);'>
<select name="mediaList"size=12>
<option>Tampilkan data...
</select>
<input type=text name=textAmbil size=20>
<input type=button value="Ambil dari Stack"
onClick="textAmbil.value=Ambil_dari_Stack();
TampilkanStack(mediaList);">
</form>
</body>
</html>