Senin, 10 Agustus 2009

Hemat Air

Air = water

Kalian pernah ga kelupaan nutup keran air? Pasti lah ya!! Mungkin hal semacam nie ga perlu dipusingkan, eits! Tapi ntar dulu! Tau ga? 2 menit lupa nutup keran air aja kita bisa ngisi 1 galon penuh air lho! Ih wooow! So what?

Coba deh hitung! Kalo 1 hari lupa nutup air selama 2 menit atou setara dengan 1 galon air, kita udah ngebuang duit Rp. 3500,- lha ko getu? Yaiya dundh! Org air minum isi ulang ja 1 galon ±Rp. 3500 ko!

2 menit = 1 galon = Rp. 3500 X 7hari = Rp. 24500,- /(7 galon)

Dah gitu rata-rata 1 kluarga ngabisin 1 galon ntu wat 3hari. Bayanginnn 1 minggu ngebuang 7 galon sama ja buang persediaan air untuk 21 hari!

Ntu baru itungan 1 orang untuk seminggu, lha dikali 1 bulan? 1 taon? Dengan jumlah penduduk yg segitu banyaknya. Alamaaaaak!!!! Sek sek..tak cari kalkulator dulu :p

Tapi buat sebagian orang siyh Rp. 28.000 mah kaga ngefek, tapi inget ga iklan yg semboyannya “terima kasih kita untuk semuanya”. Betapa sangat berartinya air bersih di daerah-daerah yg sulit air.

Sayang ga siyh? Yaea laaaah! Palagi sekarang buanyak kota yg wat nyari air bersih ja susah, lha kita yg udah tinggal buka keran ko malah dibuang-buang! Pernah baca buku karangan Masaru Emoto? Yg judulna “The True Power of Water”, nah dsitu djelasin bahwa air juga bisa ngerespon apa yg dilakukan manusia, air dapat menjadi Kristal yg sangat cantik jika di luar botolnya dikasih tulisan cinta kasih! Bentuknya jadi heksagonal. Sebaliknya kalo dikasih tulisan dengan kata-kata kasar air tersebut ga bisa membentuk Kristal cantik bernbentuk heksagonal.

Tapi biasanya kita tuh kae lagu Rhoma Irama! “Kalau sudah tiada, baru terasa! Sungguh kehadirannya amat berharga” maksudnya kalo udh kehilangan sesuatu baru deh ngerasain, ibarat air, kalo ude kemarow baru hemat2. Aiiiyooooo…

Naaaaaaah! Apakah sekarang kita masih mau buang-buang air?? (ups! Salah ngambil kalimat! Kalo ntu mah diare ya? Hehe.. :p muup) maksudna boros air gituuu,, yuk bareng2 mulee skrang kita hemat air! Ohooooiii….Tapi, jgn karena pengen hemat air trus kita jdi bkin program mandi 1 hari 1 kali! Jiaaaah! Ntu mah malez je! Ayey! :p


Minggu, 28 Juni 2009

Doubly Linked List

<html>
<head>
<title>Struktur Data Doubly 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>");


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



document.write("<br>Isi LinkedList Terakhir <br>");
document.write("--------------- <br>");
for (i=0; i<4; i++)
{
document.write(List.ItemList(i) + "<br>") ;
}
document.write("--------------- <br>");

//-->
</script>
</body>
</html>
<html>
<head>
<title>Struktur Data Doubly 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>");


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



document.write("<br>Isi LinkedList Terakhir <br>");
document.write("--------------- <br>");
for (i=0; i<4; i++)
{
document.write(List.ItemList(i) + "<br>") ;
}
document.write("--------------- <br>");

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

Tugas VB


Membuat Form Transaksi






Untuk membuat tampilan form seperti di atas, langkah-langkahnya adalah sebagai berikut:
:z :D :p









Aturlah propertiesnya seperti pada gambar di atas :D setelah itu rancang form (Sesuai Kebutuhan). Jika propertiesnya sudah di atur, maka giliran untuk memasukan kode program seperti di bawah ini:




Private Sub CmdBaru_Click()
Tharga.Text = ""
Tjumlah.Text = ""
Ttotal.Text = ""
Tttl.Text = ""
Tdiskon.Text = ""
Thbayar.Text = ""
Tpembayaran.Text = ""
Tkembalian.Text = ""
End Sub

Private Sub CmdHitung_Click()

