• Tidak ada hasil yang ditemukan

LAMPIRAN A. Private Sub Command4_Click() MsgBox "isi pesan ini sesuka anda!", vbexclamation, "Tentang" End Sub

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAMPIRAN A. Private Sub Command4_Click() MsgBox "isi pesan ini sesuka anda!", vbexclamation, "Tentang" End Sub"

Copied!
12
0
0

Teks penuh

(1)

LAMPIRAN A

Listing Program Antivirus

Private Sub cmdChecksum_Click() frmGenerator.Show

End Sub

Private Sub Command3_Click()

MsgBox "[Daftar Virus]" & Chr(13) & "1. Virus1" & Chr(13) & "2. Virus2" & Chr(13) & "3. Virus3", vbOKOnly, "Daftar Virus"

End Sub

Private Sub Command4_Click()

MsgBox "isi pesan ini sesuka anda !", vbExclamation, "Tentang" End Sub

Private Sub Form_Load()

lstResult.AddItem "Welcome to MY ANTIVIRUS !" lstResult.AddItem "Copyright © 2009 - 2010, AndaSoft" lstScan.AddItem Environ$("windir") & "\*.*"

BERHENTI = True ' Set nilai Berhenti True BacaDatabase App.path & "\database.db" End Sub

Private Sub cmdAdd_Click()

UniDialog1.FolderMessage = "Select a path : " UniDialog1.ShowFolder

End Sub

Private Sub cmdRemove_Click() On Error Resume Next

Static count As Integer

For count = 1 To lstScan.ListCount

If lstScan.Selected(count - 1) = True Then lstScan.RemoveItem (count - 1) Next

End Sub

Private Sub Command1_Click() Static count As Byte

If lstScan.ListCount = 0 Then Exit Sub If Command1.Caption = "Start &scan" Then BERHENTI = False

PosisiScan (True)

(2)

lstResult.Clear

For count = 0 To lstScan.ListCount - 1 If BERHENTI = True Then Exit For lstResult.AddItem "[Scanning File ...]" lstResult.AddItem " "

lstResult.AddItem " "

ScanFolder RemoveFromRight(lstScan.List(count), 4), lblFile, lstResult Next

Command1.Caption = "Start &scan" PosisiScan (False)

BERHENTI = True

MsgBox "Scan is finished !", vbInformation, "MY Antivirus" Else

BERHENTI = True

Command1.Caption = "Start &scan" PosisiScan (False)

End If End Sub

Private Sub Command2_Click() frmOption.Show 1, Me

End Sub

Private Sub Command5_Click() Unload Me

End End Sub

Private Sub Form_Resize() On Error Resume Next Me.Height = 8235 Me.Width = 10320 End Sub

Private Sub Form_Unload(Cancel As Integer) If BERHENTI = False Then Cancel = 1 End Sub

Private Sub Image1_Click() frmGenerator.Show

End Sub

Private Sub UniDialog1_FolderSelect(ByVal path As String) If path <> "" Then

lstScan.AddItem path & "\*.*" End If

(3)

Private Function AddSlash(sPath As String) As String If Right(sPath, 1) = "\" Then

AddSlash = sPath Else

AddSlash = sPath & "\" End If

End Function

Private Sub PosisiScan(TF As Boolean) If TF = True Then Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command5.Enabled = False frScan.Enabled = False frResult.Enabled = False Else Command2.Enabled = True Command3.Enabled = True Command4.Enabled = True Command5.Enabled = True frScan.Enabled = True frResult.Enabled = True End If End Sub

Private Function RemoveFromRight(sTemp As String, iRight As Integer) As String RemoveFromRight = Left(sTemp, Len(sTemp) - iRight)

End Function Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Any) As Long

Private Declare Sub ReleaseCapture Lib "user32" () Private Const WM_NCLBUTTONDOWN = &HA1 Private Const HTCAPTION = 2

Private Sub cmdCancel_Click() ck1.value = 0

ck2.value = 0 ck3.value = 0 Me.Hide End Sub

Private Sub cmdOK_Click() Me.Hide

(4)

Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)

Dim lngReturnValue As Long If Button = 1 Then

Call ReleaseCapture

