Selasa, 19 Mei 2009

Linked List

<html>
<head>
<title>Struktur Data Linked List</title>
</head>
<body>
<script language = "JavaScript">
<!--

function LinkedList()
{
this._panjang = 0;
this._kepala = null
}

LinkedList.prototype =
{
constructor:
LinkedList,
Tambah,
Item,
Buang,
Ukuran,
toString,
toArray;
}

//Membuat Metode Untuk Menambah Data Kedalam List
Tambah: function (data)
{
//Membuat Node list
var node = {data: data, next: null ), NodeTanda;
//Periksa Isi List
if (this._kepala===null)
{
this._kepala = node;
}
else
{
NodeTanda = this._kepala;
while (NodeTanda.next)
{
NodeTanda = NodeTanda.next;
}
, NodeTanda.next = node;
}
this._panjang++;
},

//Membuat Metode Untuk Menunjuk Item Data
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;
}
},

//Membuat Metode Untuk Membuang Element List
Buang: function (index)
{
if (index > -1 && index <this._panjang)
{
var NodeTanda = this._kepala, prevous, 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;
}
},

//Membuat Metode Untuk Mengetahui Jumlah Element List
Ukuran : function ()
{
return this._panjang;
},

//Membuat Metode Untuk Membentuk Array
toArray: function ()
{
var result = [],
NodeTanda = this._kepala;

while (NodeTanda) {
result.push(NodeTanda.data);
NodeTanda = NodeTanda.next;
}
return result;
},

//Membuat Metode Untuk Konversi ke String
toString: function ()
{
return this.toArray().toString();
},

var list = new LinkedList ();

list.Tambah("Teknik Informatika");
list.Tambah("Teknik Komputer");
list.Tambah("Komputer Akuntansi");
list.Tambah("Komputer Networking");

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 Linked list dibuang, yaitu = "+list.Item(1));
list.Buang (1);

document.write("Isi LinkedList Terakhir <br>");
document.write("-------------- <br>");
for (i=0; i<4; i++)
{
document.write(List.Item(i) + "<br>");
}
document.write("-------------- <br>");

//-->
</script>
</body>
</html>

Queue01

<html>
<head>
<title>Program Qeueu dengan shift 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>

Rabu, 06 Mei 2009

Latihan Queue

<html>
<head>
<title>Program Queue dengan unshift javaScript</title>
<script language="JavaScript">

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

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

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