• Tidak ada hasil yang ditemukan

Penerapan Fungsi Hashing CRC32 Pada Program Antivirus Menggunakan Visual Basic 6.0

N/A
N/A
Protected

Academic year: 2016

Membagikan "Penerapan Fungsi Hashing CRC32 Pada Program Antivirus Menggunakan Visual Basic 6.0"

Copied!
78
0
0

Teks penuh

(1)

PENERAPAN FUNGSI HASHING CRC32 PADA PROGRAM

ANTIVIRUS MENGGUNAKAN VISUAL BASIC 6.0

SKRIPSI

YASRI AZWAR SIREGAR

031401027

PROGRAM STUDI S-1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

PENERAPAN FUNGSI HASHING CRC32 PADA PROGRAM

ANTIVIRUS MENGGUNAKAN VISUAL BASIC 6.0

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar

Sarjana Komputer

YASRI AZWAR SIREGAR

0 3 1 4 0 1 0 2 7

PROGRAM STUDI STRATA 1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PENERAPAN FUNGSI HASHING CRC32 PADA

PROGRAM ANTIVIRUS MENGGUNAKAN VISUAL BASIC 6.0

Kategori : SKRIPSI

Nama : YASRI AZWAR SIREGAR

Nomor Induk Mahasiswa : 031401027

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, September 2008

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs.Sawaluddin, M.IT Prof.Dr.Opim S.Sitompul,M.Sc

NIP. 132 206 398 NIP. 131 653 971

Diketahui/Disetujui oleh Prog. Studi Ilmu Komputer S-1 Ketua,

(4)

PERNYATAAN

PENERAPAN FUNGSI HASHING CRC32 PADA PROGRAM ANTIVIRUS

MENGGUNAKAN VISUAL BASIC 6.0

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, September 2008

(5)

PENGHARGAAN

Alhamdulillah penulis ucapkan kepada Sang Khaliq Allah SWT yang melimpahkan rahmat dan karunia-Nya sehingga kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Ucapan terima kasih penulis sampaikan kepada Bapak Prof. Dr. Opim S. Sitompul, M.sc dan Bapak Drs.Sawaluddin, M.IT selaku pembimbing pada penyelesaian tugas akhir ini yang telah memberikan arahan serta kepercayaan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas dan padat serta profesional telah diberikan kepada penulis sehingga penulis dapat menyelesaikan tugas akhir ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S-1 Ilmu Komputer FMIPA USU Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si, MIT., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen dan pegawai pada Program Studi S-1 Ilmu Komputer FMIPA USU, rekan-rekan mahasiswa Ilmu Komputer serta semua pihak yang telah membantu dan memberi masukan kepada penulis.

Akhirnya, tidak terlupakan penulis menghaturkan jazakumullah khairan katsiran kepada ayahanda dan ibunda tercinta, Khayalan Siregar dan Laila Hanum Siregar serta seluruh keluarga tersayang yang telah banyak berjasa dan selalu memberi dorongan serta bantuan baik moril maupun meteril yang tidak terbalaskan kepada penulis selama menyelesaikan skripsi ini. Semoga Allah SWT akan membalasnya.

(6)

ABSTRAK

Virus komputer memiliki berbagai kemampuan dasar diantaranya adalah kemampuan

memanipulasi file, kemampuan untuk memperbanyak diri, dan merusak data. Untuk

menghalangi kegiatan virus yang dapat merusak data pengguna komputer maka para

pengembang sofware membangun sebuah sofware yang dikenal dengan istilah

antivirus. Dalam mengenali dan menghapus virus, antivirus menggunakan beberapa

metode, salah satunya adalah metode hashing. Pada skripsi ini akan dibahas

bagaimana menggunakan fungsi hashing CRC32 sebagai metode untuk mengenali

sebuah virus untuk kemudian dihapus dari komputer user. Fungsi Hashing CRC32

dapat dijadikan sebagai metode untuk mendapatkan penanda dari sebuah file virus, hal

ini dikarenakan metode CRC32 menghitung penanda file berdasarkan ukuran dan isi

file, sehingga kecil sekali kemungkinan dua buah file yang berbeda memiliki penanda

yang sama, karena perbedaan 1 bit saja akan mengubah nilai CRC32 file. Selanjutnya

(7)

Implementation of Hashing Function CRC32 for Antivirus Program

With Visual Basic 6.0

ABSTRACT

Computer viruses have some capabilities, such as manipulating file, reduplicating and

damaging data. To avoid computer viruses activities, then antivirus programs

developed. To recognize and deleting virus, antivirus programs are use some methods.

One of them is Hashing Function method. In this paper will be explained how

Hashing Function CRC32 recognize a virus, then delete it from user’s computer.

CRC32 identifying a virus file by computing size and content of the file, since there is

very small possibility that two files have same signatures. The signatures will be saved

(8)

DAFTAR ISI

1.4 Tujuan Peneltian 5

1.5 Manfaat Penelitian 5

1.6 Sistematika Penulisan

Bab 2 Landasan Teori 6

2.1. Pengertian Virus dan Antivirus 6

2.2. Karakteristik Virus Komputer 9

2.2.1 Ukuran 9

2.2.2 Stealth 9

2.2.3 Metode Infeksi 10

2.2.4 Terminate and Stay Resident 11

2.3 Rutin-Rutin Pada Virus Komputer 12

2.4 Aktivitas-Aktivitas Virus Pada Komputer 14

2.5 Tanda-Tanda Keberadaan Virus 16

2.6 Sejarah Virus Komput er 17

2.7 Jenis-Jenis Virus Komputer 20

2.7.1 Berdasarkan Teknik Pembuatannya 21

2.7.2 Berdasarkan Infeksi Yang Dilakukan 22

2.7.3 Berdasarkan Media Penyebarannya 23

2.8 Program Antivirus 25

2.8.1 Scanner 25

2.8.2 Monitor 26

2.8.3 Integrity Checkers 26

2.9 Pengertian Checksum dan Fungsi Hashing CRC32 28

Bab 3 Analisis Dan Perancangan 30

3.1. Analisis 30

3.1.1 Analisis Permasalahan 30

(9)

3.2 Perancangan 33

3.2.1Algoritma Antivirus 33

3.2.2Struktur Kode Antivirus 35

Bab 4 Analisis Dan Perancangan 38

4.1. Implementasi Antivirus Pada Visual Basic 6.0 38 4.2. Penggunaan Program Dalam Scanning dan Penghapusan Virus 38

4.3. Tampilan Interface 39

4.4 CRC32 Calculator 44

4.5. Task Manager Alternatif 47

4.6. Database Virus 53

4.7. Search Engine Virus 54

4.8. Pengujian Program 60

Bab 5 Penutup 62

5.1. Kesimpulan 62

5.2. Saran 63

(10)

DAFTAR TABEL

Halaman

Tabel 4.1 Property dan Value Pada Kontrol Program Antivirus 39

Tabel 4.2 Property dan Value Pada Kontrol CRC32 Calculator 43

Tabel 4.3 Property dan Value Pada Kontrol Task Manager Alternatif 48

(11)

DAFTAR GAMBAR

Halaman

Gambar 1.1 Flow Chart Antivirus 3

Gambar 2.1 Overwriting virus 10

Gambar 2.2 Appending virus 11

Gambar 2.3 Prepending virus 11

Gambar 2.4 Tampilan Virus Creation Lab (VCL) 19

Gambar 3.1 Ilustrasi Cara kerja Antivirus 31

Gambar 3.2 Flowchart Antivirus 34

Gambar 3.3 Tampilan Utama Antivirus 35

Gambar 4.1 Tampilan Interface Antivirus 39

Gambar 4.2 Tampilan Utama CRC32 Calculator 47

Gambar 4.3 Tampilan Utama Task Manager Alternatif 52

Gambar 4.4 Tampilan Database Virus 54

Gambar 4.5 Tampilan Antivirus Setelah Dieksekusi 61

(12)

ABSTRAK

Virus komputer memiliki berbagai kemampuan dasar diantaranya adalah kemampuan

memanipulasi file, kemampuan untuk memperbanyak diri, dan merusak data. Untuk

menghalangi kegiatan virus yang dapat merusak data pengguna komputer maka para

pengembang sofware membangun sebuah sofware yang dikenal dengan istilah

antivirus. Dalam mengenali dan menghapus virus, antivirus menggunakan beberapa

metode, salah satunya adalah metode hashing. Pada skripsi ini akan dibahas

bagaimana menggunakan fungsi hashing CRC32 sebagai metode untuk mengenali

sebuah virus untuk kemudian dihapus dari komputer user. Fungsi Hashing CRC32

dapat dijadikan sebagai metode untuk mendapatkan penanda dari sebuah file virus, hal

ini dikarenakan metode CRC32 menghitung penanda file berdasarkan ukuran dan isi

file, sehingga kecil sekali kemungkinan dua buah file yang berbeda memiliki penanda

yang sama, karena perbedaan 1 bit saja akan mengubah nilai CRC32 file. Selanjutnya

(13)

Implementation of Hashing Function CRC32 for Antivirus Program

With Visual Basic 6.0

ABSTRACT

Computer viruses have some capabilities, such as manipulating file, reduplicating and

damaging data. To avoid computer viruses activities, then antivirus programs

developed. To recognize and deleting virus, antivirus programs are use some methods.

