APLIKASI ENKRIPSI SMS BERBASIS J2ME MENGGUNAKAN VIGENERE CHIPER.

(1)

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

3.

Chrystia Aji Putra, S.Kom NPT : 386101002961

Mengetahui,

Dekan Fakultas Teknologi Industri

Universitas Pembangunan Nasional “ VETERAN” Jawa Timur

Ir. Sutiyono, MT NIP : 19600713 198703 1 001


(2)

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

Basuki Rahmat, S.Si, MT NIP : 36907 060 209


(3)

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 { }

NIP : 37903040197

2) Gede Susrama, St, M.Kom { }

NPT : 37006 060 210  

3) Chrystia Aji Putra, S.Kom { }

NPT : 386101002961  

Mengetahui, Dosen Pembimbing

Dosen Pembimbing Utama Dosen Pembimbing Pendamping

Gede Susrama, St, M.Kom Chrystia Aji Putra, S.Kom


(4)

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).


(5)

 

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


(6)

 

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


(7)

 

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


(8)

 

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


(9)

 

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


(10)

 

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 LAMPIRAN


(11)

 

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 Table 5.2 Hasil Pengujian Penerimaan Pesan ………..104


(12)

 

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


(13)

 

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


(14)

 

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


(15)

 

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

 

 

 

 

 


(16)

(17)

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.

SMS merupakan salah satu fitur dari suatu jaringan GSM (Global System for Mobile Communication) yang dikembangkan dan distandardisasi oleh ETSI (European Telecommunications Standards Institute). Layanan pengiriman pesan singkat ini sangatlah standar dan tidak jarang para pengguna telepon selular menggunakan layanan SMS ini untuk mengirimkan suatu pesan yang penting dan rahasia, namun para pengguna layanan SMS


(18)

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

Hal ini membuktikan bahwa jalur komunikasi SMS memerlukan sebuah teknologi enkripsi yang mampu menghalangi semua ancaman keamanan tersebut. Untuk mengurangi resiko yang ditimbulkan dari celah-celah yang terdapat pada layanan SMS tersebut salah satu penanggulangannya adalah dengan menerapkan suatu algoritma kriptografi


(19)

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

Enkripsi adalah ilmu dan seni untuk menjaga kemanan pesan, Karena banyaknya metode atau teknik-teknik kemanan yang terkandung didalamnya, maka rumusan masalah tugas akhir adalah sebagai berikut:


(20)

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

c. Pengujian aplikasi hanya dilakukan pada telepon seluler (ponsel) Nokia E71 dan Sony Ericson T700.


(21)

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

Sesuai dengan permasalahan dan tujuan penelitian yang telah disebutkan di atas, maka manfaat dari penyusunan tugas (skripsi) ini adalah :


(22)

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.

b) Sebagai referensi bagi pengguna yang mempunyai minat dalam mengembangkan tentang pemrograman Java khususnya J2ME dengan memanfaatkan bidang ilmu kriptografi.


(23)

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

Metode pengembangan sistem dalam penelitian ini penulis lakukan menggunakan empat tahap siklus dengan memanfaatkan pengembangan model RAD (Rapid Application Development) yaitu :


(24)

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

Dalam penulisan skripsi ini, pembahasan yang akan disajikan terbagi dalam lima bab, yaitu :


(25)

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

Bab ini akan menjelaskan pengembangan sistem yang menggunakan beberapa tahap pengembangan sistem yang meliputi fase


(26)

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 LAMPIRAN


(27)

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


(28)

Secara matematis proses enkripsi dan dekripsi dapat digambarkan sebagai:

C = E(P) dan P = D(C), sehingga P = D(E(P))

Dimana P = plainteks C = cipherteks

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.

3. Otentikasi (authentication), adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran


(29)

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

SMS merupakan sebuah layanan yang diaplikasikan pada sistem komunikasi nirkabel atau tanpa kabel. Sistem nirkabel yang paling


(30)

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.

5. HLR (Home Location Register) merupakan suatu basis data yang digunakan untuk menyimpan data secara permanen


(31)

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.


(32)

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

3. SMSC mengirim pesan pada MSC dengan operasi forward short message


(33)

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

Pada Gambar 2.4 dapat terlihat bahwa pada sebuah paket pesan SMS terdiri dari header dan body. Header pesan terdiri dari instruksi- instruksi kepada komponen-komponen yang bekerja dalam jaringan SMS. Pada instruksi-instruksi tersebut, terdapat informasi yang


(34)

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

JAVA menurut definisi dari SUN adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer


(35)

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,


