Perancangan Aplikasi SMS (Short Message Service) dengan Enkripsi Teks Menggunakan Algoritma XXTEA Berbasis Android

PERANCANGAN APLIKASI SMS (SHORT MESSAGE SERVICE) DENGAN
ENKRIPSI TEKS MENGGUNAKAN ALGORITMA XXTEA BERBASIS
ANDROID

SKRIPSI

RABIATUL ADAWIYAH DAULAY
101402113

PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014

Universitas Sumatera Utara

PERANCANGAN APLIKASI SMS (SHORT MESSAGE SERVICE) DENGAN
ENKRIPSI TEKS MENGGUNAKAN ALGORITMA XXTEA
BERBASIS ANDROID


SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi

RABIATUL ADAWIYAH DAULAY
101402113

PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014

Universitas Sumatera Utara

ii

PERSETUJUAN


Judul

:PERANCANGAN APLIKASI SMS (SHORT
MESSAGE SERVICE) DENGAN ENKRIPSI TEKS
MENGGUNAKAN
ALGORITMA
XXTEA
BERBASIS ANDROID

Kategori

: SKRIPSI

Nama

: RABIATUL ADAWIYAH DAULAY

Nomor Induk Mahasiswa

: 101402113


Program Studi

: S1 TEKNOLOGI INFORMASI

Departemen

: TEKNOLOGI INFORMASI

Fakultas

: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing

:

Pembimbing 2


Pembimbing 1

Dedy Arisandi, ST., M.Kom

M. Andri Budiman, ST., M.Comp.Sc., M.E.M.

NIP. 19790831 200912 1 002

NIP. 19751008 200801 1 011

Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,

Muhammad Anggia Muchtar, ST., MM.IT
NIP. 198001102008011010

Universitas Sumatera Utara

iii


PERNYATAAN

PERANCANGAN APLIKASI SMS (SHORT MESSAGE SERVICE) DENGAN
ENKRIPSI TEKS MENGGUNAKAN ALGORITMA XXTEA
BERBASIS ANDROID

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan,

Rabiatul Adawiyah Daulay
101402113

Universitas Sumatera Utara

iv


UCAPAN TERIMA KASIH

Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha
Penyayang, dengan limpahan rahmat dan karunia-Nya penulisan tugas akhir ini
berhasil diselesaikan dalam waktu yang telah ditetapkan.
Terima kasih kepada Bapak M. Andri Budiman ST., M.Comp.Sc., M.E.M. dan
Bapak Dedy Arisandi, ST., M.Kom selaku pembimbing atas segala ilmu, motivasi,
nasehat, dan bantuan yang telah diberikan sehingga penulis dapat menyelesaikan
penelitian tugas akhir hingga penyelesaian penulisan skripsi ini. Untuk seluruh staf
pengajar Program Studi Teknologi Informasi, terutama Bapak Baihaqi Siregar, S.Si,
M.T dan Ibu Sarah Purnamawati, S.T., M. Sc selaku penguji.
Ucapan terima kasih yang tiada tara untuk kedua orang tua penulis. Untuk
Mamak dan Ayah yang telah menjadi orang tua terhebat sejagad raya, yang selalu
memberikan motivasi, nasehat, cinta, perhatian, dan kasih sayang serta doa yang tentu
takkan bisa penulis balas.
Untuk bunde, abang, kakak dan kedua adik penulis, terima kasih atas segala
perhatian, kasih sayang, dan motivasi serta doanya. Terima kasih banyak telah
menjadi motivator yang luar biasa sehingga penulis dapat menyelesaikan penelitian ini.
Terima kasih untuk sahabat-sahabat, Nency, Ilda, Fitra, Epin, Fhilien, serta

terima kasih yang lebih untuk sahabat masa SMA, Maria Pasaribu dan Winda Safitri
untuk motivasi, dukungan, bantuan, serta perhatian sehingga skripsi ini bisa selesai
tepat waktu.
Dan terima kasih untuk teman-teman seperjuangan Teknologi Informasi USU
Angkatan 2010 serta abang dan kakak senior untuk bantuan dan kebersamaan selama
perkuliahan di Teknologi Informasi USU.
Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga
tugas akhir ini dapat bermanfaat bagi semua pihak yang memerlukannya.

Universitas Sumatera Utara

v

ABSTRAK

SMS adalah salah satu fasilitas yang disediakan ponsel untuk melakukan pengiriman
data berupa pesan singkat. Namun, sayangnya pesan yang dikirimkan melalui SMS
tidak dapat dijamin integritas dan keamanannya. Hal tersebut dikarenakan pesan yang
dikirim akan disimpan di SMSC (Short Message Service Center), yaitu tempat dimana
SMS disimpan sebelum dikirim ke tujuan. Pesan yang sifatnya plaintext ini dapat

disadap oleh siapa saja yang berhasil memiliki akses ke dalam SMSC. Akibatnya,
informasi penting dapat diketahui oleh orang yang tidak berhak. Hal-hal tersebut dapat
menjadi sangat merugikan jika informasi yang dicuri atau disadap adalah informasi
yang bersifat pribadi atau rahasia. Sehingga diperlukan suatu penerapan algoritma
enkripsi untuk mencagah penyadapan terhadap pesan SMS. Pada penelitian ini,
penulis menggunakan algoritma XXTEA atau Corrected Block Tea. XXTEA
beroperasi dalam ukuran blok kelipatan 32 bit dan panjang kunci 128 bit.
Karakteristik dari XXTEA adalah small, secure, simple dan fast. Dengan karakteristik
seperti ini, XXTEA cocok utuk diaplikasikan ke perangkat elektronik mobile. Hasil
pengujian yang didapat, aplikasi yang dibangun dapat mengamankan SMS tepat
sebelum SMS dikirim dan lamanya waktu rata-rata proses enkripsi adalah 419017.3
nanosecond sedangkan waktu rata-rata proses dekripsi adalah 83722.58 nanosecond.

Kata kunci: Enkripsi, SMS, Short Message Text,

XXTEA, Kompleksitas Waktu

Algoritma

Universitas Sumatera Utara


vi

DESIGN SMS (SHORT MESSAGE TEXT) APPLICATION WITH
ENCRYPTION USING XXTEA AGORITHM ANDROID BASED
ABSTRACT

SMS is one of facilities which provided by the phone for data transmission as short
messages. However, unfortunately, message sent via SMS can not guarantee its
integrity and security. That is because message which is sent will be stored in the
SMSC (Short Message Service Center), is a place where SMS is stored before it will
be sent to the destination. This plaintext message can be intercepted by anyone who is
able to have access to the SMSC. As a result, the important information can be known
by an unauthorized person. These things can be very harmful if the information which
is stolen or intercepted is private or confidential. So, we need an encryption algorithm
to prevent malicious application intercepts the SMS. In this study, the author used the
algorithm XXTEA or Corrected Block Tea. XXTEA. XXTEA is operated in blok
dimension with multiplies of 32 bits and the key length of 128 bit. Characteristics of
XXTEA is small, secure, simple and fast. With these characteristics, XXTEA fitted to
be applied to mobile electronic devices. From the acquired test results, the application

can secure the SMS just before it sent and average duration of encryption is 419017.3
nanosecond whereas average duration of decryption is 419017.3 nanosecond.

Keyword: Encryption, SMS, Short Message Text, XXTEA, Time Complexity of
Algorithm, Big Theta

