<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>
Selasa, 29 Juni 2010
sort descending
<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 denga 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>
<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 denga 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>
Rabu, 09 Juni 2010
dijkstra
<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>
<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>
Langganan:
Postingan (Atom)