Jumat, 03 Juli 2009

Aplikasi di Linux

Banyak aplikasi di Linux yang dapat menjalankan fungsi aplikasi-aplikasi penting yang bisa dijalankan sehari-hari. Aplikasi-aplikasi tersebut yaitu :

1. Aplikasi Office (Aplikasi Perkantoran)
Aplikasi Office adalah program aplikasi yang digunakan untuk mengerjakan pekerjaan kantor, pekerjaan kampus, sekolah, dan lain-lain. Aplikasi perkantoran yang ada di linux adalah Koffice, Gnome Office, Siag Office, Star Office dan Open Office. Yang sering di pakai adalah Star Office dan Open Office.
Open Office
OpenOffice.org (OOo) adalah salah satu office suite (aplikasi untuk mendukung kegiatan perkantoran) Open Source semacam Microsoft Office. Aplikasi OpenOffice terdiri dari :
1. OpenOffice Writer
OpenOffice Writer adalah aplikasi pengolah kata pada OpenOffice dimana anda dapat membuat dokumen pribadi, dokumen bisnis, surat kabar, dan berbagai variasi teks dokumen yang lain.
2. OpenOffice Impres
Dengan Ooo Impress memungkinkan untuk membuat sarana presentasi. Output dari presentasi ini bisa untuk layar, transparansi film, maupun kertas.
3. OpenOffice Calc
OpenOffice Calc adalah program spreadsheet yang dapat dipergunakan untuk membuat daftar, memelihara record, dan menganalisa data. Anda dapat menggunakan OpenOffice Calc untuk mengelola data dalam bentuk spreadsheet, menggunakan rumus untuk melakukan perhitungan data, dan menampilkan hasil dalam bentuk grafik.
4. MrProject
MrProject adalah software yang memungkinkan untuk memanage beberapa aspek dari proyek, termasuk rencana pekerjaan menggunakan Gantt Chart, dan alokasi sumber daya.
5. Ximian Evolution
Ximian Evolution adalah program semacam Microsoft OutLook. Ia salah satu perangkat Persona Information Manager (PIM) Open Source buatan Ximian, Inc.
6. Datasource
Datasourc merupakan aplikasi untuk membuat database.
7. Ooo Math
Ooo Math merupakan aplikasi untuk melakukan penghitungan rumus matematik.
8. Ooo Draw
Ooo Draw merupakan aplikasi untuk membuat gambar.

Aplikasi Star Office yaitu :

1. Star Writer
StarWriter adalah aplikasi pengolah kata untuk membuat dokumen, laporan, skripsi, surat, newsletter, artikel, proposal, brosur, buku, dll yang mempunyai berbagai fasilitas yang dipunyai oleh Ms. Word bahkan lebih unggul.
2. Star Impres
Aplikasi office untuk membuat presentasi multimedia yang efektif termasuk 2D dan 3D clipart, spesial efek animasi dan tool gambar.
3. Star Draw Star Image
Aplikasi manipulasi orientasi vektor, bitmap dan gambar yang memungkinkan anda untuk membuat ilustrasi dinamik 3D dan spesial efek.
4. Star Math
StarMath adalah Aplikasi untuk membuat formula khususnya matematika, MIPA, Teknik.
5. Star Chart
Aplikasi terintegrasi untuk scheduling/penjadwalan kegiatan, pekerjaan, tugas, dan proyek anda.
6. Star Base
Aplikasi manajemen database yang memungkinkan anda untuk misal: menyimpan nama-nama dan alamat dalam suatu database lalu menggabungkannya ke sebuah dokumen dan menampilkan mailing label.
7. Star Calc.
StarCalc adalah Aplikasi spreadsheet untuk mengkalkulasi, menganalisa, berbagi pakai, dan secara jelas mengkomunikasikan data anda secara cepat dan mudah dengan fasilitas yang sudah ada di dalam paket spreadsheet serta tool untuk menghasilkan grafik 2D dan 3D berkualitas tinggi.
8. Star Schedule
Aplikasi terintegrasi untuk scheduling/penjadwalan kegiatan, pekerjaan, tugas, dan proyek anda.
9. Star Mail
Aplikasi e-mail untuk berkomunikasi dengan relasi anda.
10. Star Discussion
Aplikasi yang memungkinkan anda untuk berpartisipasi dalam newsgroup, membaca dan posting news, memfilter dan mengurutkan pesan newsgroup secara otomatis.

