HYBRID CRYPTOSYSTEM UNTUK PENGAMANAN E-DOKUMEN MENGGUNAKAN ALGORITMA RC4, RSA DAN MD5
NASKAH PUBLIKASI
diajukan oleh Rano Alyas 11.11.5425
kepada JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2014
i
ii
HYBRID CRYPTOSYSTEM FOR SECURITY E-DOCUMENT USING ALGORITHM RC4, RSA AND MD5
HYBRID CRYPTOSYSTEM UNTUK PENGAMANAN E-DOKUMEN MENGGUNAKAN ALGORITMA RC4, RSA DAN MD5
Rano Alyas Ema Utami Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT The exchange of documents in cyberspace already widely used in commercial transactions . Therefore , the document is an important role that must be secured by each user . Security of a document is to be considered in maintaining the confidentiality of information , especially for the contents of information that should only be known by the authorities alone . Delivery of data or information without any security will be at risk to eavesdropping and the information in it can be easily identified by parties who are not authorized . One way to secure the document is to use a cryptographic algorithm . The principle of security of this document is how the system can secure the storage and delivery of documents using a hybrid cryptosystem . In this research , the use of hybrid cryptosystem is combination the RC4 algorithm , RSA and MD5. The stages of the security document includes three stages: data security processes , security locks , and testing the integrity of a file. Applications built can perform encryption and decryption of file / document. The results of the testing that has been done can be concluded that the application has been able to show and perform encryption and decryption on a document of file. The performance of these applications can be concluded that the larger the file size the longer the process in encrypted and the higher spec computer used the faster encryption and decryption processes are processed bin SecureDoc applications.
Keywords : Hybrid Cryptosystem , Cryptography , RC4 , RSA , MD5 and Documents.
iii
1. PENDAHULUAN 1.1 Latar Belakang Pertukaran dokumen berbasis komputer seperti pesan e-mail atau dokumen dalam pesan e-mail di internet sudah luas digunakan sebagai transaksi komersiil. Dokumen sering berisi informasi penting seperti kontrak resmi, transaksi keuangan, record penjualan dan lain-lain. Keamanan dari suatu data merupakan hal yang perlu diperhatikan dalam menjaga kerahasiaan data terutama bagi dokumen yang isinya hanya boleh diketahui oleh pihak yang berhak saja. Pengiriman data atau dokumen tanpa dilakukan pengamanan akan beresiko terhadap penyadapan, kerahasiaan dan keotentikan data. Oleh karena itu diperlukan suatu sistem pengamanan data yang bertujuan untuk meningkatkan keamanan data, melindungi suatu data atau pesan agar tidak dibaca oleh pihak yang tidak berwenang, dan mencegah pihak yang tidak berwenang untuk menyisipkan, menghapus, ataupun merubah data. Salah satu ilmu pengamanan data yang terkenal adalah kriptografi. Kriptografi adalah ilmu sekaligus
seni
untuk
menjaga
kerahasiaan
pesan,
data,
atau
informasi
dengan
cara
menyamarkannya menjadi bentuk tersandi yang tidak mempunyai makna (Munir, 2006). Dalam kriptografi, terdapat 2 proses utama, enkripsi dan dekripsi. Enkripsi adalah proses penyandian pesan asli atau plaintext menjadi ciphertext (teks tersandi). Sedangkan dekripsi adalah proses penyandian kembali ciphertext menjadi plaintext (Munir, 2006). Untuk membangun sistem penyimpanan dokumen yang hasil simpanannya tidak dapat dibaca oleh orang, dalam penelitian ini telah dikembangkan model sistem pengamanan dengan proses enkripsi dan dekripsi dengan metode simetrik kriptosistem dan asimetrik kriptosistem. Gabungan algoritma simetrik kriptosistem dan asimetrik kriptosistem disebut sebagai hybrid cryptosystem (Fauziah, 2008). Penggunaan hybrid cryptosystem dalam penelitian ini merupakan gabungan algoritma RC4, RSA dan MD5 yang digunakan dalam tiga tahapan pengamanan data pada dokumen. Adapun tahapan pengamanan data meliputi : proses setup key, proses enkripsi data, dan proses dekripsi data. Maka dari itu, pada penelitian ini penulis akan menggabungkan tiga algoritma sekaligus yaitu algoritma RC4 digunakan sebagai pengamanan data, RSA digunakan dengan alasan tingkat keamanannya sangat tinggi sebagai pengamanan kunci dan MD5 digunakan sebagai pengujian integritas sebuah berkas. . Berdasarkan latar belakang diatas, maka penulis mencoba mengembangkan aplikasi desktop yang digunakan untuk pengamanan dokumen. Dengan adanya aplikasi ini, diharapkan dapat membantu dalam pengamanan sebuah dokumen dengan cara enkripsi dan enkripsi. Untuk itu penulis membuat penelitian skripsi dengan judul “Hybrid Cryptosystem Untuk Pengamanan E-dokumen Menggunakan Algoritma RC4, RSA dan MD5”. 2. LANDASAN TEORI 2.1 Dokumen Dokumen merupakan salah satu hal yang sangat penting karena merupakan sumber informasi yang diperlukan oleh suatu instansi , organisasi , atau Negara.
4
2.1.1 Pengertian Dokumen Dokumen adalah surat penting atau berharga yang sifatnya tertulis atau tercetak yang berfungsi atau dapat di pakai sebagai bukti ataupun keterangan(Alwi, 2000). 2.1.2 Jenis-jenis Dokumen Menurut Alwi Hasan (2000), ada tiga jenis dokumen yang harus dipahami dan diketahui sebagai berikut : 1. Jenis dokumen dari segi pemakaian 2. Jenis dokumen dari segi fungsinya 3. Jenis dokumen dari segi ruang lingkupnya 2.1.3 E-Dokumen (Elektronik Dokumen) Menurut undang-undang ITE pasal 1 angka 4, dokumen elektronik (e-dokumen) adalah setiap Informasi Elektronik yang dibuat, diteruskan, dikirimkan, diterima, atau disimpan dalam bentuk analog, digital, elektromagnetik, optikal, atau sejenisnya, yang dapat dilihat, ditampilkan, dan/atau didengar melalui Komputer atau Sistem Elektronik, termasuk tetapi tidak terbatas pada tulisan, suara, gambar, peta, rancangan, foto atau sejenisnya, huruf, tanda, angka, Kode Akses, simbol atau perforasi yang memiliki makan atau arti atau dapat dipahami oleh orang yang mampu memahaminya. 2.2
Konsep Dasar Kriptografi Kriptografi mempunyai peranan penting dalam dunia komputer. Hal ini disebabkan karena
banyaknya informasi rahasia yang disimpan dan dikirim melalui media komputer. Informasi-informasi ini biasanya berisikan dokumen-dokumen penting dan data keuangan dari suatu instansi yang tidak ingin dibaca oleh orang yang tidak berwenang atas informasi tersebut. 2.2.1 Pengertian Kriptografi Kata kriptografi berasal dari bahasa Yunani. Dalam bahasa Yunani kriptografi terdiri dari dua buah kata yaitu cryptos dan graphia. Kata crypto berarti rahasia (secret) sedangkan graphia berarti tulisan. Sehingga makna dari kriptografi adalah tulisan rahasia. Menurut terminologinya kriptografi adalah ilmu yang mempelajari tentang bagaimana menjaga kerahasiaan suatu pesan, agar isi pesan yang disampaikan tersebut aman sampai ke penerima pesan (Dony Ariyus, 2008). 2.2.2 Tujuan Kriptografi Aspek-aspek keamanan di dalam kriptografi adalah sebagai berikut (Rinaldi Munir, 2006) : 1. Confidentiality (kerahasiaan) 2. Authentication (otentikasi) 3. Non-repudiation (nir penyangkalan) 4. Integrity (data Integritas) 2.2.3 Cryptosystem dan Hybrid Cryptosystem Menurut Rinaldi Munir (2006), sistem kriptografi (cryptosystem) adalah kumpulan yang terdiri dari algoritma, semua plaintext dan ciphertext. Hybrid cryptosystem yaitu kombinasi kriptografi dengan menggabungkan algoritma simetris dan algoritma asimetris atau dengan
public key dan private key(Fauziah, 2008). Secara umum
cryptosystem dapat digolongkan menjadi dua buah, yaitu(Kristanto, 2003) :
5
2.2.3.1
Symetric Cryptosystem Dalam Symetric cryptosystem ini, kunci yang digunakan untuk proses enkripsi dan dekripsi
pada prinsipnya sama tetapi satu buah kunci dapat pula diturunkan dari kunci yang lainnya, kuncikunci ini harus dirahasiakan. Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA, RC2, RC3, RC4, dan lain-lain. 2.2.3.2
Assymetric Criptosystem Dalam Assymetric Cryptosystem ini digunakan dua buah kunci yang berbeda dalam proses
enkripsi dan dekripsinya. Satu kunci yang disebut kunci publik ( public key ) yang dapat dipublikasikan, sedangkan kunci yang lain yang disebut kunci privat ( private key ) yang harus dirahasiakan. Contoh dari sistem ini antara lain RSA Scheme dan Merkie Hellman Scheme. 2.3
RC4 Menurut Rinaldi Munir, RC4 merupakan salah satu jenis stream cipher yang didesain oleh
Ronald Rivest dil laboratorium RSA (RSA Data Security inc) pada tahun 1987. RC4 sendiri merupakan kepanjangan dari Ronald Code atau Rivest’s Cipher. RC4 stream cipher ini merupakan salah satu jenis algoritma yang mempunyai S-Box dan menggunakan variable yang panjang kuncinya 1 sampai 256 bit yang digunakan untuk menginisialisasikan tabel sepanjang 256 bit. 2.4
RSA Algoritma RSA pertama kali ditemukan oleh Ron Rivest, Adi Shamir dan Leonard Aldeman.
RSA adalah singkatan dari huruf depan 3 orang yang menemukannya pada tahun 1977 di MIT(Massachussets Institute of Technology). Pada tahun 1983, Massachusets Institute of Technology menerima hak paten atas sebuah makalah yang berjudul “Cryptography Communication System and Method” yang mengaplikasikan pengguna algoritma kriptografi RSA.(Yusuf Kurniawan, 2004) 2.5
MD5 Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan
menghasilkan message digest yang panjangnya 128 bit. Dengan panjang message digest 128 bit, maka secara brute force dibutuhkan percobaan sebanyak 2128 kali untuk menemukan dua buah pesan atau lebih yang mempunyai message digest yang sama(Rinaldi, 2006). 2.6
Definisi Program dan Bahasa Pemrograman Program merupakan kata, ekspresi atau pernyataan yang disusun dan dirangkai menjadi satu
kesatuan
prosedur
yang
berupa
urutan
langkah
untuk
menyelesaikan
masalah
yang
diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer. Bahasa pemrograman adalah bahasa yang digunakan untuk memprogram komputer, yang dibagi menjadi tiga level bahasa yaitu bahasa tingkat rendah (low level language), bahasa tingkat menengah (middle level language) dan bahasa tingkat tinggi (high level language). 2.7
Java Java adalah bahasa pemrograman yang kecil, sederhana, aman, objek-oriented, dijalankan
oleh interprater (kode program di-optimalisasi secara dinamis pada saat run-time), tidak tergantung pada arsitektur (hardware), alokasi data yang tidak terpakai dibersihkan secara otomatis (oleh
6
garbage-collector), mendukung multithreading, serta mempunyai mekanisme penanganan exception yang strongly-type (tipe exception diketahui secara pasti pada saat compile-time). 2.7.1
Karakteristik Java Menurut Soesilo Wijono, G.Sri Hartati Wijono,B.Herry Suharto (2005),
Keunggulan java
adalah sebagai berikut: 1. Java bersifat sederhana dan relatif mudah 2. Java berorientasi pada objek 3. Java bersifat terdistribusi 4. Java bersifat multiplatform 5. Java bersifat multithread 2.7.2
Teknologi Java Platform java 2 tersedia dalam beberapa edisi. Masing-masing edisi ditunjukan untuk
membuat aplikasi yang berbeda. Edisi-edisi dalam platform Java 2 sebagai berikut (Matius Soesilo Wijono,G.Sri Hartati Wijono,B.Herry Suharto.2005:9) : 1. Standard Edition (J2SE) , berisikan class-class yang merupakan inti dari bahasa java. 2. Enterprise Edition (J2EE), berisikan class-class dari java J2SE, ditambah dengan classclass yang dipakai untuk membangun aplikasi enterprise. 3. Micro Edition (J2ME), berisikan subset dari class-class J2SE dan dipakai dalam produkproduk consumer-electronic. 2.7.3
Java Class Library Java menyediakan library-library standar yang telah di compile dan dapat langsung dipakai.
Dalam library ini terdapat bermacam-macam class yang dikelompokkan dalam package-package. 2.7.4
IDE NetBean Menurut G.Sri Hartati, B.Herry Suharto, M.Soesilo Wijono(2007:3) IDE NetBeans dirancang
untuk memudahkan perancangan dan pemakaian komponen Beans.. Keunggulan konsep IDE Netbeans adalah sebagai berikut: 1. Open-source, IDE NetBeans bersifat gratis 2. Berbasis visual dan event-driven 3. User-interface 4. Compiler atau builder dan debugger internal 5. Source control 2.8
Teori Analisis SWOT Analisis SWOT adalah metode perencanaan strategis yang digunakan untuk mengevaluasi
kekuatan (strengths), kelemahan (weaknesses), peluang (opportunities), dan ancaman (threats) dalam suatu proyek atau suatu spekulasi bisnis (Freddy, 2005). Keempat faktor itulah yang membentuk akronim SWOT (strengths, weaknesses, opportunities, dan threats). 2.9
UML UML merupakan bahasa yang distandarkan sebagai peralatan untuk dokumen analisis dan
perancangan suatu sistem perangkat lunak (Kendall, 2003:430). UML dikembangkan sebagai suatu
7
alat untuk analisis dan desain berorientasi object oleh Grady Booch, James Rumbaugh, dan Ivar Jacobson. Unified Modeling Language (UML) terdiri dari beberapa bagian sebagai berikut : 2.9.1 Usecase Diagram Use case merupakan fungsionalitas yang diharapkan dari sebuah sistem. Use case merepresentasikan dekripsi lengkap tentang interaksi yang terjadi anatara para actor dengan sistem/perangkat lunak yang sedang dikembangkan (Nugroho, 2009: 7) 2.9.2 Class Diagram Class diagram adalah suatu diagram yang memperlihatkan struktur sebuah sistem. Class diagram yang menggambarkan struktur class, package, dan objek beserta hubungan satu sama lain seperti dinamis, pewarisan, asosiasi, dan agregasi. 2.9.3 Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertical (waktu) dan horizontal (objek-objek terkait). 2.9.4 Activity Diagram Activity diagram adalah sebuah diagram yang menunjukkan urutan aktivitas sebuah proses(Rama). 3. ANALISIS DAN PERANCANGAN 3.1 Gambaran Umum Aplikasi Pada bab ini membahas analisis dan perancangan aplikasi pengamanan e-dokumen menggunakan algoritma RC4, RSA dan MD5. 3.1.1 Model Sistem Aplikasi Lama 1. Hanya menggunakan satu atau dua algoritma saja. 2. Masih menggunakan algoritma standar yang dengan adanya perkembangan teknologi berkemungkinan untuk lebih cepat di bobol / hack. 3. Pengamanannya kurang kuat karena kunci yang digunakan untuk enkripsi tidak di enkripsi lagi. 3.1.2 Model Sistem Aplikasi Baru Model sistem aplikasi yang baru menggunakan kombinasi 3 buah algoritma yang memadukan antara algoritma simetris, assimetris dan fungsi hash. 3.2
Analisis SWOT
3.2.1 Kekuatan (Strengths) 3.2.2 Kelemahan (Weakness) 3.2.3 Peluang (Opportunities) 3.2.4 Ancaman (Threats) Tabel 3.1 Kesimpulan analisis SWOT Internal -
Strength Open Source
-
8
Weakness Keterbatasan jenis file
-
Keamanan Mudah digunakan
-
Ukuran file Keterbatasan komputer percobaan
Eksternal Opportunity Threat - Belum ada aplikasi pengamanan e- Perkembangan aplikasi sejenis dokumen menggunakan tiga tetapi beda konsep algoritma (hybrid cryptosystem) yaitu RC4, RSA dan MD5 3.3 Analisis Kebutuhan Sistem 3.3.1 Analisis Kebutuhan Fungsional Analisis kebutuahan fungsional adalah berisi paparan proses-proses apa saja yang nantinya dilakukan oleh sistem, paparan mengenai fitur-fitur yang akan dimasukan kedalam aplikasi yang akan dibuat. 3.3.2 Analisis Kebutuhan Non Fungsional Analisis kebutuhan non fungsional adalah bagian yang akan mendukung jalannya proses pembuatan aplikasi hybrid cryptosystem untuk pengamanan e-dokumen. Kebutuhan ini melibatkan kebutuhan peragkat keras (hardware), kebutuhan perangkat lunak (software) dan kebutuhan SDM (brainware). 3.3.2.1 Analisis kebutuhan perangkat keras (hardware) Tabel 3.2 Spesifikasi Komputer Spesifikasi laptop Asus A43S Series Processor intel® Pentium® CPU B940 2.0 GHz RAM Memory 2.00 GB VGA Nvidia GT 520M Harddisk 320 GB Monitor 14” HD LED Color Shine DVD-RW DVD-RW 3.3.2.2 Analisis kebutuhan perangkat lunak (software) Tabel 3.3 Spesifikasi Perangkat lunak (software) Spesifikasi perangkat lunak Sistem Operasi Windows 8 64-bit Software NetBean 7.2 , Java JDK Bahasa Pemrograman Java Modelling Astah Community 6.7, Visual Paradigm 11.0, yED Graph Editor 3.3.2.3 Analisis kebutuhan SDM (brainware) a. Analis b. Programmer c.
User
3.4 Analisis Kelayakan Sistem 1. Kelayakan Teknik 2. Kelayakan Hukum 3. Kelayakan Operasional
9
3.5 Analisis Data 3.5.1 Hasil Hitung Manual RC4 3.5.2
Hasil Hitung Manual RSA
3.5.3
Hasil Hitung Manual MD5
3.6
Perancangan Sistem Rancangan sistem secara umum dilakukan dengan maksud untuk memberikan gambaran
umum tetang sistem yang baru atau sistem yang akan diusulkan. 3.6.1
Perancangan Prosedural Perancangan prosedural ini berisi tentang flowchart dari aplikasi hybrid cryptosystem untuk
pengamanan e-dokumen menggunkana algoritma RC4, RSA dan MD5. Flowchart adalah salah satu bagan yang menggambarkan arus logika dari data yang akan diproses dalam suatu program dari awal sampai akhir. Flowchart dari program aplikasi hybrid cryptosystem dapat dilihat pada gambar dibawah :
Gambar 3.1 Flowchart Enkripsi dan Dekripsi 3.6.2
Perancangan Proses Perancangan
sistem
yang
digunakan
dalam
aplikasi
“Hybrid
cryptosystem
untuk
pengamanan e-dokumen menggunakan algoritma RC4, RSA dan MD5” adalah dengan UML(Unified Modeling Language). UML adalah bahasa standar yang digunakan untuk menjelaskan dan memvisualisasikan artifak dari proses analisis dan desain berorientasi objek.
10
3.6.2.1 Use Case Diagram 3.6.2.2 Activity Diagram 3.6.2.3 Sequence Diagram Sequence diagram digunakan untuk menggambarkan interaksi antar objek dalam dan sekitar sistem (termasuk pengguna) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertical (waktu) dan dimensi horizontal (objek-objek yang terkait).
3.6.2.4 Class Diagram Class diagram merupakan diagram yang selalu ada dalam permodelan sistem berorientasi objek. 3.6.3 Perancangan Interface / Antarmuka Rancangan interface / antarmuka program berperan untuk menghubungkan antara pengguna dan aplikasi. 4. IMPLEMENTASI DAN PEMBAHASAN 4.1 Implementasi Implementasi adalah terapan hasil rancangan yang telah dibuat dari beberapa kode program serta tampilan-tampilan yang telah direncanakan sebelumnya menjadi sebuah aplikasi. 4.1.1 Implementasi Algoritma 4.1.1.1 Implementasi Algoritma RC4 Algoritma RC4 diimplementasikan dalam kelas “Enkripsi” dan “Dekripsi” 4.1.1.2 Implementasi Algoritma RSA Algoritma RSA diimplementasikan dalam kelas “Enkripsi” dan “Dekripsi” 4.1.1.3 Implementasi Algoritma MD5 Algoritma MD5 diimplementasikan dalam kelas “Enkripsi” dan “Dekripsi” 4.1.2 Implementasi Interface Implemetasi interface adalah penerapan tampilan yang berdasarkan pada desain yang telah dirancang sebelumnya yang dapat dilihat dari sisi pengguna aplikasi. 1. Tampilan Splash Screen
Gambar 4.1 Tampilan Spalsh Screen 2. Tampilan Menu Utama
11
Gambar 4.2 Tampilan Menu Utama 3. Tampilan Enkripsi
Gambar 4.3 Tampilan Enkripsi 4. Tampilan Dekripsi
Gambar 4.4 Tampilan Dekripsi 5. Tampilan Bantuan
12
Gambar 4.5 Tampilan Menu Bantuan / Help 6. Tampilan Tentang
Gambar 4.6 Tampilan Menu Tentang Aplikasi / About 7. Tampilan Keluar
Gambar 4.7 Tampilan Keluar / Exit 4.2 Pembahasan Pembahasan merupakan bagian akhir dari tahap pembuatan program. Pembahasan kode program atau tampilan dilakukan bila seluruh rancangan input – output aplikasi telah selesai. 4.2.1
Pembahasan Program
4.2.1.1 Kode Program Pada Splash Screen Kode berikut digunakan untuk menampilkan splash screen sebelum masuk ke menu utama. 4.2.1.2 Kode Program Untuk Mencari File Kode berikut digunakan untuk membuka jendela pencarian file yang akan dienkripsi ataupun didekripsi pada button browse. 4.2.1.3 Kode Program Untuk Membuat Tandatangan MD5 pada Button Kode berikut digunakan untuk membuat tandatangan MD5 pada button proses MD5
13
4.2.1.4 Kode Program Untuk Menyimpan Dalam Ekstensi .zip Kode berikut digunakan untuk memnyimpan file dengan ekstensi .zip pada button simpam. Berikut listing programnya : 4.2.2
Pengujian Aplikasi Pengujian aplikasi dilakukan bila seluruh rancangan input – output aplikasi telah selesai.
Tujuan pengujian aplikasi adalah dimaksudkan agar mengetahui seberapa jauh aplikasi ini dapat berjalan. Berikut manual programnya atau langkah-langkah nya : 1. Buka aplikasi “SecureDoc.jar” pada media penyimpanan masing-masing. 2. Sebelum ke menu utama akan muncul terlebih dahulu splash screen. 3. Tampil menu utama dan pilih menu enkripsi. 4. Klik tombol proses buat tandatangan MD5, makan akan tampil hasil tandatangan MD5 berupa abjad dan numeric sebanyak 16 byte (32 karakter) kemudian memasukan kunci RC4. Proses enkripsi file tidak akan berjalan jika belum menginputkan kunci RC4 terlebih dahulu. 5. Setelah file disimpan dengan format .zip kemudian kita buka apakah file sudah benar-benar tersimpan atau belum. 6. Selanjutnya melakukan proses dekripsi dimana diawali dengan menginputkan cipherteks RSA atau kunci RC4 yang terenkripsi. 7. Browse file yang akan didekripsi. 8. File Berhasil Didekripsi 9. Tahap selanjutnya Buat tandatangan MD5 dalam proses Dekripsi 10. Bandingkan dengan hasil MD5 pengirim sebagai pengintegritas data. Jika hasilnya berbeda maka file rusak atau tidak asli. Sebaliknya jika hasilnya sama maka file masih asli dan tidak rusak. 4.2.3
Pengujian Program Uji coba sistem perlu dilakukan untuk memastikan bahwa komponen-komponen dari sistem
ini telah berfungsi sesuai dengan yang diharapkan. Ada dua macam pengujian perangkat lunak yang akan dilakukan, yaitu menggunakan metode whitebox testing dan blackbox testing. 4.2.3.1 Whitebox Testing Whitebox testing adalah perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case. 4.2.3.2 Blackbox Testing Blackbox testing dapat dilakukan pada testing interface perangkat lunak. Test case ini bertujuan untuk menunjukan fungsi perangkat lunak tentang cara beroperasi, lebih spesifik, metode ini lebih bertujuan untuk mencari kesalahan pada : a. Fungsi salah / hilang b. Kesalahan pada interface c.
Kesalahan performa
d. Kesalahan instalasi dan petunjuk akhir
14
Berikut hasil tabel blackbox testing yang diperoleh dari pengujian pada aplikasi yang dibuat oleh penulis. Tabel 4.1 BlackBox Testing No
Halaman
1.
SplashScreen
Tombol
Halaman/Fungsi yang dituju Menu Utama
Hasil Berhasil
Status Proses Loading
2.
Menu Utama
Menu Utama
Berhasil
3.
Menu Utama
Exit
Exit
Berhasil
4.
Menu Utama
Bantuan
Bantuan
Berhasil
5.
Menu Utama
Tentang
Tentang
Berhasil
6.
Menu Utama
Enkripsi
Enkripsi
Berhasil
7.
Menu Utama
Dekripsi
Dekripsi
Berhasil
8.
Enkripsi
Browse
Membuka jendela pencarian
Berhasil
file yang akan di proses enkripsi 9.
Enkripsi
Buat
Buat tandatangan MD5 (32
Tandatang
karakter)
Berhasil
an MD5 10.
11.
Enkripsi
Enkripsi
Enkripsi
Melakukan proses enkripsi
RC4
RC4
Buat Kunci
Melakukan proses buat kunci
RSA
RSA dengan membangkitkan
Berhasil
Enkripsi Berhasil
Berhasil
dan menampilkan kunci yang telah dibuat 12.
Enkripsi
Enkripsi
Melakukan proses enkripsi
RSA
RSA
Berhasil
Enkripsi Berhasil
13.
Enkripsi
Reset
Membersihkan Text Field
Berhasil
14.
Enkripsi
Simpan
Melakukan proses Simpan
Berhasil
Simpan Berhasil
15.
Dekripsi
Dekripsi
Melakukan proses dekripsi
RSA
RSA untuk membuka kunci
Berhasil
RC4 16.
Dekripsi
Browse
Membuka jendela pencarian
Berhasil
file yang akan di proses dekripsi 17.
Dekripsi
Dekripsi
Melakukan proses dekripsi
RC4
RC4
Berhasil
Enkripsi Berhasil
15
18.
Dekripsi
Buat
Buat tandatangan MD5 (32
Tandatang
karakter)
Berhasil
an MD5 19.
Dekripsi
Reset
Membersihkan Text Field
Berhasil
20.
Dekripsi
Simpan
Melakukan proses Simpan
Berhasil
Simpan Berhasil
4.2.4
Hasil Pengujian Aplikasi Proses akhir dari pembuatan aplikasi ini adalah ujicoba aplikasi. Aplikasi diujicobakan pada
komputer atau laptop dengan spek yang berbeda untuk mendapatkan hasil dan kinerja aplikasi yang telah dibuat. Apakah aplikasi dapat berjalan di komputer atau laptop yang berbeda atau tidak. Selain spek komputer yang berbeda, parameter lain yang diujikan adalah kecepatan enkripsi dengan ukuran file yang berbeda dalam satu komputer atau laptop. Tabel 4.2 Hasil Ujicoba Aplikasi Pada Spek Komputer Yang Berbeda No
Spek Komputer Intel® Pentium RAM
1
1,00 GB Intel Core 2 Duo
2
RAM 2 GB Intel Core i3 RAM 4
3
GB Intel Core i5 RAM 4
4
GB IntelCore i7 RAM 4
5
GB
0.6
Status
Ukuran File
Berjalan
2.147 KB
Berjalan
2.147 KB
Berjalan
2.147 KB
Berjalan
2.147 KB
Berjalan
2.147 KB
Enkripsi
Dekripsi
0,4863375486
0,2673890986
detik
detik
0,2740855486
0,1522378027
detik
detik
0,1978036673
0,0927836733
detik
detik
0,1285007686
0,0363782909
detik
detik
0,0215623076
0,0204544486
detik
detik
Grafik Kecepatan Enkripsi dan Dekripsi Pada Komputer Yang Berbeda
0.5 0.4 0.3
Enkripsi Dekripsi
0.2 0.1 0 Core i7
Core i5
Core i3
Core 2 Duo
16
Pentium
Gambar 4.8 Grafik Kecepatan Enkripsi dan Dekripsi Pada Komputer Yang Berbeda Tabel 4.3 Hasil Kecepatan Enkripsi Dengan Ukuran File Berbeda No
Ukuran File Yang Digunakan
Waktu Yang diperlukan
Keterangan
1
17 KB
0,0008574434 detik
Berhasil
2
508 KB
0,1530656308 detik
Berhasil
3
899 KB
0,2863375381 detik
Berhasil
4
1.009 KB
0,3199263098 detik
Berhasil
5
2.147 KB
0,4863375486 detik
Berhasil
6
3.657 KB
0,5779066106 detik
Berhasil
7
4.696 KB
0,9744528098 detik
Berhasil
Enkripsi 1.2 1 0.8 0.6 0.4 0.2 0
Enkripsi
Gambar 4.9 Grafik Kecepatan Enkripsi Pada Ukuran File Yang Berbeda Berdasarkan Hasil proses pengujian kecepatan enkripsi dan dekripsi pada spek komputer yang berbeda yang telah dilakukan pada perangkat dengan prosesor intel® Pentium® B940 @2,0 GHz dan dengan memory 2 Gb, dapat dilihat bahwa kecepatan proses antara spek komputer
yang satu
dengan yang lainnya sangat berbeda sehingga dapat disimpulkan bahwa semakin tinggi spek komputer yang digunakan maka semakin cepat pula proses enkripsi dan dekripsinya. Begitu juga dengan tabel 4.3 dapat disimpulkan bahwa semakin besar file yang dienkripsi maka semakin lama pula proses enkripsinya. 5. PENUTUP 5.1 Kesimpulan 1. Pengamanan sebuah dokumen yang bersifat rahasia dengan cara enkripsi dan dekripsi menggunakan hybrid cryptosystem yaitu dengan algoritma RC4, RSA dan MD5 yaitu dengan cara membuat aplikasi yang bernama “SecureDoc” berbasis Java. Aplikasi ini mampu meningkatkan keamanan dalam mengirim dokumen rahasia dengan cara enkripsi dan dekripsi karena RC4 digunakan sebagai pengamanan data, RSA sebagai pengamanan kunci dan MD5 sebagai integritas data.
17
2. Membangun aplikasi “hybrid cryptosystem untuk pengamanan e-dokumen menggunakan algoritma RC4, RSA dan MD5” telah berhasil dibuat. Aplikasi yang dibangun ini dapat melakukan proses enkripsi dan dekripsi file / dokumen serta aplikasi ini dibuat menggunakan bahasa pemrograman Java. Hasil dari pengujian yang telah dilakukan dapat disimpulkan bahwa aplikasi telah mampu menampilkan dan melakukan proses enkripsi dan dekripsi pada suatu dokumen atau file. 3. Setelah dilakukan pengujian yang telah dilakukan oleh penulis, kinerja dari aplikasi ini dapat disimpulkan bahwa semakin besar ukuran file yang dienkripsi maka semakin lama prosesnya dan semakin tinggi spek komputer yang digunakan maka semakin cepat pula proses enkripsi dan dekripsi yang diproses dalam aplikasi SecureDoc. 4. Aplikasi ini didesain user friendly sehingga mudah digunakan, karena tampilannya yang menarik serta terdapat menu panduan penggunaan aplikasi yang dapat membantu. Aplikasi ini juga dibuat melalui tahap analisis yaitu dengan menggunakan analisis kebutuhan dan analisis kelayakan, setelah itu tahap perancangan yaitu dimulai rancangan aplikasi dan rancangan interface serta implementasi dan pengujian sistem atau aplikasi. 5.2 Saran 1. Tampilan aplikasi bisa menjadi daya tarik khusus, sehingga penambahan theme atau tema pada aplikasi sehingga aplikasi tidak membosankan. Bisa ditambahkan pilihan bahasa seperti Bahasa Inggris dan yang lainnya untuk memudahkan pengguna, karena yang digunakan saat ini hanya Bahasa Indonesia. 2. Ekstensi file yang dapat di enkripsi lebih banyak karena dalam penelitian ini file yang dienkripsi hanya teks dalam ekstensi .docx. 3. Maksimal file yang dapat dienkripsi saat ini maksimal 5MB sehingga bisa ditambah lagi untuk kapasitasnya. 4. File yang dienkripsi sebaiknya merupakan file yang benar-benar perlu untuk dilindungi, seperti file informasi pribadi, file yang berhubungan dengan pekerjaan / proyek, file data-data transaksi keuangan, serta file sejenis agar penggunaan aplikasi ini tepat sasaran. 5. Saat ini aplikasi hanya dapat dijalankan dengan baik di sistem operasi berbasis window yang terintegritas dengan java karena keterbatasan yang dimiliki oleh penulis. Sehingga untuk keperluan pengembangan selanjutnya diharapkan dapat diimplementasikan di sistem operasi lain yang dapat diintegritaskan dengan java. 6. Diharapkan juga untuk pengembangan selanjutnya dapat mengintegritasikan aplikasi ini dengan database online yang digunakan untuk menyimpan kunci dan juga password yang terenkripsi sehingga sewaktu-waktu dapat digunakan guna menghindari adanya kejadian file kunci yang terenkripsi terhapus secara tidak sengaja.
18
DAFTAR PUSTAKA Ariyus, Dony. 2006. Computer Security. Penerbit Andi : Yogyakarta Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi : teori, analisis dan implementasi Penerbit Andi : Yogyakarta Fatta Al, Hanif. 2007. Analisis dan Perancangan Sistem Informasi untuk Keunggulan Bersaing Perusahaan dan Organisasi Modern. Penerbit Andi: Yogyakarta, hal 91 Fauziah,
Yuli.
2008.
Pengamanan
Pesan
Dalam
Editor
Teks
Menggunakan
Hybrid
Cryptosystem.Seminar nasional Informatika 2008 (SemNasIF 2008) ISSN: 1979-2328 Yogyakarta, 24 Mei 2008 G.Sri Hartati, B.Herry Suharto,M.Soesilo Wijono 2007. Pemrograman GUI Swing Java
dengan
NetBeans 5. Penerbit ANDI : Yogyakarta Hasan, Alwi, dkk. 2000. Tata Bahasa Baku Bahasa Indonesia (Edisi Ketiga). Balai Pustaka : Jakarta. Kristanto, Andri. 2003.Keamanan Data Pada Jaringan Komputer. Penerbit Gava Media : Yogyakarta Kurniawan, Yusuf. 2004. Kriptografi Keamanan Internet dan Jaringan Komunikasi. Cetakan Pertama.Informatika : Bandung Munir, R. 2006. Kriptografi. Informatika, Bandung. Nugroho, Adi. 2009. Rekayasa Perangkat Lunak mwnggunakn UML dan JAVA. Penerbit Andi: Yogyakarta, hal 7 Rangkuti, Freddy. 2005. Analisa SWOT Teknik Membedah Kasus Bisnis. PT.Gramedia Pustaka: Jakarta. Soesilo Wijono, Matius, dkk. 2005. Java 2 SE dengan JBuilder. ANDI : Yogyakarta
19