Anda di halaman 1dari 21

1

VII. MANAJEMEN MEMORI

Memori utama harus diatur sebaik mungkin agar :


• meningkatkan utilitas CPU yang sebesar-besarnya
• data dan instruksi dapat diakses dengan cepat oleh CPU
• memori utama memiliki kapasitas yang sangat terbatas, sehingga pemakaiannya harus seefisien
mungkin
• transfer data dari/ke memori utama ke/dari CPU dapat efisien.

Manajemen memori berkaitan dengan memori utama sebagai sumber daya yang harus dialokasikan
dan dipakai bersama diantara sejumlah proses yang aktif. Manajemen memori juga berkaitan dengan
usaha agar pemrogram atau pemroses tidak dibatasi oleh kapasitas memori fisik yang terdapat pada
sistem komputer.
Fungsi manajemen memori :
• mengelola informasi memori yang terpakai dan yang tidak terpakai
• mengalokasikan memori ke proses yang memerlukan
• mendealokasikan memori dari proses telah selesai
• mengelola swapping antara memori utama dan disk

SWAPPING
Suatu proses dapat dialihkan sementara dari memori ke suatu tempat penyimpanan dan dipanggil
kembali ke memori jika akan melanjutkan eksekusi. Proses ini disebut swapping.

Manajemen memori berdasarkan keberadaan swapping :


- manajemen tanpa swapping
- manajemen dengan swapping

1. Manajemen memori tanpa swapping


= manajemen memori tanpa pemindahan proses antara memori utama dan disk selama eksekusi
Terdiri dari :
• monoprogramming
• multiprogramming dengan pemartisian statis

Monoprogramming
Merupakan manajemen memori paling sederhana. Sstem komputer hanya mengijinkan 1
program/pemakai berjalan pada 1 waktu. Semua sumber daya sepenuhnya dikuasai proses yang
sedang berjalan. Ciri-ciri manajemen memori monoprogramming :
• hanya 1 proses pada 1 saat
• hanya 1 proses menggunakan semua memori
• pemakai memuatkan program ke seluruh memori dari disk / tape
• program mengambil kendali seluruh mesin
Karena hanya terdapat 1 proses dan menguasai seluruh sistem maka alokasi memori dilakukan
secara berurutan.
Memori utama
Sistem operasi di RAM

Program pemakai di RAM

Memori tak dipakai

Multiprogramming dengan pemartisian statis


Multiprogramming = banyak proses pada memori utama pada saat bersamaan.
Alasan menggunakan multiprogramming :
• mempermudah pemrogram karena pemrogram dapat memecah program menjadi 2 proses/lebih
• agar dapat memberi layanan interaktif ke beberapa orang secara simultan
• efisiensi penggunaan sumber daya
• eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil
• dapat mengerjakan sejumlah job secara simultan
2
Partisi Statis
= memori dibagi menjadi sejumlah partisi tetap. Pada partisi tersebut proses-proses ditempatkan.
Berdasarkan ukurannya, dibagi 2 :
• Pemartisian dengan partisi berukuran sama
Ukuran semua partisi memori adalah sama. Beberapa proses yang ukurannya kurang/sama
dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia.
Kelemahan :
1. Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat
dimuatkan dan dijalankan. Pemrogram harus mempersiapkan overlay. Overlay adalah
program dipecah menjadi bagian-bagian yang dapat dimuat ke memori. Sehingga hanya
bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling
bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.
2. Bila program lebih kecil daripada ukuran partisi yang tersedia, maka akan ada ruang yang
tak dipakai, yang disebut fragmentasi internal Æ pemborosan memori. Kelemahan ini dapat
dikurangi dengan membuat partisi tetap dengan ukuran yang berbeda.

Sistem operasi

Partisi - 1 256 Kbyte

Partisi -2 256 Kbyte

Partisi -2 256 Kbyte

• Pemartisian dengan partisi berukuran berbeda : ukuran semua partisi memori berbeda

Sistem operasi

Partisi - 1 100 Kbyte

Partisi -2
256 Kbyte

Partisi -3
350 Kbyte

Fragmentasi pada partisi statis


Fragmentasi = penyiaan/pemborosan memori yang terjadi pada setiap organisasi penyimpanan.
• Fragmentasi internal : proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses
• Fragmentasi eksternal : partisi tidak dapat digunakan karena ukuran partisi lebih kecil dibanding
ukuran proses yang menunggu di antrian.

2. Manajemen memori dengan swapping


= manajemen memori dengan pemindahan proses antara memori utama dan disk selama
eksekusi. Diterapkan pada multiprogramming dengan pemartisian dinamis.

Partisi dinamis
partisi statis menyebabkan memori terlalu banyak diboroskan dengan proses-proses yang lebih kecil
dibanding partisi yang ditempatinya. Dengan partisi dinamis maka jumlah, lokasi, dan ukuran proses
di memori dapat beragam sepanjang waktu secara dinamis. proses yang akan masuk ke memori
segera dibuatkan partisi untuknya sesuai kebutuhannya. Teknik ini meningkatkan utilitas memori.
Kelemahan :
• dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai
• merumitkan alokasi dan dealokasi memori

contoh :
3

Memori untuk Memori untuk Memori untuk


Sistem operasi Sistem operasi Sistem operasi

Proses 0 Proses 0 Proses 0


proses 1 berakhir
Proses 1 & membebaskan Bebas Bebas
memorinya

Proses 2 Proses 2 Proses 2

Proses 3 Proses 3 proses 3 berakhir Bebas


& membebaskan
memorinya

Setelah proses 3 berakhir memori dipenuhi lubang-lubang memori yang tidak terpakai.
Dapat diatasi dengan cara pemadatan memori (memory compaction) yaitu operasi penggabungan
semua lubang kecil menjadi lubang besar dengan memindahkan semua proses agar saling
berdekatan. Contoh diatas setelah pemadatan memori :

Memori untuk Kelemahan pemadatan memori :


Sistem operasi - memerlukan waktu yang sangat banyak
- sistem harus menghentikan sementara semua
Proses 0 proses saat pemadatan, sehingga mengakibatkan
meningkatnya waktu tanggap
Proses 2

Bebas

Masalah lain pada partisi dinamis adalah proses dapat tumbuh berkembang. Solusinya adalah bila
proses bersebelahan dengan lubang memori tak dipakai, proses tumbuh memakai lubang itu.
Masalah menjadi lebih parah bila proses bersebelahan dengan proses-proses lain. Alternatif
penyelesaian :
• bila masih terdapat lubang besar yang dapat memuat proses, maka proses dipindah ke lubang
memori yang dapat memuat
• 1 proses atau lebih diswap ke disk agar memberi lubang cukup besar untuk proses yang
berkembang
• jika proses tidak dapat tumbuh di memori dan daerah swap di disk telah penuh,proses harus
menunggu/disingkirkan.

