Script pertama-q

Sturktur Data

SELAMAT BELAJAR

STMIK KHARISMA KARAWANG Dhesie Dwi Sagita

Minggu, 20 Desember 2009

Sistem Operasi Bab II-IV

Tugas Sistem Operasi
BAB II

1. a. Aktifitas Sistem Operasi yang berhubungan dengan Manajemen proses :
pembuatan dan penghapusan proses yang dibuat oleh user/system
menghentikan proses sementara dan melanjutkan proses.
Menyediakan kelengkapan mekanisme untuk sinkronisasi proses dan komunikasi proses.
b. Aktifitas Sistem Operasi yang berhubungan dengan Manajemen Memori utama :
Menjaga dan memelihara bagian bagian memori yang sedang digunakan dan dari yang menggunakan
Memutuskan proses-proses mana saja yang harus dipanggil ke memori jika tersedia ruang di memori
Mengalokasikan dan mendealokasikan ruang memori jika diperlukan
c. Aktifitas Sistem Operasi yang berhubungan dengan Manajemen file :
Pembuatan dan pengahpusan file
Pembuatan dan penghapusan direktori
Primitive-primitif yang mendukung untuk manipulasi file dan direktori
Pemetaan file ke memori sekunder
Backup file media penyimpanan yang stabil ( nonvolatile)
2. Kegunaan system command interpreter :
Manajemen dan pembuatan proses
Penanganan I/O
Manajemen penyimpan sekunder
Manajemen memori utama
Akses system file
Proteksi
Jaringan
3. Sistem call adalah suatu bentuk komunikasi antara user dan hardware.
Contoh system call adalah pada program C, system call untuk READ, count = read (file,buffer, nbytes)
4. Sistem program adalah segala jenis perangakat lunak yang dibutuhkan untuk menjalankan program aplikasi/ pembentukan suatu sistem .
5. Keuntungan system layer :
Teknik pendekatan terlapis dibuat dengan menggunakan pendekatan top-down.
Semua fungsi ditentukan dan dibagi menjadi komponen – komponen.
Modularisasi system dilakukan dengan cara memecah system operasi menjadi beberapa lapis.
Dengan system modularisasi, setiap lapisan mempunyai fungsi tertentu dan melayani lapisan yang lebih rendah.
6. Keuntungan dan kerugian system virtual memori :
Konsep mesin virtual menyedikan proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan dengan mesin virtual lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung.
Pengembangan system dikerjakan pada mesin virtual, termasuk didalamnya mesin fisik dan tidak mengganggu opersi system yang normal.
Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepa pada mesin yang sebenarnya.



(BAB 4)
Penjadwalan CPU

1. Perbedaan Penjadwalan Preemptive dan non Preemptive

- Penjadwalan preemptive
Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari keadaan running
ke ready atau proses berpindah dari waiting ke ready.
- Penjadwalan non preemptive
Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari running
ke waiting atau apabila proses berhenti.

2. Diketahui :

Burst time = 10 , 6 , 2, 4 , 8
Priority = 3 , 5 , 2 , 1 , 4 (5 adalah prioritas tertinggi)

a).Menggunakan Algoritma Round Robin (quantum time = 2)


Waktu tunggu untuk untuk P1 = 5, P2 = 3, P3 = 4, P4 = 2, P5 = 4
Rata-rata waktu tunggu (turn around) = (5 + 3 + 4 + 2 + 4) / 5 = 3,6

b).Menggunakan Algoritma Priority



Waktu tunggu untuk P1 = 14, P2 = 0, P3 = 24, P4 = 26, P5 = 6
Rata-rata waktu tunggu (turn around) = (14 + 0 + 24 + 26 + 6) / 5 = 14

c).Menggunakan Algoritma Shortest Job First




Waktu tunggu untuk P1 = 0, P2 = 16, P3 = 10, P4 = 12, P5 = 22
Rata-rata waktu tunggu (turn around) = (0 + 16 + 10 + 12 + 22) / 5 = 12

