Assalamualaikum Wr Wb...

Rabu, 05 Januari 2011

TUGAS SISTEM OPERASI " MANAJEMEN MEMORI"

APA YANG DIMAKSUD DENGAN PEMUATAN
Salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
Tanda pengenal untuk pencarian letak memori adalah alamat, lintasan / trek, sector pada suatu disk.

Fungsi manajemen memori :
• Mengelola informasi yang dipakai dan tidak dipakai.
• Mengalokasikan memori ke proses yang memerlukan.
• Mendealokasikan memori dari proses telah selesai.
• Mengelola swapping atau paging antara memori utama dan disk

Memori Dukung / backing store
Contohnya : Floppy, Harddisk, CD, dll.
Untuk mendukung memori kerja, umumnya berbentuk disk sehingga berlaku juga asas pemuktakhiran. Setiap trek dan sektor dapat menyimpan sejumlah byte dari memori kerja. Memori kerja dicapai melalui alamat memori dan register data memori. Dan untuk mencapai informasi di memori dukung, isinya harus dipindahkan dulu ke memori kerja (memori dukung = memori semu = virtual memori).




1 pindahan = 1 blok, makin kecil ukuran memori kerja, makin sering terjadi pindahan.
Alamat Memori
- Alamat memori mutlak (alamat fisik)
Sel memori pada memori kerja adalah sumber daya berbentuk fisik, sehingga untuk mencapai sel memori ini digunakan kata pengenal. Maka disebutlah alamat fisik dan karena nomor alamat fisik ini bersifat mutlak (nomor setiap sel adalah tetap), maka disebut juga alamat mutlak.
- Alamat memori relatif (alamat logika)
Alamat memori yang digunakan oleh program / data berurutan / berjulat. Jika kita menggunakan alamat 1, maka kitapun menggunakan alamat 2,3, … dan untuk 1 informasi jika alamat awalnya 0 dan alamat lainnya relatif terhadap alamat awal 0 ini, maka dinamakan alamat relatif. Dan alamat tersebut adalah logika dari untaian alamat yang menyimpan informasi maka dikenal alamat memori logika.
Contoh : alamat awal relatif 0, alamat awal fisik 14726, maka selisihnya = relokasinya = 14726-0 = 14726.


PEMUATAN INFORMASI KE MEMORI
Ada beberapa cara pemuatan informasi ke ruang memori, yaitu:
Pemuatan mutlak
Pemuatan relokasi
Pemuatan sambung
Pemuatan dinamik


Pemuatan Mutlak
Pemuatan informasi ke memori-kerja, alamat yangtercantum di dalam tata olah sama dengan alamat yangditempatinya di dalam memori-kerja. Contohnya pada program, alamat awal 5235 dan subroutine = 5468 diletakkan pada alamat fisik yang sama.


Pemuatan Relokasi
Kondisi dimana pemuatan informasi ke memory-kerja,alamat yang tercantum di dalam tataolah tidak mestisama dengan alamat yang ditempatinya di dalammemori-kerja. Contohnya alamat pangkal / fisik = 14200, alamat relative program 327, maka alamat mutlaknya = 14200 + 327 = 14527


Hubungan antara alamat memori mutlak dan alamat relative
Hubungan alamat memori mutlak dan alamat relatif berbeda sebanyak alamat pangkal pada alamat mutlak dikurangi dengan alamat awal pada alamat relatif, Secara umum, kalau alamat awal adalahselisih ini dinamakan Relokasi A, alamat pangkal
adalah P, maka relokasi P adalah sebesar:
R = P – A


Pembuatan Sambung (linker)
Menyambungkan suatu informasi ke informasi lain di dalam memori-kerja. Pemuatan sambung sering digunakan pada tataolah atau penggalan tataolah yang tersimpan di dalam pustaka (library).


Pemuatan dinamik (pemuatan tumpang atauoverlay)
Jika ukuran tataolah itu melampaui ukuran ruang memori-kerja, tataolah dapat dipenggal ke dalam sejumlah segmen. Segmen itulah yang kemudian dimuat ke dalam memori-kerja. Pelaksanaan pekerjaan berlangsung segmen demi segmen