PENCATATAN PEMAKAIAN MEMORI


Memori yang tersedia harus dikelola dengan pencatatan pemakaian memori yaitu :
1. Pencatatan memakai peta bit
Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit alokasi, yaitu 1
bit pada bit map.
• nilai 0 pada peta bit berarti unit itu masih bebas
• nilai 1 berarti unit sudah digunakan
Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi memori, yaitu :
• unit lokasi memori berukuran kecil berarti membesarkan ukuran peta bit
• unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori banyak
disiapkan pada unit terakhir jika ukuran proses bukan kelipatan unit alokasi
4
Keunggulan : dealokasi dapat dilakukan dengan mudah, hanya tinggal mengeset bit yang
berkorespondensi dengan unit yang telah tidak digunakan dengan 0.
Kelemahan :
• harus dilakukan penghitungan blok lubang memori saat unit memori bebas
• memerlukan ukuran bit map besar untuk memori yang besar.

1 2 3 4 5 6

bebas/masih kosong

1 1 1 0 0 1

2. Pencatatan memakai senarai berkait


Sistem operasi mengelola senarai berkait (linked list) untuk segmen-segmen memori yang
telah dialokasikan dan bebas. Segmen memori menyatakan memori untuk proses atau
memori yang bebas (lubang). Senarai segmen diurutkan sesuai alamat blok.
Memori yang digunakan pada metode ini lebh kecil dibandingkan dengan peta bit.
Keunggulan :
• tidak harus dilakukan perhitungan blok lubang memori karena sudah tercatat di node
• memori yang diperlukan relatif lebih kecil
Kelemahan :
Dealokasi sulit dilakukan karena terjadi berbagai operasi penggabungan node di senarai

STRATEGI ALOKASI MEMORI


Alokasi harus mencari sekumpulan blok memori yang ukurannya mencukupi untuk memuat
proses,dimana lubang kosong yang sama atau lebih besar dibanding ukuran memori yang diperlukan
oleh proses. Macam strategi :

First-fit Algorithm
Pencarian dimulai dari awal dan akan berhenti jika ditemukan lokasi pertama yang cukup besar
untuk menempatkan proses tersebut.
Contoh :
terdapat partisi kosong pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6 Kb
bila datang data yang berukuran 3 Kb maka akan menempati partisi ukuran 4 Kb.

Next-fit Algorithm
Sama dengan first-fit hanya saja pencarian tidak dimulai dari awal, tapi dari lokasi terakhir kali
menemukan segmen yang cocok dan akan berhenti jika ditemukan lokasi pertama yang cukup besar
untuk menempatkan proses tersebut.
Contoh :
terdapat partisi pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6 Kb
bila datang data yang berukuran 3 Kb dan pencarian partisi dimulai dari urutan ketiga karena
sebelumnya posisi terakhir pencarian di partisi kedua, maka data tersebut akan menempati partisi
ukuran 6 Kb.

Best-fit Algorithm
Pencarian dimulai dari awal dan akan berhenti jika ditemukan lokasi terkecil pertama yang cukup
untuk menempatkan proses tersebut.
Contoh :
terdapat partisi kosong pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6 Kb
bila datang data yang berukuran 3 Kb maka akan menempati partisi ukuran 3 Kb.

Worst-fit Algorithm
Pencarian dimulai dari awal dan akan berhenti jika ditemukan lokasi yang paling besar yang cukup
untuk menempatkan proses tersebut.
Contoh :
terdapat partisi kosong pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6 Kb
bila datang data yang berukuran 3 Kb maka akan menempati partisi ukuran 6 Kb.
5
Quick-fit Algorithm
Cara ini hanya cocok untuk pencatatan dengan linked list. Algoritma ini dirancang dengan membuat
list lubang. Lubang-lubang memori dimuat di list sesuai dengan ukuran terdekatnya. sebagai contoh
algoritma mengelola list lubang : 8 Kb, 12 Kb, 20 Kb, 40 Kb, 60 Kb, dst, maka jika ada lubang
memori sebesar 42 Kb akan ditempatkan di list 40.

Sistem Buddy
Merupakan cara mengelola memori utama dengan memanfaatkan kelebihan penggunaan bilangan
k
biner (2 ; k = 0,1,2, ...).
Pada sistem buddy, semula semua ruang pada memori kerja didefinisikan sebagai satu kesatuan
utuh. Bagian ini baru dibelah apabila ada data yang menempati ruang tersebut. Sistem pembelahan
0 1 2 3
sesuai dengan pangkat bilangan biner, yaitu : 2 , 2 , 2 , 2 ....
Contoh :
Sebuah memori kerja dengan kapasitas 1024 Kb akan digunakan untuk menyimpan data sebesar
100 Kb dan 200 Kb maka akan didapat hasil akhir :

1024 Kb
512 Kb 512 Kb
256 Kb 256 Kb

128 Kb 128 Kb

Data 100 Kb diletakkan di ruang/blok 128 Kb dan data 200 Kb diletakkan di ruang/blok 256 Kb

MEMORI MAYA
Program yang dijalankan harus dimuat di memori utama. Masalah muncul ketika program lebih
besar dibanding memori utama yang tersedia. Solusinya :
1. Overlay : program dipecah menjadi bagian-bagian yang dapat dimuat memori. Overlay yang
belum diperlukan (tidak sedang dieksekusi) disimpan di disk. Overlay ini dimuatkan ke
memori begitu diperlukan.
2. Memori maya (virtual memori)
Adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia.
Gagasan memori maya adalah ukuran gabungan program, data dan stack melampaui jumlah
memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang sedang
digunakan di memori utama dan sisanya di disk. Bagian-bagian di disk diperlukan maka
bagian memori yang tidak diperlukan disingkirkan diganti bagian di disk yang diperlukan
itu.
Contoh :
Program 10 Mbyte dapat berjalan di mesin 2 Mbyte, yaitu memilih bagian proses sebesar 2
Mbyte secara hati-hati dan ditaruh di memori. Bagian-bagian proses di-swap antara disk dan
memori saat diperlukan secara otomatis oleh sistem operasi.

Memori maya dapat dilakukan dengan 3 cara yaitu :


• paging
• segmentasi
• kombinasi paging dan segmentasi

SISTEM PAGING
Salah satu cara untuk mengatasi eksternal fragmentation adalah dengan teknik pengalokasian
memori dengan paging, yaitu : memori fisik dibagi menjadi blok-blok dengan ukuran tertentu yang
disebut dengan frame/page frame, sedangkan memori logika/maya dibagi menjadi blok-blok yang
disebut page.

Page fault / fault


= exception untuk permintaan alokasi ‘page’ ke memori.

Alamat logika dan fisik


Alamat logika (logical address/virtual address)
= alamat yang dihasilkan oleh CPU disebut alamat logika/alamat maya.
6
Alamat fisik (physical address)
= alamat program yang sesungguhnya pada memori.