One of them is Hashing Function method. In this paper will be explained how

Hashing Function CRC32 recognize a virus, then delete it from user’s computer.

CRC32 identifying a virus file by computing size and content of the file, since there is

very small possibility that two files have same signatures. The signatures will be saved

(14)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Seiring dengan pesatnya perkembangan penggunaan komputer sebagai alat bantu

manusia di berbagai bidang kehidupan, semakin besar pula jenis software yang

digunakan.Virus komputer merupakan salah satu software komputer yang menjadi

ancaman bagi keamanan sistem komputer. Virus komputer sebagai salah satu jenis

infeksi elektronik, dapat menyebabkan kerusakan pada sistem komputer yang

diserangnya. Para user yang komputernya diserang oleh virus merasa akan tidak

nyaman terhadap keberadaan virus tersebut yang mungkin akan memperlambat

kinerja atau bahkan menghilangkan beberapa fungsi dari komputer.

Virus-virus komputer dapat dihapus dengan menggunakan aplikasi yang

dikenal sebagai antivirus, hanya saja beberapa antivirus dipasarkan dengan harga yang

relatif mahal. Bagi para user yang memiliki uang untuk membeli antivirus hal seperti

ini dianggap bukan suatu masalah besar. Untuk membantu user yang tidak mampu

membeli lisensi antivirus, maka beberapa perusahaan atau pembuat antivirus telah

meluncurkan antivirus yang dapat dipakai oleh user tanpa harus membeli lisensi,

tetapi user diharuskan untuk memiliki koneksi internet dalam melakukan update

database virus ke komputer server pada produsen antivirus, misalnya AVG yang

dirilis Grisoft dan PCMav yang dikeluarkan oleh PC Media.

Metode yang dapat dipakai user sebagai metode pada proses scanning salah

satunya adalah metode CRC32. Sesuai dengan fungsi utama dari fungsi hashing,

CRC32 berfungsi untuk mengambil penanda dari sebuah file yang nantinya akan

dipakai sebagai acuan untuk memeriksa apakah suatu file adalah file virus atau bukan.

Kecil sekali kemungkinan bahwa dua buah file mempunyai nilai CRC32 yang sama.

Hal ini disebabkan perbedaan 1 bit saja pada file akan mengubah nilai CRC32 file

tersebut. CRC32 hanya mengambil 32 bit dari sebuah file yang dijadikan sebagai

(15)

dari file. Keuntungan memakai CRC32 adalah karena hanya terdiri dari 32 bit

sehingga mempercepat proses scanning.

Metode lain yang dapat dipakai user adalah metode heuristik. Pada metode ini

program akan menganggap suatu file adalah virus jika file tersebut mempunyai sifat

seperti sifat virus (misalnya merubah nilai registry dan memasuki program start up

system). Kelemahan dari metode ini adalah seringnya terjadi kesalahan pada

pendeteksian virus, hal ini dikarenakan beberapa file sistem mempunyai rutin yang

sama seperti file sistem.

Masalah yang dihadapi selama ini adalah semakin pesatnya perkembangan

virus mengharuskan user untuk mendownload data base virus yang semakin besar

ukurannya. Setelah user mendownload data base antivirus, belum tentu virus yang

menginfeksi komputer user terdapat dalam data base antivirus tersebut. Oleh karena

itu, akan lebih efektif jika user hanya menghitung nilai CRC32 dari file virus yang

menginfeksi komputer user, kemudian memasukkan nilai CRC32 file tersebut

kedalam data base antivirus, kemudian antivirus melakukan scanning terhadap

komputer dan menghapus seluruh file yang memiliki nilai CRC32 yang serupa dengan

file virus tersebut. Selain itu dengan menggunakan antivirus sederhana yang dibuat

sendiri oleh user dapat membantu user yang sama sekali tidak memiliki akses Internet.

Kecenderungan user untuk memakai antivirus yang telah disediakan oleh

pembuat antivirus, yang komersil ataupun yang gratis, menjadi alasan bagi penulis

untuk membuat sebuah aplikasi antivirus yang dapat dibuat dan dikembangkan oleh

user. Oleh karena itu penulis tertarik untuk menjadikan “PENERAPAN FUNGSI

HASHING CRC32 PADA PROGRAM ANTIVIRUS MENGGUNAKAN VISUAL

BASIC 6.0” sebagai judul skripsi penulis.

1.2 Rumusan Masalah

Antivirus yang akan dibangun menggunakan metode CRC32 sebagai sarana

pendeteksi virus dalam suatu komputer. Cara untuk menentukan nilai CRC32 dari

(16)

directory windows/system atau system32 yang kemudian akan dihitung nilai CRC32

nya. Virus yang telah dideteksi akan dihapus secara permanen oleh antivirus atau

hanya dipindahkan ke recycle bin. Adapun flow chart antivirus ditunjukkan pada

gambar 1.1.

Gambar 1.1 Flow Chart Scanner Antivirus tidak

START

Sistem mengambil ukuran dan nama file untuk dihitung nilai CRC32 nya

Sistem melihat ke database virus untuk membandingkan apakah nilai CRC32 file ada di list virus

Apakah nilai CRC32 ada di list virus?

Hapus virus permanen?

Apakah file yang dicari habis?

Pindahkan ke recycle bin

END

tidak

Hapus virus tidak

ya

(17)

Sedangkan algoritmanya adalah sebagai berikut:

1. START

2. Aplikasi memeriksa file dengan mengambil nama dan ukuran file untuk dihitung

nilai CRC32

3. Aplikasi melihat ke file signatures.db untuk membandingkan apakah nilai crc32 file

ada di list virus (signatures.db)

4. Apakah Nilai CRC32 file ada di list virus(signatures.db)?

a. jika ada langsung ke nomor 5

b. jika tidak langsung ke nomor 6

5. Apakah virus dihapus permanen?

a. Jika ya langsung ke nomor 8

b. Jika tidak langsung ke nomor 7

6. Apakah File yang dicari Habis?

a. Jika ya langsung ke nomor 8

c. Jika tidak kembali ke nomor 2

7. Pindahkan ke recycle bin

8. END

1.3 Batasan Masalah

Antivirus yang akan dibangun adalah antivirus yang menggunakan metode CRC32

dalam pendeteksian virus. Jadi virus yang dapat dikenali adalah virus yang telah

terdefinisi nilai CRC32 nya dalam database virus.

1.4 Tujuan Penelitian

Tujuan dari penelitian skripsi ini adalah membuat database antivirus yang lebih kecil

ukurannya dan sesuai dengan yang dibutuhkan oleh user, dan memberi alternatif lain

kepada user untuk melakukan update database virus tanpa harus melalui koneksi

(18)

1.5 Manfaat Penelitian

1. Aplikasi dapat digunakan sebagai salah satu antivirus pada komputer.

2. User dapat meminimalisasi pemakaian media peyimpanan yang dipakai untuk

menyimpan database virus.

3. User dapat melakukan update database virus tanpa harus melakukan koneksi ke

server penyedia antivirus.

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini dibagi dalam lima bab, masing-masing bab

diuraikan sebagai berikut :

Bab 1 PENDAHULUAN

Bab ini berisikan Latar Belakang Pemilihan Judul, Perumusan Masalah,

Tujuan dan Manfaat Pembahasan, Batasan Masalah, dan Sistematika

Penulisan.

Bab 2 LANDASAN TEORI

Bab ini membahas definisi virus, ciri-ciri sistem virus, strategi

penanggulangan serangan virus, perencanaan pembuatan antivirus.

Bab 3 ANALISIS DAN PERANCANGAN

Bab ini membahas tentang aplikasi yang dibangun, komponen yang

digunakan, penganalisisan, serta perancangan model sistem, struktur

perangkat lunak, database virus dan tampilan antivirus.

Bab 4 IMPLEMENTASI

Bab ini menjelaskan bagaimana mengimplementasikan program yang

sudah dibangun berdasarkan perancangan sistem dengan menguraikan

persiapan-persiapan teknis sebelum menguji program serta menampilkan

(19)

Bab 5 PENUTUP

Pada bab ini akan diuraikan kesimpulan dari penjelasan bab-bab

sebelumnya, sehingga dari kesimpulan tersebut penulis mencoba memberi

saran yang berguna untuk melengkapi dan menyempurnakan

(20)

BAB 2

LANDASAN TEORI

2.1 Pengertian Virus dan Antivirus

Virus komputer bekerja dengan memanfaatkan fungsi-fungsi operating system yang tersembunyi dan juga memanfaatkan celah-celah yang ada dari program tertentu.

Virus komputer memiliki kemampuan dasar diantaranya kemampuan memanipulasi,

dan kemampuan untuk memperbanyak diri.

Istilah computer virus pertama kali digunakan oleh Fred Cohen dalam papernya yang berjudul ‘Computer Viruses – Theory and Experiments’ pada tahun

1984. Berikut kutipan definisi yang diberikan oleh Fred Cohen dalam paper tersebut:

“We define a computer ‘virus’ as a program that can ‘infect’ other programs by modifying them to include a possibly evolved copy of itself”. (Cohen, 1984).

Menurut definisi yang diberikan di atas dapat digarisbawahi beberapa sifat dasar virus

komputer yaitu mempunyai kemampuan untuk menjangkiti (menginfeksi) program

