Rabu, 24 Juni 2009

Kalender

<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 >= 24) {
hour -= 24
} else
hour = (hour == 0) ? 24 : 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 // Januari
ar[1] = (leapYear(year)) ? 29 : 28 // Pebruari
ar[2] = 31 // Maret
ar[3] = 30 // April
ar[4] = 31 // Mei
ar[5] = 30 // Juni
ar[6] = 31 // Juli
ar[7] = 31 // Agustus
ar[8] = 30 // September
ar[9] = 31 // Oktober
ar[10] = 30 // November
ar[11] = 31 // Desember

// 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] = "Januari"
ar[1] = "Pebruari"
ar[2] = "Maret"
ar[3] = "April"
ar[4] = "Mei"
ar[5] = "Juni"
ar[6] = "Juli"
ar[7] = "Agustus"
ar[8] = "September"
ar[9] = "Oktober"
ar[10] = "November"
ar[11] = "Desember"

// 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 = 15// 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 = 10 // width of columns in table
var dayCellHeight = 5 // height of cells containing days of the week
var dayColor = "darkblue" // color of font representing week days
var cellHeight = 5 // 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] = "Minggu"
weekDay[1] = "Senin"
weekDay[2] = "Selasa"
weekDay[3] = "Rabu"
weekDay[4] = "Kamis"
weekDay[5] = "Jumat"
weekDay[6] = "Sabtu"

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

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

Rabu, 17 Juni 2009

Graph

<html>
<head>
<title>Dijkstra Algoritms </title>
<script>
<!--
alert("Taet Dijkstra");
//-->
</script>
</head>
<body>
<script language = "javascript">

var NilaiAcuan =10000
var TakTerdefinisi=-1
var Nama Verteks =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 =new Array(JumlahVerteks)
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 Lintangan = NamaVerteks [i];
var Verteks = i;
while (Verteks>0)
{
Verteks = Sebelum[Verteks];
if (Verteks>=0) Lintasan = NamaVereteks [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>

DoublyLinkedList

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

DoublyLinkedList.prototype =
{
constructor: DoublyLinkedList,
Tambah: function (data)
{
var node = {data: data, next: null, prev: null};

if (this._Panjang == 0)
{
this._Kepala = node;
this._Ekor = node;
}
else
{
this._Ekor.next = node;
node.prev = this._Ekor;
this._Ekor = node;
}
this._Panjang++;

},

ItemList: function(index)
{
if (index > -1 && index < this._Panjang)
{
var NodeTanda = this._Kepala,
i = 0;

while(i++ < index)
{
NodeTanda = NodeTanda.next;
}

return NodeTanda.data;
}
else
{
return null;
}
},

Buang: function(index){

if (index > -1 && index < this._Panjang)
{
var NodeTanda = this._Kepala, i = 0;

if (index === 0)
{
this._Kepala = NodeTanda.next;
if (!this._Kepala)
{
this._Ekor = null;
}
else
{
this._Kepala.prev = null;
}

}
else
if (index === this._Panjang -1)
{
NodeTanda = this._Ekor;
this._Ekor = NodeTanda.prev;
this._Ekor.next = null;
}
else
{
while(i++ < index)
{
NodeTanda = NodeTanda.next;
}
NodeTanda.prev.next = NodeTanda.next;
}
this._Panjang--;
return NodeTanda.data;

}
else
{
return null;
}


},

Ukuran: function(){
return this._Panjang;
},

toArray: function(){
var result = [],
NodeTanda = this._Kepala;

while(NodeTanda){
result.push(NodeTanda.data);
NodeTanda = NodeTanda.next;
}

return result;
},

toString: function(){
return this.toArray().toString();
}
}

var List = new DoublyLinkedList();


List.Tambah("Teknik Informatika");
List.Tambah("Teknik Komputer");
List.Tambah("Komputerisasi Akuntansi");
List.Tambah("Computer Networking");


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


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


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



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

document.write("<br>Isi LinkedList Terakhir =" + List.Ukuran() +"<br>");
//-->
</script>
</body>
</html>
selamat datang di guners club

KODE

BOBOT : =IF(D3>=90;”A”;IF(D3>=80;”B’;IF(D3>=70;”C”;IF(D3>=60;”D”;”E”))))
KETERANGAN : =IF(D3>=60;”LULUS”;”TIDAK LULUS”)