Penerapan Metode Enkripsi Vigenere Cipher dengan Mode Operasi Cipher Block Chaining dalam Aplikasi Pengiriman Pesan Singkat pada Telepon Genggam Berbasis J2ME
SKRIPSI Diajukan sebagai salah satu syarat untuk memperoleh Gelar Sarjana Informatika Jurusan Teknik Informatika
Oleh:
Hendro NIM: 07110030
STMIK JIBES Sekolah Tinggi Manajemen Informatika dan Komputer JIBES Jakarta Desember, 2011 i
LEMBAR PENGESAHAN
Penerapan Metode Enkripsi Vigenere Cipher dengan Mode Operasi Cipher Block Chaining dalam Aplikasi Pengiriman Pesan Singkat pada Telepon Genggam Berbasis J2ME
Diajukan Oleh: Hendro NIM: 07110030
DISETUJUI Jakarta, 7 Desember 2011
Dr. Ing. Kondar Siahaan Pembimbing Pertama
Paulus Y. E. Fanggidae, SE., MM Penguji Pertama
F. Anthon Pangruruk, S.Si., M.Si Penguji Kedua
STMIK JIBES Sekolah Tinggi Manajemen Informatika dan Komputer JIBES Jakarta Desember, 2011 ii
ABSTRAK
Hendro/ 07110030/ Penerapan Metode Enkripsi Vigenere Cipher dengan Mode Operasi Cipher Block Chaining dalam Aplikasi Pengiriman Pesan Singkat pada Telepon Genggam Berbasis J2ME/ Pembimbing: Dr. ing. Kondar Siahaan. Masalah keamanan dan kerahasiaan data merupakan hal yang sangat penting dalam suatu organisasi maupun pribadi. Apalagi kalau data tersebut berada dalam sebuah pesan singkat yang dikirim melalui layanan SMS pada telepon genggam. Dengan menggunakan layanan SMS, penggunanya dapat saling bertukar pesan teks dengan pengguna lain. Oleh karena itu, data yang sangat penting tersebut tidak boleh dilihat atau dibajak oleh pihakpihak yang tidak berkepentingan. Sebab kalau hal ini sampai terjadi kemungkinan kerahasiaan data kita akan rusak bahkan bisa hilang yang dapat menimbulkan kerugian yang besar. Pada penulisan tugas akhir ini akan dibahas sistem keamanan pengiriman pesan atau data dengan menggunakan penyandian yang bertujuan untuk menjaga kerahasiaan suatu pesan dari akses orang-orang yang tidak berhak. Kriptografi menggunakan algoritma Vigenere Cipher dengan mengadopsi cara kerja mode operasi Cipher Block Chaining (CBC) merupakan salah satu metode dari sekian banyak metode pengamanan data. Aplikasi ini meliputi fitur untuk enkripsi dan dekripsi data, yang dibuat dengan menggunakan teknologi J2ME. Pengembangan algoritma Vigenere Chiper dengan mode operasi CBC ini akan menghasilkan suatu metode baru yang penulis sebut dengan nama Vigenere Chiper+, pada metode ini kelemahan-kelemahan yang ada pada algoritma Vigenere Chiper akan diperbaiki. Kata kunci : Kriptografi, Enkripsi, Dekripsi, Vigenere Cipher, CBC, J2ME
iii
ABSTRACT
Hendro/ 07110030/ Applying Vigenere Cipher Encryption Method with Cipher Block Chaining Mode Operation in Short Messaging Application on Mobile Phones Using Java2 Micro Edition/ Advisor : Dr. ing. Kondar Siahaan. Data security’s problem is the important thing in organization or personal area. Especially, if the data is within a short message sent via SMS service on mobile phones. By using the SMS, users can exchange text messages with other users. Therefore, the data have to protected by unregistered user, to protect from either data damaged or lossed. The aim of this research is how to secure the data, and security of sending message from the unregistered user. Cryptography using Vigenere Chipher algorithm were adapted Cipher Block Chaining (CBC) mode operation is the one of security methods. These application though data encryption and decryption using J2ME (Java2 Micro Edition). Combining Vigenere Cipher and CBC mode operation will produce new method named Vigenere Cipher+ that repair the disadvantages of Vigenere Cipher. Keywords : Cryptography, Encryption, Decryption, Vigenere Cipher, CBC, J2ME
iv
HALAMAN PERSEMBAHAN
Skripsi Ini Saya ` Persembahkan Untuk: TUHAN YANG MAHA ESA ORANG TUA DAN SEGENAP KELUARGA SAHABAT DAN TEMAN-TEMAN
v
KATA PENGANTAR
Terima kasih kepada Tuhan Yang Maha Esa karena cinta kasih Nya sehingga penulis dapat menyelesaikan tugas akhir ini yang berjudul “Penerapan Metode Enkripsi Vigenere Cipher dengan Mode Operasi Cipher Block Chaining dalam Aplikasi Pengiriman Pesan Singkat pada Telepon Genggam Berbasis J2ME”. Penulisan tugas akhir ini dibuat sebagai salah satu syarat kelulusan bagi mahasiswa pada jenjang pendidikan Strata-1 (gelar sarjana) jurusan Teknik Informatika di Sekolah Tinggi Manajemen Informatika dan Komputer JIBES. Dalam penulisan tugas akhir ini, penulis telah mendapatkan banyak bantuan, bimbingan, saran serta dukungan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan banyak terima kasih kepada : 1. Orang tua dan segenap keluarga besar penulis yang telah memberikan dukungan moral dan material dalam menyelesaikan tugas akhir ini. 2. Bapak Paulus Y. E. Fanggidae, SE., MM selaku Ketua STMIK JIBES dan Bapak F. Anthon Pangruruk, S.Si., M.Si selaku Sekretaris Jurusan Program Studi Teknik Informatika STMIK JIBES. 3. Bapak Dr. Ing. Kondar Siahaan selaku dosen pembimbing yang telah memberikan masukan, ide-ide dan telah bersedia meluangkan waktu bagi penulis dalam mengerjakan tugas akhir ini. 4. Seluruh dosen dan pihak STMIK JIBES yang turut membantu penulis dalam mengerjakan tugas akhir ini. 5. Hendrik, Belly, Ferdian, Venny Tjahyadi, Gerry Wangsa dan Andrew Setiadi selaku saudara penulis yang selalu memberikan dukungan motivasi dan ide-ide dalam pembuatan tugas akhir ini.
vi
6. Seluruh angkatan 2007 di STMIK JIBES yang sudah berjuang bersama-sama selama masa kuliah. Penulis sadar bahwa masih banyak kekurangan dalam penulisan laporan tugas akhir ini, untuk itu penulis mengharapkan saran serta kritik yang membangun dari pembaca. Penulis berharap bahwa tugas akhir ini dapat menginspirasi orang lain sehingga dimasa mendatang tugas akhir ini dapat dikembangkan lebih lanjut dan semoga tugas akhir ini dapat bermanfaat bagi kita semua.
Jakarta, 7 Desember 2011
Penulis
vii
DAFTAR ISI
HALAMAN JUDUL............................................................................................... i LEMBAR PENGESAHAN.................................................................................... ii ABSTRAK............................................................................................................... iii ABSTRACT.............................................................................................................. iv HALAMAN PERSEMBAHAN.............................................................................. v KATA PENGANTAR............................................................................................. vi DAFTAR ISI............................................................................................................ viii DAFTAR TABEL.................................................................................................... xiv DAFTAR GAMBAR............................................................................................... xv BAB I
PENDAHULUAN...............................................................................
1
A. Latar Belakang Masalah.................................................................. 1 B. Rumusan Masalah............................................................................ 2 C. Batasan Masalah.............................................................................
3
D. Tujuan Penelitian............................................................................. 4 E. Manfaat Penelitian.........................................................................
4
F. Sistematika Penulisan..................................................................... 5 BAB II
LANDASAN TEORI..........................................................................
7
A. Perangkat Mobile .............................................................................. 7 B. SMS (Short Messaging Service)........................................................ 8 C. Pembahasan Umum Java................................................................... 9 1. Sejarah Java................................................................................. 9 2. Teknologi Java............................................................................ 10 D. J2ME (Java2 Micro Edition)............................................................. 11 1. Pengertian J2ME.......................................................................... 11 viii
2. Configuration.............................................................................. 12 3. Profile......................................................................................... 13 4. CLDC......................................................................................... 13 5. CDC (Connected Device Configuration) .................................. 14 6. MIDP.......................................................................................... 15 7. MIDlet........................................................................................ 16 a. Daur Hidup MIDlet............................................................... 16 b. Arsitektur Aplikasi MIDlet................................................... 19 8. Event.......................................................................................... 20 9. Package Aplikasi MIDlet.......................................................... 21 10. Port............................................................................................ 21 11. Method....................................................................................... 22 12. Package java.util........................................................................ 22 13. Package javax.microedition.lcdui.............................................. 22 14. Package javax.microedition.io................................................... 22 15. Package javax.microedition.midlet.............................................. 22 16. Package javax.microedition.messaging..................................... 22 17. MIDlet suites............................................................................. 22 E. J2ME Wireless Toolkit..................................................................... 23 F. Kriptografi....................................................................................... 23 1. Pengertian Kriptografi .............................................................. 23 2. Prinsip-Prinsip Kriptografi......................................................... 25 G. Algoritma Simetris........................................................................... 26 H. Algoritma Asimetris......................................................................... 27 I. Metode Enkripsi Vigenere Cipher..................................................... 29
ix
J. Mode Operasi Cipher Block Chaining (CBC) ............................... 32 K. Rekayasa Perangkat Lunak.............................................................. 34 1. Daur Hidup Pengembangan Sistem.......................................... 34 a. Tahap Perencanaan............................................................. 36 b. Tahap Analisis ................................................................... 36 1) Bagan Alir (Flowchart)................................................. 36 2) Diagram Aliran Data (Data Flow Diagram(DFD)).....
39
a) Diagram Konteks.................................................... 40 b) Diagram Nol/Zero................................................... 40 c) Diagram Rinci.......................................................... 40 3) Tabel Keputusan (Decision Table)................................ 41 a) Condition Stub......................................................... 41 b) Condition Entry....................................................... 41 c) Action Stub.............................................................
41
d) Action Entry............................................................. 42
2.
c. Tahap Perancangan...........................................................
42
d. Tahap Implementasi...........................................................
42
Metodologi Waterfall............................................................... 43
L. Black Box Testing........................................................................... 45 M. Sistem Operasi Symbian................................................................
46
1. Arsitektur Symbian OS.............................................................
46
2. Komponen Symbian OS............................................................. 47 BAB III
ANALISIS KEBUTUHAN DAN PERANCANGAN......................... 50 A.
Metodologi Penelitian…................................................................ 50
B.
Analisis Kebutuhan…................................................................... 51
x
1. Spesifikasi Perangkat Lunak .................................................... 52 2. Kebutuhan Perangkat Lunak..................................................... 53 3. Kebutuhan Perangkat Keras...................................................... 53 C.
Pemodelan Sistem.......................................................................... 55 1. Diagram Konteks.. .................................................................... 55 2. Diagram Level Nol.................................................................... 56
D.
Perancangan Aplikasi.................................................................... 58 1. Perancangan Sistem ................................................................. 58 2. Cara Kerja Aplikasi ................................................................
59
3. Perancangan Fungsi ................................................................ 60 a. Fungsi Wireless Messaging................................................. 60 1) Fungsi Buka Koneksi...................................................
60
2) Fungsi Mengirim Pesan.................................................. 61 3) Fungsi Menerima Pesan.................................................. 61 4) Fungsi Menutup Koneksi................................................ 61 5) Fungsi Laporan Pesan Terkirim...................................... 62 b. Fungsi Kriptografi................................................................ 62 1) Fungsi Enkripsi Pesan...................................................
62
2) Fungsi Dekripsi Pesan...................................................
62
4. Bagan Alir Aplikasi (Flowchart) ............................................
63
5. Tabel Keputusan ...................................................................... 65 6. Rancangan Antarmuka ............................................................. 66 a. Rancangan Form untuk Mengirim Pesan.............................. 66 b. Rancangan Form untuk Menerima Pesan............................
67
c. Rancangan Form untuk Laporan Terkirim............................ 69
xi
d. Rancangan Form untuk Error Message............................... 69 e. Rancangan Form untuk Detail Pesan.................................... 70 BAB IV
IMPLEMENTASI, PENGUJIAN DAN ANALISIS HASIL.............
71
A. Implementasi Fungsi....................................................................... 71 B. Implementasi Rancangan Antarmuka............................................. 79 1. Implementasi Tampilan Menu Utama....................................... 79 2. Implementasi Tampilan Submenu About................................
80
3. Implementasi Tampilan Form Mengirim Pesan......................
81
4. Implementasi Menu Perintah pada Form Mengirim Pesan....... 82 5. Implementasi Tampilan Form Menerima Pesan...................... 83 6. Implementasi Menu Perintah pada Form Penerima Pesan........ 84 7. Implementasi Tampilan Menu Detail SMS.............................
85
8. Implementasi Tampilan Laporan Pesan Terkirim .................... 86 9. Implementasi Tampilan Form untuk Pesan Error.................... 87 C. Pengujian......................................................................................
88
1. Lingkungan Pengujian Aplikasi............................................... 88 2. Materi Pengujian...................................................................... 89 3. Pelaksanaan Pengujian.............................................................. 90 D. Analisis Hasil................................................................................. 98 1. Analisis untuk Enkripsi Pesan SMS......................................... 98 2. Analisis untuk Dekripsi Pesan SMS......................................... 100 BAB V
KESIMPULAN DAN SARAN...........................................................
104
A. Kesimpulan................................................................................... 104 B. Saran............................................................................................. 105 DAFTAR PUSTAKA............................................................................................. 106
xii
LAMPIRAN...........................................................................................................
xiii
108
DAFTAR TABEL
Tabel 2.1. Platform Java Versi 1.2........................................................................... 10 Tabel 2.2. Perbandingan CLDC dengan CDC......................................................... 14 Tabel 2.3. Status Siklus Hidup Sebuah MIDlet....................................................... 17 Tabel 2.4. Simbol-Simbol Flowchart...................................................................... 37 Tabel 2.5. Simbol Diagram Aliran Data................................................................. 40 Tabel 2.6. Tabel Keputusan.................................................................................... 42 Tabel 3.1. Spesifikasi Kebutuhan Perangkat Keras................................................ 53 Tabel 3.2. Spesifikasi Handphone Nokia 6600....................................................... 54 Tabel 3.3. Tabel Keputusan untuk Enkripsi Pesan................................................. 65 Tabel 3.4. Tabel Keputusan untuk Dekripsi Pesan................................................
65
Tabel 4.1. Rangkuman Hasil Pengujian Aplikasi SMS Kriptografi....................... 96
xiv
DAFTAR GAMBAR
Gambar 2.1. Arsitektur J2ME................................................................................
12
Gambar 2.2. API pada J2ME CLDC....................................................................
14
Gambar 2.3. MIDP User Interface........................................................................
15
Gambar 2.4. Alur Hidup MIDlet...........................................................................
16
Gambar 2.5. Proses Enkripsi/ Dekripsi Sederhana..……......................................
24
Gambar 2.6. Gambaran Kunci Simetris.................................................................
27
Gambar 2.7. Gambaran Kunci Asimetris................................................................ 28 Gambar 2.8. Bujur Sangkar Vigenere (Tabula Recta)............................................ 31 Gambar 2.9. Proses Enkripsi CBC.......................................................................... 33 Gambar 2.10. Proses Dekripsi CBC......................................................................... 34 Gambar 2.11. System Development Life Cycle (SDLC).......................................... 35 Gambar 2.12. Model Air Terjun (Waterfall Model)................................................. 43 Gambar 2.13. Arsitektur Symbian OS Versi 6.x...................................................... 47 Gambar 2.14. Skema Arsitektur Sistem Operasi Symbian....................................... 48 Gambar 3.1. Diagram Konteks Aplikasi SMS Kriptografi....................................
55
Gambar 3.2. Diagram Level Nol (DFD) Aplikasi SMS Kriptografi...................... 56 Gambar 3.3. Skema Sistem Kerja Aplikasi SMS Kriptografi...............................
59
Gambar 3.4. Flowchart untuk Kirim Pesan (SMS)................................................ 63 Gambar 3.5. Flowchart untuk Terima Pesan (SMS).............................................
64
Gambar 3.6. Form untuk Mengirim Pesan............................................................
66
Gambar 3.7. Form untuk Menerima Pesan............................................................
68
Gambar 3.8. Form Laporan Pesan Terkirim..........................................................
69
Gambar 3.9. Form untuk Error Message...............................................................
70
Gambar 3.10. Form untuk Detail Pesan.................................................................. 70 xv
Gambar 4.1. Halaman Utama IDE NetBeans Versi 6.5........................................
71
Gambar 4.2. Tampilan Menu Utama SMS Kriptografi pada Komputer...............
79
Gambar 4.3. Tampilan Menu Utama SMS Kriptografi pada Nokia 6600.............
79
Gambar 4.4. Tampilan Form About SMS Kriptografi pada Komputer…............
80
Gambar 4.5. Tampilan Form About SMS Kriptografi pada Nokia 6600…..........
80
Gambar 4.6. Tampilan Form Pengiriman Pesan pada Komputer........................... 81 Gambar 4.7. Tampilan Form Pengiriman Pesan pada Nokia 6600........................ 81 Gambar 4.8. Tampilan Menu Perintah Form Pengirim Pesan pada Komputer…... 82 Gambar 4.9. Tampilan Menu Perintah Form Pengirim Pesan pada Nokia 6600…...82 Gambar 4.10. Tampilan Form Penerima Pesan pada Komputer............................... 83 Gambar 4.11. Tampilan Form Penerima Pesan pada Nokia 6600............................. 83 Gambar 4.12. Tampilan Menu Perintah Form Penerima Pesan pada Komputer.......84 Gambar 4.13. Tampilan Menu Perintah Form Penerima Pesan pada Nokia 6600.... 84 Gambar 4.14. Tampilan Form Detail SMS pada Komputer…………..…………... 85 Gambar 4.15. Tampilan Form Detail SMS pada Nokia 6600………...…………... 85 Gambar 4.16. Tampilan Form Laporan Pesan Terkirim pada Komputer................. 86 Gambar 4.17. Tampilan Form Laporan Pesan Terkirim pada Nokia 6600............. 86 Gambar 4.18. Tampilan untuk FormError pada Komputer.................................... 87 Gambar 4.19. Tampilan untuk FormError pada Nokia 6600.................................. 87 Gambar 4.20. Proses Pengiriman Pesan SMS.......................................................... 91 Gambar 4.21. Proses Penerimaan Pesan SMS.......................................................... 92 Gambar 4.22. Proses Enkripsi Pesan....................................................................... 93 Gambar 4.23. Proses Dekripsi Pesan SMS............................................................. 93 Gambar 4.24. Tampilan Pesan Error....................................................................... 94 Gambar 4.25. Tampilan Laporan Terkirim.............................................................. 95
xvi
Gambar 4.26. Tampilan Detail Pesan SMS............................................................ 96
xvii