lain dan menyebar. Pada dasarnya penggunaan isitilah virus dikarenakan adanya

kesamaan dalam hal sifat antara virus komputer dengan virus yang dikenal dalam

istilah biologi. Di mana keduanya memiliki dua tujuan yaitu untuk bertahan hidup dan

memperbanyak diri.

Pada dasarnya virus komputer dapat diklasifikasi menjadi dua jenis. Jenis virus

komputer yang pertama dibuat untuk tujuan penelitian dan pembelajaran, dan tidak

dipublikasikan. Sedangkan tipe kedua yang merupakan kebalikan dari tipe pertama,

merupakan virus komputer yang membahayakan sistem komputer pada umumnya,

sering kali disebut dengan istilah virus ‘in the wild’.

Virus komputer merupaka

menyalin dirinya sendiri dan menyebar dengan cara menyisipkan salinan dirinya ke

(21)

biologis yang menyebar dengan cara menyisipkan dirinya sendiri ke

membuat pengguna komputer merasa terganggu, maupun menghambat kinerja

hardware dengan memanipulasi program driver hardware. Efek negatif virus komputer

terutama adalah perbanyakan dirinya sendiri, yang membuat sumber daya pada

komputer (seperti CPU Time, penggunaan memori) menjadi berkurang secara signifikan. (Aycock, 2006).

Virus komputer umumnya dapat merusa

dapat secara langsung merus

98/98SE,

Windows 2003, Windows 2003 Server, Windows XP Home Edition, Windows XP

Professional, Windows XP Servicepack 1, Windows XP Servicepack 2, windows

Vista) bahka

Sebuah program virus pertama kali harus dijalankan sebelum ia mampu untuk

menginfeksi komputer. Ada berbagai macam cara agar virus ini dijalankan oleh user,

misalnya dengan menempelkan dirinya pada suatu program yang lain. Ada juga virus

yang jalan ketika user membuka suatu tipe file tertentu. Kadangkala virus juga

memanfaatkan celah keamanan yang ada pada komputer user (baik sistem operasi atau

aplikasi), dengan memanfaatkan hal-hal tersebut virus dapat berjalan dan kemudian

akan menyebarkan dirinya sendiri secara otomatis.

User juga dapat menerima suatu file yang sudah terinfeksi virus dalam

attachment e-mail. Begitu file tersebut dieksekusi, maka kode virus akan berjalan dan

mulai menginfeksi komputer dan bisa menyebar pula ke semua file yang ada di

(22)

2.2 Karakteristik Virus Komputer

Setiap virus mempunyai karakteristik tersendiri yang berbeda antara satu dengan yang

lain. Berikut ini adalah karakter-karakter virus yang membedakan virus yang satu

dengan yang lain :

2.2.1 Ukuran

Ukuran virus sangatlah kecil bila dibandingkan dengan kebanyakan program-program

komputer. Program-program virus dapat dibuat dengan Assembler yang akan

menghasilkan ukuran yang jauh lebih kecil. Biasanya virus diberi nama dengan

menyertakan besar penambahan ukurannya misalnya virus Die Hard 4000 artinya

virus Die Hard akan menambah ukuran file yang diinfeksi dengan besar 4000 byte.

Hal ini sangat bertolak belakang dengan virus-virus yang dibuat dengan bahasa

pemrograman tingkat tinggi yang membutuhkan ukuran yang lebih besar, untuk itu

para pembuat virus melakukan compress untuk memperkecil ukuran file. Ukuran file virus yang sangat kecil akan menyamarkan keberadaan virus pada komputer.

2.2.2 Stealth

Virus dengan tipe stealth adalah suatu virus yang berusaha untuk menghindari deteksi dengan menyembunyikan kehadirannya pada file yang terinfeksi. Untuk mendukung

hal ini virus stealth akan menghalangi panggilan sistem yang akan membaca file yang terinfeksi tersebut. Sehingga komputer akan mendapati informasi file yang bukan

sebenarnya. Artinya komputer telah membaca file yang salah. Virus akan

memberitahu sistem komputer sehingga seolah-oleh segala sesuatunya berjalan

normal, padahal sudah beberapa komponen sistem telah dirusak virus. Dengan teknik

ini virus akan menipu antivirus. Teknik ini merupakan teknik virus yang sudah

(23)

2.2.3 Metode Infeksi

Ada banyak cara yang dilakukan oleh virus dalam menginfeksi program induk.

Program induk merupakan program yang terdapat pada sistem yang dijadikan virus

sebagai program pemicu. Berikut ini adalah metode-metode infeksi yang umum yang

digunakan. Sebuah virus dapat mempunyai satu atau lebih metode infeksi.

a. Overwriting

Metode ini merupakan metode yang sudah kuno. Virus akan meng-copy tubuhnya ke program induk. Sehingga program induk yang terinfeksi tersebut rusak. Akibatnya

program tidak dapat berjalan dengan baik. Dengan metode ini ukuran file yang

terinfeksi tidak berubah.

Sebelum infeksi

Sesudah infeksi

file virus

Gambar 2.1. Overwriting virus

b. Appending

Ini merupakan metode penginfeksian yang lebih maju. Virus men-copy tubuhnya

dengan cara menambahi program induk tidak dengan menimpah (overwriting).

Program yang terinfeksi tetap dapat berjalan normal, tetapi ukuran file bertambah

(24)

sebelum infeksi

setelah infeksi

file virus

Gambar 2.2 Appending Virus

c. Prepending

Metode penginfeksian virus ini mirip dengan appending, hanya saja virus mengcopy tubuhnya pada bagian awal program induk. Saat program terinfeksi virus dijalankan,

kode virus akan tereksekusi terlebih dahulu kemudian diikuti dengan program induk.

sebelum infeksi

setelah infeksi

file virus

Gambar 2.3. Prepending Virus

d. Disk Infector

Virus dengan tipe ini akan menginfeksi boot record atau dapat juga partisi disk.

(Minnarto,1999).

2.2.4 Terminate and Stay Resident (TSR)

TSR adalah singkatan dari Terminate and Stay Resident yaitu suatu virus yang akan berdiam di memori komputer dan akan tetap ada sampai komputer user di shut down.

(25)

2.3 Rutin-Rutin Pada Virus Komputer

Setiap virus mempunyai bagian-bagian yang disebut routine. Ada bagian yang

penting dan ada juga yang bersifat tambahan. Komponen tambahan ini meski tidak

begitu penting, menjadi karakteristik yang membedakannya dengan virus-virus lain.

Dua komponen dasar yang harus dimiliki oleh virus adalah search routine (rutin pencari) dan copy routine (rutin pengganda). Terdapat satu routine lagi, yang meskipun bersifat tambahan, namun ia mempunyai arti penting dalam kelangsungan

hidup virus melawan antivirus. Rutin ini adalah rutin anti detection routine. Adapun penjelasan lebih lanjut dari rutin-rutin tersebut adalah sebagai berikut:

a. Rutin pencari

Rutin pencari (search routine) berperan sebagai unit yang mencari file-file baru atau daerah baru yang akan diinfeksi pada disk. Rutin ini berkaitan erat

dengan penentuan seberapa baik virus akan bereproduksi, apakah dia akan

bereproduksi secara cepat atau lambat, termasuk menentukan seberapa banyak

disk yang akan diinfeksi dan juga daerah-daerah tertentu pada disk yang akan

menjadi target penginfeksian. Semakin rumit rutin pencarinya, semakin besar

rutin pencarinya. Semakin andal rutin pencarinya, semakin cepat penyebaran

virus.

b. Rutin pengganda

Komponen kedua yang harus dimiliki oleh virus adalah rutin pengganda. Rutin

ini berfungsi menggandakan virus kesuatu area yang telah ditentukan oleh

rutin pencari. Besar kecilnya rutin pengganda ini tergantung pada

kekompleksan virus dalam penggandaan diri. Sebagai contoh, virus yang

menginfeksi file COM mempunyai rutin pengganda lebih kecil dari pada virus

yang menginfeksi file EXE. Hal ini dikarenakan struktur file EXE lebih rumit

dibandingkan file COM sehingga banyak yang harus dilakukan virus untuk

(26)

c. Rutin anti deteksi

Untuk mencapai tujuannya mencari file induk yang akan diinfeksi dengan rutin

pencari dan kemudian menginfeksikannya dengan bantuan rutin pengganda,

virus juga membutuhkan fitur-fitur tambahan. Fitur-fitur ini sangat berperan

dalam mendukung tujuan tersebut. Diantara fitur yang biasanya ditambahkan

dalam tubuh virus yaitu rutin untuk menghindari deteksi. Anti detection routine bisa dibangun menyatu dengan rutin pencari atau rutin pengganda sehingga menjadi bagian yang integral, tetapi bisa juga menjadi bagian

tersendiri. (Chandraleka, 2008).

Kerja rutin pencari haruslah dibatasi untuk menghindari deteksi.

Maksudnya, bila rutin pencari bekerja terus menerus memeriksa setiap file

yang ada dalam disk, maka akan membutuhkan waktu yang lama dan akan

menyebabkan aktifitas disk tidak normal dan tidak biasa. Ini tentu cukup

mengkhawatirkan karena seorang user yang cukup waspada dengan aktivitas

virus bisa menjadi curiga dan keberadaan virus dapat diketahui. Hal ini tentu

