DILARANG MEROKOK ! AREA BLOG INI BER AC

Selasa, 29 Juni 2010

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>

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>

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>

Selasa, 25 Mei 2010

Linked List2








Berikut source kode "html" untuk tampilan di atas

<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>

Rabu, 19 Mei 2010

Linked List
























Berikut adalah source kode untuk tampilan di atas

<html>
<head>
<title>Struktur Data Linked List</title>
</head>
<body>
<script language = "JavaScript">
<!--
function DoublyLinkedList()
{
this._Kepala = null;
this._Ekor = null;
this._Panjang = 0;
}

DoublyLinkedList.prototype =
{
constructor: DoublyLinkedList,
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;
}


},

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().toString();
}
}

var List = new DoublyLinkedList();


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>");


document.write("Isi LinkedList Awal = " + List.Ukuran() +"<br>");
document.write("Isi Array Awal = " + List.toArray() +"<br>");
document.write("Isi String Awal = " + List.toString() +"<br><br>");

alert("ItemList 1 pada Linked List diBuang, yaitu = " + List.ItemList(1));
List.Buang(1);


document.write("Isi Linked LIst Setelah Dibuang <br>");
document.write("--------------- <br>");
for (i=0; i<4; i++)
{
document.write(List.ItemList(i) + "<br>") ;
}
document.write("--------------- <br>");

document.write("<br>Isi LinkedList Terakhir = " + List.Ukuran() +"<br>");
document.write("Isi Array Akhir = " + List.toArray() +"<br>");
document.write("Isi String Awal = " + List.toString() +"<br>");
//-->
</script>
</body>
</html>

STACK














Berikut adalah source kode untuk tampilan di atas

<html>
<head>
<title>Penggunaan Struktur Data Stack (Tumpukan)</title>
<script language="javascript">
<!--
var stack = new Array();

function input_ke_stack(data)
{
stack.push(data);
}

function ambil_dari_stack()
{
var yang_ambil_dari_stack = stack.pop();
if (stack.length == 0)
return (yang_ambil_dari_stack + " -> stack sudah kosong");
else
return yang_ambil_dari_stack;
}

function dalam_antrian(list)
{
list.options.length = 0;
for (var i = 0; i < stack.length; i++)
{
var data = new Option(stack[i]);
list.options[list.options.length] = data;
}
}

//-->
</script>
</head>

<body>
<font color=#992811>Tampilan stack (Tumpukan)</font>
<form>
<input type=text name=textSimpan>
<input type=button value="Masuk Tumpukan" onClick = 'input_ke_stack(textSimpan.value);
textSimpan.value = "";
dalam_antrian(visualisasi);'>
<select name="Tampilan" size=12>
<option>Isi antrian....
</select>
<br>
<input type=text name=textAmbil size=20>
<input type=button value="Keluar Dari Tumpukan" onClick='textAmbil.value = ambil_dari_stack();
dalam_antrian(visualisasi);'>
</form>
</body>
</html>

QUEUE Lat 2













































Berikut adalah source kode untuk tampilan di atas

<html>
<head>
<title>Penggunaan Queue</title>
<script language="javascript">
<!--
var queue = new Array();

function masuk_antrian(data)
{
queue.unshift(data);
}

function keluar_antrian()
{
var yang_keluar_antrian = queue.pop();
if (queue.length == 0)
return (yang_keluar_antrian + " -> Queue sudah kosong");
else
return yang_keluar_antrian;
}

function dalam_antrian(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>
<font color=#992811>Visualisasi Queue (Antrian)</font>
<form>
<input type=text name=textSimpan>
<input type=button value="Masuk Antrian" onClick = 'masuk_antrian(textSimpan.value);
textSimpan.value = "";
dalam_antrian(visualisasi);'>
<select name="visualisasi" size=12>
<option>Isi antrian....
</select>
<br>
<input type=text name=textAmbil size=20>
<input type=button value="Keluar Antrian" onClick='textAmbil.value = keluar_antrian();
dalam_antrian(visualisasi);'>
</form>
</body>
</html>