2. Aplikasi Multimedia dan Grafis
Beberapa aplikasi multimedia yang ada di Linux khususnya KDE adalah sebagai berikut:
- Sound: Audacity, Xmms
- Video: Kaffeine, Xine
- Grafis: Gwenview, The Gimp

Audacity
Aplikasi bebas ini digunakan untuk melakukan pengeditan pada suara atau sound dan mendukung berbagai format seperti WAV, MIDI, Ogg, serta MP3.
Xmms
Xmms mirip sekali dengan Winamp yang umum digunakan pada system operasi proprietary/closedsource yang populer.
Xine
Xine merupakan salah satu video player yang cukup terkenal di dunia PLBOS. Mendukung banyak format video dan tampilan yang cukup menarik. Xine dapat melakukan play back CD, VCD, dan DVD. Selain itu dapat mendecode format multimedia seperti MOV, AVI, WMV dari komputer local atau streaming melalui Internet.
Kaffeine
Beberapa orang mengembangkan Kaffeine sebagai salah satu media player di KDE. Aplikasi ini menggunakan Xine sebagai default enginenya dan menyediakan akses cepat media, mendukung playlist, Digital Video Broadcasting (DVB) menggunakan driver linuxtv, serta merekam acara televisi.
Gwenview
Anda mungkin pernah menggunakan versi "demo" ACDSee yang
komersial, di KDE kita bisa menggunakan imageviewer yang mirip yaitu Gwenview. Kita dapat melakukan penjelajahan gambar secara fullscreen atau melalui Konqueror. Dukungan transformasi seperti rotasi, mirroring, plugin, efek, dan zoom pun tersedia.
The Gimp
Fungsinya untuk mengedit gambar dan sering disebutsebut dengan "Photoshopnya Linux". Banyak fungsi yang disediakan dalam The Gimp termasuk plugin dan script.


3. Aplikasi Web Development

Kecuali dalam desain web, Linux sangat superior dalam hal pengembangan web. Tools seperti Perl, PHP, database MySQL, PostGreSQL tersedia gratis di Linux. Untuk desain web bisa digunakan BlueFish, WebMaker, WebDesigner, Screem, dan Quanta. Khusus untuk pengembangan multimedia seperti Flash, Shockwave, dan QuickTime, belum tersedia aplikasinya di Linux karena spesifikasinya yang tertutup.

4. Aplikasi Internet
Untuk urusan internet dan jaringan, khususnya sisi server, Linux dan varian Unix sangat mendominasi dan superior, namun bagaimana untuk sisi clientnya ? Jangan khawatir, di Linux sudah tersedia beragam apikasi internet, seperti : Netscape Communicator, Mozilla, Opera, Lynx, Konqueror (browser web), KvIRC, KsIRC, Xchat, BitchX (IRC), Licq, GnomeICU, Klicq (ICQ), gFTP, NcFTP (FTP), Pine, Mutt, (Email), Caitoo (Download Manager), Nap, Knapster, Gnap (Napster), RealPlayer, Acrobat Reader, dan masih banyak lagi.

Daftar Pustaka
1. http://www.duniasemu.org/writings
2. http://www.infolinux.web.id/site/sections.php?artid=34

Rabu, 01 Juli 2009

Program Modifikasi

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





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


//-->
</script>
<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 denga Koma :
<hr>
<input type = text name=Data size=30 malue="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, 24 Juni 2009

Pengururutan (Sort) Descending

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

Pengurutan (Sort) Ascending

<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 denga Koma :
<hr>
<input type = text name=Data size=30 malue="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

Program Graph/Graf

<html>
<head><title>Dijkstra Algoritma</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 = 1;
}
}
}
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,o,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>

Program Double Linked List

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


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>

Rabu, 20 Mei 2009

Program Linked List

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

Kamis, 14 Mei 2009

Program Queue 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 (yang_keluar_antrian == undefined)
return "Queue 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 bgcolor = "lavender">
<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>


outputnya :

Rabu, 13 Mei 2009

Program Queue 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 bgcolor="lavender">
<form name="FormStrukturData">
<input name="btnQueue" value="Queue" type="button"
onClick="DataQueue();"/>
</form>
</body>
</html>

outputnya :





setelah di klik outputnya :



Program Bulan

<HTML>
<HEAD>
<TITLE>Belajar Array</TITLE>
</HEAD>
<BODY Bgcolor = "lavender">
<SCRIPT LANGUAGE = "JavaScript">
<!--

var DATA_KU = new Array("Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Nopember","Desember");



var angka = parseInt(prompt("Ketikan Angka Bulan : "));


document.write (DATA_KU[angka]);

