• Tidak ada hasil yang ditemukan

BAB 4 Implementasi dan Pengujian

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 4 Implementasi dan Pengujian"

Copied!
15
0
0

Teks penuh

(1)

33

BAB 4

Implementasi dan Pengujian

Pada bab ini akan dibahas implementasi atau penerapan dari desain sistem dan aplikasi ke dalam bentuk source code, pengujian terhadap aplikasi untuk mengetahui sejauh mana aplikasi dapat berjalan dengan baik dan analisa dari hasil pengujian.

4.1

Implementasi Sistem

4.1.1 Tampilan Utama

Tampilan ini adalah menu utama dalam program yang di buat. Tujuan dibentuk tampilan ini adalah dibuat sesederhana mungkin, namun dapat berfungsi sesuai dengan yang diharapkan.

Gambar 4.1 Tampilan Form utama

Penerapan algoritma WAKE ini terdiri dari beberapa bagian, satu bagian untuk memasukkan nama beserta password, dan dua tombol proses satu tombol untuk enkripsi dan satu tombol lainnya

(2)

untuk dekripsi. Berikut adalah penjelasan submenu dari masing-masing menu utama program ini.

 Bagian Input, digunakan untuk memasukkan nama file yang yang akan dienkripsi dan password yang akan digunakan untuk enkripsi data. Di sebelah bagian input password terdapat pilihan jumlah putaran yang digunakan.

 Bagian proses, digunakan untuk memproses. Dua proses yang digunakan sesuai dengan pilihan yaitu proses enkripsi, dan bagian yang lain yaitu dekripsi.

 Bagian buka file, digunakan untuk membuka file.

 Tutup, digunakan untuk menutup aplikasi

4.1.2 Tampilan About

Gambar 4.2 Tampilan Form About

Pada bagian form ini informasi yang dimasukan hanya informasi tentang keterangan judul aplikasi, data pembuat, dan data kampus. Dalam form ini hanya terdiri dari beberapa bagian saja, yaitu label, picture box, dan button.

(3)

Masukan untuk aplikasi enkripsi ini adalah dengan memilih tombol browse agar muncul kotak dialog seperti pada gambar 4.3

Gambar 4.3 Tampilan Form open dialog

Pada tombol browse terdapat suatu kode yang digunakan untuk menampilkan yaitu dengan perintah seperti berikut :

Kode Program 1 Kode button browse

1. Private Sub cmdBrowse_Click()

2. CommonDialog1.Filter = "Text File|*.txt|Word Document|*.Doc|Excel Document|*.xls"

3. CommonDialog1.ShowOpen

4. txtFileName = CommonDialog1.FileName

5. If CommonDialog1.FileName <> "" Then lblKapasitasAwal.Caption = FileLen(CommonDialog1.FileName)

6. End Sub

Dari prosedur kode program 1 dapat di ketahui bahwa prosedur pada baris 1 yang di pakai adalah cmdBrowse yang terjadi saat di klik. Bersifat private, artinya tidak untuk semua prosedur atau masih bersifat lokal dalam satu form. Kemudia pada baris 2 CommonDialog1.Filter = "Text File|*.txt|Word Document|*.Doc|Excel Document|*.xls" di gunakan untuk memfilter bahwa file yang di buka bertipe txt, doc, xls.

(4)

Pada baris ke 3, perintah CommonDialog1.ShowOpen di gunakan untuk menampilkan kotak dialog. Kemudia baris ke 4 txtFileName = CommonDialog1.FileName digunakan untuk menampung file yang dipilih oleh user. Sedangkan baris ke 5 adalah untuk menampilkan kapasitas awal atau ukuran panjang file.

4.1.4 Tampilan Tabel S-Box

Pada menu hasil terdapat sub menu tabel S-Box, jika menu tersebut ditekan maka akan muncul form yang berisi hasil pembentukan tabel S-Box dari inputan password yang kita masukan. Bentuk tampilan form tabel S-Box dapat dilihat pada gambar 4.4. Didalam formtabel S-Box ini akan ditampilkan hasil pembentukan array sebanyak 256 array yang nantiya akan digunakan pada proses selanjutnya, yaitu proses pembentukan kunci yang nantinya digunakan dalam proses enkripsi maupun proses dekripsi. Hasil pembentukan array yang ada dalam form tabel S-Box ini ditampilkan dalam 2 jenis, yaitu dalam bentuk biner dan dalam bentuk heksadesimal.

(5)

Gambar 4.4 Tampilan Form Tabel S-Box

Pada saat form tabel S-Box dipanggil dengan menekan tombol pada menu form utama, maka prosedur awal yang akan dijalankan adalah perintah sebagai berikut :