sangat tidak diinginkan oleh para pembuat virus karena kelangsungan hidup

virus menjadi terhambat.

Sebagai alternatif untuk mendukung anti detection routine, virus diaktifkan pada kondisi-kondisi tertentu, misalnya pada tanggal-tanggal

tertentu seperti virus-virus pada keluarga Friday 13. Virus ini merupakan virus

parasitic yang berbahaya dan bekerja dengan mencari seluruh file yang

berkestensi .COM (kecuali COMMAND.COM) pada direktori aktif beserta

subdirektorinya. Selanjutnya menempelkan dirinya pada bagian akhir file

korban. Virus ini aktif setiap hari Jum’at ketiga belas dengan menghapus

file-file.

Ada juga virus yang menggunakan alternative lain, misalnya dengan

mendeteksi hentakan keyboard. Bila keyboard tidak ditekan selama jangka

waktu yang ditentukan (misalnya 10 menit), maka virus mulai diaktifkan. Trik

(27)

tidak berada didepan komputernya. Dengan demikian, aktivitas virus yang

terdapat pada sistem operasi komputer dapat berjalan lancar tanpa

sepengetahuan user.

Rutin pencari, pengganda, dan anti deteksi merupakan

komponen-komponen yang mendasar yang ada dalam setiap virus. Tentu saja virus-virus

komputer mempunyai rutin-rutin tambahan yang lain, dengan tujuan

menghentikan operasi normal komputer, menyebabkan kerusakan, atau bisa

juga sekedar hiburan bagi programmer pembuat virusnya. Rutin-rutin tersebut

akan mempengaruhi karakter sebuah virus dan berperan penting dalam

mencapai tujuan virus yaitu kelangsungan virus dan bereproduksi. Bila hanya

sedikit aktivitas disk, maka tidak ada orang yang memperhatikannya sehingga

keberadaan virus tidak diketahui. Lain halnya dengan virus-virus yang

menampilkan kotak dialog atau langsung melakukan kerusakan saat itu juga.

User akan bisa langsung mengetahui keberadaan virus dikomputernya

sehingga dapat segera dibasmi.

2.4 Aktivitas-Aktivitas Virus Pada Komputer

Hal-hal yang akan dilakukan virus pada sebuah komputer antara lain:

a. Memperlambat Email.

Virus dapat menyebar melalui e-mail, seperti virus Sobig, dan mampu

untuk membuat trafik e-mail yang sangat besar yang tentu saja akan

membuat server menjadi lambat atau bahkan menjadi crash. Bahkan jika

hal tersebut tidak sampai terjadi, perusahaan yang merasa terganggu

dengan insiden ini toh juga akan mematikan servernya.

b. Mencuri data.

Contohnya adalah Worm Bugbear-D, mampu merekam keystroke

keyboard Anda, termasuk password dan lain sebagainya. Rekaman tadi

(28)

c. Menggunakan komputer user untuk menyerang suatu situs.

Contohya adalah virus MyDoom, dia menginfeksi banyak komputer di

seluruh dunia untuk menyerang situs SCO dengan traffic data yang sangat

besar. Ini akan membuat situs tersebut akan terbebani luar biasa dan

akhirnya akan crash dan tidak bisa melayani pengguna lainnya. Ini biasa

dinamakan dengan denial of service.

d. Membiarkan orang lain untuk membajak komputer korban.

Beberapa virus menempatkan trojan backdoor pada komputer dan ini akan

membuat si pembuat virus dapat terhubung ke komputer tersebut secara

diam-diam dan bisa dimanfaatkan lebih lanjut sesuai dengan keinginannya.

e. Merusak data.

Contohnya adalah Virus Compatable, dapat membuat perubahan pada data

yang disimpan user pada dokumen MS Excel.

f. Menghapus data.

ContohnyaVirus Sircam, berusaha untuk menghapus atau meng-overwrite

hardisk user pada suatu waktu tertentu yang tidak terduga.

g. Men-disable hardware.

Contohnya Virus CIH atau Chernobyl, berusaha untuk meng-overwrite

chip BIOS pada tanggal 26 April dan akan membuat komputer korban

(29)

h. Menimbulkan hal-hal yang aneh dan mengganggu.

Contohnya Virus worm Netsky-D, dapat membuat komputer berbunyi

beep secara spontan atau tiba-tiba untuk beberapa jam lamanya.

i. Menampilkan pesan tertentu.

Contohnya Virus Cone-F, akan menampilkan pesan berbau politik jika

bulan menunjukkan bulan Mei.

j. Membuat malu user.

Contohnya Virus PolyPost, akan melakukan posting dokumen dan nama user pada newsgroup yang berbau pornografi.

2.5 Tanda-Tanda Keberadaan Virus

Ada banyak cara untuk mendeteksi keberadaan virus pada sistem komputer.

Diantaranya adalah seperti tanda-tanda di bawah ini yang kemungkinan

mengindikasikan adanya virus komputer pada sistem :

a. Penambahan ukuran file tanpa alasan yang jelas. Hal ini mengindikasikan adanya

virus dengan tipe appending.

b. Program tidak berjalan secara normal dan diikuti dengan pesan-pesan error. Atau

adakalanya disertai dengan animasi-animasi.

c. Adanya perubahan-perubahan struktur direktori tanpa sebab.

d. Penurunan jumlah memori yang tersedia yang disebabkan bukan karena komputer

sedang menjalankan program-program komputer.

e. Aktifitas sistem keseluruhan berjalan secara lambat. Untuk mengeksekusi program

(30)

2.6 Sejarah Virus Komputer

Virus komputer pertama kalinya tercipta bersamaan dengan komputer. Pada tahun

1949, salah seorang pencipta komputer, John von Newman, yang menciptakan

Electronic Discrete Variable Automatic Komputer (EDVAC), memaparkan suatu makalahnya yang berjudul “Theory and Organization of Complicated Automata”. Dalam makalahnya dibahas kemungkinan program yang dapat menyebar dengan

sendirinya.

Perkembangan virus komputer selanjutnya terjadi di AT&T Bell Laboratory

salah satu laboratorium komputer terbesar di dunia yang telah menghasilkan banyak

hal, seperti bahasa C dan C++. Di laboratorium ini, sekitar tahun 1960-an, setiap waktu istirahat para peneliti membuat permainan dengan suatu program yang dapat

memusnahkan, kemampuan membetulkan dirinya dan balik menyerang kedudukan

lawan. Selain itu, program permainan dapat memperbanyak dirinya secara otomatis.

Perang program ini disebut Core War, pemenangnya adalah pemilik program sisa terbanyak dalam selang waktu tertentu. Karena sadar akan bahaya program tersebut,

terutama C dan C++ adalah salah satu pemrograman bahasa tingkat tinggi bila bocor

keluar laboratorium tersebut, maka setiap selesai permainan, program tersebut selalu

dimusnahkan.

Sekitar tahun 1970-an, perusahaan Xerox memperkenalkan suatu program

yang digunakan untuk membantu kelancaran kerja. Struktur programnya menyerupai

virus, namun program ini adalah untuk memanfaatkan waktu semaksimal mungkin

dan pada waktu yang bersamaan dua tugas dapat dilakukan.

Pada tahun 1980-an, perang virus di dunia terbuka bermula atas pemaparan

Fred Cohen, seorang peneliti dan asisten profesor di Universitas Cincinati, Ohio.

Dalam pemaparannya, Fred juga mendemonstrasikan sebuah program buatannya yang

