Tugas Sistem Operasi Bab 4

2:15 PM
Sistem Operasi (Tugas 4)

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.
Read On 0 komentar

Tugas Sistem Operasi Bab 3

2:13 PM
Sistem Operasi (Tugas 3)


1. Sebutkan state pada proses dan jelaskan diagram proses?

1. New: proses sedang dibuat.
2. Running: proses sedang dieksekusi.
3. Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal).
4. Ready: proses menunggu jatah waktu dari CPU untuk diproses.
5. Terminated: proses telah selesai dieksekusi.

penjelasan diagram proses:

* Status Proses. New, ready, running, waiting dan terminated.
* Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.
* CPU Registers. Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri-atas: accumulator, index register, stack pointer, dan register serbaguna dan beberapa informasi tentang kode kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada saat terjadi interrupt. Gambar 3-3 menunjukkan switching proses dari satu proses ke proses berikutnya.
* Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya.
* Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table tergantung pada sistem memory yang digunakan oleh SO.
* Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses, dll.

2. Apa yang dimaksud short term scheduler dan long term scheduler ?

* Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang harus dibawa ke ready queue.

* Short-term Scheduler (CPU scheduler), memilih proses-proses yang siap untuk dieksekusi, dan mengakolakasikan CPU ke salah satu dari proses-proses tersebut.

3. Jelaskan 4 alasan mengapa proses harus bekerja sama!

* pembagian informasi
* meningkatkan kecepatan komputasi
* proses dapat dibagi dalam modul-modul
* lebih memberikan kenyamanan pada programmer

4. Tuliskan kode program untuk penyelesaian permasalahan producer consumer dengan menggunakan shared memory!


#define BUFFER_SIZE 10
Typedef struct {
. . .
} item;
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. Diketahui skema komunikasi antar proses menggunakan mailbox!

* Proses P ingin menunggu 2 pesan, satu dari mailbox A dan satu dari mailbox B. Tunjukkan urutan send dan receive yang dieksekusi
* Bagaimana urutan send dan receive yang dieksekusi P jika P ingin menunggu
satu pesan dari mailbox A atau mailbox B (salah satu atau keduanya)

6. Jelaskah apa yang dimaksud dengan thread dan struktur dari thread!

Pengertian tread : Suatu unit dasar dari CPU utilization yang berisi program counter, kumpulan register, dan ruang stack disebut dengan thread atau lighweight process (LWP). Thread akan bekerjasama dengan thread yang lainnya dalam hal penggunaan bagian kode, bagian data, dan resource sistem operasi, seperti open file dan sinyal secara kolektif yang sering disebut dengan task.

Struktur Thread :Seperti halnya proses, thread memiliki status: ready, blocked, running dan terminated, dan hanya satu thread yang aktif dalam satu waktu. Thread dapat membuat child thread. Jika satu thread dalam keadaan blocked, maka thread yang lainnya dapat dijalankan. Namun, tidak saling bebas, Sebab semua 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 terhadap thread yang lainnya. Suatu proses dapat terdiri dari satu thread (single thread) dan beberapa thread (multi thread).

7. Jelaskan empat keuntungan menggunakan threads pada multiple process!

* respon lebih cepat
* menggunakan resource bersama-sama
* lebih ekonomis
* meningkatkan utilitas arsitektur mikroprosessor

8. Apakah perbedaan antara user-level thread dan kernel-supported threads ?

Thread terdiri dari dua bentuk yaitu user-level thread dan kernel-supported thread.

User-level thread adalah thread yang diatur dengan menggunakan pustaka user level thread. Contoh
sistem yang menggunakan user thread adalah POSIX Pthreads, Mach C-threads dan
Solaris threads.

Kernel-supported thread adalah thread yang didukung oleh Kernel.
Contoh sistem yang menggunakan kernel thread adalah Windows 95/98/NT/2000,
Solaris, Tru64 UNIX, BeOS dan Linux.

9. Ada 3 model multithreading, jelaskan!

* Pada model Many-to-One , beberapa user level thread dipetakan ke satu kernel thread dan digunakan pada sistem yang tidak mendukung kernel threads.

* Pada model One-to-One, setiap user-level thread dipetakan ke kernel thread, misalnya pada Windows 95/98/NT/2000 dan OS/2.

* Pada model Many-to-Many, user level thread dipetakan ke beberapa kernel threads. Pada sistem operasi ini akan dibuat sejumlah kernel thread.

10. Jelaskan 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 state new, runnable, blocked dan dead.
Read On 0 komentar

gabungan linkedlist dan buble sort

9:13 PM
<$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>
Read On 0 komentar

struktur data short

9:12 PM
<$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>
<$br> <$input type=text name=Data size=30 value="3,4,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>
Read On 0 komentar

struktur data graph

9:10 PM
<$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>
Read On 0 komentar

Memanggil List Ukuran, toArray, toString

9:07 PM
<$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>");
document.write("Isi Array Awal = " + List.toArray() +"<$br>");
document.write("Isi String Awal = " + List.toString() +"<$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>");
document.write("Isi Array Akhir = " + List.toArray() +"<$br>");
document.write("Isi String Awal = " + List.toString() +"<$br>");
//-->
<$/script>
<$/body>
<$/html>
Read On 0 komentar