Pada saat eksekusi setiap alamat logik harus dipetakan ke alamat fisik sehingga alamat logik
berbeda dengan alamat fisik. Pemetaan dari alamat logik ke alamat fisik dilakukan dengan
menggunakan perangkat keras yang disebut Memory Management Unit(MMU). MMU memiliki
register relokasi yang berisi alamat awal proses. Nilai alamat awal ini akan ditambahkan ke setiap
alamat logik pada proses untuk menciptakan alamat fisik. Sebagai contoh, bila alamat awal adalah
14000,maka pengguna yang ingin mengakses lokasi 0, secara otomatis akan dipetakan ke alamat
14000. Akses ke lokasi 346 akan dipetakan ke lokasi 14346.

relocation
register
Memory
logical 14000 physical
address address
CPU +
346 14346
MMU

Program milik pengguna tidak akan pernah mengetahui alamat fisik ini. Program dapat menciptakan
penunjuk (pointer) ke lokasi dengan alamat logik 346, menyimpannya, memanipulasinya, dan
membandingkannya dengan lokasi memori lain, tetapi semuanya menggunakan alamat 346.
Program hanya berhubungan dengan alamat logik. Ketika instruksi tersebut akan dieksekusi
(dimasukkan ke memori) barulah terjadi pemetaan dari alamat logik ke alamat fisik.
Pada sistem paging alamat logika terdiri dari 2 bagian yaitu :
• nomor page p : digunakan sebagai indeks untuk page table yang berisi alamat awal f untuk
setiap page pada memori
• offset page d : offset page ditambahkan pada alamat awal untuk menghasilkan alamat memori
sebenarnya.

logical
address
p d f d Memory
CPU
346
physical
address

page table

Page table = tabel page untuk semua proses yang ada di memori

Contoh lihat gambar berikut :


Misal setiap page berukuran 4 byte, memory berukuran 32 byte (yang dapat menampung 8 page).
Alamat logik 0 memiliki nomor page 0 dan offset 0. Ketika dihubungkan dengan page table, maka
diketahui bahwa page 0 terletak pada frame 5. Maka alamat logik 0 akan dipetakan ke alamat fisik
20 (yang diperoleh dari (5 x 4) + 0).
Untuk alamat logik 3 (dengan page 0 offset 3) maka akan dipetakan ke alamat fisik 23 (=(5 x 4) +3).
Untuk alamat logik 4 (dengan page 1 offset 0) maka akan dipetakan ke alamat fisik 24 (=(6 x 4) +0).
7

0 0 0 a page frame frame 0


1 1 b
2 2 c
3 3 d 4 i data
0 5
j
1 0 4 e k
1 5 f 1 6
l
2 6 g
3 7 h 2 1 8 m
n
2 0 8 i 3 2 o
1 9 j p
2 10 k
3 11 l page table 12
3 0 12 m frame 3
1 13 n
2 14 o
3 15 p 16

page offset data


20 a
logical frame 5 b
address c
23 d
24 e
f
g
h
physical address 28

ALGORITMA PENGGANTIAN PAGE


Jika suatu proses menginginkan page, tapi page tersebut belum ada pada memori utama, maka akan
terjadi page fault. Untuk memilih page yang dikeluarkan dari memori maka diperlukan algoritma
penggantian yang akan memberikan tingkat page fault yang terendah yang mungkin.

Algoritma Penggantian Page Acak


Setiap terjadi page fault, page yang diganti dipilih secara acak. Teknik ini tidak memakai informasi
apapun dalam menentukan page yang diganti.Semua page di memori utama mempunyai bobot sama
untuk dipilih. Teknik ini dapat memilih sembarang page, termasuk page yang sedang diacu (page
yang seharusnya tidak diganti). Teknik sangat buruk.

Algoritma Penggantian Page FIFO (First In, First Out)


Merupakan algoritma penggantian page yang paling sederhana. Ketika suatu page harus diganti,
maka page terlama yang dipilih. Pada algoritma ini akan muncul Anomali Belady dimana
kecepatan page fault akan bertambah jika framenya juga bertambah.

String referensi 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 2 4 4 4 0 0 0 0 0 0 0 7 7 7
0 0 0 0 3 3 3 2 2 2 2 2 1 1 1 1 1 0 0
1 1 1 1 0 0 0 3 3 3 3 3 2 2 2 2 2 1
Fault F F F F F F F F F F F F F F F
8
Anomali Belady Æ jika frame bertambah maka lebih banyak page fault

String referensi 0 1 2 3 0 1 4 0 1 2 3 4
0 0 0 3 3 3 4 4 4 4 4 4
1 1 1 0 0 0 0 0 2 2 2
2 2 2 1 1 1 1 1 3 3
Fault F F F F F F F F Fault = 8

String referensi 0 1 2 3 0 1 4 0 1 2 3 4
0 0 0 0 0 0 4 4 4 4 3 3
1 1 1 1 1 1 0 0 0 0 4
2 2 2 2 2 2 1 1 1 1
3 3 3 3 3 3 2 2 2
Fault F F F F F F F F F F Fault = 10

Algoritma Penggantian Page Optimal


Algoritma optimal akan mereplace/mengganti page yang tidak digunakan dalam waktu dekat.
Contoh : pada referensi/penunjukan ke-4 terlihat page 7 akan direplace dengan 2 karena 7 baru
akan digunakan lagi pada penunjukkan ke-18. Sedangkan page 0 akan digunakan pada penunjukan
ke-5 dan page 1 pada penunjukan ke-14.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

String referensi 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7
0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0
1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1
Fault F F F F F F F F F

Algoritma Penggantian Page LRU (Least Recently Used)


Algoritma FIFO = memandang page dari sisi berapa lama page tersebut telah berada di memori
Algoritma Optimal = memandang page pada kapan page tersebut akan digunakan lagi
Algoritma LRU = perpaduan FIFO dan Optimal
Æ LRU akan me-replace page yang tidak baru saja dipakai

String referensi 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 2 4 4 4 0 0 0 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0
1 1 1 3 3 3 2 2 2 2 2 2 2 2 2 7 7 7
Fault F F F F F F F F F F F F

SEGMENTASI
Paging merupakan suatu pembagian/pemecahan suatu ruang alamat logika yang tidak beraturan
(tidak tetap) menjadi potongan-potongan kecil yang berukuran tetap. Ada suatu cara yang membagi
suatu ruang alamat logika menjadi potongan-potongan kecil yang sesuai dengan ukuran logika suatu
objek sehingga ukuran potongan tersebut tidak tetap. Potongan tersebut disebut segment.
Jadi suatu ruang alamat logika merupakan suatu kumpulan segment yang tidak membutuhkan
pengurutan di antara segment.
contoh :
9

