selamat datang

Rabu, 23 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");
}
}

function init()
{
var x = nilaiacuan;
document.write('<pre>');
document.write('<br>');
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>');

var awal='<pre>';
document.write(awal+'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>');
document.write('</pre>');
}

init();
var dari=0;
var ke=5;
dijkstra(matriks.length,dari,ke);

//-->
</script>
</body>
</html>
<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>

Jumat, 16 April 2010

MENAMPILKAN ARRAY

<html>
<head>
<title>Array_Ke-1</title>
</head>
<body>
<script language ="javascript">
<!--
var asal = new Array("Saya ","Sedang ","Senang ","Senang.");
for(i=0;i<4;i++)
{
document.write(asal[i]);
}
//-->
</script>
</body>
</html>

nama hari sesuai urutan angka

<html>
<head>
</head>
<title>Menentukan Hari</title>
<body>
<script language ="javascript">
<!--
var poe = new Array("Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu","Minggu");
var i = prompt("masukan angka 1 s/d 7 maka akan tampil nama hari sesuai urutan hari");
document.write("Hari ke : "+i+" adalah hari : "+poe[i-1]);
//-->
</script>
</body>
</html>

Rabu, 03 Maret 2010

no.2

<html>
<head>
<title>membaca_input_integer</title>
</head>
<body>
<script language ="JavaScript">
<!--

var a = parseInt(prompt("Masukan data Integer yang ingin ditampilkan"));
if (isNaN(a)) {
document.write("data yang anda masukan salah");
document.write("<br>");
document.write("Type datanya harus "+typeof(a));
} else
document.write("Data yang dimasukan sudah betul, yaitu : "+a);
document.write("<hr>");


//-->
</script>
</body>
</html>
<html>
<head>
<title>persamaan_fungsi_kuadrat</title>
</head>
<body>
<script language ="JavaScript">
<!--
function akar(a,b,c) {
var d = (b*b) - (4*a*c);
return(d);

}

var a = parseFloat(prompt(" Masukan nilai A : \n"));
var b = parseFloat(prompt(" Masukan nilai B : \n"));
var c = parseFloat(prompt(" Masukan nilai C : \n"));
var proses = akar(a,b,c);
document.write("<br>");
document.write("<hr>");

if(proses > 0)
{
var xa = (-b - Math.sqrt(proses))/(2*a);
var xb = (-b + Math.sqrt(proses))/(2*a);
document.write("Hasil akhir X1 = "+xa+"<br>");
document.write("Hasil akhir X2 = "+xb+"<br>");
document.write("selamat anda berhasil");
document.write("Keterangan :\n Akar dari b2 - 4ac = " +proses+ "\n x1 : " +xa+ "\n x2 : " +xb+ "\n Bentuk persamaan : " +a+ "x2" +b+ " x " +c);
document.write("<hr>");
} else
if(proses == 0)
{
document.write("Tidak ada akar dari 0 silakan coba lagi");
} else
if(proses < 0)
{
document.write("Tidak ada akar negatif silakan coba lagi");
}


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