(36)

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 memiliki beberapa keunggulan yaitu (http://j2me.winwinfaisal.info):


(37)

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

J2ME menyediakan antarmuka (interface) untuk messaging pada paket javax.wireless.Messaging. Sebuah message memiliki dua bagian yaitu bagian alamat (address port) dan bagian data (data


(38)

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

Profile melengkapi Configuration dengan menambahkan kelas-kelas tambahan yang menyediakan fitur-fitur yang lebih spesifik yang sesuai bagi jenis-jenis device tertentu.


(39)

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 Profileadalah 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, 2004:25)


(40)

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

Di setiap waktu, suatu MIDlet menjalankan satu dari tiga status: Paused, Active, atau Destroyed. Gambar 2.9 di bawah ini menunjukkan diagram status daur hidup dari sebuah MIDlet.

MIDP

CLDC

Kumpulan

Library

KVM


(41)

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.

J2ME Wireless Toolkit dapat di download di http://java.sun.com/j2me secara gratis. J2ME Wireless Toolkit adalah kakas yang menyediakan lingkungan emulator, dokumentasi beserta contoh-contoh aplikasi JAVA untuk perangkat kecil (small device).


(42)

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 resource.


(43)

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

Metode enkripsi Vigenere chiper adalah salah satu seni mengamankan data yang banyak digunakan saat ini. Pada penerapannya Vigenere chiperyang akan meminta password untuk setiap data yang akan diproses. Password yang diberikan akan men-generate isi berita/data yang dimaksud. Sehingga akan


(44)

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

Bujursangkar vigenere digunakan untuk memperoleh cipherteks dengan lajur kunci yang sudah ditentukan. Jika panjang kunci lebih pendek dari pada panjang plainteks maka kunci diulang penggunaannya (sistem periodik). Bila kunci adalah m, maka periodenya dikatakan m, sebagai contoh jika plainteks adalah THIS PLAINTEXT dan kunci adalah sony, maka penggunaan kunci secara periodik adalah sebagai berikut :


(45)

Plainteks : THIS PLAINTEXT Kunci : sony sonysonys

Bujursangkar vigenere dapat dilihat pada Gambar 2.13 di bawah ini.

Gambar 2.13 Bujursangkar Vigenere

Setiap huruf plainteks akan dienkripsi dengan setiap huruf kunci di bawahnya. Untuk mengerjakan enkripsi dengan Vigenere Chiper, lakukan pada bujursangkar vigenere sebagai berikut: tarik garis vertikal dari huruf plainteks


(46)

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

Jika diamati bahwa huruf plainteks T dapat dienkripsi menjadi L atau H, dan huruf cipherteks V dapat merepresentasikan huruf plainteks H, I, dan X. Hal ini merupakan karakteristik dari chiper alfabet-majemuk. Pada chiper subtitusi sederhana, setiap huruf cipherteks selalu menggantikan huruf plainteks tertentu, sedangkan pada cipher alfabet-majemuk setiap huruf cipherteks dapat


(47)

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.

UML merupakan bahasa yang ekspresif, ditujukan untuk segala aspek pengembangan dan penerapan sistem. Walaupun UML merupakan bahasa yang ekspresif, UML tidaklah sulit untuk dipahami dan digunakan


(48)

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

3) Class bisa untuk merepresentasikan baik perangkat lunak maupun perangkat keras, baik konsep maupun benda nyata (Rafeequl, 2008:25)


(49)

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

Depedency merupakan relasi yang menunjukan bahwa perubahan pada salah satu elemen memberi pengaruh pada elemen lainnya. Elemen yang ada di bagian tanda panah adalah elemen yang tergantung pada elemen yang berada tanpa tanda panah (Rafeequl, 2008:26)


(50)

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


(51)

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


(52)

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.


(53)

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 Vigenere Cipher untuk enkripsi SMS pada telepon selular. Pada subbab berikut akan dibahas analisis dari faktor-faktor penting yang perlu diperhatikan dalam melakukan implementasi algoritma Vigenere Cipher untuk melakukan enkripsi SMS pada telepon selular.


(54)

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 dienkripsi, maka nomor menjadi tidak dapat dikenali atau berubah menjadi nomor lain sehingga pesan tidak dapat dikirimkan atau salah mengirimkan.


(55)

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 menjadi lebih sulit untuk dianalisis dengan metode analisis frekuensi karena seakan-akan menggunakan kunci yang lebih panjang.


(56)

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:

