BAB IV IMPLEMENTASI, PENGUJIAN, DAN ANALISIS HASIL 4.1 Implementasi Sistem 4.1.1 Kebutuhan Sistem Spesifikasi Perangkat Keras Perangkat keras yang digunakan untuk perancangan aplikasi ini adalah : Prossesor Memori VGA Harddisk : Intel Pentium Dual core : 2 GigaByte : NVIDIA GFORCE (1 GigaByte) : 120 GigaByte Spesifikasi Perangkat Lunak Piranti lunak yang digunakan untuk perancangan dan pengoperasian aplikasi ini adalah : Sistem operasi : Windows 7 Ultimate-32 bit Platform : Java SE version 1.6, Android SDK, NetBeans IDE 7.0 Bahasa Pemrograman : Android 4.1.2Instalasi Program Untuk menjalankan aplikasi ini secara virtual menggunakan komputer, dibutuhkan beberapa software pendukung tertentu yang sebelumnya harus dimiliki oleh user. Berikut ini adalah langkah-langkah yang harus dilakukan dalam 41
42 melakukan proses instalasi software pendukung supaya aplikasi tersebut dapat dijalankan dengan baik : 1. Lakukan instalasi Java, yang merupakan basis dari Android, yaitu Java SE versi 1.6 atau versi di atasnya melalui website http://www.oracle.com/technetwork/java/javase/downloads/index.htm. 2. Lakukan instalasi NetBeans sebagai IDE (Integrated development Environment) yang akan digunakan dalam prosescoding aplikasi Android.Eclipse dapat diunduh di http://www.netbeans.org/downloads/. 3. Lakukan Instalasi Android Platform dengan langkah-langkah sebagai berikut : Unduh Android SDK dan AVD (Android Virtual Device) Dapatkan file tersebut pada halaman berikut : http://developer.android.com/sdk/index.html Install Android SDK. Gambar 4.1 Android SDK Jalankan Android SDK Manager.
43 Gambar 4.2 Android SDK Manager Biarkan SDK Manager melakukan pengambilan data. Gambar 4.3 Refresh Sources
44 Jika mengalami kegagalan untuk melakukan pengambilan data seperti di bawah ini : Gambar 4.4 Failed to fetch URL : Connection timed out Bukalah menu Setting. Lalu pada bagian Misc pilih opsi Force https:// sources to be fetched using http:// Dan jika koneksi internet yang kamu gunakan melewati suatu proxy tertentu maka perlu dimasukkan pada bagian Proxy Setting. Instalasi Paket Platform. Setelah pengambilan data berhasil dilakukan, lakukan instalasi paket yang diperlukan. Buka menu Available Packages. Pilih paket. Lalu klik tombol Install Selected. Paket yang telah berhasil dipasang (installed) dapat dilihat pada menu Installed Packages.
45 4. Buatlah AVD ( Android Virtual Device ) dengan langkah-langkah sebagai berikut : Buat AVD baru. Pada Android SDK Manager, buka menu Virtual Devices. Klik tombol New. Gambar 4.5 Create AVD
46 Masukkan detil AVD yang akan dibuat. Klik tombol Create AVD. Gambar 4.6 New AVD 5. Lakukan Pengaturan pada Netbeans Buka pengaturan Plugins. ( Menu Tools -> Submenu Plugins ) Buka tab Setting.
47 Gambar 4.7 Setting Tambahkan Update Center. Pada halaman Setting, klik tombol Add. Masukkan nama Update Center yg baru (Bebas. Misal : NAndroidUpdateCenter). Masukkan URL berikut : http://kenai.com/projects/nbandroid/downloads/download/updatecenter/updat es.xml Gambar 4.8 Tambah Update Center
48 Perbaharui katalog plugins. Buka tab Available Plugins. Klik tombol : Reload Catalog. Gambar 4.9 Available Plugins Instalasi plugins Android. Setelah selesai langkah 4. Cari plugins Android. Tandai. Lalu klik tombol Install. Sedangkan, untuk menjalankan aplikasi ini secara langsung pada perangkat android, maka cukup dengan menginstall file kriptografi-debug.apk yang terdapat di dalam folder program. 4.2 Pengujian Program Pengujian aplikasi KriptoSMS ini menggunakan metode blackbox. Materi yang akan diujikan pada aplikasi KriptoSMS ini adalah sebagai berikut :
49 1. Pengiriman pesan Akan dilakukan pengujian pada proses pengiriman pesan apakah aplikasi KriptoSMS dapat mengenkripsi pesan dan mengirimkan pesan yang telah dienkripsi ke nomor yang dituju atau tidak. 2. Penerimaan pesan Akan dilakukan pengujian pada proses penerimaan pesan apakah aplikasi KriptoSMS dapat menerima sebuah pesan dan mendekripsikannya menjadi pesan asli. 3. Penyimpanan pesan Akan dilakukan pengujian pada proses penyimpanan pesan apakah aplikasi KriptoSMS dapat menyimpan pesan yang sudah diterima sebelumnya. 4. Laporan Akan dilakukan pengujian apakah akan keluar sebuah laporan apabila pesan telah dienkripsi atau didekripsi. 5. Error Akan dilakukan pengujian apakah error akan keluar apabila user salah menginputkan sebuah data. Saat program pertama kali dijalankan akan muncul emulator Android. Emulator ini berfungsi sebagai pengganti perangkat asli Android, sehingga memungkinkan user menjalankan program aplikasi ini secara virtual dengan menggunakan komputer. Hasil yang akan ditampilkan juga akan sama dengan ketika aplikasi ini diinstalasi pada perangkat Android.
50 Gambar 4.10 Halaman Awal Emulator Android Setelah halaman awal emulator terbuka, user harus men-drag kursor ke arah gambar gembok terbuka untuk membuka kunci (unlock). Setelah itu akan muncul layar menu utama dari emulator, seperti pada gambar di bawah ini (Gambar 4.11).
51 Gambar 4.11 Halaman Menu Awal Emulator Android Untuk memilih program aplikasi, tekan tombol menu yang berbentuk lingkaran dengan enam titik di bagian tengah bawah layar. Kemudian layar akan beralih ke halaman menu utama dari emulator Android, seperti yang tampak pada gambar di bawah ini (Gambar 4.12).
52 Gambar 4.12 Halaman Menu Utama Emulator Android Pada halaman menu utama emulator Android, klik program aplikasi yang ingin dijalankan, yaitu program aplikasi bernama KriptoSMS dengan logo Android di bagian kiri bawah layar.
53 Gambar 4.13 Halaman Utama Aplikasi KriptoSMS Pada halaman utama ini, terdapat 4 menu yang dapat dijalankan oleh user, yaitu menu New Message, Inbox, About, dan Back. Berikut ini adalah penjelasan tentang fitur dan kegunaan dari masing-masing menu tersebut : 1. Menu New Message Menu tersebut berfungsi untuk membuat pesan baru yang akan dikirim oleh pengirim kepada penerima. Jika menu ini dipilih, maka akan muncul tampilan seperti pada gambar 4.14 di bawah ini.
54 Gambar 4.14 Halaman Menu New Message Pada menu ini, user dapat mengisi nomor tujuan, password yang digunakan untuk mengenkripsi pesan, dan isi pesan rahasia yang ingin dikirimkan kepada penerima pesan. Dalam aplikasi ini, nomor tujuan penerima pesan dan password harus diisi (tidak boleh dikosongkan). Apabila nomor tujuan kosong dan user menekan tombol Send, maka akan muncul pesan error seperti gambar di bawah ini (gambar 4.15).
55 Gambar 4.15 Pesan Error Jika Penerima Dikosongkan Selanjutnya, jika nomor tujuan penerima pesan sudah diisi, sementara password masih dalam keadaan kosong dan user menekan tombol Send, maka pesan error juga akan muncul seperti gambar di bawah ini (gambar 4.16).
56 Gambar 4.16 Pesan Error Jika Password Dikosongkan Jika semua kolom sudah terisi dan user menekan tombol Send, maka akan muncul laporan berupa pesan pop-up yang menginformasikan bahwa pesan sudah berhasil dienkripsi dan dikirim kepada penerima. Berikut gambar tampilan yang akan muncul :
57 Gambar 4.17 Pesan Terkirim Jika user sudah menerima laporan ini, maka berarti pesan sudah berhasil dikirim ke nomor tujuan yang diinginkan. Sebaliknya, jika user menekan tombol Back, maka program akan kembali pada tampilan halaman sebelumnya, yaitu halaman utama aplikasi KriptoSMS (Gambar 4.13). 2. Menu Inbox Sama seperti menu SMS (Short Message Service) pada umumnya, menu Inbox pada aplikasi ini juga berfungsi untuk membaca pesan yang telah diterima oleh user. Jika menu ini dipilih, maka akan muncul daftar pesan yang sudah diterima
58 sebelumnya dan user dapat memilih pesan mana yang ingin dibaca. Berikut tampilan yang akan muncul di layar : Gambar 4.18 Inbox Pada layar ini, user dapat memilih pesan yang ingin dibaca dan setelah memilih pesan tersebut, maka layar akan berpindah pada detail pesan yang telah dipilih sehingga user dapat melihat isi lengkap pesan tersebut seperti pada gambar di bawah ini :
59 Gambar 4.19 Detail Inbox Awal mulanya, layar ini hanya akan menampilkan chiper text yang dihasilkan dari enkripsi isi pesan dan password yang dikirim oleh pengirim pesan. Chiper text ini masih berupa tulisan acak sehingga sangat sulit bahkan tidak mungkin dimengerti isinya oleh siapapun tanpa didekripsi. Untuk membaca isi pesan yang sebenarnya, user harus memasukkan password yang benar pada kolom password sesuai dengan password yang dimasukkan oleh pengirim pesan. Setelah memasukkan password, user harus menekan tombol Decrypt untuk
60 menampilkan pesan asli yang dikirimkan. Jika password yang dimasukkan benar, maka akan muncul hasil seperti pada gambar di bawah ini : Gambar 4.20 Pesan Dengan Password Yang Benar Dalam percobaan ini, pesan asli yang dikirim adalah Ini adalah pesan rahasia., dengan password yang diberikan adalah Binusian. Tampilan di atas memperlihatkan pesan asli yang dihasilkan dengan password yang benar. Sedangkan, jika password yang dimasukkan berbeda, maka pesan akan tetap didekripsi tetapi hasilnya akan berbeda dan tidak menghasilkan pesan asli yang
61 ingin disampaikan oleh pengirim kepada penerima pesan. Berikut tampilan yang akan muncul dengan percobaan password yang dimasukkan adalah Jakarta. Gambar 4.21 Pesan Dengan Password Yang Salah Dapat dilihat pada gambar 4.21, pesan tetap akan didekripsi meskipun password yang dimasukkan salah. Akan tetapi, hasil dekripsi pesan juga tetap acak dan tidak diketahui isi pesan yang sebenarnya karena password yang digunakan untuk mendekripsi pesan salah. Selain itu, jika password tidak diisi atau dikosongkan, maka pesan juga akan tetap didekripsi. Akan tetapi, hasil dekripsi pesan tersebut tidak akan ada
62 perubahan. Artinya, pesan asli yang ditampilkan akan sama dengan chiper text yang dihasilkan. Berikut adalah tampilan hasil dekrispsi dengan password yang kosong. j Gambar 4.22 Pesan Dengan Password Kosong Sebaliknya, jika user menekan tombol Back, maka layar akan kembali pada tampilan sebelumnya, yaitu menu Inbox seperti pada gambar 4.18. 3. Menu About
63 Menu tersebut berfungsi untuk memberikan deskripsi atau ringkasan tentang tujuan dan kegunaan dari aplikasi KriptoSMS tersebut. Jika menu ini dipilih, maka akan muncul tampilan seperti pada gambar 4.23 di bawah ini. Gambar 4.23 Halaman Menu About Dengan menekan tombol Back, user akan kembali pada tampilan sebelumnya, yaitu menu utama seperti pada gambar 4.13.
64 4.3 Analisis Hasil Pada tahap ini akan dijelaskan analisis hasil kinerja dari aplikasi perangkat lunak KriptoSMS. 4.3.1 Analisis Enkripsi Pesan Pesan dan password (yang akan dijadikan key) akan ditransformasi terlebih dahulu ke kode ASCII. Kemudian pesan akan dienkripsi menggunakan key yang telah diinputkan dengan metode enkripsi modifikasi vigenere cipher. Pesan : Ini adalah pesan rahasia. Key : Binusian Ciphertext : kxxuunc[%sogz^d^d^r W_MRS dengan ilustrasi penghitungan (sesuai pada tabel ASCII pada bab II) sebagai berikut: Pesan : I (41), n (78) Key : B (34), i (73) Ciphertext : k (41+34 = 75 mod 95 = 75), X (78+73 = 151 mod 95 = 56) dan seterusnya sehingga terbentuk chipertext sepanjang pesan aslinya. 4.3.2 Analisis Dekripsi Pesan Ciphertext akan tetap didekripsi oleh sistem walaupun user salah menginputkan password. Hasil pendekripsian dengan password benar sebagai berikut : Cipherteks : kxxuunc[%sogz^d^d^r W_MRS Password : Binusian Plainteks : Ini adalah pesan rahasia. dengan ilustrasi penghitungan sebagai berikut :
65 Untuk Huruf Pertama Cipherteks : k (75) Key : B (34) Karena k>b (75>34), maka plainteks yang dihasilkan ada hasil pengurangan dari desimal k dengan desimal B, sehingga diperoleh : Plainteks : I (75-34 = 41 mod 95 = 41) Untuk Huruf Kedua Cipherteks : X (56) Key : i (73) Karena X<i (56>73), maka desimal dari X harus dijumlahkan dengan 95, kemudian baru dikurangi dengan desimal dari i, sehingga diperoleh : Plainteks : n ((56+95) - 73 = 78) Begitu seterusnya sehingga diperoleh pesan asli yang dikirimkan oleh pengirim. Berikut hasil jika penerima salah memasukkan password : Cipherteks : kxxuunc[%sogz^d^d^r W_MRS Password : Jakarta Plainteks : Avl4bYa0Bf-sd{wzVz]is2hcn Hasil uji selengkapnya dapat dilihat di tabel 4.1
Tabel 4.1 Hasil Pengujian Identifikasi Deskripsi Prosedur Input Metode Output Kesimpulan Pengujian Pengujian Pengujian SRS KSMS 01 Pengujian input - Masukkan no.tujuan - Masukkan password - Masukkan pesan No. tujuan, pesan, dan password Black Box Diterima SRS KSMS 02 Mengubah pesan dan password ke kode ASCII Black Box Diterima SRS KSMS 03 Mengenkripsi pesan Mengirimkan ciphertext Black Box Pesan berupa ciphertext Diterima SRS KSMS 04 Mengirimkan pesan dan memberikan laporan kepada pengirim Mengirimkan pesan menggunakan aplikasi KriptoSMS Black Box Pesan terkirim dan pengirim menerima laporan bahwa pesan telah terkirim Diterima SRS KSMS 05 Menampilkan no. pengirim kepada penerima Menampilkan no. pengirim kepada penerima Black Box No. Pengirim ditampilkan Diterima SRS KSMS 06 Menyisipkan pesan ke dalam inbox penerima Menampilkan daftar pesan pada inbox penerima Black Box Daftar pesan ditampilkan pada inbox penerima Diterima 66
SRS KSMS 07 Mendekripsi ciphertext Mendekripsi ciphertext Password Black Box Ciphertext didekripsi Diterima SRS KSMS 08 Mengubah pesan ASCII ke karakter Pesan ASCII diubah kembali menjadi karakter Black Box Pesan diubah dari kode ASCII menjadi karakter Diterima SRS KSMS 09 Menampilkan pesan kepada penerima Ciphertext yang telah didekripsi ditampilkan kepada penerima Black Box Pesan ditampilkan Diterima 67