alert ("Selamat Belajar Struktur Data");
alert ("Semoga Memperoleh Ilmu Yang Bermanfaat");

//-->
</SCRIPT>
</BODY>
</HTML>

outputnya :

Kamis, 16 April 2009

Tumpukan (Stack) 2

2. Program Stack 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
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 bgcolor = "lavender">
<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=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>


Output nya :

Rabu, 15 April 2009

Tumpukan (Stack)

1. Program Stack 1 :

<html>
<head>
<title>Contoh Implementasi Push dan POP pada Stack</title>
</head>

<body bgcolor="aqua">
<font color="green" face="comic sans ms">
<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>

Outputnya :

Minggu, 05 April 2009

Struktur Data

Silabus Materi :
1. Tipe Data dan Manipulasinya
2. Struktur Data Array (Larik)
3. Struktur Data Record (Rekaman) / Struct (Struktur)
4. Struktur Data Stack (Tumpukan)
5. Struktur Data Queue (Antrian) dan Struktur Data Dequeue (Antrian Berprioritas)
6. Struktur Data List (Daftar / Susunan)
7. Struktur Data Graph (Susunan Grafis)
8. Struktur Data Tree (Susunan Pohon)

Contoh-contoh program
1. Program percobaan
<HTML>
<HEAD>
<TITLE> Frameset</TITLE>
<SCRIPT Language = "JavaScript">
<!--
alert ("Selamat Datang di Struktur Data");
//-->
</SCRIPT>
</HEAD>
<BODY Bgcolor = "lavender">
<HR>
<Font Color = "blue" face="comic sans ms">
<P> Selamat Pagi..... <br>
Selamat belajar Struktur Data <br>
Semoga berhasil ! <br>
Salam Super... !!
<HR>
<Font Color = "blue" face="comic sans ms">
<MARQUEE>
<H4> SITI NURSEHA </H4>
<H4> TEKNIK INFORMATIKA </H4> </MARQUEE>
<HR>
</BODY>
</HTML>

2.Program percobaaan

<HTML>
<HEAD>
<TITLE> Frameset </TITLE>
</HEAD>
<frameset cols="50%,50%">
<frame src="sdata.html"mce_src="sdata.html">
<frame src="lat4.html"mce_src="lat4.html">
</frameset>
</HTML>


TIPE DATA
Yaitu kelompok data yang membedakan satu dengan yang lainnya. Tipe data dapat dikelompokan menjadi dua macam, yaitu :
1. Tipe dasar, merupakan tipe yang dapat langsung dipakai, yaitu :
a. Bilangan Logika atau Boolean,
b. Bilangan Bulat,
c. Bilangan Riil,
d. Karakter, dan
e. String.
2. Tipe bentukan, merupakan tipe yang didefinisikan sendiri oleh pemrogram. Contohnya :
a. Array, dan
b. Record.
Untuk memanipulasi data diperlukan operator, yaitu :
1. Operator Matematika : Penjumlahan (+), Perkalian (*), Pembagian (/), Modulus (%).
2. Operator Binary Digir : Dan (&), Atau (I), Atau (^), Negasi (-), Geser kekiri (<<), dan Geser kekanan (>>).
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-contoh program :
1. Program Menambahkan 2 Bilangan :


<HTML>
<HEAD>
<TITLE>Type Bilangan</TITLE>
</HEAD>
<BODY Bgcolor="aqua">
<Font color="green" face="comic sans ms">
<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 Sistem Bilangan

<HTML>
<HEAD>
<TITLE>Konversi Antar Sistem Bilangan</TITLE>
</HEAD>
<BODY Bgcolor="lavender">
<Font color="purple">
<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 Bgcolor="pink">
<Font face="comic sans ms">
<SCRIPT LANGUAGE = "JavaScript">
<!--
function jumlah (x, y) {
var hasil = x + y;

return(hasil);
}

var a = parseInt (prompt ("Ketikan Bilangan A = \n Ingat Jangan String",0));
var b = parseInt (prompt ("Ketikan Bilangan B = \n Ingat Jangan String",0));
var z = jumlah(a,b);

document.write(z);
document.write("<BR>");
document.write("<hr>");
document.write("Tipe Data nya adalah = " + typeof(z));

//-->
</SCRIPT>
</BODY>
</HTML>

4. Program Persamaan Kuadrat dengan Function

