0% menganggap dokumen ini bermanfaat (0 suara)
128 tayangan32 halaman

Praktikum Struktur Data (HTML, JS) PDF

Dokumen tersebut berisi contoh program JavaScript dan HTML untuk mempelajari struktur data array dan penggunaannya untuk menampilkan bilangan, teks, dan menghitung penjumlahan serta perkalian bilangan. Terdapat 6 program contoh yang dijelaskan.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
128 tayangan32 halaman

Praktikum Struktur Data (HTML, JS) PDF

Dokumen tersebut berisi contoh program JavaScript dan HTML untuk mempelajari struktur data array dan penggunaannya untuk menampilkan bilangan, teks, dan menghitung penjumlahan serta perkalian bilangan. Terdapat 6 program contoh yang dijelaskan.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 32

Tugas praktikum

Mata Kuliah : Struktur Data

Dosen Pengampu : Bpk. Supriadi, S.T, M.Kom


Nama Mahasiswa : M. Miftah Hamdani

Jurusan : Teknik Informatika (S1)

Tingkat/Semester : I/II

1. HTML Dan JavaScript


HTML (Hyper Text Markup Language)adalah bahasa markup internet (web) berupa kode dan simbol
yang dimasukkan kedalam sebuah file yang ditujukan untuk ditampilkan didalam sebuah website.
Singkatnya, HTML adalah bahasa markup yang digunakan untuk membuat website.
JavaScript adalah sebuah bahasa komputer atau kode pemrograman yang digunakan pada website
agar website tersebut menjadi lebih interaktif dan dinamis
Program 1
Belajar cara menampilkan penjumlahan bilangan memakai html, berikut kode yang dipakai:

<html>
<head>
<title>Membuat Program</title>
<script type=text/JavaScript>
var a = 5;
var b = 6;
c = a + b;

document.write("Penjumlahan : "+a+" + "+b+" = "+c);


</script>
</head>

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

document.write("Penambahan (" +a+ " + " +b+ ") = " + tambah);


document.write("<BR>");
document.write("Perkalian (" +a+ " x " +b+ ") = " + kali);
</script>
</body>
</html>

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;

//proses data2 = kuadrat dari data\


data2[0] = data1[0] * data1[0];
data2[1] = data1[1] * data1[1];
data2[2] = data1[2] * data1[2];

//menampilkan isi array


for (k=0; k<data1.length; k++)
{
document.write(data1[k]+"<br>");
}

//menampilkan isi array


for (l=0; l<data2.length; l++)
{
document.write(data2[l]+"<br>");
}
</script>
</body>
</html>

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

for (x=0; x<7; x++)


{
document.write (nama_hari[x]+"<br>") ;
}
//-->
</script>
</head>
<body>

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

<!--

var DATA_KU = new Array ("Saya","Sedang","Senang") ;


for (i=0; i<3; i++)
{
document.write(DATA_KU[i] +"<br>") ;

}
document.write(DATA_KU[2]) ;

alert ("Selamat Belajar Struktur Data");


alert ("Semoga Memperoleh Ilmu Yang Bermanfaat");
//-->
</script>
</body>
</html>

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;

hasil[0] = angka[0] + bilangan[0];


hasil[1] = angka[1] + bilangan[1];
hasil[2] = angka[2] + bilangan[2];

for (i=0; i<hasil.length; i++)


{
document.write(hasil[i]+"<br>") ;
}
</script>
</body>
</html>

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>

<input type=text id=kotak><br>


<input type=button value=klik onclick='cari();tampil();'>

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

angka2[0] = angka1[0] * angka1[0];


angka2[1] = angka1[1] * angka1[1];
angka2[2] = angka1[2] * angka1[2];

for (i=0; i<angka2.length; i++)


{
document.write(angka2[i]+"<br>") ;
}

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

rekaman[0] = new buku("BK001", "Struktur");


rekaman[1] = new buku("BK002", "Data");

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

rekaman[0] = new pegawai("PGW001", "Iman");


rekaman[1] = new pegawai("PGW002", "Amin");

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>

<input type=button value=Simpan onclick='simpan();'>


<input type=button value=Lihat onclick='lihat();'>

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

rekaman[rekaman.length] = new mhs(isi_npm, isi_nama);

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

var yang_diambil = stack.pop();


document.write("Data Yang Diambil = "+yang_diambil+"<br>");
document.write("Isi Stack Terakhir = "+stack.toString());
</script>
</body>
</html>

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

Contoh implementasi stack adalah program mengkonversi bilangan desimal ke biner.

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

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>

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)

Linked list terbagi menjadi beberapa bagian, diantaranya :

Single Linked List

SLL adalah dimana sebuah komponen memiliki hubungan atau keterkaitan dengan
komponen setelahnya(hanya memiliki ekor/Tail) Contoh Program Single Linked List :

1. Deklarasi Awal Pembentukan Linked List:

function Linked List()


{
This._panjang = 0;
This._kepala = null;
}
2. Konstruksi (pembentukan) metode yang akan dimiliki oleh Linked List, yaitu:
• Tambah (untuk menambahkan Item/Node)
• Item (untuk menunjuk Item List berdasarkan Index)
• Buang (untuk membuang elemen linked list)
• Ukuran (menentukan jumlah elemen linked list)
• toArray (mengkonversi Linked list ke dalam susunan Array)
• toString (untuk menghasilkan susunan Array bertipe String
3. Pembentukan Metode dalam linked List dengan Prototype:

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

document.write("Isi LinkedList <br>");


document.write("--------------- <br>");
alert("ItemList 1 Sebelum Dibuang, yaitu = " + List.ItemList(0));
for (i=0; i<4; i++)
{
document.write(List.ItemList(i) + "<br>") ;
}
document.write("--------------- <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>");

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

Istilah – istilah lain dalam graph

- 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

- Contoh penggambaran Undirected Graph

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

- Contoh penggambaran Undirected graph dalam Matriks

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>

Anda mungkin juga menyukai