segment 0 segment 1
(stack) (subroutine)
limit base
0 1000 1400
segment 2 segment 4 1 400 6300
program utama rutin lainnya 2 400 4300
3 1100 3200
segment 3 4 1000 4700
rutin tampilan segment table

ruang
alamat logika

Memori fisik
segment 0

segment 3

segment 4

segment 1
segment 2

1400 2400 3200 4300 4700 5700 6300 6700

Misal :
• Diberikan alamat awal segment dalam memori fisik (base) dan panjang segment (limit). Misal
segment 2 mempunyai panjang 400 byte dan dimulai pada lokasi 4300, sehingga suatu referensi
ke byte 53 dari segment 2 dipetakan ke lokasi :
4300 + 53 = 4353.
• Suatu referensi ke segment 3, byte 852 dipetakan ke 3200 + 852 = 4052

Diasumsikan suatu sistem komputer memiliki memori utama dengan kapasitas 16 MB. Diketahui
ukuran page sebesar 64 byte, maka :
a. Berapa jumlah frame yang tersedia
b. Jika suatu program COBA berukuran 914 byte, berapa page yang dibutuhkan.
c. Apabila diketahui page table sebagai berikut :

Nomor page Frame


0 8
1 2
2 10
3 22
4 12
5 1
: :
: :
Dengan asumsi bahwa program membutuhkan page secara berurutan dari 0 sampai n,
dimanakah letak alamat fisik dari alamat logika 50, 121, dan 380

Jawaban :
a. Jumlah frame yang tersedia :
jumlah memori utama / page = 16 Mbyte / 64byte per page
= 16.777.216 byte / 64 = 262.144 page

keterangan : 16 Mbyte = 16 * 1024 * 1024 = 16.777.216 byte


b. COBA berukuran 914 byte sedangkan 1 page berukuran 64 byte, maka page yang
dibutuhkan adalah 914 / 64 = 14,3 Æ 15 page

c. 1 page = 64 byte.
Menurut page table diatas page 0 akan dipetakan ke frame 8, maka alamat logika 0 akan
dipetakan ke alamat fisik (8 * 64) + 0 = 512.

Keadaan memori logika dapat digambarkan sebagai berikut :


10
Page Memori Logika
0
0 : Dari gambar tersebut dapat dilihat bahwa :
63
64 • alamat logika 50 berada di page 0, offset 50 sehingga
1 : alamat fisiknya (8 * 64) + 50 = 562
127
128 • alamat logika 121 berada di page 1,offset 57 sehingga
2 : alamat fisiknya (2 * 64) + 57 = 185
191
192 • alamat logika 380 berada di page 5,offset 60 sehingga
3 : alamat fisiknya (1 * 64) + 60 = 124
255
256
4 : Keterangan :
319
320 alamat offset diperoleh dari nilai absolut alamat logika
5 : yang ditentukan dikurangi dengan alamat logika awal
383
384
dari page yang diketahui. Contoh : jika alamat logika
6 : 380 berarti alamat offsetnya adalah
: :
absolut(380 – 320) = 60
11
VIII. MANAJEMEN PERANGKAT MASUKAN/KELUARAN(I/O)

Fungsi manajemen perangkat I/O


• mengirim perintah ke perangkat masukan/keluaran agar menyediakan layanan.
• menangani interupsi perangkat masukan/keluaran
• menangani kesalahan pada perangkat masukan/keluaran
• menyediakan interface ke pemakai

Klasifikasi Perangkat I/O


Berdasarkan sifat aliran datanya :
• perangkat berorientasi blok (blok oriented device)
menyimpan dan menukarkan (menerima/mengirim) informasi sebagai blok-blok berukuran
tetap, contoh : disk, tape, CDROM, optical disk, dll
• perangkat berorientasi aliran karakter
perangkat yang mengantarkan atau menerima aliran karakter tanpa peduli membentuk suatu
struktur blok, contoh : terminal, line printer, pita kertas, mouse, kartu berlubang

Berdasarkan sasaran komunikasi:


• perangkat yang terbaca manusia (human readable devices)
perangkat yang cocok untuk komunikasi dengan manusia, contoh : monitor, keyboard, mouse
• perangkat yang terbaca mesin (machine readable devices)
perangkat yang cocok untuk komunikasi dengan perangkat elektronik, contoh : disk dan tape,
sensor, controller.
• untuk komunikasi
perangkat yang cocok untuk komunikasi dengan perangkat jarak jauh, contoh : modem

Prinsip Manajemen Perangkat I/O


Dua sasaran perancangan manajemen I/O :
1. Efisiensi (eficiency)
Merupakan aspek penting karena operasi I/O sering merupakan operasi yang menimbulkan
bottleneck pada sistem operasi.
2. Generalitas (generality)
Manajemen perangkat i/o selain berkaitan dengan simplisitas dan bebas kesalahan, juga
menangani perangkat secara seragam baik dari cara proses memandang maupun cara sistem
operasi mengelola perangkat dan operasi i/o.

Masalah-masalah yang terdapat dan harus diselesaikan pada perancangan manajemen i/o :
1. Penamaan yang seragam (uniform naming)
nama berkas atau perangkat adalah string atau integer, tidak bergantung pada peralatan sama
sekali.
2. Penanganan kesalahan (error handling)
umumnya penanganan kesalahan ditangani sedekat mungkin dengan perangkat keras
3. Transfer sinkron vs asinkron
Kebanyakan i/o adalah asinkron. Pemroses mulai transfer dan mengabaikannya untuk
melakukan kerja lain sampai interupsi tiba. Program-program pemakai sangat lebih mudah
ditulis jika operasi-operasi i/o berorientasi blok. Setelah perintah read, program kemudian
secara otomatis ditunda sampai data tersedia di buffer. Terserah sistem operasi untuk
membuat operasi-operasi yang sesungguhnya interrupt-driven.
4. Sharable vs dedicated
beberapa perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkat yang hanya
satu pemakai yang dibolehkan memakai pada satu saat, contoh perangkat dedicated : printer.

Hirarki Manajemen Perangkat I/O


1. Interrupt Handler
Pengendali interupsi (interrupt handler) harus disembunyikan di sistem yang paling dalam
agar tidak terlihat ke rutin-rutin berikutnya.
2. Device Driver
Semua kode bergantung peralatan yang ditempatkan pada device driver. Tiap device driver
menangani satu tipe peralatan atau satu kelas peralatan yang berhubungan. device driver
12
bertugas menerima permintaan abstrak perangkat lunak device-independent diatasnya dan
melakukan layanan sesuai permintaan.
Mekanisme decive driver :
• Menerjemahkan perintah-perintah abstrak menjadi perintah-perintah kongkret
• Setelah mendapat perintah, device driver mulai menulis ke register-register pengendali
peralatan
• Setelah operasi selesai dilakukan, device driver memeriksa kesalahan-kesalahan yang
terjadi
• Jika semua berjalan baik, device driver melewatkan data ke perangkat lunak device-
independent
• Device driver melaporkan status operasinya ke pemanggil