dapat menyebar secara cepat pada sejumlah komputer, yaitu suatu virus. (Aycock,

(31)

Sementara virus berkembang, Indonesia juga mulai terkena wabah virus. Virus

komputer ini pertama menyebar di Indonesia juga pada tahun 1988. Virus yang begitu

menggemparkan seluruh pemakai komputer di Indonesia, saat itu, adalah virus

©Brain yang dikenal dengan nama virus Pakistan.

Berikut adalah sekilas sejarah mengenai virus komputer .

1981 Virus ‘in the wild’ pertama ditemukan. Virus yang bernama Elk Cloner ini

menyebar melalui floppy disk pada komputer Apple II.

1983 Fred Cohen dalam paper-nya yang berjudul ‘Komputer Viruses – Theory and

Experiments’ memberikan definisi pertama mengenai virus komputer dan

memaparkan eksperimen yang telah dilakukannya untuk membuktikan konsep

dari sebuah virus komputer. Bersama dengan Len Adelman, ia menciptakan

sebuah contoh virus pada komputer VAX 11/750 dengan sistem operasi Unix.

1986 Sepasang kakak adik dari Pakistan, Basit dan Amjad, menciptakan sebuah boot

sector virus pertama yang diberi nama Brain. Brain sering kali disebut sebagai

virus komputer pertama di dunia. PC-based Trojan pertama diciptakan dalam

bentuk program shareware yang diberi nama PC-Write. Dalam beberapa

laporan disebutkan bahwa file virus pertama, Virdem, juga ditemukan pada

tahun yang sama. Virdem diciptakan oleh Ralf Burger.

1987 Virus-virus file infector seperti Leigh mulai bermunculan, kebanyakan

menyerang file COM seperti COMMAND.COM. Pada tahun yang sama

muncul virus penyerang file-file EXE pertama, Suriv 01 dan 02 serta

Jerusalem. Mainframe IBM mengalami serangan worm IBM Christmas Worm

dengan kecepatan replikasi setengah juta kopi per jam.

1988 Virus pertama yang menyerang komputer Macintosh, MacMag dan Scores,

muncul. Pada tahun yang sama didirikan CERT (Computer Emergency

Response Team) oleh DARPA dengan tujuan awalnya untuk mengatasi

serangan Morris Worm yang diciptakan oleh Robert Morris.

1989 AIDS Trojan muncul sebagai trojan yang menggunakan samaran sebagai

AIDS information program. Ketika dijalankan trojan ini akan mengenkripsi

hard drive dan meminta pembayaran untuk kunci dekripsinya.

(32)

pencipta virus didirikan di Bulgaria. Mark Ludwig menulis buku “The Little

Black Book of Komputer Viruses” yang berisi cara-cara untuk menciptakan

berbagai jenis virus komputer.

1991 Virus polymorphic pertama, Tequila, muncul di Swiss. Virus ini dapat

mengubah dirinya untuk menghindari deteksi.

1992 Kehadiran virus Michaelangelo yang menjadi ancaman bagi seluruh dunia,

namun demikian kerusakan yang ditimbulkan pada akhirnya tidak terlalu

hebat. Kemuculan beberapa tool yang dapat digunakan untuk menciptakan

virus seperti Dark Avenger Mutation Engine (DAME) yang dapat mengubah

virus apa pun menjadi virus polymorphic, dan Virus Creation Lab (VCL) yang

merupakan kit pertama yang dapat digunakan untuk menciptakan virus

Gambar 2.4 Tampilan Virus Creation Lab (VCL).

1995 Para hacker dengan nama ‘Internet Liberation Front’ melakukan banyak

serangan pada hari Thanksgiving. Beberapa badan yang menjadi korban

serangan ini adalah Griffith Air Force Base, Korean Atomic Research Institute,

NASA, GE, IBM, dll.

Virus macro pertama yang menyerang aplikasi Microsoft Word, Concept,

dikembangkan.

1996 Kemunculan virus Boza yang didesain khusus untuk menyerang file-file

Windows95, virus Laroux yang merupakan virus penyerang Microsoft Excel

pertama, virus Staog yang merupakan virus Linux pertama.

1998 Kemunculan virus Java pertama, Strange Brew. Back Orifice merupakan

trojan pertama yang dapat digunakan sebagai tool untuk mengambil alih

kendali komputer remote melalui Internet. Pada tahun ini, virus-virus macro

(33)

1999 Kemunculan virus Melissa yang merupakan kombinasi antara virus macro

yang menyerang aplikasi Microsoft Word dan worm yang menggunakan

address book pada aplikasi Microsoft Outlook dan Oulook Express untuk

mengirimkan dirinya sendiri melalui email.

Virus Corner merupakan virus pertama menyerang file-file aplikasi MS

Project. Virus Tristate merupakan virus macro yang bersifat multi-program

menyerang aplikasi Microsoft Word, Excel, dan PowerPoint.

Bubbleboy merupakan worm pertama yang dapat aktif hanya dengan

membuka email melalui aplikasi Microsoft Outlook tanpa memerlukan

attachment.

2000 Serangan Distributed Denial of Service (DDoS) pertama membuat kerusakan

pada situs-situs besar seperti Yahoo!, Amazon.com, dan lain-lain.

Love Letter merupakan worm dengan kecepatan menyebar tertinggi pada saat

itu yang menyebabkan kerusakan pada banyak sistem email di seluruh dunia.

Liberty Crack yang merupakan worm pertama untuk peralatan PDA.

2001 Gnuman (Mandragore) merupakan worm pertama yang menyerang jaringan

komunikasi peer to peer. Worm ini menyamarkan diri dalam bentuk file MP3

yang dapat di download.

Kemunculan virus yang didesain untuk menyerang baik sistem operasi

Windows maupun Linux, seperti Winux atau Lindose.

Virus LogoLogic-A menyebar melalui aplikasi MIRC dan e-mail.

2002 Virus LFM-926 merupakan virus pertama yang menyerang file-file aplikasi

Shockwave Flash. Donut merupakan worm pertama yang menyerang .NET

services. SQLSpider merupakan worm yang menyerang aplikasi yang

menggunakan teknologi Microsoft SQL Server. (Minnarto, 1999).

2.7 Jenis-Jenis Virus Komputer

(34)

2.7.1 Berdasarkan Teknik Pembuatannya

a. Virus yang Dibuat dengan Compiler

Adalah virus yang dapat dieksekusi karena merupakan virus yang telah di

compile sehingga menjadi dapat dieksekusi langsung. Virus jenis ini adalah virus yang pertama kali muncul di dunia komputer, dan sampai sekarang

terus berkembang pesat. Biasanya virus jenis ini dibuat dengan bahasa

pemrograman tingkat rendah yang disebut dengan assembler, karena dengan menggunakan assembler program yang dihasilkan lebih kecil dan cepat, sehingga sangat cocok untuk membuat virus. Tetapi tidak tertutup

kemungkinan untuk membuat virus dengan menggunakan bahasa

pemrograman lainnya seperti C dan Pascal baik dilingkungan DOS maupun Windows. Mungkin virus jenis ini adalah virus yang paling sulit untuk dibuat tetapi karena dibuat dengan menggunakan bahasa

pemrograman dan berbentuk bahasa mesin maka keunggulan dari virus ini

adalah mampu melakukan hampir seluruh manipulasi yang mana hal ini

tidak selalu dapat dilakukan oleh virus jenis lain karena lebih terbatas.

b. Virus Macro

Banyak user yang salah pengertian dengan jenis virus ini, mereka

menganggap bahwa virus Macro adalah virus yang terdapat pada program Microsoft Word. Memang hampir seluruh virus Macro yang ditemui merupakan virus Microsoft Word. Sebenarnya virus Macro adalah virus yang memanfaatkan fasilitas pemrograman modular pada suatu program

aplikasi tertentu seperti Microsoft Word, Microsoft Excel, Microsoft

PowePoint, Corel WordPerfect, dan sebagainya. Tujuan dari fasilitas

pemrograman modular ini adalah untuk memberikan suatu kemudahan

serta membuat jalan pintas bagi aplikasi tersebut. Sayangnya fungsi ini

dimanfaatkan oleh pembuat pembuat virus untuk membuat virus didalam

aplikasi tersebut. Walaupun virus ini terdapat didalam aplikasi tertentu

tetapi bahaya yang ditimbulkan tidak kalah berbahanya dari virus-virus

(35)

c. Virus Script/Batch

Pada awalnya virus ini lebih dikenal dengan virus batch karena dulu terdapat pada file batch yang terdapat pada DOS, sekarang hal ini telah berganti menjadi script. Virus script biasanya sering didapat dari Internet karena kelebihannya yang fleksibel dan bisa berjalan pada saat kita

bermain Internet, virus jenis ini biasanya menumpang pada file HTML (Hype Text Markup Language) dibuat dengan menggunakan fasilitas script seperti Javascript, VBscript,4 maupun gabungan antara script yang mengaktifkan program Active-X dari Microsoft Internet Explorer.

2.7.2 Berdasarkan Infeksi yang Dilakukan

a. Virus Boot Sector

Virus Boot Sector adalah virus yang memanfaatkan gerbang hubungan antara komputer dan media penyimpan sebagai tempat untuk menularkan

virus. Apabila pada boot sector terdapat suatu program yang mampu

menyebarkan diri dan mampu tinggal di memory selama komputer bekerja,

maka program tersebut dapat disebut virus.

b. Virus File

Virus file merupakan virus yang memafaatkan suatu file yang dapat diproses langsung pada editor DOS, seperti file berekstensi COM, EXE, beberapa file overlay, dan file BATCH. Virus umumnya tidak memiliki kemampuan untuk menyerang di semua file tersebut. Virus file juga dikelompokkan berdasarkan dapat atau tidaknya tinggal di memory.

c. Virus Sistem

(36)

d. Virus Hybrid

Virus ini merupakan virus yang mempunyai dua kemampuan, biasanya

dapat masuk ke boot sector dan juga dapat masuk ke file. Salah satu contoh virus ini adalah virus Mystic yang dibuat di Indonesia.

e. Virus Registry Windows

Virus ini menginfeksi operating sistem yang menggunakan Windows 95/98/NT/XP biasanya akan mengadakan infeksi dan manipulasi pada bagian registry Windows sebab registry adalah tempat menampung seluruh informasi komputer baik hardware maupun software. Sehingga setiap kali kita menjalankan Windows maka virus akan dijalankan oleh registry tersebut.

f. Virus Program Aplikasi

Virus ini merupakan virus Macro, menginfeksi pada data suatu program aplikasi tertentu. Virus ini baru akan beraksi apabila user menjalankan

program aplikasi tersebut dan membuka data yang mengandung virus.

2.7.3 Berdasarkan Media Penyebarannya

a. Penyebaran dengan Media Fisik

Media yang dimaksudkan bisa dengan disket, CD-ROM(Compact Disc Read Only Memory), harddisk, dan sebagainya. Untuk CD-ROM, walaupun media ini tidak dapat dibaca tetapi ada kemungkinan suatu

CD-ROM mengandung virus tertentu, walaupun kemungkinannya kecil, tetapi

seiring dengan berkembangnya alat CD-R/CD-RW yang beredar dipasaran

maka kemungkinan adanya virus didalam CD-ROM akan bertambah pula.

Untuk saat ini virus jenis ini yang menjadi dominan dari seluruh virus yang

ada. Virus ini akan menular pada komputer yang masih belum tertular

(37)

b. Penyebaran dengan Media Internet

Akhir-akhir ini virus yang menyebar dengan media sudah semakin banyak,

virus ini biasanya menyebar lewat e-mail ataupun pada saat kita mendownload suatu file yang mengandung virus. Juga ada beberapa virus yang secara otomatis akan menyebarkan dirinya lewat e-mail apabila

komputer memiliki hubungan ke jalur Internet.

Selain pengelompokan virus berdasarkan kriteria diatas, berdasarkan

kemampuannya dalam menginfeksi komputer, virus komputer dapat dikelompokkan

menjadi beberapa jenis, yaitu:

a. Computer virus: merujuk pada program yang memiliki kemampuan untuk

bereplikasi dengan sendirinya.

b. Computer worm: merujuk pada program independen yang memiliki

kemampuan untuk bereplikasi dengan sendirinya. Independen di sini

memiliki makna bahwa worm tidak memiliki host program sebagaimana

virus, untuk ditumpangi. Sering kali worm dikelompokan sebagai

sub-kelas dari virus komputer.

c. Trojan horse: merujuk pada program independen yang dapat mempunyai

fungsi yang tampaknya berguna, dan ketika dieksekusi, tanpa

sepengetahuan pengguna, juga melaksanakan fungsi-fungsi yang bersifat

destruktif.

d. Malicious toolkits: merujuk pada program yang didesain untuk membantu

menciptakan program-program yang dapat membahyakan sebuah sistem

komputer. Contoh dari program jenis ini adalah tool pembuat virus dan

program yang dibuat untuk membantu proses hacking.

e. Joke program: merujuk pada program yang meniru operasi-operasi yang

(38)

tujuan lelucon dan tidak mengandung operasi berbahaya apapun. (Gennai,

2002)

2.8 Program Antivirus

Anti-virus software adalah sebuah program komputer yang digunakan untuk

memeriksa file-file dengan tujuan mengidentifikasi dan menghapus virus komputer

dan malware lainnya. Pada saat ini ada tiga jenis teknologi antivirus yang lazimnya

digunakan, yaitu: scanner, monitors, dan integrity checkers. (Aycock, 2006).

2.8.1 Scanner

Scanners adalah program yang memeriksa file–file executable untuk menemukan

rangkaian kode yang merupakan bagian dari komputer virus yang telah diketahui

sebelumnya. Pada saat ini scanners adalah jenis program antivirus yang paling banyak

digunakan dengan alasan kemudahan dalam proses maintenance (pemeliharaan).

Pada dasarnya scanners terdiri atas:

a. Search Engine

b. Database yang berisi rangkaian kode sekuensial dari virus yang telah

diketahui sebelumnya (sering kali disebut juga virus signatures atau scan

strings). Jika sebuah virus baru ditemukan, maka database akan di-update

dengan signature yang dimiliki hanya oleh virus tersebut dan tidak terdapat

di dalam program lainnya. Hal ini dapat dilakukan tanpa memerlukan

pemahaman yang lebih jauh mengenai virus tersebut.

Beberapa kelemahan yang dimiliki scannners adalah:

a. Scanners harus tetap dijaga agar up-to-date secara terus menerus karena

scanners hanya dapat mendeteksi virus yang telah diketahui sebelumnya.

b. Scanners cenderung rentan terhadap virus polymorphic yang memiliki

kemampuan untuk mengubah/mengkodekan dirinya sendiri sehingga

terlihat berbeda pada setiap file yang terinfeksi. Hal ini dapat diatasi

dengan memahami mutation engine yang terdapat di dalam virus tersebut

(39)

c. Proses scanning yang dilakukan dalam mendeteksi keberadaan virus-virus

cenderung bersifat time-consuming, mengingat keberadaan virus-virus,

worms, dan trojan horses dengan jumlah yang luar biasa banyaknya.

2.8.2 Monitor

Monitors adalah program yang terdapat di dalam memory komputer untuk secara terus

menerus memonitor fungsi dari sistem operasi yang bekerja. Pendeteksian sebuah

virus dilakukan dengan memonitor fungsi-fungsi yang diindikasikan berbahaya dan

memiliki sifat seperti sebuah virus, seperti merubah isi dari sebuah file yang

executable dan tindakan-tindakan yang mem-bypass sistem operasi. Ketika sebuah

program mencoba melakukan hal-hal di atas, maka monitors akan memblok eksekusi

dari program tersebut.

Tidak seperti halnya scanners, monitors tidak memerlukan update secara terus

menerus. Namun kelemahan utama dari monitors adalah kerentanan terhadap virus

tuneling yang memiliki kemampuan untuk mem-bypass program monitors. Hal ini

dikarenakan pada sistem operasi PC pada umumnya, sebuah program yang sedang

dieksekusi (termasuk sebuah virus) memiliki akses penuh untuk membaca dan

mengubah daerah manapun di dalam memori komputer bahkan yang merupakan

bagian dari sistem operasi tersebut sehingga monitors yang juga merupakan bagian

dari memori komputer dapat dilumpuhkan. Kelemahan porgram monitors lainnya

adalah kesalahan yang kerap kali dilakukannya mengingat pendeteksian virus

didasarkan pada kelakuan-kelakuan seperti yang disebutkan di atas, sehingga kerap

kali fungsi dari sebuah program lain (yang bukan merupakan virus komputer dianggap

sebagai sebuah virus)

2.8.3 Integrity Checkers

Integrity checkers adalah program yang mampu mendeteksi objek executable lain

yang telah dimodifikasi dan mendeteksi infeksi dari sebuah virus. Integrity checkers

bekerja dengan cara menghitung checksum (menghitung integritas) dari kode-kode

(40)

secara periodik checksum dari program-program tersebut akan dihitung ulang dan

dibandingkan dengan database checksum tersebut. Beberapa pakar menilai bahwa

database checksum ini harus dilalui proses kriptografi setelah proses perhitungan

checksum selesai, untuk menghindari usaha modifikasi yang dapat dilakukan oleh

virus komputer.

Pada saat ini terdapat beberapa jenis integrity checkers:

a. Off-line integerity checkers: perlu di-run terlebih dahulu untuk memeriksa

checksum dari seluruh kode executable yang terdapat di dalam sistem

komputer.

b. Integrity checkers yang bekerja dengan cara membuat modul-modul yang

akan diattach pada file executable dengan bantuan program khusus

tertentu. Sehingga bila file executable tersebut dijalankan, ia akan

melakukan proses perhitungan checksumnya sendiri. Namun hal ini

memiliki kekurangan karena tidak seluruh file executable dapat

diperlakukan seperti ini, dan integrity checkers jenis ini dapat dengan

mudah di-bypass oleh virus stealth.

c. Jenis terakhir dari integrity checkers yang bersifat residensial (mendiami)

memori dan akan melakukan perhitungan ketika objek executable

dieksekusi. Integrity checkers tidak bersifat virus-specific sehingga tidak

memerlukan update secara terus menerus seperti scanners. Selain itu

karena integrity checkers tidak berusaha memblok kerja dari virus

komputer seperti halnya monitors, maka integrity checkers tidak dapat

di-bypass oleh virus tunneling.

Beberapa kekurangan yang dimiliki integrity checkers:

a. Integrity checkers tidak memiliki kemampuan untuk mencegah proses

penginfeksian oleh sebuah virus. Ia hanya dapat mendeteksi dan melaporkan

hasil pendeteksian yang dilakukannya tersebut.

b. Integrity checkers pertama kali harus di sistem yang bebas virus, jika tidak

maka hasil perhitungan pertama yang dilakukannya merupakan hasil

(41)

peng-install-an program integrity checkers dilengkapi dengan scanners untuk

memastikan sistem bebas virus.

c. Integrity checkers rentan terhadap false positive (salah indikasi keberadaan

virus pada program yang sebenarnya bebas virus), karena integrity checkers

mendeteksi perubahan file bukan virus.

d. Integrity checkers tidak dapat mendeteksi sumber dari infeksi virus, walaupun

dapat mendeteksi proses penyebaran virus dan mengidentifikasi objek yang

baru terinfeksi.

e. Integrity checkers rentan terhadap slow viruses, karena slow virus menginfeksi

file target ketika file tersebut ditulis ke dalam disk.

Meskipun adanya kekurangan-kekurangan di atas, banyak pakar menganggap

integrity checkers sebagai pertahanan yang paling baik terhadap ancaman virus

komputer dan malware lainnya.

2.9 Pengertian Checksum dan Fungsi Hashing CRC32

Checksum adalah jumlah yang dikalkulasikan sebagai fungsi dari suatu message. Atau

checksum bisa dianalogikan sebagai sidik jari pada manusia. (Shadewa,2007)

Fungsi hash adalah fungsi yang menerima masukan string yang panjangnya sembarang dan mengkonversinya menjadi string keluaran yang panjangnya tetap (fixed) (umumnya berukuran jauh lebih kecil daripada ukuran string semula). (Munir, 2004).

CRC32 adalah kepanjangan dari ” Cyclic Redundancy Code” dan 32

melambangkan panjang checksum dalam bit.. Algoritma CRC adalah cara yang lebih

baik dan teruji untuk pengecekan byte dalam jumlah besar dari suatu file yang telah

termodifikasi maupun tidak, jika dibandingkan dengan metode yang mengacu pada

nama atau ukuran file. Algoritma ini mencari lewat seluruh jumlah byte dan

menghasilkan angka 32 bit untuk menggambarkan isi file, dan sangat kecil sekali

kemungkinan dua stream dari byte yang berbeda mempunyai CRC yang sama.

(42)

urutan byte. Dengan CRC32 kemungkinan perubahan standar (penyimpangan dari

penghitungan CRC terhadap file) yang terjadi dapat dikendalikan. Nilai CRC32 dari

sebuah file adalah nilai yang didapat dengan memproses ukuran dan nama file dengan

nilai tabel CRC32 yang telah distandardkan (lampiran 2).

Implementasi CRC32 pada pendeteksian virus adalah virus dapat dikenali

melalui banyak cara, dapat melalui nama file, ukuran atau dengan membongkar isi file

dan menemukan penandanya. Ada beberapa kelemahan jika hanya mengenalinya dari

nama file. Terkadang program virus tidak memakai nama asli dari virus itu sendiri.

Misalnya virus Hallo.roro.htt memakai nama program pemicunya syssrv.exe.

Sehingga mau tidak mau untuk mendeteksi program itu antivirus harus melihatnya

melalui ukuran file. Ukuran file pun belum menjamin bahwa file tersebut adalah virus.

Bisa saja ukuran filenya sama tetapi programnya berbeda. Sehingga diperlukan

metode lain untuk mengenali file virus. Pengenalan virus melalui nilai CRC32 nya

merupakan cara yang lebih akurat dan efektif.

Cara-cara mengenali sebuah virus melalui metode checksum error akan

dijelaskan sebagai berikut:

a. Memilih file yang akan diperiksa

b. Mengambil informasi dari file tersebut, yaitu nama, ukuran.

c. Menghitung checksum file yang diambil dari ukuran file dengan metode

CRC32.

d. Menggunakan hasil checksum tersebut untuk mengenali bahwa program

tersebut adalah virus.

Sama seperti fungsi hashing yang lainnya, CRC32 berfungsi untuk mengambil

penanda dari sebuah file yang nantinya akan dipakai sebagai acuan untuk memeriksa

apakah suatu file adalah file virus atau bukan. Kecil sekali kemungkinan bahwa dua

buah file mempunyai nilai CRC32 yang sama. CRC32 hanya mengambil 32 bit dari

sebuah file yang dijadikan sebagai penanda file tersebut. Hal ini berbeda dengan

metode MD5 yang mengambil 128 bit dari file. Jumlah bit penanda yang dihasilkan

(43)

media penyimpanan dan kecepatan proses scanning. Langkah-langkah pembuatan

MD5secara garis besar adalah sebagai berikut:

1. Penambahan bit-bit pengganjal (padding bits). 2. Penambahan nilai panjang pesan semula.

3. Inisialisasi penyangga (buffer) MD.

4. Pengolahan pesan dalam blok berukuran 512 bit.

5. 512 bit kemudian dibagi kedalam 32 bit sub blok.

6. Output MD5 berupa 4 buah blok yang masing-masing 32 bit.

7. 128 bit dari 4 buah blok ini yang disebut sebagai nilai hash.

Bererapa metode yang lain menggunakan hanya 16 bit sebagai penanda dari

suatu file, hal ini tentunya akan sangat membantu mengefisienkan media

penyimpanan, hanya saja 16 bit kurang menggambarkan isi dari suatu file, akan sering

terjadi coalition, apalagi jika virus dibangun dengan bahasa pemrograman tingkat tinggi. Keuntungan memakai CRC32 adalah karena hanya terdiri dari 32 bit akan

meminimalkan pemakaian media penyimpanan, dan mempercepat proses scanning.

Metode lain yang dapat dipakai user adalah metode heuristik. Pada metode ini

program akan menganggap suatu file adalah virus jika file tersebut mempunyai sifat

seperti sifat virus (misalnya mengubah nilai registry, memasuki start up system).

Keunggulan dari metode ini adalah antivirus tidak terlalu bergantung pada signature

virus yang terdapat pada database antivirus. Tidak seperti algoritma Hashing yang

mengambil beberapa bit dari sebuah file sebagai penandanya, metode ini mengambil

ciri-ciri umum proses virus untuk menandai sebuah file merupakan virus atau tidak.

Kelemahan dari metode ini adalah seringnya terjadi kesalahan pada pendeteksian

virus, hal ini dikarenakan beberapa file sistem mempunyai rutin yang sama seperti file

sistem. Selain itu, metode ini bersifat tidak pasti, hanya menjadikan suatu file yang

(44)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis

Pada bab ini akan dibahas mengenai anlisis permasalahan, yaitu penelitian tentang

kekurangan dengan memakai antivirus dari perusahaan pembuat antivirus beserta

masalah-masalah lain yang ditemukan. Kemudian akan dibahas mengenai

penyelesaian masalah dan persyaratan yang dibutuhkan untuk menyelesaikan masalah.

3.1.1 Analisis Permasalahan

Masalah yang dihadapi selama ini adalah semakin pesatnya perkembangan virus

mengharuskan user untuk mendownload database virus yang semakin besar

ukurannya. Setelah user mendownload data base antivirus, belum tentu virus yang

menginfeksi komputer user terdapat dalam data base antivirus tersebut. Oleh karena

itu, akan lebih efektif jika user hanya menghitung nilai CRC32 dari file virus yang

menginfeksi komputer user, kemudian memasukkan nilai CRC32 file tersebut

kedalam data base antivirus, kemudian antivirus melakukan scanning terhadap

komputer dan menghapus seluruh file yang nilai CRC32nya yang serupa dengan file

virus tersebut. Selain itu dengan menggunakan antivirus sederhana yang dibuat sendiri

oleh user dapat membantu user yang sama sekali tidak memiliki akses Internet.

Antivirus, sesuai namanya adalah sebuah aplikasi yang dibangun untuk

mendeteksi keberadaan virus pada sebuah komputer untuk selanjutnya dihapus dari

komputer. Cara kerja program-program penghapus virus ini kebalikan dari program

virus itu sendiri, yaitu mendeteksi apakah file terkena virus atau tidak, jika ya maka

antivirus akan menindaklanjuti file tersebut yaitu dengan mengkarantina, menghapus,

(45)

Gambar 3.1 Ilustrasi Cara Kerja Antivirus

Dari gambar 3.1 dapat dilihat sebuah program antivirus mencari semua file

yang telah terinfeksi oleh virus, selanjutnya antivirus melakukan proses pemisahan

file virus dengan file yang terinfeksi, kemudian melakukan penghapusan virus dan

meninggalkan file yang telah bersih dari virus.

3.1.2 Analisis Persyaratan

Dalam perancangan sebuah perangkat lunak diperlukan rekayasa persyaratan yang

merupakan sebuah proses untuk menemukan, menganalisis, mendokumentasikan, dan

memeriksa layanan serta batasan sistem. Analisis ini akan digunakan pada saat sebuah

program akan dikembangkan (pengkodean dalam bahasa pemrograman). Dalam hal

ini ada 4 (empat) tipe analisis yang digunakan, yaitu :

1. Content Analysis

Menentukan isi yang akan disajikan oleh antivirus, baik itu berupa text, grafik

maupun image. 2. Interaction Analysis

Menjelaskan cara interaksi antara sistemantivirus dengan user. Program akan

dibangun dengan Visual Basic 6.0 yang akan berinteraksi dengan user dengan

tombol-tombol dan tampilan grafis.

3. Functional Analysis

Menentukan operasi yang akan diaplikasikan pada program antivirus dan

termasuk di dalamnya fungsi-fungsi yang melakukan semua proses serta

semua operasi dan fungsi tersebut dideskripsikan secara detil. Antivirus akan

mendeteksi keberadaan file virus dalam komputer, menghitung nilai CRC32

dari file tersebut kemudian menghapusnya dari komputer. Antivirus Mencari file virus

virus virus

hapus

(46)

4. Configuration Analysis

Lingkungan dan infrastruktur dimana aplikasi antivirus digambarkan secara

detil, seperti pemilihan kebutuhan minimal hardware/software agar user bisa menggunakan antivirus ini. (Stephen,1996)

3.2 Perancangan

Setelah dilakukan analisis terhadap permasalahan, kemudian akan dilanjutkan dengan

perancangan sebuah program antivirus yang akan menyelesaikan masalah yang

dihadapi user selama menggunakan program antivirus dari perusahaan pembuat

antivirus.

3.2.1 Algoritma Antivirus 1. START

2. Aplikasi memeriksa database tempat penyimpanan penanda dari file virus.

3. Apakah database virus ada?

a. jika ada langsung ke nomor 4

b. jika tidak langsung ke nomor 7

4. Aplikasi memeriksa semua proses yang sedang berjalan.

5. Apakah ada proses virus yang sedang berjalan?

a. Jika ya langsung ke nomor 6

b. Jika tidak kembali ke nomor 7

6. Matikan proses virus yang terdeteksi

(47)

Flowchart antivirus

Gambar 3.2 Flow Chart Antivirus START

tida

k

Sistem memeriksa database virus

Periksa semua proses yang berjalan

Apakah ada proses virus?

Matikan proses virus

END ya ada

T

ida

k a

(48)

3.2.2 Struktur Kode Antivirus

Untuk membangun sebuah program antivirus, maka program tersebut harus terdiri

dari beberapa komponen.

1. Desain Interface (Antar muka)

Desain interface adalah desain tampilan utama dari program antivirus.

Yaitu kode yang membentuk aplikasi luar antivirus yang dibangun.

Adapun desain antar muka dari sistem adalah sebagai berikut:

Gambar 3.3 Desain Interface Antivirus

2. Kode Metode

Kode ini adalah prosedur yang dipakai untuk melakukan identifikasi

virus. Pada sistem metode yang dipakai untuk mendeteksi keberadaan

virus adalah dengan metode CRC32. header

Informasi tentang virus yang terdeteksi

Check box Check box

(49)

3. Kode Virus List (Database Virus)

Kode ini adalah prosedur yang dipakai untuk menyimpan daftar virus

yang telah diketahui nilai CRC32 nya. Kode ini berguna untuk

memanipulasi database virus yang berisi list virus atau daftar file yang

dicurigai sebagai virus. Database ini nantinya akan bertambah besar,

sesuai dengan banyaknya virus yang harus dikenali oleh antivirus.

4. Kode Manipulasi File

Kode ini adalah prosedur yang akan dilakukan sistem jika menemukan

virus. Kode manipulasi disini berguna untuk memanipulasi file virus,

maksudnya untuk menangani file virus yang telah terdeteksi. Ketika

ada file yang terdeteksi sebagai virus, maka aplikasi antivirus akan

menindak lanjuti (menghentikan) file tersebut.

5. Kode Penghentian Proses Virus

Kode ini adalah prosedur penghentian proses virus. Kode ini berguna

untuk menghentikan proses yang dijalankan oleh virus. Setiap virus

biasanya memiliki file induk virus yang selalu menjalankan proses

virus. Misalnya melakukan ping ke suatu situs atau menggandakan

dirinya sendiri. Maka untuk menghentikan proses tersebut, maka harus

ada kode kill process. Jika user ingin menghapus suatu file, maka file

tersebut harus tidak boleh berjalan atau sedang melakukan proses di

komputer. Jika masih melakukan proses, maka file tersebut tidak dapat

dihapus.

Untuk dapat mengetahui nilai CRC32 dari suatu file, maka program antivirus

harus didukung sebuah fitur yaitu sebuah program yang dapat menghitung nilai

(50)

Adapun algoritma program penghitung nilai CRC32 dari sebuah file adalah

sebagai berikut:

1. START

2. Cari file yang akan dihitung nilai CRC32 nya.

3. Hitung nilai CRC32 dari file.

4. Tampilkan pada message box.

5. Copy nilai CRC32 file.

6. Jika file adalah virus, tambahkan nilai CRC32 dari file tersebut pada database

antivirus.

7. END.

Selain itu untuk melihat semua proses yang sedang berjalan pada komputer

maka program antivirus membutuhkan sebuah program yang dapat menampilkan

seluruh proses yang terjadi, jika program task manager yang disediakan oleh windows

tidak dapat bekerja karena diblokir oleh virus. Hal ini nantinya akan digunakan untuk

menghentikan proses virus, karena file virus tidak dapat dihapus jika proses yang

dilakukan virus tersebut tidak dihentikan. Setelah proses virus dihentikan kemudian

antivirus akan melakukan scanning keseluruh directory pada sistem operasi dan

(51)

BAB 4

IMPLEMENTASI

4.1 Implementasi Antivirus Pada Visual Basic 6.0

Bahasa Pemrograman Visual Basic akan digunakan sebagai bahasa untuk

menerjemahkan algoritma dan flowchart antivirus kedalam kode-kode bahasa

pemrograman yang bisa dicompile untuk selanjutnya dilakukan pengujian terhadap

antivirus. Adapun listing program pada aplikasi ini terdapat pada lampiran 1.

4.2 Penggunaan Program dalam Scanning dan Penghapusan Virus

Program antivirus ini dapat dipakai oleh semua user. Program antivirus ini masih

dapat dikembangkan sesuai dengan keinginan user. Program antivirus ini dibangun

menggunakan bahasa pemrograman Visual Basic 6.0. Program antivirus

menggunakan metode scanning dalam pendeteksian virus.

Sebelum membuat program, Visual Basic 6.0 harus ditambahkan komponen

tambahan yaitu Microsoft Windows Common Control 6.0 (SP6). Komponen ini dapat

ditambahkan melalui menu Project  Components, atau dengan menekan tombol

Ctrl+T pada keyboard.

Terdapat dua mode pada antivirus ini, yaitu mode Real Time Scan dan

Autokill Virus. Pada mode real time scan, antivirus akan terus menerus memantau

setiap proses yang terjadi pada komputer, selanjutnya memberitahu user jika ada

proses yang dianggap sebagai virus, sedangkan pada mode autokill virus, antivirus

(52)

4.3 Tampilan Interface

Tampilan utama dari aplikasi ditunjukkan oleh gambar berikut:

Gambar 4.1 Tampilan interface antivirus

Kolom PID adalah kolom yang menampilkan Id dari suatu proses dalam

sistem operasi komputer. Kolom Nama Virus adalah kolom yang menampilkan

informasi nama virus yang terdeteksi oleh aplikasi. Kolom Nama Proses adalah kolom

yang menampilkan informasi nama file beserta nilai CRC32 dari file tersebut. Kolom

Alamat Proses adalah kolom yang menampilkan informasi tentang pada directory

mana file virus tersebut berada.

Kontrol utama yang diperlukan pada pembuatan program antivirus adalah:

1 buah listview

2 buah image list

2 buah picture box

1 buah timer

2 buah checkbox

(53)

Property dan value pada masing-masing kontrol ditunjukkan oleh tabel berikut:

Background Color &H00FFFFFF&

Visible FALSE

e Name picIcon16

Height 240

Width 240

Background Color &H00FFFFFF&

Visible FALSE

f Name tmrRealTimeScan

Enabled FALSE

Interval 100

g Name ChkRealTimeScan

Caption Mode Real-Time Scan

Caption Matikan Virus Terdeteksi

(54)

Fungsi dari masing-masing kontrol adalah sebagai berikut:

a. lprocess

berfungsi untuk menampilkan list virus yang terdeteksi oleh antivirus. List

view ini akan menampilkan informasi tentang virus yang berupa:

1. icon virus

2. Proses ID virus

3. Nama Virus

4. Nama Proses Virus

5. Alamat Virus

6. Ukuran Virus

b. ImgLarge

Jika program dieksekusi maka kontrol ini tidak ditampilkan. Kontrol ini

diperlukan sebagai tempat penyimpanan icon virus (32px X 32px) yang

terdeteksi.

c. ImgSmall

Jika program dieksekusi maka kontrol ini tidak ditampilkan. Kontrol ini

diperlukan sebagai tempat penyimpanan icon virus (16px X 16px) yang

terdeteksi.

d. picIcon32

Saat program dijalankan kontrol ini tidak ditampilkan. Kontrol ini

berfungsi sebagai tempat pemrosesan ekstract icon virus (32px X 32px)

yang terdeteksi.

e. picIcon16

Saat program dijalankan kontrol ini tidak ditampilkan. Kontrol ini

berfungsi sebagai tempat pemrosesan ekstract icon virus (16px X 16px)

Gambar

gambar 1.1.
Gambar 2.1. Overwriting virus
Gambar 2.2 Appending Virus
Gambar 2.4 Tampilan Virus Creation Lab (VCL).
+7

Referensi

Dokumen terkait

Adapun maksud dan tujuan dari penelitian ini adalah untuk merancang suatu sistem informasi yang menyangkut dengan nilai-nilai siswa, yang mana dengan adanya

observasi pada Distro Ultraa Store. Pengidentifikasiaan masalah yang ada dari sistem yang telah berjalan, sehingga ditemukan hambatan dan permasalahan sehingga dapat di

Kedua tabel di atas menunjukkan bahwa ketebalan lapis tambahan yang diperlukan berdasarkan program everseries nilainya lebih besar dari pada nilai kete- balan yang dihasilkan

Untuk perhitungan head total pompa air dari sungai ke kolam pengendapan berikut akan di kerjakan dengan menggunakan program visual basic 6.0 untuk menentukan nilai

Kedua tabel di atas menunjukkan bahwa ketebalan lapis tambahan yang diperlukan berdasarkan program everseries nilainya lebih besar dari pada nilai kete- balan yang dihasilkan

digunakan saat bekerja pada Visual Basic. Terdiri dari menu file, Edit, View, Project,.. Format, Debug, Run, Query, Diagram, Tools, Add-Ins, Windiw dan Help yang. dapatdilihat

Apabila peledakan menerapkan stemming yang terlalu pendek, maka akan mengakibatkan pecahnya energi ledakan terlalu mudah mencapai bidang bebas sebelah atas

pewarnaan graf [7], algoritma Greedy [1], [2] dan Microsoft Visual Basic 6.0 [6]), mengaitkan teori-teori yang didapat dengan permasalahan dalam penyusunan lokasi