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.
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
Sistem operasi
• Pemartisian dengan partisi berukuran berbeda : ukuran semua partisi memori berbeda
Sistem operasi
Partisi -2
256 Kbyte
Partisi -3
350 Kbyte
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
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 :
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.
1 2 3 4 5 6
bebas/masih kosong
1 1 1 0 0 1
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.
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.
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
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
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
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
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 :
Jawaban :
a. Jumlah frame yang tersedia :
jumlah memori utama / page = 16 Mbyte / 64byte per page
= 16.777.216 byte / 64 = 262.144 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.
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.
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
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.
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.
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
Sumber Tujuan
informasi informasi
Aliran normal
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.
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