Kode program 2 kode menu Tabel S-Box

Dalam perintah dalam kode program 2, terlihat pada baris 2 sampai 3 dilakukan pengecekan terhadap inputan password yang kita masukan.Jika password yang kita masukan panjangnya kurang dari 16 karakter, maka akan muncul peringatan yang menyatakan jika panjang kunci yang digunakan sebagai password harus 16 karakter. Selanjutnya pada baris 6 dilakukan pengisian variable strkunci yang nilainya diambil dari txtPassword. Pada baris 7

1. Private Sub mnuTabelSBox_Click() 2. strKunci = txtPassword

3. Call ProsesSBox(strKunci) 4. frmTabelSBox.Show 1 5. End Sub

(6)

dilakukan pemanggilan fungsi prosesSBox yang didalamnya dikirimkan juga variable strKunci.Pada baris 8 dilakukan prosedur memunculkan form tabel S-Box.

Setelah dilakukan prosedur kode program 2, maka selanjutnya pada saat form tabel S-Box dijalankan maka prosedur yang akan dikerjakan pada saat form tabel S-Box muncul adalah sebagai berikut :

Kode program 3 kode form tabel S-Box load

4.1.5 Tampilan Hasil Pembentukan Kunci

Pada menu hasil terdapat sub menu kunci, jika menu tersebut ditekan maka akan muncul form yang berisi hasil pembentukan kunci dari inputan password yang kita masukan. Bentuk tampilan form hasil pembentukan kunci dapat dilihat pada gambar 4.5. Didalam form hasil pembentukan kunci ini akan ditampilkan hasil pembentukan kunci dalam dua bentuk, yaitu dalam bentuk biner dan dalam bentuk heksadesimal. Juga akan ditampilkan mengenai

1. Private Sub Form_Load() 2. Dim N As Integer

3. lblSBox = "Tabel S-Box dari kunci '" & strKunci & "' :" 4. With MBit 5. .Rows = 258 6. .Cols = 3 7. .ColAlignment(0) = 4 8. .TextMatrix(0, 0) = "S-BOX / T[N]" 9. .ColWidth(0) = 1200 10. .ColAlignment(1) = 4 11. .TextMatrix(0, 1) = "BINER" 12. .ColWidth(1) = 4000 13. .ColAlignment(2) = 4 14. .TextMatrix(0, 2) = "HEKSA" 15. .ColWidth(2) = 2000 16. For N = 0 To 256

17. .TextMatrix(N + 1, 0) = "T [ " & N & " ]" 18. .TextMatrix(N + 1, 1) = T(N)

19. .TextMatrix(N + 1, 2) = FBinerToHex(T(N)) 20. Next N

21. End With 22. End Sub

(7)

password yang kita inputkan serta jumlah putaran yang kita pilih untuk proses pembentukannya.

Gambar 4.5 Tampilan Form Hasil Kunci

Pada saat form hasil pembentukan kunci dipanggil dengan menekan tombol pada menu form utama, maka prosedur yang akan dijalankan adalah perintah sebagai berikut :

Kode program 4 kode menu hasil

Dalam perintah kode program 4, pada baris 2 dan 3 dilakukan pengecekan terhadap inputan password yang kita masukan. Panjang password yang dimasukan harus memiliki panjang 16 karakter. Apabila jumlah inputan karakter kurang dari 16 karakter maka akan muncul peringatan yang menyatakan panjang kunci harus memiliki panjang 16 karakter. Pada baris ke 6 dilakukan pengisian nilai variable nPutaran yang nilainya diambil dari nilai yang ada dalam

1. Private Sub mnuKunci_Click() 2. nPutaran = Val(txtputar.Text) 3. strKunci = txtPassword 4. Call ProsesSBox(strKunci)

5. Call GetWakeKEY(strKunci, nPutaran) 6. frmShowKunci.Show 1

(8)

txtputar. Pada baris program ke 8, memanggil fungsi prosesSBox dan mengirimkan juga nilai strKunci. Pada baris program ke 9, memanggil fungsi GetWakeKEY serta mengirimkan nilai strKunci dan nPutaran. Pada baris program ke 10, berfungsi untuk menampilkan form ShowKunci.

Kode program 5 kode form hasil pembentukan kunci load

Dalam perintah kode program 5, pada baris 2 berfungsi menampilkan keterangan menganai informasi kunci yang kita masukan serta jumlah putaran yang digunakan. Pada kode program baris ke 3, berfungsi untuk menampilkan hasil pembentukan kunci dalam bentuk biner. Pada kode program baris ke 4, berfungsi untuk menampilkan hasil pembentukan kunci dalam bentuk heksadesimal.