If Cnama.Text = "Code: 001" Then
Tharga.Text = 25000
Else
If Cnama.Text = "Code: 002" Then
Tharga.Text = 28000
Else
If Cnama.Text = "Code: 003" Then
Tharga.Text = 30000
Else
If Cnama.Text = "Code: 004" Then
Tharga.Text = 35000
End If
End If
End If
End If

Ttotal.Text = Val(Tjumlah) * Val(Tharga)
Tttl.Text = Val(Ttotal) - Val(Tttl)
If Val(Tttl) > 50000 Then
Tdiskon.Text = 0.1 * Val(Tttl)
Else
Tdiskon = 0
End If
Thbayar = Val(Tttl) - Val(Tdiskon)
Ljumlah.Caption = Thbayar.Text

End Sub

Private Sub CmdKeluar_Click()
End
End Sub


Private Sub CmdKembalian_Click()
Tkembalian = Val(Tpembayaran) - Val(Thbayar)
Ljumlah.Caption = Tkembalian
If Val(Tkembalian) < caption = "KEKURANGAN">
Else Lucapan.Caption = "TERIMA KASIH"
End If
End Sub
Private Sub Form_Load()
Cnama.AddItem "Code: 001"
Cnama.AddItem "Code: 002" Cnama.AddItem "Code: 003"
Cnama.AddItem "Code: 004"
End Sub
Private Sub Tkembalian_Change()
Ljumlah.Caption = Tkembalian
End Sub
Private Sub CmdBaru_Click()
Tharga.Text = ""
Tjumlah.Text = ""
Ttotal.Text = ""
Tttl.Text = ""
Tdiskon.Text = ""
Thbayar.Text = ""
Tpembayaran.Text = ""
Tkembalian.Text = ""
End Sub
Private Sub CmdHitung_Click()
If Cnama.Text = "Code: 001" Then
Tharga.Text = 25000
Else
If Cnama.Text = "Code: 002" Then
Tharga.Text = 28000
Else
If Cnama.Text = "Code: 003" Then
Tharga.Text = 30000
Else
If Cnama.Text = "Code: 004" Then
Tharga.Text = 35000
End If
End If
End If
End If
Ttotal.Text = Val(Tjumlah) * Val(Tharga) Tttl.Text = Val(Ttotal) - Val(Tttl) If Val(Tttl) > 50000 Then
Tdiskon.Text = 0.1 * Val(Tttl)
Else
Tdiskon = 0
End If
Thbayar = Val(Tttl) - Val(Tdiskon)
Ljumlah.Caption = Thbayar.Text

End Sub

Private Sub CmdKeluar_Click()
End
End Sub


Private Sub CmdKembalian_Click()
Tkembalian = Val(Tpembayaran) - Val(Thbayar)
Ljumlah.Caption = Tkembalian
If Val(Tkembalian) < caption = "KEKURANGAN" caption = "TERIMA KASIH" caption =" Tkembalian">


Setelah memasukkan kode program, kemudian di running. jika berhasil maka jalannya form akan seperti berikut:

pilih nama barang
masukkan jumlah barang
klik hitung
jika berhasil maka form akan terisi oleh angka-angka,
setelah itu masukkan nominal uang pada kolom pembayaran
kemudian klik kembalian, maka akan muncul nominal hasil perhitungan.

Inilah hasil akhir form!!! horeeee :D :~ :~ :~ :~ :~ :~ :~ :~ :~








Selasa, 23 Juni 2009

Modul VII


Pengurutan Sort

A. Landasan Teori
Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu ataupun masih acak, sehingga tersusun secara teratur menurut aturan dan pola tertentu.



Contoh:
Data Acak : 1, 5, 6, 8, 1, 3, 25, 85
Ascending : 1, 1, 3, 5, 6, 8, 25, 85
Descending : 85, 25, 8, 6, 5, 3, 1, 1


Salah satu metode pengurutan data adalah Bubble Sort, yaitu mengurutkan data dengan
cara membandingkan elemen data sekarang (Acuan) dengan elemen berikutnya.

Pengurutan Ascending: Jika elemen sekarang lebih besar dari elemen berikutnya, maka kedua elemen tersebut ditukar.

Pengurutan Descending: Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar.

Ketika satu proses telah selesai, maka bubble sort akan mengulang proses, demikian seterusnya sampai dengan interaksi sebanyak n-1. Proses Algoritma Bubble Sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah di inginkan.


B. Contoh Program:

?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++)
{
iputData[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>
Masukkan Deretan Angka, Pisahkan Dengan Koma :
?hr>
?br> ?input type=text name=Data size=30 value="5, 6, 8, 12, 4, 8, 4, 20">
?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>


Selasa, 16 Juni 2009

GRAPH

GRAPH
<html>
<head><title>jkstra Algorithms</title>
<script>
<!--
alert ("Taet Dijkstra");
//-->

</script>
</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;
{
message("Jarak : " + Posisi[i]+' ('+Lintasan+') '+'<br>');
}
else
{
message("Tidak Ada Jalur")
}
}

function init(){
var x = NilaiAcuan
Matriks[0]=new Array(0, 2, 3, x, x, x)
Matriks[1]=new Array(2, 0, 3, 6, x, x)
Matriks[2]=new Array(3, 3, 0, 3, 5, x)
Matriks[3]=new Array(x, 6, 3, 0, 1, 3)
Matriks[4]=new Array(x, x, 5, 1, 0, 1)
Matriks[5]=new Array(x, x, x, 3, 1, 0)

var Awal='<pre>'
Awal = Awal + 'A--2-B-6--D--3-F'+'<br>'
Awal = Awal + ' \ / / '+'<br>'
Awal = Awal + ' 3 3 3 1 1 '+'<br>'
Awal = Awal + ' \ / / '+'<br>'
Awal = Awal + ' \/ / '+'<br>'
Awal = Awal + ' C--5-E '+'<br>'
Awal = Awal + '</pre>'

message(Awal.replace(/(\d)+/g, '<font color="red">$1</font>'));
}
init()
var Dari = 0 // A
var Ke = 5 // F
Dijkstra(Matriks.length,Dari,Ke);
//-->
</script>
</body>
</html>

Selasa, 19 Mei 2009

MODUL VI

SUSUNAN / DAFTAR DATA TERKAIT (LINKED LIST)
A. Landasan Teori

Linked list (Daftar Bertaut) adalah salah satu Struktur data dasar yang menggambarkan sekumpulan data yang saling terkait dengan ditandai dengan adanya Head sebagai kepala dari List, Pointer sebagai penghubung antar Node, serta Tail sebagai ujung dari List. Linked mirip dengan array, kecuali pada Linked list data yang ingin disimpan dapat dialokasikan secara dinamis pada saat pengoperasian program (run-time).
List terdiri dari:
  • Head (Kepala)
  • Pointer (Penunjuk)
  • Tail (Ujung)

Jenis-jenis linked List:

  • Linear Linked list (Searah)
  • Circular linked List (Searah)
  • Single Linked list
  • Double Linked List
B. Praktek
  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;
}

Blok Penulisan Kode:


<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, 15 Mei 2009

Take Ngorek

haduh haduh...UAS bentar lagi tapi tugas nya lum kelar juga :c tugas VB juga lum kepikiran mau bikin apa :t cerita ma kakak malah diceramahin!! 1 jam exlusive pula! just do it without complaining katanya teh! yang paling menguras air mata adalah tugas makalah ekonomi yang data-datanya pada ilang!! huaaaa...!!! :c mesti mulai dari awal lagi!! yeah yeah bersemangat!! :z :~

Kamis, 14 Mei 2009

Tambahan Record

Cara Membuat Messages Box dengan Record

?html>
?head>
?title> Membuat Rekaman Objek ?/title>
?/head>
?body>
?script language="JavaScript">
?!--
var Record = new Array();
function Mahasiswa (npm, nama, matkul, nilai_angka, nilai_huruf) {
// Properti
this.npm = npm;
this.nama = nama;
this.matkul = matkul;
this.nilai_angka = nilai_angka;
this.nilai_huruf = nilai_huruf;

// Metode

this.LihatRecordMahasiswa = LihatRecordMahasiswa;
}

function LihatRecordMahasiswa() {
document.write("?td>" + this.npm + "?/td>");
document.write("?td>" + this.nama + "?/td>");
document.write("?td>" + this.matkul + "?/td>");
document.write("?td>" + this.nilai_angka + "?/td>");
document.write("?td>" + this.nilai_huruf + "?/td>");
}

//mengisi data
for (I=1; I?=5; I++)
{
npm=window.prompt("NPM");
nama=window.prompt("Nama");
matkul=window.prompt("Matkul");
nilai_angka=window.prompt("Nilai Angka");

if (nilai_angka ?= 49)
{nilai_huruf = "E";}
else
{
if (nilai_angka ?= 59)
{nilai_huruf = "D";}
else
{
if (nilai_angka ?= 69)
{nilai_huruf = "C";}
else
{
if (nilai_angka ?= 79)
{nilai_huruf = "B";}
else

{nilai_huruf = "A";}


}}}

Record[I] = new Mahasiswa (npm, nama, matkul, nilai_angka, nilai_huruf);

}


