PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 2015
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 2015
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN
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 mendukung satu sama lain.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 diujikan.
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 Cipher method. It runs well in some Android versions.
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 tugas akhir.
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
Lutvianus Satria Kusuma
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR ISI
Halaman
Halaman Persetujuan ................................................................................................ i Halaman Pengesahan .............................................................................................. ii Halaman Persembahan ........................................................................................... iii Pernyataan Keaslian Karya .................................................................................... iv Lembar Pernyataan Persetujuan ...............................................................................v Abstrak ................................................................................................................... vi Abstract ................................................................................................................. vii Kata Pengantar ..................................................................................................... viii Daftar Isi...................................................................................................................x Daftar Gambar ...................................................................................................... xiii Daftar Tabel ...........................................................................................................xv BAB I PENDAHULUAN ........................................................................................1 1.1 Latar Belakang ..........................................................................................1 1.2 Rumusan Masalah .....................................................................................2 1.3 Batasan Masalah........................................................................................3 1.4 Tujuan dan Manfaat Penelitian .................................................................3 1.5 Metdologi Penelitian .................................................................................4 1.6 Sistematika Penulisan ...............................................................................4 BAB II LANDASAN TEORI ..................................................................................6 2.1 Kriptografi .................................................................................................6 2.2 Sandi Playfair ..........................................................................................17 2.3 SMS .........................................................................................................21 2.4 Android ...................................................................................................25 x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.5 Metode Analisis Sistem...........................................................................27 2.5.1 Use Case ........................................................................................27 2.5.2 Sequence Diagram ........................................................................31 2.5.3 State Diagram ................................................................................32 2.5.4 Class Diagram ...............................................................................33 2.5.5 SQLite ...........................................................................................34 BAB III ANALISIS PERANCANGAN SISTEM .................................................35 3.1 Gambaran Umum ....................................................................................35 3.2 Analisis Kebutuhan Sistem .....................................................................38 3.2.1 Use Case Diagram .........................................................................38 3.2.2 Use Case Narative .........................................................................38 3.2.3 State Diagram ................................................................................45 3.2.4 Sequence Diagram ........................................................................46 3.2.5 Diagram Class ...............................................................................47 3.2.6 Rancangan Database .....................................................................52 3.2.7 Flowchart Enkripsi dan Dekripsi Pesan ........................................55 3.3 Rancangan Antarmuka ............................................................................56 BAB IV IMPLEMENTASI SISTEM ....................................................................63 4.1 Implementasi Sistem ...............................................................................63 4.1.1 Perangkat Yang Digunakan...........................................................63 4.1.2 Penyelesaian Enkripsi dan Dekripsi .............................................64 4.2 Tampilan Aplikasi Beserta Potongan Program .......................................77 4.2.1 Halaman Pembuka Awal ...............................................................78 4.2.2 Halaman Menu Utama ..................................................................81 4.2.3 Halaman Tulis Pesan .....................................................................84 4.2.4 Halaman Pesan Masuk ..................................................................88 4.2.5 Halaman Pengaturan No Pribadi ...................................................94 4.2.6 Halaman Pesan Terkirim ...............................................................97 xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 LAMPIRAN ........................................................................................................115
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 Gambar 4.6 Halaman Pengaturan Nomor Pribadi................................................95 xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 Gambar 5.5 Grafik Pertanyaan 5 ........................................................................110
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 Tabel 5.6 Hasil Kuisioner Pertanyaan 5 .............................................................110
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 informasi yang dikirimkan melalui SMS. 1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 android?
2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
1.4
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.
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 android.
3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
1.6
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.
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 Playfair Cipher. 4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 Berisis kesimpulan dan saran mengenai aplikasi yang telah dibuat.
5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 memerlukan suatu mekanisme dan kunci tertentu. 6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan
7
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 pihak pengirim dan penerima saja. Kunci ini disebut sebagai private key. Sebelum berkomunikasi kedua pihak harus bersepakat lebih dahulu 8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 manajemen kunci. 9
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 : 1. Masalah keamanan pada distribusi kunci dapat diatasi. 10
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 harus dibuat kembali.
11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 informasi oleh yang mengirimkan atau membuat.
12
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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) ini menggunakan pihak ketiga yang dipercaya semua pihak, dapat digunakan sebagai 13
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 masingmasing 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 mengetahui R1 Bob mengetahui R1 Bob mengetahui R1
Alice dan Bob berkomunikasi menggunakan kunci session yaitu R1
Gambar 2.1 Cara kerja Key Distribution Center 14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 (R1)). Alice menerima pesan dari KDC dan memverifikasi R1. Dan Alice
15
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 dikonfirmasi, mereka kemudian menggunakan komunikasi kunci public yang 16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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, bila huruf telah muncul, maka tidak dituliskan kembali. 17
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Tabel 1. Kunci Rahasia R
A
H
S
I
B
C
D
E
F
G
K
L
M
N
O
P
Q
T
U
V
W
X
Y
Z
Tabel 2.1 Kunci Bujursangkar 5X5 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 menjadi huruf setelahnya dalam kolom yang sama, demikian juga dengan 18
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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, dan sebaliknya. Contohnya, SI didekrip menjadi HS.
19
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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. 3. SandiPlayfair tidak cocok digunakan untuk menyampaikan pesan rahasia yang cukup panjang. 20
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 email, paging, voice 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 diSMS-kan, seperti mail-to-SMS dan SMS-to-mail. Aplikasi ini memungkinkan user mengirimkan atau menerima e-mail melalui ponsel yang dibawanya. Penerimanya biasanya sangat terbatas, baik dalam hal jumlah karakter, adanya attachment, dan 21
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 yang kita kirimkan akan disimpan di SMSC samapai period-validity terpenuhi.
22
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 cara yang sama, saat kita mengirim SMS, ponsel akan mengirimnya menuju tower 23
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 masingmasingnya 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 dituju.
24
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 yang menggunakan Android. Semenjak kehadirannya pada 9 Maret 2009, Android 25
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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) Android versi 4.4 (KitKat)
26
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 requirements system adalah fungsionalitas apa yang harus disediakan oleh sistem kemudian didokumentasikan pada model use-case yang menggambarkan fungsi 27
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 unit fungsi/layanan yang disediakan oleh sistem (or bagian sistem: subsistem atau class) ke pemakai.
Use case dapat dilingkupi dengan batasan sistem yang diberi label nama sistem.
Use case adalah sesuatu yang menyediakan hasil yang dapat diukur ke pemakai 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 informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick
28
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 cara mengerjakannya). 29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 case diagram: 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. 3. Communicates, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini
30
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
2.5.2. Sequence diagram Sequence 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
memodelkan aliran logika dalam sebuah system dalam cara yang visual.
31
diagram
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 yang akan dilakukan selama dalam state.
32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 di dalam system. Class diagram memberikan gambaran system secara statis dan 33
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 dan sebaliknya. 34
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 chipertext dari pengirim. Sehingga penerima harus melakukan dekripsi untuk 35
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 terjamin barjalan dengan aman.
36
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 media social.
37
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.2
ANALISIS KEBUTUHAN SISTEM
3.2.1 Use Case Diagram Mengatur Nomer Telp Pribadi Mengirim Pesan Hapus Pesan Menerima Pesan
User Dekripsi Pesan
Gambar 3.1 Use Case
3.2.2 Use Case Narative 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 38
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 mengirim pesan ke SMS center.
39
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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, dan tombol hapus pesan.
40
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 pesan terkirim berdasarkan 41
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
42
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 diinputkan oleh user 43
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 telpon yang diinputkan.
44
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.2.3 State Diagram State Diagram Antarmuka
Menu
Menu Tulis Pesan
Menu Pesan Masuk
Menu Pesan Terkirim
Menu Pengaturan
Form Key
List Pesan
Form No
Dekripsi
Hapus
Simpan
Form Kepada
Form Tulis Pesan
Form Key
Kirim
Gambar 3.2 State Diagram Antar Muka 45
Menu Tentang
Keluar
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
State Diagram Pesan Tulis Pesan
No Tujuan
Terima Pesan
Kunci
Kunci
Menu
Dekripsi
Pesan Terkirim
Kirim
Hapus
Gambar 3.3 State Diagram Pesan 3.2.4 Sequence Diagram Sequence Diagram Pengiriman Pesan User
KirimSMS Activity
btnkirim
Playfair
OnClick( ) etKey ( ) txtNoHp ( ) isiPesan ( ) encrypt ( ) kirim ( ) simpan pada oubox
Gambar 3.4 Sequence Diagram Pengiriman Pesan
46
Outbox
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Sequence Diagram Terima dan Dekripsi Pesan Diterima
User
BukaSMS Activity
inbox
btnDekrip
Playfair
OnClick ( ) ListView ( ) etKunci ( ) noHp ( )
decrypt ( ) txtAsli
Gambar 3.5 Sequence Diagram Terima dan Dekripsi Pesan Diterima
3.2.5 Diagram Class MenuActivity - mContext : Context - btnKirimSMS : Button - btnInboxSMS : Button - btnSettingKey : Button - btnBantuan : Button - btnKeyNumber : Button - btnKeluar : Button - intent : Intent + void onCreate (Bundle savedInstanceState) + void onClick( ) + boolean onCreateOptionMenu ( ) + void onBackPressed( ) + boolean isCheck ( )
47
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KirimSMSActivity - btnEnkripsi : Button - btnKirim : Button - btnPesan : Button - etKey : EditKey - 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 ( )
BukaSMSActivity - noHp : EditText - isiPesan : EditText - etKunci : EditText - mContext : Context - intent : Intent - btnBalas : Button - btnDekrip : Button - btnHapus :Button - dekripsiKeyUser : String - dekripsiKeyNumber : String - id : Long + void onCreate (Bundle savedInstanceState) + boolean onCreateOptionMenu ( ) + boolean onCreateOptionItemSelected ( ) + void onClik ( ) + boolean cokField ( )
48
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 ( ) + voidDisplayData ( )
49
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 ( )
Gambar 3.6 Diagram Class
50
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Enkripsi
KirimSMSactivity
Playfair
MenuActivity
Dekripsi
BukaSMSActivity
ListMenuInbox
Outbox
TopicActivity
inbox
HelbActivity
SettingKeyActivity
Gambar 3.7 Relasi Diagram class
51
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.2.6 Rancangan Database
tb_sms
tb_outbox
id : int (PK)
id : int (PK)
nomer : text
nomer : text
pesan : text
pesan : text tanggal : date
tb_inbox id : int (PK)
tb_key
nomer : text
id : int (PK)
pesan : text
nomer : text
tanggal : date
52
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 pesan diterima 53
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 Tabel 3.9 Tabel Kunci 54
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.2.7 Flowchart Enkripsi dan Dekripsi Pesan Mulai
Pilih Menu Kirim Pesan
Ada sms?
Pilih pesan masuk
Input no, kunci, pesan
Input kunci
Enkripsi dengan no tujuan
Dekripisi dengan kunci
Enkripsi dengan kunci
Dekrip dengan no pribadi
kirim
Tampilkan pesan asli
selesai
Gambar 3.8 Flowchart Enkripsi dan Dekripsi Pesan
55
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 halaman pembuka awal. Dihalaman ini terdapat menu-menu yang ada 56
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 form tulis pesan yang harus diisikan pesan. Tombol kirim pada 57
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 salah satu dari daftar pesan yang ada. 58
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 memasukan kunci pada form kunci dan menekan tombol dekripsi,
59
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
halaman ini terdapat form masukan nomor pribadi dan tombol simpan.
60
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
Gambar 3.15 Halaman Pesan Keluar 61
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
7. Halaman Menu Tentang Aplikasi Halaman tentang aplikasi ini merupakan halaman yang tampil setelah memilih menu tentang halaman. Pada halaman ini berisi tentang penjelasan-penjelasan setiap menu yang ada pada aplikasi.
Gambar 3.16 Halaman Tentang Aplikasi
62
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB IV IMPLEMENTASI SISTEM
4.1
IMPLEMENTASI SISTEM 4.1.1 Perangkat yang Digunakan Perangkat lunak yang digunakan dalam pengminlementasian sistem ini adalah : 1. JDK 7.8 2. Eclipse Luna 4.4 3. Android SDK Manager 4. SQLite Database 5. Sistem Operasi Wndows 7 Ultimate
Perangkat Keras yang digunakan dalam pembuatan aplikasi ini adalah laptop dengan spesifikasi sebagai berikut : 1. Prosesor Intel® Core™ i3 CPU 2.27GHz 2. RAM 2.00 GB (1.74 GB usable) 3. Harddisk 500 GB
63
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.1.2 Penyelesaian Enkripsi dan Dekripsi Menggunakan Metode Playfai Cipher 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. Berikut ini adalah potongan program untuk membuat bujur sangkar 5X5 dan pembentukan kunci playfai yang sudah ditentukan : 1. Proses Pembentukan Tabel Bujursangkar 5X5 Class project/crypto/util/Playfair.java privateintmatrix[] = newint[25]; privateintletterPosition[] = newint[26];
64
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2. Proses Pembentukan Kunci Playfair Class project/crypto/util/Playfair.java
Baris 16 : Membuat konstruktor untuk set Kunci Playfair
Baris 21 : Mengganti karakter J dengan I pada pengisian huruf pada kunci
65
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Baris 25-27 : Pastikan input
kotak pada bujur sangkar kunci
playfair berupa huruf yang dimasukkan oleh pengguna. (misalkan kunci rahasia). R
A
H
S
I
Baris 30-35 : Jika kunci pengguna < 25 huruf alphabet. Misalkan kunci tadi “RAHASIA” dan ketika dimasukkan pada table dengan menghilangkan huruf kembar menjadi “RAHSI”, diketahui jumlah “RAHSI” adalah huruf, sedangkan kuota table masuh 20, maka isikan sisa hurufnya dengan asumsi huruf J diganti huruf I pada baris program 21. R
A
H
S
I
B
C
D
E
F
G
K
L
M
N
O
P
Q
T
U
V
W
X
Y
Z
66
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3. Proses Enkripsi dan Dekripsi Class project/crypto/util/Playfair.java
Baris 102 : method untuk mendekripsi dengan input parameter message plaintext
Baris 107 : method untuk mendekripsi dengan input parameter message ciphertext
Baris103 : mengembalikan nilai dengan method _encrypt yang memiliki parameter replaceText yang digunakan untuk mengganti dengan karakter khusus misalkan “X” pada pasangan huruf ganjil.
67
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/crypto/util/Playfair.java
Pada method _encrypt pada baris 103 : terdapat method swap pada program berikut ini :
Class project/crypto/util/Playfair.java
68
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Baris program 70-73 : membagi dan memastikan pembagian blok kunci bujur sangkar adalah 5 cell. Jika kolom x ( pasangan huruf x1 ) bersebrangan dengan kolom x2 ( pasanganhurufx2 ) , maka ambil titik temu dari x1dan x2, sebaliknya, jika kolom y ( pasangan huruf y1 ) bersebrangan dengan kolom y2 ( pasangan huruf y2 ), maka ambiltiti ketemu dari y1 dan y2. Jika kolom x ( pasangan huruf x1) bersebrangan dengan kolom x2 ( pasangan huruf x2 ) , maka ambil titiktemu dari x1 dan x2, sebaliknya, jika kolom y ( pasangan huruf y1) tidak bersebrangan dengan kolom y2 ( pasangan huruf y2 ), maka ambil titik temu paling terdekat.
R
A
H
S
I
B
C
D
E
F
G
K
L
M
N
O
P
Q
T
U
V
W
X
Y
Z
Misalkan pasangan huruf CT, maka titik temu untuk CT adalah “P”, sedangkan TC adalah titik temunya adalah “E”.
69
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Misalkan pasangan huruf CP, maka titik temu untuk CP untuk P adalah “W”, sedangkan CP untuk C adalah titik temunya adalah “K”. Misalkan pasangan huruf CE, maka titik temu untuk CE untuk E adalah “F”, sedangkan CE untuk C adalah titik temunya adalah “D”.
Class project/crypto/util/EnkripsiUtil.java
Baris 7 : membuat sebuah method untuk enkripsi playfair dengan parameter text sebagai plaintext dan key adalah kunci playfair.
Baris 8: Masukkan kedalam class pada konstruktor Playfair.
Baris
17: Kemudian ambil setiap data input plaintext untuk
dienkripsi menggunakan method p.encrypt. Sisipkan jika ada
70
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
angka pada ciphertext pada bariske 16, dengan menganti semua huruf kecuali ada angka/digit.
Baris19 :Jika terdapat huruf pada ciphertext, maka ambil huruf dan angka, jika tidak, maka tampilkan ciphertext berupa huruf saja.
Class project/crypto/util/DekripsiUtil.java
Baris 7 : Membuatsebuah method untuk dekripsi playfair dengan parameter text sebagai plaintext dan key adalah kunci playfair.
Baris 8: Masukkan kedalam class pada konstruktor Playfair
Baris
15: Kemudian ambil setiap data input plaintext untuk
dienkripsi menggunakan method p.decrypt. Sisipkan jika ada 71
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
angka pada plaintext pada bariske 16, dengan menganti semua huruf kecuali ada angka/digit.
Baris19 : Jika terdapat huruf pada plaintext, maka ambil huruf dan angka, jika tidak, maka tampilkan plaintext berupa huruf saja.
4. Proses Kirim SMS Class project/crypto/KirimSMSActivity.java
Baris 225 : Ambil kunci user dari form input EditText etKey. Generate kunci nomer dengan method getNumber(), dapat dibuka pada class project/key/keySecure.java
72
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/key/KeySecure.java
Pada baris 28 akan memetakan setiap digit nomer phone ke angka menggunakan method ConvertNumber.
73
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/crypto/KirimSMSActivity.java
Baris 231 : Enkripsi menggunakan kunci nomer ponsel, dengan memasukkan 2 parameter yaitu plaintext (EditText Pesan) dan kunci nomer (keyNumber)
Baris 234 : Enkripsi menggunaka kunci input user dengan parameter masukkan 2 yaitu hasil enkripsi dari enkripsi number (enkripsi number) dengan kunci user (plaifairKey).
Class project/crypto/KirimSMSActivity.java
74
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Baris 242-247 : Merupakan program untuk memasukkan kedalam database, yang berisi No,HP, Pesan, pesan enkripsi, pesan asli, dan tanggal.
Baris 249 : Mengirim pesan, jika pesan sudah dikirim, maka kembali ke menu utama
5. Proses Terima SMS Class project/crypto/SMSReceiver.java
Merespon sinyal pesan masuk yang berupa message body, nomer ponsel, dan waktu pengiriman.
75
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/crypto/ListSMSinbox,java
Kemudian masukkan kedalam listinbox, dengan menerima nilai message body, nomer ponsel, dan waktu pengiriman secara dinamis menggunakan BroadcastReceiver pada class ListSMSinbox.java
Class project/crypto/ListeSMSinbox.java
76
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Kemudian smsInbox yang ditampilan pada listInbox, ketika diklik akan mengirimkan nilai ke dalam class BukaSMSActivity.java berupa nomer, waktu, id dan pesan menggunakan object Intent
4.2
TAMPILAN APLIKASI BESERTA POTONGAN PROGRAM Berikut ini merupakan tampilan aplikasi enkripsi dan dekripsi SMS
dengan metode playfair cipher pada smartphone berbasis android yang terdapat pada smartphone android beserta potongan program
77
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2.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 4.1 Halaman Pembuka Awal
Gambar 4.1 menunjukan tampilan pembuka awal pada saat aplikasi ini dijalankan pada smartphone android. Pada halaman ini berisi judul tentang aplikasi yaitu Aplikasi Enkripsi dan Dekripsi SMS Dengan Metode Playfair Cipher Pada Smartphone Berbasis Android. B erikut ini merupakan cuplikan kode program yang digunakan untuk membuat tampilan halaman pembuka awal. 78
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class layout/splash_screen.xml
79
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/crypto/SplashScreen.java
80
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2.2 Halaman Menu Utama Halaman menu utama pesan ini merupakan halaman yang tampil setelah halaman pembuka awal. Dihalaman ini terdapat menu-menu yang ada pada aplikasi, yaitu menu tulis pesan, pesan masuk, pesan terkirim, pengaturan, dan tentang.
Gambar 4.2 Halaman Menu Utama
Gambar 4.2 menunjukan tampilan menu utama pada aplikasi di smartphone android. Tampilan ini muncul setelah loading tampilan halaman pembuka awal. Pada tampilan ini terdapat 6 menu pilihan yaitu berikut ini :
81
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1. Tulis Pesan, menu ini berfungsi untuk melakukan pengiriman pesan baru. 2. Pesan Masuk, menu ini berfungsi untuk menampilkan pesan yang masuk, mendekripsi pesan yang masuk, dan menghapus pesan yang masuk. 3. Pesan Keluar, menu ini berfungsi untuk menampilkan pesan yang telah terkirim. 4. Tentang Aplikasi, menu ini berfungsi untuk menampilkan iniformasi mengenai menu-menu yang ada pada aplikasi. 5. Pengaturan, menu ini berfungsi untuk mengatur nomor pribadi yang kita gunakan dalam proses sms. 6. Keluar, berfungsi untuk keluar dari aplikasi Berikut ini merupakan cuplikan kode program yang digunakan untuk membuat tampilan halaman menu utama.
82
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Classlayout/menu_dashboard.xml
83
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/crypto/MenuActivity.jav
4.2.3 Halaman Tulis Pesan 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 form tulis pesan yang harus diisikan
84
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
pesan. Tombol kirim pada halaman tulis pesan berfungsi untuk mengenkripsi pesan lalu mengirim pesan ke SMS center
Gambar 4.3 Halaman Tulis Pesan
Gambar 4.3 menunjukan tampilan tulis pesan dimana terdapat form kepada, kunci, isi pesan, tombol kirim, dan batal. Form kepada ini digunakan untuk mengisikan nomor tujuan. Form kunci digunakan untuk mengisikan kunci yang akan digunakan untuk mengenkripsi sms. Form isi pesan digunakan untuk mengisikan isi sms yang akan dikirim. Tombol kirim digunakan untuk mengirim sms yang sudah diisikan, dimana tombol ini juga sekaligus digunakan untuk mengenkripsi sms berdasarkan kunci yang diisikan. Lalu tombol batal 85
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
digunakan untuk membatalakan mengirim sms dan mengembalikan pada tampilan menu awal. Berikut ini merupakan cuplikan kode program yang digunakan untuk membuat tampilan halaman tulis pesan. Class layout/kirim_sms.xml
86
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
87
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/crypto/KirimSMSActivity.java
4.2.4 Halaman 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 88
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
tersortir berdasarkan waktu pesan diterima. Untuk membuka pesan dan mendekripsi pesan user harus memilih salah satu dari daftar pesan yang ada.
Gambar 4.4 Halaman Pesan Masuk
Gambar 4.4 menunjukan tampilan pesan masuk, dimana pada tampilan ini terdapat daftar pesan masuk yang terbagi berdasarkan nomor pengirim dan waktu pesan ini masuk. Jika ingin medekripsi atau menghapus sms, maka tinggal pilih salah satu pesan masuk yang akan di dekripsi dan dihapus. Berikut ini merupakan cuplikan kode program yang digunakan untuk membuat tampilan halaman pesan masuk.
89
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class layout/sms_inbox.xml
Class project/crypto/ListSMSinbox.java
90
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 4.5 Halaman Buka Pesan Masuk
Gambar 4.5 menunjukan tampilan buka pesan masuk, dimana pada halaman ini terdapat form nomor pengirim, kunci, isi pesan masuk (ciphertext), tombol balas, dekripsi, dan hapus. Form kunci digunakan untuk mengisikan 91
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
kunci untuk mendekripsi sms masuk yang terdapat pada form isi pesan masuk (ciphertext). Tombol balas digunakan untuk mengirim pesan kepada pengirim dan menujukan pada halaman tulis pesan. Tombol dekripsi digunakan untuk mendekripsi sms yang masuk. Tombol hapus digunakan untuk menghapus sms masuk yang dibuka. Berikut ini merupakan cuplikan kode program yang digunakan untuk membuat tampilan halaman buka pesan masuk. Class layout/buka_sms.xml
92
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
93
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/crypto/BukaSMSActivity.java
4.2.5 Halaman Pengaturan Nomor Pribadi Halaman pengaturan nomor pribadi ini tampil ketika menekan menu pengaturan yang terdapat pada halaman menu awal pesan. Pada halaman ini terdapat form masukan nomor pribadi dan tombol simpan.
94
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 4.6 Halaman Pengaturan Nomor Pribadi
Gambar 4.6 menunjukan tampilan menu pengaturan, dimana pada tampilan ini terdapat form masukan nomor telpon anda dan tombol simpan. Form pengguna nomor pribadi ini diisikan dengan dengan nomor telpon penguna yang digunakan untuk mengirim dan menerima pesan, sedangkan tombol simpan digunakan untuk menyimpan nomor penguna yang sudah diisikan pada form pengguna nomor pribadi.
95
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Berikut ini merupakan cuplikan kode program yang digunakan untuk membuat tampilan halaman menu pengaturan nomor pribadi.
Class layout/setting_key.xml
96
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/crypto/SettingKeyActivity.java
4.2.6 Halaman Pesan Terkirim Halaman pesan terkirim ini tampil ketika menekan menu pesan terkirim yang terdapat pada halaman menu awal pesan. Di dalam halaman ini terdapat daftar pesan terkirim yang terbagi berdasarkan nomor tujuan pesan. Dan urutan daftar pesan ini tersortir berdasarkan waktu pesan diterima.
97
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 4.7 Halaman Pesan Terkirim
Gambar 4.7 menunjukan tampilan pesan terkirim, dimana pada tampilan ini terdapat daftar pesan terkirim yang terbagi berdasarkan nomor tujuan dan waktu pesan ini terkirim. Berikut ini merupakan cuplikan kode program yang digunakan untuk membuat tampilan halaman menu pesan terkirim.
98
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class layout/item_list_outbox.xml
Class project/crypto/DisplayAdapter.java
99
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2.7 Halaman Menu Tentang Aplikasi Halaman tentang aplikasi aplikasi
ini tampil ketika menekan menu tentang
yang terdapat pada halaman menu awal pesan. Pada halaman ini
terdapat penjelasan-penjelasan tentang menu yang ada pada aplikasi.
Gambar 4.8 Halaman Tentang Aplikasi Gambar 4.8 menunjukan tampilan menu tentang aplikasi yang berisi informasi tentang menu yang ada. Untuk lebih mengerti/mengetahui lagi tantang menu dari aplikasi maka salah satu dari penjelasan yang ada ditekan makan akan menampilkan informasi lebih lanjut tentang menu. Berikut ini merupakan cuplikan kode program yang digunakan untuk membuat tampilan halaman menu pengaturan nomor pribadi. 100
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class Layout/help.xml
101
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
102
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Class project/crypto/HelpActivity.java
103
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB V ANALISIS HASIL IMPLEMENTASI
5.1
HASIL PENGUJIAN SISTEM User dapat menjalankan aplikasi enkripsi dan dekripsi SMS dengan metode
playfair cipher setelah user melakukan instalasi aplikasi ini pada smartphone android yang digunakan. Sebelum melakukan pengiriman dan penerimaan pesan, penerima dan pengirim harus melakukan perjanjian mengenai kata kunci yang akan digunakan untuk proses enkripsi dan dekripsi pesan. Apabila kunci yang digunakan oleh pengirim dalam proses enkripsi dan dekripsi dengan penerima tidak sama, maka pesan yang akan ditampilkan pada handphone pernerima tidak sesuai dengan pesan yang dikirimkan pengirim. Pengujian aplikasi enkripsi dan dekripsi SMS dengan metode playfair cipher ini delakukan dua kali. Yang pertama aplikasi akan diuji di beberapa versi android. Pengujian pada beberapa versi android ini dilakukan dengan batasan versi android versi 2.3 (Gingerbred) sebagai versi android terendahnya, dan android versi 4.4 (KitKat) sebagai versi tertingginya. Pengujian versi android ini dibatasi karena pada bebrapa versi android inilah yang masih populer digunakan oleh banyak orang. Pengujian yang kedua pada aplikasi akan dilakukan mengunakan kuiesioner yang disebar pada mahasiswa yang menggunakan smartphone android dan dengan
104
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
catatan sudah menginstal aplikasi enkripsi dan dekripsi SMS dengan metode playfair cipher ini.
5.1.1 Pengujian Aplikasi Pada Beberapa Versi Android Sesuai Dengan Batasan yang Ditetapkan Tabel 5.1 Tabel hasil pengujian pada beberapa versi android Hasil Pengujian Pada Versi Android
No.
Aksi
2.3
4.0
4.2
4.4
Ginger
Ice Cream
Jelly Bean
Kit Kat
bread
Sandwich
1.
Pengiriman SMS
Berhasil
Berhasil
Berhasil
Berhasil
2.
Enkripsi SMS
Berhasil
Berhasil
Berhasil
Berhasil
3.
Penerimaan SMS
Berhasil
Berhasil
Berhasil
Berhasil
4.
Dekripsi SMS
Berhasil
Berhasil
Berhasil
Berhasil
5.
Balas SMS
Berhasil
Berhasil
Berhasil
Berhasil
6.
Menyimpan SMS
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Masuk 7.
Menyimpan SMS Terkirim
8.
Menghapus SMS Masuk
9.
Menghapus SMS Terkirim
105
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.1.2 Pengujian Kuesioner Berdasarkan dari hasil kuesioner yang disebar maka dapat disimpulkan dari setiap pertanyaan : 1. Aplikasi ini membantu mengamankan pesan anda Jawaban
Jumlah Responden
Total
Sangat Tidak Setuju
0
0%
Tidak Setuju
0
0%
Ragu-Ragu
2
6,67%
Setuju
15
50%
Sangat Setuju
13
4,3%
Tabel 5.2 Tabel Hasil Kuesioner Pertanyaan 1
Gambar 5.1 Grafik Pertanyaan 1 Dari perhitungan diatas, maka dapat disimpulkan bahwa aplikasi ini membantu mengamankan pesan. 106
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2. Aplikasi ini berjalan lancar pada smartphone android anda Jawaban
Jumlah Responden
Total
Sangat Tidak Setuju
0
0%
Tidak Setuju
0
0%
Ragu-Ragu
12
20%
Setuju
14
46,7%
Sangat Setuju
4
13,3%
Tabel 5.3 Tabel Hasil Kuesioner Pertanyaan 2
Gambar 5.2 Grafik Pertanyaan 2 Dari perhitungan diatas, maka dapat disimpulkan bahwa aplikasi ini berjalan lancar pada smartphone android responden, meskipun masih banyak responen yang ragu-ragu.
107
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3. Aplikasi ini mudah untuk digunakan dan dipahami Jawaban
Jumlah Responden
Total
Sangat Tidak Setuju
0
0%
Tidak Setuju
0
0%
Ragu-Ragu
4
13,3%
Setuju
21
70%
Sangat Setuju
5
16,7%
Tabel 5.4 Tabel Hasil Kuesioner Pertanyaan 3
Gambar 5.3 Grafik Pertanyaan 3 Dari perhitungan diatas, maka dapat disimpulkan bahwa aplikasi ini mudah untuk digunakan dan dipahami.
108
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4. Aplikasi ini bermanfaat bagi anda Jawaban
Jumlah Responden
Total
Sangat Tidak Setuju
0
0%
Tidak Setuju
1
3,3%
Ragu-Ragu
6
20%
Setuju
17
56,7%
Sangat Setuju
6
20%
Tabel 5.5 Tabel Hasil Kuesioner Pertanyaan 4
Gambar 5.4 Grafik Pertanyaan 4 Dari perhitungan diatas, maka dapat disimpulkan bahwa aplikasi ini bermanfaat bagi responden.
109
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5. Aplikasi ini akan anda gunakan seterusnya Jawaban
Jumlah Responden
Total
Sangat Tidak Setuju
1
3,3%
Tidak Setuju
1
3,3%
Ragu-Ragu
19
63,3%
Setuju
8
26,7%
Sangat Setuju
1
3,3%
Tabel 5.6 Tabel Hasil Kuesioner Pertanyaan 5
Gambar 5.5 Grafik Pertanyaan 5 Dari perhitungan diatas, maka dapat disimpulkan bahwa responden masih ragu-ragu untuk menggunakan aplikasi ini seterusnya.
110
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.2
KELEBIHAN SISTEM Setelah melakukan pengujian terhadap aplikasi enkripsi dan dekripsi SMS
dengan metode playfair cipher, maka didapatkan hasil bahwa sistem ini memiliki kelebihan sebagai berikut : 1. Semua fungsi pada aplikasi ini berjalan pada semua versi android yang diujikan. Sehingga aplikasi ini dapat digunakan pada versi android yang masih populer pada banyak pengguna smartphone android sekarang ini. 2. Dengan adanya aplikasi enkripsi dan dekripsi sms dengan metode playfair ini, is isms hanya dapat dibaca oleh penerima yang berhak.
5.3
KEKURANGAN SISTEM Setelah melakukan pengujian terhadap aplikasi enkripsi dan dekripsi SMS
dengan metode playfair cipher, maka didapatkan hasil bahwa sistem ini memiliki kekurangan sebagai berikut : 1. Aplikasi terkadang berjalan tidak stabil pada saat pertama kali di instalasi di beberapa tipe smartphone. 2. Aplikasi ini hanya dapat mengirim pesan text berupa huruf dan angka. 3. Aplikasi ini hanya dapat mengirim pesan text terbatas, hanya 160 karakter saja. 111
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB VI PENUTUP
6.1
KESIMPULAN Berdasarkan implementasi dan pengujian yang telah dilakuan, maka dapat
ditarik kesimpulan bahwa: 1.
Aplikasi enkripsi dan dekripsi SMS dengan metode playfair cipher ini berguna menyandikan SMS. SMS yang dikirim kepada penerima disandikan menggunakan kunci yang dimasukan oleh pengirim pada saat melakukan pengiriman pesan, dimana kunci yang dipakai untuk menyandikan pesan ini telah disepakati oleh pengirim dan penerima. Demikian pula sebaliknya, penerima mengubah pesan yang sudah disandikan menjadi pesan aslinya dengan menggunakan kunci yang sama dengan kunci yang digunakan oleh pengirim. Oleh sebab itu berdasarkan hasil implementasi yang dibuat maka dapat disimpulkan bahwa aplikasi yang dibuat ini membuat pesan yang dikirim pengguna tidak dapat dibaca orang lain yang tidak berkepentingan.
2.
Ada dua kunci yang digunakan pada aplikasi ini, yang pertama menggunakan kunci yang diinputkan manual dan yang kedua dengan kunci no tujuan yang dilakukan otomatis oleh sistem. Jadi proses 112
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
enkripsi SMS dilakukan dua kali. Dan dengan adanya proses dua kali enkripsi ini, maka SMS yang dikirimkan lebih terjaga dan privasi pengguna dapat lebih terjamin keamanannya. 3.
Hasil pengujian di beberapa versi android menunjukan bahwa aplikasi enkripsi dan dekripsi SMS dengan metode playfair cipher ini berjalan dan berfungsi baik pada semua versi android yang diujikan.
6.2
SARAN Berdasarkan hasil implementasi ini maka penulis menyarankan pada
pengembang aplikasi: 1.
Aplikasi dapat dikembangkan agar dapat mengirim pesan lebih dari 160 karakter.
2.
Aplikasi dapat mengirim pesan text tidak hanya berupa huruf dan angka saja, melainkan juga dapat berupa tanda baca misalkan, koma, titik, seru, dll.
113
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR PUSTAKA
Dony Ariyus, Pengantar Ilmu Kriptografi (Teori Analisis dan Implementasi), Penerbit Andi, Yogyakarta, 2008 Adi Nugroho, Rekayasa Perangkat Lunak Menggunakan UML dan Java, Penerbit Andi, Yogyakarta, 2009 Stephanus Hermawan S.,Mudah Membuat Aplikasi Android, Penerbit Andi, Yogyakarta, 2011 Alfred J. Menezes, , Paul C. van Oorschot, Scott A. Vanstone, HandBook of Applied Cryptography, Penerbit Taylor & Francis, 1997 William Stalling, Cryptography and Security Principles and Practice, Prentice Hall Enternational, Inc, 2003 URL : http://id.wikipedia.org/wiki/SandiPlayfair Tanggal Akses : 05/01/2014 URL : https://mrajacse.files.wordpress.com/2012/03/chapter-14-key-managementdistribution1.pdf Tanggal Akses : 12/01/2014
114
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN
115