BAB V. IMPLEMENTASI DAN PENGUJIAN Pada bagian ini, akan dibahas mengenai proses implementasi add-on, mulai dari deskripsi lingkungan implementasi, batasan implementasi, dan hasil yang didapatkan. Setelah itu, akan dilakukan proses pengujian perangkat lunak untuk melihat performa dan melakukan analisis terhadap add-on. Proses pengujian meliputi deskripsi lingkungan pengujian, pemilihan sample, deskripsi skenario pengujian, pelaksanaan pengujian, dan evaluasi hasil pengujian.
V.1 Lingkungan Implementasi
Subbab ini akan membahas spesifikasi komputer (perangkat keras) dan perangkat lunak yang digunakan dalam pembangunan add-on.
V.1.1 Lingkungan Perangkat Keras
Perangkat keras yang digunakan dalam pembangunan add-on sebagai berikut: 1. Prosesor: Intel Q6600 @ 2.4GHz. 2. Memori: 2GB DDR2. 3. Harddisk: 320GB SATA.
V.1.2 Lingkungan Perangkat Lunak
Perangkat lunak yang digunakan dalam pembangunan add-on, termasuk operating system, hingga development kit sebagai berikut: 1. Operating System (OS): Windows XP SP3. 2. Mozilla Thunderbird 2.0.0.21 dengan add-on DOM Inspector. 3. Notepad++ sebagai text editor. V-1
V-2
V.2 Batasan Implementasi
Batasan yang diambil dalam pengembangan add-on sebagai berikut: 1. Add-on hanya akan mengenkripsi body pesan. 2. Add-on hanya akan mendekripsi pesan yang sebelumnya telah dienkripsi dengan add-on ini. 3. Ketika melakukan proses dekripsi, add-on tidak mengubah body pesan pada harddisk, tetapi hanya menampilkan versi terdekripsi dari pesan.
V.3 Hasil Implementasi
Subbab ini akan membahas mengenai hasil implementasi yang didapat setelah melalui tahap pembangunan add-on. Hasil implementasi dapat berupa controller dan tampilan antarmuka add-on.
V.3.1 Hasil Implementasi Modul Program Terdapat sejumlah modul yang menjadi controller dari add-on ini, yaitu:
Tabel V-1 Daftar Modul Program
No
Nama File
Keterangan
1
compose.js
Menangani proses enkripsi dan dekripsi pada compose window dan main window.
2
passwordmeter.js
Menangani proses penghitungan kekuatan kata kunci.
3
sha1.js
Menangani proses peningkatan kekuatan kata kunci dengan menghitung message digest dari kata kunci terdahulu dengan menggunakan algoritma SHA1.
V-3
V.3.2 Hasil Implementasi Antarmuka Program Untuk antarmuka program, terdapat sejumlah file yang menanganinya, yaitu:
Tabel V-2 Daftar Antarmuka Program
No
Nama File
Keterangan
1
compose.xul
Menangani antarmuka pada compose window yang terlihat sebagai 2 (dua) buah button.
2
mainWindow.xul
Menangani antarmuka pada main window yang terlihat sebagai sebuah button “Dekripsi”.
3
viewDecrypted.xul
Menangani
antarmuka
window
yang
menampilkan pesan terdekripsi.
V.4 Lingkungan Pengujian Pada subbab ini, akan dibahas mengenai lingkungan perangkat keras dan perangkat lunak yang digunakan untuk pengujian add-on.
V.4.1 Lingkungan Pengujian Perangkat Keras Perangkat keras yang digunakan dalam pengujian sebagai berikut: 1. Prosesor: Intel Q6600 @ 2.4GHz. 2. Memori: 2GB DDR2. 3. Harddisk: 320GB SATA.
V.4.2 Lingkungan Pengujian Perangkat Lunak Perangkat lunak yang digunakan dalam pembangunan add-on sebagai berikut: 1. Operating System (OS): Windows XP SP3. 2. Mozilla Thunderbird 2.0.0.21 dengan add-on DOM Inspector. 3. QK SMTP Server 3.0. 4. Notepad++ sebagai text editor.
V-4
V.5 Tujuan Pengujian Tujuan tahap pengujian pada tugas akhir ini, yaitu: 1. Mengecek fungsionalitas add-on pada subbab IV.2.1 Kebutuhan Fungsional. 2. Mengecek kebutuhan non-fungsionalitas add-on pada subbab IV.2.2 Kebutuhan Non-fungsional. 3. Mengecek kecepatan enkripsi XXTEA.
V.6 Perancangan Kasus Uji Proses pengujian dilakukan oleh pengirim dan penerima, dimana kedua belah pihak memiliki spesifikasi perangkat lunak yang telah dijelaskan pada subbab V.4.2 Lingkungan Pengujian Perangkat Lunak dengan add-on kriptografi XXTEA. Kasus uji yang akan dilakukan pada pengujian kali ini sebagai berikut: 1. Melakukan pengecekan dan pembangkitan kata kunci yang relatif kuat. 2. Melakukan enkripsi dan pengiriman surat elektronik. 3. Melakukan penerimaan surat elektronik dan mendekripsi surat elektronik yang valid.
V.7 Skenario Pengujian Berdasarkan daftar kasus uji yang telah didefinisikan pada subbab sebelumnya, subbab ini akan membahas secara detil skenario kasus uji yang akan dilakukan.
V.7.1 Skenario Pengecekan Kata Kunci Skenario pengecekan kata kunci sebagai berikut: 1. Pengguna menjalankan aplikasi Mozilla Thunderbird. 2. Pengguna membuka compose window dengan cara mengklik tombol “Write”. 3. Pengguna memasukkan kata kunci pada textbox “Kata kunci”. 4. Pengguna memindahkan kursor ke object lain pada window tersebut. 5. Add-on akan menampilkan hasil penghitungan kekuatan kata kunci masukan pengguna.
V-5
V.7.2 Skenario Pembangkitan Kata Kunci Skenario pembangkitan kata kunci sebagai berikut: 1. Pengguna menjalankan aplikasi Mozilla Thunderbird. 2. Pengguna membuka compose window dengan cara mengklik tombol “Write”. 3. Pengguna memasukkan kata kunci pada textbox “Kata kunci”. 4. Tanpa perlu memasukkan konfirmasi kata kunci, pengguna mengklik tombol “Acak dengan SHA1!”. 5. Add-on akan menampilkan nilai SHA1 dari kata kunci pada textbox “Kata kunci” dan “Konfirmasi kunci”.
V.7.3 Skenario Pengiriman Surat Elektronik dengan Enkripsi Skenario sukses pengiriman surat elektronik dengan enkripsi sebagai berikut: 1. Pengguna menjalankan aplikasi Mozilla Thunderbird. 2. Pengguna membuka compose window dengan cara mengklik tombol “Write”. 3. Pengguna menulis alamat tujuan pengiriman. 4. Pengguna menulis subject surat. 5. Pengguna menulis pesan pada bagian “Body Text”. 6. Pengguna memasukkan kata kunci pada textbox “Kata kunci”. 7. Pengguna memasukkan konfirmasi kata kunci atau menekan tombol “Acak dengan SHA1” sehingga textbox “Konfirmasi kunci” terisi. 8. Pengguna menjawab 1 (satu) hingga 2 (dua) konfirmasi jika kata kunci yang digunakan tergolong tidak kuat. 9. Add-on menampilkan versi terenkripsi dari pesan. 10. Pengguna menekan tombol “Send” untuk mengirimkan pesan.
V.7.4 Skenario Penerimaan dan Dekripsi Surat Elektronik Skenario penerimaan dan dekripsi surat elektronik sebagai berikut: 1. Pengguna menjalankan aplikasi Mozilla Thunderbird. 2. Pengguna membuka inbox akunnya. 3. Pengguna memilih sebuah surat elektronik yang dienkripsi dengan add-on untuk dibaca.
V-6
4. Pengguna menekan tombol “Dekripsi!” untuk mendekripsi surat. 5. Add-on membuka sebuah window yang menampilkan versi terdekripsi dari surat.
V.8 Pelaksanaan Pengujian Pada subbab ini, akan dilakukan proses pengujian dengan menggunakan skenario yang telah didefinisikan pada subbab V.7 Skenario Pengujian dan beberapa skenario tambahan lainnya.
V.8.1 Pengujian Skenario Pengecekan Kata Kunci
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.1 Pengujian Skenario Pengecekan Kata Kunci. Pengujian ini dilakukan untuk mengecek salah satu fungsionalitas program, yaitu pembangkitan skor kata kunci masukan user. Status pengujian ini adalah “Berhasil”.
V.8.2 Pengujian Skenario Pembangkitan Kata Kunci
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.2 Pengujian Skenario Pembangkitan Kata Kunci. Pengujian ini dilakukan untuk mengecek salah satu fungsionalitas program, yaitu pembangkitan kata kunci baru dengan masukan kata kunci dari user. Status pengujian ini adalah “Berhasil”.
V.8.3 Pengujian Skenario Pengiriman Surat Elektronik
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.3 Pengujian Skenario Pengiriman Surat Elektronik. Pengujian ini dilakukan untuk mengecek salah satu fungsionalitas program, yaitu enkripsi pesan dengan XXTEA. Status pengujian ini adalah “Berhasil”.
V-7
V.8.4 Pengujian Skenario Penerimaan dan Dekripsi Surat Elektronik
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.4 Pengujian Skenario Penerimaan dan Dekripsi Surat Elektronik. Pengujian ini dilakukan untuk mengecek salah satu fungsionalitas program, yaitu dekripsi pesan yang telah dienkripsi dengan add-on. Status pengujian ini adalah “Berhasil”.
V.8.5 Pengujian Skenario Dekripsi Surat dengan Kunci yang Salah
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.5 Pengujian Skenario Dekripsi Surat dengan Kunci yang Salah. Pengujian ini dilakukan untuk melihat hasil dekripsi pesan jika kata kunci yang dimasukkan salah. Hasil pengujian menunjukkan bahwa hasil dekripsi pesan bukanlah plaintext.
V.8.6 Pengujian Skenario Dekripsi Surat Elektronik yang Invalid
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.6 Pengujian Skenario Dekripsi Surat Elektronik yang Invalid. Pengujian ini dilakukan untuk melihat bahwa program tidak akan mendekripsi pesan yang sebelumnya tidak dienkripsi oleh program. Jika user mencoba mendekripsi pesan invalid, program akan me-generate alert bahwa pesan tidak dapat didekripsi.
V.8.7 Pengujian Skenario Dekripsi Ciphertext yang Berubah
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.7 Pengujian Skenario Dekripsi Ciphertext yang Berubah. Pengujian ini dilakukan untuk melihat bahwa jika ciphertext mengalami perubahan, hasil dekripsi ciphertext dengan kunci yang sesuai tidak akan menampilkan plaintext.
V-8
V.8.8 Pengujian Ketepatan Isi Surat yang Terkirim
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.8 Pengujian Ketepatan Isi Surat yang Terkirim. Pengujian ini dilakukan untuk melihat bahwa jika terdapat pihak ketiga yang berusaha untuk menyadap isi pesan, pesan yang didapatkan memang dalam bentuk ciphertext. Hasil pengujian menunjukkan bahwa pesan yang dikirimkan ke mail server memang betul dalam bentuk ciphertext.
V.8.9 Pengujian Kekuatan Kata Kunci Bangkitan Program
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.9 Pengujian Kekuatan Kata Kunci Bangkitan Program. Pengujian ini dilakukan untuk melihat skor kata kunci bangkitan program. Hasil pengujian menunjukkan bahwa untuk kata kunci yang kurang kuat, kata kunci bangkitannya tergolong kuat sehingga fungsi pembangkitan kata kunci berjalan sesuai kebutuhan.
V.8.10 Pengujian Kecepatan Enkripsi XXTEA
Hasil pengujian dapat dilihat pada Lampiran A. Dokumen Pengujian subbab A.10 Pengujian Kecepatan Enkripsi XXTEA. Pengujian ini dilakukan untuk melihat kecepatan enkripsi dengan XXTEA. Hasil pengujian menunjukkan bahwa panjang kata kunci kurang berpengaruh terhadap kecepatan enkripsi, sedangkan panjang plaintext berpengaruh. Hal ini terlihat dari makin banyak waktu yang dibutuhkan untuk mengenkripsi pesan yang lebih panjang.
V.9 Evaluasi Hasil Pengujian Setelah melihat hasil pengujian, dapat dievaluasi sebagai berikut: 1. Fungsionalitas program berjalan dengan baik. 2. Walaupun pesan terenkripsi dimiliki oleh pihak ketiga dan pihak ketiga tidak mengetahui kata kunci yang digunakan, mereka akan kesulitan mengetahui isi
V-9
pesan sebab dengan kata kunci masukan yang mirip dengan kata kunci yang benar, pesan terdekripsi tidak memiliki makna. Hanya dengan kata kunci yang benar, pesan terdekripsi dapat mudah dibaca. 3. Pesan terenkripsi yang dikirimkan dari mesin pengguna memang dalam bentuk ciphertext. Sehingga ketika pengguna menghubungi sebuah mail server dalam unsecure connection dan terdapat seorang pihak ketiga yang menyadap isi pesan, pihak ketiga tersebut mendapatkan ciphertext yang hanya dapat dibuka dengan kunci yang sesuai. 4. Pembangkitan kata kunci dari kata kunci masukan yang kurang kuat memberikan kata kunci keluaran yang relatif kuat. Skor kata kunci keluaran berkisar 66 hingga 76. Hal yang sama terjadi jika kata kunci masukan tergolong relatif kuat. Hasil skor kata kunci yang didapat berkisar 66 hingga 76 yang berarti pembangkitan kata kunci pada beberapa kasus justru tidak meningkatkan kekuatan kata kunci. 5. Kecepatan enkripsi dengan XXTEA tergolong cepat hal ini dapat dilihat dari waktu enkripsi yang sangat singkat, yaitu antara 11-16 ms untuk mengenkripsi sekitar 1000 hingga 2000 bytes dan 31-32 ms untuk mengenkripsi sekitar 3000 hingga 4000 bytes pada lingkungan pengujian.