3. Diketahui :




a). Menggunakan Algoritma FCFS



Waktu tunggu untuk P1 = 0, P2 = 8, P3 = 12
Rata-rata waktu tunggu (turn around) = (0 + 8 + 12) / 3 = 6,6

b). Menggunakan Algoritma SJF non preemptive



Waktu tunggu untuk P1 = 0
P2 = 9 – 0,4 = 8,6
P3 = 8 – 1 = 7
Rata-rata waktu tunggu (turn around) = (0 + 8,6 + 7) / 3 = 5,2

c). Menggunakan Algoritma SJF preemptive / SRTF



Waktu tunggu untuk P1 = 5 – 0 = 5
P2 = 4,8 – 0,4 = 4,4
P3 = 1 – 1 = 0
Rata-rata waktu tunggu (turn around) = (5 + 4,4 + 0) / 3 = 3,13


d). Menggunakan Algoritma Round Robin (quantum time = 1)



Waktu tunggu untuk P1 = 8, P2 = 4, P3 = 2
Rata-rata waktu tunggu (turn around) = (8 + 4 + 2) / 3 = 4,6

4. Hubungan antara pasangan algoritma

a). Priority dan SJF
Algoritma SJF adalah Algoritma Priority untuk menyelesaikan suatu kasus khusus
b). Priority dan FCFS
Algoritma FCFS adalah Algoritma Priority yang memiliki prioritas sama.
c). Round Robin dan FCFS
Algoritma Round Robin adalah Algoritma FCFS yang bersifat preemptive
dan menggunakan time-sharing.

Nama : Dhesie Dwi Sagita
NPM : 43E57006085018
Prodi : Teknik Informatika Malam

Minggu, 06 September 2009

Sistem Operasi Bab III ( Proses Proses )

