Sabtu, 30 Mei 2009

Double LinkedList

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

function DoubleLinkedList()
/
this._panjang = 0;
this._kepala = null;
this._ekor = null;
}

DoubleLinkedList.prototype =
/
constructor:DoubleLinkedList,


Tambah: function (data)
/
var node = / data: data, next: null, prev: null };
if (this._panjang == 0)
/
this._kepala = node;
this._ekor = node;
}
else
/
this._ekor.next = node;
node.prev = this._ekor;
this._ekor = node;
}
this._panjang++;
},


ItemList: 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, i = 0;
if (index === 0)
/
this._kepala = NodeTanda.next;

if (this._kepala)
/
this._ekor = null;
}
else
/
this._kepala.prev = null;
}
}
else if (index === this._panjang -1)
/
NodeTanda = this._ekor;
this._ekor = NodeTanda.prev;
this._ekor.next = null;
}
else

/
while (i++ ? index)
/
NodeTanda = NodeTanda.next;
}

NodeTanda.prev.next =NodeTanda.next;
}
this._panjang--;
return NodeTanda.data;
}
else
/
return null;
}
},




toString: function()
/
return this.toArray().toString();
}
}
var list = new DoubleLinkedList();

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

document.write ("Isi LinkedList ?br>");
document.write ("-------------- ?br>");
for (i=0; i?4; i++)
/
document.write(list.ItemList(i) +"?br>");
}
document.write ("-------------- ?br>");

alert("Isi Linked List Awal =" +list.ItemList(0));
alert("Item 1 pada Linked List dibuang, yaitu = "+list.ItemList(1));
list.Buang(1);

document.write ("Isi LinkedList Terakhir ?br>");
document.write ("-------------- ?br>");
for (i=0; i?4; i++)
/
document.write(list.ItemList(i) +"?br>");
}
document.write ("-------------- ?br>");

//-->
?/script>
?/body>
?/html>

Rabu, 27 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,

//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 Elemen List
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;
}
},


//Membuat metode Untuk Mengetahui Jumlah Elemen 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("Komputerisasi Akuntansi");
list.Tambah("Komputer Networking");


document.write("Isi Linked List ?br>");
document.write("--------------- ?br>");
for (i=0; i?4; i++)
{
document.write(list.Item(i) + "?br>");
}
document.write("--------------- ?br>");

alert("Isi Linked List Awal =" +list.Item(0));
alert("Item 1 Pada Linked List dibuang, Yaitu =" +list.Item(1));
list.Buang(1);



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

//-->
?/script>
?/body>
?/html>


Selasa, 26 Mei 2009

QUEUE Push-Shift

?html>
?head>?title>Struktur Data Queue?/title>?/head>
?script language="javascript">
var queue=new Array();

function input(data)
{
queue.push(data)
}

function ambil()
{
var keluar_antrian=queue.shift();
if (keluar_antrian==0)
return "Queue sudah kosong";
else
return keluar_antrian;
}

function tampilkan (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>
?form>
?input type=text name=textSimpan>
?input type=button value="Masuk Antrian"
onClick='input(textSimpan.value);
textSimpan.value="";
tampilkan(mediaList);'>

?select name="mediaList" size=12>
?option> Isi Antrian....
?/select>
?input type=button value="Keluar Antrian"
onClick='textAmbil.value = ambil();
tampilkan(mediaList);'>
?input type=text name=textAmbil>
?/form>
?/body>
?/html>

ekoprihastopo © 2008 Template by:
SkinCorner