Script pertama-q

Sturktur Data

SELAMAT BELAJAR

STMIK KHARISMA KARAWANG Dhesie Dwi Sagita

Jumat, 10 Juli 2009

Lat.UAS

<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("3");
list.Tambah("2");
list.Tambah("1");
list.Tambah("4");


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

document.write("Isi Linked List Awal = " +list.Ukuran() + "<br>");
document.write ("<br>")


document.write("Isi Linked List to Array =" +list.toArray());
document.write ("<br>")


document.write("Data String Linked List Awal =" +list.toString());



function Urutkan (form)
{
DataKosong = false;
DataInputan = form.Data.value;
inputData = DataInputan.split(",");
for (var i = 0; i < inputData.length; i++)
{
inputData[i] = parseInt (inputData[i], 10);
if (isNaN(inputData[i]))
{
DataKosong = true;
break;
}
}

inputData = bubbleSort(inputData, 0, inputData.length - 1);
if (DataKosong)
{
alert("Silakan Entri Dulu Data, Pisahkan dengan tanda Koma");
form.Data.focus();
}
else
form.Hasil.value = DataString(inputData, 0);
}

function DataString (toArray, Angka)
{
if ((toArray.length - 1) >= Angka)
return (toArray[Angka] + "," + DataString(toArray,(Angka +

1)));
else
return "";
}

function bubbleSort (toArray, Mulai, MulaiBaru)
{
for (var i = MulaiBaru - 1; i >= Mulai; i--)
{
for (var j = Mulai; j <= i; j++)
{
if (toArray[j+1] < toArray[j])
{
var DataTemporer = toArray[j];
toArray[j] = toArray[j+1];
toArray[j+1] = DataTemporer;
}
}
}

return toArray;
}




</script>



<body>
<center>
<form>
Masukan Deretan Angka, Pisahkan dengan Koma :
<hr>
<input type=text name=Data size=30 value= >

<br>
<br>
<input type=button value="Urutkan"

OnClick="Urutkan(this.form)">
<br>
<br>
<br>
Hasil Pengurutan :
<hr>
<input type=text name=Hasil size=30>
</form>
</center>

</body>
</html>
</html>

Tidak ada komentar: