hehe belajar dikit_dikit / hidup persib lah / linkedlist---->

Senin, 29 Juni 2009

kanggo latihan uas

?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("3");
list.Tambah("2");
list.Tambah("1");
list.Tambah("4");


document.write("Isi Linked List ?br>");
document.write("--------------- ?br>");
for (i=0; i?4; i++)
{
document.write(list.Item(i) + "?br>");
}
document.write("--------------- ?br>");

document.write("Isi Linked List Awal = " +list.Ukuran() + "?br>");
document.write ("?br>")


document.write("Isi Linked List to Array =" +list.toArray());
document.write ("?br>")


document.write("Data String Linked List Awal =" +list.toString());



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 (toArray, Angka)
{
if ((toArray.length - 1) >= Angka)
return (toArray[Angka] + "," + DataString(toArray,(Angka +

1)));
else
return "";
}

function bubbleSort (toArray, Mulai, MulaiBaru)
{
for (var i = MulaiBaru - 1; i >= Mulai; i--)
{
for (var j = Mulai; j ?= i; j++)
{
if (toArray[j+1] ? toArray[j])
{
var DataTemporer = toArray[j];
toArray[j] = toArray[j+1];
toArray[j+1] = DataTemporer;
}
}
}

return toArray;
}




?/script>



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

Sort

?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="5,6,8,5,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>

Graph

?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 pred = new Array(JumlahVerteks);

for(i=0; i?JumlahVerteks; i++)
{
Posisi[i] = NilaiAcuan;
pred[i] = TakTerdefinisi;
Kunjungan[i] = false;
}
Posisi[Awal] = 0;

var Verteks;
for (Verteks = 0; Verteks ? JumlahVerteks; Verteks++)
{
var JarakTerpendek = NilaiAcuan, closest = -1;
for (i=0; i ? JumlahVerteks; i++)
{
if (!Kunjungan[i])
{
if (Posisi[i] ?= JarakTerpendek)
{
JarakTerpendek = Posisi[i]; closest = i;
}
}
}

Kunjungan[closest] = true

for (i=0; i ? JumlahVerteks; i++)
{
if (!Kunjungan[i])
{
var w = Bobot(closest, i);
if (Posisi[closest]+w ? Posisi[i])
{
Posisi[i] = Posisi[closest] + w;
pred[i] = closest;
}
}
}
}


i=d
if (Posisi[i] ? NilaiAcuan)
{
var Lintasan = NamaVerteks[i];
var Verteks = i;
while (Verteks>0)
{
Verteks = pred[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>

Double LinkedList

?html>
?head>?title>Struktur Data Linked List?/title>?/head>
?body>
?script language = "javascript">
?!--

function DoubleLinkedList()
/
this._panjang = 0;
this._kepala = null;
this._ekor = null;
}

DoubleLinkedList.prototype =
/
constructor:DoubleLinkedList,


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




toString: function()
/
return this.toArray().toString();
}
}
var list = new DoubleLinkedList();

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 Linked List Awal =" +list.ItemList(0));
alert("Item 1 pada Linked List dibuang, yaitu = "+list.ItemList(1));
list.Buang(1);

document.write ("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>

Jumat, 19 Juni 2009

Linked list setelah ditambah function toArray dan toString

Linked list setelah ditambah function toArray dan toString

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

document.write("Isi Linked List Sebelum di Buang = " +list.Ukuran() +

"?br>");
document.write ("?br>")

document.write("Isi Linked List Awal =" +list.toArray());
document.write ("?br>")

document.write("Data String Linked List Awal =" +list.toString());

alert("Isi Linked List Awal =" +list.Item(0));
alert("Item 1 Pada Linked List dibuang, Yaitu =" +list.Item(1));
list.Buang(1);


document.write ("?br>")
document.write ("?br>")
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>");

document.write("Isi Linked List Setelah di Buang = " +list.Ukuran() +

"?br>");

document.write("Isi Linked List Terakhir =" +list.toArray());
document.write ("?br>")
document.write("Data String Linked List Terakhir =" +list.toString());
??script>
??body>
??html>

Rabu, 20 Mei 2009

LinkedList_prototype

?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 === nul)
{
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 Element 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 Element List
Ukuran: function()
{
prototype Ukuran
},

//Membuat Metode Untuk Membentuk Array
toArray: function()
{
var result = [],
NodeTanda = this._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("Computer Networking");

document.write("Isi LinkedList ?br>");
document.write("----------------- ?br>");
for (i=0; i?4; i++)
{
document.write(list.Item(i) + "?br>") ;
}
document.write("----------------- ?br>");

alert("Isi LinkedList Awal =" + list.Item(0);
alert("Item 1 pada Linked list dibuang, yaitu = " +list.Item(1));
list.Buang(1);

document.write("Isi LinkedList Terakhir ?br>");
document.write("----------------- ?br>");
for (i=0; i?4; i++)
{
document.write(list.Item(i) + "?br>") ;
}
document.write("----------------- ?br>");

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

Sabtu, 16 Mei 2009

queue2

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

Queue1.

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

Senin, 20 April 2009

program kalender & jam digital

$script>
setCal()

function getTime() {
// initialize time-related variables with current time settings
var now = new Date()
var hour = now.getHours()
var minute = now.getMinutes()
now = null
var ampm = ""

// validate hour values and set value of ampm
if (hour >= 12) {
hour -= 12
ampm = "PM"
} else
ampm = "AM"
hour = (hour == 0) $ 12 : hour

// add zero digit to a one digit minute
if (minute $ 10)
minute = "0" + minute // do not parse this number!

// return time string
return hour + ":" + minute + " " + ampm
}

function leapYear(year) {
if (year % 4 == 0) // basic rule
return true // is leap year
/* else */ // else not needed when statement is "return"
return false // is not leap year
}

function getDays(month, year) {
// create array to hold number of days in each month
var ar = new Array(12)
ar[0] = 31 // January
ar[1] = (leapYear(year)) $ 29 : 28 // February
ar[2] = 31 // March
ar[3] = 30 // April
ar[4] = 31 // May
ar[5] = 30 // June
ar[6] = 31 // July
ar[7] = 31 // August
ar[8] = 30 // September
ar[9] = 31 // October
ar[10] = 30 // November
ar[11] = 31 // December

// return number of days in the specified month (parameter)
return ar[month]
}

function getMonthName(month) {
// create array to hold name of each month
var ar = new Array(12)
ar[0] = "January"
ar[1] = "February"
ar[2] = "March"
ar[3] = "April"
ar[4] = "May"
ar[5] = "June"
ar[6] = "July"
ar[7] = "August"
ar[8] = "September"
ar[9] = "October"
ar[10] = "November"
ar[11] = "December"

// return name of specified month (parameter)
return ar[month]
}

function setCal() {
// standard time attributes
var now = new Date()
var year = now.getYear()
if (year $ 1000)
year+=1900
var month = now.getMonth()
var monthName = getMonthName(month)
var date = now.getDate()
now = null

// create instance of first day of month, and extract the day on which it occurs
var firstDayInstance = new Date(year, month, 1)
var firstDay = firstDayInstance.getDay()
firstDayInstance = null

// number of days in current month
var days = getDays(month, year)

// call function to draw calendar
drawCal(firstDay + 1, days, date, monthName, year)
}

function drawCal(firstDay, lastDate, date, monthName, year) {
// constant table settings
var headerHeight = 50 // height of the table's header cell
var border = 2 // 3D height of table's border
var cellspacing = 4 // width of table's border
var headerColor = "midnightblue" // color of table's header
var headerSize = "+3" // size of tables header font
var colWidth = 60 // width of columns in table
var dayCellHeight = 25 // height of cells containing days of the week
var dayColor = "darkblue" // color of font representing week days
var cellHeight = 40 // height of cells representing dates in the calendar
var todayColor = "red" // color specifying today's date in the calendar
var timeColor = "purple" // color of font representing current time

// create basic table structure
var text = "" // initialize accumulative variable to empty string
text += '$CENTER>'
text += '$TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing + '>' // table settings
text += '$TH COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header cell
text += '$FONT COLOR="' + headerColor + '" SIZE=' + headerSize + '>' // set font for table header
text += monthName + ' ' + year
text += '$/FONT>' // close table header's font settings
text += '$/TH>' // close header cell

// variables to hold constant settings
var openCol = '$TD WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>'
openCol += '$FONT COLOR="' + dayColor + '">'
var closeCol = '$/FONT>$/TD>'

// create array of abbreviated day names
var weekDay = new Array(7)
weekDay[0] = "Sun"
weekDay[1] = "Mon"
weekDay[2] = "Tues"
weekDay[3] = "Wed"
weekDay[4] = "Thu"
weekDay[5] = "Fri"
weekDay[6] = "Sat"

// create first row of table to set column width and specify week day
text += '$TR ALIGN="center" VALIGN="center">'
for (var dayNum = 0; dayNum $ 7; ++dayNum) {
text += openCol + weekDay[dayNum] + closeCol
}
text += '$/TR>'

// declaration and initialization of two variables to help with tables
var digit = 1
var curCell = 1

for (var row = 1; row $= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
text += '$TR ALIGN="right" VALIGN="top">'
for (var col = 1; col $= 7; ++col) {
if (digit > lastDate)
break
if (curCell $ firstDay) {
text += '$TD>$/TD>';
curCell++
} else {
if (digit == date) { // current cell represent today's date
text += '$TD HEIGHT=' + cellHeight + '>'
text += '$FONT COLOR="' + todayColor + '">'
text += digit
text += '$/FONT>$BR>'
text += '$FONT COLOR="' + timeColor + '" SIZE=2>'
text += '$CENTER>' + getTime() + '$/CENTER>'
text += '$/FONT>'
text += '$/TD>'
} else
text += '$TD HEIGHT=' + cellHeight + '>' + digit + '$/TD>'
digit++
}
}
text += '$/TR>'
}

// close all basic table tags
text += '$/TABLE>'
text += '$/CENTER>'

// print accumulative HTML string
document.write(text)
}
$/script>
$p align="center">$font face="arial" size="-2">This free script provided by$/font>$br>
$font face="arial, helvetica" size="-2">$a href="http://javascriptkit.com">JavaScript
Kit$/a>$/font>$/p>

Latihan_Stack

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

Stack

$html>
$head>
$title>Struktur Fata 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
return 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="Masukan ke Stack"
OnClick='Input_ke_Stack(textSimpan.value);
textSimpan.value="";
TampilkanStack(mediaList);'>

$select name="mediaList" Size=25>
$option>Tampilkan 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>

Rabu, 25 Maret 2009

array taufik

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

Selasa, 03 Februari 2009

Aplikasi Teknologi Komputer dalam Pembelajaran Fisika

PENDAHULUAN
Media pembelajaran merupakan salah satu komponen pendukung keberhasilan proses belajar mengajar (Sunarno, 1998). Komputer termasuk salah satu media pembelajaran. Pengunaan komputer dalam pembelajaran merupakan aplikasi teknologi dalam pendidikan. Pada dasarnya teknologi dapat menunjang proses pencapaian tujuan pendidikan. Namun sementara ini, komputer sebagai produk teknologi khususnya di sekolah-sekolah kurang dimanfaatkan secara optimal, hanya sebatas word processing saja. Kini yang perlu diperhatikan adalah bagaimana menjadikan teknologi (komputer) dapat bermanfaat bagi kemajuan pendidikan.

Di lapangan, sistem penyajian (materi) melalui komputer dapat dilakukan melalui berbagai cara, seperti : hyperteks, simulasi–demontrasi ataupun tutorial. Tiap-tiap sistem memiliki keistimewaan masing–masing. Sangat menarik jika keunggulan masing–masing sistem tersebut digabungkan ke dalam satu bentuk model yang dapat digunakan dalam pembelajaran sehingga proses belajar mengajar akan lebih berkesan dan bermakna.

Pengajaran fisika berbantuan komputer dapat dibuat lebih menarik lagi dengan menggunakan program adobe flash, Microsoft office excel, photoshop, corelDRAW yang kemudian dipadukan dalam program powerpoint. Program-program ini yang dapat memberi kesan gambar tiga dimensi, warna yang lebih tajam, animasi dan simulasi yang dipadukan dengan teks dan suara. Sehingga gejala-gejala fisis dapat ditampilkan dengan lebih menarik dan berkesan. Penggunaan komputer ini diharapkan dapat menjadi salah satu alat untuk menyusun dan mengembangkan bahan ajar yang menarik, inovatif dan merangsang serta menantang rasa ingin tahu siswa yang kemudian dapat meningkatkan hasil belajar siswa.

TINJAUAN PUSTAKA
Belajar adalah suatu proses yang kompleks yang dapat terjadi pada diri setiap orang sepanjang hidupnya, proses belajar itu terjadi karena interaksi antara seseorang dengan lingkungannya. Oleh karena itu, belajar dapat terjadi kapan saja dan di mana saja. Apabila proses belajar itu diselenggarakan secara formal di sekolah-sekolah, tidak lain dimaksudkan untuk mengarahkan perubahan pada diri siswa secara terencana, baik dalam aspek pengetahuan, keterampilan, maupun sikap.
Selain guru dituntut untuk mencerdaskan siswa sebagai manusia yang berwawasan dan intelek, guru juga sebagai tenaga pendidik dituntut agar mampu menggunakan alat dan bahan yang tersedia dan berhubungan dengan kegiatan proses belaja mengejar di sekolah secara profesional, kreatif, dan bertangungjawab. Untuk itu dibutuhkan seorang guru yang harus memeiliki pengetahuan dan kemampuan yang cukup utamanya dalam hal media pembelajaran, yang meliputi :
1. Media sebagai alat komunikasi
2. Fungsi media dalam rangka mencapai tujuan pendidikan
3. Hubungan antara metode mengajar dan media pembelajaran
4. Manfaat media pembelajaran
5. Pemilihan dan penggunaan media pembelajaran

A. Komputer dalam Pembelajaran
Kegunaan utama komputer adalah untuk simulasi, penanganan data, teknologi informasi dan pengolahan kata. Melalui pemrograman, komputer mampu mem-visualisasikan materi-materi pelajaran yang sulit untuk disajikan, terutama mengenai fenomena fisis yang bersifat abstrak, misalnya gerak parabola, penjalaran gelombang, gerak lurus beraturan, gerak melingkar beraturan, arus listrik, medan magnet, medan listrik, peristiwa elektrolisis dan sebagainya. Dengan bantuan komputer, gejala-gejala fisis yang sulit dapat divisualisasikan ke hadapan siswa. Peran komputer dalam pembelajaran menurut http://www.geocities.com/wan%20noormahzira/kajianpp4. html (2003): 1). Komputer sebagai pakar yang dirujuk (seperti pengajar) dikenal dengan istilah ‘Komperu’; 2). Komputer sebagai pembimbing/tutor; 3). Komputer sebagai penyimpan data akademik (Administrator); 4). Komputer sebagai penyelia dan pemeriksa.

Menurut Heinich. et al. (1996) aplikasi komputer sebagai alat bantu proses belajar memberikan beberapa keuntungan, diantaranya : kemampuan dalam memberikan feedback yang segera. Hal ini, memungkinkan siswa untuk dapat belajar sesuai dengan kemampuan dan kecepatannya masing-masing dalam memahami pengetahuan dan informasi yang disajikan. Adanya keleluasaan memilih urutan kegiatan belajar sesuai dengan kebutuhan.Keuntungan lainnya adalah mampu menghemat waktu dan biaya. Contohnya adalah program komputer simulasi untuk melakukan percobaan/eksperimen pada bidang studi sains dan teknologi. Penggunaan program simulasi dapat mengurangi biaya bahan dan peralatan percobaan. Selain dapat merekam hasil belajar (record keeping), memeriksa dan memberikan skor hasil belajar secara otomatis, juga mampu memberikan preskripsi atau saran siswa untuk melakukan kegiatan belajar tertentu. Kelebihan komputer dalam mengintegrasikan komponen warna, musik dan animasi grafik (graphic animation) menyebabkan komputer mampu menyampai-kan informasi dan pengetahuan dengan tingkat realisme yang tinggi. Wardiman Djojonegoro (dalam Sunarno, 1998) mengatakan bahwa "Sudah waktunya untuk menjajaki penggunaan berbagai media pengajaran seperti komputer yang dengan kemampuan visualisasi dan animasinya telah terbukti efektif membantu pemahaman konsep-konsep yang sulit dan abstrak.”

B. Konsep Dasar Media Pembelajaran
Dalam arti umum, media merupakan semua bentuk perantara yang dipakai orang sebagai penyebar ide sehingga gagasan tersebut sampai kepada penerima. Sementara itu media juga merupakan saluran (channel) yang dapat memperluas kemampuan manusia untuk melihat, mendengar, merasakan, yang semula sangat terbatas. (Santosa; Mc. Luhan; Blake dan Horal; dalam Ruseffendi, 1982).
Pengertian media pembelajaran tidak jauh berbeda dengan pengertian media dalam proses komunikasi. Menurut Schramm (Prastati, 2001), media pembelajaran dapat diartikan sebagai teknologi pembawa pesan (informasi) yang dapat dimanfaatkan untuk keperluan pembelajaran. Sedangkan menurut Briggs (Prastati, 2001) media pembelajaran diartikan sebagai sarana untuk menyampaikan isi/materi pembelajaran. Sarana yang dimaksud dapat berupa perangkat keras maupun perangkat lunak. Sarana pembelajaran yang berupa perangkat keras antara lain adalah papan tulis, penggaris, jangka, timbangan, dan kartu permainan bilangan. Sedangkan contoh sarana yang dikategorikan sebagai perangkat lunak antara lain adalah lembar kerja siswa, lembar tugas, petunjuk permainan matematika, dan program-program komputer.
Beberapa jenis media pembelajaran berbasis komputer, diantaranya adalah :
1. Media Presentasi Pembelajaran (MPP)
MPP adalah alat bantu guru dalam menunjang proses pembelajaran di kelas. Media ini berisi pokok-pokok materi yang diajarkan. Dalam penggunaannya diperlukan improvisasi dari guru dalam transformasi materi ke siswa. Supaya media ini dapat dipelajari oleh pengguna lain, perlu disertakan bahan/uraian materi yang disajikan secara terpisah dari karya MPP.
2. VCD Media Pembelajaran (VMP)
VMP adalah materi pelajaran yang dikemas secara audio-visual yang merupakan hasil proses kreatif (shooting) .
3. Software Pembelajaran Mandiri (SPM)
SPM adalah bahan belajar yang dimanfaatkan oleh siswa dalam proses pembelajaran secara mandiri sehingga peran guru tidak dominan. Dalam media ini kedalaman materi dan interaktivitas media diharapkan mampu memunculkan stimulus dan respon siswa
Dari berbagai pendapat tentang arti media pembelajaran, dapat disimpulkan bahwa pada dasarnya adalah alat, metode, dan teknik yang digunakan dalam rangka lebih mengefektifkan komunikasi dan interaksi antara guru dan siswa dalam proses pembelajaran. Dengan kata lain, media pendidikan adalah perangkat lunak (software) dan atau perangkat keras (hardware) yang berfungsi sebagai alat belajar atau alat bantu belajar.
Leshin, dkk(1992) menggolongkan media pembelajaran menjadi empat bagian yaitu media berbasis manusia (guru, instruktur, tutor, main peran, kegiatan kelompok, dan lain-lain), media berbasis cetakan (buku, penuntun, buku kerja/latihan, dan lembaran lepas), media berbasis visual (buku, charts, grafik, peta, figur/gambar, transparansi, film bingkai atau slide), media berbasis audio-visual (video, film, slide bersama tape, televisi), dan media berbasis komputer (pengajaran dengan bantuan komputer dan video interaktif). Pembahasan lebih lanjut akan dibatasi hanya pada media berbasis komputer.
Komputer dewasa ini memiliki kemampuan untuk menggabungkan dan mengendalikan berbagai peralatan lainnya, seperti CD player, video tape, dan audio tape. Di samping itu, komputer dapat merekam, menganalisis, dan memberi reaksi kepada respon yang diinput oleh pemakai atau siswa.
Komputer adalah hasil teknologi modern yang membuka kemungkinan yang besar sebagai alat pendidikan. Dewasa ini komputer memiliki fungsi yang berbeda-beda dalam bidang pendidikan dan latihan. Komputer berperan sebagai manajer dalam proses pembelajaran yang dikenal dengan Computer-Managed Instruction (CMI). Ada pula peran komputer sebagai pembantu tambahan dalam belajar; pemanfaatannya meliputi penyajian informasi isi materi pelajaran, latihan, atau kedua-duanya. Modus ini dikenal sebagai pengajaran dengan bantuan komputer (Computer-assisted Instruction-CAI). CAI mendukung pengajaran dan pelatihan akan tetapi ia bukanlah penyampai utama materi pelajaran. Komputer dapat menyajikan informasi dan tahapan lainnya disampaikan bukan dengan media komputer.
Dengan menggunakan perangkat lunak, komputer dapat digunakan untuk membuat program belajar-mengajar yang memungkinkan dilaksanakannya berbagai kegiatan seperti presentase informasi dalam bentuk teks, grafik, simulasi, animasi, latihan-latihan, umpan balik langsung, instruksi yang bersifat individual sesuai dengan kemajuan belajarnya, dan lain-lain.
Komputer juga dapat digunakan untuk menampilkan konsep-konsep fisika yang abstrak menjadi nyata melalui visualisasi statis maupun dengan visualisasi dinamis (animasi). Melalui animasi dapat dibuat suatu konsep yang lebih menarik sehingga menambah motivasi untuk mempelajari fisika.
Saat ini ada beberapa bahasa pemprograman dan program aplikasi yang dapat dipergunakan untuk pembuatan program animasi, antara lain Turbo Pascal, Basic, Fortran dan lain-lain. Bahasa-bahasa pemprograman tersebut dapat dipergunakan untuk pembuatan animasi namun hasilnya kurang baik. Oleh sebab itu, perlu dilakukan penyempurnaan yaitu dengan melakukan analisa dan mencari model pembuatan animasi lain. Salah satu model animasi yang dapat digunakan adalah dengan menggunakan adobe Flash. Namun di samping itu, flash juga mempunyai kekurangan seperti untuk membuat animasi yang kompleks tentu memerlukan waktu, untuk membuat navigasi tentu perlu memahami actionscript.

C. Animasi Fisika
Sudah menjadi pendapat umum bahwa fisika merupakan salah satu mata pelajaran yang kurang diminati. Salah satu penyebabnya adalah fisika banyak mempunyai konsep yang bersifat abstrak sehingga sukar membayangkannya. Oleh sebab itu banyak siswa yang langsung saja bekerja dengan rumus-rumus fisika tanpa mencoba berusaha untuk mempelajari latar belakang falsafah yang mendasarinya.
Bila saja konsep-konsep yang bersifat abstrak itu dapat dibuat menjadi nyata sehingga mudah ditangkap oleh pancaindera, maka masalahnya akan sangat berbeda. Dalam usaha ke arah itu, maka mata pelajaran fisika didampingi dengan praktikum fisika, namun tidak semua masalah fisika dapat disimulasikan di laboratorium, lebih lagi penggunaan laboratorium terbatas hanya di sekolah.
Dalam fisika ada dua gejala yang dapat divisualisasikan, yaitu (1) yang berkaitan dengan gerak seperti gejala gelombang, gerak elektron-elektron di dalam atom, gerak molekul-molekul gas dalam wadah ketika dipanaskan, dan lain sebagainya; (2) yang berkaitan dengan gerak seperti garis gaya listrik, pola interferensi, difraksi, dan lain sebagainya (Soegeng: 1994).
Mengingat fisika merupakan konsep yang relatif abstrak, maka animasi terhadap konsep yang abstrak dapat membantu memudahkan penyerapan fisika oleh pengguna.

DAFTAR PUSTAKA
Arsyad, Azhar. 2004. Media Pembelajaran. Edisi 1, Cetakan Ke-5. Jakarta: PT Grafindo Persada. Jakarta.

Astuti, Dwi. 2006. Teknik Membuat Animasi Professional Menggunakan Macromedia Flash 8. Yogyakarta: ANDI Offset.

Ishaq. 2001. Pembuatan Bahan Ajar Fisika SMU Unit Dinamika Gerak Lurus Dengan Bahasa Pemprograman Turbo Pascal. Skripsi. UNM. Makassar.

Powered by: Blogger | Designed by Ismail | Copyright 2008 © All rights reserved.