4.1.6 Proses Enkripsi

Untuk langkah enkripsi dilakukan dengan melakukan pemanggilan beberapa prosedur, diantaranya adalah cmdEncrypt_Click( ), DoEncrypt( ),WAKEEncryption( ) dimana ketiga prosedur tersebut saling berkaitam secara berurutan dalam pengeksekusiannya.

Kode Program 2 Kode button encrypt

1. strKunci = txtPassword

2. nPutaran = Val(txtputar.Text) 3. Call ProsesSBox(strKunci)

4. Call GetWakeKEY(strKunci, nPutaran) 5. DoEncrypt

1. Private Sub Form_Load()

2. Label1 = "Bit kunci yang dihasilkan dari kunci = '" & strKunci & _"' dengan " & nPutaran & " putaran adalah :"

3. Text1 = strKunciBiner

4. Text2 = FBinerToHex(strKunciBiner) 5. End sub

(9)

Dalam prosedur kode program 2 nilai strKunci diambil dari password yang diinputkan oleh user, nilai nPutaran diambil dari nilai txtputar. Pada baris program 3, digunakan untuk memanggil fungsi Proses SBox yang didalamnya dikirimkan juga nilai strKunci. Baris program 4 memanggil prosedur GetWakeKEY dan juga mengirimkan nilai strKunci dan nPutaran. Baris program 5 memanggil fungsi DoEncrypt.

.Kode Program 3 Kode perintah untuk menjalankan proses enkripsi

1. Private Sub DoEncrypt() 2. Dim x As String 3. Dim sTemp As String 4. x = FreeFile

5. Open txtFileName.Text For Binary As #x 6. sTemp$ = Space$(LOF(x))

7. Get x, , sTemp$ 8. Close #x

9. Call WAKEEncryption(sTemp$)

10. Open txtFileName.Text For Binary As #1 11. Put 1, , strCipher

12. Close 1 13. End Sub

Pada perintah kode program 3 digunakan untuk melakukan prosedur enkripsi. Pada kode program baris 2 dan 3 digunakan untuk melakukan deklarasi variable x dan sTemp yang berupa variable string. Pada kode program baris ke 4 mendeklarasikan bahwa variable x adalah freefile. Pada kode program baris ke 5 sampai 8 digunakan untuk memproses file dalam bentuk biner. Pada kode program baris 10 berfungsi memanggil prosedur WAKEEncryption dengan mengirimkan nilai variable sTemp yang berisi biner. Pada kode program baris ke 12 sampai 14 berfungsi untuk membuka file

yang ada dalam txtFileName dalam bentuk biner dan memasukan strChiper (hasil enkripsi) dalam file dan menyimpannya.

(10)

Kode program 4 Kode perintah fungsi WAKEEncryption

Pada perintah kode program 4 digunakan untuk menjalankan fungsi WAKEEncryption yang berada dalam module MWAKE. Dalam fungsi WAKEEncryption ini akan melakukan proses enkripsi terhadap variable sTemp yang dikirimkan dari fungsi DoEncrypt. Variabel sTemp yang dikirim dari fungsi DoEncrypt diterima oleh fungsi WAKEEncryption dengan variable pcEnkripsi.

Baris 2 sampai 6 berfungsi mendeklarasikan variable yang digunakan dalam fungsi WAKEEncryption. Baris program 7 berfungsi menginisialisasika nilai strPlain nilainya sama dengan variable pcEnkripsi. Baris program 8 sampai 11 berfungsi untuk mengubah variable strPlain menjadi biner. Baris program 12 berfungsi untuk menginisialisasi variable x isinya sama dengan buffer1. Baris program 14 sampai 18 berfungsi untuk melakukan proses XOR terhadap variable x. Baris program 19 berfungsi untuk

1. Public Sub WAKEEncryption(pcEnkripsi As String) 2. Dim x As String

3. Dim X1 As String 4. Dim X2 As String 5. Dim N As Double 6. Dim cHasil As String 7. strPlain = pcEnkripsi 8. x = ""

9. For N = 1 To Len(strPlain)

10. buffer1$ = buffer1$ & FormatS(FDecToBiner(Asc(Mid(strPlain, N, 1))), "0", 8)

11. Next N 12. x = buffer1$

13. X1 = "": X2 = "": cHasil = "" 14. For N = 1 To Len(x) Step 8