Universitas Sumatera Utara

vii

DAFTAR ISI

Hal.
Persetujuan

ii

Pernyataan

iii


Ucapan Terima Kasih

iv

Abstrak

v

Abstract

vi

Daftar Isi

vii

Daftar Tabel

x

Daftar Gambar

xi

BAB 1 Pendahuluan

1

1.1. Latar Belakang

1

1.2. Rumusan Masalah

2

1.3. Tujuan Penelitian

3

1.4. Batasan Masalah

3

1.5. Manfaat Penelitian

3

1.6. Sistematika Penulisan

3

BAB 2 Landasan Teori

5

2.1. Short Message Service (SMS)

5

2.1.1. Cara Kerja SMS

6

2.2. Keamanan SMS

7

2.3. Android

8

2.4. Kriptografi

8

Universitas Sumatera Utara

viii

2.4.1. XXTEA

9

2.5. SQLite

11

2.6. Base64

13

2.7. Kompleksitas Algoritma

14

2.7.1. Notasi Asimptotik

15

2.7.2. Kompleksitas Waktu Algoritma

17

2.8. Penelitian Terdahulu

18

BAB 3 Analisis dan Perancangan

20

3.1. Use Case Diagram

20

3.2. Activity Diagram

21

3.3. Flowchart Sistem

21

3.4. Perancangan Sistem

24

3.4.1. Kebutuhan Perangkat Lunak

24

3.4.2. Perancangan Antar Muka Sistem

24

3.5. Perancangan Database

34

3.5.1. Perancangan Tabel

34

3.5.2. Relasi Antar Tabel

35

3.6. Proses Enkripsi dan Dekripsi XXTEA

36

BAB 4 Implementasi dan Pengujian

47

4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak

47

4.2. Pengujian Sistem Secara Menyeluruh

48

4.3. Analisis Kriptografi Terhadap Sistem

59

4.3.1. Analisis Keamanan Pesan Antar Pengguna
4.4. Analisis Performa Aplikasi

59
61

4.4.1. Analisis Kompleksitas Waktu

61

4.4.2. Analisis Performa Waktu Aplikasi

64

4.4.3. Analisis Perubahan Panjang Karakter

66

BAB 5 Kesimpulan dan Saran
5.1. Kesimpulan

69
69

Universitas Sumatera Utara

ix

5.2. Saran

69

Daftar Pustaka

70

Lampiran: Source Code Aplikasi

72

Universitas Sumatera Utara

x

DAFTAR TABEL

Hal.
Tabel 2.8 Penelitian Terdahulu

19

Tabel 3.5.3.1 Nilai ASCII Plaintext “rabi”

36

Tabel 3.5.3.2 Nilai ASCII Plaintext “atul"

36

Tabel 3.5.3.3 Nilai ASCII Kunci “inik”

37

Tabel 3.5.3.4 Nilai ASCII Kunci “unci”

37

Tabel 3.5.3.5 Perubahan Nilai v[0], v[1] dan v[2] pada Enkripsi XXTEA

40

Tabel 3.5.3.6 Perubahan Nilai v[0], v[1] dan v[2] pada Enkripsi XXTEA

45

Tabel 4.3.2.1.1 Perhitungangan Kompleksitas Enkripsi XXTEA

62

Tabel 4.3.2.1.2 Perhitungangan Kompleksitas Dekripsi XXTEA

63

Universitas Sumatera Utara

xi

DAFTAR GAMBAR

Hal.
Gambar 2.1 Cara Kerja SMS

6

Gambar 2.4.1 Flowchart XXTEA

10

Gambar 2.6 Nilai Value pada Base 64

13

Gambar 2.7.1.1 Contoh Grafik dari Notasi Asimptotik Ω

15

Gambar 2.7.1.2 Contoh Grafik dari Notasi Asimptotik θ

16

Gambar 2.7.1.3 Contoh Grafik dari Notasi Asimptotik O

16

Gambar 3.1 Use Case Diagram

20

Gambar 3.2 Activity Diagram

21

Gambar 3.3.1 Flowchart Enkripsi

22

Gambar 3.3.2 Flowchart Dekripsi

23

Gambar 3.4.2.1 Rancangan Tampilan Menu Utama

25

Gambar 3.4.2.2 Rancangan Tampilan Contact

26

Gambar 3.4.2.3 Rancangan Tampilan New Contact

27

Gambar 3.4.2.4 Rancangan Tampilan Update Contact

28

Gambar 3.4.2.5 Rancangan Tampilan SMS

29

Gambar 3.4.2.6 Rancangan Tampilan New Message

30

Gambar 3.4.2.7 Rancangan Tampilan Thread SMS

31

Gambar 3.4.2.8 Rancangan Tampilan Delete SMS

32

Gambar 3.4.2.9 Rancangan Tampilan Delete Contact

33

Universitas Sumatera Utara

xii

Gambar 3.5.1.1 Tabel Contact

34

Gambar 3.5.1.2 Tabel SMS

34

Gambar 3.5.2 Database Relationship

35

Gambar 4.2.1.1 Tampilan Menu Utama

49

Gambar 4.2.1.2 Tampilan SMS

50

Gambar 4.2.1.3 Tampilan Send SMS

51

Gambar 4.2.1.4 Tampilan Inbox

52

Gambar 4.2.1.5 Tampilan Delete SMS

53

Gambar 4.2.1.6 Tampilan Contact

54

Gambar 4.2.1.7 Tampilan New Contact

55

Gambar 4.2.1.8 Tampilan Update Contact

56

Gambar 4.2.1.9 Tampilan Delete Contact

57

Gambar 4.2.2.0 Tampilan Menu Help

58

Gambar 4.3.1.1 Pengirim mengirim SMS

59

Gambar 4.3.1.2 SMS Diterima dengan Aplikasi Default

60

Gambar 4.3.1.3 SMS Diterima dengan Aplikasi Enkripsi

61

Universitas Sumatera Utara

v

ABSTRAK

SMS adalah salah satu fasilitas yang disediakan ponsel untuk melakukan pengiriman
data berupa pesan singkat. Namun, sayangnya pesan yang dikirimkan melalui SMS
tidak dapat dijamin integritas dan keamanannya. Hal tersebut dikarenakan pesan yang
dikirim akan disimpan di SMSC (Short Message Service Center), yaitu tempat dimana
SMS disimpan sebelum dikirim ke tujuan. Pesan yang sifatnya plaintext ini dapat
disadap oleh siapa saja yang berhasil memiliki akses ke dalam SMSC. Akibatnya,
informasi penting dapat diketahui oleh orang yang tidak berhak. Hal-hal tersebut dapat
menjadi sangat merugikan jika informasi yang dicuri atau disadap adalah informasi
yang bersifat pribadi atau rahasia. Sehingga diperlukan suatu penerapan algoritma
enkripsi untuk mencagah penyadapan terhadap pesan SMS. Pada penelitian ini,
penulis menggunakan algoritma XXTEA atau Corrected Block Tea. XXTEA
beroperasi dalam ukuran blok kelipatan 32 bit dan panjang kunci 128 bit.
Karakteristik dari XXTEA adalah small, secure, simple dan fast. Dengan karakteristik
seperti ini, XXTEA cocok utuk diaplikasikan ke perangkat elektronik mobile. Hasil
pengujian yang didapat, aplikasi yang dibangun dapat mengamankan SMS tepat
sebelum SMS dikirim dan lamanya waktu rata-rata proses enkripsi adalah 419017.3
nanosecond sedangkan waktu rata-rata proses dekripsi adalah 83722.58 nanosecond.