1. Dampak perangkat lunak terhadap sistem telepon selular Perangkat lunak yang akan dibangun akan berdiri sendiri, oleh karena itu perangkat lunak yang akan dibangun tidak melakukan komunikasi atau berinteraksi dengan aplikasi yang sudah terdapat pada telepon selular. Pada


(57)

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 mempengaruhi penyimpanan yang digunakan oleh aplikasi lain pada telepon selular. Perangkat lunak yang akan dibangun akan menempati sebuah port, sehingga port yang sudah digunakan oleh perangkat lunak yang akan dibangun ini tidak


(58)

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 keuntungan berupa keamanan. Pesan yang dikirimkan oleh perangkat lunak yang akan dibangun akan terenkripsi


(59)

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 dibangun, merupakan perangkat lunak yang diterapkan pada telepon selular dan memiliki fungsi untuk melakukan enkipsi SMS. Perangkat lunak yang akan dibangun harus dapat melakukan pengiriman dan penerimaan pesan, baik pesan terenkripsi maupun yang tidak terenkripsi.


(60)

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.


(61)

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 dalam proses dekripsi sama dengan data kunci enkripsi


(62)

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.


(63)

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.

Perangkat lunak harus dapat menerima pesan terenkripsi dan dapat mendekripsi dari perangkat lunak yang sama, agar informasi yang terdapat dalam SMS dapat dipahami (jika kunci yang dimasukan benar).


(64)

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 pesan semula jika kunci yang dimasukkan oleh penerima adalah sama dengan kunci yang dimasukkan oleh pengirim.


(65)

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

Dalam perancangan program aplikasi Enkripsi SMS menggunakan Vigenere Cipher ini, terdiri dari perancangan menggunakan notasi UML sebagai case tool dalam merancang proses yang akan terjadi dalam sistem, yakni dengan membuat use case diagram, class diagram dan perancangan antarmuka (user interface).


(66)

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


(67)

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

Menangani aksi yang berhubungan dengan proses merubah pesan tidak bermakna menjadi bermakna


(68)

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 pada Lampiran III, dapat dihasilkan kelas analisis dan method analisis yang digunakan pada aplikasi Enkripsi SMS sebagai berikut:


(69)

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


(70)

Berikut gambar Class Diagram Aplikasi SMS Enkripsi dapat dilihat pada Gambar 3.5.


(71)

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


(72)

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()

Method ini akan dipanggil untuk menampilkan data-data pesan SMS secara detail.


(73)

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) Method ini digunakan untuk melakukan intruksi-intruksi seperti memantau penekanan tombol keypad. 17.Method HEncryp()


(74)

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.

Berikut akan dilakukan perancangan antar muka dari beberapa layar yang penting pada aplikasi yang akan dibangun. Antar muka yang dirancang meliputi :


(75)

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 form Halaman Utama adalah halaman yang akan ditampilkan saat pertama kali aplikasi dijalankan. Rancangan form halaman utama dapat dilihat pada Gambar 3.6.


(76)

Animasi

Judul

Logo

Dibuat Oleh

Nama Fakultas dan Universitas

Keluar Lanjut

Halaman Utama

Gambar 3.6. Rancangan Form 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

Pada form Halaman Login yaitu halaman yang berguna untuk membatasi pengguna yang akan menggunakan


(77)

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 password-nya, maka aplikasi akan menampilkan pesan kesalahan (error message) berupa alert. Dan jika pengguna


(78)

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 : 1. Tulis Pesan


(79)

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 pada halaman Kotak Masuk dan juga seterusnya. Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header form Halaman Menu SMS.


(80)

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.

Animasi

Halaman Tulis Pesan Baru

No Tujuan

Tulis SMS

Kunci Enkripsi

Kembali Proses

Gambar 3.9. Rancangan Form Halaman Tulis Pesan Baru

Sebelum data SMS di enkrip pengguna haru masukkan No tujuan field No Tujuan, nomor Tujuan bisa diambil dari daftar kontak yang sudah tersedia pada ponsel, Pada kotak Tulis SMS pengguna disuruh untuk memasukkan pesan atau data SMS baru yang akan di enkrip, pada kotak Kunci Enkripsi pengguna disuruh memasukkan kunci untuk mengenkripsi data pesan SMS .


(81)

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.

Gambar 3.10 Rancangan Form Halaman Laporan Hasil Pesan Terenkripsi


(82)

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 .


(83)

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

Pada list Halaman Daftar Record Pesan Keluar yaitu halaman untuk menampilkan data SMS yang telah dikirim oleh halaman Laporan Hasil Pesan Terenkripsi. Rancangan list halaman daftar record pesan keluar dapat dilihat pada Gambar 3.11.