tambah ukuran struktur data

8:53 PM
<$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>
Read On 0 komentar

Tugas Instalasi Komputer (Klasifikasi Software)

8:26 PM

Perangkat lunak secara umum dapat di bagi 2 yaitu :

1. Perangkat lunak sistem

2. Perangkat lunak aplikasi.

Perangkat lunak sistem dapat di bagi lagi menjadi 3 macam yaitu :

1. Bahasa pemrograman : merupakan perangkat lunak yang bertugas mengkonversikan arsitektur dan algoritma yang di rancang manusia ke dalam format yang dapat di jalankan komputer, contoh bahasa pemrograman di antaranya : BASIC, COBOL, Pascal, C++, FORTRAN

2. Sistem Operasi : saat komputer pertama kali di hidupkan, sistem operasilah yang pertama kali di jalankan, sistem operasi yang mengatur seluruh proses, menterjemahkan masukan, mengatur proses internal, memanejemen penggunaan memori dan memberikan keluaran ke peralatan yang bersesuaian, contoh sistem operasi : DOS, Unix, Windows 95, IMB OS/2, Apple’s System 7

3. 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 Norton Utility

Perangkat lunak aplikasi merupakan bagian perangkat lunak yang sangat banyak di jumpai dan terus berkembang, baik pada system operasi berbasis text maupun pada system operasi berbasis Grafis (GUI). Sebelum tahun 1990-an aplikasi yang di kenal yaitu pemroses kata (Word Star, Chi Write), pemproses tabel (Lotus 123, Quatro Pro), database (DBASE), dan hiburan (game). Pada perkembangan pemroses kata, tabel dan database saat ini telah di bundel menjadi aplikasi office atau Open Office dengan tambahan aplikasi untuk pembuatan presentasi yang nanti akan di berikan pada pelatihan ini. Contoh aplikasi office adalah Microsoft Office yang terdiri dari Word(pemroses kata), Excel (pemroses tabel), Access (database), dan PowerPoint (presentasi). Dan contoh Open Office KWord (Pemroses kata), KSpreed(Pemroses table), KPresenter (presentasi). Yang berkembang sangat banyak saat ini adalah aplikasi multimedia dan internet. Contoh aplikasi multimedia adalah Winamp, Media Player, XMMS, untuk memutar musik berformat MP3 atau CD Audio, kemudian RealPlayer, Power DVD, XINE yang dapat digunakan untuk menonton film atau VCD. Aplikasi internet yang umum di gunakan adalah untuk browsing,e-mail, chatting dan messenger. Aplikasi yang bersifat khusus di antaranya untuk membantu pekerjaan Engineer seperti AutoCAD (gambar struktur), Protel (gambar rangkaian elektronik), dan Matlab (pemroses dan visualisasi persamaan matematis).

Software
Software adalah perangkat lunak yang umumnya digunakan untuk mengontrol perangkat keras, melakukan perhitungan, berinteraksi dengan perangkat lunak lainnya, dan lain-lain.

Beberapa klasifikasi software diantaranya:

Freeware
Freeware adalah perangkat lunak bebas yang mengacu pada kebebasan para penggunanya untuk menjalankan, menggandakan, menyebarluaskan, mempelajari, mengubah dan meningkatkan kinerja perangkat lunak. Suatu program merupakan perangkat lunak bebas, jika setiap pengguna memiliki semua dari kebebasan tersebut. Dengan demikian, kita seharusnya bebas untuk menyebarluaskan salinan program itu, dengan atau tanpa modifikasi (perubahan), secara gratis atau pun dengan memungut biaya penyebarluasan, kepada siapa pun dimana pun. Kebebasan untuk melakukan semua hal di atas berarti kita tidak harus meminta atau pun membayar untuk ijin tersebut.

Shareware
Shareware adalah perangkat lunak yang membatasi penggunanya dengan mengurangi fitur-fitur tertentu atau membatasi masa penggunaannya selama jangka waktu tertentu ataupun juga penggabungkan kedua hal ini. Tujuan dari publikasi shareware adalah untuk berbagi fungsi dan keunggulan perangkat lunak itu kepada konsumen sehingga konsumen bisa berkesempatan mencoba secara langsung perangkat lunak tersebut untuk kemudian memutuskan tidak lagi memakai software tersebut atau membeli versi penuhnya.

Read On 0 komentar

Stack 2

2:18 AM
<$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=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>
Read On 0 komentar

Stack 1

2:14 AM
<$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>
Read On 0 komentar

Script Kalender dan Jam Digital