lngReturnValue = SendMessage(Me.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)

End If End Sub

Private Sub Command1_Click() Text2.Text = GET_MD5(Text1.Text) End Sub

Option Explicit

';+---+; ';Modul untuk membaca file standar fungsi API, via Kernel32.dll ';karena VB6 tidak mendukung pengoperasian file secara unicode - ';dalam hal akses alamat filenya.

';Bisa dianggap sebagai "simulasi" instruksi vb6: Open ... As #n ';Bukan yang terbaik, tapi relatif lebih stabil diantara cara-cara - ';yang lainnya.

';Pengecualian:

'; ~tidak bisa membaca + menulis file yang dikunci oleh proses lain. '; ~...

';+---+; ';PMZ-Indonesia, 24-25@Agustus@2008.

';+---+; Private Const MAX_PATH As Long = 260 '00-FF

Private Const MAX_BUFFER As Long = (MAX_PATH * 2) '00 00 - FF FF Private Const SYNCHRONIZE = &H100000 'penting! sinkronisasi data dan akses dengan proses lain.

Private Const READ_CONTROL = &H20000 'penting! ijin untuk mengoperasikan file.

Private Const FILE_READ_DATA = (&H1) 'penting! operasi: membaca file. Private Const FILE_WRITE_DATA = (&H2) 'penting! operasi: menulis file. Private Const FILE_SHARE_READ = &H1 'dapat diakses baca oleh proses lain. Private Const FILE_SHARE_WRITE = &H2 'dapat diakses tulis oleh proses lain. Private Const FILE_SHARE_DELETE = &H4 'dapat diakses hapus oleh proses lain. Private Const FILE_ATTRIBUTE_NORMAL = &H80 'untuk file standar.

'operasi alternatif untuk file yang akan dibuat ataupun dibuka:

Private Const FILE_DISPOSE_CREATE_NEW = 1 'hanya akan membuat file baru. bila file sudah ada sebelumnya, fungsi gagal.

Private Const FILE_DISPOSE_CREATE_ALWAYS = 2 'hapus file yang lama (bila ada), dan akan membuat file yang baru.

(5)

Private Const FILE_DISPOSE_OPEN_EXISTING = 3 'hanya akan membuka file yang sudah ada, bila file tidak ada, fungsi gagal.

Private Const FILE_DISPOSE_OPEN_ALWAYS = 4 'membuka file yang ada (bila ada), dan akan membuat file yang baru bila file belum ada.

Private Const FILE_DISPOSE_TRUNCATE_EXISTING = 5 'membuka file yang sudah ada, dan menghapus semua isinya terlebih dahulu. fungsi gagal bila file tidak ada.

'membuka file:

Private Declare Function CreateFileW Lib "kernel32" (ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long,

lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

Private Declare Function CreateFileA Lib "kernel32" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long,

lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long 'mencari ukuran file:

Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long

'menggeser posisi pointer ke file:

Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal

dwMoveMethod As Long) As Long 'operasi dasar untuk file yang telah dibuka:

Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As Any) As Long

Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As Any) As Long

'menutup file yang telah dibuka:

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

'\\Ingat!:

Public Enum CREATE_ACCESS_OPTIONS

FOR_BINARY_ACCESS_READ = 1 'hanya membaca isi dari file, tanpa memodifikasi isi file. bila file tidak ada, fungsi gagal.

FOR_BINARY_ACCESS_WRITE = 2 'hanya menulis isi ke file, bila file belum ada, akan dibuatkan file baru.

FOR_BINARY_ACCESS_READ_WRITE = 3 'untuk membaca dan menulis file, bila file belum ada, akan dibuatkan file baru.

FOR_BINARY_ACCESS_READ_WRITE_EXISTING = 4 'untuk membaca dan menulis file, bila file belum ada, fungsi akan gagal. lebih aman.

(6)

End Enum '\\Ingat!:

Public Enum SHARE_ACCESS_OPTIONS

LOCK_READ_WRITE = 1 'hanya "sharing delete access", untuk proses yang lain. LOCK_READ = 2 'hanya "sharing write + delete access", untuk proses yang lain.

LOCK_WRITE = 3 'hanya "sharing read + delete access", untuk proses yang lain.