3. Perangkat Lunak Device Independent


Fungsi utama perangkat lunak ini :
• membentuk fungsi-fungsi i/o yang berlaku untuk semua perangkat
• memberi interface/antarmuka seragam ke perangkat lunak tingkat pemakai
Fungsi yang dilakukan antara lain:
• interface seragam untuk seluruh device driver
• penamaan peralatan
• proteksi peralatan
• memberi ukuran blok peralatan agar bersifat device independent
• melakukan buffering
• alokasi penyimpanan pada block-devices
• alokasi dan pelepasan dedicated-devices
• pelaporan kesalahan
4. Perangkat Lunak Level Pemakai
Kebanyakan perangkat lunak i/o terdapat pada sistem operasi. Tidak semua perangkat lunak
i/o level pemakai berisi prosedur-prosedur pemakai. Kategori penting adalah sistem
spooling. Spooling merupakan cara khusus berurusan dengan peralatan i/o yang harus
didedikasikan pada sistem multiprogramming.

Mekanisme Perangkat Lunak I/O


A. Disk
Disk diorganisasikan menjadi silinder-silinder dengan track-track terdapat head yang ditumpuk
secara vertikal. Tiap track terbagi menjadi sektor-sektor. Waktu yang dibutuhkan untuk
membaca dan menulis disk dipengaruhi oleh :
1. Waktu seek
Waktu yang diperlukan untuk sampai ke posisi track yang dituju. Waktu seek merupakan
faktor yang paling dominan.
2. Waktu tunda rotasi
Waktu yang diperlukan mekanisme akses mencapai blok yang diinginkan.
3. Waktu transfer data
waktu tranfer data bergantung pada kecepatan rotasi dan kepadatan rekaman. Transfer rate
(t) adalah kecepatan transfer data sesaat, data ini diberikan oleh pembuat perangkat keras

Beberapa tipe kesalahan dapat muncul ketika operasi disk. Kesalahan-kesalahan pada disk dapat
dikategorikan sebagai berikut :
1. Programming error
Kesalahan yang disebabkan pemrograman, misalnya driver memerintahkan mencari track
yang tak ada, membaca sector yang tak ada, dll
2. Transient checksum error
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk. Untuk
mengeliminasi kesalahan ini maka dilakukan pengulangan operasi pada disk.
3. Permanent checksum error
Kesalahan disebabkan kerusakan disk maka harus dibuat daftar blok-blok buruk agar data
tidak ditulis di blok buruk.
4. Seek error
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi kembali.
13

5. Controller error
Kesalahan ini ditanggulangi dengan menukar pengendali yang salah dengan pengendali yang
baru.

B. Clock
Perangkat keras clock mempunyai 2 tipe clock, yaitu :
1. Clock yang ditimbulkan impulse tegangan listrik
2. Programmable interval timer (PIT)

Sedangkan perangkat lunak clock pada sistem operasi mempunyai beberapa fungsi, antara lain :
• mengelola waktu dan tanggal (waktu nyata)
• mencegah proses berjalan lebih dari waktu yang ditetapkan
• menghitung pengunaan pemroses
• mengerjakan monitoring dan pengumpulan statistik

Alokasi Piranti
Terdapat 3 cara untuk mengatur alokasi piranti, yaitu :
1. Dedicated device
merupakan cara mengalokasikan piranti untuk sebuah pekerjaan selama pekerjaan berada
dalam sistem. Kelemahannya adalah tidak efisien karena bila suatu pekerjaan menggunakan
sekali-kali, tetapi piranti harus tetap melayani pekerjaan tersebut.
2. Shared device
merupakan cara mengalokasikan piranti supaya dapat digunakan secara bergantian untuk
beberapa pekerjaan. Beberapa piranti seperti cakram magnetis, drum dapat digunakan secara
bergantian.
3. Virtual device
Piranti yang digunakan dengan cara dedicated, misal pembaca kartu, pencetak, dapat diubah
menjadi piranti shared melalui cara-cara seperti spooling.
Spooling program bertugas membaca dan menyalin semua kartu masukan ke dalam cakram
dengan kecepatan tinggi. Bila proses mencoba membaca kartu, spooling program
mengalihkan permintaan itu dan mengubahnya menjadi membaca salinan kartu itu dari
cakram. Jadi seolah-olah membaca kartu masukan, meskipun ia membaca dari cakram.
14
IX. SISTEM MANAJEMEN FILE

SIFAT FILE
• persistence : informasi dapat bertahan meski proses yang membangkitkannya berakhir atau
meskipun catu daya dihilangkan, sehingga tetap dapat digunakan kembali di masa datang
• size : umumnya berukuran besar, sehingga memungkinkan menyimpan informasi yang
sangat besar disimpan
• sharability : file dapat digunakan banyak proses mengakses informasi secara kongkuren

SASARAN MANAJEMEN FILE


1. Memenuhi kebutuhan manajemen data bagi pemakai, termasuk penyimpanan data dan
kemampuan melakukan operasi berikut :
• menampilkan seluruh record data (retrieve all)
• menampilkan 1 record data tertentu (retrieve one)
• menampilkan 1 record data berikutnya (retrieve next)
• menampilkan 1 record data sebelumnya (retrieve previous)
• menyisipkan 1 record data (insert one)
• menghapus 1 record data tertentu (delete one)
• memperbaharui 1 record data tertentu (update one)
• memperbaharui beberapa record data tertentu sesuai kriteria (update few)
2. Menjamin data pada file adalah valid
3. Optimasi kinerja :
menurut sistem : meningkatkan jumlah throughput keseluruhan
menurut pemakai : cepatnya waktu tanggap
4. Menyediakan dukungan masukan/keluaran beragam tipe perangkat penyimpan
5. Meminimalkan atau mengeliminasi potensi kehilangan atau perusakan data
6. Menyediakan sekumpulan rutin interface I/O
7. Menyediakan dukungan I/O bagi banyak pemakai dalam kasus sistem multiuser

FUNGSI MANAJEMEN FILE


1. Pemakai dapat menciptakan, memodifikasi dan menghapus berkas
2. Pemakai dapat memakai bersama file secara terkendali
3. Mekanisme pemakaian file secara bersama, yaitu menyediakan beragam tipe pengaksesan
terkendali seperti read access, write access, execute access ataupun kombinasi lain.
4. pemakai dapat menstrukturkan berkas-berkasnya sehingga menyamankan aplikasi
5. Pemakai dapat melakukan transfer informasi antar berkas
6. Kemampuan back-up dan recovery harus disediakan untuk mencegah kehilangan karena
kecelakaan atau dari upaya penghancuran informasi.
7. Pemakai mengacu file dengan nama simbolik bukan menggunakan penamaan mengacu
peralatan fisik
8. Pada lingkungan sensitif dimana dikehendaki informasi tersimpan aman dan rahasia
9. Menyediakan interface user-friendly