Kata kunci: Enkripsi, SMS, Short Message Text,

XXTEA, Kompleksitas Waktu

Algoritma

Universitas Sumatera Utara

vi

DESIGN SMS (SHORT MESSAGE TEXT) APPLICATION WITH
ENCRYPTION USING XXTEA AGORITHM ANDROID BASED
ABSTRACT

SMS is one of facilities which provided by the phone for data transmission as short
messages. However, unfortunately, message sent via SMS can not guarantee its
integrity and security. That is because message which is sent will be stored in the
SMSC (Short Message Service Center), is a place where SMS is stored before it will
be sent to the destination. This plaintext message can be intercepted by anyone who is
able to have access to the SMSC. As a result, the important information can be known
by an unauthorized person. These things can be very harmful if the information which
is stolen or intercepted is private or confidential. So, we need an encryption algorithm
to prevent malicious application intercepts the SMS. In this study, the author used the
algorithm XXTEA or Corrected Block Tea. XXTEA. XXTEA is operated in blok
dimension with multiplies of 32 bits and the key length of 128 bit. Characteristics of
XXTEA is small, secure, simple and fast. With these characteristics, XXTEA fitted to
be applied to mobile electronic devices. From the acquired test results, the application
can secure the SMS just before it sent and average duration of encryption is 419017.3
nanosecond whereas average duration of decryption is 419017.3 nanosecond.

Keyword: Encryption, SMS, Short Message Text, XXTEA, Time Complexity of
Algorithm, Big Theta

Universitas Sumatera Utara

BAB 1
PENDAHULUAN

Bab ini membahas tentang hal-hal yang menjadi latar belakang pembuatan tugas
akhir, rumusan masalah, tujuan, batasan masalah, manfaat, metodologi penelitian serta
sistematika penulisan tugas akhir.
1.1.

Latar Belakang

Beberapa tahun terakhir ini terjadi perkembangan yang pesat pada teknologi, salah
satunya adalah telepon selular (ponsel). Mulai dari ponsel yang hanya bisa digunakan
untuk bicara dan mengirim pesan hingga “ponsel cerdas” (smartphone) yang memiliki
berbagai fungsi seperti multimedia, multiplayer games, transfer data, video streaming
dan lain-lain. Berbagai sistem operasi untuk mengembangkan aplikasi ponsel pun
bermunculan, diantaranya yang cukup dikenal luas adalah android .
Meskipun Android menyediakan berbagai macam media komunikasi yang
memudahkan pengguna untuk mengirim pesan, gambar, suara, video dan file lainnya,
namun fasilitas Short Message Service (SMS) tidak pernah ditinggalkan oleh
pengguna. Hal ini dikarenakan SMS merupakan fasilitas yang dimiliki oleh semua
ponsel. SMS adalah salah satu fasilitas yang disediakan ponsel untuk melakukan
pengiriman data berupa pesan singkat. Namun, sayangnya pesan yang dikirimkan
melalui SMS tidak dapat dijamin integritas dan keamanannya. (Anjari, et al. 2012)
Hal tersebut dikarenakan pesan yang dikirim akan disimpan di SMSC (Short
Message Service Center), yaitu tempat dimana SMS disimpan sebelum dikirim ke
tujuan. Pesan yang sifatnya plaintext ini dapat disadap oleh siapa saja yang berhasil
memiliki akses ke dalam SMSC. Akibatnya, informasi penting seperti password,
nomor pin kartu kredit, nomor rekening bank , dan lain-lain dapat diketahui oleh
orang yang tidak berhak untuk mengetahuinya. Hal-hal tersebut dapat menjadi sangat
merugikan jika informasi yang dicuri atau disadap adalah informasi yang bersifat
pribadi atau rahasia. Dari permasalahan keamanan isi pesan SMS yang telah

Universitas Sumatera Utara

2

dijelaskan sebelumnya, muncul pertanyaan bagaimana cara untuk mengamankan isi
SMS tersebut. Salah satu cara untuk mengatasi permasalahan tersebut adalah dengan
melakukan enkripsi terhadap pesan SMS. Dengan semakin majunya perkembangan
pada perangkat mobile, implementasi suatu algoritma enkripsi menjadi mungkin untuk
diterapkan.
Penelitian terhadap enkripsi SMS sudah pernah dilakukan.

Yaitu dengan

menggunakan algoritma Rabin yang dengan hasil waktu yang dibutuhkan untuk
melakukan enkripsi terhadap isi SMS rata-rata sebesar 96,3 milidetik dan dekripsi
rata-rata sebesar 118 milidetik (Muko, et al. 2012 ). Kemudian dengan algoritma
Vigenere yang dimodifikasi dengan Fibonacci dan key tambahan sehingga
memperkuat keamanan dan privasi (Anjari, et al. 2012).
Pada penelitian ini, penulis menggunakan algoritma XXTEA atau Corrected
Block Tea. XXTEA diciptakan oleh Roger M. Needham dan David J. Wheeler pada
tahun 1998. XXTEA merupakan turunan dari Block TEA. XXTEA beroperasi dalam
ukuran blok kelipatan 32 bit dan panjang kunci 128 bit. Karakteristik dari XXTEA
adalah small, secure, simple dan fast. Dengan karakteristik seperti ini, XXTEA cocok
utuk diaplikasikan ke perangkat elektronik mobile (Khandar.2009).

1.2.

Rumusan Masalah
Hal yang riskan pada komunikasi melalui SMS adalah pesan yang dikirimkan

akan disimpan di SMSC (Short Message Service Center), yaitu tempat dimana SMS
disimpan sebelum dikirim ke tujuan. Pesan yang sifatnya plaintext ini dapat disadap
oleh siapa saja yang berhasil memiliki akses ke dalam SMSC. Akibatnya, informasi
penting seperti password, nomor pin kartu kredit, nomor rekening bank, dan lain-lain
dapat diketahui oleh orang yang tidak berhak untuk mengetahuinya. Hal-hal tersebut
dapat menjadi sangat merugikan jika informasi yang dicuri atau disadap adalah
informasi yang bersifat pribadi atau rahasia. Dari permasalahan keamanan isi pesan
SMS yang telah dijelaskan sebelumnya, muncul pertanyaan bagaimana mengamankan
isi SMS tersebut.

Universitas Sumatera Utara

3

1.3.

Tujuan Penelitian

Mengamankan isi SMS dengan membuat aplikasi berbasis android menggunakan
algoritma XXTEA.

1.4.

Batasan Masalah

Untuk menghindari penyimpangan dan perluasan yang tidak diperlukan, penulis
membuat batasan:
1.

Pembangunan aplikasi fokus pada pengimplementasian kriptografi pada SMS.

2.

Dijalankan pada handphone berbasis Android 2.3 ke atas

1.5.

Manfaat Penelitian

Manfaat dari penelitian ini adalah:
1.

Memberikan

kemudahan

kepada pengguna

handphone seluler untuk

melakukan enkripsi terhadap pesan teks atau sms di android.
2.

Menjadi referensi dalam bidang kriptografi khususnya pada algoritma
XXTEA.

1.6.

Sistematika Penulisan