LOCK_NONE = 4 '"sharing" semuanya, tanpa terkecuali. End Enum

Public Function VbOpenFile(ByVal szFileName As String, ByVal opCreateOption As CREATE_ACCESS_OPTIONS, ByVal opShareAccess As

SHARE_ACCESS_OPTIONS) As Long

On Error Resume Next 'memberi nomor handle ke file bila berhasil, 0 jika gagal. Dim KeResult As Long 'result dari kernel32.

Dim KeCreateAccess As Long Dim KeCreateOption As Long Dim KeShareAccess As Long

Select Case opCreateOption

Case FOR_BINARY_ACCESS_READ '1

KeCreateAccess = SYNCHRONIZE Or READ_CONTROL Or FILE_READ_DATA

KeCreateOption = FILE_DISPOSE_OPEN_EXISTING Case FOR_BINARY_ACCESS_WRITE '2

KeCreateAccess = SYNCHRONIZE Or READ_CONTROL Or FILE_WRITE_DATA

KeCreateOption = FILE_DISPOSE_OPEN_ALWAYS Case FOR_BINARY_ACCESS_READ_WRITE '3

KeCreateAccess = SYNCHRONIZE Or READ_CONTROL Or FILE_READ_DATA Or FILE_WRITE_DATA

KeCreateOption = FILE_DISPOSE_OPEN_ALWAYS Case FOR_BINARY_ACCESS_READ_WRITE_EXISTING '4 KeCreateAccess = SYNCHRONIZE Or READ_CONTROL Or FILE_READ_DATA Or FILE_WRITE_DATA

KeCreateOption = FILE_DISPOSE_OPEN_EXISTING End Select

Select Case opShareAccess

Case LOCK_READ_WRITE '1

KeShareAccess = FILE_SHARE_DELETE Case LOCK_READ '2

KeShareAccess = FILE_SHARE_WRITE Or FILE_SHARE_DELETE Case LOCK_WRITE '3

KeShareAccess = FILE_SHARE_READ Or FILE_SHARE_DELETE Case LOCK_NONE '4

(7)

KeShareAccess = FILE_SHARE_READ Or FILE_SHARE_WRITE Or FILE_SHARE_DELETE

End Select

'pakai cara utama (unicode):

KeResult = CreateFileW(StrPtr(szFileName), KeCreateAccess, KeShareAccess, ByVal 0, KeCreateOption, FILE_ATTRIBUTE_NORMAL, 0)

If KeResult > 0 Then 'sukses pakai cara unicode.

VbOpenFile = KeResult 'masukkan ke fungsi (return): nomor handle menuju ke file.

GoTo TERAKHIR End If

'pakai cara cadangan (ansi):

KeResult = 0 'reset, sekarang coba pakai ansi:

KeResult = CreateFileA(szFileName, KeCreateAccess, KeShareAccess, ByVal 0, KeCreateOption, FILE_ATTRIBUTE_NORMAL, 0)

If KeResult > 0 Then 'sukses pakai cara ansi.

VbOpenFile = KeResult 'masukkan ke fungsi (return): nomor handle menuju ke file.

GoTo TERAKHIR End If

VbOpenFile = 0 'gagal membuka file :( TERAKHIR: If Err.Number > 0 Then Err.Clear End If End Function

Public Function VbFileLen(ByVal nFileHandle As Long) As Long

On Error Resume Next 'memberi nilai angka sebesar ukuran file dalam bytes. VbFileLen = GetFileSize(nFileHandle, 0) TERAKHIR: If Err.Number > 0 Then Err.Clear End If End Function

Public Function VbCloseFile(ByVal nFileHandle As Long) As Long On Error Resume Next 'memberi nilai 1 jika berhasil, 0 jika gagal. VbCloseFile = CloseHandle(nFileHandle) TERAKHIR: If Err.Number > 0 Then Err.Clear End If End Function

(8)

Public Function VbReadFileB(ByVal nFileHandle As Long, ByVal nStartPos As Long, ByVal nReadLength As Long, ByRef OutFileData() As Byte) As Long On Error Resume Next 'memberi isi ukuran file (buffer) dalam bytes sebagai pengembalian (return) + isi buffer.

