Praktikum Struktur Data (HTML, JS) PDF
Praktikum Struktur Data (HTML, JS) PDF
Tingkat/Semester : I/II
<html>
<head>
<title>Membuat Program</title>
<script type=text/JavaScript>
var a = 5;
var b = 6;
c = a + b;
<body>
</body>
</html>
Program 2
Belajar cara menampilkan bilangan dari 1 sampai 10 menggunakan looping for. Berikut kode yang
dipakai:
<html>
<head>
<title>Menghitung Bilangan</title>
<script type=text/JavaScript>
for(x=1; x<=10; x++)
{
document.write(x);
}
</script>
</head>
<body>
</body>
</html>
Program 3
Belajar cara menampilkan alert yang diisi dengan teks yang terdapat didalam kode programnya, serta
cara mengubah tampilan latar (background) berwarna, juga menampilkan teks yang diatur bold (tebal) dan
italic (miring):
<html>
<head>
<title>Belajar Struktur Data</title>
<script type=text/JavaScript>
alert("Hello");
</script>
</head>
<body bgcolor=purple>
<b>Hello</b> <br>
<i>Hallo</i>
</body>
</html>
Program 4
Belajar cara menampilkan kotak teks yang diisi dengan bilangan integer serta menampilkan button
yang jika di klik akan memproses sebuah function penjumlahan bilangan yang di input dari kotak teks,
berikut kode programnya:
<html>
<head>
<title>Hitung Data</title>
</head>
<body>
<script type=text/JavaScript>
function hitung()
{
var a = document.getElementById("teks_a").value;
b = document.getElementById("teks_b").value;
c = parseInt(a) + parseInt(b);
document.getElementById("teks_c").value = c;
}
</script>
<input type=text id=teks_a size=3> +
<input type=text id=teks_b size=3>
<input type=button value='=' onclick='hitung();'>
<input type=text id=teks_c size=3>
</body>
</html>
Program 5
Belajar cara menampilkan penjumlahan dan perkalian bilangan integer yang di masukan dalam kode
programnya:
<html>
<head>
<title>Type Bilangan</title>
</head>
<body>
<script language = "JavaScript">
var a = 15;
b = 14;
tambah = a + b;
kali = a * b;
Program 6
belajar cara menampilkan button yang bilamana di klik akan memproses dan menampilkan teks
dalam bentuk alert, berikut kode programnya:
<html>
<head>
<title>Belajar Tipe Data</title>
</head>
<body>
<script type=text/javascript>
function test()
{
alert("Hello");
}
function coba(x)
{
alert(x);
}
function tampil()
{
var t = document.getElementById("teks_a").value;
alert(t);
}
</script>
<input type=button value=Klik1 onclick='test();'> <br>
<input type=button value=Klik2 onclick='coba("Pagi");'> <br>
<input type=text id=teks_a>
<input type=button value=Tampil onclick='tampil();'>
</body>
</html>
Array
Array adalah kumpulan data yang terstruktur serta memiliki tipe data yang sama. Berikut contoh-
contoh program sederhana menggunakan Array.
Program 1
Berisi parameter array yang ditentukan batas serta element array yang di input dari keyboard
memakai fitur promp:
<html>
<head>
<title>Parameter Array</title>
</head>
<body>
<script language = "JavaScript">
<!--
var tempat = [];
var data = prompt("Ketik Jumlah Maksimum Array:");
for(m=1;m<=data;m++)
{
var bil = prompt("Masukkan Bilangan:");
tempat[m] = bil;
}
for(n=1;n<=data;n++)
{
document.write("Elemen Array("+n+") ="+tempat[n]+"<br>");
}
//-->
</script>
</body>
</html>
Program 2
Belajar tata cara membuat array yang dimana element array tersebut dimasukan dalam kode program,
serta menampilkannya:
<html>
<head>
<title> Belajar Array Lagi </title>
</head>
<body>
<script type=text/javascript>
//deklarasi array
var data1 = new Array();
data2 = [];
//mengisi array
data1[0] = 4;
data1[1] = 5;
data1[2] = 6;
Program 3
Memasukan isi array yang bertipe String:
<html>
<head>
<title></title>
<script language = "JavaScript">
<!--
var nama_hari = new Array("Senin","Selasa","Rabu","Kamis","Ju'mat","Sabtu","Minggu");
</body>
</html>
Program 4
Belajar mengenal indeks array lewat sebuah progam yang menampilkan isi array tersebut
menggunakan looping:
<html>
<head>
<title>Belajar Array</title>
</head>
<body>
<script LANGUAGE = "Javascript">
<!--
}
document.write(DATA_KU[2]) ;
Program 5
Program yang menampilkan urutan hari dimana nomor urutan diinput dari kotak teks pertama lalu
bilamana sebuah button di-klik, maka akan menampilkan nama hari dalam kotak teks lainnya
<html>
<head>
<title>Program Urutan Nama Hari</title>
</head>
<body bgcolor="green" text="white">
<h1 align="left">Program Urutan Nama Hari</h1>
<input type=text id=no size=3>
<input type=button value='Nama Hari' onclick='urutan_hari();'>
<input type=text id=hari size=10>
<script language = "JavaScript">
<!--
function urutan_hari()
{
var a = document.getElementById("no").value;
if (a == 1)
{
b = "Senin";
}
else if (a == 2)
{
b = "Selasa";
}
else if (a == 3)
{
b = "Rabu";
}
else if (a == 4)
{
b = "Kamis";
}
else if (a == 5)
{
b = "Jumat";
}
else if (a == 6)
{
b = "Sabtu";
}
else if (a == 7)
{
b = "Minggu";
}
else
{
b = “Salah!!”;
}
document.getElementById("hari").value = b;
}
//-->
</script>
</body>
</html>
Program 6
Menampilkan isi array yang berupa hasil penjumlah suatu bilangan integer:
<html>
<head>
<title>Belajar Array</title>
</head>
<body>
<script type=text/javascript>
var angka= new Array();
var bilangan= new Array();
hasil= [];
angka[0] = 5;
angka[1] = 6;
angka[2] = 7;
bilangan[0] = 8;
bilangan[1] = 9;
bilangan[2] = 10;
Program 7
Menampilkan options dan menggantinya dengan kalimat yang diinput dalam kotak teks:
<html>
<head>
<title>Masih Belajar Array</title>
</head>
<body>
<input type=text id=kotak>
<input type=button value=klik onclick='tambah_array(); isi(); kosong();'>
<select id=combo>
<option value=l>laki-laki</option>
<option value=p>perempuan</option>
</select>
<script type=text/javascript>
var data = new Array();
function tambah_array()
{
data[data.length] = document.getElementById('kotak').value;
}
function isi()
{
for(i=0; i<data.length; i++)
{
document.getElementById('combo').options[i] = new Option(data[i]);
}
}
function kosong()
{
document.getElementById('kotak').value = '';
}
</script>
</body>
</html>
Program 8
Belajar cara mengganti isi options dengan variabel yang terdapat dalam kode programnya :
<html>
<head>
<title></title>
</head>
<body>
<select id=combo>
<option id=l>laki-laki (L)</option>
<option id=p>perempuan (P)</option>
</select>
<script type=text/javascript>
var angka = new Array();
function cari()
{
angka[0] = 5;
}
function tampil()
{
document.getElementById('combo').options[0]= new Option(angka[0]);
}
</script>
</body>
</html>
Program 9
Menampilkan angka-angka hasil pengkuadratan dari angka-angka yang dimasukan dalam kode
program:
<html>
<head>
<title></title>
</head>
<body>
<script type=text/javascript>
var angka1 = new Array();
angka2 = [];
angka1[0] = 5;
angka1[1] = 6;
angka1[2] = 7;
</script>
</body>
</html>
Record
Record merupakan data yang terstruktur yang memiliki field yang sama tipe datanya.
Program 1
Jika record di analogikan dengan table, maka record adalah baris, sedangkan field adalah kolom,
contoh program menampilkan table dalam HTML:
<html>
<head>
<title>Record</title>
</head>
<body>
<table border=1>
<tr> <th>Judul</th></tr>
<tr> <th>A</th> </tr>
<tr> <th>B</th> </tr>
</table> <br>
<script type=text/JavaScript>
document.write("<table border=1>");
document.write("<tr><td>Test</td></tr>");
document.write("</table>");
</script>
</body>
</html>
Program 2
cara menampilkan record dalam bentuk table:
<html>
<head>
<title>Belajar Record</title>
</head>
<body>
<script type=text/javascript>
var rekaman = new Array();
function buku(k,j)
{
this.kode_buku = k;
this.judul = j;
this.tampil = tampilkan;
}
function tampilkan()
{
document.write("<td>" +this.kode_buku+ "</td>");
document.write("<td>" +this.judul+ "</td>");
}
document.write("<table border=1>");
document.write("<tr><th>Kode Buku</th> <th>Judul</th></tr>");
for(i=0; i<=rekaman.length; i++)
{
document.write("<tr>");
rekaman[i].tampil();
document.write("</tr>");
}
document.write("</table>");
</script>
</body>
</html>
Program 3
Program menampilkan data pegawai dengan menggunakan record:
<html>
<head>
<title>Belajar Lagi</title>
</head>
<body>
<script type=text/javascript>
var rekaman = new Array();
function pegawai(a,b)
{
this.nip = a;
this.nama = b;
this.lihat = lihat_data;
}
function lihat_data()
{
document.write("<td>" +this.nip+ "</td>");
document.write("<td>" +this.nama+ "</td>");
}
document.write("<table border=1>");
document.write("<tr><th>NIP</th> <th>NAMA</th></tr>");
for(i=0; i<=rekaman.length; i++)
{
document.write("<tr>");
rekaman[i].lihat();
document.write("</tr>");
}
document.write("</table>");
</script>
</body>
</html>
Program 4
Belajar Record dengan cara menginput isi record sendiri serta menampilkan isi record tersebut:
<html>
<head>
<title>Rekaman data</title>
</head>
<body>
NPM : <input type=text id=tnpm><br>
Nama : <input type=text id=tnama><br>
<script type=text/javascript>
var rekaman = new Array();
function mhs(a,b)
{
this.npm = a;
this.nama = b;
this.lihat = tampilkan;
}
function tampilkan()
{
document.write("<td>"+this.npm+"</td>");
document.write("<td>"+this.nama+"</td>");
}
function simpan()
{
var isi_npm = document.getElementById('tnpm').value;
var isi_nama =
document.getElementById('tnama').value;
document.getElementById('tnpm').value='';
document.getElementById('tnama').value='';
}
function lihat()
{
document.write("<table border=1>");
document.write("<tr><th>Npm</th> <th>Nama
Mahasiswa</th></tr>");
for(i=0; i<rekaman.length; i++)
{
document.write("<tr>");
rekaman[i].lihat();
document.write("</tr>");
}
document.write("</table>");
}
</script>
</body>
</html>
Stack
Stack adalah kumpulan data yang mana data yang dimasukan pertama akan keluar terakhir dan
data yang dimasukan terakhir akan keluar pertama (FILO”First In Last Out”). Dalam istilah bahasa
Indonesia, Stack bermakna Tumpukan. Berikut contoh program sederhana menggunakan stack :
Program 1
<html>
<head>
<title>Pertemuan 6 stack 1</title>
</head>
<body>
<script text=text/javascript>
var stack = new Array();
stack.push ("A");
stack.push ("B");
stack.push ("C");
stack.push ("D");
document.write("stack : "+stack.toString()+"<br>");
Program 2
Menginput dan menampilkan stack:
<html>
<head>
<title>Program Stack ke 2</title>
</head>
<body>
<script type=text/javascript>
var tempat = [];
function input()
{
var kt = document.getElementById('kata').value;
tempat.push(kt);
var kt = document.getElementById('kata').value = '';
}
function tampil()
{
var tmpl= tempat.pop();
for(i=0; i<tempat.length; i++)
{document.write(tmpl[i]);}
}
</script>
<input type=text id=kata>
<input type=button value=IN onclick='input();'>
<input type=button value=Tampilkan onclick='tampil();'>
</body>
</html>
Program 3
<html>
<head>
<title>Konversi Bilangan biner</title>
</head>
<body>
<input type=text id=desimal size="3">
<input type=button value=konversikan! onclick='konversi();'>
<input type=text id=hasil>
<script language="JavaScript">
var stack= [];
function konversi()
{
var bil=desimal.value;
var bin;
while (bil>0)
{
bin=bil % 2;
stack.push(bin);
bil=(bil-bin)/2;
}
var str="";
var i=0;
while(i<stack.length)
{
str=str+stack.pop();
}
hasil.value=str;
}
</script>
</body>
</html>
Queue
Queue adalah kebalikan dari stack, dimana queue adalah kumpulan data yang mana data yang
pertama masuk akan keluar pertama juga (“First In First Out(FIFO)”). Dalam istilah bahasa indonesia queue
bermakna antrian. Berikut Contoh program Queue :
- Program 1
<html>
<head>
<title>Struktur Data 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 "Antrian 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>
<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>
<input type=text name=textAmbil size=20>
<input type=button value="Keluar Antrian" onClick="textAmbil.value=Keluar_Antrian();
Dalam_Antrian(Visualisasi);">
</form>
</body>
</html>
- Program 2
<html>
<head>
<title>Struktur Data Queue</title>
<script language="JavaScript">
function Keluar_Antrian()
{
var yang_keluar_antrian = queue.pop();
if (queue.length==0)
return "Antrian 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>
<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>
<input type=text name=textAmbil size=20>
<input type=button value="Keluar Antrian" onClick="textAmbil.value=Keluar_Antrian();
Dalam_Antrian(Visualisasi);">
</form>
</body>
</html>
Linked List
Linked list adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang
setiap elemennya terdiri dari dua bagian atau dapat diartikan sebagai sekumpulan komponen yang saling
berhubungan (berantai) dengan bantuan pointer. Terdapat beberapa komponen untuk membuat linked list,
yaitu:
1. Head (kepala)
2. Pointer (penunjuk)
3. Tail (Ujung/Ekor)
SLL adalah dimana sebuah komponen memiliki hubungan atau keterkaitan dengan
komponen setelahnya(hanya memiliki ekor/Tail) Contoh Program Single Linked List :
Linked List.prototype =
{
Constructor:
LinkedList,
Tambah,
Item,
Buang,
Ukuran,
toString,
toArray;
}
Kode Program :
<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>
Double Linked List
DLL adalah dimana sebuah komponen memiliki hubungan atau keterkaitan dengan
komponen setelah dan sebelumnya(memiliki prev dan next)
<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");
//-->
</script>
</body>
</html>
Graph
- Landasan Teori
Graph adalah kumpulan titik(vertex) yang terhubung atau tidak terhubung dengan titik
(vertex) lainnya dengan garis (edges).
Sebuah graf disusun dari kumpulan titik-titik yang dihubungkan degan garis. Vertex
adalah titik-titik dalam graf, sedangkan edges adalah garis-garis yang menghubungkan antar
vertex.
- Incident Jika e adalah sebuah edge, dan v serta w adalah 2 buah vertex bisa ditulis
bahwasannya e = (v,w) yang mana v dan w terletak pada e dan e Incident dengan v dan w
- Degree sebuah vertex adalah jumlah edges yang incident dengan vertex tersebut.
- Indegree sebuah vertex dalam directed graph adalah jumlah edge yang menuju pada vertex
tersebut atau jumlah edge yang “masuk” kedalam vertex tersebut.
- Outdegree sebuah vertex dalam directed graph adalah jumlah edge yang menuju vertex
lainnya atau jumlah edge yang “keluar” dari vertex tersebut.
- Predessor dan Successor. Bila vertex a menuju vertex b dihubungkan dengan edge, maka
vertex a adalah Predessor vertex b dan vertex b adalah successor vertex a.
- Path adalah serangkaian simpul-simpul yang berbeda, yang adjacent secara berturut-turut
dari simpul satu ke simpul berikutnya.
Graph dapat digambarkan dengan kumpulan titik(node) serta garis(edges). Grap juga
dapat di gambarkan dengan Matriks
2
A
B
5
3
4
C D
1
- Contoh Penggambaran Directed Graph
2
A B
4
2
5
3
3 2
1
C D
A B C D
A 0 2 3 ∞
B 2 0 4 5
C 3 4 0 1
D ∞ 5 1 0
- Contoh penggambaran Directed graph dalam Matriks
A B C D
A 0 2 3 ∞
B 4 0 ∞ 2
C 3 5 0 1
D ∞ 4 2 0
Salah satu metode Algorithme yang sering di pakai dalam penentuan nilai atau jarak
Sebuah Edge adalah Algorithme dijkstra, berikut contoh programnya :
<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>
Sort
Sorting adalah proses pengurutan atau proses penyusunan kembali susunan data dalam
suatu proses tertentu ataupun secara acak. Sehingga data tersusun kembali secara teratur
menurut proses dan pola tersebut.
- Contoh
Data : 8,4,5,2,7,9,6,3,1
Ascending : 1,2,3,4,5,6,7,8,9
Descending : 9,8,7,6,5,4,3,2,1
Salah satu metode pengurutan data adalah Bubble Sort, yaitu pengurutan data dengan cara
membandingkan suatu elemen data dengan elemen data berikutnya.
Ascending : bilamana Data acuan lebih besar dari pada data selanjutnya, maka kedua element
tersebut ditukar.
Descending : bilamana Data acuan lebih kecil dari pada data selanjutnya, maka kedua elemen
tersebut ditukar.
- Proses Algorithme Sorting Ascending(Penaikan)
Begin
i = jdata
i >=0
j=0
j <=i
data[j+1]<data[j]
tukar()
j++
i--
End
- Proses Algorithme Sorting Descending(Penurunan)
Begin
i = jdata
i >=0
j=0
j <=i
data[j+1]>data[j]
tukar()
j++
i--
End
- Code program Sorting Ascending dalam HTML
<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 bgcolor="green">
<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>