15. X1 = Mid(strKunciBiner, (N Mod 32), 8) 16. X2 = FOpBiner("XOR", Mid(x, N, 8), X1, 8) 17. cHasil = cHasil & Chr(FBinerToDec(X2)) 18. Next N

19. strCipher = cHasil 20. buffer1$ = "" 21. buffer2$ = ""

(11)

mengembalikan nilai cHasil pada variable strChiper. Baris program 20 dan 21 berfungsi untuk mengosongkan nilai buffer1 dan buffer2.

4.1.7 Proses Dekripsi

Untuk langkah dekripsi dilakukan dengan melakukan pemanggilan beberapa prosedur, yaitu cmdDecrypt_Click( ), DoEncrypt( ), WAKEDecryption( ). Proses yang dijalankan dalam dekripsi file hampir sama dengan proses enkripsi file, yang membedakan adalah pada proses enkripsi yang diinputkan adalah

file plaintext sedangkan pada proses dekripsi yang diinputkan adalah

file chipertext.

Kode Program 4 Kode perintah untuk menjalankan proses dekripsi

1. strKunci = txtPassword 2. nPutaran = Val(txtputar.Text) 3. Call ProsesSBox(strKunci)

4. Call GetWakeKEY(strKunci, nPutaran) 5. DoDecrypt

Dalam prosedur kode program 4 nilai strKunci diambil dari password yang diinputkan oleh user, nilai nPutaran diambil dari nilai txtputar. Pada baris program 3, digunakan untuk memanggil fungsi Proses SBox yang didalamnya dikirimkan juga nilai strKunci. Baris program 4 memanggil prosedur GetWakeKEY dan juga mengirimkan nilai strKunci dan nPutaran. Baris program 5 memanggil fungsi DoDecrypt.

Kode program 5 Kode perintah untuk menjalankan proses dekripsi 1. Private Sub DoDecrypt()

2. Dim x As String 3. Dim sTemp As String a. x = FreeFile

4. Open txtFileName.Text For Binary As #x 5. sTemp$ = Space$(LOF(x))

6. Get x, , sTemp$ 7. Close #x

8. Call WAKEDecryption(sTemp$)

9. Open txtFileName.Text For Binary Access Write As #2 10. Put #2, , strPlain

11. Close #2 12. End Sub

(12)

Pada perintah kode program 5 digunakan untuk membaca file yang diinputkan dalam bentuk biner dan fungsinya sama dengan kode program 3.

Kode program 6 Kode perintah fungsi WAKEDecryption

Dalam proses dekripsi ini langkahnya hampir sama dengan langkah pada saat proses enkripsi seperti yang telah dijelaskan pada langkah sebelumnya. Hanya saja yang membedakan pada proses ini dengan proses sebelumnya adalah saat dekripsi. Pada langkah dekripsi yang dilakukan adalah pengubahan dari bentuk file terenkripsi ke bentuk plain teks.

Pada kode program 6 digunakan untuk melakukan proses dekripsi terhadap chipetext yang dikirimkan dari fungsi DoDecrypt().

4.2

Pengujian

Pada bagian ini akan dilakukan pengujian terhadap aplikasi kriptografi WAKE dengan menggunakan jenis file .txt yang berisi data numerik dan data karakter. Pengujian dilakukan sebanyak 32 kali dengan panjang karakter dan numerik yang berbeda-beda, total panjang karakter dan numerik yang ada ddidalam file adalah 31 karakter (numerik dan karakter). Pengujian dilakukan dengan memperhatikan waktu yang digunakan untuk proses enkripsi dan proses dekripsi pada file. Hasil pengujian proses enkripsi dan

1. Public Sub WAKEDecryption(pcDekripsi As String) 2. Dim x As String

3. Dim X1 As String 4. Dim X2 As String 5. Dim N As Double 6. Dim cHasil As String 7. strCipher = pcDekripsi 8. x = ""

9. For N = 1 To Len(strCipher)

10. buffer1$ = buffer1$ & FormatS(FDecToBiner(Asc(Mid(strCipher, N, 1))), "0", 8)

11. Next N 12. x = buffer1$

13. X1 = "": X2 = "": cHasil = "" 14. For N = 1 To Len(x) Step 8

15. X1 = Mid(strKunciBiner, (N Mod 32), 8) 16. X2 = FOpBiner("XOR", Mid(x, N, 8), X1, 8) 17. cHasil = cHasil & Chr(FBinerToDec(X2)) 18. Next N

19. strPlain = cHasil 20. buffer1$ = "" 21. buffer2$ = "" 22. End Sub

(13)

dekripsi terhadap kombinasi numerik dan karakter dapat dilihat pada lampiran 1 dan lampiran 2.

