vi
ABSTRAKSI
Kriptografi merupakan suatu ilmu untuk menyandikan data agar tidak dapat
diketahui oleh pihak yang tidak bersangkutan/berhak sehingga data tersebut dapat
aman. Playfair cipher merupakan salah satu metode kriptografi simetris yang yang
menyandikan data menggunakan kunci. Metode ini hanya dapat menyandikan data
yang berupa huruf alphabet. Kunci yang digunakan akan dibentuk kedalam tabel 5X5
dengan menhilangkan huruf J. Kemudian data yang berupa huruf tadi akan dienkripsi
dan dekripsi mengunakan kunci yang sudah dibentuk dalam tabel 5X5.
Dalam tugas akhir ini, penulis membuat aplikasi untuk melakukan enkripsi dan
dekripsi Short Message Service (SMS) yang dibangun dengan bahasa pemrograman java. Aplikasi ini dibuat untuk mengamankan isi pesan yang bersifat rahasia/penting.
Selain itu, dengan menggunakan aplikasi ini, SMS yang dikirimkan atau yang terbaca
provider berupa ciphertext.
Aplikasi ini sudah harus terpasang pada smartphone kedua belah pihak (pengirim
dan penerima). Ketika user mengirim SMS, SMS (plaintext) yang dikirim sudah
dienkripsi terlebih dahulu menggunakan aplikasi, jadi SMS yang dikirimkan melalui
provider sudah dalam bentuk enkripsi SMS (ciphertext). SMS (ciphertext) ini yang
masuk ke penerima, sehingga penerima harus menggunakan aplikasi ini untuk
mendekripsi SMS (ciphertext) yang masuk. Untuk melakukan dekripsi harus
menggunakan kunci yang sama dengan kunci yang digunakan untuk melakukan
enkripsi.
Hasil akhir yang didapat yaitu sebuah aplikasi enkripsi dan dekripsi SMS dengan
metode Playfair Cipher yang berjalan dengan baik pada beberapa versi android yang
vii
ABSTRACT
Cryptography is a study to code data in order to keep it confidential. Playfair
cipher is one of the symmetrical cryptography methods which code the data through
key. This method only codes the data in the form of alphabet. The key used will be
formed in 5X5 table which dismisses letter ‘J’. Eventually, the data will be encrypted and described using the key.
In this study, the researcher creates an application to encrypt and describe Short
Message Service (SMS) under the scope of Java Program. The application aims to
secure secret or important messages. Besides, provider will read the message as chip
text.
The application should be installed in the smartphone in both parties (sender and
receiver). While the sender sends the SMS, it (plaintext) has been encrypted through
the application. Thus, the delivered SMS is in the form of encrypted SMS
(ciphertext). The receiver should install the application in order to describe and then
read the SMS (ciphertext). To describe the SMS, the key used to open the SMS is the
same as the key used to encrypt.
The final result is an encrypted application and description of SMS using Playfair
APLIKASI ENKRIPSI DAN DEKRIPSI SMS DENGAN METODE
PLAYFAIR CIPHER PADA SMARTPHONE BERBASIS ANDROID
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Disusun oleh :
Lutvianus Satria Kusuma
105314108
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
THE ENCRIPTION AND DECRIPTION OF SMS APPLICATION
USING PLAYFAIR CIPHER METHOD IN ANDROID-BASED
SMARTPHONE
THESIS
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Komputer Degree
In Informatics Engineering
By :
Lutvianus Satria Kusuma
105314108
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
Karya ini aku persembahkan kepada :
Tuhan Yang Maha Esa, yang selalu senantiasa memberikan berkat dan rahmat pada diriku
untuk selalu tekun dan pantang menyerah selama pengerjaan tugas akhir ini.
Kedua orangtuaku dan kakak-kakakku, yang selalu memberikan semangat, memberi
motivasi, serta mendoakan aku selama mengerjakan tugas akhir.
Seluruh teman-teman Teknik Informatika 2010, teman-teman seperjuangan yang saling
vi
ABSTRAKSI
Kriptografi merupakan suatu ilmu untuk menyandikan data agar tidak dapat
diketahui oleh pihak yang tidak bersangkutan/berhak sehingga data tersebut dapat
aman. Playfair cipher merupakan salah satu metode kriptografi simetris yang yang
menyandikan data menggunakan kunci. Metode ini hanya dapat menyandikan data
yang berupa huruf alphabet. Kunci yang digunakan akan dibentuk kedalam tabel 5X5
dengan menhilangkan huruf J. Kemudian data yang berupa huruf tadi akan dienkripsi
dan dekripsi mengunakan kunci yang sudah dibentuk dalam tabel 5X5.
Dalam tugas akhir ini, penulis membuat aplikasi untuk melakukan enkripsi dan
dekripsi Short Message Service (SMS) yang dibangun dengan bahasa pemrograman java. Aplikasi ini dibuat untuk mengamankan isi pesan yang bersifat rahasia/penting.
Selain itu, dengan menggunakan aplikasi ini, SMS yang dikirimkan atau yang terbaca
provider berupa ciphertext.
Aplikasi ini sudah harus terpasang pada smartphone kedua belah pihak (pengirim
dan penerima). Ketika user mengirim SMS, SMS (plaintext) yang dikirim sudah
dienkripsi terlebih dahulu menggunakan aplikasi, jadi SMS yang dikirimkan melalui
provider sudah dalam bentuk enkripsi SMS (ciphertext). SMS (ciphertext) ini yang
masuk ke penerima, sehingga penerima harus menggunakan aplikasi ini untuk
mendekripsi SMS (ciphertext) yang masuk. Untuk melakukan dekripsi harus
menggunakan kunci yang sama dengan kunci yang digunakan untuk melakukan
enkripsi.
Hasil akhir yang didapat yaitu sebuah aplikasi enkripsi dan dekripsi SMS dengan
metode Playfair Cipher yang berjalan dengan baik pada beberapa versi android yang
vii
ABSTRACT
Cryptography is a study to code data in order to keep it confidential. Playfair
cipher is one of the symmetrical cryptography methods which code the data through
key. This method only codes the data in the form of alphabet. The key used will be
formed in 5X5 table which dismisses letter ‘J’. Eventually, the data will be encrypted and described using the key.
In this study, the researcher creates an application to encrypt and describe Short
Message Service (SMS) under the scope of Java Program. The application aims to
secure secret or important messages. Besides, provider will read the message as chip
text.
The application should be installed in the smartphone in both parties (sender and
receiver). While the sender sends the SMS, it (plaintext) has been encrypted through
the application. Thus, the delivered SMS is in the form of encrypted SMS
(ciphertext). The receiver should install the application in order to describe and then
read the SMS (ciphertext). To describe the SMS, the key used to open the SMS is the
same as the key used to encrypt.
The final result is an encrypted application and description of SMS using Playfair
viii
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, atas berkat
yang luar biasa dan kehendakNya penulis dapat menyelesaikan penelitian tugas akhir
ini yang berjudul “Aplikasi Enkripsi dan Dekripsi SMS Dengan Metode Playfair
Cipher Pada Smartphone Berbasis Android”.
Penulis mengucapkan terimakasih yang sebesar-besarnya kepada semua pihak
yang berperan dalam pengerjaan tugas akhir ini :
1. Tuhan Yesus Kristus dan Bunda Maria yang telah memberikan berkat dan
rahmatNya kepada penulis sehingga dapat menyelesaikan tugas akhir ini.
2. Bapak Benedictus Herry Suharto, S.T., M.T. selaku dosen pembimbing
akademik yang selalu membimbing dalam penyelesaian tugas akhir ini.
3. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. dan Iwan Binanto, S.Si., M.Cs.
selaku dosen penguji atas kritik dan saran yang diberikan.
4. Seluruh dosen dan karyawan Universitas Snata Dharma Yogyakarta atas
kontribusinya dalam membantu penulis.
5. Kedua orang tua saya Bapak Drs. Surya Suparji dan Ibu Titik Retno Agustina
yang tanpa henti memberikan dukungan baik secara moral maupun materi.
6. Kedua kakak saya Evelin Surya Puspita Jayawardani dan Ratnasari Nugraheni
atas semangat yang diberikan kepada penulis hingga dapat menyelesaikan
ix
7. Teman-teman HMPS yang tidak bisa saya sebutkan satu persatu, terimakasih
atas doa dan semangat yang kalian berikan.
8. Serta semua pihak yang berperan dalam penyelesaian tugas akhir ini.
Tugas akhir ini masih kurang dari kata sempurna, oleh karena itu penulis
dengan rendah hati memohon untuk memberikan kritik dan saran untuk perbaikan
dalam tugas akhir ini. Semoga penulisan tugas akhir ini dapat bermanfaat nagi semua
pihak.
Yogyakarta, Februari 2015
x
Pernyataan Keaslian Karya ... iv
Lembar Pernyataan Persetujuan ... v
xi
BAB III ANALISIS PERANCANGAN SISTEM ... 35
3.1 Gambaran Umum ... 35
BAB IV IMPLEMENTASI SISTEM ... 63
xii
4.2.7 Halaman Menu Tentang Aplikasi ... 100
BAB V ANALISIS HASIL IMPLEMENTASI ... 104
5.1 Hasil Pengujian Sistem ... 104
5.1.1 Pengujian Aplikasi Pada Beberapa Versi Android ... 105
5.1.2 Pengujian Kuisioner ... 106
5.2 Kelebihan Sistem ... 111
5.3 Kekurangan Sistem ... 111
BAB VI PENUTUP ... 112
6.1 Kesimpulan ... 112
6.2 Saran ... 113
DAFTAR PUSTAKA ... 114
xiii
DAFTAR GAMBAR
Halaman
Gambar 2.1 Cara Kerja Key Distribution Center ... 14
Gambar 2.2 Cara Kerja SMS ... 23
Gambar 3.1 Use Case ... 38
Gambar 3.2 State Diagram Antar Muka ... 45
Gambar 3.3 State Diagram Pesan... 46
Gambar 3.4 Sequence Diagram Pengiriman Pesan ... 46
Gambar 3.5 Sequence Diagram Terima dan Dekripsi Pesan Diterima ... 47
Gambar 3.6 Diagram Class ... 50
Gambar 3.7 Relasi Diagram Class ... 51
Gambar 3.8 Flowchart Enkripsi dan Dekripsi Pesan ... 55
Gambar 3.9 Halaman Pembuka Awal ... 56
Gambar 3.10 Halaman Menu Awal Pesan ... 57
Gambar 3.11 Halaman Tulis Pesan ... 58
Gambar 3.12 Halaman Pesan Masuk ... 59
Gambar 3.13 Halaman Dekripsi Pesan ... 60
Gambar 3.14 Halaman Pengaturan No Pribadi ... 61
Gambar 3.15 Halaman Pesan Keluar ... 61
Gambar 3.16 Halaman Tentang Aplikasi ... 62
Gambar 4.1 Halaman Pembuka Awal ... 78
Gambar 4.3 Halaman Tulis Pesan ... 85
Gambar 4.4 Halaman Pesan Masuk ... 89
Gambar 4.5 Halaman Buka Pesan Masuk ... 91
xiv
Gambar 4.7 Halaman Pesan Terkirim ... 98
Gambar 4.8 Halaman Tentang Aplikasi ... 100
Gambar 5.1 Grafik Pertanyaan 1 ... 106
Gambar 5.2 Grafik Pertanyaan 2 ... 107
Gambar 5.3 Grafik Pertanyaan 3 ... 108
Gambar 5.4 Grafik Pertanyaan 4 ... 109
xv
DAFTAR TABEL
Halaman
Tabel 2.1 Kunci Bujursangkar 5X5 ... 18
Tabel 3.1 Use Case Narative Pengiriman Pesan ... 38
Tabel 3.2 Use Case Narative Penerimaan Pesan ... 38
Tabel 3.3 Use Case Narative Hapus Pesan ... 41
Tabel 3.4 Use Case Narative Dekripsi Pesan ... 43
Tabel 3.5 Use Case Narative Mengatur No Telpon Pribadi ... 44
Tabel 3.6 Tabel SMS... 53
Tabel 3.7 Tabel Pesan Masuk ... 53
Tabel 3.8 Tabel Pesan Terkirim ... 54
Tabel 3.9 Tabel Kunci ... 54
Tabel 5.1 Tabel Hasil Pengujian pada Beberapa Versi Android ... 105
Tabel 5.2 Hasil Kuisioner Pertanyaan 1 ... 106
Tabel 5.3 Hasil Kuisioner Pertanyaan 2 ... 107
Tabel 5.4 Hasil Kuisioner Pertanyaan 3 ... 108
Tabel 5.5 Hasil Kuisioner Pertanyaan 4 ... 109
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan di bidang teknologi dalam beberapa tahun belakangan ini
berkembang begitu pesat, khususnya smartphone yang dapat digunakan untuk
berbagai macam fungsi. Berbagai macam jenis smartphone kini banyak beredar di
semua kalangan masyarakat, salah satunya yaitu smartphone berbasis android.
Smartphone berbasis android ini cukup popular saat ini karena smartphone ini
menggunakan Operating System Mobile yang open platform. Banyak perangkat
lunak untuk mengembangkan atau membangun aplikasi pada smartphone yang
berbasis android ini, diantaranya yaitu eclipse.
Banyak fitur-fitur yang disediakan dari smartphone untuk menjalankan sebuah
fungsi-fungsi tertentu dari smatphone itu sendiri. Salah satu fitur yang cukup penting
dari smartphone yaitu fitur untuk melakukan pengiriman data yang berupa pesan
singkat / Short Message Service (SMS). Namun seringkali karena kesalahan
pengguna itu sendiri dalam melakukan fitur SMS ini, misalnya salah mengirimkan
pesan kepada orang lain yang dimana pesan itu bersifat pribadi, rahasia, dan penting
bagi pengirim dan penerimanya. Lalu seiring juga dengan berkembangnya teknologi
yang semakin canggih maka menimbulkan pertanyaan mengenai keamanan data dan
2
Dengan berdasarkan dengan alasan-alasan tersebut dan berbagai pertimbangan
maka dirasa dibutuhkan suatu aplikasi pengamanan isi SMS yang akan dikirim.
Pangamanan SMS ini dilakukan dengan cara menyamarkan isi SMS dengan
menggunakan algoritma kriptografi klasik supaya hanya penerima yang berhak saja
yang akan mengetahui maksud dari isi SMS tersebut. Dalam hal ini, maka dibutuhkan
aplikasi yang dapat melakukan enkripsi SMS ketika SMS itu akan dikirim, dan
dekripsi SMS ketika SMS itu sampai ditangan penerima yang berhak. Algoritma
kriptografi klasik yamg digunakan yaitu playfair cipher. Playfair cipher merupakan
algoritma kriptografi klasik yang paling terkenal dan juga paling kuat. Algoritma
playfair cipher juga menggunakan teknik digraph cipher yang artinya proses enkripsi
dilakukan pada setiap dua huruf. Aplikasi yang dibuat berjalan pada sistem operasi
android sehingga para pengguna smatphone dapat melakukan SMS dengan lebih
aman.
1.2 Rumusan Masalah
1. Bagaimana mengimplementasikan enkripsi dan dekripsi SMS pada
smartphone berbasis android dengan menggunakan algoritma kriptografi
klasik Playfair Cipher?
2. Apakah aplikasi ini dapat berjalan dengan baik di beberapa versi OS
3
1.3 Batasan Masalah
Adapun batasan masalah dalam Tugas Akhir ini adalah sebagai berikut:
1. Aplikasi yang dibuat hanya dapat digunakan pada smartphone yang
bersistem operasi android.
2. Aplikasi yang dibuat difokuskan pada pengiriman dan penerimaan SMS.
3. Aplikasi ini diuji coba pada beberapa versi android.
4. Aplikasi ini tidak membahas masalah jaringan.
1.4 Tujuan dan Manfaat Penelitian
1. Membuat aplikasi yang lebih aman untuk melakukan pengiriman data
yang berupa pesan singkat / Short Message Service (SMS) agar privasi
pengguna lebih terjamin.
2. Dengan adanya enkripsi dan dekripsi SMS, membuat SMS yang dikirim
hanya dapat dibaca oleh orang yang berhak.
3. Menerapkan algoritma playfair cipher pada SMS smartphone berbasis
4
1.5 Metodologi Penelitian
Berikut ini merupakan penjelasan tentang metodologi yang digunakan oleh
peneliti yaitu sebagai berikut :
1. Studi Pustaka
Studi pustaka dilakukan untuk melengkapi pengatahuan dasar yang
dimiliki peneliti, sehingga dengan adanya hal ini peneliti dapat
menyelesaikan penelitian ini.
2. Membangun aplikasi dengan menggunakan metode berorientasi objek.
3. Menganalisis dan Mendesain aplikasi enkripsi dan dekripsi SMS.
4. Mengimplementasi program menggunakan eclipse.
5. Menguji coba aplikasi mengunakan smatphone berbasis android.
1.6 Sistematika Penulisan
Struktur penulisan tugas akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Berisi latar belakang masalah, batasan masalah, tujuan dan manfaat
penelitian, rumusan masalah, metodologi penelitian, dan sistematika
penulisan.
BAB II LANDASAN TEORI
Berisi teori-teori yang menyangkut tentang enkripsi dan dekripsi
5
BAB III ANALISIS PERANCANGAN SISTEM
Berisi tentang analisis dari sistem yang akan dibuat dan
perancangan dari sistem itu sendiri secara tepat untuk mengatasi
masalah yang ada.
BAB IV IMPLEMENTASI SISTEM
Berisi pembahasan-pembahasan mengenai perubahan dari
rancangan sistem ke penerapan sistem sesungguhnya. Bab ini akan
menjelaskan semua dari awal tahap-tahap pembuatan sistem.
BAB V ANALISIS HASIL IMPLEMENTASI
Berisi analisis dari hasil implementasi sistem yang mencakup
kelebihan dan kekurangan aplikasi yang telah dibuat dan diuji coba.
BAB VI PENUTUP
6
BAB II
LANDASAN TEORI
2.1 KRIPTOGRAFI
Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku
kata yaitu kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia
artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika
yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data,
keabsahan data, integritas data, serta autentikasi data (Menezes, Oorschot and
Vanstone, 1996). Tetapi tidak semua aspek keamanan informasi dapat diselesaikan
dengan kriptografi.
Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga
keamanan pesan. Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi
pesan tersebut mungkin dapat disadap oleh pihak lain yang tidak berhak untuk
mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat
diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain.
Enkripsi adalah sebuah proses penyandian yang melakukan perubahan
sebuah kode (pesan) dari yang bisa dimengerti (plainteks) menjadi sebuah kode yang
tidak bisa dimengerti (cipherteks). Sedangkan proses kebalikannya untuk mengubah
cipherteks menjadi plainteks disebut dekripsi. Proses enkripsi dan dekripsi
7
Secara sederhana istilah-istilah di atas dapat digambarkan sebagai berikut :
Proses Enkripsi/Dekripsi Sederhana
Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedang, cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst.
Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini,
seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut
suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci
kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian
dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan.
Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara
matematis sebagai berikut:
EK (M) = C (Proses Enkripsi)
DK (C) = M (Proses Dekripsi)
Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K
8
dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan
sebelumnya.
Dengan demikian keamanan suatu pesan tergantung pada kunci ataupun
kunci-kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan.
Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan
dianalisis, serta produk-produk yang menggunakan algoritma tersebut dapat
diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui
algoritma yang kita gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap
tidak dapat membaca pesan.
Jenis jenis Kriptografi
Suatu kriptografi terdiri dari sebuah algoritma, seluruh kemungkinan
plaintext, ciphertext dan kunci-kunci. Secara umum kriptografi dapat digolongkan
menjadi, yaitu :
1. Kriptografi Simetris
Disebut sebagai algoritma simetris, karena dalam proses enkripsi dan
dekripsinya menggunakan kunci yang sama. Algoritma enkripsi dan
deskripsi bias merupakan algoritma yang sudah umum diketahui, namun
kunci yang dipakai harus terjaga kerahasiaanya, dan hanya diketahui oleh
9
tentang kunci yang dipergunakan. Pendistribusian kunci dari satu pihak
ke pihak lainnya memerlukan suatu kanal tersendiri yang terjagaan
kerahasiaannya. Adapun proses kriptografi simetris dapat kita lihat pada
gambar dibawah :
Algoritma kunci simetris memiliki beberapa kelebihan dan kekurangan,
yakni:
Kelebihan :
1. Waktu proses untuk enkripsi dan dekripsi relatif cepat, hal ini
disebabkan karena efisiensi yang terjadi pada pembangkit kunci.
2. Karena cepatnya proses enkripsi dan dekripsi, maka algoritma ini
dapat digunakan pada sistem secara real-time seperti saluran telepon
digital.
Kekurangan :
1. Untuk tiap pasang pengguna dibutuhkan sebuah kunci yang berbeda,
sedangkan sangat sulit untuk menyimpan dan mengingat kunci yang
banyak secara aman, sehingga akan menimbulkan kesulitan dalam hal
10
2. Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini
akan menimbulkan masalah yang baru karena tidak mudah u
menentukan jalur yang aman untuk kunci, masalah ini sering disebut
dengan “Key Distribution Problem”.
3. Apabila kunci sampai hilang atau dapat ditebak maka kriptosistem ini
tidak aman lagi.
2. Kriptografi Asimetris
Dalam kriptografi asimetris ini digunakan dua buah kunci. Satu kunci
yang disebut kunci publik (public key) dapat dipublikasikan, sedang kunci yang lain yang disebut kunci privat (private key) harus dirahasiakan. Proses menggunakan sistem ini dapat diterangkan secara sederhana
sebagai berikut : bila A ingin mengirimkan pesan kepada B, A dapat
menyandikan pesannya dengan menggunakan kunci publik B, dan bila B
ingin membaca surat tersebut, ia perlu mendekripsikan surat itu dengan
kunci privatnya. Dengan demikian kedua belah pihak dapat menjamin
asal surat serta keaslian surat tersebut, karena adanya mekanisme ini.
Algoritma kunci asimetris memiliki beberapa kelebihan dan kekurangan,
yakni:
Kelebihan :
11
2. Manajemen kunci pada suatu sistem informasi dengan banyak
pengguna menjadi lebih mudah, karena jumlah kunci yang digunakan
lebih sedikit.
Kekurangan :
1. Kecepatan proses algoritma ini tergolong lambat bila dibandingkan
dengan algoritma kunci simetris.
2. Untuk tingkat keamanan yang sama, rata-rata ukuran kunci harus lebih
besar bila dibandingkan dengan ukuran kunci yang dipakai pada
algoritma kunci simetris.
3. Kriptografi Hibrid
Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini
dimulai dengan negosiasi menggunakan chiper asimetrik dimana kedua
belah pihak setuju dengan private key/session key yang akan dipakai.
Kemudian session key digunakan dengan teknik chiper simetrik untuk
mengenkripsi conversation ataupun tukar-menukar data selanjutnya. Suatu
session key hanya dipakai sekali sesi. Untuk sesi selanjutnya session key
12
Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek
keamanan informasi adalah :
1. Kerahasiaan (Confidentiality) Adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki kunci
rahasia atau otoritas untuk mmembuka informasi yang telah disandikan.
2. Integritas Data (Data Integrity) Berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk dapat menjaga integritas data,
suatu sistem harus memiliki kemampuan untuk mendeteksi manipulasi
data yang dilakukan pihak-pihak yang tidak berhak, antara lain
penyisipan, penghapusan, dan pendistribusian data lain ke dalam data
yang asli.
3. Otentifikasi (Authentication) Berhubungan dengan identifikasi, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang
saling berkomuniasi harus saling memperkenalkan diri. Informasi yang
dikirimkan harus diOtentikasi keasliannya, isi datanya, waktu pengiriman
dan lain sebagainya.
4. Non-repudiasi (Non-repudiation) Merupakan usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu
13
Distribusi Kunci Simetris Menggunakan Enkripsi Simetris
Pada enkripsi simetris, kedua belah pihak harus melakukan pertukaran atau
berbagi kunci yang sama, dan kunci ini yang harus dilindungi dari akses oleh orang
lain. Oleh karena itu, istilah yang merujuk pada cara penyampaian kunci untuk dua
pihak yang ingin bertukar data, tanpa membiarkan orang lain untuk melihat kunci.
Untuk kedua pihak A dan B, distribusi kunci dapat dicapai dalam beberapa cara,
sebagai berikut:
1. Pihak A dapat memilih kunci dan cara mengirimkannya ke B.
2. Menggunakan pihak ketiga ( C ) dan pihak C ini dapat memilih kunci dan
cara mendistribusikan kunci ke pihak A dan B.
3. Jika A dan B sebelumnya menggunakan sebuah kunci, salah satu pihak dapat
mengirimkan kunci baru ke yang lain, dienkripsi dengan menggunakan
kunci tua.
4. Jika A dan B masing-masing memiliki koneksi terenkripsi kepada pihak
ketiga C, C dapat memberikan kunci pada jaringan terenkripsi ke A dan B.
Distribusi kunci (1 dan 2) merupakan sederhana tapi hanya berlaku bila ada
kontak pribadi antara keduabelah pihak, dimana perangkat dan kunci terjadi pada
setiap pasangan, tapi tidak berlaku dalam skala beberapa pihak yang ingin
berkomunikasi. Distribusi kunci (3) ini didasarkan pada distribusi pertama dan kedua,
dan dengan catatn telah melakukan distribusi pertama atau kedua. Distribusi kunci (4)
14
media yang dipercaya untuk memediasi pembentukan komunikasi yang aman antara
mereka. Harus percaya perantara tidak menyalahgunakan pengetahuan semua kunci
sesi.
Key Distribution Centre
Pada mekanisme KDC dimisalkan Alice dan Bob ingin berkomunikasi dan
menggunakan kunci simetris. Mereka tidak pernah bertemu (mungkin mereka hanya
bertemu disebuah chat online) dengan demikian belum ada kesepakatan mengenai
kunci yang akan digunakan. Bagaimana mereka bisa setuju atau menyepakati kunci.
Solusi yang sering digunakan adalah menggunakan KDC.
KDC adalah server yang dapat menghasilkan kunci yang berbeda pada
masing-masing pengguna yang terdaftar dengan melakukan register terlebih dahulu untuk
mendaftar ke KDC. Diilustrasikan bahwa Alice dan Bob adalah pengguna terdaftar
KDC, mereka hanya tahu kunci masing-masing, KA – KDC dan KB – KDC.
Alice dan Bob berkomunikasi menggunakan kunci session yaitu R1
15
1. Langkah pertama yang harus dilakukan Alice adalah menggunakan KA –
KDC untuk mengenkripsi komunikasinya dengan KDC, Alice
mengirimkan pesan ke KDC dan mengatakan bahwa dia (A) ingin
berkomunikasi dengan Bob (B).
2. Setelah itu KDC akan mendekripsi KA – KDC (A,B) dan kemudian KDC
mengotentikasi Alice. KDC kemudian menghasilkan nomor acak, R1. Ini
adalah nilai yang akan menjadi kunci bersama untuk Alice dan Bob dan
akan digunakan untuk melakukan enkripsi simetris ketika mereka
berkomunikasi satu sama lain. R1 ini disebut dengan kunci one-time
session. Lalu KDC menginformasikan kepada Alice dan Bob mengenai
kunci one-time session mereka yaitu R1. KDC mengirimkan kembali pesan
terenkripsi ke Alice berisi sebagai berikut :
R1 merupakan kunci one-time session yang akan digunakan Alice
dan Bob untuk berkomunikasi.
Sepasang nilai A, dan R1, Dienkripsi oleh KDC menggunakan
kunci Bob, KB – KDC. Kunci yang dihasilkan adalah KB-KDC (A,
R1).
3. Selanjutnya Pesan dari KDC ke Alice adalah KA – KDC (R1, KB – KDC
16
mengetahui kunci One-Time Sessionnya adalah R1. Alice juga
mengekstrak KB – KDC (A, R1) dan memforward pesan kepada Bob.
4. Bob mendekripsi pesan yang diterima, KB – KDC (A, R1). Bob
mengetahui bahwa R1 adalah kunci one-time sessionnya, dan Alice (A)
yang akan berkomunikasi dengan dia. Bob harus mengotentikasi Alice
terlebih dahulu menggunakan R1.
Keuntungan menggunakan KDC adalah fleksibilitas dan efisiensi. Karena
pengguna hanya perlu bertukar dan menyimpan KKM. Bukan KKM dari setiap
penerima.
One-Time Session Key
Kita telah melihat diatas bahwa kunci one-time session dihasilkan oleh KDC
untuk digunakan dalam enkripsi kunci simetris antara dua entitas. Dengan
menggunakan kunci one-time session dari KDC pengguna dibebaskan dari keharusan
untuk menyepakati kunci bersama untuk setiap entitas dengan siapa ingin
berkomunikasi. Sebaliknya, pengguna hanya perlu memiliki satu kunci rahasia
bersama untuk berkomunikasi dengan KDC, dan KDC akan menginformasikan kunci
one-time session dari KDC untuk semua komunikasi dengan entitas lainnya.
Kunci one-time session juga digunakan dalam kriptografi kunci publik . Sistem
kunci publik sering digunakan untuk tujuan otentikasi. Setelah dua pihak telah
17
dienkripsi untuk menyepakati satu kali kunci simetris bersama . Session key simetris ini kemudian digunakan untuk mengenkripsi pesan.
2.2. SANDI PLAYFAIR
Sandi Playfair digunakan oleh Tentara Inggris pada saat Perang Boer II dan
Perang Dunia I. Ditemukan pertama kali oleh Sir Charles Wheatstone dan Baron
Lyon Playfair pada tanggal 26 Maret 1854. Playfair merupakan digraphs cipher,
artinya setiap proses enkripsi dilakukan pada setiap dua huruf. Playfair menggunakan
table 5x5. Semua alfabet kecuali J diletakkan ke dalam tabel. Huruf J dianggap sama
dengan huruf I atau sesuai dengan kesepakatan, sebab huruf J mempunyai frekuensi
kemunculan yang paling kecil. Metode Playfair Cipher adalah salah satu sandi klasik
yang menggunakan teknik manual simetrik enkripsi dan merupakan salah satu sandi
substitusi berpasangan (digraf) pertama di dunia. Pertama-tama menentukan kata
kunci yang diinginkan dan kunci yang sudah ditentukan tadi dibentuk menjadi tabel
bujursangkar 5X5. Kunci yang digunakan berupa kata dan tidak ada huruf sama yang
berulang. Apabila kuncinya “RAHASIA”, maka kunci yang digunakan adalah
“RAHSI”. Selanjutnya, kunci dimasukkan ke dalam tabel 5x5, isian pertama adalah
kunci, selanjutnya tulis huruf-huruf berikutnya secara urut dari baris pertama dahulu,
18
Berikut ini aturan-aturan proses enkripsi pada Playfair yaitu
1. Jika kedua huruf tidak terletak pada baris dan kolom yang sama, maka
huruf pertama menjadi huruf yang sebaris dengan huruf pertama dan
sekolom dengan huruf kedua. Huruf kedua menjadi huruf yang sebaris
dengan huruf kedua dan yang sekolom dengan huruf pertama.
Contohnya, CT menjadi EP, ZL menjadi XN.
2. Jika kedua huruf terletak pada baris yang sama maka huruf pertama
menjadi huruf setelahnya dalam baris yang sama, demikian juga dengan
huruf kedua. Jika terletak pada baris kelima, maka menjadi baris pertama,
dan sebaliknya. Arahnya tergantung dari posisi huruf pertama dan
kedua,mpergeserannya ke arah huruf kedua. Contohnya, AS menjadi HI,
GL menjadi KM.
3. Jika kedua huruf terletak pada kolom yang sama maka huruf pertama
19
huruf kedua. Jika terletak pada kolom kelima, maka menjadi kolom
pertama, dan sebaliknya. Arahnya tergantung dari posisi huruf pertama
dan kedua, pergeserannya ke arah huruf kedua. Contohnya, ET menjadi
MY, AK menjadi CP.
4. Jika kedua huruf sama, maka letakkan sebuah huruf di tengahnya (sesuai
kesepakatan).
5. Jika jumlah huruf plainteks ganjil, maka tambahkan satu huruf pada
akhirnya, seperti pada aturan ke-4.
Pada proses dekripsi kebalikan dengan memproses enkripsi dengan ketentuan
dekripsi playfair sebagai berikut :
1. Jika kedua huruf tidak terletak pada baris dan kolom yang sama, maka
huruf pertama menjadi huruf yang sebaris dengan huruf pertama dan
sekolom dengan huruf kedua. Huruf kedua menjadi huruf yang sebaris
dengan huruf kedua dan sekolom dengan huruf pertama. Contohnya, HE
menjadi SD.
2. Jika kedua huruf terletak pada baris yang sama maka huruf pertama
menjadi huruf sebelumnya dalam baris yang sama, demikian juga dengan
huruf kedua. Jika terletak pada baris kesatu, maka menjadi baris kelima,
20
3. Jika kedua huruf terletak pada kolom yang sama maka huruf pertama
menjadi huruf sebelumnya dalam kolom yang sama, demikian juga
dengan huruf kedua. Jika terletak pada kolom pertama, maka menjadi
kolom kelima, dan sebaliknya. Contohnya, ZU didekrip menjadi UN.
Keunggulan Sandi Playfair
1. Proses enkripsi dan dekripsi data menggunakan kombinasi dua huruf
sehingga kriptanalis yang menggunakan teknik analisis frekuensi sangat
sulit untuk memecahakan sandi playfair.
2. Tabel kunci hanya digunakan sekali karena terdapat kemungkinan tabel
kunci tersebut telah dipecahkan oleh pihak yang tidak berkepentingan.
Kelemahan Sandi Playfair
1. Sandi Playfair dengan mudah dapat dipecahkan dengan menggunakan teknik frekuensi ditribusi ganda, yaitu dengan menghitung frekuensi
kemunculan pasangan dua huruf sandi yang kemudian dibandingkan
dengan frekuensi pasangan dua huruf pada suatu bahasa.
2. SandiPlayfair tidak menggunakan huruf J dalam tabel kunci sehingga bisa menimbulkan makna atau arti ganda pada saat memecahkan atau
menerjemahkan suatu sandi.
21
2.3. SMS
Short Message Service atau biasa disingkat SMS merupakan sebuah layanan
yang banyak diaplikasikan pada sistem komunikasi tanpa kabel (wireless),
memungkinkan dilakukannya pengiriman pesan dalam bentuk alphanumeric antara
terminal pelanggan atau antar teminal pelanggan dengan sistem eksternal, seperti
e-mail, paging, voice e-mail, dan lain-lain.
Aplikasi SMS merupakan aplikasi yang paling banyak peminat dan
penggunanya. Hal ini dapat dibuktikan dengan munculnya berbagai jenis aplikasi
yang memanfaatkan fasilitas SMS.
Sifat transmisi SMS yang merupakan short burst membuat jenis aplikasi
yang memanfaatkan SMS biasanya berupa aplikasi pengiriman data yang ringkas dan
pendek. Sifat perangkat SMS yang mobile dan dapat mengirimkan informasi dari
mana saja selama masih dalam cakupan layanan opertaor, memunculkan aplikasi
lapangan dimana informasi-informasi yang dikumpulkan dari lapangan dikirim secara
berkala kepada pusat pengolahan informasi. Pada bidang entertainment, aplikasi SMS
dapat digunakan sebagai media untuk bermain game atau saling berkirim pesan-pesan
humor maupun karakter-karakter teks yang mempresentasikan gambar.
Variasi aplikasi SMS lainnya adalah untuk aplikasi-aplikasi internet yang
di-SMS-kan, seperti mail-to-SMS dan SMS-to-mail. Aplikasi ini memungkinkan user
mengirimkan atau menerima e-mail melalui ponsel yang dibawanya. Penerimanya
22
body e-mail yang berformat non-text. Pada umumnya, layanan penerimaan e-mail
melalui SMS hanya berupa notifikasi (pemberitahuan). Layanan ini membuat user
dapat dengan mudah mengirim e-mail dari manapun user berada, tidak perlu dial-up
ke ISP atau mencari warnet.
Cara kerja SMS :
Saat kita menerima pesan SMS/MMS dari handphone (mobile originated),
pesan tersebut tidak langsung dikirimkan ke handphone tujuan (mobile terminated),
akan tetapi dikirim terlebih dahulu ke SMS Center (SMSC) yang biasanya berada di
kantor operator telepon, baru kemudian pesan tersebut diteruskan ke handphone
tujuan. Dengan adanya SMSC, kita dapat mengetahui status dari pesan SMS yang
telah dikirim, apakah telah sampai atau gagal.
Apabila handphone tujuan dalam keadaan aktif dan dapat menerima pesan
SMS yang dikirim, ia akan mengirimkan kembali pesan konfirmasi ke SMSC yang
menyatakan bahwa pesan telah diterima, kemudian SMSC mengirimkan kembali
status tersebut kepada si pengirim. Jika handphone tujuan dalam keadaan mati, pesan
23
Gambar 2.2 Cara Kerja SMS
Period-validity artinya tenggang waktu yang diberikan si pengirim pesan
sampai pesan dapat diterima oleh si penerima. Hal ini dapat kita atur pada ponsel kita,
mulai dari 1 jam sampai lebih dari 1 hari. Setiap detiknya, ponsel kita saling bertukar
informasi dengan tower si pengirim paket data untuk memastikan bahwa semua
berjalan sebagaimana mestinya.
Ponsel kita juga mengunakan control channel untuk set-up panggilan masuk.
Saat seseorang berusaha menelepon kita, tower akan mengirimkan pesan ke control
channel, sehingga ponsel akan memainkan ringtones. Saat seseorang mengirimkan
SMS, SMS tersebut akan mengalir via SMSC, menuju tower, lalu tower akan
mengirimkan pesan ke ponsel kita sebagai paket data pada control channel. Dengan
24
pada control channel dan pesan tersebut akan terkirim memalui tower ke SMSC
menuju ponsel yang dituju.
SMS kemudian dikembangkan menjadi Enhaced Message Service, dimana
dengan EMS jumlah karakter yang bisa dikirimkan dalam 1 SMS menjadi lebih
banyak dan dapat juga digunakan untuk mengirim pesan berupa non-karakter (dapat
berupa gambar sederhana). Pada EMS, untuk pengiriman pesan yang lebih dari 160
karakter, maka pesan akan dipecah menjadi beberapa buah, dimana
masing-masingnya terdiri dari tidak lebih dari 160 karakter. Misalnya pesan yang dikirmkan
terdiri dari 167 karakter, maka pesan ini akan dipecah menjadi 2 buah SMS (1 SMS
dengan 160 karakter dan 1 SMS dengan 7 karakter).
Kedua SMS ini akan dikirmkan sebagai 2 SMS terpisah dan di sisi penerima
akan digabungkan menjadi satu SMS lagi. Selain itu EMS juga memungkinkan
perngiriman data gambar sederhana dan rekaman suara. Ternyata, cara kerja SMS
tidak semudah kelihatannya, SMS tidak langsung sampai ke ponsel yang dituju,
melainkan melewati serangkaian proses hingga SMS itu sampai ke ponsel yang
25
2.4. ANDROID
Penemu Android adalah Andy Rubin yang lahir pada tanggal 22 Juni 1946 di
New Bedford, Amerika Serikat. Andy Rubin bersama-sama dengan Rich Miner, Nick
Sears, dan Chris White mendirikan Android.inc dan apada Juli 2005 dibeli oleh
Google.
Foto Andy Rubin Penemu Android
Pengertian dan Fungsi Android
Pengertian Android adalah sistem operasi berbasis Linux yang dipergunakan
sebagai pengelola sumber daya perangkat keras, baik untuk ponsel, smartphone dan
PC dan tablet. Secara umum Android adalah platform yang terbuka (Open Source)
bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan
oleh berbagai piranti bergerak. Telepon pertama yang memakai sistem operasi
Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung
tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler
26
telah hadir dengan versi 1.1, yaitu sistem operasi yang sudah dilengkapi dengan
pembaruan estetis pada apalikasinya, seperti jam alrm, voice search, pengiriman
pesan dengan Gmail, dan pemberitahuan email.
Hingga tahun 2012, Android telah berkembang dengan pesat. Dalam kurun 3
tahun Android telah diproduksi dalam versi, dan versi terakhir yang diproduksi
disebut sebagai Android versi 4.1 atau Android Jelly Bean.
Perkembangan Android dari tahun 2009 - 2012
Android versi 1.1
Android versi 1.5 (Cupcake)
Android versi 1.6 (Donut)
Android versi 2.0/2.1 (Eclair)
Android versi 2.2 (Froyo: Frozen Yoghurt)
Android versi 2.3 (Gingerbread)
Android versi 3.0/3.1 (Honeycomb)
Android versi 4.0 (ICS :Ice Cream Sandwich)
Android versi 4.1 (Jelly Bean)
27
2.5. METODE ANALISIS SISTEM
2.5.1. Use Case
Use-case diagram merupakan model diagram UML yang digunakan untuk menggambarkan requirement fungsional yang diharapkan dari sebuah sistem. Use-case diagram menekankan pada “siapa” melakukan “apa” dalam
lingkungan sistem perangkat lunak akan dibangun. Use-case diagram sebenarnya terdiri dari dua bagian besar; yang pertama adalah use case diagram (termasuk gambar use case dependencies) dan use case description.
Use-case diagram adalah gambaran graphical dari beberapa atau semua
actor, use-case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun. Use-case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem
atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar.
Use-case diagram dapat digunakan selama proses analisis untuk menangkap requirement system dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, use-case diagram berperan untuk menetapkan perilaku (behavior) sistem saat diimplementasikan. Dalam sebuah model mungkin terdapat satu atau beberapa use-case diagram. Kebutuhan atau
28
sistem yang diharapkan (use-case), dan yang mengelilinginya (actor), serta hubungan antara actor dengan use-case (use-case diagram) itu sendiri.
Use case class digunakan untuk memodelkan dan menyatakan unitfungsi/layanan yang disediakan oleh sistem (or bagian sistem:
subsistem atau class) ke pemakai.
Use case dapat dilingkupi dengan batasan sistem yang diberi labelnama sistem.
Use case adalah sesuatu yang menyediakan hasil yang dapat diukur kepemakai atau sistem eksternal.
Komponen Pembentuk Use Case Diagram : 1. Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa
actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor
mungkin hanya memberikan informasi inputan pada sistem, hanya
menerima informasi dari sistem atau keduanya menerima, dan memberi
29
man . Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.
2. Use Case
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga
customer atau pengguna sistem paham dan mengerti mengenai kegunaan
sistem yang akan dibangun.
Catatan : Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut (user), sehingga pembuatan use case
lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan
berdasarkan alur atau urutan kejadian.Cara menentukan Use Case dalam suatu sistem:
a) Pola perilaku perangkat lunak aplikasi.
b) Deskripsi tugas dari sebuah actor.
c) Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada
actor.
d) Apa yang dikerjakan oleh suatu perangkat lunak (*bukan bagaimana
30
Relasi dalam Use Case
Ada beberapa relasi yang terdapat pada use case diagram: 1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah
elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke
element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi
elemen lainnya.
Tipe relasi/stereotype yang mungkin terjadi pada use casediagram: 1. Include, yaitu kelakuan yang harus terpenuhi agar sebuah event
dapat terjadi, dimana pada kondisi ini sebuah use case adalah
bagian dari use case lainnya.
2. Extends, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan roda.
31
merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
2.5.2.
Sequence diagramSequence diagram (diagram urutan) adalah suatu diagram yang
memperlihatkan atau menampilkan interaksi-interaksi antar objek di dalam
sistem yang disusun pada sebuah urutan atau rangkaian waktu. Interaksi antar
objek tersebut termasuk pengguna, display, dan sebagainya berupa
pesan/message.
Sequence Diagram digunakan untuk menggambarkan skenario atau
rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari suatu
kejadian/even untuk menghasilkan output tertentu. Sequence Diagram diawali
dari apa yang me-trigger aktivitas tersebut, proses dan perubahan apa saja yang
terjadi secara internal dan output apa yang dihasilkan.
Diagram ini secara khusus berasosiasi dengan use case diagram.
Sequence diagram juga memperlihatkan tahap demi tahap apa yang seharusnya
terjadi untuk menghasilkan sesuatu didalam use case. Sequence diagram juga
dapat merubah atribut atay method pada class yang telah dibentuk oleh class
diagram, bahkan menciptakan sebuah class baru. Sequence diagram
32
Sequence diagram biasanya digunakan untuk tujuan analisa dan desain,
memfokuskan pada identifikasi method didalam sebuah system. Sequence
diagram biasanya dipakai untuk memodelkan :
Deskripsi tentang system yang ada pada sebuah / beberapa use
case pada use case diagram, yang menggambarkan hubungan
antara actor dan use case diagram.
Logika dari method (operation, function atau procedure).
Logika dari service (high level method).
2.5.3. State Diagram
State diagram digunakan untuk medeskripsikan perilaku sistem. State
diagram mendeskripsikan semua kondisi yang mungkin muncul sebagai sebuah
object begitu pula dengan event.
Elemen state diagram adalah kotak yang merepresentasikan state sebuah
objek dan tanda panah untuk menunjukkan perpindahan ke state yang
selanjutnya. Bagian aktivitas dari simbol state menggambarkan aktivitas object
33
Simbol berikutnya adalah initial state yang menunjukkan kapan object ini berjalan.
2.5.4. Class Diagram
Class Diagram adalah suatu diagram yang memperlihatkan atau
menampilkan struktur darisebuah sistem, sistem tersebut akan menampilkan
system kelas, atribut dan hubungan antara kelas ketika suatu sistem telah selesai
membuat diagram. Objek diagram adalah suatu diagram yang berfungsi untuk
mengatur atribut,objek dan hubungan antara contoh dalam diagram,ojek diagram
juga dapat menampilkan struktur model system dalam waktu tertentu.
Class diagram digunakan untuk menampilkan kelas-kelas dan paket-paket
34
relasi antar mereka. Biasanya, dibuat beberapa class diagram untuk system
tunggal. Beberapa diagram akan menampilkan subset dari kelas-kelas dan
relasinya. Dapat dibuat beberapa diagram sesuai dengan yang diinginkan untuk
mendapatkan gambaran lengkap terhadap system yang dibangun.
2.5.5. SQLite
SQLite itu merupakan sebuah Database yang bersifat ACID-compliant
dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C.
SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D.
Richard Hipp. SQLite memiliki fitur relasional database, hampir sama dengan
SQL pada desktop hanya saja SQLite membutuhkan memori yang sedikit. PHP,
Firefox, Chrome, iPhone dan Android adalah contoh produk yang menggunakan
SQlite. Di browser firefox, Sqlite dipakai untuk menyimpan konfigurasi,
bookmark dan history website sedangkan di smartphone android, SQLite dipakai
untuk menyimpan contact. SQLite mendukung tipe data TEXT (mirip dengan
String di Java), INTEGER (mirip dengan Long di Java) dan nyata (mirip dengan
Double di Java). Semua jenis lain harus dikonversi ke dalam salah satu bidang
tersebut sebelum mendapatkan disimpan dalam database. SQLite sendiri tidak
memvalidasi jika jenis ditulis ke kolom yang benar-benar dari jenis yang
ditetapkan, misalnya Anda dapat menulis sebuah integer ke dalam kolom String
35
BAB III
ANALISIS PERANCANGAN SISTEM
3.1 GAMBARAN UMUM SISTEM
Aplikasi yang akan dibuat merupakan sebuah aplikasi untuk
meng-enkripsi pesan yang akan dikirim dan mendekripsi pesan yang diterima. Jadi
kedua user, si pengirim dan penerima pesan harus sama-sama menggunakan
handphone android, dan sama-sama sudah menginstal aplikasi ini. Ketika user
akan mengirim pesan, lalu yang dikirimkan adalah sebuah enkripsi dari pesan
yang akan dikirimkan ke penerima. Proses enkripsi pesan ini dilakukan dua kali,
yaitu yang pertama mengenkripsi pesan dengan kunci no telp tujuan atau no telp
si penerima pesan. Lalu yang kedua, mengenkripsi lagi pesan yang sudah
dienkripsi tadi dengan kunci sesuai dengan kunci yang sudah diinputkan si
pengirim. Jadi proses enkripsi yang pertama tadi yang mengunakan kunci no
tujuan itu akan secara otomatis dilakukan program. Sehingga si pengirim pesan
tadi hanya menginputkan isi pesan dan kunci yang dipakai untuk mengenkripsi
pesan, lalu menekan tombol kirim, dan pesan akan secara otomatis terenkripsi
2X, yaitu kunci yang pertama menggunakan no tujuan pesan, dan yang kedua
menggunakan kunci yang sudah diinputkan si pengirim tadi. Dan pesan yang
sudah dienkripsi tersebut disebut chipertext, jadi penerima sms mendapatkan
36
membaca isi sms yang diterima dari pengirim. Proses dekripsi membutuhkan
sebuah kunci agar chipertext dapat dibaca dengan jelas oleh penerima. Dan kunci
untuk mendekripsi chipertext harus sama dengan kunci yang digunakan saat
menenkripsi pesan. Proses pendekripsian juga dilakukan 2X agar pesan asli dapat
dibaca. Proses dekripsi yang pertama menggunakan kunci yang sama dengan
kunci yang diinputkan si pengirim pesan. Lalu pesan didekripsi lagi
menggunakan no si penerima pesan sehingga didapatkan pesan asli yang dikirim
oleh pengirim. Proses pendekripsian yang kedua ini, yang menggunakan kunci
no telp penerima ini dijalankan secara otomatis oleh program. Jadi, si penerima
pesan hanya butuh menginputkan kunci yang sama dengan yang diinputkan si
pengirim saja untuk mendekripsi pesan.
Cara Mendestribusikan Kunci
Pada aplikasi enkripsi dan dekripsi sms ini harus menggunakan kunci
yang sama dalam proses enkripsi dan dekripsi sms. Metode yang digunakan pada
aplikasi ini juga merupakan jenis kriptografi simetris yaitu Playfair Cipher. Jadi jika akan menggunakan aplikasi ini maka kedua belah pihak/pengguna harus
bertemu secara langsung untuk menyepakati kunci yang akan digunakan. Dan
kesepakatan kunci yang akan digunakan untuk menjalankan aplikasi ini tadi tidak
boleh ada pihak lain yang mengetahui kunci tersebut. Sehingga proses sms dapat
37
Adapun saran dari penulis yang dapat digunakan jika kedua belah
pihak/pengguna tidak bertemu secara langsung untuk menyepakati kunci yang
akan digunakan dalam menjalankan aplikasi ini. Cara-cara yang bisa digunakan
jika kedua belah pihat tidak bertemu secara langsung :
1. Melalui kurir/pihak ketiga yang terpercaya. Cara ini mungkin beresiko
akan disadapnya kunci oleh pihak lain melalui pihak ketiga ini, oleh
sebab itu harus lebih jeli dalam memilih kurir/pihak ketiga agar kunci
yang dititipkan tersebut dapat secara aman sampai ke pengguna.
2. Mengirim kunci tersebut lewat email atau melalui media sosial, misal
pesan message facebook, twitter, dll. Cara ini mungkin beresiko akan
disadapnya kunci tersebut, jadi ketentuanya adalah bagaimana kita sendiri
mengamankan password dari email dan media sosial yang kita punya.
Cara ini juga membutuhkan koneksi internet untuk mengakses email, atau
38
Tabel 3.1 Use Case Narative Pengiriman Pesan
Aktor Reaksi Sistem
1. User membuka aplikasi
enkripsi dan dekripsi sms pada
handphone android
2. Sistem menampilkan tampilan
awal/ utama dimana terdapat
fungsi yang berbeda-beda pada
setiap menunya.
3. User memilih menu untuk
39
mengirim pesan yaitu menu
tulis pesan.
4. Sistem menampilkan form
nomor tujuan pesan, form
kunci enkripsi, dan form isi
pesan yang masih kosong
5. User memasukan nomor tujuan, kunci enkripsi pesan
dan isi pesan yang akan
dikirim.
6. User menekan tombol kirim.
7. Sistem melakukan enkripsi
pesan yang akan dikirim, dan
sistem mengirim pesan ke
nomor tujuan dalam bentuk
ciphertext.
8. Sistem akan menampilkan
laporan keberhasilan atau
kegagalan sistem dalam
40
Tabel 3.2 Use Case Narative Penerimaan Pesan
Aktor Reaksi Sistem
1. Sistem menampilkan peringatan
pesan masuk.
2. User memilih menu pesan
masuk
3. Sistem menampilkan daftar
pesan masuk berdasarkan
nomor pengirim.
4. User memilih salah satu dari
pesan masuk yang ada.
5. Sistem menampilkan pesan
masuk berupa ciphertext, form
kata kunci dekripsi, tombol
balas pesan, tombol dekripsi,
41
Tabel 3.3 Use Case Narative Hapus Pesan
Aktor Reaksi Sistem
1. User membuka aplikasi enkripsi dan dekripsi sms pada
handphone android.
2. Sistem menampilkan tampilan
awal/ utama dimana terdapat
fungsi yang berbeda-beda
pada setiap menunya.
3. User memilih pesan yang akan dihapus :
a. Jika user akan menghapus
pesan terkirim maka user
memilih menu pesan
terkirim.
b. Jika user akan menghapus
pesan masuk maka user
memilih menu pesan
masuk.
4. a. Sistem menampilkan daftar
42
nomor tujuan.
b. Sistem menampilkan daftar
pesan masuk berdasarkan
nomor pengirim.
5. a. User memilih salah satu
pesan terkirim lalu
menghapusnya.
b. User memilih salah satu
pesan masuk lalu
menghapusnya.
6. a. Sistem akan menghapus pesan
terkirim yang dihapus.
b. Sistem akan menghapus
pesan masuk yang dihapus.
43
Tabel 3.4 Use Case Narative Dekripsi Pesan
Aktor Reaksi Sistem
1. User memilih menu pesan masuk
2. Sistem menampilkan daftar
pesan masuk berdasarkan
nomor pengirim.
3. User memilih salah satu dari
pesan masuk yang akan
didekripsi.
4. Sistem menampilkan pesan
masuk berupa ciphertext, form
kata kunci dekripsi, tombol
balas pesan, tombol dekripsi,
dan tombol hapus pesan
5. User memasukan kunci dekripsi
dan menekan tombol dekripsi.
6. Sistem mengenkripsi
ciphertext sesuai kunci yang
44
7. Sistem menampilkan pesan
yang sudah terdekripsi.
Tabel 3.5 Use Case Narative Mengatur No Telpon Pribadi
Aktor Reaksi Sistem
1. User membuka aplikasi enkripsi dan dekripsi sms pada
handphone android.
2. Sistem menampilkan tampilan
awal/ utama dimana terdapat
fungsi yang berbeda-beda
pada setiap menunya.
3. User memilih menu pengaturan
4. Sistem menampilkan form
nomor telpon.
5. User memasukan no telpon
yang digunakan, dan menekan
tombol simpan.
6. Sistem menyimpan nomor
45
3.2.3 State Diagram
State Diagram Antarmuka
46
State Diagram Pesan
Gambar 3.3 State Diagram Pesan
47
Sequence Diagram Terima dan Dekripsi Pesan Diterima
OnClick ( )
+ void onCreate (Bundle savedInstanceState) + void onClick( )
+ boolean onCreateOptionMenu ( ) + void onBackPressed( )
+ boolean isCheck ( )
User BukaSMS
Activity
48
- txtNoHp : AutoCompleteTextView - mContext : Context
- intent : Intent - stringNoHp : String - stringIsiPesan : String
+ void onCreate (Bundle savedInstanceState) + void onItemClick (Adapter View)
+ void onClik ( )
+ boolean onCreateOptionMenu ( )
+ boolean onCreateOptionItemSelected ( ) + boolean cokField ( ) - dekripsiKeyUser : String - dekripsiKeyNumber : String - id : Long
+ void onCreate (Bundle savedInstanceState) + boolean onCreateOptionMenu ( )
+ boolean onCreateOptionItemSelected ( ) + void onClik ( )
49
ListSMSInbox
- mContext : Context - listViewSMS : ListView - adapter : SMSAdapter
- terimaSMS : BroadcastReceiver - filter : IntentFilter
- intent : Intent - id : Long
+ void onCreate (Bundle savedInstanceState) + void onDestroy
+ boolean onCreateOptionMenu ( )
+ boolean onCreateOptionItemSelected ( ) + void onItemClick ( )
SettingKeyActivity - textKey : EditText - btnSimpan: EditText
+ void onCreate (Bundle savedInstanceState) + void onClik ( )
Inbox
- terimaSMS : BroadcastReceiver - filter : IntentFilter
- list : ListView
+ void onCreate (Bundle savedInstanceState) + void DeleteItem ( )
Outbox
- list : ListView
+ void onCreate (Bundle savedInstanceState) + void DeleteItem ( )
50
HelbActivity
+ void onCreate (Bundle savedInstanceState) + void onClickHelb ( )
+ void startInfoactivity( ) +void toast ( String, Boolean)
TopicActivity
- mTextResource : Int
+ void onCreate (Bundle savedInstanceState)
SMSReceiver
+ void onReceive (Context, Intent)
Playfair
+ encrypt ( ) + decrypt ( )
51
Enkripsi Dekripsi
Gambar 3.7 Relasi Diagram class MenuActivity
KirimSMSactivity BukaSMSActivity
Playfair
ListMenuInbox Outbox
SettingKeyActivity TopicActivity
HelbActivity
53
tb_sms (Tabel SMS)
No Field Tipe Keterangan
1 id int Field untuk memasukan id dari
setiap sms yang disimpan dan ini
menjadi Primary Key
2 nomer text Field ini untuk memasukan nomer
yang digunakan untuk SMS
3 pesan text Field ini untuk memasukan pesan
yang dikirim dan disimpan
Tabel 3.6 Tabel SMS
tb_inbox (Tabel Pesan Masuk)
No Field Tipe Keterangan
1 id int Field untuk memasukan id dari
setiap pesan masuk yang disimpan
dan ini menjadi Primary Key
2 nomer text Field untuk memasukan nomer
pengirim dan dismpan
3 pesan text Field untuk memasukan dan
menyimpan pesan yang masuk
4 tanggal date Field untuk memasukan tanggal
54
Tabel 3.7 Tabel Pesan Masuk
tb_outbox (Tabel Pesan Terkirim)
No Field Tipe Keterangan
1 id int Field untuk memasukan id dari
setiap pesan terkirim yang disimpan
dan ini menjadi Primary Key
2 nomer text Field untuk memasukan nomer
tujuan dan disimpan
3 pesan text Field untuk memasukan dan
menyimpan pesan yang terkirim
4 tanggal date Field untuk memasukan tanggal
pesan terkirim
Tabel 3.8 Tabel Pesan Terkirim
tb_key (Tabel Kunci)
No Field Tipe Keterangan
1 id int Field untuk memasukan id dari kunci
no tujuan, id menjadi Primary Key
2 nomer text Field untuk memasukan kunci no
tujuan
56
3.3 RANCANGAN ANTARMUKA
1. Halaman Pembuka awal
Halaman pembuka awal tampil pertama kali pada saat aplikasi ini
dibuka. Pada halaman pembuka awal ini berisi judul aplikasi yang
dibuat serta logo sms.
Gambar 3.9 Halaman Pembuka Awal
2. Halaman Menu Awal
Halaman menu awal pesan ini merupakan halaman yang tampil setelah
57
pada aplikasi, yaitu menu tulis pesan, pesan masuk, pesan terkirim,
pengaturan, dan tentang.
Gambar 3.10 Halaman Menu Awal Pesan
3. Halaman Menu Tulis Pesan / Pesan Baru
Halaman Tulis Pesan ini merupakan halaman yang tampil setelah
memilih menu tulis pesan. Dihalaman ini terdapat form kepada yang
harus diisi dengan nomor tujuan pesan dan juga terdapat form kunci
yang harus diisi dengan kunci yang digunakan untuk mengenkripsi
pesan. Setelah mengisikan form kepada dan form kunci lalu terdapat
58
halaman tulis pesan berfungsi untuk mengenkripsi pesan lalu mengirim
pesan ke SMS center
Gambar 3.11 Halaman Tulis Pesan
4. Halaman Menu Pesan Masuk
Halaman pesan masuk ini merupakan halaman yang tampil setelah
memilih menu pesan masuk. Di dalam halaman ini terdapat daftar
pesan masuk yang terbagi berdasarkan nomor pengirim pesan. Dan
urutan daftar pesan ini tersortir berdasarkan waktu pesan diterima.
Untuk membuka pesan dan mendekripsi pesan user harus memilih
59
Gambar 3.12 Halaman Pesan Masuk
Setelah memilih salah satu pesan yang akan di dekrip dari daftar pesan
masuk, maka akan muncul halaman dekripsi pesan. Pada halaman ini
terdapat identitas nomor dari pengirim, form kunci, dan form isi pesan
yang sudah terisi ciphertext. Di halaman ini juga terdapat tombol balas,
dekripsi, dan hapus. Tombol balas digunakan untuk membalas pesan
kepada si pengirim, dan jika tombol balas ini ditekan maka akan
masuk ke halaman tulis pesan. Tombol dekripsi dugunakan untuk
mendekripsi pesan ciphertext menjadi pesan asli. Setelah user
60
maka pada form isi pesan masuk akan menampilkan pesan asli.
Tombol hapus digunakan untuk menghapus pesan masuk.
Gambar 3.13 Halaman Dekripsi Pesan
5. Halaman Menu Pengaturan Nomor Pribadi
Halaman pengaturan nomor pribadi ini tampil ketika menekan menu
pengaturan yang terdapat pada halaman menu awal pesan. Pada
61
Gambar 3.14 Halaman Pengaturan Nomor Pribadi
6. Halaman Menu Pesan Keluar
Halaman pesan keluar ini merupakan halaman yang tampil setelah
memilih menu pesan keluar. Di dalam halaman ini terdapat daftar
pesan keluar yang terbagi berdasarkan nomor pengirim pesan. Dan
urutan daftar pesan ini tersortir berdasarkan waktu pesan dikirim.