• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Implementasi dan Analisis Performa Kriptografi Metode WAKE pada Kombinasi Data Numerik dan Karakter T1 672006015 BAB IV

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Implementasi dan Analisis Performa Kriptografi Metode WAKE pada Kombinasi Data Numerik dan Karakter T1 672006015 BAB IV"

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

(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

(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

(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

(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

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

(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

(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 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

(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) 17. cHasil = cHasil & Chr(FBinerToDec(X2)) 18. Next N

(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 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

(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) 17. cHasil = cHasil & Chr(FBinerToDec(X2)) 18. Next N

(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

(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

(15)

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

Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Ilmu Keolahragaan Universitas Negeri Yogyakarta. Diperiksa

Mata bor helix kecil ( Low helix drills ) : mata bor dengan sudut helix lebih kecil dari ukuran normal berguna untuk mencegah pahat bor terangkat ke atas

Belanja perjalanan dinas luar daerah luar daerah Pengadaan Langsung 12 paket 85.000.000 APBD Jan-Des 2012. 16 Rapat-rapat koordinasi dan konsultasi ke dalam daerah

Pengumpulan data dalam penelitian ini dilakukan dengan membuat variasi penyetelan waktu pengapian, kemudian melakukan pengukuran emisi gas buang kendaraan tersebut untuk

Alhamdulillah, puji syukur kehadirat Allah SWT yang telah memberikan nikmat, hidayah, serta inayahnya kepada penulis sehingga dapat menyelesaikan skripsi yang berjudul Analisis

Alhamdulillah, puji syukur kehadirat Allah SWT yang telah memberikan nikmat, hidayah, serta inayahnya kepada penulis sehingga dapat menyelesaikan skripsi yang berjudul Analisis

Hanya dengan campur tangan Kuasa- Mu sehingga dapat menyelesaikan skripsi dengan judul Analisis Perbandingan Kinerja Keuangan Bank Syariah Di Indonesia pada saat

Isi tempat kosong dengan kata ganti nama diri yang