//menampilkan data
document.write("?table border = '1'>");
document.write("?th>NPM?/th> ?th>Nama?/th>");
document.write("?th>Matkul?/th> ?th>Nilai Angka?/th> ?th>Nilai Huruf?/th> ?br>");

for (I=1; I ? Record.length; I++)
{
document.write("?tr>");
Record[I].LihatRecordMahasiswa();
document.write("?/tr>");
}
document.write("?/table> ?br>");


//-->

?/script>
?/body>
?/html>

MODUL V

ANTRIAN (QUEUE)


A. Landasan Teori

Antrian (Queue) adalh merupakan sekumpulan data terstruktur yang diolah dengan prinsip Pengolahan Data FIFO (First In First Out)


B. Praktek

  1. Queue ke 1

?html>
?head>
?title>Program Queue dengan shift dan unshift javascript?/title>
?script language="JavaScript">

function DataQueue()
{
var queue = [];
queue.unshift(1);
queue.unshift(2);

var i=queue.pop();
document.write(i+"?br/>");
queue.unshift(3);
queue.unshift(4);
var i = queue.pop();
document.write(i+"?br/>");
}

?/script>
?/head>

?body>
?form name="FormStrukturData">
?input name="btnQueue" value="Queue" type="button"
onclick="DataQueue();"/>
?/form>
?/body>
?/html>


2. Queue ke 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>

MODUL IV

TUMPUKAN (STACK)


A. Landasan Teori

Tumpukan (Stack) adlah sekumpulan data terstruktur yang diolah dengan prinsip Pengolahan Data LIFO (Last In First Out) Metode Penyimpanan Data ke dalam Stack secaraUmum dinamakan Push dan sebaliknya pengambilan data dari stack dinamakan pop

B. Praktek

  1. Program Ke 1

?html>
?head>
?title>Contoh Implementasi Push dan Pop pada Stack?/title>
?/head>
?body>
?script type = "text/javascript">
var stack= new Array;
stack.push("A");
stack.push("B");
stack.push("C");
document.write("Stack:"+stack.toString()+"?br>");
var YangDiAmbil=stack.pop();
document.write("Data Yang Diambil:"+YangDiAmbil);
document.write("?br>");
document.write("Isi Stack Terakhir:"+stack.toString());
?/script>
?/body>
?/html>

2. Program Ke 2


?html>
?head>
?title>Struktur Data Stack?/title>
?script language = "JavaScript">
var stack = new Array();
function Input_ke_Stack(data)
{
stack.push(data);
}


function Ambil_dari_Stack()
{
var data_dari_stack = stack.pop();
if (data_dari_stack== undefined)
return "Stack Sudah Kosong";
else
eturn data_dari_stack;
}