1. State Process/status proses adalah bagian dari aktivitas proses yang sedang berlangsung saat itu. Status Process terdiri dari 3 Status Utama dan 2 Status Tambahan. Status Utama terdiri dari :
Running merupakan status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi.
Waiting adalah saat proses menunggu beberapa event yang akan terjadi.
Ready status pada saat proses siap untuk dieksekusi.
Status Tambahan ada 2 yaitu :
New saat proses sedang dibuat
Terminate yaitu proses telah selesai di eksekusi.
Penjelasan diagram proses :
Status proses, New, ready, running, waiting dan terminated.
Proses Counter, menunjukkan alamat berikutnya ang akan dieksekusi oleh proses tersebut.
CPU Register. Register bervariasi tipe dan jumlahnyatergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri atas : accumulator, index register, srtack pointer, dan register serbaguna dan beberapa informasi tentang kode kondisi. Selama program counter berjalan, status informasi harus disimpan pada saat terjadi interrupt.
Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses,pointer ke antrian penjadwala, dan beberapa parameter penjadwalan yang lainnya.
Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table atau segmen table tergantung system memori yang digunakan oleh SO.
Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time yang digunakan,time limit, account number, jumlah job atau proses dll.
Informasi status I/O. informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka, dll.
2. Ada dua bentuk tipe penjadwalan yaitu :
Short term scheduler (CPU scheduler), memilih proses-proses yang siap dieksekusi, dan mengalokasikan CPU ke salah satu dari proses-proses tersebut.
Longterm scheduler (job scheduler), menyeleksi proes-proses yang mana yang harus dibawa ke ready queue.
3. Alasan proses harus saling bekerja sama adalah dapat memberi 4 keuntungan yaitu :
Terjadi pembagian informasi
Meningkatkan kecepatan komputasi
Proses dapat dibagi dalam modul-modul.
Memberikan kenyamanan pad aprogrammer.
4. Kode program untuk menyelesaikan permasalahan producer consumer dengan menggunakan shared memori :
# define BUFFER_SIZE 10
Typedef struck {
. . .
} ietm;
Item buffer [BUFFER_SIZE];
int in = 0 ;
int out = 0 ;
Proses producer:
item nextProduced;
while (1) {
while ( ( ( in + 1) # BUFFER_SIZE) == out )
; / * do nothing */
buffer [in] = nextProduced;
in = (in +1) % BUFFER_SIZE}
Proses Consumer :
item nextConsumed;
while (1) {
while ( in == out)
; /* do nothing */
nextConsumed = buffer [out];
out = (out + 1) # BUFFER_SIZE;}
5. Skema komunikasi antar proses menggunakan mailbox.
a. Proses P ingin menunggu 2 pesan satu dari mailbox A dan satu dari mailbox B. Tunjukkan urutan send dan Received yang dieksekusi.
b. Bagaimana urutan send dan received yang dieksekusi P jika P menunggu satu pean dari mailbox A atau mailbox B (salah satu atau keduanya)
6. Yang dimaksud dengan thread adalah suatu unit dasar dari CPU utilization yang berisi program counter,kumpulan register, dan ruang stack,
Struktur Thread : seperti halnya proses thread juga memiliki status ready, blocked, running dan terminate, hanya satu thread yang aktif dalam satu waktu. Thread dapat membuat child thread. Jika satu thread dalam keadaan blocked,maka thread yang lain dapat dijalankan. Namun tidak saling bebas, sebab semnua thread dapat mengakses setiap alamat dalam satu task, thread dapat membaca dan menulisi stack dari thread yang lainnya, sehingga tidak ada proteksi antara satu thread trerhadap thread yang lainnya. Satu proses dapat terdiri dari satu thread ( single thread) dan beberapa thread (multi thread).
7. Keuntungan menggunakan thread pada multiple proses adalah :
menggunakan resource bersama-sama,
respon lebih cepat,
lebih ekonomis dan
meningkatkan utilitas arsitektur mikroprosessor.
8. Perbedaan user – level thread dan kernel – supported thread :
User level thread :
Thread diatur menggunakan pustaka user level thread
Hanya memerlukan sebuah stack dan sebuah program counter, tanpa resource dari kernel.
Kernel tidak dilibatkan dalam penjadwalan, sehingga perpindahan antar user level thread sangat cepat.
Kernel-Supported thread :
Thread yang didukung oleh kernel.
Mempunyai struktur data yang kecil dan sebuah stack.
Perpindahan antar kernel tidak mengubah informasi akses memori sehingga relatif cepat.
LWP berisi proses control block dengan register data, informasi akuntansi dan informasi memori.
Perpindahan antar LWP membutuhkan tambahan pekerjaan dan relatif lambat.
9. Ada 3 model multithreading yaitu :
a. Model Many-to-One : setiap user level thread dipetakkan ke satu kernel thread dan digunakan pada system yang tidak mendukung kernel thread.
b. Model One-to-One : setiap user level thread dipetakan ke kernel thread.
c. Model Many-to-Many : user level thread dipetakan ke beberapa kernel thread.
10. State pada java thread : bahasa pemrograman java menggunakan java thread yang dibuat dengan menggunakan class thread dan mengimplementasikan antar muka yang bersifat runnable (dapat dijalankan). Java thread diatur oleh Java Virtual machine (JVM), java thread terdiri dari satu state new, runnable, blocked data dead.


Tugas Bab III
Nama : Dhesie Dwi Sagita
NPM : 43E57006085018
Kelas : Malam ( Teknik Informatika )

Jumat, 10 Juli 2009

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

Rabu, 24 Juni 2009

bubbleSort

<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)
{
aleart("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>

Minggu, 21 Juni 2009

Klasifikasi Software

Software adalah program komputer yang merupakan suatu instruksi yang harus diberikan kepada unit pengolah agar komputer dapat menjalankan pekerjaan sesuai dengan yang dikehendaki. Selama ini kita hanya mengenal dua jenis software yaitu software berbayar/ yang biasa disebut dengan proprietary software dan open source software/ software tidak berbayar. Sering kali kita mendengar alasan untuk menggunakan open source software adalah untuk mengurangi angka pembajakan, karena yang diunggulkjan dari open source software adalah gratisnya. Padahal pemahaman tersebut tidak sepenuhnya benar. Tidak semua open source software itu gratis. Secara umum ada banyak jenis-jenis software.
1. Jenis – jenis Software berdasarkan hak ciptanya
a. Free software
Software yang dalam lisensinya mengizinkan siapapun untuk menggunakan, menyalin/menggandakan, dan mendistribusikannya, sesuai aslinya atau sudah dimodifikasi, baik gratis maupun dengan memungut biaya. Dengan syarat utama, source codenya harus tersedia. Contoh freeware : Linux
b. Open Source
Open source software sering rancu dengan free software, padahal ada sejumlah syarat yang harus dipenuhibial dianggap sebagai open source, yaitu bebas didistribusikan tanpa adanya peersyaratan royalty, program harus memiliki source code, licensi harus dapat dimodifikasi dan diturunkan, integrity dari pembuat source code. Contoh : Mozilla
c. Public Domain software
Software yang tidak dilindungi hak ciptanya atau gratis. Software jenis ini tidak terikat secara hukumyang terkait dengan hak cipta. Versi penuh, source code tersedia secara bebas untuk dimodifikasi, dan didistribusikan ulang dengan lisensi apapun. Contoh : STP MP3 Player
d. Copyleft software
Software bebas yang ketentuan pendistribusiannya tidak mengijinkan untuk menambah batasan-batasan tanbahan jika melakukan distribusi dan modifikasi. Jadi setiap salinan dari software atau modifikasi tetap merupakan free software. Contoh : GNU GPL
e. Non-Copyleft free software
Kebalikan dari copyleft software yaitu free software yang mengizinkan distribusi ulang atau modifikasi dengan menambahkan batasan baru, sehingga setiap kopi software ini, dalam bentuk binary ataupun termodifikasi bisa menjadi proprietary software. Contoh : X Window System
f. GPL software
GNU GPL (General Public Licence) adalah lisensi yang mendefinisikan copylefted software
g. Freeware
Adalah software yang bebas untuk digunakan, didistribusikan, tetapi bukan untuk dimodifikasi. Source code tidak ada. Contoh : Internet Explorer,
Netscape Communicator
h. Semi-Free Software
Adalah software yang tidak bebas, tetapi mengijinkan semua pihak untuk menggunakan, menyalin, mendistribusikan dan memodifikasi untuk tujuan nirlaba / non-profit. Contoh : PGP
i. Shareware
Adalah software yang bebas didistribusikan dengan jangka waktu tertentu. Untuk pemakaian selanjutnya pengguna dikenai biaya lisensi. Shareware pada umumnya closed-source. Contoh : Winzip, mIRC
j. Trial Software
Adalah jenis lisensi yang biasa ditemui pada software untuk keperluan demo dari sebuah software sebelum diluncurkan ke masyarakat atau biasanya sudah diluncurkan tetapi memiliki batas masa aktif. Lisensi ini mengizinkan pengguna untuk menggunakan, menyalin atau menggandakan software tersebut secara bebas. Namun karena bersifat demo, seringkali software dengan lisensi ini tidak memiliki fungsi dan fasilitas selengkap versi komersialnya. Dan biasanya dibatasi oleh masa aktif tertentu. Contoh : MacromediaDreamWeaver, NortonUtilities
k. Commercial Software
Adalah software yang diekmbangkan untuk memperoleh keuntungan dari penggunanya. Software ini dilindungi hak ciptanya oleh badan hukum.
l. Proprietary Software
Software komersial yang bersifat closed source. Contoh : MS Windows, MS Office
2. Jenis – jenis Software berdasarkan Operating System
Sistem operasi / operating system merupakan pernagkat lunak yang sangat kompleks. Karena sistem operasi secara umum adalah pengelola seluruh sumber daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dalam penggunaan dan pemanfaatan sumber daya sistem komputer. Jenis jenis sistem operasi :
a. UNIX
Unix adalah sebuah sistem operasi komputer yang dikembangkan oleh AT&T Bell Labs pada tahun 1960 dan 1970-an. UNIX didesain sebagai sistem operasi yang portable, multi-tasking dan multi-user. Di Indonesia Unix digunakan sebagai Server aplikasi, produk yang beredar di pasaran antara lain IBM AIX, HP UX, Sun Solaris
b. Microsoft Windows
Microsoft Windows atau lebih dikenal dengan sebutan Windows adalah keluarga sistem operasi komputer pribadi yang dikembangkan oleh Microsoft yang menggunakan antarmuka dengan pengguna berbasis grafik (graphical user interface). Sistem operasi Windows telah berevolusi dari MS-DOS, sebuah sistem operasi yang berbasis modus teks dan command-line.

c. LINUX
Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapapun.

3. Jenis – jenis Software berdasarkan Aplikasinya
Program aplikasi merupakan perangkat lunak siap pakai yang nantinya akan digunakan untuk membantu melaksanakan pekerjaan penggunanya. Aplikasi ini disiapkan sesuai kebutuhan.
a. Aplikasi Perkantoran / office
Pengolah Dokumen (Word Processing)
Digunakan untuk mengolah dokumen text. Contoh :
• Microsoft word, bersifat komersil, diproduksi oleh Microsoft Corporation.
• Open Office Writer, bersifat open source diproduksi oleh open office.org.
• Staroffice Writer, bersifat komersil, diproduksi oleh Sun Microsystems, Inc.
• AppleWorks Word Processing, bersifat komersial untuk komputer Apple Macintosh.
• Word Perfect, bersifat komersial diproduksi oleh Corel Corporation.
• Lotus Word Pro, bersifat komersial, diproduksi oleh IBM Lotus Software.
Spreadsheet
Digunakan untuk pengolahan data matematis. Contohnya :
• Microsoft Excell, bersifat komersial, diproduksi Microsoft Corporation.
• Open Office Calc, bersifat open source oleh OpenOffice.org.
• Staroffice Calc, bersifat komersial, diproduksi oleh Sun Microsystems, Inc.
• AppleWorks Spreadsheet, bersifat komersial untuk komputer Apple Macintosh.
• Quattro Pro, bersifat komersial dan diproduksi oleh Corel Corporation.
• Lotus 1-2-3, bersifat komersial dan diproduksi oleh IBM Lotus Software.

Presentasi
Digunakan untuk melakukan presentasi baik dalam bentuk grafik, maupun text. Contoh :
• Microsoft Powerpoint, bersifat komersial, diproduksi Microsoft Corp.
• Open Office Impress, bersifat open source oleh OpenOffice.org.
• Staroffice Impress, bersifat komersial, diproduksi oleh Sun Microsystems, Inc.
• AppleWorks Presentation, bersifat komersial untuk komputer Apple Macintosh.
• Corel Presentation, bersifat komersial, diproduksi oleh Corel Corporation.
• Lotus Freelance Graphics, bersifat komersial dan diproduksi oleh IBM Lotus Software.

Basis Data
Digunakan untuk melakukan penyimpanan berbagai macam tipe data agar dapat diolah kembali dengan mudah. Contoh :
• Microsoft Access, bersifat komersial dan diproduksi oleh Microsoft Corp.
• MySQL, bersifat opensource dan diproduksi oleh Microsoft Corp.
• Sybase, bersifat komersial dan diproduksi oleh Sybase Inc.
• Oracle, bersifat komersial dan diproduksi oleh Microsoft Corp.
• Microsoft SQL Server, bersifat komersial dan diproduksi oleh Microsoft Corp.
• PostgreSQL, bersifat komersial dan diproduksi oleh Microsoft Corp.
Document Management System
Digunakan untuk menelusuri dan menyimpan data atau image dari dokumen kertas. Contoh :
• Microsoft Document Imaging, bersifat komersial dan diproduksi oleh Microsoft Corp.
• doQuments, bersifat komersial dan diproduksi oleh Itaz Corp.
• DocMoto, bersifat komersial dan diproduksi oleh CHL Software.
• infoRouter, bersifat komersial dan diproduksi oleh Active Innovations, Inc.
Text Editor
Digunakan untuk menyunting plain text. Text editor tidak melakukan pengelolaan terhadap format dokumen, seperti font, warna, index, dll. Contoh :
• Notepad, bersifat komersial dan masuk dalam paket sistem operasi Microsoft Windows.
• Editplus, bersifat komersial dan diproduksi oleh ES Computing.
• Ultraedit, bersifat komersial dan diproduksi oleh IDM Computer Solutions.
• Jedit, bersifat open source dan dibawah lisensi GNU General Public License.
• Vi, merupakan text editor dengan tampilan text base pada sistem operasi linux. Bersifat opensource dan dibawah lisensi GNU General Public License.
b. Aplikasi Penggunaan Rumah
Perangkat lunak penggunaan rumah adalah perangkat lunak yang digunakan untuk hiburan, referensi, dan pendidikan di rumah. Perangkat lunak jenis ini paling banyak digunakan untuk penggunaan pribadi. Jenis-jenis dari perangkat lunak ini adalah :

Game
Digunakan untuk hiburan. Contoh :
• Minesweeper, game standart dari paket Microsoft Windows.
• FIFA 2005, games komersial yang diproduksi oleh EA Sports.
• Championship Manager 2005, bersifat komersial yang diproduksi oleh Sport Interactive.
• Counter Strike, jenis game RPG yang bersifat komersil dan multiplayer.
Referensi
Digunakan untuk mencari referensi atau informasi tentang segala hal. Perangkat lunak ini bekerja seperti ensiklopedia, hanya saja dalam bentuk digital dan lebih interaktif. Contoh :
• Britannica Ultimate Reference Suite, bersifat komersil, diproduksi oleh Ensyclopedia Britannica.
• Microsoft Encarta, bersifat komersil, diproduksi oleh Microsoft Corp.
• Wikipedia, bersifat open source diproduksi oleh Wikipedia Foundation.
• World Book Encyclopedia, bersifat komersial dan diproduksi oleh World Book Inc.
Pendidikan
Digunakan untuk proses pengajaran dan pendidikan terutama untuk proses belajar mandiri. Berbagai jenis perangkat lunak yang mendukung proses pengajaran dan referensi memiliki beberapa macam, yaitu seperti proses pembelajaran, e-learning, kuis, dll. Contoh :
• Blackboard Academic suite, bersifat komersil , diproduksi oleh Blackboard Inc.
• The Geometer’s Sketchpad, bersifat komersial dan diproduksi oleh KCP Technologies.
• Quiz-Buddy, bersifat komersial dan diproduksi oleh Sierra Vista Software.
• Kidspiration, bersifat komersial dan diproduksi oleh Inspiration Software, Inc.

c. Aplikasi Bisnis
Adalah perangkat lunak yang digunakan untuk membantu proses bisnis dalam meningkatkan produktivitasnya. Contoh dari softwraenya adalah :
Akuntansi
Digunakan untuk merekam dan memproses setiap proses akuntansi. Proses akuntansi dapat dibagi menjadi beberapa modul fungsional, seperti account payable, account receivable, payroll, general ledger, dll. Contoh :
• MYOB, bersifat komersial dan diproduksi oleh MYOB Inc.
• Peachtree, bersifat komersial dan diproduksi oleh Sage Software SB Inc.
• GNU Cash, bersifat open source dan dikembangkan oleh GNU Cash Development Team.
• Microsoft Money, bersifat komersial dan diproduksi oleh Microsoft.
• Quickbooks, bersifat komersial dan diproduksi oleh Intuit Inc.
• SAP, bersifat komersial dan diproduksi oleh SAP Inc.

Customer Relationship Management (CRM).
Adalah suatu konsep atau prosedur yang memungkinkan sebuah organisasi atau perusahaan dapat meningkatkan pelayanan terhadap pada customer dan pelanggannya. Dengan CRM perusahaan dapat terus mengenalkan setiap proses dan prosedur yang terpercaya agar dapat berinteraksi dengan para pelanggannya. Contoh :
• Centraview, bersifat open source dan diproduksi oleh CentraView Inc dengan lisensi Mozilla Public License.
• Microsoft CRM, bersifat komersial dan diproduksi oleh Microsoft Corporation.
• Siebel CRM, bersifat komersial dan diproduksi oleh Siebel Systems, Inc.
• SAS Customer Intelligence, bersifat komersial dan diproduksi oleh SAS Institute Inc.
• Sage CRM Solutions, bersifat komersial dan diproduksi oleh Sage Software, Inc.
d. Aplikasi Graphis
Bersifat Komersial
• Adobe photoshop
• Corel draw, Adobe Ilustration
• Auto cad
• ACD See
• Movie Maker
Bersifat Open Source
• GIMP
• Inkscape
• Blender
• BRL Cad
• F-Spot
• Kino
e. Aplikasi Multimedia
Bersifat Komersial
• Winamp, Apple iTunes
• Windows Media Player
• Adobe Soundbooth
Bersifat Open Source
• Amarok, Songbird
• VLC Media Player
• Audacity, Ardour
f. Aplikasi Internet
Bersifat Komersial
• Internet Explorer
• Microsoft Outlook
• Total Commander
• MSN Messenger, YM, ICQ, ..
• mIRC
Bersifat Open Source
• Mozilla Firefox
• Evolution, Mozilla Thunderbird
• gFTP
• Pidgin
• XChat, Pidgin
• Aplikasi Internet
g. Aplikasi Anti Virus
Bersifat Komersial
• Norton
• Avast
• Kasperkey
• - AVG
Bersifat Open Source
• Panda Platinum
• NOD 32
• Mcafee
 Avira Anti virus
4. Jenis – jenis Software Utility
sistem operasi merupakan perangkat lunak sistem dengan fungsi tertentu, misalnya pemeriksaan perangkat keras (hardware troubleshooting), memeriksa disket yang rusak (bukan rusak fisik), mengatur ulang isi harddisk (partisi, defrag), contoh Utilty adalah :
a. Norton Utility
b. QuickDos
c. Defragmenter
d. Format disket, periksa system
e. Transtool.


Sebagai Tugas UAS
Dikirm oleh : Dhesie Dwi Sagita
NPM : 43E57006085018
Jurusan : Tehnik Informatika/ TK 1 Smt 2
Kelas : Malam

Sumber Infromasi ini dari : http://www.geocities.com/imamindrap/articles/software.html
http://id.wikipedia.org/wiki
tentunya juga dari search google

Rabu, 17 Juni 2009

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(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>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> ');

var Dari=0; // A
var Ke =5; // F
Dijkstra(Matriks.length,Dari,Ke);
//-->

</script>

</body>
</htmL>

Minggu, 14 Juni 2009

Double Linked List

?html>
?head>
?title>Struktur Data Double 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>


Hasil Double Linked List

Isi LinkedList
---------------
Teknik Informatika
Teknik Komputer
Komputerisasi Akuntansi
Computer Networking
---------------

Isi LinkedList Terakhir
---------------
Teknik Informatika
Komputerisasi Akuntansi
Computer Networking
null
---------------