APLIKASI ENKRIPSI SMS BERBASIS J2ME MENGGUNAKAN
VIGENERE CHIPER
Di Susun Oleh
DIANING RAHMA GAYATRI DAUD
NPM: 0534010083
Telah dipertahankan dihadapan dan diterima oleh tim Penguji Tugas Akhir Program Studi Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional “VETERAN” Jawa Timur pada tanggal 25 Februari
2011
Pembimbing, Tim Penguji,
1. 1.
Gede Susrama, ST, M.Kom Nur Cahyo Wibowo, S.Kom,M.Kom
NPT : 37006 060 210 NIP : 37903040197
2. 2.
Chrystia Aji Putra, S.Kom Gede Susrama, St, M.Kom
NPT : 386101002961 NPT : 37006 060 210
Dekan Fakultas Teknologi Industri
Universitas Pembangunan Nasional “ VETERAN” Jawa Timur
APLIKASI ENKRIPSI SMS BERBASIS J2ME MENGGUNAKAN
VIGENERE CHIPER
Di Susun Oleh
DIANING RAHMA GAYATRI DAUD
NPM: 0534010083
Telah Disetujui Mengikuti Ujian Negara Lesan Gelombang 3 Tahun Akademik 2010 / 2011
Pembimbing Utama : Pembimbing Pendamping :
Gede Susrama, ST, M.Kom Chrystia Aji Putra, S.Kom
NPT : 37006 060 210 NPT : 386101002961
Mengetahui,
Ketua Program Studi Teknik Informatika Fakultas teknik Industri
Universitas Pembangunan Nasional “VETERAN” Jawa Timur
KETERANGAN REVISI
Kami yang bertanda tangan di bawah ini menyatakan bahwa mahasiswa berikut : Nama : DIANING RAHMA GAYATRI DAUD
NPM : 0534010083 Jurusan : Teknik Informatika
Telah mengerjakan revisi / tidak ada revisi *) pra rencana (design) / skripsi ujian lisan gelombang III, TA 2010 / 2011 dengan judul :
“
APLIKASI ENKRIPSI SMS BERBASIS J2ME
MENGGUNAKAN VIGENERE CHIPER”
Surabaya. Juni 2011 Dosen Penguji yang memeriksa revisi
1) Nur Cahyo Wibowo, S.Kom,M.Kom { }
Dosen Pembimbing Utama Dosen Pembimbing Pendamping
telekomunikasi yang sangat terkenal adalah Short Message Service (SMS). Dengan menggunakan SMS, penggunanya dapat saling bertukar pesan teks dengan pengguna lain.
Pada tugas akhir ini dikembangkan sebuah aplikasi pada telepon selular untuk memodifikasi pesan SMS menjadi cipherteks agar isi informasi dari SMS tersebut tidak diketahui oleh orang lain. Untuk pengiriman SMS sistem mengenkripsi pesan menjadi cipherteks menggunakan key yang diinputkan oleh pengirim kemudian mengirimkan ke nomor tujuan. Untuk penerimaan SMS sistem mendekripsi cipherteks menjadi plainteks menggunakan key yang diinputkan oleh penerima kemudian menampilkan pesan asli kepada penerima. Aplikasi ini dapat dimanfaatkan oleh seseorang yang ingin mengirimkan suatu informasi rahasia kepada orang lain melalui SMS tanpa takut informasi dari pesan tersebut akan diketahui oleh orang lain. Metode yang digunakan sistem dalam mengenkripsi dan mendekripsi pesan adalah metode enkripsi substitusi vigenere cipher dan implementasinya menggunakan bahasa pemrograman Java 2 Micro Edition (J2ME).
ABSTRAK ……….... i
KATA PENGANTAR ……….. ii
DAFTAR ISI ………. iv
DAFTAR TABEL ……….. x
DAFTAR GAMBAR ………... xi
BAB I PENDAHULUAN ………... 1
1.1 Latar Belakang ……… 1
1.2 Rumusan Masalah ……….….. 3
1.3 Batasan Masalah ………. 4
1.4 Tujuan penelitian ………..…….. 5
1.5 Manfaat Penelitian ……….. 5
1.6 Metode Penelitian ……….. 7
1.6.1 Metode Pengumpulan Informasi dan Data ………….. 7
1.6.2 Metode Pengembangan Sistem ……… 7
1.7 Sistematika Penulisan ……….. 8
v
2.2.1 Jaringan SMS ………... 14
2.2.2 Skenario Pengiriman SMS ……… 17
2.2.3 Stuktur Pesan SMS ………... 18
2.3 Pembahasan Umum JAVA ……….. 19
2.3 JAVA 2 Platform Micro Edition (J2ME) ……… 21
2.4.1 Sekilas tentang J2ME ………... 21
2.4.2 JAVA Messaging ………... 22
2.4.3 J2ME Profile ……… 23
2.4.4 Kilo Virtual Machine (KVM) ……….. 25
2.4.5 MIDlets………... 25
2.4.5.1 Daur hidup MIDlet ………... 25
2.4.5.2 Emulator Perangkat MIDlet ………. 26
2.4.6 Java Application Description ……….. 27
2.5 RMS ………... 28
2.6 Vigenere Chiper ………. 28
3.1 Fase menentukan Tujuan dan Syarat-syarat informasi………… 38
3.1.1 Mendefinisikan masalah ………... 38
3.1.2 Analisa Struktur SMS ………... 39
3.1.2.1 Analisa Penerapan Vigenere chipper ………. 40
3.1.2.2 Analisis Dampak Sistem ……… 41
3.1.3 Analisis Kebutuhan Perangkat Lunak ……….. 44
3.1.3.1 Deskripsi Umum Sistem ……… 44
3.1.3.2 Analisis Spesifikasi dan Kebutuhan Perangkat Lunak ………. 48
3.2 Fase Perancangan ……… 50
3.2.1 Use Case ……….. 51
3.2.1.1 Use Case Diagram ………. 51
3.2.1.2 Definisi Use Case ……….. 52
3.2.1.3 Definisi Aktor ……… 53
3.2.1.4 Class Diagram ……… 53
vii
3.2.2.4 Form Halaman Tulis Pesan Baru …………...65
3.2.2.5 Form Halaman Laporan Hasil Pesan terenkripsi ……….66
3.2.2.6 List Halaman Daftar Record Pesan Keluar ….68 3.2.2.7 Form Halaman Detail Pesan Keluar ………...70
3.2.2.8 Form Halaman Pesan Masuk ………..71
3.2.2.9 Form Halaman Laporan Hasil Pesan ………..73
3.2.2.10 List Halaman Daftar Record Pesan Masuk ..75
3.2.2.11 Form Halaman Detail Pesan Masuk ……….76
3.2.2.12 Form Halaman Administrator ………..77
3.2.2.13 List Halaman Lihat Admin ………..79
BAB IV HASIL DAN PEMBAHASAN……….. 80
4.1 Fase Konstruksi ………80
4.1.1 Form Halaman Utama ……….. 81
4.1.2 Form Halaman Login ……… 83
4.1.6 List Halaman Daftar Record Pesan Keluar……… 88
4.1.7 Form Halaman Detail Pesan Keluar ………. 90
4.1.8 Form Halaman Administrator ... 91
4.1.9 List Halaman Lihat Admin ... 92
4.4 Fase Pelaksanaan ………..93
4.4.1 Spesifikasi Ponsel yang digunakan ………...94
4.4.2 Transfer Aplikasi dari PC ke dalam Ponsel dan instalasi ……….95
BAB V UJI COBA DAN EVALUASI ……….. 97
5.1 Uji Coba Aplikasi ……….. 97
5.1.1 Form Halaman Utama ……….. 97
5.1.2 Form Halaman Login ……… 98
5.1.3 Form Halaman Menu SMS ………... 99
ix
5.1.7 Uji coba Kunci Enkripsi SMS ……… 102
5.1.8 Uji coba Kunci Deskripsi SMS ……….. 103
5.2 Analisis Hasil Pengujian... 104
BAB VI PENUTUP ……….. 106
6.1 Kesimpulan ……….. 106
6.2 Saran ………. 107
DAFTAR PUSTAKA
Table 3.2 Definisi Aktor ………..53
Tabel 3.3 Daftar Kelas Analisis dan Method Anslisis Aplikasi Enkripsi SMS …...54
Table 4.4 Tabel Spesifikasi Ponsel yang digunakan ………95
Table 5.1 Hasil Pengujian Kebenaran Enkripsi ………103
xi
Gambar 2.2 Jaringan SMS ………. 16
Gambar 2.3 Skenario pengiriman SMS ………. 17
Gambar 2.4 Struktur Pesan SMS ………... 18
Gambar 2.5 Hubungan antara J2EE, J2SE dan J2ME ………... 20
Gambar 2.6 Arsitektur High Level View J2ME ……… 21
Gambar 2.7 Posisi MIDP dalam Arsitektur J2ME ……… 24
Gambar 2.8 Posisi KVM pada Arsitektur J2ME ………... 25
Gambar 2.9 Diagram status daur hidup sebuah MIDlet ……… 26
Gambar 2.10 Contoh Emulator J2ME Wireless Toolkit 2.5.2 ……….... 27
Gambar 2.11 Penyimpanan Record dalam record store ………...28
Gambar 2.12 Potongan Bujur Sangkar Vigenere Chiper ……….29
Gambar 2.13 Bujur Sangkar Vigenere Chiper ……….30
Gambar 2.14 Notasi UML untuk actor ………... 33
Gambar 2.15 Notasi UML untuk Class ……….. 34
Gambar 2.16 Notasi UML untuk Use Case ………... 34
Gambar 2.21 Boundary Object ……… 37
Gambar 2.22 Entity Object ……….. 37
Gambar 2.23 Control Object ………37
Gambar 3.1 Proses Enkripsi dan Dekripsi Algoritma Vigenere chipper …………41
Gambar 3.2 Arsitektur Global system ………...45
Gambar 3.3 Skema Kerja Sistem ………... 47
Gambar 3.4 Use Case Diagram Enkripsi SMS ……….. 51
Gambar 3.5 Class Diagram Aplikasi SMS Enkripsi ………. 55
Gambar 3.6 Rancangan form Halaman Utama ………. 61
Gambar 3.7 Rancangan form Halaman Login ……….. 62
Gambar 3.8 Rancangan form HalamanMenu SMS ………... 63
Gambar 3.9 Rancangan form Halaman Tulis Pesan Baru ……… 65
Gambar 3.10 Rancangan form Halaman Laporan Hasil Pesan Terenkripsi ……... 66
Gambar 3.11 Rancangan list Halaman Daftar Record Pesan Keluar ………….…. 69
Gambar 3.12 Rancangan form Halaman Detail Pesan Keluar ……….70
xiii
Gambar 3.17 Rancangan form Halaman administrator ………... 78
Gambar 3.18 Rancangan form Halaman Lihat Admin ……… 79
Gambar 4.1 Perancangan Aplikasi menggunakan JCreator ……….. 81
Gambar 4. 2 Form Halaman Utama ……….. 82
Gambar 4. 3 Form Halaman Login ……… 83
Gambar 4.4 Form Halaman Menu SMS ……… 84
Gambar 4.5 Form Halaman Tulis Pesan Baru ………... 86
Gambar 4.6 Form Halaman Laporan Hasil Pesan Terenkripsi ………..87
Gambar 4.7 List Halaman Daftar Record Pesan Keluar ……… 89
Gambar 4.8 Form Halaman Detail Pesan Keluar ……….. 90
Gambar 4.9 Form Halaman Administrator ... 91
Gambar 4.10 List Halaman Lihat Admin ... 93
Gambar 4.11 Ponsel Nokia E71 dan Sony Ericson T700 ……… 94
Gambar 5.4 Form Halaman Tulis Pesan Baru ………. 100
Gambar 5.5 Form Halaman Pesan Masuk ………....101
Gambar 5.6 Form Halaman Pesan Keluar ………...… 102
Gambar 5.7 Pesan Terenkripsi ……… 102
Gambar 5.8 Deskripsi SMS ……… 103
1.1 Latar Belakang
Telepon selular merupakan suatu alat komunikasi yang sudah dipakai oleh sebagian besar orang di dunia. Telepon selular menyediakan media komunikasi yang beragam dan salah satu diantaranya adalah media SMS (Short Message Service). Telepon selular (ponsel) merupakan salah satu perangkat teknologi informasi yang sedang berkembang. Hal itu dibuktikan dengan perkembangan pasar penyedia layanan telepon selular di Indonesia bersamaan dengan tumbuhnya pasar permintaan akan jasa telekomunikasi bergerak. Salah satu fasilitas pada ponsel yang cukup signifikan adalah SMS (Short Message Service). SMS merupakan salah satu media yang paling banyak digunakan saat ini dikarenakan biayanya murah dan prosesnya cepat.
tersebut sering kali tidak mengetahui bahwa jalur komunikasi SMS memiliki banyak sekali celah yang memungkinkan untuk terjadinya serangan pada pesan teks yang dikirim. Pada saat kita mengirim pesan SMS dari ponsel, maka pesan SMS tersebut tidak langsung dikirim ke ponsel tujuan, akan tetapi terlebih dahulu dikirim ke SMS Center (SMSC) dengan prinsip Store and Forward (simpan dan teruskan), setelah itu baru dikirimkan ke ponsel tujuan.
Dengan tersimpannya pesan pada SMSC, maka penyerang bisa mendapatkan pesan dengan melakukan penyusupan pada SMSC tersebut. Proses pengiriman SMS dapat dilihat pada Gambar 1.1 di bawah ini :
Gambar 1.1 Proses Pengiriman SMS
pada pesan yang dikirimkan. Dengan terenkripsinya pesan maka informasi pesan teks yang dapat dicuri dari SMSC tersebut akan sulit diketahui isinya. Semakin berkembangnya teknologi telepon selular, dimana semakin banyaknya telepon selular yang memiliki memori cukup besar, maka implementasi enkripsi SMS pada telepon selular menjadi mungkin.
Salah satu metode enkripsi yang digunakan adalah metode Vigenere Cipher, yang akan meminta password untuk setiap SMS yang akan dikirimkan. Password yang diberikan akan men-generate isi berita SMS. Sehingga akan membentuk deretan kode yang hanya bisa dibaca oleh penerima yang mengetahui kode password yang bersangkutan. Vigenere Cipher mungkin adalah contoh terbaik dari Cipher alfabet-majemuk ’manual’ sangat dikenal karena mudah dipahami dan diimplementasikan.
Berangkat dari permasalahan di atas, penulis mencoba membuat suatu aplikasi untuk pengamanan data SMS dengan salah satu metode enkripsi di atas. Aplikasi tersebut diberi judul “Aplikasi Enkripsi SMS Berbasis J2ME Menggunakan Vigenere Cipher”.
1.2 Rumusan Masalah
a. Aplikasi yang dibuat menggunakan salah satu bidang ilmu kriptografi yaitu metode Vigenere Cipher.
b. Sebelum data dikirimkan kepada tujuan, aplikasi akan mengubahnya menjadi data rahasia dengan kode-kode tertentu. Data hanya penerima yang mengetahui kode yang sudah ditentukanlah yang bisa membuka isi pesan tersebut.
c. Aplikasi ini hanya dijalankan pada mobile devices yang sudah mendukung aplikasi seperti ponsel Nokia E71, Sony Ericsson T700. Sehingga Untuk pengujian dan pengimplementasian, penulis menggunakan ponsel yang sudah mendukung aplikasi JAVA. Dan untuk melihat simulasinya penulis menggunakan aplikasi pemrograman software J2ME Wireless Toolkit versi 2.5.2.
d. Aplikasi yang dibuat merupakan aplikasi tambahan pada ponsel.
1.3 Batasan Masalah
a. Input berupa pesan SMS.
b. Spesifikasi SMS (panjang 1 pesan SMS) hanya 160 karakter
1.4 Tujuan Penelitian
Ada beberapa maksud dan tujuan yang diharapkan bisa tercapai dari pembuatan Aplikasi yang dibuat, diantaranya adalah :
a. Aplikasi ini dapat digunakan untuk keamanan data khususnya pada SMS agar tidak mudah untuk dipahami oleh pihak-pihak lain yang tidak berkepentingan.
b. Memahami cara pembuatan aplikasi enkripsi dengan menggunakan software simulasi J2ME Wireless Toolkit versi 2.5.2.
c. Mendapat keamanan data pada SMS dengan menggunakan Metode Vigenere Cipher.
d. Memberdayakan pemrograman Java dalam membuat aplikasi kemanan data SMS menggunakan Metode Vigenere Cipher, sehingga dengan biaya yang murah (freeware) tetap akan mendapatkan program yang berkualitas dan banyak dibutuhkan masyarakat.
1.5 Manfaat Penelitian
1) Bagi Penulis :
a) Untuk memenuhi salah satu syarat dalam menempuh gelar S1 (Strata 1) pada Fakultas Teknologi industri Jurusan Teknik Informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur.
b) Menambah wawasan penulis tentang pemrograman Java khususnya J2ME dengan memanfaatkan Metode Vigenere Cipher untuk keamanan data khususnya pada SMS dan dapat menerapkannya langsung pada aplikasi mobile tersebut.
2) Bagi Pengguna :
a) Memberikan pengamanan data khususnya pada SMS agar suatu data tersebut dapat dijaga keamanannya serta tidak mudah untuk dibaca oleh pihak-pihak lain yang tidak berkepentingan dengan menggunakan perangkat mobile yang sudah mendukung aplikasi JAVA MIDP.
3) Bagi Universitas :
a) Mengetahui kemampuan mahasiswa dalam menguasai materi baik teori maupun praktek yang telah diperoleh selama masa kuliah.
b) Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan sebagai bahan evaluasi.
1.6 Metode Penelitian
Metodologi penelitian yang digunakan dalam penyusunan skripsi ini adalah sebagai berikut :
1.6.1 Metode Pengumpulan Informasi dan Data
Metode yang penulis lakukan untuk mendapatkan informasi dan data yaitu :
Studi Pustaka
Pengumpulan informasi dan data dengan cara mempelajari buku-buku referensi dan website yang dapat dijadikan acuan pembahasan dalam masalah ini.
1.6.2 Metode Pengembangan Sistem
a) Fase Perencanaan Syarat-syarat
Yaitu menentukan tujuan dan syarat-syarat informasi yang diperlukan sebelum membuat aplikasi yang dibuat.
b) Fase Perancangan
Yaitu melakukan perancangan proses-proses yang akan terjadi dalam sistem, perancangan kelas, dan perancangan antarmuka.
c) Fase Konstruksi
Pada tahapan ini dilakukan tahap pengkodean terhadap rancangan-rancangan yang telah didefinisikan.
d) Fase Pelaksanaan
Pada tahap ini dilakukan pengujian terhadap sistem yang akan dibuat.
1.7 Sistematika Penulisan
BAB I PENDAHULUAN
Pada bab ini akan dijelaskan tentang latar belakang masalah, perumusan masalah, batasan masalah, tujuan dan manfaat penelitian, metode penelitian serta sistematika penulisan yang digunakan untuk menyusun laporan tugas akhir.
BAB II TINJAUAN PUSTAKA
Bab ini akan menjelaskan teori tentang Kriptografi, SMS, Sekilas tentang Java, Pengertian/pengenalan J2ME serta device yang mendukung J2ME, Teknik Vigenere Cipher yang digunakan sebagai pembuatan aplikasi Enkripsi SMS.
BAB III ANALISA DAN PERANCANGAN SISTEM
Pada bab ini berisi uraian tentang metodologi penelitian yang meliputi metode pengumpulan data dan metode pengembangan sistem yang digunakan dalam penelitian. Meliputi pembuatan Rancangan Aplikasi.
BAB IV HASIL DAN PEMBAHASAN
menentukan tujuan dan syarat-syarat informasi, fase perancangan, fase konstruksi, dan fase pelaksanaan.
BAB V UJI COBA DAN EVALUASI
Pada bab ini akan membahas tentang uji coba dan evaluasi program yang menerangkan bagaimana jalannya program secara detail.
BAB VI PENUTUP
Bab ini berisi kesimpulan terhadap seluruh penyusunan skripsi yang telah dilakukan. Saran berisi apa yang penulis perlu sarankan mengenai hal-hal yang perlu diperbaiki dalam pembuatan aplikasi yang dibuat.
DAFTAR PUSTAKA
yang hanya diketahui oleh pihak pengirim dan penerima. Hasil akhir dari proses ini berupa cipherteks.
Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Ada dua jenis pesan yaitu plainteks (plaintext) dan cipherteks (ciphertext). Plainteks adalah pesan yang dapat langsung dibaca dan dimengerti artinya sedangkan cipherteks adalah pesan yang telah disandikan sehingga tidak bermakna lagi. Cipherteks bertujuan agar pesan tidak dapat dibaca oleh pihak yang tidak berhak.
Dalam kriptografi terdapat proses enkripsi yaitu proses menyandikan plainteks menjadi cipherteks yang disebut juga enciphering. Proses kebalikanya yaitu dekripsi. Dekripsi adalah mengembalikan cipherteks menjadi plainteks semula. Nama lain dari proses dekripsi adalah deciphering.
Berikut ilustrasi proses enkripsi dan dekripsi dapat dilihat pada Gambar 2.1 (Munir, 2006:6).
Gambar 2.1 Ilustrasi Proses Enkripsi dan Dekripsi
Cipherteks
Plainteks Kunci
Kunci
Secara matematis proses enkripsi dan dekripsi dapat digambarkan
E = fungsi enkripsi yang memetakan plainteks ke cipherteks D = fungsi dekripsi yang memetakan cipherteks ke plainteks
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu:
1. Kerahasiaan (confidentiality), adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.
2. Integritas data (data integrity), adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman.
pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication).
4. Nirpenyangkalan (non-repudiation), adalah layanan untuk mencegah suatu entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah melakukan pengiriman.
2.2 Short Message Service (SMS)
SMS adalah sebuah layanan yang memungkinkan pelanggan mengirimkan pesan teks ataupun suara ke pelanggan lain secara cepat dan bersifat pribadi. Pesan pertama kali dikirim via SMS pada tahun 1992 yaitu pada jaringan GSM Eropa. Teks yang dikirim melalui SMS berukuran maksimum 160 karakter (setiap karakter berukuran 7 bit) alfabet latin. Sementara itu pada alfabet yang lain seperti alfabet Cina, jumlah karakter yang dapat dikirim maksimum 70 karakter (setiap karakter berukuran 16 bit).
2.2.1 Jaringan SMS
terkenal di dunia adalah GSM (Global System for Mobile Communication).
Komponen yang digunakan oleh GSM dalam melakukan komunikasi SMS diantaranya :
1. Mobile Station merupakan perangkat mobile yang dapat mengirimkan SMS. Perangkat mobile tersebut dapat berupa telepon selular atau PDA (Personal Data Assistance).
2. ESME (External Short Messaging Entities) merupakan suatu perangkat yang dapat mengirimkan dan menerima SMS, pada umumnya menggunakan jaringan Internet. Contoh perangkat dan antar muka aplikasi ESME adalah email, portal SMS berbasis web, layanan voice mail, paging sistem dan aplikasi perangkat lunak lain.
3. BS (Base Station) menjadi antar muka antar jaringan komunikasi nirkabel dengan mobile station.
4. MSC (Mobile Service Switching Center) merupakan komponen utama pada komunikasi selular yang melakukan pengontrolan pertukaran informasi yang terjadi pada jaringan selular. Ragister HLR dan VLR akan membantu tugas dari MSC.
tentang pelanggan, termasuk layanan profile-nya, informasi lokasi dan status aktifitas.
6. VLR (Visitor Location Register) adalah basis data yang menyimpan sementara informasi tentang pelanggan.
7. SMSC (Short Message Service Center) merupakan tempat dimana SMS disimpan sebelum dikirimkan ke tujuan
Pada saat kita mengirim pesan SMS, pesan yang dikirim dari suatu mobile station atau ESME tidak langsung dikirim ke mobile station atau ESME tujuan, akan tetapi terlebih dahulu dikirim ke SMS Center (SMSC) dengan prinsip store and forward (simpan dan teruskan), setelah itu baru dikirimkan ke ponsel yang dituju. Untuk lebih jelas mengenai jaringan SMS dapat dilihat pada Gambar 2.2 . Interaksi antara mobile station dan jaringan tersebut adalah melalui BS.
2.2.2 Skenario Pengiriman SMS
Alur kerja SMS pada jaringan GSM, mulai dari pengiriman sampai adanya laporan pengiriman pesan dapat dilihat pada Gambar 2.3.
Operasi meminta pesan atau mentransfer pesan
Operasi berhasil meminta atau mentransfer pesan
Gambar 2.3 Skenario pengiriman SMS
Skenario pengiriman pesan SMS pada jaringan GSM dapat dijelaskan sebagai berikut:
1. Pesan dikirim dari SMC ke SMSC
2. SMSC menerima informasi routing dari HLR
4. MSC menerima infomasi pelanggan dari VLR (membutuhkan autentikasi)
5. MSC mengirim pesan kepada MS
6. MSC mengirim hasil operasi forward short message kepada SMSC
7. Jika diminta oleh SMC, SMSC akan mengirim delivery report kepada SMC
2.2.3 Struktur Pesan SMS
Struktur pesan pada sebuah SMS dapat dilihat pada Gambar 2.4 di bawah ini.
Gambar 2.4 Struktur Pesan SMS
diperlukan selama pengiriman pesan, seperti informasi validitas pesan, nomor pengirim, nomor penerima dan informasi-informasi lainya. Pada bagian message body, terdapat isi dari pesan yang akan dikirimkan.
Pada sebuah aplikasi penerimaan SMS pada telepon selular dikenal dengan nomor port, nomor port ini digunakan sebagai pengenal apabila terdapat dua buah atau lebih aplikasi penerimaan SMS pada sebuah telepon selular. Aplikasi penerimaan SMS tersebut akan menunggu pesan yang ditujukan pada nomor port tersebut. Untuk mengirimkan pesan pada port yang spesifik, pengirim harus menyertakan nomor port pada pesan yang dikirimkannya. Jika pengirim tidak menyertakan nomor port, seperti halnya yang dilakukan oleh aplikasi standar setiap telepon selular, maka pesan akan ditunjukan ke aplikasi standar yang dimiliki oleh setiap telepon selular atau aplikasi memiliki nomor port 0. Informasi nomor port tersebut dibawa bersama paket pesan yang dikirimkan oleh pengirim, oleh karena itu jika pengirim menyertakan informasi nomor port tujuan, maka panjang pesan maksimal yang dapat dikirimkan akan berkurang karena sebagian terpakai oleh informasi nomor port .
2.3 Pembahasan Umum JAVA
standalone ataupun pada komputer dalam lingkungan jaringan. JAVA2 adalah generasi kedua dari JAVA platform (generasi awalnya adalah Java Development
Kit). Java berdiri diatas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM ini yang akan membaca byte code dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa JAVA disebut sebagai bahasa pemprograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM.
Platform JAVA memilik tiga buah edisi yang berbeda yaitu J2EE (Java2
Enterprise Edition), J2SE (Java2 Second Edition) dan J2ME (Java2 Micro Edition) (M.Shalahuddin, Rosa A.S, 2006:4). Hubungan antara J2EE, J2SE dan J2ME dapat dilihat pada Gambar 2.5 di bawah ini.
Gambar 2.5 Hubungan antara J2EE, J2SE dan J2ME (Martin de Jode,
2.4 JAVA 2 Platform Micro Edition (J2ME)
2.4.1 Sekilas tentangJ2ME
Java 2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak JAVA pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi pada perangkat yang lainnya. J2ME biasa digunakan pada telepon seluler, pager, Personal Digital Assistance
(PDA’s) dan sejenisnya.
Arsitektur J2ME dapat dilihat pada Gambar 2.6 berikut
.
Gambar 2.6 Arsitektur High Level View J2ME (A.N Klingsheim,
2004:21)
Teknologi J2ME ditujukan untuk cakupan user yang luas sekali dari mulai handphone hingga set-top-box yang powerful seperti halnya sebuah komputer yang dilengkapi dengan J2SE atau J2EE. J2ME
1. Sebagaimana kekhasan aplikasi yang ditulis dengan bahasa pemrograman JAVA maka aplikasi J2ME memiliki ciri running
any where, any time, over any device.
2. Aplikasi dapat dijalankan secara on-line maupun off-line. 3. Memiliki kode yang portable.
4. Safe network delivery.
5. Aplikasi yang ditulis dengan J2ME akan memiliki kompatibilitas yang tinggi dengan platform J2SE dan J2EE
Tetapi selain memiliki beberapa keunggulan, teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat (device) yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak memiliki kamera maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera. Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori pada ponsel sangat terbatas.
2.4.2 JAVA Messaging
port). Message direpresentasikan dengan sebuah kelas yang mengimplementasi antarmuka pada paket
javax.wireless.Messaging. Antarmuka dasar untuk messaging yang terdapat dalam paket tersebut adalah antarmuka Message. Untuk bagian data pada message, API messaging ini mendukung dua jenis data yaitu text message dan binary message. Kedua jenis pesan ini direpresentasikan oleh subantarmuka dari antarmuka Message yaitu TextMessage dan BinaryMessage.
Untuk pengiriman dan penerimaan pesan, J2ME menyediakan antar muka MessageConnection. Antar muka ini menyediakan
method dasar untuk melakukan pengiriman dan penerimaan pesan. Instansiasi dari MessageConnection diperoleh dengan memanggil
method Connect.Open(). Setelah objek MessageConnection
terbentuk, pengiriman pesan dilakukan oleh objek tersebut dengan memanggil method send().
2.4.3 J2ME Profile
Salah satu profile yang terdapat dalam arsitektur J2ME adalah MIDP atau Mobile Information Device Profile.
Mobile Information Device Profile (MIDP)
MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profile J2ME.
Profile ini menambahkan networking, user interface components,
dan local storage pada CLDC. Profile ini ditujukan khususnya kepada
mobile device yang memiliki keterbatasan pada display dan fasilitas penyimpanan, dan oleh karena itu MIDP menyediakan user interface
yang relatif sederhana dan networking dasar yang berbasis HTTP 1.1. Posisi MIDP pada arsitektur J2ME dapat dilihat pada Gambar 2.7 di bawah ini.
Gambar 2.7 Posisi MIDP dalam Arsitektur J2ME (A.N Klingsheim,
2.4.4 Kilo Virtual Machine (KVM)
KVM atau Kilo Virtual Machine adalah paket JVM yang di desain untuk perangkat yang kecil. Posisi KVM pada arsitektur J2ME dapat dilihat pada Gambar 2.8 di bawah ini.
Gambar 2.8 Posisi KVM pada Arsitektur J2ME
2.4.5 MIDlets
Sebuah MIDlet adalah aplikasi JAVA yang didesain untuk dapat berjalan pada mobile device. Sebuah MIDlet terdiri dari satu atau lebih paket-paket MIDlet dan bersama-sama menggunakan suatu file JAVA
Archive (JAR).
2.4.5.1 Daur Hidup MIDlet
Gambar 2.9 Diagram Status Daur Hidup sebuah MIDlet
2.4.5.2 Emulator Perangkat MIDlet
SUN Microsystem telah menyediakan J2ME Wireless Toolkit (sering disingkat dengan J2ME WTK) untuk mengembangkan aplikasi dalam handphone.
Gambar 2.10 berikut ini adalah contoh J2ME Wireless Toolkit versi 2.5.2.
Gambar 2.10 Contoh Emulator J2ME Wireless Toolkit 2.5.2
2.4.6 Java Application Descriptor (JAD)
Digunakan untuk mendeskripsikan isi aplikasi untuk keperluan pemetaan. File JAD berisi deskripsi file JAR (Java Archive) dan pemetaan atribut MIDlet, sedangkan file JAR berisi kumpulan kelas dan
2.5 RMS
MIDlet tidak menggunakan file sistem untuk menyimpan data, tetapi menyimpan semua informasi dalam sebuah memori non-volatile (memori tetap) yang disebut Record Management System (RMS).
Tidak seperti DBMS (Database Management System) yang umum yang bisa bekerja pada field (kolom data), RMS bekerja hanya pada record (baris data). Masing-masing record terdiri dari recordID yaitu suatu nilai integer yang berperan sebagai key, dan sebuah array bertipe byte untuk menyimpan data. Sekumpulan record disebut dengan record store.
Di bawah ini adalah gambar yang menjelaskan penyimpanan record
dalam record store.
Gambar 2.11 Penyimpanan Record dalam Record Store
2.6 Vigenere Chiper
membentuk deretan kode yang hanya bisa dibaca oleh penerima atau pembaca yang mengetahui kode password yang bersangkutan.
Vigenere cipher adalah contoh terbaik dari chiper alfabet-majemuk ’manual’ yang sangat dikenal karena mudah dipahami dan diimplementasikan. Cipher menggunakan bujur sangkar vigenere untuk melakukan enkripsi. Kolom paling kiri dari bujursangkar menyatakan huruf-huruf kunci, sedangkan baris paling atas menyatakan huruf-huruf plainteks. Setiap baris dalam bujur sangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Caesar chiper, yang mana jumlah pergeseran huruf plainteks ditentukan nilai numerik huruf kunci tersebut (yaitu, a=0, b=1,c=2,....,z=25). Sebagai contoh, huruf kunci c(=2) menyatakan huruf-huruf plainteks digeser sejauh 2 huruf ke kanan (dari susunan alfabetnya), sehingga huruf-huruf cipherteks pada baris c. Gambar 2.12 berikut ini adalah contoh potongan bujursangkar Vigenere.
Gambar 2.12. Potongan Bujursangkar Vigenere
Plainteks : THIS PLAINTEXT Kunci : sony sonysonys
Bujursangkar vigenere dapat dilihat pada Gambar 2.13 di bawah ini.
Gambar 2.13 Bujursangkar Vigenere
ke bawah, lalu tarik garis mendatar dari huruf kunci ke kanan. Perpotongan kedua garis tersebut menyatakan huruf cipherteksnya.
Misalkan plainteks THIS PLAINTEKT dienkripsi dengan kunci sony. Karena panjang kunci tidak sama dengan panjang plainteks, maka kunci diulang secara periodik :
Plainteks : THIS PLAINTEXT Kunci : sony sonysonys
Untuk huruf plainteks pertama T, tarik garis vertikal dari huruf T dan tarik garis mendatar dari huruf s. Perpotongannya adalah pada kotak yang berisi huruf L. dengan cara yang sama, tarik garis vertikal dari huruf H dan tarik garis mendatar dari huruf O. Perpotongannya adalah pada kotak yang juga berisi huruf v.hasil enkripsi seluruhnya adalah sebagai berikut :
Plainteks : THIS PLAINTEXT Kunci : sony sonysonys Chiperteks : LVVQ HZNGFHRVL
memiliki kemungkinan banyak huruf plainteks. Jadi, dengan menggunakan vigenere chiper, akan dapat mencegah frekuensi huruf-huruf di dalam cipherteks yang mempunyai pola tertentu dibandingkan dengan metode enkripsi yang lain.
2.7 Unified Modelling Language (UML)
2.7.1 Gambaran Umum UML
UML adalah sebuah standar bahasa untuk menuliskan rancangan perangkat lunak. UML dapat digunakan untuk memvisualisasikan, membangun dan mendokumentasikan artifak-artifak dari sebuah sistem perangkat lunak (Rafeequl, 2008:21).
UML cocok untuk memodelkan beragam tingkatan sistem, mulai dari skala enterprise sampai aplikasi berbasis web yang terdistribusi dan bahkan dapat digunakan untuk memodelkan real time embedded system.
2.7.2 Notasi Standar UML
1. Aktor
Aktor adalah segala sesuatu yang berinteraksi dengan sistem. Aktor bisa berupa orang, perangkat keras dan objek lain pada sistem yang sama. Aktor bertugas untuk memberikan informasi pada sistem dan juga memerintahkan sistem untuk melakukan sesuatu (Rafeequl, 2008:24).
Gambar 2.14 Notasi UML untuk aktor
2. Class
Class merupakan pembentuk utama dari sistem berorientasi objek, karena class menunjukkan kumpulan objek yang memiliki atribut dan operasi yang sama. Fungsi class antara lain:
1) Class digunakan untuk mengimplementasikan Interface 2) Class digunakan untuk mengabstraksikan elemen-elemen
dari sistem yang sedang dibangun
Gambar 2.15 Notasi UML untuk Class
3. Use Case
Use Case menjalankan urutan kegiatan yang dilakukan dalam sistem untuk mencapai suatu tujuan tertentu. Use case hanya digunakan untuk menjelaskan apa yang digunakan oleh aktor dan sistem, tidak menjelaskan bagaimana aktor dan sistem melakukan kegiatan tersebut (Rafeequl, 2008:26).
Enkripsi SMS
Gambar 2.16 Notasi UML untuk Use Case
4. Depedency
Terdapat dua stereotype dari depedency :
1) Include, menunjukan bahwa suatu bagian dari elemen memicu eksekusi bagian dari elemen lain. Misalnya pada Gambar 2.17 dibawah ini operasi yang ada di kelas A memicu dieksekusinya operasi yang ada di kelas B.
Base Use Case Inclusion Use Case
A <<include>> B
Gambar 2.17 Depedency Include
2) Extend, menunjukan bahwa suatu bagian dari elemen di garis tanpa tanda panah bisa disisipkan ke dalam elemen yang ada di garis dengan tanda panah. Misalnya pada Gambar 2.18, suatu fungsi dari use case A bisa disisipkan ke dalam use case B atau dengan kata lain A optional untuk B.
A <<extend>> B
5. Assosiation
Assosiation menggambarkan navigasi antar kelas, berapa banyak objek lain yang dapat berhubungan dengan satu objek (multiplicity antar kelas), dan apakah suatu kelas menjadi bagian dari kelas lainnya (aggregation)
Gambar 2.19 Dua Kelas yang Saling Berasosiasi
Gambar 2.20 Dua Kelas yang Saling Beragregasi
6. Stereotypes
Terdapat tiga icon stereotype (Rosenberg, 2001:16) yang umumnya dipakai untuk menggambarkan objek atau
Assosiation
kelas selama analisis robustness dan sequence diagram.
1) Boundary Object, objek yang digunakan actor untuk berkomunikasi dengan sistem, objek boundary dapat dilihat pada Gambar 2.21
Gambar 2.21 Boundary Object
2) Entity Object, sering disamakan dengan tabel database dan file yang memegang informasi yang dibutuhkan untuk “dipakai lebih lama” untuk diproses lebih lanjut. Entity object ditunjukan pada Gambar 2.22.
Gambar 2.22 Entity Object
3) Control Object, disebut juga controller, diterapkan untuk banyak logika aplikasi, control object menangani hubungan jaringan diantara aktor dan tempat penyimpanan data. Control object ditunjukan pada Gambar 2.23.
Untuk pengembangan sistem, penulis menggunakan metode RAD (Rapid Application Development) yang terdiri atas fase menentukan tujuan dan syarat-syarat informasi, fase perancangan, fase konstruksi, dan fase pelaksanaan sesuai dengan fase-fase pembangunan Aplikasi Enkripsi SMS menggunakan Vigenere Cipher. Pada Bab ini akan dibahas Analisa dan Perancangan Aplikasi.
3.1 Fase menentukan Tujuan dan Syarat-syarat Informasi
3.1.1 Mendefinisikan Masalah
Tahap mendefinisikan masalah adalah tahap untuk menentukan masalah apa yang harus diselesaikan dengan menggunakan sistem aplikasi yang akan dibuat (Kendall & Kendall, 2003 : 328). Masalah utama dari tugas akhir ini adalah melakukan implementasi algoritma
3.1.2 Analisis Struktur SMS
Seperti telah dijelaskan pada bab sebelumnya, struktur SMS secara garis besar dibagi menjadi dua bagian, yaitu Message Header dan Message Body. Perlu diperhatikan
pula, pada message header terdiri dari sebuah instruksi-instruksi kepada komponen-komponen jaringan SMS, maka apabila terjadi kehilangan data atau kerusakan data pada bagian message header ini akan mengakibatkan pesan tidak dapat dikirim atau gagal dikirim.
Agar pesan dapat dikirimkan dengan baik, dalam melakukan enkripsi, yang dienkripsi hanya bagian message body saja karena jika bagian dari message header dienkripsi, maka pesan tidak dapat disampaikan dengan baik. Sebagai contoh, salah satu bagian dari message header adalah nomor tujuan, apabila nomor tujuan ini
3.1.2.1 Analisis Penerapan Vigenere Cipher
Untuk menambahkan kekuatan keamanan pada proses enkripsi pesan menggunakan algoritma Vigenere Cipher yang dibuat, maka dalam tugas akhir ini penulis melakukan
modifikasi .
Dalam modifikasi algoritma Vigenere Cipher ini, dilakukan penambahan karakter angka, dan simbol-simbol yang digunakan sehingga plainteks yang bisa dienkripsi tidak hanya sebatas alfabet saja, melainkan juga angka dan
simbol-simbol yang digunakan. Dengan menambahkan karakter angka dan simbol-simbol yang digunakan, ukuran table yang digunakan untuk melakukan enkripsi dan dekripsi menjadi lebih besar. Contoh tabel Vigenere yang telah dimodfikasi ditunjukkan oleh Gambar 3.1
Dengan demikian, cipher teks yang dihasilkan akan
Inisialisasi Data Sms
Konversi Dari String Ke Char
Penyesuaian Index Char Sms Dan Char Password Terhadap Table Char Chipper
Konversi Dari Char Cipher Ke String Cipher
Gambar 3.1 Proses Enkripsi dan Dekripsi Algoritma Vigenere Cipher
3.1.2.2 Analisis Dampak Sistem
Berikut akan dibahas dampak perangkat lunak yang akan dibangun terhadap sistem pada telepon selular dan juga
dampak keamanan yang ditimbulkan oleh perangkat lunak, akan dibahas juga perbandingan perangkat lunak yang akan dibangun dengan aplikasi SMS standar:
dasarnya, sebuah telepon selular hanya memiliki sebuah saluran untuk melakukan pengiriman SMS, oleh karena itu ketika perangkat lunak yang akan dibangun sedang melakukan pengiriman SMS, maka selama pengiriman tersebut, aplikasi SMS lain tidak dapat melakukan
pengiriman SMS, begitu pula sebaliknya. Hal yang sama terjadi juga pada penerimaan SMS, walaupun menggunakan nomor port, namun pada dasarnya saluran penerimaan SMS pada telepon selular hanya satu, nomor port tersebut hanya digunakan untuk menandai aplikasi yang akan menerima pesan. SMS yang dikirimkan oleh perangkat lunak yang akan
dibangun akan diterima oleh perangkat lunak yang sama, jika telepon selular yang dituju tidak memiliki perangkat lunak tersebut, maka SMS akan masuk ke dalam aplikasi SMS standar yang dimiliki oleh telepon selular tersebut Perangkat lunak yang akan dibangun akan memiliki tempat penyimpanan data sendiri, oleh karena itu tidak akan
dapat digunakan oleh perangkat lunak lain, namun port yang akan digunakan akan menggunakan port yang jarang digunakan.
2. Dampak keamanan oleh perangkat lunak
Dengan dienkripsinya SMS yang dikirim, maka serangan berjenis man-in-the-middle attack yang terjadi ketika pesan berada pada jaringan SMS dapat dihindarkan. SMS yang dikirimkan oleh pengirim akan berhenti pada jaringan SMS seperti MSC, pada saat ini, penyerang dapat
melihat pesan yang dikirimkan, penyerang akan mudah memilih pesan untuk dibaca, karena nomor pengirim akan terdapat pada pesan yang dikirimkan, namun dengan dienkripsinya isi pesan, penyerang tidak dapat membaca pesan tersebut. Kerahasiaan pun akan terjaga apabila terjadi salah kirim, karena tanpa memasukkan kunci yang benar
pesan tidak akan terbaca.
3. Perbandingan dengan aplikasi SMS standar
Jika dibandingkan dengan aplikasi SMS standar, perangkat lunak yang akan dibangun akan memberikan
sehingga sulit untuk dipahami makna dari pesannya. Namun perangkat lunak yang akan dibangun akan memiliki kekurangan yaitu, fleksibilitas akan berkurang karena pesan harus didekripsi terlebih dahulu untuk dapat dipahami maknanya
3.1.3 Analisis Kebutuhan Perangkat Lunak
Pada subbab ini akan dilakukan analisis dari proses pembangunan perangkat lunak berdasarkan analisis yang telah
dilakukan pada subbab sebelumnya. Analisis yang akan dibahas akan meliputi analisis kebutuhan perangkat lunak, perancangan arsitektur perangkat lunak dan proses perangkat lunak.
3.1.3.1 Deskripsi Umum Sistem
Perangkat lunak yang akan dibentuk merupakan perangkat lunak yang digunakan untuk berkomunikasi, oleh karena itu, perangkat lunak yang akan dibangun akan ditanamkan pada pengirim dan penerima.
Pengguna akan berinteraksi dengan perangkat lunak
melalui user interface yang disediakan oleh perangkat lunak, pengguna memasukkan data dengan menggunakan keypad yang dimiliki oleh telepon seleular. Pesan yang telah dibuat dikirimkan ke telepon selular lain melalui jaringan SMS. Secara umum, arsitektur global perangkat lunak dapat dilihat pada Gambar 3.2.
Data yang akan digunakan dalam sistem, yaitu: 1. Data pesan SMS
Data pesan SMS adalah pesan yang dimasukkan oleh pengirim yang ingin ditujukan pada penerima. Data pesan SMS ini adalah pesan yang belum terenkripsi. Data pesan ini merupakan pesan teks.
2. Data pesan SMS terenkripsi
Data pesan SMS terenkripsi adalah data pesan SMS yang telah terenkripsi oleh algoritma Vigenere Cipher berdasarkan kunci yang dimasukkan oleh pengguna, namun pada awal proses enkripsi, data ini diubah dari tipe kalimat
(string) menjadi bentuk array karakter. Oleh karena itu pada umunya tidak dapat dibaca.
3. Data kunci enkripsi
Data ini berasal dari pengirim. Data ini digunakan untuk melakukan proses enkripsi. Seperti halnya data pesan
SMS, data ini pada awalnya berupa pesan teks, diubah dari tipe kalimat (string) menjadi bentuk array (char).
4. Data kunci dekripsi
Data ini berasal dari penerima, penggunaan data ini
pada proses enkripsi. Jika data ini sama dengan data kunci enkripsi, maka hasil data pesan SMS keluaran yang dihasilkan akan sama dengan data pesan SMS.
5. Data pesan keluaran
Data ini adalah hasil keluaran akhir yang didapatkan oleh penerima setelah memasukan data kunci dekripsi. Pada awalnya data ini akan didapat dalam bentuk array (char) kemdian akan diubah dalam bentuk tipe kalimat (string) agar lebih mudah untuk dibaca.
Untuk lebih jelasnya bagaimana data tersebut akan bekerja pada sistem, dapat dilihat pada skema kerja sistem Gambar 4.3.
3.1.3.2 Analisis Spesifikasi dan Kebutuhan Perangkat
Lunak
Perangkat lunak yang akan dibangun memiliki dua buah fitur utama, yaitu:
1. Melakukan enkripsi SMS pada telepon selular dengan algoritma Vigenere Cipher.
Pengguna harus dapat melakukan pembuatan SMS yang kemudian dienkripsi dengan perangkat
lunak yang akan dibangun. Kemudian pesan terenkripsi tersebut harus dapat dikirimkan dengan baik ke tujuan dengan perangkat lunak yang akan dibangun.
2. Melakukan dekripsi dari SMS terenkripsi yang diterima oleh telepon selular dengan algoritma Vigenere
Cipher.
Agar kedua fitur utama tersebut dapat dipenuhi dan pengguna dapat menggunakan sistem dengan mudah, maka perangkat lunak yang akan dibangun memiliki beberapa kebutuhan yang harus tersedia pada perangkat lunak tersebut, kebutuhan fungsional perangkat lunak tersebut, yaitu :
1. Sistem dapat melakukan pengiriman pesan dalam bentuk string terenkripsi.
2. Sistem dapat melakukan enkripsi dengan algoritma Vigenere Cipher.
3. Sistem harus dapat melakukan penyimpanan pesan yang masuk.
4. Sistem harus dapat menerima pesan. Untuk dapat menerima pesan ini, sistem harus dapat berjalan terus dan dapat memberikan pemberitahuan jika pesan datang.
5. Sistem harus mampu melakukan dekripsi. Pesan yang telah terenkripsi harus dapat dikembalikan menjadi
Selain kebutuhan fungsionalitas diatas, aplikasi yang akan dibangun harus dapat memenuhi beberapa kebutuhan non-fungsional yang dapat membantu pengguna dalam menggunakan aplikasi dan juga dapat memudahkan dalam pengembangan lebih lanjut. Kebutuhan non-fungsional itu
antara lain:
1. Sistem akan memiliki antar muka yang menarik dan juga mudah untuk dimengerti.
2. Sistem akan memiliki menu bantuan agar memudahkan dalam penggunaan.
3. Sistem mudah untuk dikembangkan lebih lanjut Untuk
memenuhi hal ini, sebaiknya sistem dibangun dengan konsep pemrograman berorientasi objek, dengan rancangan kelas dan method yang baik.
3.2 Fase Perancangan
3.2.1 Use Case
Berdasarkan spesifikasi kebutuhan perangkat lunak yang ada, maka dibuat use case yang bertujuan untuk menggambarkan peran dari pengguna dan interaksinya dengan aplikasi serta interaksi aplikasi
dengan system lain. Use case tidak menunjukkan suatu aksi diimplementasikan tetapi hanya menggambarkan fungsionalitas yang diharapkan ada pada perangkat lunak. Selain diagram use case, akan dibuat juga scenario untuk masing-masing use case.
3.2.1.1 Use Case Diagram
3.2.1.2 Definisi Use Case
Tabel 3.1 Definisi Use Case
No. Use Case Deskripsi
1 Mengirim pesan terenkripsi
Pengguna melakukan pengiriman pesan yang telah terenkripsi ke telepon selular tujuan
2 Mendekripsi Pesan yang
diterima
Pengguna mendekripsi pesan yang telah diterima oleh perangkat lunak
3 Mengirim pesan Menangani aksi yang berhubungan dengan proses pengiriman pesan ke telepon selular tujuan
4 Mengenkripsi
pesan
Menangani aksi yang berhubungan dengan proses
merubah pesan menjadi tidak bermakna
5 Menerima pesan Menangani aksi yang berhubungan dengan penerimaan pesan dari perangkat lunak yang sama
6 Menyimpan pesan
Menangani aksi yang berhubungan dengan penyimpanan pesan yang diterima
7 Mendekripsi pesan
3.2.1.3 Definisi Aktor
Tabel 3.2 Definisi Aktor
No. Use Case Deskripsi
1 Pengguna Aktor pengguna adalah pengguna perangkat lunak yang dapat berperan sebagai pengirim
Pesan dan penerima pesan 2 Operator
Selular
Aktor operator selular adalah aktor yang berperan sebagaipenyedia layanan untuk mengirimkan pesan ke tujuan
3.1.2.4 Class Diagram
Class Diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat di dalam kelas. Class Diagram juga menunjukkan properti dan operasi sebuah class dan batasan-batasan yang terdapat dalam hubungan-hubungan objek tersebut.
Berdasarkan sequence diagram yang telah dibuat
Tabel 3.3 Daftar Kelas Analisis dan Method Analisis Aplikasi Enkripsi SMS
Kelas Method Jenis
Method startApp() Controller
Method pauseApp() Controller
Method destroyApp(boolean unconditional) Controller
Method Run() Controller
Method CommandAction(Command c, Displayable d) Controller
Method HUtama() Boundary
Method HLogin() Boundary
Method HMenuSMS() Boundary
Method HTulisPesanBaru() Boundary
Method HLaporanHasilPesanTerenkripsi() Boundary
Method HAdministrator() Boundary
Method HEncryp() Boundary
Method tambahRecordPesanKeluar() Entitiy
Method hapusRecordPesanKeluar() Entitiy
Method HDaftarRecordPesanKeluar() Entitiy
Method HDetailPesanKeluar() Entitiy
Method SMSMASUK() Boundary
Method HLaporanKotakMasuk() Boundary
Method HDecryp() Boundary
Method TambahRecordPesanKeluar() Entitiy
Method HapusRecordPesanKeluar() Entitiy
Method LihatRecordPesanKeluar() Entitiy
Method HDetailPesanKeluar() Entitiy
Method Waktunya() Boundary
Method tambahAdmin Entitiy
Method hapusAdmin Entitiy
Method HLihatAdmin Entitiy
Aplikasi SMS
Enkripsi
Berikut gambar Class Diagram Aplikasi SMS Enkripsi dapat dilihat pada Gambar 3.5.
Berikut adalah deskripsi dan penjelasan dari method-method yang muncul pada Class Diagram :
1. Method HUtama()
Method ini akan dipanggil untuk menampilkan tampikan halaman utama.
2. Method HLogin()
Method ini akan dipanggil untuk menampilkan tampikan halaman Login kemudian diberikan suatu perintah untuk menampilkan teks field Nama Login dan Password login.
3. Method HMenuSMS()
Method ini akan dipanggil untuk menampilkan menu-menu pada halaman Menu SMS.
4. Method HTulisPesanBaru()
Method ini akan dipanggil guna melakukan perintah untuk menulis pesan baru.
5. Method HLaporanHasilPesanTerenkripsi()
Method ini didalamnya terdapat proses enkripsi pesan, kemudian method ini menampilkan pesan yang sudah dienkrip
Method ini akan dipanggil jika sudah melakukan pengiriman pesan sehingga data-data pesan yang dikirm atau yang telah dienkrip ditampung pada method ini.
7. Method HDetailPesanKeluar()
Method ini akan dipanggil untuk menampilkan data-data pesan SMS secara detail.
8. Method HPesanMasuk()
Method ini akan dipanggil jika ada data pean SMS yang masuk pada method ini. Tetapi method ini belum melakukan proses dekripsi pesan.
9. Method HLaporanHasilPesanTerdekripsi()
Method ini akan dipanggil setelah data pesan SMS masuk ke method ini , sehingga method ini didalamnya melakukan proses dekripsi pesan.
10.Method HDaftarRecordPesanMasuk()
Method ini akan dipanggil jika sudah melakukan pengiriman pesan sehingga data-data pesan yang dikirm atau yang telah dienkrip ditampung pada method ini.
11.Method HDetailPesanMasuk()
12.Method StarApp()
Method ini digunakan untuk pertama kali program akan dijalanknan, akan dipanggil secara otomatis oleh rutin Java Virtual Machine (JVM) pada device pada saat aplikasi baru berjalan, method ini berisi instruksi untuk menentukan objek Displayable mana yang akan menjadi user-interface permulaan.
13.Method pauseApp()
Method ini digunakan untuk memanggil pada saat aplikasi memasuki fase istirahat atau berhenti sejenak. 14.Method destroyApp(boolean unconditional)
notifyDestroyed()
Method ini digunakan untuk menutup semua aplikasi tanpa peringatan.
15.Method Run()
Method ini berfungsi untuk melakukan posisi perintah siaga (standby).
16.Method CommandAction(Command c, Displayable s)
Pada Method ini didalamnya terjadi proses enkripsi pesan yaitu mengubah data pesan yang dapat dipahami menjdi data pesan yang tidak dapat dipahami.
18.Method HDecryp()
Pada Method ini didalamnya terjadi proses dekripsi pesan yaitu mengubah data pesan yang tidak dapat dipahami menjadi data pesan yang dapat dipahami.
3.2.2 Perancangan Antar Muka
Rancangan layar pada J2ME memiliki banyak perbedaan dengan aplikasi lain. Yang menjadi penyebab hal tersebut ialah adanya keterbatasan resource dan alat masukan. Pada handphone memori dan
kapasitas penyimpananya terbatas dan tidak besar tidak seperti kebanyakan aplikasi lain. Juga dengan alat masukan dan keluarannya yang hanya berupa keypad dan layar monitor yang kecil. Pada J2ME terdapat fasilitas untuk membuat animasi dan juga mewarnai tampilan sehingga tampilan layar menarik untuk dilihat, namun fasilitas tersebut digunakan pada aplikasi ini.
1. Form Halaman Utama. 2. Form Halaman Login. 3. Form Halaman Menu SMS. 4. Form Halaman Tulis Pesan Baru.
5. Form Halaman Laporan Hasil Pesan Terenkripsi.
6. List Halaman Daftar Record Pesan Keluar. 7. Form Halaman Detail Pesan Keluar. 8. Form Halaman Pesan Masuk.
9. Form Halaman Laporan Hasil Pesan Terdekripsi. 10.List Halaman Daftar Record Pesan Masuk. 11.Form Halaman Detail Pesan Masuk.
12.Form Halaman Administrator 13.List Halaman Lihat Admin
3.2.2.1Form Halaman Utama
Pada halaman ini akan ditampilkan beberapa keterangan tetang judul aplikasi yang akan digunakan, logo, nama Fakultas dan Universitas. Selain menampilkan beberapa item keterangan, halaman ini juga terdapat dua buah tombol
untuk melakukan navigasi ke tampilan-tampilan berikutnya, yaitu tombol Lanjut untuk menuju ke halaman Login dan tombol Keluar untuk keluar dari aplikasi. Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header Halaman Utama.
3.2.2.2 Form Halaman Login
aplikasi ini, sehingga hanya pengguna tertentu (yang sudah terdaftar) saja yang bisa menggunakan aplikasi ini. Halaman Login ini terdiri dari textfield Nama Login dan Password Login berikut dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Lanjut. Rancangan form halaman login
dapat dilihat pada Gambar 3.7.
Gambar 3.7. Rancangan Form Halaman Login
Jika ingin melanjutkan aplikasi, maka pengguna terlebih dahulu harus menuliskan nama Login dan password Loginnya apabila sudah terdaftar. Jika penulisannya adalah benar, maka pengguna akan memasuki halaman menu SMS. Namun jika pengguna gagal dalam menuliskan nama dan
tiga kali salah dalam menuliskan nama loginnya, maka apliaksi akan secara otomastis akan keluar dengan sendirinya (exit application). Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header form halaman login.
3.2.2.3 Form Halaman Menu SMS
Rancangan form Halaman Menu SMS dapat dilihat pada Gambar 3.8.
Gambar 3.8. Rancangan Form Halaman Menu SMS
Pada form Halaman Menu SMS yaitu halaman yang menampilakan berberapa menu untuk menggunakan aplikasi enkripsi SMS yang akan digunakan, diantaranya Menu :
Jika pilihan ini dipilih maka untuk membuat suatu pesan akan muncul dan pengguna akan dapat memulai untuk membangun pesan baru.
2. Kotak Masuk
Menu Kotak Masuk akan menampilkan daftar dari
pesan yang diterima yang belum didekripsi oleh pengguna. 3. Kotak Keluar
Menu Kotak Keluar akan menyimpan SMS yang telah dikirim.
4. Administrator
Menu Administrator berguna untuk daftar registrasi
sebagai pengguna aplikasi yang akan digunakan
Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Lanjut. Tombol Kembali untuk kembali pada halaman sebelumnya dan tombol Lanjut untuk menampilkan menu yang dipilih, jika pengguna memilih menu Kotak Masuk maka pengguna akan memasuki
3.2.2.4 Form Halaman Tulis Pesan Baru
Pada form Halaman Tulis Pesan Baru yaitu halaman untuk menulis data pesan SMS yang akan di enkrip. Rancangan form halaman tulis pesan baru dapat dilihat pada
Gambar 3.9.
Sebelum data SMS di enkrip pengguna haru masukkan No tujuan field No Tujuan, nomor Tujuan bisa diambil dari
Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Proses. Tombol Kembali untuk kembali pada halaman sebelumnya dan tombol Proses untuk menuju ke halaman Laporan Hasil Pesan Terenkripsi. Untuk memperindah tampilan, maka dibuat juga beberapa
animasi berupa text berjalan pada bagian paling atas header Halaman Tulis Pesan Baru.
3.2.2.5 Form Halaman Laporan Hasil Pesan Terenkripsi
Pada form Halaman Laporan Hasil Pesan Terenkripsi yaitu halaman untuk menampilkan laporan data SMS yang sudah di enkrip. Rancangan form halaman laporan hasil pesan terenkripsi dapat dilihat pada Gambar 3.10.
Pada layar laporan hasil enkripsi akan terdapat enam buah teks field, yaitu :
1. No Tujuan
Field ini akan berisi nomor telepon tujuan pesan yang akan dikirim yang telah dimasukkan pada layar sebelumnya.
2. Isi SMS
Field ini akan berisi informasi data pesan SMS
yang belum dienkripsi dan informasi jumlah huruf yang digunakan untuk data pesan SMS yang di enkrip.
3. Kunci Enkripsi Dasar
Field ini akan berisi informasi kunci enkripsi yang digunakan oleh pengirim untuk melakukan enkripsi
pesan.
4. Kunci Enkripsi Modif
Field ini akan berisi informasi kunci enkripsi yang digunakan oleh pengirim untuk melakukan enkripsi pesan setelah kuncinya dimodifikasi .
Field ini akan berisi informasi dari pesan yang telah dienkripsi.
6. Waktu Kirim Pesan
Field ini akan ditampilkan informasi waktu yang digunakan aplikasi dalam melakukan enkripsi pesan.
Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Kirim. Tombol Kembali untuk kembali pada halaman sebelumnya dan tombol Kirim untuk melakukan pengiriman SMS yang akan dituju nantinya akan masuk ke halaman Kotak Masuk dan juga data SMS yang dikirim masuk pula ke database pada menu Kotak
Keluar. Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header Halaman Laporan Hasil Pesan Terenkripsi.
3.2.26 List Halaman Daftar Record Pesan Keluar
Animasi
Halaman Daftar Record Pesan Keluar
Kembali Menu
Gambar 3.11 Rancangan List Halaman Daftar Record Pesan Keluar
Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Menu. Tombol Kembali
untuk kembali pada halaman sebelumnya dan tombol Menu terdapat dua pilihan diantaranya :
Detail, detail untuk melihat detail data SMS yang telah
dikirim
Hapus, hapus untuk menghapus langsung database data SMS
yang akan dihapus walaupun belum dilihat secara detail.
3.2.2.7 Form Halaman Detail Pesan Keluar
Pada form Halaman Detail Data SMS Keluar yaitu halaman untuk menampilkan data SMS yang telah dikirim
secara detail, informasi yang ditampilkan berupa data untuk penerima pesan, data Isi SMS yang telah dikirim, kunci enkripsi dan waktu pengiriman pesan. Rancangan form halaman detail pesan keluar dapat dilihat pada Gambar 3.12.
Gambar 3.12. Rancangan Form Halaman Detail Pesan
Keluar
untuk menghapus pesan data SMS yang dikirim. Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header Halaman Detail Pesan Keluar.
3.2.2.8 Form Halaman Pesan Masuk
Pada form Halaman SMS Masuk yaitu halaman untuk menampilkan data SMS yang telah masuk yang belum didekrip. Rancangan form halaman sms masuk dapat dilihat
pada Gambar 3.13.
Gambar 3.13. Rancangan Form Halaman Pesan Masuk
Pada form Halaman SMS Masuk akan terdapat tiga buah teks field, yaitu :
Field ini akan berisi nomor telepon tujuan pengirim pesan.
2) Isi SMS
Field ini akan berisi informasi data pesan SMS
yang belum didekripsi. Isi SMS belum bisa dipahami karena isi SMS masih di enkrip.
3) Kunci Dekripsi
Field ini pengguna diperintah untuk memasukkan
kunci dekripsi yang digunakan oleh penerima untuk melakukan dekripsi pesan. Jika kunci dekripsi tidak sama dengan kunci enkripsi maka hasil informasi data SMS yang telah didekrip tidak bisa bermakna.
Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Proses. Tombol Kembali
3.2.2.9 Form Halaman Laporan Hasil Pesan
Terdekripsi
Rancangan form halaman laporan hasil pesan terdekripsi dapat dilihat pada Gambar 3.14.
Gambar 3.14. Rancangan Form Halaman Laporan Hasil Pesan Terdekripsi
Pada form Halaman Laporan Hasil Pesan Terdekripsi
yaitu halaman untuk menampilkan laporan data SMS yang sudah didekrip. Pada form Laporan Hasil Pesan Terdekripsi akan terdapat lima buah teks field, yaitu:
1) Pengirim
Field ini akan berisi nomor telepon si pengirim pesan yang telah masuk pada layar sebelumnya.
Field ini akan berisi informasi data pesan SMS yang belum bisa dipahami (masih di enkripsi).
3) Kunci Dekripsi
Field ini akan berisi informasi kunci dekripsi
yang digunakan oleh penerima untuk melakukan dekripsi pesan.
4) Maksud SMS
Field ini akan berisi informasi data pesan SMS
yang dimaksud atau data pesan SMS asli yang dikirimkan oleh si pengirim SMS.
5) Waktu Dekripsi
Pada field ini akan ditampilkan informasi waktu yang digunakan aplikasi dalam melakukan dekripsi pesan.
Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Menu. Tombol Kembali untuk kembali pada halaman sebelumnya dan tombol Menu terdapat dua pilihan diantaranya :
Simpan. Simpan untuk menyimpan data pesan SMS yang
masuk yang dikirimkan oleh si pengirim pesan.
Hapus. Hapus untuk menghapus langsung database data
Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header Halaman Laporan Hasil Pesan Terdekripsi.
3.2.2.10 List Halaman Daftar Record Pesan Masuk
Pada list Halaman Daftar Record Pesan Masuk yaitu halaman untuk menampilkan data SMS yang telah masuk oleh halaman Laporan Hasil Pesan Terdekripsi. Rancangan list daftar record pesan masuk dapat dilihat pada Gambar
3.15.
Gambar 3.15. Rancangan List Halaman Daftar Record
Pesan Masuk
untuk kembali pada halaman sebelumnya dan tombol Menu terdapat dua pilihan diantaranya :
Detail, detail untuk melihat detail data SMS yang telah
masuk
Hapus, hapus untuk menghapus langsung database data
SMS masuk yang akan dihapus walaupun belum dilihat secara detail.
Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header Halaman Daftar Record SMS Masuk.
3.2.2.11 Form Halaman Detail Pesan Masuk
Pada form Halaman Detail Pesan Masuk yaitu halaman untuk menampilkan data SMS yang telah masuk secara detail, informasi yang ditampilkan berupa pengirim pesan, isi SMS, kunci dekripsi dan waktu kirim. Rancangan form halaman detail pesan masuk dapat dilihat pada Gambar 3.16.
Gambar 3.16 Rancangan Form Halaman Detail Pesan Masuk
Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Hapus. Tombol Kembali untuk kembali pada halaman sebelumnya dan tombol Hapus
untuk menghapus pesan SMS yang telah masuk. Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header Halaman Detail Pesan Masuk.
3.2.2.12 Form Halaman Administrator
Pada form Halaman Administrator yaitu halaman dimana pengguna disuruh untuk mendaftarkan nama admin dan password admin supaya aplikasi yang digunakan hanya nama-nama admin yang sudah terdaftar yang bisa
Gambar 3.17 Rancangan Form Halaman Administrator
Kemudian terdapat dua buah tombol dibawahnya,
yaitu tombol Kembali dan tombol Menu. Tombol Kembali untuk kembali pada halaman sebelumnya dan tombol Menu terdapat dua pilihan diantaranya :
Simpan Admin, simpan admin untuk menyimpan nama
admin dan password admin yang telah didaftar.
Lihat Admin, lihat admin untuk melihat nama-nama
admin dan password admin yang telah terdaftar.
Hapus Layar, hapus layar untuk menghapus layar yang
akan diisi apabila dibatalkan dalam pengisiannya.
3.2.2.13 List Halaman Lihat Admin
Pada list Halaman Lihat Admin yaitu halaman untuk menampilkan informasi nama-nama admin dan password admin yang telah terdaftar.Rancangan list halaman lihat
admin dapat dilihat pada Gambar 3.18.
Gambar 3.18 Rancangan List Halaman Lihat Admin
Untuk pengembangan sistem, penulis menggunakan metode RAD (Rapid Application Development) yang terdiri atas fase menentukan tujuan dan syarat-syarat
informasi, fase perancangan, fase konstruksi, dan fase pelaksanaan sesuai dengan fase-fase pembangunan Aplikasi Enkripsi SMS menggunakan Vigenere Cipher. Pada bab ini akan di bahas 2 fase terakhir dari metode RAD yaitu Fase Konstruksi dan Fase Pelaksanaan yang telah d jelaskan pada Bab III.
4.1 Fase Konstruksi
Pada tahap ini, penulis melakukan tahap pengkodean terhadap hasil
rancangan yang sudah didefinisikan sebelumnya untuk dijadikan program aplikasi. Pembuatan aplikasi menggunakan beberapa tools atau software antara lain J2SE SDK versi 1.5.0_02 sebagai platform JAVA, emulator J2ME Wireless Toolkit versi 2.5.2 untuk menjalankan aplikasi pada PC, JCreator LE 4.00 versi 5.5 untuk membuat user interface dan source code,
Sekilas tentang perancangan aplikasi menggunakan JCreator LE 4.00