<HTML>
<HEAD>
<TITLE> Menghitung Persamaan Kuadrat dengan Function </TITLE>
</HEAD>
<BODY>
<SCRIPT Language = "JavaScript">
<!--
function jumlah(x,a,b,c)
{
var hasil = (x*x)*a + b*x +c;
return(hasil);
}
var x = parseInt (prompt("Masukkan Bilangan x = \n Ingat Harus Integer!!!"));
var a = parseInt (prompt("Masukkan Bilangan a = \n Ingat Harus Integer!!!"));
var b = parseInt (prompt("Masukkan Bilangan b = \n Ingat Harus Integer!!!"));
var c = parseInt (prompt("Masukkan Bilangan c = \n Ingat Harus Integer!!!"));
var z = jumlah(x,a,b,c);
document.write(z);
document.write("<BR>");
document.write("<HR>");
document.write("Rumus Persamaan Kuadrat adalah = " + "( ax2 + bx + c )");
document.write("<BR>");
document.write("Tipe Datanya adalah = " + typeof (z));
//-->
</SCRIPT>
</BODY>
</HTML>

ARRAY

Array adalah sekumpulan data atau struktur data yang mempunyai tipe data yang sama dan diakses berdasarkan indeks. Hampir di setiap bahasa pemrograman disediakan fasilitas untuk mendeklarasikan dan mengolah struktur Data Array.
Jenis-jenis array berdasarkan sifatnya :
1. Array Statis, dan
2. Array Dinamis.
Jenis-jenis array berdasarkan dimensi ruang-nya :
1. Array 1 Dimensi,
2. Array 2 Dimensi, dan
3. Array 3 Dimensi.

Contoh program :

1. Latihan 1

<HTML>
<HEAD>
<TITLE>Belajar Array</TITLE>
</HEAD>
<BODY Bgcolor = "aqua">
<FONT Color="green" face="comic sans ms">
<HR>
<SCRIPT LANGUAGE = "JavaScript">

<!--

var DATA_KU = new Array("Ini adalah latihan ke 4.....","Belajar tentang array...","Semoga latihan-latihan selanjutnya bisa berhasil...");

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

alert ("Selamat Belajar Struktur Data");
alert ("Semoga Memperoleh Ilmu Yang Bermanfaat");

//-->

</SCRIPT>
<HR>
</BODY>
</HTML>

2. Program parameter array

<HTML>
<HEAD>
<TITLE>Parameter Array</TITLE>
</HEAD>
<BODY Bgcolor = "aqua">
<Font color="green" face="comic sans ms">
<SCRIPT LANGUAGE = "JavaScript">
<!--

var tempat = [];
var data = prompt ("Ketik Jumlah Maksimum Array :");

for (m=1; m<data; m++)
{
var bil = prompt ("Masukan Bilangan :");
tempat [m]= bil;
}

for (n=1; n<data; n++)
{
document.write("Elemen Array ("+n+") =" +tempat[n] + "<BR>");
}

//-->
</SCRIPT>
</BODY>
</HTML>

2. Program menghitung dan menampilkan deret Fibonacci

<html>
<head>
<script>
<!--

function fibonacci (n) {
var i;
var array_fib = new Array();

array_fib.push(0);
array_fib.push(1);

for (i=0; i<n; i++) {
array_fib.push(array_fib[0] + array_fib[1]);
array_fib.shift();
}
return array_fib[0];
}

for(i=0; i<=20; i++)
document.write("fibonacci (" + i + ") = " + fibonacci(i) + "<br>");

//-->
</script>
</head>
<body bgcolor="sky blue">

</body>
</html>

RECORD
Record merupakan tipe bentukan yang disusun oleh satu atau lebih field. Tiap fielc menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama record ditentukan oleh pemrogram. Karena strukturnya yang disusun oleh field-field, maka record dinamakan juga tipe terstruktur.

Contoh program :

1. Program membuat rekaman objek

<html>
<head><title>Membuat Rekaman Objek</title></head>
<body bgcolor="lavender">
<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", "S1");
Record[1] = new Mahasiswa("43E001", "Doni", "TI", "S1");
Record[2] = new Mahasiswa("43E001", "Dina", "TI", "S1");
Record[3] = new Mahasiswa("43E001", "Dini", "TI", "S1");

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

2. 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_Per_Jam = Fields_Gaji_Per_Jam;
this.Jam_Kerja = Fields_Jam_Kerja;
this.Gaji_Total = Fields_Gaji_Total;
}
function inputPegawai()
{
var Nama,Gaji_Per_Jam, Jam_Kerja, Gaji;
while ( NIP = window.prompt("Ketikan NIP (Nomor Induk Pegawai)\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_Per_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 ="inputPegawai();">
</body>
</html>

Program Kalender dan 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>