BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1
IMPLEMENTASI APLIKASI
Pembuatan program aplikasi Security Port USB ini ditujukan untuk mengamankan port USB di komputer Standalone. Setelah melakukan analisa dan perancangan terhadap aplikasi Security Port USB tahapan selanjutnya adalah pembuatan dan pengujian. Terhadap tahap pengujian terdapat dua cakupan spesifikasi kebutuhan sistem yang meliputi proses pengkodean dan tampilan antar muka.
4.2
SPESIFIKASI KEBUTUHAN SISTEM
Dalam aplikasi ini spesifikasi kebutuhan sistem menggunakan dua buah perangkat yaitu perangkat keras dan perangkat lunak. Berikut ini adalah kebutuhan sistem ketika sistem ini dibuat dan diuji.
80
81
4.2.1
Perangkat Keras (Hardware) 1. Prosesor Intel Pentium dual core T4200 2.0GHz 2. Mobile Intel Graphics Media Accelerator 4500MHD 3. RAM 1 GB DDR2 4. Hardisk 250 GB 5. USB 2.0
4.2.2
Perangkat Lunak (Software) 1. Sistem Operasi Windows 7 Ultimate 32 bit 2. Microsoft Visual Studio 2008 3.
4.3
Microsoft Access 2007
IMPLEMENTASI APLIKASI SECURITY PORT USB
4.3.1 Implementasi Antar Muka Pada bagian ini akan digambarkan mengenai tampilan antar muka pada aplikasi Security Port USB. Secara umum terdapat tiga bagian tampilan antar muka dalam aplikasi ini yaitu halaman splash screen, halaman login, dan halaman utama. Untuk halaman login khusus admin (administrator) saja yang bisa mengaksesnya. Setiap pengguna terlebih dahulu harus melalui halaman login untuk mengakses program security port USB, berikut ini adalah
82
tampilan antar muka halaman splash screen atau halaman pembuka pada aplikasi ini. Selanjutnya program akan menampilkan halaman login. 1. Tampilan Splash Screen
Gambar 4.1
Splash Screen Security Port USB
Potongan Kode Program Imports Microsoft.Win32 Imports System Public Class SplashScreen Inherits System.Windows.Forms.Form Private Sub SplashScreen_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If My.Application.Info.Title <> "" Then LblAplikasi.Text = My.Application.Info.Title Else LblAplikasi.Text = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName) End If LblVersion.Text = System.String.Format(LblVersion.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor) LblCopyright.Text = My.Application.Info.Copyright End Sub Private Sub TimerSplashScreen_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerSplashScreen.Tick ProgressBar1.Value += 4 If ProgressBar1.Value = 100 Then TimerSplashScreen.Dispose() Me.Visible = False FrmLogin.Hide() FrmLogin.NotifyIconLogin.ShowBalloonTip(1, "Pemberitahuan", "Security Port USB Aktif", ToolTipIcon.Info) End If End Sub End Class
83
2. Tampilan halaman Login
Gambar 4.2
Halaman Login
Potongan Kode Program Imports Imports Imports Imports
System.Threading Microsoft.Win32 System.Data System.Data.OleDb
Public Class FrmLogin Inherits System.Windows.Forms.Form Private WithEvents Glass As New fsButton.rtaGlassEffect Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Long) As IntPtr Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As IntPtr) As Integer Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As IntPtr) As Boolean Private Const MF_BYPOSITION = &H400 Private Const MF_REMOVE = &H1000 Private Const MF_DISABLED = &H2 Dim MyConnection As New Security_Port_USB.CLS.DatabaseConneciton Dim Nama As String Dim Password As String Public Sub DisableCloseButton(ByVal hwnd As IntPtr) Dim hMenu As IntPtr Dim menuItemCount As Integer hMenu = GetSystemMenu(hwnd, False) menuItemCount = GetMenuItemCount(hMenu) Call RemoveMenu(hMenu, menuItemCount - 1, _ MF_DISABLED Or MF_BYPOSITION) Call RemoveMenu(hMenu, menuItemCount - 2, _ MF_DISABLED Or MF_BYPOSITION)
84
Call DrawMenuBar(hwnd) End Sub Private Sub FrmLogin_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown If e.Alt = True And e.KeyCode = Keys.F4 Then e.Handled = True End If End Sub Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim oReg As RegistryKey = Registry.CurrentUser Dim oKey As RegistryKey = oReg.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True) oKey.SetValue("Security Port USB", "C:\Program Files\Security Port USB\Security Port USB.exe") DisableCloseButton(Me.Handle) TxtUsername.Focus() TxtUsername.MaxLength = 60 TxtPassword.MaxLength = 10 End Sub Sub CekUser() objDataTable.Clear() StrSql = ("SELECT * FROM [DtLogin] where [Nama_User] = " & "'" & Trim(TxtUsername.Text) & "'") objCommand = New OleDbCommand objCommand.Connection = MyConnection.Open objCommand.CommandType = CommandType.Text objCommand.CommandText = StrSql objDataAdapter = New OleDbDataAdapter(objCommand) objDataAdapter.Fill(objDataSet, "Mdt_Nama_User") objDataTable = objDataSet.Tables("Mdt_Nama_User") MyConnection.Close() End Sub Sub CekPassword() objCommand = Myconnection.Open.CreateCommand objCommand.CommandText = ("select [Nama_User],[Password] " _ & " from [DtLogin] where [Nama_User]='" & Trim(TxtUsername.Text) & "'") objDataReader = objCommand.ExecuteReader objDataReader.Read() Nama = objDataReader.Item("Nama_User") 'Mendefinisikan Id = Id yang ada pada database Password = objDataReader.Item("Password") 'Mendefinisikan Password = password yang ada pada database Myconnection.Close() End Sub Private Sub TxtUsername_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtUsername.KeyPress If e.KeyChar = Chr(13) Then TxtPassword.Select() End Sub Private Sub BtnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogin.Click If TxtUsername.Text = "" Or TxtPassword.Text = "" Then
85
FrmPeringatanGagal.ShowDialog() TxtUsername.Clear() TxtPassword.Clear() TxtUsername.Focus() Else Call CekUser() If objDataTable.Rows.Count <= 0 Then FrmPeringatanGagal.ShowDialog() TxtUsername.Clear() TxtPassword.Clear() TxtUsername.Focus() Else Call CekPassword() If Password <> Trim(TxtPassword.Text) Then FrmPeringatanGagal.ShowDialog() TxtUsername.Clear() TxtPassword.Clear() TxtUsername.Focus() Else Me.Hide() FrmMain.ShowDialog() End If End If End If End Sub End class
3. Tampilan halaman Utama
Gambar 4.3
Halaman Utama
86
Potongan Kode Program Imports System Imports Microsoft.Win32 Imports System.Threading Public Class FrmMain Inherits System.Windows.Forms.Form Private WithEvents Glass As New fsButton.rtaGlassEffect Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Long) As IntPtr Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As IntPtr) As Integer Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As IntPtr) As Boolean Private Const MF_BYPOSITION = &H400 Private Const MF_REMOVE = &H1000 Private Const MF_DISABLED = &H2 Public Sub DisableCloseButton(ByVal hwnd As IntPtr) Dim hMenu As IntPtr Dim menuItemCount As Integer hMenu = GetSystemMenu(hwnd, False) menuItemCount = GetMenuItemCount(hMenu) Call RemoveMenu(hMenu, menuItemCount - 1, _ MF_DISABLED Or MF_BYPOSITION) Call RemoveMenu(hMenu, menuItemCount - 2, _ MF_DISABLED Or MF_BYPOSITION) Call DrawMenuBar(hwnd) End Sub Private Sub FrmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load DisableCloseButton(Me.Handle) Me.Hide() If fsButton.rtaGlassEffect.GlassEnabled Then Glass.TopBarSize = 70 Glass.LeftBarSize = 20 Glass.RightBarSize = 20 Glass.BottomBarSize = 25 Glass.ShowEffect(Me, LblTitle, PicLogo) End If LblUser.Text = My.User.Name Dim regKey As RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\USBSTOR" , True) regKey.SetValue("Start", 4) regKey.Close() LblStatusGambar.Text = "LOCKED" BtnLock.Enabled = False BtnUnlock.Enabled = True End Sub Private Sub BtnUnlock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUnlock.Click
87
LblStatusGambar.Text = "UNLOCKED" BtnUnlock.Enabled = False BtnLock.Enabled = True Dim regKey As RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\USBSTOR" , True) regKey.SetValue("Start", 3) regKey.Close() End Sub End Class
4. Tampilan Halaman Merubah Password
Gambar 4.4
Halaman Mengganti Password
Potongan Kode Program Imports Imports Imports Imports
System System.Data.OleDb Microsoft.Win32 System.Collections
Public Class FrmChangePassword Inherits System.Windows.Forms.Form Private WithEvents Glass As New fsButton.rtaGlassEffect Private Sub TxtNewPassword_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNewUser.KeyPress If e.KeyChar = Chr(13) Then TxtNewPassword.Select() End If End Sub
88
Private Sub TxtConfirmPassword_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNewPassword.KeyPress If e.KeyChar = Chr(13) Then BtnApply.Select() End If End Sub End Class
5. Tampilan Halaman Manage Security
Gambar 4.5
Halaman Manage Security
Potongan Kode Program Imports Microsoft.Win32 Public Class FrmManage Inherits System.Windows.Forms.Form Private WithEvents Glass As New fsButton.rtaGlassEffect Const WM_COMMAND As Int32 = &H111 Const MF_ENABLED As Int32 = &H0 Const MF_GRAYED As Int32 = &H1 Const LVM_FIRST As Int32 = &H1000 Const LVM_DELETEITEM As Int32 = (LVM_FIRST + 8) Const LVM_SORTITEMS As Int32 = (LVM_FIRST + 48) Private Declare Function apiFindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Int32
89
Private Declare Function apiFindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Int32, ByVal hWnd2 As Int32, ByVal lpsz1 As String, ByVal lpsz2 As String) As Int32 Private Declare Function apiEnableWindow Lib "user32" Alias "EnableWindow" (ByVal hwnd As Int32, ByVal fEnable As Int32) As Boolean Private Declare Function apiGetMenu Lib "user32" Alias "GetMenu" (ByVal hwnd As Int32) As Int32 Private Declare Function apiGetSubMenu Lib "user32" Alias "GetSubMenu" (ByVal hMenu As Int32, ByVal nPos As Int32) As Int32 Private Declare Function apiGetMenuItemID Lib "user32" Alias "GetMenuItemID" (ByVal hMenu As Int32, ByVal nPos As Int32) As Int32 Private Declare Function apiEnableMenuItem Lib "user32" Alias "EnableMenuItem" (ByVal hMenu As Int32, ByVal wIDEnableItem As Int32, ByVal wEnable As Int32) As Int32 Private Declare Function apiSendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As String) As Int32 Private Declare Function apiGetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Int32 Private Declare Function apiLockWindowUpdate Lib "user32" Alias "LockWindowUpdate" (ByVal hwndLock As Int32) As Int32 Private Sub FrmManage_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If fsButton.rtaGlassEffect.GlassEnabled Then Glass.TopBarSize = 70 Glass.LeftBarSize = 20 Glass.RightBarSize = 20 Glass.BottomBarSize = 25 Glass.ShowEffect(Me, LblTitle, PicLogo) End If End Sub Private Function HideProcess(ByVal pName As String, Optional ByVal pHide As Boolean = True) On Error Resume Next Dim lhWndParent As Int32 = apiFindWindow(Nothing, "Windows Task Manager Dim lhWndDialog As Int32 = 0 Dim lhWndProcessList As Int32 = 0 Dim lhWndProcessHeader As Int32 = 0 Dim hMenu As Int32 = apiGetMenu(lhWndParent Dim hSubMenu As Int32 = apiGetSubMenu(hMenu, 2) Dim hSubSubMenu As Int32 = apiGetSubMenu(hSubMenu, 1 Dim hId1 As Int32 = apiGetMenuItemID(hSubMenu, 0) Dim hId2 As Int32 = apiGetMenuItemID(hSubSubMenu, 0 Dim hId3 As Int32 = apiGetMenuItemID(hSubSubMenu, 1 Dim hId4 As Int32 = apiGetMenuItemID(hSubSubMenu, 2 Dim hId5 As Int32 = apiGetMenuItemID(hSubSubMenu, 3 If pHide = True Then Dim ProcessItemCount, ProcessItemIndex As Int32 Dim itemString As String, p As New Process, Processes() As Process For i As Int32 = 1 To lhWndDialog = apiFindWindowEx(lhWndParent, lhWndDialog, Nothing, Nothing) If lhWndProcessList = 0 Then lhWndProcessList = apiFindWindowEx(lhWndDialog, 0, "SysListView32", "Processes") If lhWndProcessHeader = 0 Then lhWndProcessHeader = apiFindWindowEx(lhWndProcessList, 0, "SysHeader32", Nothing)
90
Next apiSendMessage(lhWndParent, WM_COMMAND, hId5, 0 apiEnableMenuItem(hMenu, hId1, MF_GRAYED apiEnableMenuItem(hMenu, hId2, MF_GRAYED) apiEnableMenuItem(hMenu, hId3, MF_GRAYED apiEnableMenuItem(hMenu, hId4, MF_GRAYED) apiEnableMenuItem(hMenu, hId5, MF_GRAYED apiEnableWindow(lhWndProcessHeader, 0 If Me.ListView1.Items.Count > 0 Then Me.ListView1.Items.Clear Processes = Process.GetProcesses() For Each p In Processes ProcessItemCount += 1 If p.ProcessName.ToString = "Idle" Then With Me.ListView1.Items.Add("System Idle Process") End With Else With Me.ListView1.Items.Add(p.ProcessName.ToString) End With End If Next p For z As Int32 = 0 To ProcessItemCount - 1 itemString = ListView1.Items.Item(z).Text.ToString() If itemString = pName Then ProcessItemIndex = z Next apiLockWindowUpdate(lhWndProcessList apiSendMessage(lhWndParent, WM_COMMAND, hId1, 0) apiSendMessage(lhWndProcessList, LVM_SORTITEMS, 0, Nothing apiSendMessage(lhWndProcessList, LVM_DELETEITEM, ProcessItemIndex, 0) apiLockWindowUpdate(False) If lhWndParent = 0 Then If Timer1.Interval <> 800 Then Timer1.Interval = 800 Else If Timer1.Interval <> 2500 Then Timer1.Interval = 2500 End If Else Timer1.Enabled = False For i As Int32 = 1 To 7 lhWndDialog = apiFindWindowEx(lhWndParent, lhWndDialog, Nothing, Nothing) If lhWndProcessList = 0 Then lhWndProcessList = apiFindWindowEx(lhWndDialog, 0, "SysListView32", "Processes") If lhWndProcessHeader = 0 Then lhWndProcessHeader = apiFindWindowEx(lhWndProcessList, 0, "SysHeader32", Nothing) Next apiEnableMenuItem(hMenu, hId1, MF_ENABLED) apiEnableMenuItem(hMenu, hId2, MF_ENABLED) apiEnableMenuItem(hMenu, hId3, MF_ENABLED) apiEnableMenuItem(hMenu, hId4, MF_ENABLED) apiEnableMenuItem(hMenu, hId5, MF_ENABLED) apiSendMessage(lhWndParent, WM_COMMAND, hId3, 0) apiSendMessage(lhWndParent, WM_COMMAND, hId1, 0) apiEnableWindow(lhWndProcessHeader, 1) End If Return True End Function Private Sub CheckBoxDisableTaskMgr_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBoxDisableTaskMgr.CheckedChanged Dim regVersion As RegistryKey
91
regVersion = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\P olicies\System", True) If regVersion Is Nothing Then regVersion = Registry.CurrentUser.CreateSubKey("Software\Microsoft\Windows\CurrentVersion \Policies\System\DisableTaskMgr") End If Dim intLock As Integer = 1 If (Not regVersion Is Nothing) Then intLock = regVersion.GetValue("DisableTaskMgr", 1) regVersion.SetValue("DisableTaskMgr", intLock) regVersion.Close() End If End Sub Private Sub CheckBoxDisableTaskMgr_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBoxDisableTaskMgr.CheckStateChanged If CheckBoxDisableTaskMgr.CheckState = CheckState.Unchecked Then Dim regVersion As RegistryKey regVersion = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\P olicies\System", True) regVersion.DeleteValue("DisableTaskMgr") regVersion.Close() End If End Sub Private Sub CheckBoxDisableRegedit_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBoxDisableRegedit.CheckedChanged Dim regVersion As RegistryKey regVersion = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\P olicies\System", True) If regVersion Is Nothing Then regVersion = Registry.CurrentUser.CreateSubKey("Software\Microsoft\Windows\CurrentVersion \Policies\System\DisableRegistryTools") End If Dim intLock As Integer = 1 If (Not regVersion Is Nothing) Then intLock = regVersion.GetValue("DisableRegistryTools", 1) regVersion.SetValue("DisableRegistryTools", intLock) regVersion.Close() End If End Sub End Class
92
6. Tampilan Halaman About
Gambar 4.6
Halaman About
Potongan Kode Program Public Class FrmAbout Private WithEvents Glass As New fsButton.rtaGlassEffect Private Sub FrmAbout_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim ApplicationTitle As String If My.Application.Info.Title <> "" Then ApplicationTitle = My.Application.Info.Title Else ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName) End If Me.LabelProductName.Text = My.Application.Info.ProductName Me.LabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString) Me.LabelCopyright.Text = My.Application.Info.Copyright Me.LabelCompanyName.Text = My.Application.Info.CompanyName Me.TextBoxDescription.Text = My.Application.Info.Description If fsButton.rtaGlassEffect.GlassEnabled Then Glass.TopBarSize = 70 Glass.LeftBarSize = 20 Glass.RightBarSize = 20 Glass.BottomBarSize = 20
93
Glass.ShowEffect(Me, LblTitle, PictureBox1) End If End Sub End Class
7. Tampilan Halaman Info
Gambar 4.7
Halaman Info
Potongan Kode Program Public Class FrmInfo Private WithEvents Glass As New fsButton.rtaGlassEffect Private Sub FrmInfo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If fsButton.rtaGlassEffect.GlassEnabled Then Glass.TopBarSize = 70 Glass.LeftBarSize = 20 Glass.RightBarSize = 20 Glass.BottomBarSize = 20 Glass.ShowEffect(Me, LblTitle, PictureBox1) End If TxtOS.Text = My.Computer.Info.OSFullName TxtPlatform.Text = My.Computer.Info.OSPlatform TxtVersion.Text = My.Computer.Info.OSVersion TxtMemory.Text = My.Computer.Info.TotalPhysicalMemory TxtVM.Text = My.Computer.Info.TotalVirtualMemory TxtRunAs.Text = My.User.Name
94
If My.User.IsInRole("Administrators") Then TxtUser.Text = "Administrator" Else TxtUser.Text = "User Biasa" End If End Sub Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click Me.Close() End Sub Private Sub BtnClose_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles BtnClose.KeyPress If e.KeyChar = Chr(13) Then Me.Close() End If End Sub End Class
4.3.2 Implementasi Basis Data
Dalam pembuatan basis data ini, penulis menggunakan Microsoft Access untuk menyimpan database. Pertama jalankan aplikasi Microsoft Office Access di All Program Microsoft Office Microsoft Office Access 2007. Setelah itu akan tampil halaman Microsoft Office Access seperti pada gambar di bawah ini. Kemudian buat database baru dengan mengklik Blank Database. Lalu simpan di tempat yang telah ditentukan dengan format ekstension .mdb. Kemudian akan tampil blank database dengan tampilan datasheet view.
95
1. Membuka aplikasi Microsoft Access
Gambar 4.8
Halaman Awal Micosoft Access
2. Membuat basis data Login
Setelah menyimpan database, kemudian membuat tabel dengan nama Tabel Login. Untuk membuat tabel ini cukup mudah hanya membutuhkan 3 kolom (field). Setelah itu klik Design View dan simpan tabel yang dibuat tadi dengan nama yang telah ditentukan. Kemudian akan muncul tampilan Design View Tabel Login dan menentukan field name dan data type yang digunakan.
96
Gambar 4.9
Basis data Login
3. Pembuatan Tabel Login
Pembuatan Tabel Login dimaksudkan untuk menyimpan data admin
selanjutnya
akan
digunakan
oleh
sistem
untuk
mengidentifikasi user yang berhak mengakses aplikasi ini. Tabel Login ini memiliki 3 atribut yaitu username, password, dan keterangan. Untuk melihat hasil pembuatan field tadi klik Data Sheet View dan akan terlihat data base yang telah dibuat. Berikut ini gambar Tabel Login di dalam basis data login.
97
Gambar 4.10 Tabel Login
4.3.3 Implementasi port USB Dalam implementasi port USB akan dijelaskan bagaimana port USB tidak bisa diakses dan listing programnya untuk menjadikannya enable/disable.
Gambar 4.11 Listing enable/disable port USB
98
Pada gambar 4.11 dapat dijelaskan tentang cara mengakses port USB agar menjadi enable/disable dengan menggunakan Visual Basic. Net 2008. Pertama menginisialisasi dengan regKey alamat yang berhubungan dengan port USB Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\ USBSTOR.
Kemudian menjadikan nama value Start dengan nilai value menjadi 4 agar port USB menjadi
disable. Untuk menjadikan enable ubah nilai value kembali
menjadi 3.
Gambar 4.12 Registry Editor yang berhubungan dengan port USB
Pada gambar 4.12 dapat dijelaskan ketika mengakses program security port USB dan mengklik tombol Lock maka data dari Start yang ada di sub tree HKEY_LOCAL_MACHINE dengan sub key USBSTOR dengan value secara default 3 akan berubah menjadi 4. Sehingga port USB menjadi disable.
99
4.4
METODE PENGUJIAN
Pengujian sistem aplikasi penting dilakukan untuk menguji dan memastikan bahwa program yang dirancang dan dibuat ini dapat berjalan dengan baik dan dapat menghasilkan keluaran sesuai dengan rumusan yang telah ditentukan. Dalam pengujian sistem aplikasi penulis menggunakan metode Black Box Testing. Black Box Testing ini merupakan pengujian berdasarkan fungsi dari program. Tujuannya adalah untuk menemukan kesalahan fungsi pada program. Pengujiannya dilakukan dengan cara memberikan masukan pada program aplikasi sesuai dengan kebutuhan fungsionalnya. Untuk melihat apakah program bisa berjalan dan menghasilkan keluaran yang diinginkan. Dan untuk mengetahui semua hal tersebut diatas, maka akan dilakukan skenario pengujian. Untuk lebih jelasnya penulis membahas hal ini pada sub bab 4.5
4.5
SKENARIO PENGUJIAN
Penulis melakukan beberapa pengujian pada aplikasi security port USB hanya dari sisi administrator saja.
100
Tabel 4.1 Skenario pengujian aplikasi security port USB dengan metode Black Box
No
1
Antar
Bagian dari
muka yang
antar muka
diuji
yang diuji
Status aplikasi
Halaman
Proses
Menunjukkan
form
status bar
status
Skenario
Hasil yang
pangujian
diharapkan
Otomatis saat Tujuannya untuk
proses program
memberitahukan
splash
program sedang berjalan
bahwa
program
screen
berjalan
sedang
berjalan
sekaligus
untuk
memperindah tampilan
2
Halaman
Proses
Proses
input Klik
form login
login
data
login notifyicon lalu untuk
sedang berjalan
Login dilakukan
Memasukan
masuk ke form
username dan utama. password
dapat
Hanya
admin saja yang
kemudian klik dapat tombol login
3
membukanya
Halaman
Proses
Dilakukan
Klik
tombol Untuk mengunci
form
lock/unlock
untuk
lock USB atau port USB
utama
USB
mengunci port unlock USB USB
Proses
Dilakukan
Klik
manage
untuk
manage
mengantisipasi
tombol Untuk
men-
disable Regedit, TaskManager,
101
celah keamanan
Control
yang
Add/Remove
masih
terbuka.
Panel,
Program.
Proses
Dilakukan
Klik
admin
untuk
admin
tombol Untuk
menjaga
keamanan akses
mengganti
jika
password yang
lama
telah
lama
diketahui
oleh
dengan
password yang
password
umum
baru
Proses info
Dilakukan untuk
Klik
melihat info
tombol Untuk mengetahui
informasi
informasi
spesifikasi
spesifikasi
komputer
komputer
Proses
Dilakukan
about
untuk
Klik
melihat about
tombol Untuk
melihat
informasi tentang
informasi
penulis
tentang penulis
tujuan
dan
ini dibuat
tujuan
program
dan program
ini
dibuat
Proses exit
Dilakukan untuk dari
Klik
keluar exit layar
tombol Untuk menyembunyikan program
dari
102
monitor
4
layar monitor
Halaman
Proses me- Dilakukan
Checklist
Tujuannya untuk
form
manage
untuk
disable
mengamankan
manage
keamanan
mengamankan
Regedit,
celah keamanan
Registry
disable
dari pengaksesan
TaskManager, Register
dan
disable
penghapusan
Control
program aplikasi
Panel, disable security port USB Add/Remove Program
5
Halaman
Proses
Dilakukan
Klik
form
ganti
untuk
apply
admin
username
mengganti
jika
dan
password yang
lama
telah
password
lama
diketahui
oleh
dengan
password yang
tombol Untuk
menjaga
keamanan akses password
umum
baru
6
Halaman
Proses
Dilakukan bila Klik
form info
melihat
ingin
informasi
mengetahui
informasi
komputer
informasi
komputer
close
tombol Untuk mengetahui
komputer
7
Halaman
Proses
form about melihat
Dilakukan bila Klik ingin
close
tombol Untuk mengetahui
103
informasi
mengetahui
informasi tentang
tentang
informasi
penulis
penulis dan tentang penulis aplikasi
dan
aplikasinya
dan aplikasinya
security port USB
4.6
HASIL PENGUJIAN Berikut hasil dari pengujian yang telah dilakukan penulis. Data hasil pengujian disajikan dalam bentuk tabel.
Tabel 4.2 Hasil pengujian aplikasi security port USB dengan metode Black Box
No
1
Antar
Sifat
Bagian dari
muka yang
antar muka
diuji
yang diuji
Halaman
Normal Proses
form
Status aplikasi
start Proses
up
splash
bar
Hasil pengujian
status Menampilkan sedang halaman form splash
berjalan
screen
screen
Tidak
Tidak
Normal melakukan start up
Status
bar Halaman
tidak berjalan
splash
screen tidak terbuka
104
2
Halaman
Normal Proses login
form login
Proses
input Menampilkan
username dan login
form
untuk
password
mengakses
sedang
utama
bisa form
berjalan
Tidak
Tidak
Normal melakukan login
Tidak
Menampilkan
pesan
memasukkan
kesalahan login dan
username dan kembali lagi ke form password
/ login
salah
3
Halaman
Normal Proses
form
lock/unlock
utama
Proses
untuk Menampilkan
menjadikan port
halaman form utama
USB
enable/disable mengakses form manage, form
admin,
form info, form about.
Tidak
Proses
Normal lock/unlock gagal
Tampilan
Halaman form utama
berubah.
tidak
terbuka
berubah.
atau
Tombol
manage, admin, info, dan
about
berfungsi
tidak
105
4
Halaman
Normal Proses
form
Proses disable Menampilkan
enable/disable Registry,
manage
form
manage. Tidak bisa
TaskManager,
mengakses
Registry,
Control Panel
TaskManager, Control Panel
Tidak
Tidak
Tidak
Normal mengklik
5
Halaman
meng- Halaman
form
checklist
manage tidak terbuka.
tombol
disable
Bisa
manage
Registry,
Registry,
TaskManager,
TaskManager,
Control Panel
Control Panel
Normal Proses
ganti Dilakukan
mengakses
Menampilkan
pesan
form
username dan untuk
bahwa
admin
password
mengganti
username
dan
sedang
username dan password
telah
berjalan
password yang berhasil lama
penggantian
dengan
password baru
Tidak
Tidak
Tidak berubah Password tetap yang
Normal mengklik form
username dan lama
admin, password
tidak mengganti password
106
6
Halaman
Normal Proses
form info
Dilakukan
Menampilkan
melihat
dengan
informasi
informasi
mengklik form komputer yang sedang
komputer
info
digunakan
Tidak
Tidak
menampilkan
informasi
form info
komputer
Dilakukan
Menampilkan
melihat
dengan
informasi
informasi
mengklik form penulis
tentang
about
aplikasi ini dibuat
Tidak
Tidak
menampilkan
informasi
form about
penulis dan aplikasi
spesifikasi
sedang berjalan
Tidak
Tidak
Normal mengklik form info
7
Halaman
Normal Proses
form about
penulis
menampilkan spesifikasi
tentang dan
tujuan
dan
aplikasi yang dibuat
Tidak
Tidak
Normal mengklik form about
ini
menampilkan tentang
107
4.7
ANALISA HASIL PENGUJIAN
Berikut merupakan analisis hasil pengujian yang telah dilakukan penulis. Setelah melakukan pengujian terhadap sistem yang baru dibangun, maka dapat diperoleh hasil sebagai berikut : 1. Halaman form splash screen Pada saat program baru dijalankan, muncul form splash screen untuk memberitahukan bahwa program sedang berjalan (loading). Sekaligus untuk memperindah tampilan program. 2. Halaman form login Setelah program selesai loading, maka akan muncul tombol di notifyicon dan muncul pesan bahwa program telah aktif. Tombol ini berfungsi untuk menampilkan form login yaitu untuk melakukan login agar dapat mengakses aplikasi security port USB dengan memasukkan username dan password yang telah terhubung dengan database yang digunakan. Jika sukses melakukan login maka akan muncul halaman utama. Jika salah maka akan muncul pesan kesalahan dan diminta untuk melakukan login kembali. 3. Halaman form utama Setiap tombol menu yang terdapat di halaman form utama dapat berjalan sesuai perancangan sistem yang dirancang sebaik mungkin, seperti lock/unlock port USB, manage, admin, info, about, dan exit.
108
4. Halaman form manage Setiap tombol menu yang terdapat di halaman form manage dapat berjalan sesuai perancangan sistem yang dirancang sebaik mungkin, seperti disable Registry, disable TaskManager, disable Control Panel. 5. Halaman form admin Untuk merubah username dan password dapat dilakukan pada form admin. Setelah dirubah, maka data akan disimpan pada database dan admin bisa menggunakan username dan password yang baru. 6. Halaman form info Secara terprogram dari sistem akan muncul spesifikasi komputer yang digunakan. Pada halaman form info dapat berjalan sesuai dengan perancangan sistem tersebut. 7. Halaman form about Secara terprogram dari sistem akan muncul informasi tentang penulis dan terdapat tujuan program ini di buat. Pada halaman form info dapat berjalan sesuai dengan perancangan sistem tersebut.