(84)

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.

Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header Halaman Daftar Record SMS Keluar.


(85)

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.

Animasi

Halaman Detail Pesan Keluar

Untuk

Kembali Hapus

Isi SMS

Kunci Enkripsi

Waktu Kirim

Gambar 3.12. Rancangan Form Halaman Detail Pesan Keluar

Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Hapus. Tombol Kembali untuk kembali pada halaman sebelumnya dan tombol Hapus


(86)

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.

Animasi

Halaman Pesan Masuk

Pengirim

Isi SMS

Kunci Dekripsi

Kembali Proses

Waktu Terima

Gambar 3.13. Rancangan Form Halaman Pesan Masuk

Pada form Halaman SMS Masuk akan terdapat tiga buah teks field, yaitu :


(87)

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 untuk kembali pada halaman sebelumnya dan tombol Proses untuk menuju ke halaman Laporan Dekripsi SMS. Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian header Halaman SMS Masuk.


(88)

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.


(89)

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 pesan SMS yang masuk.


(90)

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

Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan tombol Menu. Tombol Kembali


(91)

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.


(92)

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 menggunakan aplikasi ini. Rancangan form halaman administrator dapat dilihat pada Gambar 3.17.


(93)

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.

Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header Halaman Administrator.


(94)

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

Kemudian terdapat dua buah tombol dibawahnya, yaitu tombol Kembali dan Hapus. Tombol Kembali untuk kembali pada halaman sebelumnya dan tombol Hapus untuk menghapus daftar admin. Untuk memperindah tampilan, maka dibuat juga beberapa animasi berupa text berjalan pada bagian paling atas header Halaman Lihat Admin.


(95)

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 VigenereCipher. 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 dapat dilihat pada Gambar 4.1 di bawah ini.


(96)

Gambar 4.1. Perancangan Aplikasi menggunakan JCreator LE 4.00 Setelah Proses Pengkodingan maka source code tersebut dapat di jalankan dengan menggunakan JAVA wireless toolkit 2.5.2. di bawah ini merupakan tampilan- tampilan desain Aplikasi SMS.

4.1.1 Form Halaman Utama

Halaman Utama berisi judul skripsi, Logo, Nama penulis, Fakultas dan Jurusan penulis.


(97)

Gambar 4. 2 Form Halaman Utama

Halaman ini 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.


(98)

4.1.2 Form Halaman Login

Halaman ini bertujuan untuk membatasi pengguna yang akan menggunakan Aplikasi SMS ini. Sehingga hanya pengguna tertentu yang dapat mengakses Aplikasi ini.

Gambar 4. 3 Form Halaman Login

Nama Login dan Password dapat di setting pada halaman admin terlebih dahulu. Pada halaman ini terdapat dua tombol “lanjut” dan “kembali. Jika menekan tombol ‘lanjut”,


(99)

maka akan masuk ke halaman Menu SMS, jika menekan tombol “kembali”, akan kembali ke Halaman Menu Utama.

4.1.3 Form Halaman Menu SMS

Pada Halaman ini, terdapat empat menu untuk menggunakan aplikasi ini.


(1)

103

Selain itu, pada bagian ini jug akan diberikan hasil pengujian kunci keamanan aplikasi yang dihasilkan dari proses enkripsi. Hasil pengujian kunci enkripsi tersebut dapat dilihat pada Tabel 5.1.

Tabel 5.1 Hasil Pengujian Kebenaran Enkripsi

Plainteks Kunci

Pengirim

Cipherteks

SELAMAT uin _myuun+

SELAMAT UIN bMYUUNc