ARSITEKTUR SISTEM MANAJEMEN FILE


Program pemakai

Pile File Sequential Indexed- Multiple Hashed Multiring Sistem


File Sequential File Indexed File File File Akses

Pustaka/System Call Manipulasi File dan Direktori


Sistem
Abstraksi File dan Direktori File
Sistem File Dasar

Disk device driver Tape device driver Manajemen


I/O
15
Device driver
merupakan lapisan terbawah, berkomunikasi secara langsung dengan perangkat peripheral atau
pengendali. Device driver bertanggung jawab memulai operasi – operasi masukan/keluaran. Pada
operasi-operasi berkas, perangkat yang biasa dipakai adalah disk dan tape. Device driver merupakan
bagian dari manajemen I/O.

Sistem File Dasar


Sistem file dasar atau tingkat masukan/keluaran merupakan interface utama dengan lingkaran di luar
sistem komputer. Lapisan ini berurusan dengan blok-blok data yang dipertukarkan antara sistem
dengan disk dan tape.
Lapisan ini berfungsi dalam penempatan blok-blok data pada perangkat penyimpan sekunder dan
dengan buffering blok-blok data itu pada memori utama. Lapisan ini tidak berkaitan dengan isi data
atau struktur file yang terlibat.

Abstraksi File dan Direktori


Sistem file memberikan abstraksi ke pemakai berupa file dan direktori. Pemakai yaitu manusia
ataupun proses tidak lagi berkaitan dengan blok-blok data melainkan beroperasi terhadap abstraksi
file dan direktori.

Operasi-operasi terhadap file dan direktori


Kumpulan system call / pustaka untuk manipulasi file dan direktori

Sistem Akses
Merupakan lapisan terakhir. Lapisan ini menyediakan interface standar antara aplikasi-aplikasi dan
sistem file serta perangkat yang menyimpan data. Metode-metode pengaksesan yang berbeda
merefleksikan struktur file berbeda dan cara-cara pengaksesan dan pemrosesan yang berbeda.

PENAMAAN FILE
Pemakai mengacu file dengan nama simbolik. Tiap file di sistem harus mempunyai nama unik agar
tidak ambigu. penamaan file dengan nama direktori tempat file memberi nama unik. Tidak
diperbolehka nama file yang sama di satu direktori. Penamaan file berbeda sesuai sistem. Terdapat 2
pendekatan, yaitu :
• sistem yang case sensitive : sistem membedakan antara huruf kecil dan huruf kapital
• sistem yang case insensitive : sistem tidak membedakan antara huruf kecil dan huruf kapital

AKSES FILE
Cara akses perangkat penyimpanan :
1. Perangkat akses sekuensial (sequential access devices)
Proses harus membaca semua byte atau record file secara berurutan mulai dari awal, tidak
dapat meloncati dan membaca di luar urutan, contoh : tape
2. Perangkat akses acak (random access devices)
Dimungkinkan dapat membaca byte atau record file di luar urutan, atau mengakses rekord
berdasarkan kunci, bukan posisinya.

Kriteria memilih organisasi file / pengaksesan dasar file :


• redudansi kecil
• pengaksesan yang cepat
• kemudahan dalam memperbaharui
• pemeliharaan yang sederhana
• kehandalan yang tinggi
Organisasi file / metode akses file :
1. pile file (file pile)
2. sequential file (file sekuensial)
3. indexed sequential file (file indeks sekuensial)
4. multiple indexed file (file berindeks majemuk)
5. hashed or direct file (file ber-hash)
6. multiring file (file cincin)
16
TIPE FILE
♦ File regular : file berisi informasi terdiri dari file ASCII dan biner
♦ File direktori : merupakan file yang berisi infomrasi mengenai file-file yang termasuk dalam
direktori itu.
♦ File spesial : merupakan nama logik perangkat I/O. Perangkat I/O dapat dipandang sebagai file.
• file spesial karakter : berhubungan dengan perangkat I/O aliran karakter. File ini
memodelkan perangkat I/O seperti terminal, printer, port jaringan, modem, dll, alat yang
bukan penyimpan sekunder.
• file spesial blok : berhubungan dengan perangkat I/O sebagai kumpulan blok-blok data
(berorientasi blok)

ATRIBUT FILE
adalah informasi tambahan mengenai file untuk memperjelas dan membatasi operasi-operasi yang
dapat diterapkan. Atribut digunakan untuk pengelolaan file.

Field Deskripsi
Protection Siapa yang dapat mengakses file dan dengan cara apa
Password Password yang diperlukan untuk mengakses file
Creator Id orang yang menciptakan file
Owner Pemilik saat itu
Read only flag 0 untuk read/write, 1 untuk read only
Hidden flag 0 untuk normal, 1 untuk tidak ditampilkan pada listing
System flag 0 untuk normal, 1 untuk file sistem
Archive flag 0 telah dibackup, 1 untuk perlu dibackup
ASCII/binary flag 0 untuk file ASCII, 1 untuk file biner
Random access flag 0 untuk sequential access only, 1 untuk random access
Temporary flag 0 untuk normal, 1 untuk dihapus saat keluar (exit)
Lock flag 0 untuk tak terkunci, tidak nol untuk terkunci
Record length Jumlah byte pada 1 record
Key position Offset kunci pada masing-masing record
Key length Jumlah byte dari field kunci
Creation time Tanggal dan waktu file diciptakan
Time of last access Tanggal dan waktu file diakses terakhir kali
Time of last change Tanggal dan waktu file diubah terakhir kali
Current size Jumlah byte dalam file
Maximum size Ukuran maksimum file boleh tumbuh

OPERASI FILE

Operasi Deskripsi
create Menciptakan file
delete Menghapus file
open Membuka file untuk penyiapan proses selanjutnya
close Menutup file untuk menyimpan semua informasi ke file dan mendealokasikan sumber daya yang
digunakan
Read Membaca data pada file
write Memodifikasi data pada berkas yaitu pada posisi yang ditunjuk
append Menambah data pada berkas,merupakan operasi write yang lebih spesifik, yaitu di akhir berkas
seek Mencari lokasi tertentu, hanya berlaku untuk berkas akses acak
get attributes Membaca atribut-atribut berkas
set attributes Menuliskan (memodifikasi) atribut-atribut berkas
rename Mengganti nama berkas
17
X. KEAMANAN SISTEM