Kamis, 04 November 2010

Tugas Sistem Operasi

TEORI
1. Gambar struktur direktori pohon pada Linux :



2. 5 Direktori standar pada Linux :
• /var : Tempat penyimpanan log (catatan hasil output program)
• /tmp : Berisi file sementara
• /home : Berisi direktori untuk file dokumen/data user/pemakai
• /etc : Berisi file administratif (konfigurasi dll) dan file executable atau script yang berguna untuk administrasi system
• /bin : Berisi program standar Linux (binary)

3. Aturan penamaan file dan direktori pada Linux:
• Nama file terdiri dari maksimal 255 karakter berupa alfanumerik dan beberapa karakter spesial yaitu garis bawah ( _ ), dash ( - ), titik( . ), koma ( , ) dan lainnya, kecuali spasi dan karakter & , ; , | , ? , ` , ” , ’ , [ , ] , ( , ) , $ , < , > , { , } , ^ , # , \ , /
• Linux membedakan huruf kecil dengan huruf besar (case sensitive).

4. Apa yang dimaksud dengan nama Path absolute dan Relatif:
- Path absolut : Sebuah Path yang di awali dari direktori root ( / ), dan nama direktori yang akan dimasuki berada di dalamnya, misalnya perintah ls yang sebenarnya berada pada direktori /bin/ls
Jadi untuk menjalankan perintah ls dengan menggunakan absolute path yakni dengan cara:
$ /bin/ls

- Path relatif : Sebuah path yang dapat dimasuki tanpa harus memulai dari direktori root ( / ) atau dengan kata lain jika kita menggunakan relative path, lokasi path tersebut .


5. Perintah cd : Perintah untuk berpindah/berganti ke suatu direktori (cd = change directory).
- Syntax : cd nama_direktori
- Contoh :
$ cd tugas → Pindah ke direktori tugas
$ cd / → Pindah ke direktori / (root)
$ cd ~ → Pindah ke direktori /home/nama_user
$ cd /usr/bin → Pindah ke direktori /usr/lib

6. Perintah ls : Perintah untuk menampilkan isi dari suatu direktori
- Syntax : ls [options] nama_file_atau_direktori
- Contoh :
$ ls → Menampilkan isi dari direktori kerja (working directory)
$ ls materi → Menampilkan isi dari direktori materi
$ ls /usr/bin → Menampilkan isi dari direktori /usr/bin
$ ls -l kelas → Menampilkan isi dari direktori kelas dalam format long (lengkap)

7. Perintah cp : Perintah untuk menyalin (copy) file atau folder
- Syntax : cp [options] direktori_sumber direktori_tujuan
- Contoh :
$ cp data/mhs.doc data_2/ → Men-copy file mhs.doc yang ada di folder data ke folder data_2
$ cp data/tes.xls data_2/tes_2 → Men-copy file tes.xls yang ada di folder data ke folder data_2, dan diganti namanya dengan tes_2

8.Perintah mv : Perintah untuk memindahkan (move) atau mengganti nama (rename) file atau direktori
- Syntax : mv [options] file_atau_direktori_sumber file_atau_direktori_tujuan
- Contoh :
$ mv data/urut.sh data_2/ → Memindahkan file urut.sh yang ada di folder data ke folder data_2
$ mv data/lab.ppt data_2/labor.ppt → Memindahkan file lab.ppt yang ada di folder data ke folder data_2, dan diganti namanya dengan labor.ppt
$ mv kelompok.doc kumpul.doc → Mengubah nama file kelompok.doc menjadi kumpul.doc

9. Perintah rm : Perintah untuk menghapus (remove) file atau direktori
- Syntax : rm [options] nama_file_atau_direktori
- Contoh :
$ rm index.htm → Menghapus file index.htm
$ rm -r coba → Menghapus direktori coba

10. Perintah touch : Perintah untuk membuat file baru.
- Syntax : touch nama_file
- Contoh :
$ touch catatan.txt → Membuat file teks baru dengan nama catatan.txt

11. Perintah mkdir : Perintah untuk membuat direktori baru
- Syntax : mkdir nama_direktori
- Contoh :
$ mkdir dokumen → Membuat sebuah direktori baru dengan nama dokumen

12. Perintah rmdir : Perintah untuk membuang suatu direktori, jika direktori tersebut kosong.
- Syntax : rmdir nama_direktori_kosong
- Contoh :
$ rmdir langganan → Menghapus direktori kosong langganan.

13. Perintah file : Perintah untuk melihat tipe/jenis suatu file
- Syntax : file nama_file
- Contoh :
$ file gbrkerja.jpg → Melihat tipe file gbrkerja.jpg

14. Perintah cat : Perintah untuk menampilkan isi dari suatu file (tanpa meng-editnya)
- Syntax : cat nama_file
- Contoh :
$ cat list.txt → Menampilkan isi dari file list.txt

15. Perintah less : Perintah untuk menampilkan isi dari suatu file tanpa mengeditnya, dan ditampilkan dalam bentuk full screen.
- Syntax : less nama_file
- Contoh :
$ less daftar.txt → Menampilkan isi dari file daftar.txt




PRAKTIKUM
1. Perintah di terminal Linux :
$ cd → Change directory, berpindah ke direktori /home/nama_user
$ pwd → Print working directory, menampilkan informasi direktori aktif saat ini
$ ls -al → Menampilkan isi dari direktori secara lengkap (long) termasuk file yang tersembunyi (hidden).
$ cd . → Direktori . adalah direktori tempat kita berada / tidak berefek apa-apa
$ pwd → Menampilkan informasi direktori aktif saat ini
$ cd .. → Berpindah ke direktori parent / 1 tingkat di atas direktori aktif
→ Pindah ke /home
$ pwd → Menampilkan informasi direktori aktif saat ini
$ ls -al → Menampilkan isi dari direktori secara lengkap (long) termasuk file yang tersembunyi (hidden).
$ cd .. → Berpindah ke direktori parent / 1 tingkat di atas direktori aktif
→ Pindah ke /
$ pwd → Menampilkan informasi direktori aktif saat ini
$ ls -al → Menampilkan isi dari direktori secara lengkap (long) termasuk file yang tersembunyi (hidden).
$ cd /etc → Pindah ke direktori /etc
$ ls -al | more → Menampilkan isi dari direktori secara lengkap (long) termasuk file yang tersembunyi (hidden), ditampilkan halaman (page) per halaman.
$ cat passwd → Menampilkan isi dari file passwd
$ cd - → Pindah ke direktori /home
$ pwd → Menampilkan informasi direktori aktif saat ini


2. Perintah di terminal Linux :
$ ls → Menampilkan isi dari direktori
$ ls -a → Menampilkan isi dari direktori, termasuk yang hidden
$ ls -al → Menampilkan isi dari direktori, termasuk yang hidden dalam format long
• Perintah kedua menampilkan jumlah file yang lebih banyak karena selain file biasa, juga ditambah dengan ditampilkannya file-file tersembunyi/hidden.
• Ukuran file terbesar : .xsession-errors.old
• Ukuran direktori terbesar : tidak ada, semua direktori besarnya 4096 byte

3. Perintah di terminal Linux :
$ touch {report,graph}_{jan,feb,mar}
File yang terbentuk :
• graph_feb
• graph_jan
• graph_mar
• report_feb
• report_jan
• report_mar

4. Perintah di terminal Linux :
$ mkdir SO → Membuat direktori SO
$ mkdir SO/graphs → Membuat direktori graphs di dalam direktori SO
$ cd SO → Masuk ke direktori SO
$ mkdir report → Membuat direktori report di dalam direktori SO
$ cd report → Masuk ke direktori report
$ mkdir ../Backups → Membuat direktori Backups di dalam direktori SO
$ ls → Menampilkan isi direktori report

5. Memindahkan semua file graph ke direktori SO/graph → $ mv graph_* SO/graphs/

6. Memindahkan 2 file report ke direktori SO/report → $ mv report_feb report_mar SO/report/

7. Menghapus 1 file report → $ rm -f report_jan

Selasa, 13 Juli 2010

TUGAS AKHIR PIK INSTALASI UBUNTU 10.04

1.Booting lewat live Cd ubuntu 10.04,Masukkan live Cd ke CD ROM atau anda juga bisa menggunakan flashdisk yang berfungsi sebagai live USB yang berisi file installatin linux. Setelah booting akan muncul tampilan seperti anda lihat dibawah, terdapat 2 option
* “try ubuntu” artinya mencoba ubuntu tanpa merubah apapun pada system komputer
* “Install ubuntu” artinya menginstall system ubuntu pada komputer anda, dan pilih pilihan ini untuk proses instalasi.

2.Setelah itu akan muncul peta lokasi tempat anda tinggal dan zona waktu, untuk region pilih asia dan untuk time zone pilih Indonesia ( Jakarta ) terus klik forward

3.Lalu muncul pilihan keyboard yang anda gunakan pilih default yaitu USA lalu klik forward

4.Lalu muncul Jendela tentang keterangan posisi partisi hardisk tempat ubuntu akan di install, pilih specify partition manually ( advanced ) kemudian klik forward

5.Muncul daftar partisi yang sudah tersedia pada hardisk anda, klik change akan muncul edit partition windows, atur file system linuxnya disini memakai partisi ext4 dan atur pula mount point-nya lalu klik ok, maka system linux akan disimpan pada partisi ext4 pada device /dev/sda1 serta partisi swap pada device /dev/sda5.klik forward

6.Muncul jendela windows, anda diminta mengisi data dan password seperti contoh di atas terus klik forward

7.Muncul jendela ready to install disana terlihat data data yang telah anda atur sebelumnya dimana system akan disimpan di partisi ext4 dan partisi swap juga akan diformat saat proses instalasi, klik install

8.Muncul jendela proses instalasi disertai dengan keterangan tentang fitur- fitur yang ditawarkan oleh ubuntu yang sedang anda install, tunggu sampai instalasi selesai sampai 100%

9.Setelah instalasi selesai akan muncul jendela dimana anda diminta untuk merestart komputer dan setelah itu anda diminta untuk melepaskan live cd yang anda gunakan untuk instalasi

10.Dan akhirnya akan muncul tampilan default linux ubuntu 10.04 artinya anda telah berhasil menginstall linux ke dalam komputer anda. Selamat mencoba!!!.Dan berikut gambar dari langkah-langkah instalasi Ubuntu 10.04.......






























Rabu, 30 Juni 2010

Latihan

<html>
<head>
<title>JavaScript Random Number Generator.</title>
</head>
<body>

<script type="text/javascript">


function inputList(form,listbox) {
var i;
DataKosong= false;
DataInputan = form.IsianData.value;
inputData = DataInputan.Split(",");
for(i = 0; i<inputData.length; i++)
{
inputData[i] = parseInt(inputData[i], 10);
if (isNaN (inputData [i]) )
{
DataKosong = true;
break;
}
}
if (DataKosong)
{
alert ("Silakan Entri Dulu Data, Pisahkan dengan tanda Koma");
form.Data.focus();
}
// Update the select box list.
updateList(listbox);
}


function sortNumbers(form,listbox) {
inputData = bubbleSort(inputData, 0, inputData.length-1);
// Update the select box list.
updateList(listbox);
}




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

// Assign values in array to values in the select box.
function updateList(listbox) {
var i;
for(i = 0; i < inputData.length; i++) {
if(listbox.options[i] == null) {
listbox.options[i] = new Option(inputData[i]);
} else {
listbox.options[i].text = inputData[i];
}
}

}

function ubah(form)
{
form.button1.value = "saya";
}
</script>

<form>
Masukan Deretan Angka, Pisahkan denga Koma :
<hr>
<input type = text name=IsianData size=30 Value="">
<br>
<input type=button value="Masukan ke List" onClick="inputList(this.form,this.form.ranlist)">
<br>
<br>
<select name="ranlist" size="20" style="width:200px">
</select><br><br>
<input type="button" value="Bubble Sort Numbers" name="button1"
onclick="sortNumbers(this.form,this.form.ranlist);">
</form>


</body>
</html>

Selasa, 29 Juni 2010

Bubble Short dari metalshell

<html>
<head>
<title>JavaScript Random Number Generator.</title>
</head>
<body>

<script type="text/javascript">

var ranarray = new Array(100);

// Generate random numbers to fill ranarray.
function genNumbers(listbox) {
var i;

for(i = 0; i < ranarray.length; i++) {
ranarray[i] = Math.random()*100;
// Round to nearest integer.
ranarray[i] = Math.round(ranarray[i]);
}

// Update the select box list.
updateList(listbox);
}


function sortNumbers(listbox) {
var x, y, holder;
// The Bubble Sort method.
for(x = 0; x < ranarray.length; x++) {
for(y = 0; y < (ranarray.length-1); y++) {
if(ranarray[y] > ranarray[y+1]) {
holder = ranarray[y+1];
ranarray[y+1] = ranarray[y];
ranarray[y] = holder;
}
}
}

// Update the select box list.
updateList(listbox);
}

// Assign values in array to values in the select box.
function updateList(listbox) {
var i;
for(i = 0; i < ranarray.length; i++) {
if(listbox.options[i] == null) {
listbox.options[i] = new Option(ranarray[i]);
} else {
listbox.options[i].text = ranarray[i];
}
}

}

</script>

<form>
<select name="ranlist" size="20" style="width:200px">
</select><br><br>
<input type="button" value="Generate Numbers"
onclick="genNumbers(this.form.ranlist);">
<input type="button" value="Bubble Sort Numbers"
onclick="sortNumbers(this.form.ranlist);">
</form>


</body>
</html>

Bubble Short

<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="">
<br>
<input type=button value="Urutkan" onClick="Urutkan (this.form)">
<br>
<br>
Hasil Pengurutan :
<hr>
<input type=text name=Hasil size=30>
</form>
</center>
</body>
</html>
Diposkan oleh Heryanto di 20:27 0 komentar
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 dengan Koma :
<hr>
<input type = text name=Data size=30 Value="">
<br>
<input type=button value="Urutkan" onClick="Urutkan (this.form)">
<br>
<br>
Hasil Pengurutan :
<hr>
<input type=text name=Hasil size=30>
</form>
</center>
</body>
</html>

Selasa, 08 Juni 2010

djikstra

<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 sebelum = new Array(jumlahverteks);

for (i=0; i<jumlahverteks; i++)
{
posisi[i] = nilaiacuan;
sebelum[i] = takterdefinisi;
kunjungan[i] = false;
}

posisi[Awal] = 0;

var verteks;
for (verteks=0; verteks<jumlahverteks; verteks++)
{
var jarakterpendek = nilaiacuan, berhenti = -1;
for (i=0; i<jumlahverteks; i++)
{
if (!kunjungan[i])
{
if posisi[i] <= jarakterpendek)
{
jarakterpendek = posisi[i];
berhenti = i;
}
}
}
kunjungan[berhenti] = true;
for (i=0; i<jumlahverteks; i++)
{
if (!kunjungan[i])
{
var w = bobot(berhenti, i);
if (posisi[berhenti]+w < posisi[i])
{
posisi[i] = posisi[berhenti] + w;
sebelum[i] = berhenti;
}
}
}
}

i = d;
if (posisi[i] < nilaiacuan)
{
var 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,0,3,6,x,x);
matriks[2] = new Array(3,3,0,3,5,x);
matriks[3] = new Array(x,6,3,0,1,3);
matriks[4] = new Array(x,x,5,1,0,1);
matriks[5] = new Array(x,x,x,3,1,0);

var awal = '<pre>';
awal = awal + 'A--2-B-6--D--3-F'+ '<br>';
awal = awal + ' \ | /| /'+ '<br>';
awal = awal + ' 3 3 3 1 1'+ '<br>';
awal = awal + ' \ | / | /'+ '<br>';
awal = awal + ' \|/ |/'+ '<br>';
awal = awal + ' C--5-E'+ '<br>';
awal = awal + '</pre>';

message(awal.replace(/(\d)+/g, '<font color="red">$1</font>'));
}

init();
var dari=0; // A
var ke = 5; // F

dijkstra(matriks.length,dari,ke);
//-->
</script>
</body>
</html>