skip to main
|
skip to sidebar
Rabu, 30 Juni 2010
di
06.52
|
SORT ASCENDING
<html>
<head>
<script LANGUAGE = "Javascript">
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 (ArrayData, Angka)
{
if ( (ArrayData.length - 1) >= Angka)
return (ArrayData[Angka] + "," + DataString (ArrayData, (Angka + 1) ) );
else
return "";
}
function bubbleSort (ArrayData, Mulai, MulaiBaru)
{
for (var i=MulaiBaru-1; i>=Mulai; i--)
{
for (var j=Mulai; j<=i; j++)
{
if (ArrayData[j+1] < ArrayData [j] )
{
var DataTemporer = ArrayData [j];
ArrayData [j] = ArrayData [j+1];
ArrayData[j+1] = DataTemporer;
}
}
}
return ArrayData;
}
</script>
</head>
<body>
<center>
<form>
Masukan Deretan Angka "," Pisahkan dengan Koma :
<hr>
<input type = text name=Data size=30< Value="">
<br>
<input type=button value="Urutkan" onClick="Urutkan (this.form)">
<br>
<br>
Hasil Pengurutan :
<hr>
<input type=text name=Hasil size=30<
</form>
</center>
</body>
</html>
LINKED LIST
<html>
<head>
<title>Tugas 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--;
} else
{
return null;
}
},
insert : function(index,data)
{
var node = {data : data, next:null};
var temp = "";
if( index > -1 && index < this._panjang)
{
var NodeTanda = this._kepala, i=0;
this.tambah("x");
//posisi index
while(i++ < index)
{
NodeTanda = NodeTanda.next;
}
while(index++ < this._panjang)
{
temp = NodeTanda.data;
NodeTanda.data = data;
NodeTanda = NodeTanda.next;
data = temp;
}
}
this._panjang++;
},
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(prompt("Entri 1 :"));
list.tambah(prompt("Entri 2 :"));
list.tambah(prompt("Entri 3 :"));
list.tambah(prompt("Entri 4 :"));
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>");
document.write("<br>");
document.write("--------------- <br>");
a = prompt("Isi Lagi entri : ");
document.write("Isi Link list disisipkan lagi <br>");
document.write("--------------- <br>");
list.insert(2,+ a);
for (i=0;i<4;i++)
{
document.write(list.Item(i) + "<br>");
}
document.write("----------------<br>");
alert("setelah disisipkan");
//-->
</script>
</body>
</html>
Rabu, 09 Juni 2010
di
05.19
|
DJIKTRA
<html><head><title>Dijkstra Algorithms </title></head><body>
<script language = "javascript">
var NilaiAcuan = 10000;
var TakTerdefinisi = -1;
var NamaVerteks = new Array('A','B','C','D','E','F');
var Matriks = new Array(6);
function Bobot(a,b)
{
return Matriks[a][b];
}
function Dijkstra(JumlahVerteks,Awal,d)
{
var Posisi = new Array(JumlahVerteks);
var i;
var Kunjungan = new Array(JumlahVerteks);
var Sebelum = new Array(JumlahVerteks);
for(i=0; i<JumlahVerteks; i++)
{
Posisi[i] = NilaiAcuan;
Sebelum[i] = TakTerdefinisi;
Kunjungan[i] = false;
}
Posisi[Awal] = 0;
var Verteks;
for(Verteks =0; Verteks < JumlahVerteks; Verteks++)
{
var JarakTerpendek = NilaiAcuan, Berhenti = -1;
for (i=0; i < JumlahVerteks; i++)
{
if (!Kunjungan[i])
{
if (Posisi[i] <= JarakTerpendek)
{
JarakTerpendek = Posisi[i];
Berhenti = i;
}
}
}
Kunjungan[Berhenti] = true ;
for (i=0; i < JumlahVerteks; i++)
{
if (!Kunjungan[i])
{
var w = Bobot(Berhenti, i);
if (Posisi[Berhenti]+w < Posisi[i]) {
Posisi[i] = Posisi[Berhenti] + w;
Sebelum[i] = Berhenti;
}
}
}
}
i=d;
if (Posisi[i] < NilaiAcuan)
{
var Lintasan = NamaVerteks[i];
var Verteks = i;
while (Verteks>0)
{
Verteks = Sebelum[Verteks];
if (Verteks>=0)
Lintasan = NamaVerteks[Verteks] + '->' + Lintasan;
}
alert("Jarak :" +Posisi[i]+' ('+Lintasan+')'+'<br>');
} else
{
alert("Tidak ada Jalur");
}
}
var x = '~';
document.write('<pre>');
document.write(Matriks[0]=new Array(0,2,3,x,x,x)); document.write('<br>');
document.write(Matriks[1]=new Array(2,0,3,6,x,x));
document.write('<br>');
document.write(Matriks[2]=new Array(3,3,0,3,5,x)); document.write('<br>');
document.write(Matriks[3]=new Array(x,6,3,0,1,3)); document.write('<br>');
document.write(Matriks[4]=new Array(x,x,5,1,0,1)); document.write('<br>');
document.write(Matriks[5]=new Array(x,x,x,3,1,0));
document.write('<br>');
document.write('</pre>');
document.write('<pre>A-2-B-6--D--3-F <br>');
document.write('\\ | /| / <br>');
document.write(' 3 3 3 1 1 <br>');
document.write(' \\ | / | / <br>');
document.write(' \\|/ |/ <br>');
document.write(' C--5-E <br> </pre>');
var Dari=0; // A
var Ke =5; // F
Dijkstra(Matriks.length,Dari,Ke);
//-->
</script>
</body>
</htmL>