Keamanan sistem komputer adalah untuk menjamin sumber daya tidak digunakan atau dimodifikasi
orang tak diotorisasi. Pengamanan termasuk masalah teknis, manajerial, legalitas, dan politis.
Keamanan sistem dibagi 3 bagian :
1. Keamanan eksternal (external security)
Berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana seperti
kebakaran, kebanjiran.
2. Keamanan interface pemakai (user interface security)
Berkaitan dengan identifikasi pemakai sebelum pemakai diijinkan mengakses program dan
data yang disimpan.
3. Keamanan internal (internal security)
Berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan
sistem operasi yang menjamin operasi yang handal dan tak terkorupsi untuk menjaga
integritas program dan data.

Keamanan (security) : mengacu ke seluruh masalah keamanan, mencakup aspek teknis,


administratif, hukum dan etika dalam melindungi sistem komputer.
Proteksi (protection) : mengacu ke mekanisme sistem yang digunakan untuk
memproteksi/melindungi informasi pada sistem komputer.

MASALAH KEAMANAN
Dua hal penting pada masalah keamanan :
1. Kehilangan data (data loss)
a. Bencana : kebakaran, banjir,gempa bumi,perang, kerusuhan,gerogotan tikus
b. Kesalahan perangkat keras & lunak : ketidakberfungsian pemroses, disk/tape yang
tidak terbaca, kesalahan telekomunikasi, kesalahan program (bugs)
c. Kesalahan / kelalaian manusia : kesalahan pemasukan data, memasang tape/disk
salah, eksekusi program yang salah, kehilangan disk/tape
Diatasi dengan mengelola beberapa backup dan backup ditempatkan jauh dari data yang
online.
2. Penyusup (intruder)
a. Penyusup pasif : membaca data yang tak diotorisasi
b. Penyusup aktif : mengubah data yang tak diotorisasi
Kategori penyusupan :
• Lirikan mata pemakai non teknis : pada sistem time-sharing, kerja pemakai dapat diamati
orang sekelilingnya. Bila dengan lirikan itu dapat mengetahui apa yang diketik saat
pengisian password, maka pemakai non teknis dapat mengakses fasilitas yang bukan
haknya.
• Penyadapan oleh orang dalam
• Usaha hacker dalam mencari uang
• Spionase militer / bisnis

Ancaman Keamanan pada Sistem Komputer


Sasaran/tujuan pengamanan : menghindari, mencegah, mengatasi ancaman terhadap sistem.
Sistem yang aman bila 3 hal tercapai yaitu :
♦ Kerahasiaan (secrecy, diantaranya adalah privasi)
Adalah keterjaminan bahwa informasi di sistem komputer hanya dapat diakses oleh pihak-
pihak yang diotorisasi dan modifikasi tetap menjaga konsistensi dan keutuhan data di sistem.
♦ Integritas (integrity)
Keterjaminan bahwa sumber daya sistem komputer hanya dapat dimodifikasi oleh pihak-
pihak yang diotorisasi.
♦ Ketersediaan
Adalah keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang
diotorisasi saat diperlukan.

Ancaman terhadap sistem komputer dikategorikan menjadi 4 :


1. Interupsi
Sumber daya sistem komputer dihancurkan. Interupsi merupakan ancaman terhadap
kesediaan. Contoh : penghancuran bagian perangkat keras, pemotongan kabel komunikasi.
18
2. Intersepsi
Pihak tak diotorisasikan dapat mengakses sumber daya. Intersepsi merupakan ancaman
terhadap kerahasiaan. Pihak tak diotorisasi dapat berupa orang atau program komputer.
Contoh : penyadapan untuk mengambil data, mengkopi berkas tanpa otorisasi.
3. Modifikasi
Pihak tak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya. Modifikasi
merupakan ancaman terhadap integritas. Contoh : mengubah nilai-nilai file data, mengubah
program sehingga bertindak secara berbeda, memodifikasi pesan-pesan yang ditransmisikan
pada jaringan.
4. Fabrikasi (fabrication)
Pihak tak diotorisasi menyisipkan/memasukkan objek-obejk palsu ke sistem. Fabrikasi
merupakan ancaman terhadap integritas.
Contoh : memasukkan pesan palsu ke jaringan, penambahan record file.

Sumber Tujuan
informasi informasi
Aliran normal

Sumber Tujuan Sumber Tujuan


informasi informasi informasi informasi
Interupsi

Intersepsi
Sumber Tujuan
informasi informasi Sumber Tujuan
informasi informasi

Modifikasi
Fabrikasi

OTENTIFIKASI PEMAKAI
Kebanyakan proteksi didasarkan asumsi sistem mengetahui identitas pemakai. Masalah identifikasi
pemakai ketika login disebut otentifikasi pemakai (user authentication). Metode otentifikasi
didasarkan 3 cara :
1. Sesuatu yang diketahui pemakai, misal : password, kombinasi kunci, nama ibu, dll
Password
Pemakai memilih 1 kata kode,mengingatnya dan mengetikkan saat akan mengakses sistem
komputer. Saat diketikkan komputer tidak menampilkan di layar. Teknik ini mempunyai
kelemahan. Pemakai cenderung memilih password yang mudah diingat. Seseorang yang
kenal dengan pemakai dapat mencoba login dengan sesuatu yang diketahuinya mengenai
pemakai. Upaya untuk lebih mengamankan proteksi password :
• alting : menambahkan string pendek ke string password yang diberikan pemakai
sehingga mencapai panjang password tertentu.
• One time password : pemakai harus mengganti password secara teratur, untuk
membatasi peluang password telah diketahui atau dicoba-coba pemakai lain.
• Satu daftar panjang pertanyaan dan jawaban : mengharuskan pemakai memberi satu
daftar pertanyaan panjang dan jawabannya. Pada saat login komputer memilih salah
satu dari pertanyaan secara acak, menanyakan ke pemakai dan mmeriksa jawaban
yang diberikan.
• Tanggapan-tanggapan : pemakai diberi kebebasan memilih satu algoritma, misal x3.
ketika pemakai login, komputer menuliskan di layar angka 3. dalam kasus ini
pemakai mengetik angka 27. algoritma dapa berbeda di pagi, sore, dan hari berbeda,
dari terminal berbeda, dst.
2. Sesuatu yang dimiliki pemakai, misal : badge, kartu identitas, kunci, dsb
3. Sesuatu mengenai (merupakan ciri) pemakai misal : sidik jari, sidik suara, foto, tandatangan,
dsb
19
Pembatasan
Pembatasan-pembatasan dapat dilakukan sehingga memperkecil peluang penembusan oleh pemakai
yang tak diotorisasi, misal :
• Pembatasan login : login hanya diperbolehkan pada terminal tertentu, hanya pada waktu dan hari
tertentu
• Pembatasan dengan call back : login dapat dilakukan siapapun, bila telah sukses login sistem
segera memutuskan koneksi dan memanggil nomor telepon yang telah disepakati. Penyusup
tidak dapat menghubungi lewat sembarang saluran telepon, tapi hanya pada saluran telepon
tertentu.
• Pembatasan jumlah login : login dibatasi sampai 3 kali dan segera dikunci dan diberitahu ke
administrator. Semua login direkam dan sistem operasi melaporkan informasi waktu pemakai
login, terminal dimana pemakai login.