Erase OutFileData 'reset memori data. 'lanjut yang baru:

Dim nTrueLen As Long

nTrueLen = GetFileSize(nFileHandle, 0) 'cari ukuran filenya. Dim nRequestStart As Long

Dim nRequestLen As Long Dim nApproxLen As Long Dim KeResult As Long

'optimisasi opsional, dapat diganti sesuai keinginan: If nTrueLen <= -1 Then

VbReadFileB = -1 'error: file tidak ada. GoTo TERAKHIR

ElseIf nTrueLen = 0 Then

VbReadFileB = -2 'error: file isi kosong. GoTo TERAKHIR

End If

If nStartPos > nTrueLen Then

VbReadFileB = -3 'error: start melebihi akhir. GoTo TERAKHIR

End If

If nStartPos <= 0 Then

VbReadFileB = -4 'error: start pointer tidak sesuai. GoTo TERAKHIR

End If

If nReadLength <= 0 Then

VbReadFileB = -5 'error: panjang yang diminta tidak sesuai. GoTo TERAKHIR

End If

If nReadLength > nTrueLen Then

VbReadFileB = -6 'error: panjang yang diminta melebihi akhir. GoTo TERAKHIR

End If

nRequestStart = nStartPos 'start pointer ke data (base 1). nRequestLen = nReadLength 'panjang data.

ReDim OutFileData(nRequestLen - 1) As Byte 'persiapkan buffer data (base 0).

SetFilePointer nFileHandle, (nRequestStart - 1), 0, 0 'set start pointer ke handle (base 0).

KeResult = ReadFile(nFileHandle, OutFileData(0), nRequestLen, nApproxLen, ByVal 0)

(9)

If nApproxLen <> nRequestLen Then 'test ukuran buffer dengan isi datanya. ReDim Preserve OutFileData(nApproxLen - 1) As Byte 'sesuaikan lagi ukuran buffer (base 0).

End If

VbReadFileB = nApproxLen '<-- beritahu jumlah bytes yang berhasil dibaca. TERAKHIR: If Err.Number > 0 Then Err.Clear End If End Function

Private Sub Class_Initialize() On Error Resume Next DoEvents TERAKHIR: If Err.Number > 0 Then Err.Clear End If End Sub

Private Sub Class_Terminate() On Error Resume Next

DoEvents TERAKHIR: If Err.Number > 0 Then Err.Clear End If End Sub

Dim FSO As Object

Public BERHENTI As Boolean

Private Function GET_Folder(Folder As String, lbFile As UniLabel, lstInfo As UniList) As String

On Error Resume Next Dim sFolder As Object

For Each sFolder In FSO.getFolder(Folder).subFolders GET_Folder (sFolder.path), lbFile, lstInfo

If BERHENTI = True Then Exit Function GetFile sFolder.path, lbFile, lstInfo Next

End Function

(10)

Dim sFile As Object

For Each sFile In FSO.getFolder(path).Files DoEvents

If BERHENTI = True Then Exit Function lbFile.Caption = sFile

If frmOption.ck1.value = 1 Then

If isProperFile(CStr(sFile), 3, "EXE DLL VBS VMX DB COM SCR BAT") = True Then

If isFileVirus(CStr(sFile), lstInfo) = True Then

If frmOption.ck2.value = 1 Then HapusFile CStr(sFile) End If

If frmOption.ck3.value = 1 Then NormalizeAttribute CStr(sFile) End If

Else

If isFileVirus(CStr(sFile), lstInfo) = True Then

If frmOption.ck2.value = 1 Then HapusFile CStr(sFile) End If

If frmOption.ck3.value = 1 Then NormalizeAttribute CStr(sFile) End If

Next

End Function

Public Function ScanFolder(Folder As String, lbFile As UniLabel, lstInfo As UniList) Dim sFile As Object

Set FSO = CreateObject("Scripting.FileSystemObject") For Each sFile In FSO.getFolder(Folder).Files

DoEvents

lbFile.Caption = sFile

If frmOption.ck1.value = 1 Then

If isProperFile(CStr(sFile), 3, "EXE DLL VBS VMX DB COM SCR BAT") = True Then