Tugas akhir ini disusun dalam lima bab dengan sistematika penulisan sebagai berikut:
Bab I Pendahuluan
Bab pendahuluan ini berisi tentang hal-hal yang mendasari dilakukannya
penelitian serta pengidentifikasian masalah penelitian. Bagian-bagian yang
terdapat dalam bab pendahuluan ini meliputi latar belakang masalah,
perumusan masalah, batasan masalah, tujuan penelitian, dan manfaat
penelitian.
Bab II Landasan Teori
Pada bab landasan teori menguraikan dasar teori, penelitian terdahulu,
kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam
melakukan kegiatan penelitian pada tugas akhir ini.
Bab III Analisis dan Perancangan
Pada bab ini akan dibahas tentang rancangan sistem seperti use case untuk
melihat proses apa saja yang dapat dilakukan oleh pengguna, diagram activity

Universitas Sumatera Utara

4

yang menggambarkan jalur aktifitas dari level atas secara umum, flowchart
dari sistem, serta proses enkripsi dan dekripsi menggunakan algoritma
XXTEA.
Bab IV Implemetasi dan Pengujian
Pada bab hasil dan pembahasan akan memaparkan impkementasi sistem dan
hasil terhadap uji coba algoritma yang telah dilakukan dalam meyelesaikan
permasalahan pengamanan pesan pada SMS.
Bab V Kesimpulan dan Saran
Bab ini berisi tentang kesimpulan hasil penelitian dan saran-saran yang
berkaitan dengan penelitian selanjutnya.

Universitas Sumatera Utara

BAB 2
LANDASAN TEORI

Pada bab ini, akan dibahas dasar teori, penelitian terdahulu, kerangka pikir dan
hipotesis yang mendasari penyelesaian permasalahan pengamanan pesan pada SMS
dengan Algoritma XXTEA.

2.1. Short Message Service (SMS)
SMS merupakan sebuah layanan komunikasi yang ada pada telepon seluler untuk
mengirim dan menerima pesan-pesan pendek. SMS pertama kali dikenalkan pada
tanggal 3 Desember 1982. SMS pertama di dunia dikirimkan menggunakan jaringan
GSM milik operator telepon bernama Vodafone. SMS pertama ini dikirimkan oleh
ahli bernama Neil Papwort kepada Richard Jarvis menggunakan komputer (Dwi P, et
al. 2012). Jumlah karakter maksimum pada pesan SMS adalah 160 karakter (huruf,
angka atau simbol dalam abjad Latin). Untuk huruf lain, seperti Cina, ukuran SMS
maksimum adalah 70 karakter (Rayarikar, et al. 2012).

2.1.1. Cara Kerja SMS
Proses cara kerja SMS dilakukan oleh 2 sisi yaitu sender dan receiver, sender
mengirim pesan SMS yang kemudian ditangkap oleh Base Transceiver Station (BTS)
yang kemudian dilanjutkan ke Base Station Controller (BSC) setelah itu proses akan
dikerjakan oleh Mobile Switching Center (MSC) yang bertugas sebagai Gateway dan
yang terakhir proses dilakukan oleh Short Message Service Center (SMSC) yang
bertugas store dan forwading SMS. Alur kerja SMS, dapat dilihat pada gambar 2.1.

Universitas Sumatera Utara

6

Gambar 2.1 Cara Kerja SMS (Rayarikar, et al. 2012)

Menurut Dwi P. (2012), tugas dari masing-masing perangkat dapat dijelaskan sebagai
berikut:
1. BTS
BTS berfungsi sebagai perangkat tranceiver untuk melakukan komunikasi
dengan semua handset (MS) yang aktif dan berada dalam area cakupannya
(cell). BTS melaksanakan proses modulasi/demodulasi sinyal, equalisasi sinyal
dan pengkodean error (error coding). Beberapa BTS dapat terhubung dengan
sebuah BSC (Base stasion Controller), sementara itu radius cakupan dari suatu
cell berkisar antara 10 sampai 200 m untuk cell terkecil hinggal beberapa
kilometer untuk cell terbesar. Sebuah BTS biasanya dapat melayani 20–40
komunikasi panggilan secara bersamaan.
2. BSC
BSC

menyediakan

fungsi

pengaturan

pada

beberapa

BTS

yang

dikendalikannya. Diantaranya fungsi handover, konfigurasi cell site,
pengaturan sumber daya radio, serta tuning power dan frekuensi pada suatu
BTS. BSC merupakan simpul (konmsentrator) untuk menghubungkan dengan
core network. Dalam jaringan GSM umumnya sebuah BSc dapat mengatur 70
buah BTS.

Universitas Sumatera Utara

7

3. MSC
MSC berfungsi melakukan fungsi switching dan bertanggung jawab untuk
melakukan pengaturan panggilan, call setup, release, dan routing. MSC juga
melakukan fungsi billing dan sebagai gateway ke jaringan lain.
4. SMSC
SMSC berfungsi menyampaikan pesan SMS antar Mobile Station(MS)/ HP,
dan juga melakukan fungsi store-and-forwarding SMS jika nomor penerima
sedang tidak dapat menerima pesan. Didalam jaringanya sebuah operator dapat
mempunyai lebih dari satu perangkat SMSC, sesuai besar trafik SMS jaringan
tersebut.

2.2. Keamanan SMS
Ada beberapa risiko yang dapat mengancam keamanan pesan pada layanan SMS salah
satunya adalah SMS interception. Celah keamanan terbesar pada layanan komunikasi
SMS adalah pada saat SMS tersebut sedang dikirim melalui jaringan SMS tersebut.
SMS bekerja pada jaringan nirkabel yang memungkinkan terjadinya pencurian isi
pesan SMS ketika dalam proses transmisi dari pengirim ke penerima. Kasus ini
disebut SMS interception. Hal ini dikarenakan SMS yang dikirim akan disimpan di
SMSC, sehingga dapat dibaca oleh siapa saja yang dapat mengakses SMSC (Fajar, et
al. 2014).
Di Indonesia, pemberian informasi SMS yang diterima dan dikirim oleh provider
kepada badan hukum diatur oleh Pasal 87 PP No. 52 Tahun 2000 tentang
Penyelenggaraan Telekomunikasi, yang menyatakan dalam hal untuk keperluan
proses peradilan pidana, penyelenggara jasa telekomunikasi dapat merekam informasi
yang dikirim dan atau diterima oleh penyelenggara jasa telekomunikasi serta dapat
memberikan informasi yang diperlukan. Walaupun melanggar privasi pelanggan.
Selain itu, aplikasi penyadapan seperti FlexiSpy. Aplikasi ini bisa memantau
semua aktifitas yang di lakukan ponsel target. Mulai dari data SMS hingga percakapan
telepon. Informasinya di kirim melalui kanal GPRS ke server FlexiSpy dan bisa di
pantau tanpa si ketahui pemilik ponsel.

Universitas Sumatera Utara

8