Gambar 4.6 Grafik Proses Enkripsi

Gambar 4.7 Grafik Proses Dekripsi

Jika dilihat dari pengujian proses enkripsi dan dekripsi terhadap kombinasi antara numerik dan karakter, waktu yang dihasilkan bervariatif walaupun ukuran panjang file sama. Dari hasil pengujian terhadap file yang berisi kombinasi antara numerik dan karakter, dilakukan analisa panjang numerik dan karakter terhadap

(14)

waktu enkripsi dan dekripsi. Untuk analisa proses enkripsi dan dekripsi pada karakter dapat dilihat pada Tabel 4.1.

Tabel 4.1 Tabel Proses Karakter

Persentase Karakter Rata-rata enkripsi Rata-rata Dekripsi

0% - 24 % 0 - 7 0.097656 0.251953

25%-49 % 8 - 15 0.253906 0.228516

50%-74 % 16 - 24 0.343750 0.275391

75-100 % 24 - 31 0.390625 0.341797

Dari hasil perhitungan panjang karakter terhadap waktu proses enkripsi dan dekripsi, dapat dilihat ketika panjang karakter 0 - 7 waktu proses enkripsi adalah 0.097656 dan waktu proses dekripsi 0.251953. Kemudian ketika panjang karakter 24 - 31, waktu enkripsi adalah 0.390625 dan waktu dekripsi adalah 0.341797. Dari pengujian tersebut dapat dikatakan semakin banyak jumlah karakter yang ada maka waktu yang dibutuhkan untuk proses enkripsi dan dekripsi semakin meningkat.

Untuk proses perhitungan panjang numerik terhadap waktu proses enkripsi dan dekripsi dapat dilihat pada Tabel 4.2

Tabel 4.2 Tabel Proses Numerik

Persentase Numerik Rata-rata enkripsi Rata-rata Dekripsi

0% - 24 % 0 - 7 0.390625 0.341797

25%-49 % 8 - 15 0.343750 0.275391

50%-74 % 16 - 24 0.253906 0.228516

75-100 % 24 - 31 0.097656 0.251953

Dari hasil perhitungan dapat dilihat ketika panjang numerik yang ada, ketika panjang numerik 0 - 7 waktu yang dibutuhkan

(15)

untuk proses enkripsi adalah 0.390625 dan waktu untuk proses dekripsi 0.341797. Sedangkan untuk panjang karakter 24 - 31, waktu yang dibutuhkan untuk proses enkripsi adalah 0,467493 dan waktu yang dibutuhkan untuk proses dekripsi adalah 0.251953. Dari pengujian tersebut dapat dikatakan semakin banyak jumlah numerik yang ada maka waktu yang dibutuhkan untuk proses enkripsi dan dekripsi semakin menurun.

Gambar

Gambar 4.1 Tampilan Form utama
Gambar 4.2 Tampilan Form About
Gambar  4.3 Tampilan Form open dialog
Gambar 4.4 Tampilan Form Tabel S-Box
+4

Referensi

Dokumen terkait

langsung, ditemukan bahwa CRM practices berpengaruh terhadap customer loyalty melalui customer experience dan customer satisfaction di Bank CIMB Niaga Syariah

Dalam melakukan penyimpanan kemasan limbah B3-nya, PT Pertamina (Persero) RU-IV Cilacap sudah menerapkannya di ketiga bagian gudang limbah B3. Akan tetapi peletakan kemasan

16 tersebut berhasil diimplementasikan dengan baik maka akan membantu menciptakan ketahanan pangan khususnya dari aspek availability (produksi dan ketersediaan

Teknik kuesioner ini dilakukan dengan menyebarkan daftar pertanyaan kepada responden (para siswa kelas IX SMP Negeri 1 Sukawati dan SMP Negeri 1 Blahbatuh) yang

Pelbagai konflik yang tercitra dalam teks Ayam Jantan Ayam Betina ini adalah hasil kegagalan mengawal diri hayawani sekali gus berlaku penolakan terhadap nilai

Keterampilan kerja, atau disingkat dengan keterampilan ialah tingkat kemampuan untuk melakukan suatu pekerjaan atau suatu bagian pekerjaan, yang hanya

Pemulihan ekonomi di Singapura pada tahun 2021 diprediksi akan cukup kuat, didukung oleh kombinasi kebijakan stimulus, penguatan kinerja perdagangan dan ekspor di kawasan,

Tujuan dari penelitian ini adalah untuk mengetahui apakah ada pengaruh antara Total Asset Turnover dan Net Profit Margin terhadap Return On Asset baik secara parsial