If isFileVirus(CStr(sFile), lstInfo) = True Then

If frmOption.ck2.value = 1 Then HapusFile CStr(sFile) End If

If frmOption.ck3.value = 1 Then NormalizeAttribute CStr(sFile) End If

Else

If isFileVirus(CStr(sFile), lstInfo) = True Then

If frmOption.ck2.value = 1 Then HapusFile CStr(sFile) End If

If frmOption.ck3.value = 1 Then NormalizeAttribute CStr(sFile) End If

Next

GET_Folder Folder, lbFile, lstInfo ' Lanjut ke file - file adalam sub folder End Function

(11)

Kartu Bimbingan Tugas Akhir Mahasiswa

Nama : QURBANI AKBARIKA PANJAITAN

Nomor Induk Mahasiswa : 082406161

Juduk Tugas Akhir : APLIKASI ANTIVIRUS KOMPUTER DENGAN VISUAL BASIC 6.0

Dosen Pembimbing : Drs. Bambang Irawan, M.Sc. Tanggal Mulai Bimbingan :

Tanggal Selesai Bimbingan :

No Tanggal Bimbingan Pembahasan Asistensi Mengenai Bab Paraf Dosen Pembimbing Keterangan 1 2 3 4 5 6 7

*Kartu ini harap dikembalikan ke Departemen Matematika bila bimbingan mahasiswa telah selesai

Diketahui: Disetujui oleh:

Departemen Matematika FMIPA USU Pembimbing Utama/

Ketua, Penanggung Jawab

Prof. Drs. Tulus, Vordilp.Math, M.Si, Ph.D. Drs. Bambang Irawan, M.Sc. NIP: 19620901 198803 1 002 NIP: 19470421 197603 1 001

(12)

SURAT KETERANGAN Hasil Uji Program Tugas Akhir

Yang bertanda tangan di bawah ini, menerangkan bahwa Mahasiswa Tugas Akhir Program Studi D-III Teknik Informatika :

Nama : QURBANI AKBARIKA PANJAITAN

NIM : 082406161

Program Studi : Teknik Informatika

Judul TA : APLIKASI ANTIVIRUS KOMPUTER DENGAN VISUAL

BASIC 6.0

Telah melaksanakan test program Tugas Akhir Mahasiswa tersebut di atas pada tanggal

Dengan Hasil : Sukses/Gagal

Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian Meja Hijau Tugas Akhir Mahasiswa bersangkutan di Departemen Matematika FMIPA USU Medan. Medan, Juni 2011 Dosen Pembimbing Drs. Bambang Irawan, M.Sc. NIP: 19470421 197603 1 001

Referensi

Dokumen terkait

Hasil penelitian adalah (1) proses pembelajaran pendidikan agama Islam guru mengunakan membuat RPP, menggunakan model pembelajaran, mengelola kelas, dan

Kata kunci: Perkawinan, Adat Jawa,dan Muharram. Penelitian ini terfokus pada masyarakat yang menjalankan tradisi larangan menikah pada bulan Muharram. Adapun fokus penelitian

Serotipe ini memiliki struktur filogentik yang berbeda, menghasilkan rangkaian antibodi yang khas, dan titer virus 4 kali lebih tinggi pada infeksi sekunder

Hasil penelitian setelah dilakukan mandi dengan air hangat terhadap kualitas tidur lansia pada kelompok eksperimen, tingkat kualitas tidur lansia terlihat menurun,

Dalam penelitian ini, berbagai organisasi Islam fundamentalis yang tumbuh dan berkembang di Universitas Indonesia dapat dipetakan menjadi tiga tipologi gerakan keagamaan, di

 memfasilitasi peserta didik membuat laporan eksplorasi yang dilakukan baik lisan maupun tertulis, secara individual maupun kelompok;.  memfasilitasi peserta didik untuk menyajikan

Peranan irigasi dalam meningkatkan dan menstabilkan produksi pertanian tidak hanya bersandar pada produktifitas saja tetapi juga pada kemampuannya untuk meningkatkan faktor-faktor

Jika laptop menggunakan shared memori video (bagian dari memori utama yang digunakan untuk keperluan video), mungkin saja bahwamodul RAM rusak. Jalankan