Objek yang perlu diproteksi pada sistem komputer :


1. Objek perangkat keras : pemroses(processor), segment memori, terminal, disk drive,
printer,dsb.
2. Objek perangkat lunak : proses, file, basis data, dsb

PROGRAM JAHAT
Ancaman canggih terhadap sistem komputer adalah program yang mengeksploitasi kelemahan
sistem komputasi. Klasifikasi program jahat :
1. Bacteria
Program yang mengkonsumsi sumber daya sistem dengan mereplikasi dirinya sendiri. Secara
eksplisit tidak merusak file. Tujuan program ini hanya mereplikasi dirinya. Bacteria
bereproduksi secara eksponensial, dengan cepat mengambil alih seluruh kapasitas pemroses,
memori / ruang disk, mengakibatkan penolakan pengaksesan pemakai ke sumber daya.
2. Logic bomb
logik yang ditempelkan pada program komputer agar memeriksa suatu kumpulan kondisi di
sistem. Ketika kondisi yang dimaksud ditemui (misal:tgl tertentu, pemakai menjalankan
aplikasi tertentu, dll) logik mengeksekusi suatu fungsi yang menghasilkan aksi-aksi tak
diotorisasi, misal : mengubah/menghapus data, mesin berhenti, dll.
3. Trapdoor
Titik masuk tak terdokumentasi rahasia di satu program untuk memberikan akses tanpa
metode-metode otentifikasi normal. Trapdoor telah dipakai secara benar selama bertahun-
tahun oleh pemrogram untuk mencari kesalahan program Æ debugging dan testing :
dilakukan pemogram saat mengembangkan aplikasi. Menjadi ancaman ketika digunakan
pemrogram jahat untuk memperoleh pengaksesan tak diotorisasi.
4. Trojan horse
adalah subprogram tak terdokumentasi rahasia ditempelkan dalam suatu program. Program
tersebut mengandung yang kode tersembunyi yang ketika dijalankan melakukan suatu fungsi
yang tak diinginkan. Eksekusi program menyebabkan eksekusi subprogram rahasia ini.
Trojan horse digunakan untuk melakukan fungsi-fungsi secara tidak langsung dimana
pemakai tak diotorisasi tidak dapat melakukannya secara langsung, contoh : untuk dapat
mengakses file-file pemakai lain pada sistem yang dipakai bersama, ketika program
dieksekusi akan mengubah ijin-ijin file sehingga file-file dapat dibaca oleh sembarang
pemakai. Motivasi lain dari trojan horse adalah pengancuran data, misal ditempelkan pada
program kalkulator. Ketika pemakai menggunakan kalkulator, secara diam-diam subprogram
tersebut menghapus file-file pemakai. Trojan horse biasanya ditempelkan pada program-
program/subropgram yang diambil dari internet.
5. Virus
Virus adalah kode yang ditempelkan dalam satu program yang menyebabkan pengkopian
dirinya disisipkan ke satu program lain atau lebih. Program ‘menginfeksi’ program-program
lain dengan memodifikasi program-program itu.
6. Worm
adalah program yang mereplikasi dirinya dan mengirim kopian-kopian dari komputer ke
komputer lewat hubungan jaringan. Sekali aktif di suatu sistem, worm dapat berlaku seperti
virus/bacteria/menempelkan program trojan horse & bisa melakukan sejumlah aksi
menjengkelkan/menghancurkan. Worm juga bisa menentukan apakah sistem sebelumnya
telah diinfeksi sebelum mengirim kopian dirinya ke sistem itu.
20
VIRUS DAN ANTI VIRUS
Virus adalah sama dengan program komputer lainnya. Perbedaan dengan program lain adalah virus
dapat mencantolkan dirinya ke program lain dan mengeksekusi kodenya secara rahasia setiap kali
program inang berjalan. Masalah yang ditimbulkan virus adalah virus sering merusak sistem
komputer seperti menghapus file, partisi disk, atau mengacaukan program. Siklus hidup virus, yaitu:
1. Fase tidur (dormant phase)
Virus dalam keadaan menganggur, tiba-tiba aktif pada saat tertentu. Misal tanggal tertentu,
kehadiran program / file tertentu, kapasitas disk yang melewati batas/batas tertentu. Tidak
semua virus mempunyai tahap ini.
2. Fase propagasi (propagation phase)
Virus menempatkan kopian dirinya ke program lain atau daerah sistem tertentu di disk.
Program yang terinfeksi virus akan mempunyai kloning virus. Kloning virus itu dapat
kembali memasuki fase propagasi.
3. Fase pemicuan (triggering phase)
Virus diaktifkan untuk melakukan fungsi yang dimaksud. Seperti pada fase tidur, fase
pemicuan disebabkan beragam kejadian termasuk penghitungan jumlah kopian dirinya.
4. Fase eksekusi (execution phase)
Virus menjalankan fungsinya, misal menjalankan pesan, merusak program, dll.

Tipe virus
1. Paristic virus
Tipe ini mencantolkan dirinya ke berkas yang berekstension exe. Virus mereplikasikan
ketika program yang terinfeksi dieksekusi dengan mencari berkas-berkas exe lain untuk
diinfeksi.
2. Memory resident virus
Virus memuatkan diri ke memori utama sebagai bagian program yang menetap. Dengan cara
ini, virus menginfeksi setiap program yang dieksekusi.
3. Boot sector virus
Virus menginfeksi master boot record / boot sector dan menyebar saar sistem di-boot dari
disk yang berisi virus tersebut.
4. Stealth virus
Virus yang bentuknya telah dirancang agar dapat menyembunyikan diri dari deteksi
perangkat lunak anti virus.
5. Polymorphic virus
Virus bermutasi setiap kali melakukan infeksi. Deteksi dengan “penandaan” virus tersebut
tidak dimungkinkan.

Antivirus
Solusi ideal terhadap ancaman virus adalah pencegahan. Setelah pencegahan terhadap masuknya
virus untuk pertama kali, maka pendekatan berikutnya yang dapat dilakukan adalah :
1. Deteksi : begitu infeksi telah terjadi, tentukan bahwa infeksi memang telah terjadi dan cari
lokasi virus
2. Identifikasi : begitu virus terdeteksi maka identifikasi virus yang menginfeksi program.
3. Penghilangan : setelah virus teridentifikasi maka hilangkan semua jejak virus dari program
yang terinfeksi dan program dikembalikan seperti semula.
Jika deteksi sukses dilakukan, tapi identifikasi atau penghilangan tidak dapat dilakukan, maka
alternatif yang dilakukan adalah hapus program yang terinfeksi dan kopi kembali backup program
yang masih bersih.
21

Anda mungkin juga menyukai