2.3. Android
Android adalah sistem operasi untuk telepon seluler berbasis Linux. Android
menyediakan platform terbuka bagi para pengembang untuk membangun aplikasi
yang dapat dijalankan di bermacam telepon seluler. Awalnya, Google Inc. membeli
Android Inc. yang merupakan pendatang baru dalam teknologi telepon seluler.
Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance,
konsorsium dari 34 perusahaan piranti keras, piranti lunak, dan telekomunikasi,
termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia (Dwi P, et
al. 2012).
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open
Handset Aliance menyatakan mendukung pengembangan standar terbuka pada telepon
seluler.
Fitur yang tersedia di Android antara lain:
– Framework aplikasi yang mendukung penggantian komponen dan reusable
– Dalvik virtual machine
– Integrated browser
– Grafik berdasarkan OpenGL
– SQLite untuk penyimpanan data
– Multimedia support
– Linkungan Development yang lengkap dan kaya termasuk perangkat emulator,
tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE
Eclipse.

2.4. Kriptografi
Menurut Sadikin (2012), kriptografi adalah ilmu yang bersandarkan pada teknik
matematika yang berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan
data dan otentikasi entitas.
Kriptografi terbagi atas dua kategori yaitu kriptografi klasik dan kriptografi
modern. Kriptografi klasik adalah sistem kriptografi yang menggunakan penyandian
kunci simetris dan menggunakan metode subtitusi (pergantian huruf) atau transposisi
(pertukaran tempat). Dan kriptografi modern adalah sistem kriptografi yang
menggunakan penyandian kunci asimetris (Sadikin, 2012).

Universitas Sumatera Utara

9

Berikut ini adalah beberapa mekanisme yang berkembang pada kriptografi:
1. Fungsi Hash
Fungsi hash adalah fungsi yang melakukan pemetaan pesan dengan panjang
sembarang ke sebuah teks khusus yang disebut message digest dengan panjang
yang tetap. Fungsi hash pada umumnya digunakan untuk menguji keutuhan
pada sebuah data.
2. Penyandian dengan kunci asimetris
Penyandian dengan kunci asimetris atau sering juga disebut dengan kunci
publik adalah penyandian yang pada proses enkripsi dan dekripsinya memiliki
kunci yang berbeda. Pada kunci yang digunakan untuk enkripsi bersifat publik
(public key). Sedangkan kunci yang digunakan untuk dekripsi bersifat rahasia
(private key). Beberapa jenis kriptografi dengan penyandian kunci asimetris
antara lain RSA, Diffie-Helman, eL-Gamal, Knapsack, dan beberapa
penerapan teknik Elliptic Curve.
3. Penyandian dengan kunci simetris
Penyandian dengan kunci simetris adalah penyandian yang pada proses
enkripsi dan dekripsinya menggunakan sebuah kunci yang sama. Kunci yang
digunakan pada proses enkripsi dan dekripsi bersifat rahasia. Beberapa jenis
kriptografi dengan penyandian kunci simetris antara lain Data Encryption
Standard (DES), 3DES, Advance Encryption Standard (AES), Blowfish dan
International Data Encryption Algorithm (IDEA).

2.4.1. XXTEA
Correted Block TEA (atau biasa disebut dengan XXTEA) adalah cipher block yang
dirancang untuk memperbaiki kelemahan dalam Block TEA sebelumnya (XTEA).
XXTEA adalah operasi jaringan Feistel pada blok yang terdiri dari setidaknya dua
buah kata 32 -bit dan menggunakan kunci 128-bit (Yarrkov, 2010). Algoritma
XXTEA didesain oleh Roger Needham dan David Wheeler dari Laboratorium
Komputer Cambridge, Algoritma ini dipublikasikan dalam laporan teknis pada bulan
Oktober 1998. XXTEA juga merupakan sebuah algoritma enkripsi efektif yang mirip
dengan DES yang dapat digunakan untuk aplikasi web yang membutuhkan keamanan.
Ketika menggunakan algoritma ini, sebuah perubahan dari teks asal akan mengubah

Universitas Sumatera Utara

10

sekitar setengah dari teks hasil tanpa meninggalkan jejak dimana perubahan berasal
(Atmojo, 2012).
XXTEA beroperasi pada blok yang berukuran tetap yang merupakan kelipatan
32 bits dengan ukuran minimal 64 bits. Jumlah dari putaran lengkap bergantung pada
ukuran blok, tetapi terdapat minimal 6 (bertambah terus hingga 32 untuk ukuran blok
yang lebih kecil). Algoritma ini menggunakan lebih banyak fungsi pengacakan yang
menggunakan kedua blok tetangganya dalam pemrosesan setiap kata dalam blok.
Flowchart XXTEA, dapat dilihat pada gambar 2.4.1(Fernando, 2009)

Gambar 2.4.1 Flowchart XXTEA (Fernando, 2009)

Gambar 2.4.1 menampilkan proses pengacakan yang dilakukan pada satu
iterasinya. Proses iterasi dalam XXTEA dilakukan dalam 2 kali iterasi yang dilakukan
secara bersarang. Pada iterasi teratas, iterasi dilakukan sebanyak q, dimana:
q = 6 + 52/n
dengan n ≥ 1 dimana n adalah jumlah blok dari plaintext. Lalu, pada iterasi
selanjutnya, iterasi dilakukan sebanyak n kali.
Proses pengacakan yang dilakukan dalam satu iterasi XXTEA adalah sebagai
berikut:
1.

Algoritma akan mengacak blok ke-r dari plaintext.

2.

Proses akan mengambil Xr-1, Xr+1, DELTA, dan kata kunci sebagai
input.

Universitas Sumatera Utara

11

3.

Pengacakan pertama: Xr-15.

4.

Pengacakan kedua: Xr-1>>3 di-XOR-kan dengan Xr+12).

8.

Hasil yang didapat dari tahap ke 6 dan 7 ditambahkan.

9.

Hasil yang didapat dari tahap 5 dan 8 di- XOR-kan.

10.

Hasil yang didapat pada tahap 9 ditambahkan ke blok plaintext ke-r.

XXTEA tidak memiliki batas ukuran blok, XXTEA dapat digunakan untuk
mengenkripsi satu buah pesan utuh tanpa memerlukan mode operasi cipher. Meski
XXTEA dapat mengenkripsi keseluruhan pesan atau file sekaligus, pada
implementasinya XXTEA dapat dioperasikan dengan mode operasi untuk file-file
yang berukuran sangat besar sehingga tidak bisa dibaca ke dalam memory sekaligus
(Atmojo, 2012).
Kelebihan dari XXTEA menurut hatipoglu (2009) adalah:


Kunci 128 bit



Panjang blok adalah kelipatan 32 bit dengan minimal blok adalah 64 bit



Hanya membutuhkan komputasi dan kebutuhan memori yang sangat rendah



Memberikan keamanan terbaik dilihat dari cycle ratio nya



Mudah diimplementasikan



Memberikan keamanan yang baik pada cycle yang lebih sedikit



Lebih efisien untuk pesan panjang



Bebas dipublikasikan karena tidak membutuhkan lisensi atau hak paten

Selain itu, XXTEA sangat cocok untuk diaplikasikan ke perangkat-perangkat
elektronik mobile seperti handphone karena proses enkripsi dan dekripsinya tidak
memakan resource terlalu berat (Khandar, 2009).

2.5. SQLite
SQLite merupakan sebuah sistem manajemen database relasional yang bersifat ACID
- compliant dan memiliki ukuran pustaka kode yang relatif kecil dan ditulis dalam

Universitas Sumatera Utara

12

bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan
oleh D. Richard Hipp. Tidak seperti pada paradigma client-server umumnya, Inti
SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah
program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan.
Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan
API secara langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya
membawa keuntungan karena dapat mereduksi overhead, latency times, dan secara
keseluruhan lebih sederhana. Seluruh elemen database (definisi data, tabel, indeks,
dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa
diraih dengan cara mengunci keseluruhan file database pada saat sebuah transaksi
dimulai.
SQLite mengimplementasikan hampir seluruh elemen-elemen standar yang
berlaku pada SQL-92, termasuk transaksi yang bersifat atomic, konsistensi database,
isolasi, dan durabilitas (dalam bahasa inggris lebih sering disebut ACID), trigger, dan
queri-queri yang kompleks. Tidak ada pengecekan tipe sehingga data bisa dientrikan
dalam bentuk string untuk sebuah kolom bertipe integer. Beberapa kalangan melihat
hal ini sebagai sebuah inovasi yang menambah nilai guna dari sebuah database,
utamanya ketika digunakan dalam bahasa pemrograman berbasis script (PHP, Perl),
sementara kalangan lain melihat hal tersebut sebagai sebuah kekurangan. Beberapa
proses ataupun thread dapat berjalan secara bersamaan dan mengakses database yang
sama tanpa mengalami masalah. Hal ini disebabkan karena akes baca data dilakukan
secara paralel. Sementara itu akses tulis data hanya bisa dilakukan jika tidak ada
proses tulis lain yang sedang dilakukan; jika tidak, proses tulis tersebut akan gagal dan
mengembalikan kode kesalahan (atau bisa juga secara otomatis akan mencobanya
kembali sampai sejumlah nilai waktu yang ditentukan habis). Hanya saja ketika
sebuah tabel temporer dibuat, mekanisme penguncian pada proses multithread akan
menyebabkan masalah . Update yang terkini dikatakan telah memperbaiki masalah
ini. Sebuah program yang mandiri dinamakan sqlite disediakan dan bisa digunakan
untuk mengeksekusi queri dan memanajemen file-file database SQLite (Nugroho, et
Al. 2011).

Universitas Sumatera Utara

13

2.6. Base64
Base64 adalah istilah umum untuk sejumlah skema pengkodean serupa yang
mengkodekan data biner dan menerjemahkannya ke dalam representasi basis 64.
Istilah Base64 berasal dari konten pengkodean MIME tertentu. Skema encoding
base64 biasanya digunakan ketika ada kebutuhan untuk menyandikan data biner yang
perlu disimpan dan ditransfer melalui media yang dirancang untuk menangani data
tekstual. Hal ini untuk memastikan bahwa data tetap utuh tanpa perubahan selama
pengiriman. Base64 digunakan umum dalam beberapa aplikasi termasuk email
melalui MIME, dan penyimpanan data yang kompleks dalam XML.
Base64 menggunakan karakter A – Z, a – z dan 0 – 9 untuk 62 nilai pertama,
sedangkan 2 nilai terakhir digunakan untuk symbol (+ dan /). beberapa metode
encoding lain seperti uuencode dan binhex menggunakan 64 karakter yang berbeda
untuk mewakili 6 binary digit, namun metode-metode tersebut tidak disebut sebagai
encoding Base64 (Atmojo, 2012).

Gambar 2.6 Nilai Value pada Base 64

Universitas Sumatera Utara

14

2.7. Kompleksitas Algoritma
Suatu masalah dapat mempunyai banyak algoritma penyelesaian. Algoritma yang
digunakan tidak saja harus benar, namun juga harus efisien. Efisiensi suatu algoritma
dapat diukur dari waktu eksekusi algoritma dan kebutuhan ruang memori. Algoritma
yang efisien adalah algoritma yang meminimumkan kebutuhan waktu dan ruang.
Dengan menganalisis beberapa algoritma untuk suatu masalah, dapat diidentifikasi
satu algoritma yang paling efisien. Besaran yang digunakan untuk menjelaskan model
pengukuran waktu dan ruang ini adalah kompleksitas algoritma.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak
komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara
informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang
singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan
waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Kompleksitas algoritma terdiri dari dua macam yaitu kompleksitas waktu dan
kompleksitas ruang.
Kompleksitas waktu, dinyatakan oleh T(n) , diukur dari jumlah tahapan
komputasi yang dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran
masukan n, di mana ukuran masukan (n) merupakan jumlah data yang diproses oleh
sebuat algoritma. Sedangkan kompleksitas ruang, S(n) , diukur dari memori yang
digunakan oleh struktur data yang terdapat di dalam algoritma sebagai fungsi dari
masukan n. Dengan menggunakan kompleksitas waktu atau kompleksitas ruang, dapat
ditentukan laju peningkatan waktu atau ruang yang diperlukan algoritma, seiring
dengan meningkatnya ukuran masukan ( n).
Kecenderungan saat ini, ruang (memori utama) yang disediakan semakin besar
yang artinya kapasitas data yang diproses juga semakin besar. Namun, waktu yang

Universitas Sumatera Utara

15

diperlukan untuk menjalankan suatu algoritma harus semakin cepat. Karena kompleksitas
waktu menjadi hal yang sangat penting, maka analisis kompleksitas algoritma deteksi tepi
akan dilakukan terhadap running time algoritma tersebut.

2.7.1. Notasi Asimptotik
Untuk nilai n cukup besar, bahkan tidak terbatas, dilakukan analisis efisiensi asimptotik
dari suatu algoritma untuk menentukan kompleksitas waktu yang sesuai atau disebut juga
kompleksitas waktu asimptotik. Notasi yang digunakan untuk menentukan kompleksitas
waktu asimptotik dengan melihat waktu tempuh (running time) algoritma adalah notasi
asimptotik (asimptotic notation). Notasi asimptotik didefinisikan sebagai fungsi dengan
domain himpunan bilangan asli N = {0,1,2, 3,…. } (Cormen et al., 2009: 43).
Kompleksitas waktu asimptotik terdiri dari tiga macam. Pertama, keadaan terbaik
(best case) dinotasikan dengan (Ω) (Big-Omega), keadaan rata-rata (average case)
dilambangkan dengan notasi (Θ) (Big-Theta) dan keadaan terburuk (worst case)
dilambangkan dengan (O) (Big-O).

Gambar 2.7.1.1 Contoh Grafik dari Notasi Asimptotik Ω

Gambar 2.7.1.1 menunjukkan notasi Ω menjadi batas bawah dari suatu fungsi f(n)
agar berada dalam suatu faktor konstan. Dinyatakan f(n) =O(g(n)) jika terdapat

Universitas Sumatera Utara

16

konstanta positif n0 dan c sedemikian sehingga pada n0 dan di kanan n0 , nilai f(n)
selalu berada tepat cg(n) pada atau di atas cg(n) .

Gambar 2.7.1.2 Contoh Grafik dari Notasi Asimptotik θ

Pada gambar 2.7.1.2, n0 merupakan nilai n minimum yang mungkin. Yaitu
menunjukkan notasi Θ membatasi suatu fungsi f(n) agar berada dalam faktor konstan.
Dinyatakan f(n) = Θ (g(n)) jika terdapat konstanta positif n0, c1, dan c2 sedemikian
sehingga pada n0 dan di kanan n0, nilai f(n) selalu berada tepat pada c1 g(n), tepat pada
c2 g(n) , atau di antara c1 g(n) dan c2 g(n) .

Gambar 2.7.1.3 Contoh Grafik dari Notasi Asimptotik O

Gambar 2.7.1.3 menunjukkan notasi menjadi batas atas dari suatu fungsi f(n) agar
berada dalam suatu faktor konstan. Dinyatakan f(n) = O (g(n)) jika terdapat konstanta

Universitas Sumatera Utara

17

positif n0 dan c sedemikian sehingga pada n0 dan di kanan n0 , nilai f(n) selalu berada
tepat pada cg(n) atau di bawah cg(n). Kompleksitas waktu algoritma biasanya dihitung
dengan menggunakan notasi O(g(n)), dibaca “big-O dari g(n) ”.

2.7.2. Kompleksitas Waktu Algoritma
Untuk menentukan kompleksitas waktu suatu algoritma, diperlukan ukuran masukan
n serta running time algoritma tersebut. Pada umumnya, running time algoritma
meningkat seiring dengan bertambahnya ukuran n. Sehingga, running time suatu
algoritma dapat dinyatakan sebagai fungsi dari n .
Ukuran masukan n untuk suatu algoritma bergantung pada masalah yang
diselesaikan oleh algoritma tersebut. Pada banyak kasus, seperti pengurutan, ukuran
yang paling alami adalah jumlah item dalam masukan. Dalam kasus lain, seperti
mengalikan dua bilangan bulat, ukuran input terbaik adalah jumlah bit yang
diperlukan untuk mewakili masukan dalam notasi biner biasa.
Running time algoritma pada masukan n tertentu merupakan jumlah operasi
atau langkah yang dieksekusi. Selanjutnya, jumlah waktu yang konstan diperlukan
untuk mengeksekusi setiap baris pseudocode (kode semu). Satu baris dapat memiliki
jumlah waktu yang berbeda dari baris lain. Namun asumsikan bahwa setiap
pelaksanaan baris ke-i membutuhkan waktu sebesar ci, di mana ci adalah konstanta.
Dalam menentukan running time suatu baris pada pseudocode, kalikan
konstanta ci dengan jumlah waktu yang diperlukan untuk mengeksekusi baris tersebut.
Untuk kasus di mana terdapat perintah loop while atau for dengan panjang , maka
perintah tersebut dieksekusi dengan waktu n+1. Sedangkan untuk baris berisi
komentar, dinyatakan sebagai baris yang tidak dieksekusi, sehingga jumlah waktu
untuk baris tersebut adalah nol.
Selanjutnya, running time dari algoritma adalah jumlah dari running time setiap
perintah yang dieksekusi. Sebuah perintah yang membutuhkan ci langkah n waktu
untuk dieksekusi akan memiliki pengaruh sebesar cin pada running time total (T(n) ).
Setelah diperoleh bentuk fungsi T(n) , dapat ditentukan bentuk dari algoritma
tersebut dengan menggunakan notasi asimptotik O. Dengan ditentukannya bentuk
algoritma, maka dapat diramalkan berapa besar peningkatan running time jika ukuran
masukan ditingkatkan.

Universitas Sumatera Utara

18

Suatu algoritma dikatakan anggota θ(g(n)) jika algoritma itu adalah anggota
O(g(n)) dan anggota Ω(g(n)). Contoh : Karena T(n) = c1n2 + c2n adalah angota O( n2)
dan anggota Ω( ), maka T(n) adalah anggota θ (n2 ).
Contoh :
For i ← 1 to n do
For j ← 1 to i do
For k ← j to n do
a←a+1
end for
end for
end for

Nilai big O, big Ω, dan big Θ dari algoritma di atas adalah sebagai berikut :
Untuk i = 1,
Untuk j = 1, jumlah perhitungan = n kali
Untuk i = 2,
Untuk j = 1, jumlah perhitungan = n kali
Untuk j = 2, jumlah perhitungan = n–1 kali

Untuk i = n,
Untuk j = 1, jumlah perhitungan = n kali
Untuk j = 2, jumlah perhitungan = n –1 kali
Untuk j = n, jumlah perhitungan = 1 kali.

T(n)

= n2+(n-1)2 +(n-2)2 + ... + 1
= n(n + 1)(2n + 1)/6
= 2n3+3n2 + 1
Diperoleh T(n) ≤ 3untuk n ≥ 4 dan T(n) ≥ 2n3 untuk n ≥ 1.

2.8. Penelitian Terdahulu
Penelitian terhadap enkripsi SMS sudah pernah dilakukan.

Yaitu dengan

menggunakan algoritma Rabin yang dengan hasil waktu yang dibutuhkan untuk
melakukan enkripsi terhadap isi SMS rata-rata sebesar 96,3 milidetik dan dekripsi

Universitas Sumatera Utara

19

rata-rata sebesar 118 milidetik (Muko, et al. 2012 ). Kemudian dengan algoritma
Vigenere yang dimodifikasi dengan fibonacci dan key tambahan sehingga
memperkuat keamanan dan privasi(Anjari, et al. 2012).
Sedangkan, penelitian mengenai algoritma XXTEA atau Corrected Block Tea
sudah pernah dilakukan. Yaitu oleh Sujatmika, dengan mengimplementasikan
XXTEA pada virtual disk pada system operasi windows. Virtual disk tersebut dibuat
dengan merepresentasikan file volume sebagai container dari virtual disk. Proses
enkripsi pada isi virtual disk dilakukan sebelum proses unmounting virtual disk.
Sedangkan proses dekripsi pada isi virtual disk, dilakukan setelah dilakukan proses
mounting file volume. Algoritma XXTEA sendiri, berjalan pada blok 32 bit. Sehingga
sebelum memasuki proses utama enkrip dan dekrip, file perlu diolah terlebih dahulu.
Selanjutnya, Atomojo (2012) mengimplementasikan XXTEA pada secure login
website. Hasil yang di dapat ialah proses enkripsi pada sisi server,dan dekripsi pada
sisi client telah menambah waktu akses website rata-rata18ms (0,018 sekon).
Berikut penelitian terdahulu disajikan dalam bentuk tabel:

Tabel 2.8 Penelitian Terdahulu
Judul

Tahun

Enkripsi

SMS

(Short

Service)

pada

Telepon

Message 2010

Peneliti
Becik Gati Anjari

Selular

Berbasis Android
Aplikasi

Enkripsi

SMS

dengan 2012

Gayuh Taruna Muko, et-al

Metode Rabin pada Android
Implementasi Enkripsi Dengan

Arif rahman Sujatmika.

Algoritma XXTEA Pada
Virtual Disk Berbasis Windows
Perancangan Secure Login Website

2012

Atmojo, Ardani Dwi

Menggunakan Algoritma Enkripsi
XXTEA

Universitas Sumatera Utara

`BAB 3
ANALISIS DAN PERANCANGAN

Pada bab ini akan dibahas tentang rancangan sistem seperti use case untuk melihat
proses apa saja yang dapat dilakukan oleh pengguna, diagram activity yang
menggambarkan alir aktifitas dari level atas secara umum, flowchart dari sistem, serta
proses enkripsi dan dekripsi menggunakan algoritma XXTEA.

3.1. Use Case Diagram
Use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use
case

mendeskripsikan interaksi tipikal antara para pengguna dengan sistem itu

sendiri, dengan memberi narasi bagaimana sistem tersebut digunakan.
Pada use case ini terdiri dari dua aktor yaitu pengirim dan penerima. Pada aplikasi
ini pengirim dapat melakukan penulisan pesan, pengiriman pesan, sedangkan
penerima pesan dapat menerima pesan, menyimpan pesan yang diterima atau
menghapusnya. Selain itu, penerima dan pengirim dapat melihat, mengedit dan
menghapus contact. Berikut adalah use case diagram dari aplikasi enkripsi sms.

Gambar 3.1 Use Case Diagram

Universitas Sumatera Utara

21

3.2. Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang
dirancang, bagaimana masing-masing alir berawal dan berakhir.

Gambar 3.2 Activity Diagram

Activity diagram pada gambar 3.2 menampilkan aktivitas dalam sistem. Aktivitas
tersebut berupa tampilan menu utama yang bercabang menjadi tiga yaitu SMS,
Contact dan Help. Dan pada menu SMS, terdapat aktivitas tulis, enkripsi, dan kirim
SMS. Serta aktivitas baca, dekripsi dan hapus SMS. Pada menu Contact, terdapat
aktivitas tambah, lihat, edit dan hapus. Sedangkan menu Help, merupakan menu
bantuan.

3.3. Flowchart Sistem
Flowchart sistem merupakan bagan yang menunjukkan alur kerja atau apa yang
sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari
prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart merupakan

Universitas Sumatera Utara

22

deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi membentuk
suatu sistem.
Adapun fungsi lainnya dari flowchart ini dibuat adalah agar developer atau
pengembang aplikasi perorangan dapat melihat kembali tahapan-tahapan yang akan
dikerjakan jika suatu saat terjadi kesalahan dalam perancangan aplikasi (Prayudi,
2013).
Berikut ini adalah bentuk-bentuk flowchart atau diagram alur yang menjelaskan
alur proses aplikasi keamanan SMS dari awal hingga akhir, termasuk proses
pengiriman SMS yang kemudian dienkripsi dan proses penerimaan SMS yang
didekripsi.

Gambar 3.3.1 Flowchart Enkripsi

Universitas Sumatera Utara

23

Pada Gambar 3.3.1, dapat dijelaskan bahwa aplikasi memulai dengan
menampilkan pilihan menu SMS dan Contact List. Kemudian, mengecek apakah
nomor penerima SMS sudah tersimpan atau belum. Jika belum, maka user harus
membuat contact baru. Yaitu dengan menginput nama, nomor telepon, dan kunci.
Kunci yang dimaksud disini adalah kunci yang telah disepakati oleh penerima dan
pengirim

yang digunakan untuk proses enkripsi dan dekripsi. Selanjutnya, contact

tersebut disimpan di dalam database.
Selanjutnya, apabila kontak sudah ada, maka user akan menginput nama contact
dan menulis pesan. Kemudian, SMS yang bersifat plaintext tersebut, akan dienkripsi
dengan kunci yang ada di contact berdasarkan nama penerima yang diinput. Setelah
itu, SMS yang telah berbentukciphertext akan dikirim.

Gambar 3.3.2 Flowchart Dekripsi

Universitas Sumatera Utara

24

Pada Gambar 3.3.2, dijelaskan mengenai proses dekripsi. Aplikasi dimulai
dengan menerima SMS. Kemudian, aplikasi akan mengecek apakah nomor pengirim
SMS ada di kontak. Apabila tidak ada, maka proses akan berakhir. Apabila ada, maka
akan berlanjut ke proses selanjutnya. Proses selanjutnya, aplikasi akan mengecek,
apakah SMS tersebut bisa didekripsi. Hal ini untuk megetahui apakah SMS tersebut
merupakan chipertext atau SMS biasa. Apabila tidak bisa, maka proses akan berakhir.
Apabila bisa, maka hasil dekripsi dari SMS tersebut akan disimpan di dalam database.
Kemudian akan ditampilkan di dalam inbox.

3.4. Perancangan Sistem
Pada penelitian ini perancangan sistem terbagi dua yakni menjelaskan tentang
kebutuhan perangkat lunak yang digunakan dalam perancangan aplikasi dan
perancangan antar muka sistem yang nantinya akan digunakan pada setiap halaman
aplikasi.

3.4.1. Kebutuhan Peragkat Lunak
Adapun aplikasi ini dibangun dengan menggunakan bahasa pemrograman Java dan
XML untuk aplikasi pada sisi pengguna yang berjalan pada sistem operasi Android,
serta menggunakan SQLite untuk pengelolaan database.

3.4.2. Perancangan Antar Muka Sistem
Perancangan sistem diperlukan agar sistem yang dibangun sesuai dengan yang
diharapkan. Dengan adanya rancangan antar muka bertujuan untuk memudahkan
pengguna dalam pemakaian sistem. Berikut ini adalah beberapa rancangan antar muka
sistem pada aplikasi:

Universitas Sumatera Utara

25

1. Tampilan Menu Utama
Berikut ini adalah rancangan dari menu utama:

Gambar 3.4.2.1 Rancangan Tampilan Menu Utama

Pada Gambar 3.4.2.1, dapat dilihat bahwa terdapat dua menu pilihan, yaitu SMS dan
Contact.
Keterangan:
A. SMS, tombol untuk ke menu SMS
B. Contact, tombol untuk ke menu Contact
C. Help, tombol untuk ke menu Help

Universitas Sumatera Utara

26

2. Tampilan Contact
Berikut ini adalah rancangan dari Contact:

Gambar 3.4.2.2 Rancangan Tampilan Contact

Pada Gambar 3.4.2.2 dapat dilihat bahwa tampilan Contact memiliki dua bagian
utama, yaitu New Contact dan Contact List.
Keterangan:

A. New Contact, untuk membuat contact baru.
B. Contact List, menampilkan contact yang tersimpan di dalam database.
Adapun field yang ditampilkan yaitu name, phone number, dan key

Universitas Sumatera Utara

27

3. Tampilan New Contact
Berikut ini adalah rancangan dari New Contact:

Gambar 3.4.2.3 Rancangan Tampilan New Contact

Pada Gambar 3.4.2.3, dapat dilihat terdapat form untuk pengisian contact baru.
Terdapat tiga form yaitu, name, phone number dan key. Dan terdapat tombol save.
Keterangan:
A. Name, nama contact yang ingin disimpan.
B. Phone Number, nomor telepon contact.
C. Key, teks kunci yang digunakan untuk melakukan enkripsi dan dekripsi.
Dalam hal ini pengirim dan penerima harus memiliki key yang sama.
D. Save, tombol untuk menyimpan data contact ke dalam database.

Universitas Sumatera Utara

28

4. Tampilan Update Contact
Berikut ini adalah rancangan dari Update Contact:

Gambar 3.4.2.4 Rancangan Tampilan Update Contact

Pada Gambar 3.4.2.3, dapat dilihat terdapat form untuk memperbarui contact yang
sudah ada. Terdapat tiga form yaitu, name, phone number dan key yang telah terisi
oleh data yang belum diperbarui. Dan terdapat tombol save.
Keterangan:
A. Name, nama contact yang ingin diperbarui.
B. Phone Number, nomor telepon contact.
C. Key, teks kunci yang digunakan untuk melakukan enkripsi dan dekripsi.
D. Save, tombol untuk meng-update data contact ke dalam database.

Universitas Sumatera Utara

29

5. Tampilan SMS
Berikut ini adalah rancangan dari SMS:

Gambar 3.4.2.5 Rancangan T