BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Setelah tahap analisis dan perancangan sistem sebagai tindak lanjut penyelesaian perancangan aplikasi tersebut. Maka dilakukan implementasi dari program yang telah dirancang, agar mendapatkan pemahaman secara menyeluruh dan menjelasan berbagai hal yang berhubungan dengan pengujian. Pada tahapan implementasi kebutuhan sistem yang meliputi perangkat keras (hardware), dan kebutuhan perangkat lunak (software), implementasi yang meliputi proses pengkodean, desain antar muka dan hal-hal yang berhubungan dengan pengujian aplikasi.
4.1.1 Implementasi Aplikasi Pada implementasi aplikasi ini diterangkan secara rinci mengenai tahapantahapan implementasi sistem aplikasi kriptografi algoritma SKIPJACK yang meliputi proses pengkodean, dan bentuk tampilan layar.
4.1.1.1 Pengkodean Pada proses pengkodean aplikasi ini, perlu terlebih dahulu dibuat pemodulan. Modularisasi merupakan pembuatan program berdasarkan modulmodul. Modul dapat berupa fungsi atau prosedur. Pada proses yang digunakan pengguna untuk modularisasi adalah function.
39
40
Dalam pemrograman sistem aplikasi kriptografi algoritma SKIPJACK, implementasi dari modularisasi tersebut adalah sebuah function yang dibuat untuk dimasukkan ke dalam perintah enkripsi, dekripsi. Listing programnya adalah sebagai berikut: Public Sub SKIPJACK(varPass As String) Dim sPath As String Dim StatsFolder As String Dim iNull As Integer Dim lpIDList As Long Dim lResult As Long Dim sPath As String Dim sPath1 As String Dim udtBI As BrowseInfo Dim IDL As ITEMIDLIST End Sub
Perintah di atas menggunakan function dengan nama SKIPJACK(varPass As String), varPass merupakan karakter dari kata kunci yang dimasukkan. 'Inisialisasi Blok data success = crypt.CkEncryptFile(Text1.Text, "\Result_Encrypt.txt") If (success <> 1) Then 'MsgBox crypt.LastErrorText Exit Sub End If
Text2.Text
+
Di dalam sub SKIPJACK() diawali dengan inisialisasi blok data yang digunakan untuk proses enkripsi dan dekripsi. Private Declare Sub CoTaskMemFree Lib "ole32.dll" _ (ByVal hMem As Long) ' Appends one string to another. Private Declare Function lstrcat Lib "kernel32" _ Alias "lstrcatA" (ByVal lpString1 As String, _ ByVal lpString2 As String) As Long
Kemudian dilanjutkan proses pengisian blok-blok data tersebut agar didapatkan nilai konversi dari karakter ke kode ascii pada kata kunci yang dimasukkan setiap karakternya.
41
Selanjutkannya adalah proses penggabungan variabel dari inisialisasi blokblok data dan pengisiannya, untuk diproses menggunakan modus ECB yang dapat dimanfaatkan pada saat enkripsi/dekripsi. Private Sub Command1_Click() Dim crypt As New ChilkatCrypt2
Perintah/script diatas pada function sub Command1_Click() terdapat beberapa varibel yang digunakan didalamnya. Dim success As Long success = crypt.UnlockComponent("CryptT34MB34N_1345FA44KR34") If (success <> 1) Then MsgBox "Crypt component unlock failed" Exit Sub End If crypt.CryptAlgorithm = "skipjack" crypt.CipherMode = "ecb" crypt.KeyLength = 128 Dim key As String key = Text3.Text Dim iv As String iv = Text3.Text
Kemudian dijalankan function sub EnDecryptFile untuk proses dekripsi dan enkripsi. EncryptFile yang digunakan untuk memproses file menjadi karakter enkripsi. Berikut ini adalah perintah/script yang digunakan: Public Sub EncryptFile(SourceFile As String, DestFile As String) crypt.SetEncodedKey key, "ascii" crypt.SetEncodedIV iv, "ascii" success = crypt.CkEncryptFile(Text1.Text, Text2.Text + "\Result_Encrypt.txt") If (success <> 1) Then 'MsgBox crypt.LastErrorText Exit Sub End If MsgBox "Encryption Successfully!" End Sub
42
Tujuan dilakukannya pemodulan program adalah untuk menghindari penulisan berulang-ulang untuk perintah yang sama dan jika ada perubahan pada perintah - perintahnya, maka hal yang perlu dilakukan adalah hanya dengan merubah isi dari function saja. Penggunaan function enkripsi dan dekripsi tersebut digunakan pada saat pengguna melakukan proses enkripsi atau dekripsi, pada perintah/script dekripsi dapat melakukan pemanggilan function sub yang sama seperti perintah/script enkripsi yaitu function sub crypt.CkEncryptFile() yang digunakan untuk melakukan enkripsi dan dekripsi, namun yang berbeda adalah proses akhir untuk dilakukannya proses dekripsi berlangsung dengan memanggil function sub Decryptfile() yang digunakan untuk mengembalikan file hasil enkripsi sebelumnya. Perintah/scriptnya dalah sebagai berikut: Public Sub DecryptFile(SourceFile As String, DestFile As If Option1.Value = True Then success = crypt.CkDecryptFile(Text1.Text, Text2.Text "\Result_Decrypt.doc") ElseIf Option2.Value = True Then success = crypt.CkDecryptFile(Text1.Text, Text2.Text "\Result_Decrypt.jpg") ElseIf Option3.Value = True Then success = crypt.CkDecryptFile(Text1.Text, Text2.Text "\Result_Decrypt.pdf") End If End Sub
String) + + +
Sebelum menggunakan tombol enkripsi, dekripsi, pengguna harus membuka file dengan tombol browse file untuk mencari file yang akan di proses. Perintah/scriptnya secara umum adalah sebagai berikut:
43
lpIDList = SHBrowseForFolder(udtBI) If lpIDList Then sPath = String$(MAX_PATH, 0) lResult = SHGetPathFromIDList(lpIDList, sPath) Call CoTaskMemFree(lpIDList) iNull = InStr(sPath, vbNullChar) If iNull Then sPath = Left$(sPath, iNull - 1) End If Call OleUninitialize fBrowseForFolder = sPath End Function
Setelah file terpilih maka yang dilakukan secara umum adalah mengaktifkan fungsi-fungsi enkripsi, dekripsi, seperti yang telah dijelaskan sebelumnya. Namun ada beberapa tombol yang digunakan sebagai pendukung dari aplikasi ini, adalah sebagai berikut: 4.1.1.2 Tampilan Layar Tampilan layar merupakan tampilan yang akan digunakan oleh pengguna sehingga dapat dirasakan manfaatnya. Beberapa tampilannya adalah sebagai berikut: 1. Tampilan Splash Berikut ini adalah tampilan splash sebagai informasi halaman utama dari aplikasi ini. Lihat Gambar 4.1
Gambar 4.1 Tampilan Form Splash.
44
2. Tampilan Form Enkripsi File Berikut ini adalah gambar form enkripsi file. Lihat Gambar 4.2
Gambar 4.2 Tampilan Form Enkripsi File.
3.
Tampilan Form Dekripsi File Berikut ini adalah gambar form dekripsi file. Lihat Gambar 4.3
Gambar 4.3 Tampilan Form Dekripsi File.
45
4. Tampilan Browse for Files or Folder Pada browse for files or folder ini dapat dilihat pada gambar 4.4 berikut ini adalah tampilan dari files or folder.
Gambar 4.4 Tampilan Browse for files or folder.
46
5. Tampilan Menu Tab Browse for Folder Pada Browse for Folder ini dapat dilihat pada Gambar 4.5. berikut ini adalah tampilan dari browse for folders.
Gambar 4.5 Tampilan Browse For Folder.
6. Tampilan Tab Enkripsi Berhasil Pada tampilan enkripsi berhasil dapat dilihat pada Gambar 4.6. berikut ini adalah tampilan dari enkripsi berhasil.
Gambar 4.6 Tampilan enkripsi berhasil.
47
7. Tampilan Dekripsi Berhasil Pada dekripsi berhasil dapat dilihat pada Gambar 4.7. berikut ini adalah tampilan dari dekripsi berhasil.
Gambar 4.7 Tampilan dekripsi berhasil.
8. Tampilan Form About Berikut ini adalah tampilan form about sebagai keterangan penulis. Lihat Gambar 4.8
Gambar 4.8 Tampilan Form About.
48
4.2 Pengujian Pengujian dilakukan terhadap perangkat lunak yang telah diimplementasi, kemudian hasil pengujian dianalisis untuk menentukan pencapaian tujuan pengujian berdasarkan kriteria pengujian. Pengujian dilakukan untuk kebenaran dan kesesuaian aplikasi dengan spesifikasi perangkat lunak pada perancangan. Melalui pengujian ini akan dinyatakan apakah perangkat lunak memenuhi spesifikasi kebutuhannya.
4.2.1 Lingkup Pengujian Berikut ini merupakan spesifikasi kebutuhan sistem, dimana sistem dibuat dan dapat dijalankan. 1. Perangkat keras (hardware): a. Prosesor Intel Core 2 Duo 2.66 GHz b. RAM 1.00 GB c. Harddisk 160 GB 7200 RPM d. VGA Card: Nvidia Display 256 MB 2. Perangkat lunak (software): a. Perangkat lunak ini dibangun pada perangkat computer yang berbasiskan sistem operasi Windows XP Profesional Service Pack 2. b. Adapun perangkat lunak dibangun menggunakan Microsoft Visual Basic 6.0.
49
4.2.2 Skenario Pengujian kotak hitam (black box) Sebelum pengujian sistem aplikasi kriptografi metode SKIPJACK akan dijelaskan pada Tabel 4.1 tentang skenario normal dan tidak normal yang terjadi. Skenario yang dijelaskan antara lain skenario Browse File, Proses Enkripsi File, Dekripsi File. Tabel 4.1 Skenario Normal dan Tidak Normal. Skenario Browse File Proses Enkripsi File Proses Dekripsi File
Sifat Normal Tidak Normal Normal Tidak Normal Normal Tidak Normal
Kondisi Awal Temukan File yang dicari Tidak ada file yang dicari
Hasil yang diinginkan Direktori file akan terekam kedalam kolom text Tetap pada tombol browse file
File terenkripsi Tidak ada file yang dicari File kembali pada teks dan aslinya Tidak ada file teks yang dicari
File terenkripsi menjadi file *.teks Ulangi pencarian file dengan browse file File kembali dapat terbaca dan kembali pada teks semula Ulangi pencarian file dengan browse file
Skenario pada tombol Browse File, Proses Enkripsi File, Dekripsi File, memiliki sifat normal dan tidak normal, namun hasil yang diinginkan dapat sesuai dengan harapan.
50
4.2.3 Hasil Pengujian Pada Tabel 4.2 akan dijelaskan hasil pengujian dari skenario Browse File, Proses Enkripsi File , Dekripsi File. Tabel 4.2 Hasil Pengujian. Skenario
Browse File
Proses Enkripsi File
Proses Dekripsi File
Sifat
Kondisi Awal
Normal
Temukan File yang dicari
Tidak Normal
Tidak ada file yang dicari
Normal
File terenkripsi
Tidak Normal
Tidak ada file yang dicari
Normal
File kembali pada teks dan aslinya
Tidak Normal
Tidak ada file teks yang dicari
Hasil yang diinginkan Direktori file akan terekam kedalam kolom text Tetap pada tombol browse file File terenkripsi menjadi file *.doc Ulangi pencarian file dengan browse file File kembali dapat terbaca dan kembali pada teks semula Ulangi pencarian file dengan browse file
Hasil Pengujian Direktori terekam Tetap pada tombol browse file File terenkripsi
Status Akhir sukses
sukses
Dapat diulang browse file File kembali pada file dan teks aslinya
sukses
Dapat diulang browse file
Setelah aplikasi dilakukan pengujian seperti yang terlihat oleh tabel diatas, maka diperoleh status akhir dengan status sukses. Pada skenario sebelumnya yang diharapkan dapat sesuai dengan hasil yang diuji.
4.2.4 Analisis Hasil Pengujian Setelah tahap pengujian maka dapat dianalisa bahwa: 1. Browse file berjalan dengan baik, karena file teks yang dicari dapat direkam kedalam kolom text, dan apabila tidak diketemukan file teks maka dapat diulangi proses pencarian dengan tombol browse file.
51
2. Proses enkripsi dan dekripsi berjalan dengan baik, ketika dilakukan pengujian proses enkripsi maka file teks akan terenkripsi dan tidak dapat terbaca. Begitu juga sebaliknya ketika di dekripsi, maka file kembali ke file teks aslinya. 3. Proses Enkripsi berlangsung secara bersamaan dengan baik, dari file yang berextension misalnya *.doc ketika lakukan proses enkripsi secara otomatis menjadi file berextension *.text didalamnya sudah dienkripsi. Begitu juga sebaliknya ada proses dekripsi. 4. Masukkan key akan sangat berpengaruh pada input dan output dari hasil enkripsi dan dekripsi, fungsi ini telah berjalan dengan sangat baik. Apabila pengguna salah memasukkan key atau lupa dengan kata sandi dari enkripsi yang dimasukkan sebelumnya, maka pengguna tersebut tidak dapat membuka file hasil enkripsi tersebut. Hal ini berkaitan dengan keamanan informasi data file didalamnya.