function TampilkanStack(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>
?form>
?input type=text name=textSimpan>
?input type=button value="Masukkan ke Stack"
onClick='Input_ke_Stack(textSimpan.value); textSimpan.value="";
TampilkanStack(mediaList);'>

?select name="mediaList" size=12>
?option>Tampilan data....
?/select>
?input type=text name=textAmbil size=20>
?input type=button value="Ambil dari Stack"
onClick="textAmbil.value = Ambil_dari_Stack(); TampilkanStack(mediaList);">
?/form>
?/body>
?/html>

MODUL III

RECORD


A. Landasan Teori

Record merupakan struktural data yang mengandung sekumpulan data atau fields yang berbeda jenis atau tipenya dan deklarasi Type record dapat dilakukan oleh user sendiri.


B. Praktek

Membuat Rekaman Objek


?html>
?head>
?title> Membuat Rekaman Objek ?/title>
?/head>
?body>
?script language="JavaScript">
?!--
var Record = new Array();
function Mahasiswa (npm, nama, prodi, jenjang) {
// Properti
this.npm = npm;
this.nama = nama;
this.prodi = prodi;
this.jenjang = jenjang;

// Metode

this.LihatRecordMahasiswa = LihatRecordMahasiswa;
}

function LihatRecordMahasiswa() {
document.write("?td>" + this.npm + "?/td>");
document.write("?td>" + this.nama + "?/td>");
document.write("?td>" + this.prodi + "?/td>");
document.write("?td>" + this.jenjang + "?/td>");
}

//mengisi data
Record[0] = new Mahasiswa ("43E001", "Dani", "TI", "SI");
Record[1] = new Mahasiswa ("43E001", "Doni", "TI", "SI");
Record[2] = new Mahasiswa ("43E001", "Dina", "TI", "SI");
Record[3] = new Mahasiswa ("43E001", "Dini", "TI", "SI");

//menampilkan data
document.write("?table border = '1'>");
document.write("?th>NPM?/th> ?th>Nama?/th>");
document.write("?th>Prodi?/th> ?th>Jenjang?/th> ?br>");

for (i=0; i ? Record.length; i++)
{
document.write("?tr>");
Record[i].LihatRecordMahasiswa();
document.write("?/tr>");
}
document.write("?/table> ?br>");

document.write("?table border = '1'>");
document.write("?th>NPM?/th> ?th>Nama?/th>");
document.write("?th>Prodi?/th> ?th>Jenjang?/th> ?br>");

for (i=0; i ? Record.length; i++)
{
document.write("?tr>");
Record[i].npm;
document.write("?/tr>");
}
document.write("?/table>");
//-->

?/script>
?/body>
?/html>


Program Entri Data Pegawai


?html>
?head>?title>Memanipulasi data pegawai?/title>
?script language = "javascript" type="text/javascript">
?!--
var DBPegawai = new Array();
function pegawai(Fields_NIP,
Fields_Nama,
Fields_Gaji_Per_Jam,
Fields_Jam_Kerja,
Fields_Gaji_Total)
{
this.NIP = Fields_NIP;
this.Nama = Fields_Nama;
this.Gaji_Jam = Fields_Gaji_Per_Jam;
this.Jam_Kerja= Fields_Gaji_Total;
}

function input pegawai()
{
var Nama,Gaji_Per_Jam,Jam_Kerja,Gaji;
while ( NIP = window.prompt("Ketikan NIP (Nomor Induk Karyawan)
\n\n Click 'cancel' untuk Berhenti !!."))
{
Nama = window.prompt("Nama Pegawai :");
Gaji_Per_Jam = parseInt(window.prompt("Gaji Per Jam:"));
Jam_Kerja = parseInt(window.prompt("Jumlah Jam Kerja:"));
Gaji = Gaji_Per_Jam * Jam_Kerja;
DBPegawai[DBPegawai.length] = new Pegawai(NIP,Nama,Gaji_Per_Jam,Jam_Kerja,Gaji);
}
ShowPegawai();
}
function ShowPegawai(){
document.write("?table border='1'>" +
"?tr>" +
"?th>NIP?/th>?th>Nama?/th>?th>Gaji Per Jam?/th>?th>Jam Kerja?/th>"+
"?th>Gaji Total?/th>" +
"?/tr>");

for (i=0; i ? DBPegawai.length; i++) {
document.write ("?tr>" +
" ?td>" + DBPegawai[i].NIP + "?/td>
" ?td>" + DBPegawai[i].Nama+ "?/td>" +
" ?td align='right'>"+ DBPegawai[i].Gaji_Jam + "?/td>" +
" ?td align='right'>"+ DBPegawai[i].Jam_Kerja + "?/td>" +
" ?td align='right'>"+ DBPegawai[i].Gaji_Total + "?/td>" +
" ?/tr>");
}
document.write("?/table>");
}
//-->
?/script>
?/head>
?/body onload ="input Pegawai();">
?/body>
?/html>

Memanipulasi data pegawai






MODUL II

ARRAY


A. Landasan Teori

Array adalah sekumpuan data atau Struktur data yang memiliki tipe dsat yang sama dan diakses berdasarkan Indeks. Hampir disetiap bahasa pemrograman disediakan fasilitas untuk mendeklarasikan dan mengolah struktur data Array.

Jenis-jenis array berdasarkan sifatnya:

1. Array statis

2. Array dinamis

jenis-jenis Array berdasarkan dimensi ruangnya:

1. Array 1 Dimensi

2. Array 2 Dimensi

3. Array 3 Dimensi

B. Praktek

B.1 Pendeklarasian Array dalam javaScript

sintaks untuk array 1 dimensi

1. nama_array = new Array (elemen_1, s.d elemen_n)

2. nama_array = (elemen_1, s.d elemen_n)

B.2 Implementasi Dalam Program


?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>");
}
alert ("Selamat Belajar Struktur Data");
alert ("Semoga Memperoleh Ilmu yang Bermanfaat");
//-->
?/script>
?/body>
?/html>
======================================

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

MODUL I

TIPE DATA



A. Tipe data

Merupakan kelompok data yang membedakan satu denagn yang lainnya, Tipe data umum adalah sebagai berikut:

1. Numeric (Bilangan)

Dibagi dalam 2 Kelompok besar, yaitu Integer (Bilangan bulat) dan real (Bilangan pecahan). Untuk Bilangan Bulat dikenal dengan basis bilangan Biner, Oktal, Desimal dan Hexadesimal, sedangkan Bilangan pecahan biasanaya mengguanakan simbol Eksponen ("e"/"E"), contoh: 1.2 x 10³=1.2 + 03.

2. string (Gabunghan kata)

a. Dalam javaScript ditulis diantara tranda petik ganda

b. Beberapa karakter Khusus dalam JS:

1. \a: Membangkitkan suara (Speaker Komputer)

2. \b: Menggeser kursor ke kiri

3. \n: Pindah baris

3. Boolean (Logika)

Tipe data yang terdiri dari 2 kondisi, benar (True) dan salah (false).

4. Tipe data Bentukan

Tipe data yang berasal dari dari diturunkannya tipe data primitif (Bilangan, String dan Boolean contohnya adalah:

1. Array

2. Record

Untuk Memanipulasi data diperlukan Operator, yaitu:

1. Operator matematika: Penjumlahan (+), Pengurangan (-), Perkalian (*), Pembagian (/), Modulus (%)

2. Operator Binary digit: Dan (&), Atau (l), Atau (^), Negasi (~), Geser Kiri (<<) dan Geser kanan (>>)

3. Operator Pembanding: Sama dengan (==), Tidak Sama dengan (!=), Kurang dari (<), Lebih Besar dari (>), kurang dari atau sama dengan (<=) dan Lebih Besar dari atau sama dengan (>=).




Contoh Praktek:

1. Program Menambahkan 2 Bilangan


?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);
document.write("?BR>");
//-->
?/script>
?/body>
?/html>


2. Program Konversi Antar Bilangan


?html>
?head>
?title>Konversi Antar Sistem Bilangan?/title>
?/head>
?body>
?script language="JavaScript">
?!--
var bil=new Number(25);


document.write("Bilangan Desimal: "+bil+"?BR>");
document.write("?HR>");
document.write("Biner: "+bil.toString(2)+"?BR>");
document.write("Oktal: "+bil.toString(8)+"?BR>");
document.write("Heksa: "+bil.toString(16)+"?BR>");
//-->
?/script>
?/body>
?/html>


3. Membuat Function Untuk Menambahkan Bilangan


?html>
?head>
?title>Membuat Fungsi Matematika Dengan JavaScript?/title>
?/head>
?body>
?script language="JavaScript">
?!--
function jumlah (x, y) {
var hasil = x+y;
return (hasil);
}
var a = parseInt(prompt("Ketikan Bilangan A = \n Ingat Jangan String"));
var b = parseInt(prompt("Ketikan Bilangan B = \n Ingat Jangan String"));
var z = jumlah (a, b);

document.write(z);
document.write("?BR>");
document.write("?HR>");
document.write("Tipe Datanya adalah = " + typeof(z));
//-->
?/script>
?/body>
?/html>

MODUL PRAKTEK

Tujuan Instruksional Umum:

Agar Mahasiswa dapat mengetahui bagaimana cara penyimpanan, penyusunan, pemrosesan dan pengaturan data di dalam media penyimpanan komputer, serta bagaimana mencari data yang telah direkam sehingga data tersebut dapat dipergunakan secara efisien.

Silabus materi:

  1. Tipe Data dan Manipulasinya
  2. Struktur Data Array
  3. Struktur Data Record (Rekaman) / Stack (Struktur)
  4. Struktur Data Stack (Tumpukan)
  5. Struktur Data Queue (Antrian) dan Struktur data Queue (Antrian Berprioritas)
  6. Struktur Data List (Daftar/Susunan) / Link List
  7. Struktur Data Graph (Susunan Grafis)
  8. Struktur Data Tree (Susunan Pohon)
  9. Sort (Pengurutan data)
  10. Searching (Pencarian data)

Dalam Modul ini penulis menggunakan Java Script (Bukan java), yaitu suatu script yang dikembangkan dari C++ dan jalan pada sisi Client apabila dikaitkan dengan pengembangan WEB dan selanjutnya dapat dipadukan dengan XMLHttpRequest untuk berinteraksi dengan server secara Asyncronous (bermain dibelakang layar) yang lebih dikenal dengan AJAX (Asyncronous javaScript And XML).