selamat uin T=FBB[U

selamat UIN _myuun+

5.1.8 Uji coba Kunci Deskripsi SMS

SMS yang masuk akan berupa chipertext, sehingga penerima SMS harus memasukkan kunci untuk dapat mendeskripsikan pesan tersebut. Contoh pendeskripsian SMS dapat dilihat pada Gambar 5.8

Gambar 5.8 Deskripsi SMS


(2)

Hasil pengujian penerimaan pesan tersebut dapat dilihat pada Tabel 5.2.

Tabel 5.2. Hasil Pengujian Penerimaan Pesan

Plainteks Kunci

Pengirim

Enkripsi Kunci

Penerima

Dekripsi

SELAMAT uin _myuun+ uin SELAMAT SELAMAT uin _myuun+ kunci 2-LSMDT

selamat uin T=FBB[U uin selamat

selamat uin T=FBB[U satu umfacnu

5.2 Analisis Hasil Pengujian

Berdasarkan hasil pengujian enkripsi yang dilakukan, jika pengirim dan penerima pesan memasukkan kunci hasil dari pengujian fitur enkripsi perangkat lunak pada lingkungan telepon selular berjalan dapat dienkripsi dengan benar oleh pengirim seperti terlihat pada Tabel 5.1 Oleh karena itu, dapat disimpulkan bahwa perangkat lunak yang telah dibangun dapat berjalan dengan baik pada lingkungan telepon selular.

Pada Tabel 5.2 terlihat bahwa pengguna yang tidak memasukkan kunci yang benar, tidak akan dapat mengetahui makna pesan yang masuk. Walaupun pesan dapat didekripsi, namun pesan yang terlihat tidak mengandung makna atau arti. Jika kunci yang dimasukkan benar, maka pesan dapat didekripsi dan makna dari pesan dapat diketahui.


(3)

105

Melalui hasil pengujian, dapat disimpulkan bahwa perangkat lunak dapat berjalan dengan baik pada telepon selular yang memenuhi kriteria spesifikasi minimum perangkat lunak. Perangkat lunak dapat mengirim dan menerima pesan dengan baik pada telepon selular yang terdapat aplikasi Enkripsi SMS yang telah dibangun. Kesimpulan terakhir bahwa Algoritma Vigenere Cipher dapat diterapkan pada proses mengamankan pesan pada telepon selular.


(4)

106   

BAB VI

PENUTUP

Pada bab ini berisi mengenai kesimpulan selama pengerjaan skripsi ini, selain itu terdapat saran-saran yang dapat membangun skripsi ini menjadi lebih baik.

6.1 Kesimpulan

Kesimpulan dari penelitian yang telah penulis lakukan yaitu :

a. Perangkat lunak yang telah dibangun menggunakan metode Vigenere Cipher untuk enkripsi SMS pada telepon selular dapat berjalan dengan baik. Perangkat lunak tersebut dapat mengirim dan menerima pesan dengan baik jika pengirim dan penerima memiliki aplikasi yang dimaksud.

b. Metode Vigenere Cipher yang telah dikembangkan dapat meningkatkan keamanan sehingga kriptanalis membutuhkan analisis yang lebih tinggi untuk memecahkan kunci. Pesan tidak akan dapat dibaca apabila penerima tidak memiliki kunci yang sama dengan si-pengirim. 

c. Metode Vigenere Cipher dapat diterapkan untuk mengenkripsi pesan pada telepon selular karena algoritmanya yang sederhana dan mudah


(5)

107   

   

diimplementasikan. Perangkat lunak dapat dijalankan pada telepon selular khususnya yang sudah mendukung aplikasi JAVA MIDP yang dibangun dengan bahasa pemrograman Java.

d. Algoritma Vigenere Cipher dapat diimplementasikan dengan baik pada jaringan GSM

6.2 Saran

Saran yang ingin penulis sampaikan kepada pembaca atau mahasiswa lain yaitu sebagai berikut :

a. Untuk meningkatkan kemanan pesan sebaiknya dikombinasikan dengan Algoritma-algoritma yang bisa untuk enkripsi pesan SMS. Sehingga Kriptanalis sangat sulit untuk memecahkan kunci enkripsi SMS yang dibuat.  

 


(6)

DAFTAR PUSTAKA

[1] Menezes Alfred, Oorschot Paul Van and Vanston Sean, 1996. “Handbook of Applied Cryptography”, CRC Press.

[2] Piroumian Vartan. 2002. “Wireless J2ME Platform Programming”. Prentice Hall PTR.

[3] Sommerville, Ian, 2003. “Rekayasa Perangkat Lunak”. Erlangga. Jakarta.

[4] Supardi Yuniar. 2008 “Pemrograman Handphone dengan J2ME”, PT elex Media Komputindo. Jakarta.

[5] Suyanto Asep Herman. Review Metodologi Pengembangan Perangkat Lunak. http://www.asep-hs.web.ugm.ac.id/Artikel/RPL/RPL.pdf. Tanggal akses 20 Januari 2011.

[6] Wicaksono Kukuh Nasrul. Modifikasi Vigenere Cipher Dengan Menggunakan Teknik Substitusi Berulang Pada Kuncinya.

http://www.informatika.org/~rinaldi/Kriptografi/2008-2009/Makalah1/MakalahIF30581-2009-a002.pdf. Tanggal akses: 20 Januari 2011. [7] http://ocw.gunadarma.ac.id/course/industrial‐technology/informatics‐

engineering‐s1/rekayasa‐perangkat‐lunak‐1/pendahuluan. Tanggal akses 20  Janurai 2011