10:51 PM
<$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 < minute = "0" 4 ="="" ar =" new" ar =" new" now =" new" year =" now.getYear()" month =" now.getMonth()" monthname =" getMonthName(month)" date =" now.getDate()" now =" null" firstdayinstance =" new" firstday =" firstDayInstance.getDay()" firstdayinstance =" null" days =" getDays(month," headerheight =" 50" border =" 2" cellspacing =" 4" headercolor = "midnightblue" headersize = "+3" colwidth =" 60" daycellheight =" 25" daycolor = "darkblue" cellheight =" 40" todaycolor = "red" timecolor = "purple" text = "">'
text += '<$TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing + '>' // table settings
text += '<$TH COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header cell
text += '<$FONT SIZE=' + headerSize + ' style="color:' + headerColor + ';">' // 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 style="color:' + dayColor + ';">'
var closeCol = '<$/FONT>'

// 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 style="color:' + todayColor + ';">'
text += digit
text += '<$/FONT><$BR>'
text += '<$FONT SIZE=2 style="color:' + timeColor + ';">'
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 style="font-family:arial;font-size:-2;">This free script provided by<$/font><$br>
<$font style="font-family:arial, helvetica;font-size:-2;"><$a href="http://javascriptkit.com">JavaScript
Kit<$/a><$/font><$/p>
Read On 0 komentar

Program Entri Data Pegawai

10:01 PM
<$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>
Read On 0 komentar

Record

9:47 PM
<$html>
<$head>
<$title>Membuat Rekaman Objek <$/title>
<$/head>
<$body>
<$script language = "JavaScript">
<$!-- var Record = new Array (); function Mahasiswa (npm, nama, prodi, jenjang)
{
// Properti this.npm = npm; this.nama = nama; this.prodi = prodi; this.jenjang = jenjang;
// Metode this.LihatRecordMahasiswa = LihatRecordMahasiswa;
}
function LihatRecordMahasiswa () { document.write("<$td>" + this.npm + "<$/td>");
document.write("<$td>" + this.nama + "<$/td>");
document.write("<$td>" + this.prodi + "<$/td>");
document.write("<$td>" + this.jenjang + "<$/td>");
}
//mengisi data
Record[0] = new Mahasiswa("43E001", "Dani", "TI", "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>");
}


//-->
<$/SCRIPT>
<$/body>
<$/html>
Read On 0 komentar

Menghitung dan Menampilkan Deret Fibonacci

9:39 PM
<$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="aqua">

<$/body>
<$/html>
Read On 0 komentar

Belajar Array dan Parameter Array

9:21 PM
<$html>
<$head>
<$title>Belajar Array<$/title>
<$/head>
<$body Bgcolor = "blue sky">
<$script language = "JavaScript">
<$!-- var DATA_KU = new Array("Saya","Sedang","Senang");
for (i=0; i<3; i++)
{
document.write(DATA_KU[i] +"
");
}

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

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

=========================================

<$html>
<$head>
<$title>Parameter Array<$/title>
<$/head>
<$body Bgcolor = "blue sky">
<$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>
Read On 0 komentar

Fungsi Matematika

9:04 PM
<$html>
<$head>
<$title>Membuat fungsi Matematika Dengan Javascript<$/title>
<$/head>
<$body bg style="color:lavender;">
<$font style="font-family:comic sans ms;color:purple;">
<$script language="Javascript">
<$!-- function jumlah(x, y)
{
var hasil= x+y;
return(hasil);
}
var a = parseInt (prompt ("Ketikan Bilangan A = \n Ingat Jangan String"));
var b = parseInt (prompt ("Ketikan Bilangan B = \n Ingat Jangan String"));
var z = jumlah(a,b); document.write (z); document.write ("
");
document.write ("
");
document.write ("Tipe Data nya adalah = "+typeof(z));

//-->
<$/script>
<$/font>
<$/body>
<$/html>
Read On 0 komentar

Konversi Antar Sistem Bilangan

8:53 PM
<$html>
<$head>
<$title>konversi Antar Sistem Bilangan<$/title>
<$/head>
<$body bg style="color:aqua;">
<$font style="font-family:comic sans ms;color:green;">
<$script language="javascript">
<$!-- var bil = new Number(25);
document.write ("Bilangan Desimal : "+bil+"
");
document.write ("
");

document.write ("Biner : " + bil.toString(2) +"
");
document.write ("Oktal : " + bil.toString(8) +"
");
document.write ("Heksa : " + bil.toString(16) +"
");

//-->
<$/script>
<$/font>
<$/body>
<$/html>
Read On 0 komentar

Menambahkan 2 Bilangan

8:15 PM
<$html>
<$head>
<$title>Type Bilangan <$/title>
<$/head>
<$body bg >
<$span >
<$script language = "javascript">
<$!--
var a = 15;
b = 14;

tambah = a+b;
kali = a*b;

document.write ("A = "+a+" ");
document.write ("
");
document.write ("B = "+b+" ");
document.write ("
");
document.write ("
");
document.write ("Penambahan (" +a+ " + " +b+ ") = " + tambah);
document.write ("
");
document.write ("Perkalian (" +a+ " x " +b+ ") = " + kali);
document.write ("
");

<$//-->
<$/script>
<$/span>
<$/body>
<$/html>
Read On 0 komentar

Labels

Blogumulus by Roy Tanck and Amanda Fazani

Followers


Ngobrol yuu...!!


ShoutMix chat widget

Waktu