PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN METODE ALGORITMA VIGENERE
CIPHER DAN LEAST SIGNIFICANT BIT PADA CITRA DIGITAL BERBASIS ANDROID
SKRIPSI
Oleh IVAN JULIANTO
NIM : 108091000113
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS UIN SYARIF HIDAYATULLAH JAKARTA
2015 M/1436 H
ii
PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN METODE ALGORITMA VIGENERE
CIPHER DAN LEAST SIGNIFICANT BIT PADA CITRA DIGITAL BERBASIS ANDROID
Skripsi
Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
Pada Program Studi Teknik Informatika Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh IVAN JULIANTO
NIM : 108091000113
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS UIN SYARIF HIDAYATULLAH JAKARTA
2015 M/1436 H
v
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-
BENAR HASIL KARYA SENDIRI DAN BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN.
Jakarta, Mei 2015
Ivan Julianto NIM. 108091000113
vi
ABSTRAK
Ivan Julianto – 10809100013, Perancangan aplikasi pengamanan teks dengan metode algoritma vigenere cipher dan least significant bit pada citra digital berbasis smartphone android (Di bawah bimbingan bapak Husni Teja Sukmana, Ph.D, dan bapak Feri Fahrianto, M.Sc)
Meningkatnya pengiriman pesan melalui internet yang pada umumnya dilakukan pada perangkat smartphone menimbulkan kewaspadaan terhadap ancaman keamanan yang semakin berkembang. Keamanan menjadi faktor penting dalam proses pengiriman informasi, bahkan keamanan menjadi suatu kebutuhan agar dapat melindungi informasi dari orang yang tidak berhak untuk mengakses informasi tersebut,oleh karena itu, diperlukan adanya suatu mekanisme yang dapat menjaga kerahasiaan pesan dan salah satu metode untuk menjaga kerahasian pesan yaitu dengan cara melakukan penyandian teks melalui proses enkripsi dan dekripsi dengan menggunakan algoritma vigenere cipher dan penyisipan teks ke dalam gambar melalui proses encode dan decode dengan menggunakan metode least significant bit. Algoritma vigenere cipher merupakan metode menyandikan teks alfabet dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci dan metode least significant bit merupakan teknik substitusi pada steganografi, biasanya arsip 24 bit atau 8 bit yang digunakan untuk menyimpan citra digital. Penelitian ini menggunakan metode pengembangan Rapid Application Development (RAD) menurut Kendall & Kendall (2008) yang terdiri dari tahap perencanaan syarat, workshop design, dan implementasi, aplikasi ini dirancang menggunakan UML (Unified Modelling Language). Hasil dari penelitian ini adalah sebuah aplikasi perangkat lunak pengiriman pesan yang berguna untuk menjaga kerahasiaan pesan dengan metode algoritma vigenere cipher dan least significant bit pada smartphone android. Dengan adanya aplikasi Kripsteno ini dapat menjadi salah satu solusi dalam pengiriman pesan yang aman pada smartphone android.
Kata kunci:Pesan, vigenere cipher, least significant bit, android, enkripsi, dekripsi,
encode, decode, Rapid Application Development (RAD), UML (Unified Modelling
Language)
vii
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT, yang telah
melimpahkan segala rahmat dan karuniaNya, sehingga penulis dapat
menyelesaikan skripsi yang merupakan salah satu persyaratan untuk
menyelesaikan program studi Strata Satu (S1) pada Program Studi Teknik
Informatika Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif
Hidayatullah Jakarta.
Shalawat serta salam senantiasa penulis haturkan teruntuk Nabi Muhammad
SAW yang telah membawa cahaya dalam kehidupan di dunia ini. Semoga Rahmat
Allah selalu mengalir untuknya beserta keluarga, sahabat dan umatnya.
Penulis menyadari bahwa tanpa bantuan dari berbagai pihak, penulisan
skripsi ini mungkin tidak akan terselesaikan. Maka pada kesempatan ini penulis
menyampaikan rasa hormat dan terima kasih sebesar-besarnya kepada :
1. Bapak DR. Agus Salim, M.Si, selaku Dekan Fakultas Sains dan
Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.
2. Ibu Arini, MT, selaku Ketua Program Studi Teknik Informatika, dan
Bapak Feri Fahrianto, M.Sc, selaku Sekretaris Program Studi Teknik
Informatika.
3. Bapak Husni Teja Sukmana, Ph.D dan Bapak Feri Fahrianto, M.Sc,
selaku dosen pembimbing I dan II yang telah sangat membantu dengan
memberikan bimbingan dan saran kepada penulis.
4. Seluruh staff pengajar dan karyawan pada Program Studi Teknik
Informatika.
5. Ayah dan Ibu tercinta yang telah bersabar dan selalu memahami saya,
dan menjadi motivasi saya dalam melakukan setiap pekerjaan dengan
sebaik-baiknya. Terimakasih atas segala do’a, restu dan harapannya
kepada saya yang tak pernah lepas.
viii
7. Para sahabat, Ganjar Ramadhan, S. Kom, Deni Dharmatin, S. Kom,
dan Intan Ninda, S.Kom yang telah membantu dan mendukung penulis
dalam menyelesaikan skripsi.
8. Teman-teman kosan Agus, Zul, Torik, Sarwan, Rouf, dan Robet yang
sudah menemani, membantu dan memberi saran juga masukan kepada
penulis dalam menyelesaikan skripsi.
9. Semua pihak yang secara langsung maupun tidak langsung membantu
penulis dalam menyelesaikan skripsi ini.
Penulis menyadari sepenuhnya bahwa pembuatan skripsi ini masih jauh dari
kesempurnaan, dikarenakan keterbatasan ilmu pengetahuan yang penulis
miliki. Oleh karena itu, penulis berharap adanya saran dan kritik yang
membangun sehingga dapat memperbaiki dan membenahi kekurangan-
kekurangan yang ada.
Akhir kata, semoga skripsi ini dapat memberikan manfaat serta dapat
digunakan sebagai salah satu referensi untuk pengembangan Tugas Akhir di
kemudian hari dan dapat menjadi nilai tambah khususnya bagi penulis dan
umumnya bagi pembaca.
Jakarta, Mei 2015
Ivan Julianto
108091000113
ix
DAFTAR ISI
HALAMAN SAMPUL ........................................................................................... i
HALAMAN JUDUL ............................................................................................. ii
LEMBAR PERSETUJUAN PEMBIMBING .................................................... iii
LEMBAR PENGESAHAN UJIAN .................................................................... iv
LEMBAR PERNYATAAN ................................................................................... v
ABSTRAK ............................................................................................................ vi
KATA PENGANTAR ......................................................................................... vii
DAFTAR ISI ......................................................................................................... ix
DAFTAR GAMBAR .......................................................................................... xiii
DAFTAR TABEL .............................................................................................. xiv
DAFTAR LAMPIRAN ........................................................................................ xv
BAB I PENDAHULUAN
1.1 Latar Belakang ................................................................................................... 1
1.2 Perumusan Masalah ........................................................................................... 4
1.3 Batasan Masalah................................................................................................. 4
1.4 Tujuan Penelitian ............................................................................................... 5
1.5 Manfaat Penelitian ............................................................................................. 5
1.6 Metodologi Penelitian ........................................................................................ 6
1.7 Sistematika Penulisan ........................................................................................ 7
x
BAB II LANDASAN TEORI
2.1 Definisi Pengembangan................................................................................. .... 9
2.2 Pengertian Aplikasi ............................................................................................ 9
2.3 Pengertian Pengamanan ..................................................................................... 9
2.4 Kriptografi.... .................................................................................................... 10
2.4.1 Tujuan Kriptografi................................................ ............... .........................10
2.4.2 Terminologi Kriptografi................................................................ ... .12
2.4.3 Algoritma Kriptografi.......................... ... . ........................................13
2.5 Vigenere Cipher ............................................................................................... 15
2.5.1 Proses Enkripsi................................................. ... ..............................16
2.5.2 Proses Dekripsi...................................... ... .........................................20
2.6 Steganografi .....................................................................................................23
2.6.1 Metode Least Significant Bit ............................................................. 24
2.7 Perbedaan Kriptografi dan Steganografi .......................................................... 25
2.8 Pengenalan Android ............. ........................................................................... 26
2.8.1 Android SDK (Software Development Kit) ...................................... 26
2.8.2 ADT (Android Development tools..... ....................................... .... ...28
2.8.3 Fundamental Aplikasi.............. ................................................ ... .....28
2.9 UML (Unified Modelling Language)............................................................... 30
2.10 Rapid Application Development .................................................................... 36
2.10.1 Keunggulan RAD ................................................................................ 38
BAB III METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data .............................................................................. 39
3.2 Metode Pengembangan Sistem ........................................................................ 41
3.2.1 Fase Perencanaan Syarat ......................................................................... 41
xi
3.2.2 Workshop Design .................................................................................... 42
3.2.3 Fase Implementasi ................................................................................... 43
3.3 Alur Kerangka Penelitian ................................................................................. 44
BAB IV ANALISIS DAN PERANCANGAN
4.1 Fase Perencanaan syarat-syarat ........................................................................ 45
4.1.1 Analisis Kebutuhan ................................................................................. 45
4.1.1.1 Deskripsi Umum Sistem ................................................................. 45
4.1.1.2 Analisis Spesifikasi dan kebutuhan perangkat lunak ..................... 47
4.1.2 Menentukan Tujuan ................................................................................ 49
4.1.3 Menentukan Syarat-syarat............................................................. .......... 49
4.2 Fase Workshop Desain ..................................................................................... 50
4.2.1 Use Case Diagram ................................................................................... 51
4.2.1.1 Definisi Aktor ................................................................................. 52
4.2.1.2Definisi Use Case ............................................................................ 52
4.2.2 Use Case Skenario................................................................................... 53
4.2.2.1 Membuat Pesan Terenkripsi ........................................................... 54
4.2.2.2 Mengenkripsi pesan................................... ..................................55
4.2.2.3 Mengencode pesan......................... . .............................................56
4.2.2.4 Membaca pesan............... . ............................................................57
4.2.2.5 Mendecode pesan...................................... ...................................58
4.2.2.6 Mendekripsi pesan......................................... ..............................59
4.2.3 Activity Diagram ..................................................................................... 59
4.2.4 Sequence Diagram .................................................................................. 65
4.2.5 Class Diagram ......................................................................................... 68
4.2.6 Perancangan User Interface..................................................................... 71
xii
4.2.7 Perancangan program (coding) ............................................................... 74
4.3 Fase Implementasi ............................................................................................ 76
4.3.1 Implementasi Handset Android dan Transfer Aplikasi ........................... 76
4.3.2 Implementasi Antar Muka ...................................................................... 79
4.3.3 Analisis Proses ........................................................................................ 81
4.4.3.1 Pengujian Kunci ............................................................................ 81
4.4.3.2 Pengujian Ukuran file yang dihasilkan ....................................... 100
4.4.3.3 Pengujian Kualitas Gambar............................................... ........101
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan....................................................................................................104
5.2 Saran...................................................................................... ......................... 105
DAFTAR PUSTAKA ......................................................................................... xvi
LAMPIRAN-LAMPIRAN ......................................................................................
xiii
DAFTAR GAMBAR
Gambar 2.1 Proses Steganografi dengan Metode LSB ......................................... 24
Gambar 3.1 Fase-Fase Model RAD(Kendall & Kendall, 2008) ........................... 41
Gambar 3.2 Alur Penelitian................................................................................... 44
Gambar 4.1 Use Case Diagram Aplikasi .............................................................. 51
Gambar 4.2 Activity Diagram Membuat Pesan .................................................... 60
Gambar 4.3 Activity Diagram Mengenkripsi Pesan ............................................. 61
Gambar 4.4 Activity Diagram Mengencode Pesan ............................................... 62
Gambar 4.5 Activity Diagram Membaca Pesan .................................................... 63
Gambar 4.6 Activity Diagram Mendecode Pesan ................................................. 64
Gambar 4.7 Activity Diagram Mendekripsikan Pesan ......................................... 65
Gambar 4.8 Sequence Diagram Membuat Pesan .................................................. 66
Gambar 4.9 Sequence Diagram Membaca Pesan ................................................. 67
Gambar 4.10 Class Diagram ................................................................................. 68
Gambar 4.11 Tampilan Menu Home .................................................................... 71
Gambar 4.12 Tampilan Menu Membuat Pesan..................................................... 72
Gambar 4.13 Tampilan Menu Membaca Pesan ........................................................ 73
Gambar 4.14 Halaman Awal Eclips ...................................................................... 75
Gambar 4.15 Tampilan Instalasi ADT dan SDK .................................................. 75
Gambar 4.16 Tampilan Coding Aplikasi .............................................................. 76
Gambar 4.17 Aplikasi Android Kripsteno APK ................................................... 77
Gambar 4.18 Screen Instalasi 1 ............................................................................. 78
Gambar 4.19 Screen Instalasi 2 ............................................................................. 78
Gambar 4.20 Screen Instalasi 3 ............................................................................. 79
Gambar 4.21 Menu Home ..................................................................................... 80
Gambar 4.22 Menu Tulis Pesan ............................................................................ 80
Gambar 4.23 Menu Baca Pesan ............................................................................ 80
Gambar 4.24 Hasil Enkripsi .................................................................................. 91
xiv
DAFTAR TABEL
Tabel 2.1 Contoh Enkripsi .................................................................................... 14
Tabel 2.2 Algoritma vigenere cipher (munir :2006) ............................................. 17
Tabel 2.3 Perbedaan Kriptografi dan Steganografi ............................................... 25
Tabel 2.4 Notasi UML .......................................................................................... 34
Tabel 3.1 List Bahan Referensi ............................................................................. 40
Tabel 4.1 Definisi Aktor ....................................................................................... 52
Tabel 4.2 Definisi Use Case .................................................................................. 52
Tabel 4.3 Use Case Scenario Membuat pesan terenkripsi .................................... 54
Tabel 4.4 Use Case Scenario Mengenkripsi pesan ............................................... 55
Tabel 4.5 Use Case Scenario Mengencode pesan ................................................. 56
Tabel 4.6 Use Case Scenario Membaca pesan ...................................................... 57
Tabel 4.7 Use Case Scenario Mengdecode pesan ................................................. 58
Tabel 4.8 Use Case Scenario Mendekripsikan pesan............................................ 59
Tabel 4.9 Operasi Kelas Aplikasi.......................................................................... 68
Tabel 4.10 Operasi Kelas Membuat Pesan ........................................................... 69
Tabel 4.11 Atribut Kelas Membuat Pesan ............................................................ 69
Tabel 4.12 Operasi Kelas Membaca Pesan ........................................................... 70
Tabel 4.13 Atribut Kelas Membaca Pesan ............................................................ 70
Tabel 4.14 Hasil Pengujian terhadap ukuran file yang dihasilkan ......................100
Tabel 4.15 Hasil Pengujian PSNR .........................................................................102
xv
DAFTAR LAMPIRAN
Lampiran 1. Surat Keterangan Bimbingan Skripsi .............................................L-1
Lampiran 2. Source Code Aplikasi .....................................................................L-2
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi informasi dan perangkat pendukung lainnya yang
serba digital membuat komunikasi menjadi mudah dan luas. Namun seiring
dengan perkembangan teknologi informasi semakin berkembang pula kejahatan
sistem informasi, berbagai ancaman di dunia maya seperti hacker, cracker,
carder, dengan berbagai teknik banyak yang mencoba untuk mengakses informasi
yang bukan hak nya dan membuat orang khawatir akan keamanan informasi yang
dikirimnya.
Contohnya ada salah satu berita online www.techno.kompas.com pada
rabu 12 maret 2014 yang mengabarkan obrolan pada layanan pesan instan
WhatsApp dapat diintip. Hal ini disebabkan karena WhatsApp memiliki celah
keamanan sehingga pihak yang tidak berhak dapat mengakses percakapan
WhatsApp melalui aplikasi Android yang memiliki kemampuan untuk
memecahkan enkripsi yang digunakan WhatsApp sehingga dapat mengakses
percakapan pengguna.
Keamanan menjadi faktor penting dalam proses pengiriman informasi.
Untuk itu para ahli teknologi informasi mengembangkan metode-metode yang
dapat menjamin keamanan dalam bertukar informasi tersebut. Untuk melakukan
hal tersebut dapat digunakan beberapa teknik antara lain dengan menggunakan
teknik kriptografi dan steganografi.
2
Kriptografi adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan
dengan cara menyandikan kedalam bentuk yang tidak lagi dapat dimengerti
maknanya (munir, 2006). Terdapat dua konsep utama pada kriptografi yaitu
enkripsi dan deskripsi.Enkripsi untuk mengubah pesan asli (plaintext) ke bentuk
kode atau sandi (ciphertext) dengan menggunakan algoritma yang bisa
mengkodekan data, sedangkan deskripsi merupakan kebalikan dari enkripsi.
Berdasarkan sejarah algoritma kriptografi dapat dibedakan menjadi kriptografi
klasik dan kriptografi modern. Algoritma klasik antara lain Affine Cipher,
Vigenere Chiper, Playfair Cipher, Enigma Cipher dan One-Time Pad. Vigenere
Chiper adalah algoritma yang sangat dikenal dan banyak di gunakan saat ini
karena mudah dipahami dan di implementasikan. Kelebihan sandi ini dibanding
sandi Caesar dan sandi monoalfabetik lainnya adalah sandi ini tidak begitu rentan
terhadap metode pemecahan sandi yang disebut analisis frekuensi.
Sedangkan Steganografi adalah suatu ilmu atau seni dalam
menyembunyikan informasi dengan memasukkan informasi tersebut ke dalam
pesan lain, dengan demikian keberadaan informasi tersebut tidak diketahui oleh
orang lain. (munir,2006). Hal ini bisa dikatakan lebih aman karena sifatnya yang
tidak mengacak sehingga file yang disisipi tidak mencurigakan. Teknik dalam
Steganografi bermacam-macam antara lain Least Significat Bit (LSB), Alghoritm
and Transformation, Redundant Pattern Encoding, dan Spread Spectrum. Metode
LSB merupakan metode yang paling sederhana dan mudah di implementasikan
dalam melakukan proses steganografi. Selain itu, proses embedding dan ekstraksi
3
dari metode ini juga relative cukup cepat, sehingga banyak orang menggunakan
metode ini untuk menyisipkan pesan.
Kebutuhan akan informasi dan komunikasi mendorong seseorang untuk
menggunakan perangkat yang lebih praktis dibawa dan mudah dimasukan
kedalam saku membuat seseorang memilih smartphone daripada pc desktop
ataupun laptop. Seperti dikutip dari pcworld.com “smartphones are now fully
functional computers with a wide variety of applications and services that are
rapidly gobbling up users' time and money.” Menunjukan bahwa smartphone
sekarang merupakan perangkat yang memiliki fungsi menyerupai komputer
dengan berbagai macam aplikasi. Dengan demikian, smartphone akhir-akhir ini
telah bisa menggantikan fungsi dari komputer dengan berbagai macam aplikasi
yang mendukungnya.
Dari berbagai macam smartphone yang berkembang sekarang ,platform
Android merupakan salah satu platform yang paling banyak di kembangkan dan
penggunanya semakin meningkat. Berdasarkan data yang dirilis oleh com score
Mobilens dan Mobile Matrix pada situs (www.comscore.com), hingga Januari
2014. Android masih menempati posisi puncak sebagai smartphone platform yang
paling banyak digunakan mencapai 51.7% ,menyusul dibawahnya Ios dari Apple
41.6% ,Blackberry 3.1% dan lainnya sebanyak 3.4%. Kelebihan lainnya yang
menjadi pembeda Android dengan lainnya adalah bahwa tidak dibutuhkan
sertifikasi untuk menjadi pengembang. Android juga telah menyediakan Android
market bagi para pengembang untuk menempatkan dan menjual aplikasi yang
dibuatnya.
4
Dari uraian di atas, peneliti akan membuat aplikasi pengamanan teks
dengan metode Vigenere chiper dan Least Significant Bit berbasis android.
Dengan demikian penelitian dengan metode integrasi ini diharapkan agar dapat
memberi layanan keamanan dalam penyampaian pesan melalui perangkat keras
mobile
1.2. Perumusan Masalah
Dari uraian latar belakang di atas, maka dapat dirumuskan masalah
sebagai berikut:
1. Bagaimana performansi aplikasi Kripsteno dalam mengamankan pesan
pada smartphone Android ini ?
1.3. Batasan Masalah
Batasan masalah pada penelitian ini adalah sebagai berikut:
1. Algoritma yang digunakan dalam Kriptografi adalah Algoritma
vigenere chiper dan pada Steganografi menggunakan Least Significant
Bit (LSB)
2. Penggunaan simbol-simbol dalam membuat pesan teks tersebut sangat
terbatas.
3. Pesan teks yang dapat diinput pada aplikasi ini berjumlah 160 karakter
dan kata kunci atau password yang dapat diinput berjumlah 50
karakter.
5
4. Format file digital yang dapat digunakan untuk menyimpan pesan
tersebut adalah 24 – bit (true color) berformat *.PNG atau JPEG dan
Format File yang dihasilkan adalah *.PNG.
5. Titik berat pada penulisan ini adalah implementasi algoritma vigenere
cipher dan lsb, tidak membahas algoritma lain.
1.4. Tujuan Penelitian
Tujuan dari penulisan skripsi ini adalah bahwa penulis ingin membuat
sebuah aplikasi yang dapat melindungi keamanan sebuah pesan dengan cara
menyandikan pesan teks tersebut dengan algoritma vigenere cipher dan
menyembunyikan dibalik media gambar agar tidak menimbulkan kecurigaan,
sehingga pesan tersebut tidak mudah diketahui oleh orang lain / user yang
tidak berhak dan untuk lebih mengembangkan teknik Steganografi dan
Kriptografi sebagai ilmu dan seni dalam mengamankan data
1.5. Manfaat Penelitian
Adapun manfaat yang dijadikan inti dari penulisan skripsi ini
adalah:
a. Bagi Penulis
1. Memenuhi tugas akhir sebagai syarat untuk menyelesaikan studi
Strata 1 (S-1) Teknik Informatika.
2. Mengetahui seberapa besar kemampuan penulis dalam memahami
materi yang didapat selama perkuliahan.
3. Secara keseluruhan sangat besar manfaatnya bagi penulis sebagai
bahan pembelajaran untuk mengetahui cara penggunaan dua teknik
6
pengamanan informasi yaitu kriptografi dengan algoritma klasik
vigenere chiper dan Steganografi dengan metode lsb pada
smarphone android secara menyeluruh
b. Bagi Universitas
1. Mengetahui kemampuan mahasiswa dalam menguasai materi teori
yang telah diperoleh selama masa perkuliahan.
2. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya
sebagai bahan evaluasi.
c. Bagi Masyarakat
1. Sebagai alternatif pengamanan pesan terhadap pihak yang tidak
berhak membaca atau mengambil file tersebut.
1.6 Metodologi Penelitian
Metode Pengumpulan Data
1. Studi Pustaka
Pengumpulan data dan informasi dengan studi pustaka adalah Teknik
survey terhadap data yang telah ada dengan menggali teori-teori yang
telah berkembang dalam bidang ilmu yang berkepentingan, mencari
metode-metode serta teknik penelitian baik dalam mengumpulkan data
atau dalam menganalisi data, yang telah digunakan dalam peneliti-
peneliti terdahulu. (Nazir ,2005)
Dengan metode ini penulis mendapatkan informasi dari berbagai
macam informasi dari buku-buku yang berkaitan dengan tema ini.
2. Studi Literatur
7
Dengan metode ini penulis mendapatkan informasi dari berbagai
macam penelitian yang sudah ada sebelumnya baik dari jurnal,
makalah, skripsi, dan seminar yang berkaitan dengan tema ini.
Metode Pengembangan Aplikasi
Metode yang digunakan dalam membangun aplikasi ini adalah dengan
menggunakan metode pengembangan system Rapid Application Development
(RAD). Model pengembangan RAD memiliki tiga fase luas yaitu fase kebutuhan
perencanaan, proses desain RAD dan fase implementasi.
1.7 Sistematika Penulisan
Dalam penyusunan skripsi ini, penulis menyajikan sistematika penulisan
sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisi tentang latar belakang masalah yang mendasari
pentingnya diadakan penelitian, perumusan dan pembatasan
masalah, maksud dan tujuan penelitian, manfaat yang diharapkan
dari penelitan tersebut, metode penelitian yang dilakukan untuk
mengembangkan aplikasi dan sistematika penelitian.
BAB II LANDASAN TEORI
Bab ini berisi tentang uraian landasan teori yang diperlukan dalam
analisis dan perancangan aplikasi pengamanan file dengan
menggabungkan teknik Kriptografi dan Steganografi pada citra
digital berbasis Android
8
BAB III METODE PENELITIAN
Bab ini berisi tentang metode pengumpulan data dan metode
pengembangan aplikasi.
BAB IV ANALISIS DAN PERANCANGAN
Bab ini berisi tentang pembahasan perancangan, analisis, dan
pengujian sistem.
BAB V PENUTUP
Bab ini berisi tentang kesimpulan dari seluruh bab dan saran-saran
untuk pengembangan aplikasi lebih lanjut.
9
BAB II
LANDASAN TEORI
2.1 Definisi Pengembangan
Menurut Arfina (1992: 202), Pengembangan adalah proses untuk
memperbanyak jumlah atau menambah nilai guna dan fungsi sesuatu.
2.2. Pengertian Aplikasi
Menurut Roger S. Pressman perangkat lunak adalah perintah (program
komputer) yang bila di eksekusi memberikan fungsi dan petunjuk kerja seperti
yang diinginkan, struktur data yang memungkinkan program memanipulasi
informasi secara proporsional ,dokumen yang menggambarkan operasi dan
kegunaan program (Pressman ,2002)
Aplikasi dijalankan dengan sebuah sistem operasi (OS) komputer dan
aplikasi lainnya yang mendukung. Sistem operasi adalah sekumpulan rutin
perangkat lunak yang berada di antara program aplikasi dan perangkat keras.
Semua perangkat lunak berjalan di bawah kendali sistem operasi, mengakses
perangkat keras lewat sistem operasi dan mengikuti aturan-aturan yang dijalankan
oleh sistem operasi (Hariyanto, 2009: 25).
2.3. Pengertian Pengamanan
Menurut Kamus Besar Bahasa Indonesia pengamanan merupakan proses,
terlindungi atau tersembunyi, perbuatan mengamankan. Dari pengertian tersebut
10
dapat diartikan bahwa pengamanan adalah proses untuk melakukan perlindungan
terhadap sesuatu hal yang tidak diinginkan oleh seseorang. Dengan demikian,
dalam perancangan aplikasi yang akan penulis bangun bertujuan untuk
melindungi teks terhadap pihak yang tidak berhak untuk membaca teks tersebut.
2.4. Kriptografi
Kriptografi berasal dari bahasa yunani, yaitu “cryptos” yang artinya
“secret” atau rahasia dan “graphein” yang artinya “writing” atau tulisan. Jadi
kriptografi berarti juga “secret writing ” atau tulisan rahasia. Menurut (Dony
Ariyus,2008) pada bukunya yang berjudul “Keamanan Multimedia” , kriptografi
adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari
suatu tempat ke tempat lain. Sedangkan Pesan adalah data atau informasi yang
dapat dibaca dan dimengerti maknanya. Pesan dapat berupa data atau informasi
yang dikirim (melalui kurir, saluran telekomunikasi, dsb) atau yang disimpan
didalam media perekaman (kertas, storage, dsb). (Munir, 2006).Secara
keseluruhan dapat disimpulkan bahwa kriptografi adalah suatu ilmu atau seni
untuk merahasiakan sebuah informasi penting dengan fungsi dan algoritma-
algoritma matematika sehingga informasi tersebut tidak diketahui oleh orang yang
tidak berhak.
2.4.1 Tujuan Kriptografi
Ada empat tujuan mendasar dari ilmu kriptografi yang juga merupakan
aspek keamanan yaitu, (rinaldi munir :2006):
11
1. Kerahasiaan (Confidentiality) adalah layanan yang ditujukan untuk
menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.
Ada beberapa cara dalam menjaga kerahasiaan informasi mulai dari
proteksi fisik seperti penyimpanan data ditempat khusus sampai kepada
algoritma matematika yang mengubah data informasi menjadi data acak.
2. Integritas data (Data Integrity) adalah layanan yang menjamin bahwa
pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman.
Integritas data ini bertujuan untuk menjaga agar tidak ada perubahan yang
tidak diinginkan terhadap data. Untuk menjamin integritas data maka
harus mempunyai kemampuan untuk mendeteksi perubahan data oleh
sekelompok orang yang tidak berkepentingan.Perubahan data berupa
pemasukan data baru ,penghapusan ,dan penukaran data
3. Otentikasi (Authentication) adalah layanan yang berhubungan dengan
identifikasi ,baik mengidentifikasikan kebenaran pihak-pihak yang
berkomunikasi (user authentication atau entity authentication) maupun
mengindetifikasikan kebenaran sumber pesan (data origin authentication).
Untuk alasan inilah aspek kriptografi biasanya dibagi menjadi dua bagian
yaitu identifikasi pelaku dan identifikasi keaslian data.
4. Nirpenyangkalan (non-repudiation) adalah layanan untuk mencegah suatu
entitas yang berkomunikasi melakukan penyangkalan yaitu pengirim pesan
menyangkal melakukan pengiriman atau penerima pesan menyangkal telah
melakukan telah menerima pesan.
12
2.4.2 Terminologi Kriptografi
a) Pesan, plainteks dan cipherteks
Pesan adalah data atau informasi yang dapat dibaca dan dimengerti
maknanya. Pesan disebut plainteks ,bentuk pesan tersandi disebut
cipherteks/crptogram.
b) Pengirim dan penerima
Pengirim adalah entitas yang mengirim pesan kepada entitas lainnya.
Penerima adalah entitas yang menerima pesan. Entitas dapat berupa
orang,mesin,kartu kredit dan lain sebagainya.
c) Enkripsi dan deskripsi
Di bidang kriptografi ,enkripsi ialah proses mengamankan suatu informasi
dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan
pengetahuan khusus.
d) Cipher dan kunci
Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering
dan deciphering. Sementara kunci adalah parameter yang digunakan dalam
untuk transformasi enciphering dan deciphering.
e) Sistem kriptografi
Sistem kriptografi adalah kumpulan yang terdiri dari algoritma
kriptografi,semua plainteks dan cipherteks yang mungkin dan kunci.
f) Penyadap
Penyadap ialah orang yang mencoba menangkap pesan yang
ditransmisikan
13
g) Kriptoanalis
Kriptoanalis adalah ilmu untuk memecahkan cipherteks menjadi plainteks
tanpa mengetahui kunci yang diberikan.
2.4.3 Algoritma Kriptografi
Algoritma adalah urutan langkah-langkah logis untuk menyelesaikan
masalah yang disusun secara sistematis. Algoritma kriptografi merupakan
langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang
tidak berhak atas pesan tersebut.
Algoritma kriptografi terdiri dari tiga fungsi dasar yaitu :
1. Enkripsi
Enkripsi merupakan hal yang sangat penting dalam kriptografi,merupakan
pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli
disebut plaintext yang diubah menjadi kode-kode yang tidak dimengerti.
Enkripsi bisa diartikan cipher atau kode ,sama hal nya dengan kita tidak
mengerti akan sebuah kata maka kita akan melihatnya dalam kamus atau
daftar istilah. Beda halnya dengan enkripsi untuk mengubah teks asli ke
bentuk teks kode kita menggunakan algoritma yang dapat mengkodekan
data yang kita inginkan. Sebagai contoh kita mengubah beberapa kata
menjadi angka seperti pada tabel dibawah ini :
14
Tabel 2.1 Contoh Enkripsi
Huruf asal Huruf diganti
A 4
I 3
U 2
E 6
O 7
FI 8
Dari tabel diatas misalkan kita mempunyai kata KRIPTOGRAFI, maka
akan menjadi KR3PT7GR48
2. Deskripsi
Deskripsi merupakan kebalikan dari enkripsi ,pesan yang telah dienkripsi
dikembalikan ke bentuk asalnya (teks asli). Algoritma yang digunakan
untuk deskripsi tentu berbeda dengan enkripsi sebagai contoh : kata
KR3PT7GR48 dengan menggunakan algoritma deskrisp tertentu akan
menjadi kata KRIPTOGRAFI
3. Kunci
Kunci yang dimaksud disini adalah kunci yang dipakai dalam enkripsi dan
deskripsi. Kunci dibagi menjadi dua bagian yaitu kunci rahasia (private)
dan umum (public).
Secara matematis proses enkripsi dan deskripsi dapat digambarkan sebagai
berikut :
15
C=E(P) dan P=D(C) ,sehingga P=D(E(P))
Dimana :
P = Plaintext (pesan asli)
C = Ciphertext
E = fungsi enkripsi yang memetakan plaintext ke ciphertext
F = fungsi deskripsi yang memetakan ciphertext ke plaintext
2.5 Vigenere cipher
Menurut (Rinaldi Munir :2006) pada bukunya yang berjudul kriptografi
Vigenere cipher adalah metode menyandikan teks alfabet dengan menggunakan
deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci. Vigenere cipher
merupakan bentuk sederhana dari sandi substitusi polialfabetik. Kelebihan sandi
ini dibanding dengan sandi caesar dan sandi monoalfabetik lainnya adalah sandi
ini tidak begitu rentan terhadap metode pemecahan sandi yang disebut analisis
frekuensi. Sandi ini dikenal luas karena cara kerjanya mudah dimengerti dan
dijalankan dan bagi para pemula sulit dipecahkan
Vigenere cipher menggunakan suatu kunci yang memiliki panjang
tertentu. Panjang kunci tersebut bisa lebih pendek ataupun sama dengan panjang
plaintext. Jika panjang kunci kurang dari panjang plaintext, maka kunci tersebut
akan diulang secara periodik hingga panjang kunci tersebut sama dengan panjang
plaintext.
Vigenere cipher adalah contoh terbaik dari cipher alfabet-majemuk manual
yang sangat dikenal karena mudah dipahami dan di implementasikan. Cipher
16
menggunakan bujur sangkar vigenere untuk melakukan enkripsi. Kolom paling
kiri dari bujur sangkar menyatakan huruf-huruf kunci, sedangkan baris paling atas
menyatakan huruf-huruf plaintext. Setiap baris dalam bujur sangkar menyatakan
ciphertext yang diperoleh dari caesar cipher, yang mana jumlah pergeseran huruf
plaintext ditentukan nilai numerik huruf kunci tersebut (yaitu a=0, b=1,
c=2,....,z=25). Sebagai contoh, huruf kunci c=2 menyatakan huruf-huruf plaintext
digeser sejauh 2 huruf ke kanan (dari susunan alfabetnya). Bujur sangkar vigenere
digunakan untuk memperoleh ciphertext dengan lajur kunci yang sudah
ditentukan. Jika panjang kunci lebih pendek dari pada panjang plainteks maka
kunci diulang penggunaannya (sistem periodik). Sebagai contoh jika plaintext
adalah ANDROID dan kuncinya adalah BUKU, maka penggunaan kunci secara
periodik adalah sebagai berikut :
Plaintext : ANDROID
Kunci : BUKUBUK
2.5.1 Proses Enkripsi
Sebagai contoh jika plaintext adalah Android dan kunci adalah BUKU
,maka proses enkripsi yang terjadi adalah sebagai kata kunci BUKU diulang
sedemekian rupa sehingga panjang kunci sama dengan panjang plaintext nya.
Kemudian setelah panjang kunci sama dengan panjang plaintext, proses enkripsi
dilakukan dengan melakukan menggeser setiap huruf pada plaintext sesuai
dengan huruf kunci yang bersesuaian dengan huruf plaintext tersebut. Pada
contoh di atas plaintext huruf pertama adalah A disandikan dengan menggunakan
baris kunci B, huruf pertama pada kata kunci. Pada kolom A dan baris B ditabel
17
vigenere terdapat huruf B. Demikian pula untuk huruf kedua digunakan huruf
yang terletak pada baris N (huruf kedua pada plaintext) dan kolom U (huruf kedua
pada kata kunci), yaitu huruf H. proses ini dijalankan seterusnya sehingga
hasilnya seperti berikut:
Plaintext : ANDROID
Kunci : BUKUBUK
Ciphertext : BHNLPCN
Proses enkripsi menggunakan tabel vigenere cipher dapat dilihat pada tabel 2.2:
Tabel 2.2 : Tabel Algoritma vigenere cipher (Munir,2006 : 80)
Enkripsi penyandian dengan sandi vigenere cipher juga dapat dituliskan
secara matematis dengan menggunakan penjumlahan dan operasi modulus yaitu :
18
Ci = (Pi + Ki) mod 26
Atau Ci = Pi + Ki jika hasil penjumlahan dibawah 26 dan -26 jika hasil
penjumlahan lebih dari 26
Ci = nilai desimal karakter ciphertext ke-i
Pi = nilai desimal karakter plaintext ke-i
Ki = nilai desimal karakter kunci ke-i
Nilai desimal karakter → A=0, B=1, .....Z=25
Seperti contoh diatas, dengan plaintext ANDROID dan kata kunci BUKU
maka proses enkripsi yang terjadi sebagai berikut :
Huruf pertama pada plaintext adalah A ,kemudian huruf pertama pada kata
kunci adalah B ,sehingga :
Pi=0
Ki=1
Ci=(Pi+Ki) mod 26
=(1+0) mod 26 = 1
Nilai desimal dari 1 adalah huruf B
Huruf Kedua pada plaintext adalah N ,kemudian huruf kedua pada kata
kunci adalah U ,sehingga :
Pi=13
Ki=20
Ci=(Pi+Ki) mod 26
=(13+20) mod 26 = 7
Nilai desimal dari 7 adalah huruf H
19
Huruf Ketiga pada plaintext adalah D ,kemudian huruf ketiga pada kata
kunci adalah K ,sehingga :
Pi=3
Ki=10
Ci=(Pi+Ki) mod 26
=(3+10) mod 26 = 13
Nilai desimal dari 13 adalah huruf N
Huruf Keempat pada plaintext adalah R ,kemudian huruf keempat pada
kata kunci adalah U ,sehingga :
Pi=17
Ki=20
Ci=(Pi+Ki) mod 26
=(17+20) mod 26 = 11
Nilai desimal dari 11 adalah huruf L
Huruf Kelima pada plaintext adalah O ,kemudian huruf kelima pada kata
kunci adalah B ,sehingga :
Pi=14
Ki=1
Ci=(Pi+Ki) mod 26
=(14+1) mod 26 = 15
Nilai desimal dari 15 adalah huruf P
Huruf Keenam pada plaintext adalah I ,kemudian huruf keenam pada kata
kunci adalah U ,sehingga :
20
Pi=8
Ki=20
Ci=(Pi+Ki) mod 26
=(8+20) mod 26 = 2
Nilai desimal dari 2 adalah huruf C
Huruf Ketujuh pada plaintext adalah D ,kemudian huruf ketujuh pada kata
kunci adalah K ,sehingga :
Pi=3
Ki=10
Ci=(Pi+Ki) mod 26
=(3+10) mod 26 = 13
Nilai desimal dari 13 adalah huruf N
Dari hasil perhitungan modulus diatas ,maka ciphertext yang diperoleh
adalah BHNLPCN
2.5.2 Proses Deskripsi
Penjumlahan dan operasi modulus untuk proses deskripsi adalah sebagai
berikut :
Pi = (Ci – Ki) mod 26
Atau , Pi = Ci – Ki jika hasil pengurangan positif dan +26 jika pengurangan
negatif. Dimana :
Ci = nilai desimal karakter ciphertext ke-i
Pi = nilai desimal karakter plaintext ke-i
Ki = nilai desimal karakter kunci ke-i
21
Nilai desimal karakter → A=0, B=1, .....Z=25
Dengan ciphertext BHNLPCN dan kata kunci BUKU maka proses deskripsi yang
terjadi adalah sebagai berikut :
Huruf pertama pada ciphertext adalah B dan huruf pertama pada kunci
adalah B, sehingga :
Ci=1
Ki=1
Pi = (Ci-Ki) mod 26
= (1-1) mod 26
= 0
Nilai desimal dari 0 adalah huruf A
Huruf kedua pada ciphertext adalah H dan huruf pertama pada kunci
adalah U, sehingga :
Ci=7
Ki=20
Pi = (Ci-Ki) +mod 26
= (7-20) + 26
= 13
Nilai desimal dari 13 adalah huruf N
Huruf ketiga pada ciphertext adalah N dan huruf pertama pada kunci
adalah K, sehingga :
Ci=13
Ki=10
22
Pi = (Ci-Ki) mod 26
= (13-10) mod 26
= 3
Nilai desimal dari 3 adalah huruf D
Huruf keempat pada ciphertext adalah L dan huruf pertama pada kunci
adalah U, sehingga :
Ci=11
Ki=20
Pi = (Ci-Ki) +mod 26
= (11-20) + 26
= 17
Nilai desimal dari 17 adalah huruf R
Huruf kelima pada ciphertext adalah P dan huruf pertama pada kunci
adalah B, sehingga :
Ci=15
Ki=1
Pi = (Ci-Ki) mod 26
= (15-1) mod 26
= 14
Nilai desimal dari 14 adalah huruf O
Huruf keenam pada ciphertext adalah C dan huruf pertama pada kunci
adalah U, sehingga :
Ci=2
23
Ki=20
Pi = (Ci-Ki) +mod 26
= (2-20) + 26
= 8
Nilai desimal dari 8 adalah huruf I
Huruf ketujuh pada ciphertext adalah N dan huruf pertama pada kunci
adalah K, sehingga :
Ci=13
Ki=10
Pi = (Ci-Ki) mod 26
= (13-10) mod 26
= 3
Nilai desimal dari 3 adalah huruf D
Maka hasil dari Dekripsi diatas adalah “ANDROID”
2.6. Steganografi
Steganografi berasal dari bahasa Yunani yaitu Steganós yang berarti
menyembunyikan dan Graptos yang artinya tulisan sehingga secara keseluruhan
steganografi artinya adalah seni atau ilmu yang digunakan untuk
menyembunyikan pesan rahasia dengan segala cara sehingga selain orang yang
dituju, orang lain tidak akan menyadari keberadaan dari pesan rahasia tersebut.
Tujuan dari steganografi adalah menyembunyikan keberadaan pesan dan
dapat dianggap sebagai pelengkap dari kriptografi yang bertujuan untuk
24
menyembunyikan isi pesan. Oleh karena itu, berbeda dengan kriptografi, dalam
steganografi pesan disembunyikan sedemikian rupa sehingga pihak lain tidak
dapat mengetahui adanya pesan rahasia. Pesan rahasia tidak diubah menjadi
karakter aneh seperti hal nya kriptografi.
2.6.1. Metode Least Significant Bit
Metode Least significant bit merupakan teknik substitusi pada
steganografi, bisaanya arsip 24 bit atau 8 bit digunakan untuk menyimpan citra
digital. Representasi warna dari pixel-pixel bisa diperoleh dan warna-warna
primer, yaitu merah, hijau, dan biru. Citra 24 bit menggunakan tiga bytes untuk
masing-masing pixel, dimana setiap warna primer direpresentasikann dengan
ukuran 1 byte. Penggunaan citra 24 bit memungkinkan, setiap pixel
direpresntasikan dengan nilai warna sebanyak 16.777.216 macam. Dua bit dari
saluran warna tersebut bisa digunakan untuk menyembunyikan data, yang akan
mengubah jenis warna pixelnya menjadi 64.
Penggunaan metode tersebut memungkinkan adanya penambahan sejumlah besar
informasi tanpa adanya degradasi tampilan dari citra itu sendiri. Gambar berikut
menunjukan proses kerja LSB.
Gambar 2.1. Proses Steganografi dengan Metode Least Significant Bit
25
2.7 Perbedaan Kriptografi dan Steganografi
Perbedaan mendasar antara steganografi dan kriptografi terletak pada
proses penyembunyian data dan hasil akhir dari proses tersebut. Kriptografi
melakukan proses pengacakan data asli sehingga dihasilkan data terenkripsi yang
benar-benar acak dan berbeda dengan aslinya. Sementara itu, steganografi
menyembunyikan data dalam data lain dengan cara menumpanginya tanpa
mengubah data dalam data lain, sehingga tampilan data tetap sama. Lebih
detailnya perhatikan daftar perbedaan pada tabel berikut.
Tabel 2.3 Perbedaan Kriptografi dan Steganografi Steganografi Kriptografi
Menyembunyikan pesan pada pesan lainnya
dan tampak seperti normal grafik,video dan file
suara
Pesan disembunyikan dengan menggunakan
enkripsi,sehingga tidak memiliki arti
Disimpan dalam bentuk koleksi gambar, video
file, sound file di dalam hardisk, disket, CD
DVD, Flashdisk sehingga tidak mencurigakan
Disimpan dalam bentuk koleksi acak pada
hardisk, disket, CD DVD, Flashdisk sehingga
mencurigakan
Seorang Eavesdropper bisa mendeteksi sesuatu
yang berubah pada format pesan (seperti text ke
gambar grafis)
Seorang Eavesdropper bisa mendeteksi
komunikasi rahasia dari pesan yang sudah di
encode-kan
Memerlukan kewaspadaan ketika menggunakan
kembali gambar atau sound file
Memerlukan kewaspadaan ketika menggunakan
kembali kunci yang pernah digunakan
Tidak ada assosiasi hukum pada Steganografi Ada beberapa assosiasi hukum untuk
kriptografi
Kerahasiaan tergantung pada media dan teknik
yang akan ditumpangi
Kerahasiaan tergantung dari algoritma dan
kunci yang digunakan
Berbasis Multimedia Berbasis huruf dan angka
26
2.8. Pengenalan Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis
linux yang mencakup sistem operasi, middleware dan aplikasi. Android
menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi
mereka. Android menjadi sistem operasi yang sangat mudah dioperasikan (user
friendly) ,hal ini juga didukung dengan banyak jutaan pilihan aplikasi yang
menarik dari yang gratis hingga yang berbayar yang disajikan oleh google play.
Dari segi tampilan android tidak kalah bagusnya dengan sistem operasi yang
lainnya karena banyak sekali para pengembang yang mengembangkan tampilan
(custom rom) sesuai keinginan mereka.
Tidak hanya menjadi sistem operasi di smartphone, saat ini Android
menjadi pesaing utama dari Apple pada sistem operasi Tablet PC. Pesatnya
Pertumbuhan Android selain faktor yang disebutkan di atas adalah karena
Android itu sendiri adalah platform yang sangat lengkap baik itu sistem
operasinya, aplikasi dan Tool pengembang, market aplikasi android serta
dukungan yang sangat tinggi dari komunitas open source di dunia, sehingga
android terus berkembang pesat baik dari segi teknologi maupun dari segi jumlah
device yang ada di dunia.
2.8.1. Android SDK (Software Development Kit)
Android SDK adalah tools API (Application Programming Interface) yang
diperlukan untuk mulai mengembangkan aplikasi pada platform Android dengan
menggunakan bahasa pemrograman java. Android merupakan subset perangkat
lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci
27
yang direlease oleh google. Saat ini disediakan android SDK (Software
Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan
apliaksi pada platform android menggunakan bahawa pemrograman java. Sebagai
platform aplikasi-netral, android memberi Anda kesempatan untuk membuat
aplikasi yang kita butuhkan yang bukan merupakan aplikasi bawaan
Handphone/Smartphone. Beberapa fitur-fitur android yang paling penting adalah:
Framework Aplikasi yang mendukung penffantian komponen dan
reuseable
Mesin virtual dalvik dioptimalkan untuk perangkat mobile
Integrated browser berdasrkan engine open source webkit
Grafis yang dioptimalkan dan didukung oleh library grafis 2D, grafis
3D berdasarkan spesifikasi opengl ES 1,0 (Opsional akselerasi
hardware)
SQLite untuk penyimpanan data
Media Support yang mendukung audio, video, dan gambar (MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM telephony
(teragantung hardware)
Bluetooth, EDGE, 3G, dan WiFi (tergantung Hardware)
Kamera, GPS, kompas, dan accelerometer (tergantung Hardware)
Lingkungan Development yang lengkap dan kaya termasuk perangkat
emulator, tools untuk debugging, profil dan kinerja memory dan plugin
untuk IDE Eclipse
28
2.8.2. ADT (Android Development Tools)
Android Development Tools (ADT) adalah plugin yang didesain untuk
IDE Eclipse yang memberikan kita kemudahan dalam mengembangkan aplikasi
android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk
eclipse akan memudahkan kita dalam membuat aplikasi android, membuat GUI
aplikasi, dan menambahkan komponen-komponen yang lainnya. Begitu juga kita
dapat melakukan running aplikasi menggunakan Android SDK melalui eclipse.
Dengan ADT juga kita dapat melakukan pembuatan package android (.apk) yang
digunakan untuk distribusi aplikasi android yang kita rancang.
Mengembangkan aplikasi android dengan menggunakan ADT di Eclipse
sangat dianjurkan dan sangat mudah untuk memulai mengembangkan aplikasi
android.
2.8.3. Fundamental Aplikasi
Aplikasi android ditulis dalam bahasa pemrograman java. Kode java
dikompilasi bersama dengan data file resource yang dibuthkan oleh aplikasi,
dimana prosesnya dipackage oleh tools yang dinamakan “apt tools” ke dalam
paket android sehingga menghasilkan file dengan ekstensi apk. File apk itulah
yang kita sebut dengan aplikasi, dan nantinya dapat diinstall di perangkat mobile.
Ada enam jenis komponen pada aplikasi Android, yaitu:
a) Activities
Suatu activity akan menyajikan user interface (UI) kepada
pengguna, sehingga pengguna dapat melakukan interaksi. Sebuah
aplikasi android bisa jadi hanya memiliki satu activity, tetapi
29
umumnya aplikasi memiliki banyak activity tergantung pada tujuan
aplikasi dan desain dari aplikasi tersebut. Satu activity bisaanya akan
dipakai untuk menampilkan aplikasi atau yang bertindak sebagai user
interface (UI) saat aplikasi diperlihatkan kepada user. Untuk pindah
dari satu activity ke activity yang lain dapat melakukannya dengan satu
even, misalnya click tombol, memilih opsi atau menggunakan triggers
tertentu. Secara hirarki sebuah windows activity dinyatakan dengan
method activity.setContentView(). ContentView adalah objek yang
berada pada root hirarki.
b) Service
Service tidak memiliki Graphical User Interface (GUI), tetapi
service berjalan secara background, sebagai contoh dalam memainkan
music, service mungkin memainkan music atau mengambil data dari
jaringan, tetapi setiap service harus berada dalam kelas induknya.
Misalnya, media player memiliki dua atau lebih activity yang
memungkinkan user untuk memilih lagu misalnya, atau menulis sms
sambil player sedang berjalan. Untuk menjaga musik tetap dijalankan,
activity player dapat menjalankan service. Service dijalankan pada
thread utama dari proses aplikasi.
c) Broadcast Receiver
Broadcast Receiver berfungsi menerima dan bereaksi untuk
menyampaikan notifikasi. Contoh broadcast seperti notifikasi zona
waktu berubah, baterai low, gambar telah selesai diambil oleh camera,
30
atau pengubahan referensi bahasa yang digunakan. Aplikasi juga dapat
menginisiasi broadcast, misalnya memberikan informasi pada aplikasi
lain bahwa ada data yang telah diunduh ke perangkat dan siap untuk
digunakan.
Broadcast Receiver tidak memiliki user interface (UI), tetapi
memiliki sebuah activity untuk merespon informasi yang mereka
terima, atau mungkin menggunakan Notification Manager untuk
memberitahu kepada pengguna, seperti lampu latar atau vibrating
(getaran) perangkat, dan lain sabagainya.
d) Content Provider
Content Provider membuat kumpulan aplikasi data secara spesifik
sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file
sistem seperti database SQLite. Content Provider menyediakan cara
untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya
ketika kita menggunakan aplikasi yang membutuhkan peta (Map) atau
aplikasi yang membutuhkan untuk mengkases data kontak dan
navigasi, maka disinilah fungsi content provider.
2.9 UML (Unified Modelling Language)
UML adalah bahasa grafis untuk mendokumentasikan, menspesifikasikan,
dan membangun sistem perangkat lunak. UML berorientasi objek menerapkan
banyak level abstraksi, tidak bergantung proses pengembangan, tidak tergantung
pada bahasa dan teknologi, pemaduan beberapa notasi diberagam metodologi,
31
usaha bersama dari banyak pihak. Standar UML dikelola oleh OMG (Object
Management Group). (Bambang Hariyanto, 2004).
Jadi dengan menggunakan UML kita dapat membangun model untuk segala
bentuk dan jenis aplikasi perangkat lunak, yang mana aplikasi yang dibangun
dapat berjalan pada perangkat lunak dengan sistem operasi dan jaringan apapun.
Selain itu menggunakan UML programmer dapat mengerti dan memahami
maksud, tujuan dan arah rancangan sistem.
Diagram-diagram yang terdapat pada pemodelan UML sebagai berikut :
1. Use Case Diagram
Use Case Diagram merupakan salah satu diagram untuk
memodelkan aspek perilaku sistem. masing-masing diagram use case
menunjukan sekumpulan use case, actor, dan hubungannya. diagram
use case digunakan untuk memvisualisasikan, menspesifikasikan, dan
mendokumentasikan kebutuhan perilaku sistem. Diagram-diagram use
case merupakan pusat pemodelan perilaku sistem, subsistem, dan kelas.
2. Class Diagram
Class Diagram adalah sebuah spesifikasi yang jika diinstansiasi
akan menghasilkan sebuah objek dan merupakan inti dari
pengembangan dan desain berorientasi objek. Class diagram
menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut
(metoda/fungsi). Class diagram menggambarkan struktur dan dekripsi
class, package, dan objek beserta hubungan satu sama lain seperti
32
containment, pewarisan, asosiasi, dan lain-lain. (Bambang Hariyanto,
2004).
Class Diagram memiliki 3 area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
3. StateChart Diagram
Statechart diagram menggambarkan transisi dan perubahan
keadaan (dari satu state ke state lainnya) suatu objek pada sistem
sebagai akibat dari stimuli yang diterima. pada umumnya statechart
diagram menggambarkan class tertentu (satu class dapat memiliki lebih
dari satu statechart diagram).
4. Activity Diagram
Activity Diagram menggambarkan sebagai alur aktivitas dalam
sistem yang sedang dirancang, bagaimana masing-masing alur berawal,
decision yang mungkin terjadi, dan bagaimana mereka berakhir. activity
diagram juga dapat menggambarkan proses paralel yang mungkin
terjadi pada beberapa eksekusi. Activity diagram merupakan state
diagram khusus, dimana sebagian besar state adalah action dan sebagian
besar transisi di-trigger oleh selesainya state sebelumnya (internal
proccessing). Oleh karena itu, activity diagram tidak menggambarkan
behaviour internal sebuah sistem (dan interaksi antar subsistem) secara
33
eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur
aktivitas dari level atas secara umum.
5. Sequence Diagram
Sequence Diagram menggambarkan interaksi antar objek didalam
dan disekitar sistem (termasuk pengguna, display, dan sebagainya)
berupa message yang digambarkan terhadap waktu. sequence diagram
terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-
objek yang terkait). Sequence diagram biasa digunakan untuk
menggambarkan skenario atau rangkaian langkah-langkah yang
dilakukan sebagai respons dari sebuah event untuk menghasilkan output
tertentu. di awali dari apa yang menjadi trigger aktivitas tersebut,
proses, dan perubahan apa saja yang terjadi secara internal dan output
apa yang dihasilkan.
6. Collaboration Diagram
Collaboration Diagram juga menggambarkan interaksi antar objek
seperti sequence diagram, tetapi lebih menekankan pada peran masing-
masing objek dan bukan pada waktu penyampaian message. Setiap
message memiliki sequence number, dimana message dari level
tertinggi memiliki nomor 1. Messages dari level yang sama memiliki
prefiks yang sama.
7. Component Diagram
Component Diagram menggambarkan struktur dan hubungan antar
komponen piranti lunak, termasuk ketergantungan (depedency)
34
diantaranya. Komponen piranti lunak adalah modul berisi code, baik
berisi source code maupun binary code, baik library maupun
executable, baik yang muncul pada compile time, link time, maupun
run time. Umumnya komponen terbentuk dari beberapa class dan/atau
package. tapi dapat juga dari komponen-komponen yang lebih kecil.
8. Deployment Diagram
Deployment Diagram menggambarkan detail bagaimana
komponen di-deploy dalam infrastruktur sistem, dimana komponen
akan terletak (pada mesin, server, atau piranti keras apa), bagaimana
kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-
hal lain yang bersifat fisik. Sebuah node adalah server, workstation,
atau piranti keras lain yang digunakan untuk men-deploy komponen
dalam lingkungan sebenarnya. Hubungan anatar node (misalnya
TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
Pada penelitian kali ini penulis menggunakan microsoft visio untuk
merancang aplikasi. Microsoft visio adalah perangkat lunak yang
digunakan untuk perancangan aplikasi dengan tools UML.
Tabel 2. 4 Notasi UML
No Notasi Keterangan
1 Class Diagram digunakan untuk
menggambarkan kelas-kelas program. Terdiri
atas nama kelas, attribute yaitu properties
yang dimiliki oleh kelas, dan operation yaitu
Class
- attribute
+ operation()
35
aktivitas yang dapat dilakukan oleh kelas
tersebut.
2 Relationship merupakan hubungan antar
class. Dapat berupa one to one, one to many,
dan many to one.
3 Aktor merupakan pelaku-pelaku yang terlibat
didalam sistem.
4 Use case merupakan penjelasan kegiatan-
kegiatan yang ada didalam sistem.
5 Initial node digunakan sebagai notasi awal
dari proses yang dijalankan.
6 Action merupakan notasi yang
menggambarkan aksi yang terjadi didalam
suatu proses.
7 Activity final node merupakan notasi yang
melambangkan akhir dari sebuah proses.
8 Activity merupakan aktivitas yang ada
didalam sistem. Biasa digunakan pada proses
yang melibatkan proses lainnya.
Use
Action
Activity
36
9 Activity dengan parameter biasa digunakan
pada proses yang melibatkan proses lainnya
serta mengambil parameter dari proses
tersebut.
10
| | | | |
Lifeline merupakan state dari sebuah proses
yang ada didalam sistem. Nantinya, setiap
bagian dari proses akan berhenti pada Lifeline
yang sesuai.
2.10 RAD
Rapid Application Development (RAD) adalah sebuah model proses
pengembangan perangkat lunak sekuensial linier yang menggunakan siklus
perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi
“kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat
dipakai dengan menggunakan proses RAD memungkinkan tim pengembang
menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat
pendek (kira-kira 60 sampai 90 hari) karena dipakai terutama pada aplikasi sistem
konstruksi, pendekatan RAD melingkupi fase-fase sebagai berikut Tahapan-
tahapan RAD yaitu:
1. Tahap perencanaan syarat-syarat
Dalam fase ini, pengguna dan penganalisis bertemu untuk
menidentifikasikan tujuan-tujuan aplikasi atau sistem serta untuk
Activity
Parameter
37
mengidentifikasikan syarat-syarat informasi yang ditimbulkan dari
tujuan-tujuan tersebut. Fase ini memerlukan peran aktif mendalam dari
kedua kelompok tersebut, tidak hanya menunjukan proposal atau
dokumen. Selain itu, juga melibatkan pengguna dari beberapa level
yang berada dalam organisasi. Orientasi dalam fase ini ialah
menyelesaikan problem-problem perusahaan. Meskipun teknologi
informasi dan sistem bisa mengarahkan sebagian sistem yang diajukan,
fokusnya akan selalu tetap pada upaya pencapaian tujuan-tujuan
perusahaan.
2. Tahap desain workshop RAD
Fase ini adalah fase untuk merancang dan memperbaiki yang bisa
digambarkan sebagai workshop. Saat membayangkan sebuah
workshop, partisipasinya sangat intens, tidak pasif, dan bisaanya
bertahap. Bisaanya pata partisipan duduk mengitari meja bulat atau di
kursi-kursi yang diatur membentuk huruf U dilengkapi meja sehingga
masing-masing dapat melihat satu sama lain.
Selama workshop desain RAD, pengguna merespons working
prototype yang ada dan penganalisi memperbaiki modul-modul yang
dirancang berdasarkan respons pengguna. Format workshop sangat
mengagumkan dan mampu memberi dorongan, dan jika pengguna atau
penganalisis yang berpengalaman, tidak diragukan lagi bahwa usaha
kreatif ini dapat mendorong pengembang sampai pada tingkat
terakselerasi.
38
3. Tahap impelementasi
Dalam gambar ditunjukan bahwa dapat terlihat, penganalisi bekerja
dengan para pengguna secara intens selama workshop untuk
merancang aspek-aspek bisnis dan non teknis dari perusahaan. Segera
sesudah aspek-aspek ini disetujui dan sistem-sistem dibangun dan
disaring, sistem-sistem baru atau bagian dari sistem diuji coba dan
kemudian diperkenalkan kepada organisasi (kendall, 2008).
2.10.1 Keunggulan RAD
Kelebihan menggunakan metode RAD adalah:
a. Berguna untuk proyek-proyek tempat persyaratan-persyaratan
pengguna tidak pasti dan tidak tepat.
b. Mendorong pengguna aktif dan partisipasi manajemen
c. Proyek-proyek memiliki visibilitas dan dukungan lebih tinggi karena
keterlibatan pengguna yang ekstensif selama proses.
d. Para pengguna dan manajemen melihat solusi-solusi yang berbasis
perangkat lunak dan berkerja lebih cepat.
e. Error dan penghilangan cenderung untuk dideteksi lebih awal dalam
prototype daripada dalam model sistem.
f. Pengujian dan pelatihan adalah produk tambahan alami dari
pendekatan prototyping yang mendasar.
39
BAB III
METODE PENELITIAN
Dalam penyusunan skripsi ini, diperlukan data-data dan informasi sebagai
bahan yang dapat mendukung kebenaran materi dari uraian pembahasan. Untuk
menyelesaikan permasalahan-permasalahan yang diangkat, penulis melakukan
beberapa tahapan-tahapan dalam melakukan penelitian ini, yaitu:
3.1. Metode Pengumpulan Data
1. Studi Pustaka
Metode ini merupakan langkah yang dilakukan untuk memperoleh
informasi apa saja tentang permasalahan yang diangkat melalui buku-buku
referensi dan mencari dari berbagai situs di internet yang berkaitan dengan
keamanan data khususnya tentang kriptografi dan steganografi. Dengan metode
ini, penulis mendapatkan berbagai macam informasi yang relevan sebagai
penunjang dalam penelitian ini.
2. Studi Literatur
Melalui studi literatur ini, penulis mencari perbandingan dengan studi
sejenis dari beberapa penulisan karya ilmiah, seperti jurnal dan skripsi yang
berkaitan dengan keamanan data khususnya Kriptografi dan Steganografi. Berikut
list skripsi yang digunakan penulis sebagai bahan referensi :
40
Tabel 3.1 List Bahan Referensi
No Nama Penulis Judul Skripsi Tahun Fakultas
1. Jamaludin Aplikasi pengamanan informasi
menggunakan teknik steganografi
dengan metode least significant bit
(LSB) insertion dan RC4
2010 FST –
UIN
Jakarta
2. Deni Dharmatin Perancangan aplikasi pengamanan
media teks menggunakan teknik
steganografi metode least significant
bit (LSB) pada citra digital berbasis
smartphone android
2013 FST –
UIN
Jakarta
3. Intan Ninda Implementasi algoritma vigenere
cipher untuk aplikasi enkripsi sms
berbasis android
2012 FST –
UIN
Jakarta
Berdasarkan beberapa referensi literatur diatas penulis mencoba untuk
melakukan pengembangan dengan menggabungkan 2 metode pengamanan data
Kriptografi (vigenere cipher) dan Steganografi (Least Significant Bit)
41
3.2 Metode Pengembangan Sistem
Dalam penyusunan skripsi ini, penulis menggunakan metode
pengembangan system Rapid Application Development (RAD). Model RAD
menurut Kendall & Kendall (2008:163) adalah suatu pendekatan berorientasi
objek yang digunakan terhadap pengembangan system yang mencakup suatu
metode pengembangan perangkat-perangkat lunak. Tujuannya adalah
mempersingkat waktu pengerjaan apliklasi serta proses yang dihasilkan didapat
secara tepat dan cepat. Tahapan – tahapan dari RAD adalah sebagai berikut :
Gambar 3.1. Fase - Fase Model RAD
Dari gambar 3.1. tersebut terlihat bahwa metode pengembangan system
RAD terdiri dari tiga tahapan, yaitu perencanaan syarat-syarat, desain workshop
RAD dan implementasi.
3.2.1. Fase perencanaan syarat-syarat
Pada fase ini penulis melakukan analisis kebutuhan-kebutuhan yang
diperlukan pada aplikasi dan membandingkan dengan aplikasi kriptografi dan
steganografi berbasis smartphone yang sudah ada, sehingga penulis dapat
42
menentukan fitur apa saja yang akan ditanamkan dalam aplikasi ini. Sehingga,
penulis dapat memberikan solusi untuk membangun aplikasi kriptografi dan
steganografi pada citra digital sebagai solusi untuk pengamanan media teks atau
pesan singkat. Untuk memudahkan dalam penganalisaan terhadap kebutuhan
system, maka penulis mendefinisikannya sebagai betikut:
1. Apa saja yang menjadi input
2. Bagaimana proses dapat digambarkan dalam alur
3. Apa saja yang menjadi keluaran atau output dari aplikasi ini
3.2.2. Proses Desain RAD (RAD design workshop)
Pada fase ini penulis melakukan perancangan proses dan perancangan
muka aplikasi, yaitu:
1. Perancangan UML.
Pada tahap ini penulis merancang alur atau proses dari aplikasi dengan
menggunakan metode perancangan system menggunakan metodologi berorientasi
objek, yaitu dengan cara membuat diagram-diagram UML, dengan tahapan
sebagai berikut :
Membuat Usecase Diagram
Pada tahap ini penulis mencoba menjelaskan requirement aplikasi
dan mendeskripsikan usecase yang telah dibuat.
Membuat class diagram
Pada tahap ini penulis menggambarkan keadaan (atribut/properti)
suatu sistem, serta memvisualisasikan struktur kelas-kelas dari
suatu sistem dan memperlihatkan hubungan antar kelas dan
43
penjelasan detail tiap-tiap kelas didalam model desain dari suatu
sistem.
Membuat activity diagram
Pada tahap ini penulis membuat alur aktivitas yang satu ke
aktivitas yang lainnya dalam sistem yang dirancang. Tahap ini
berguna ketika kita ingin menggambarkan perilaku paralel atau
menjelaskan bagaimana perilaku usecase berinteraksi
2. Perancangan Interface.
Pada tahap ini penulis melakukan perancangan antarmuka yang dapat
memberikan komunikasi antara pemakai dan system, sehingga pemakai akan lebih
mengerti dalam penggunaan aplikasi ini.
3 Konstruksi program (coding).
Melakukan proses pembuatan aplikasi yang akan diimplementasikan pada
smartphone android. Perancangan ini menggunakan beberapa tools atau software
antara lain Java Development Kit (JDK) sebagai platform JAVA, Eclips ,Android
Development Tools (ADT) dan android SDK (Software Development Kit).
3.2.3. Fase Implementasi (Implementation Phase)
Pada fase ini, penulis melakukan pengujian dan analisa terhadap aplikasi.
Pengujian dilakukan dengan cara melakukan pengecekan terhadap kunci pada
proses enkripsi dan deskripsi dan membandingkan ukuran gambar yang dihasilkan
sebelum dan sesudah dilakukan proses penyisipan dilakukan.
44
3.3 Alur Penelitian
Gambar 3.2 Alur Penelitian
45
BAB IV
ANALISIS DAN PERANCANGAN
Dalam penyusunan tugas akhir ini, penulis menggunakan metode
pengembangan sistem Rapid Application Development (RAD). Dalam metode
pengembangan ini, terdapat tiga tahapan yaitu perencanaan syarat-syarat, desain
workshop RAD dan implementasi.
4.1. Fase Perencanaan Syarat-syarat
Seperti yang telah diuraikan pada bab sebelumnya, fase perencanaan
syarat-syarat adalah fase dimana penulis menganalisis kebutuhan-kebutuhan,
syarat-syarat dan tujuan untuk diterapkan dalam perancangan aplikasi ini.
4.1.1. Analisis kebutuhan
Pada subbab ini akan dibahas mengenai analisis dari proses pembangunan
perangkat lunak yang akan dibuat. Analisis yang akan dibahas meliputi deskripsi
umum sistem dan spesifikasi kebutuhan perangkat lunak.
4.1.1.1 Deskripsi Umum Sistem
Aplikasi yang akan dibangun merupakan aplikasi yang akan diterapkan
pada smartphone berbasis android. Aplikasi ini merupakan sebuah aplikasi
keamanan dalam menjaga kerahasiaan pesan, dimana aplikasi ini dapat menjaga
kerahasiaan data pesan si pengirim terhadap pihak ketiga.
46
Pada aplikasi ini terdapat aktor yang berperan sebagai pengirim pesan dan
penerima pesan, dimana aktor atau pengguna itu sendiri akan berinteraksi secara
langsung melalui interface yang disediakan pada aplikasi tersebut. Aktor tersebut
dapat membuat pesan dan juga dapat membaca pesan melalui aplikasi tersebut.
Dalam berkomunikasi melalui pesan pada aplikasi tersebut, aktor atau
pengguna dapat mengetik pesan yang akan disampaikan melalui keyboard pada
smartphone android dengan cara menyentuhnya. Terdapat dua menu pada aplikasi
tersebut diantaranya adalah membuat pesan dan membaca pesan.
Pada menu membuat pesan terdapat fitur-fitur yang berguna untuk
mengamankan pesan diantaranya mengenkripsi pesan, menjadikan pesan tersebut
menjadi sebuah sandi atau kode yang tidak dapat dibaca dengan kombinasi
password yang telah disepakati antara pengirim dan penerima dan fitur
mengencode pesan, pada fitur ini pesan disisipkan melalui sebuah gambar yang
berformat *png atau *jpg. Pada menu membaca pesan terdapat fitur mendecode
pesan dimana fitur ini bertujuan untuk memisahkan pesan yang terdapat pada
gambar dan juga fitur mendekrip pesan, pesan yang telah diterima dalam keadaan
terenkripsi. Dengan fitur ini pesan tersebut dapat didekripsikan menjadi pesan asli
yang dapat dibaca.
Pada aplikasi ini terdapat dua metode algoritma yang digunakan yaitu
metode vigenere cipher pada proses enkripsi dan dekripsi pesan dan metode lsb
pada encoding atau penyisipan pesan pada gambar dan decoding pemisahan
gambar dengan pesan.
47
Vigenere cipher merupakan metode menyandikan teks alfabet dengan
menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci.
namun disini penulis akan memodifikasi untuk menambahkan kekuatan agar tidak
mudah diketahui kuncinya. Modifikasi algoritma vigenere cipher yang penulis
lakukan yaitu dengan menambahkan susunan huruf besar dan huruf kecil, simbol-
simbol, serta karakter angka, sehingga plaintext yang dienkripsi tidak sebatas
alfabet. Dengan menambahkan karakter angka dan simbol-simbol, maka ukuran
tabel yang digunakan untuk melakukan enkripsi dan dekripsi menjadi lebih besar.
Penulis menggunakan vigenere cipher dalam aplikasi ini karena metode ini
tidak begitu rentan terhadap pemecahan sandi yang disebut analisis frekuensi.
Selain itu yang berhak mengetahui kunci pada aplikasi ini hanyalah pengirim dan
penerima
Metode yang digunakan untuk menyisipkan pesan adalah metode lsb.
Metode LSB merupakan metode yang cukup sederhana dalam melakukan proses
steganografi. Selain itu, proses embedding dan ekstraksi dari metode ini juga
relative cukup cepat, sehingga banyak orang menggunakan metode ini untuk
menyisipkan pesan.
4.1.1.2 Analisis spesifikasi dan kebutuhan perangkat lunak
Pada tahap ini penulis melakukan perbandingan terhadap aplikasi-aplikasi
steganografi dan kriptografi yang telah ada sebelumnya. Dengan melakukan
perbandingan aplikasi tersebut, penulis mendapatkan beberapa fitur yang akan
ditanamkan dalam aplikasi yang akan dibangun. Perbandingan yang dilakukan
48
adalah pada kekurangan fitur pada aplikasi yang sudah ada, sehingga pada
perancangan aplikasi selanjutnya akan mendapatkan fitur apa saja yang akan
diterapkan pada aplikasi yang akan dibangun, sehingga akan memenuhi tujuan
pada perancangan aplikasi ini.
Perangkat lunak yang akan dibangun memiliki dua fitur utama, yaitu :
1. Melakukan enkripsi dan dekripsi pesan pada smartphone android dengan
algoritma Vigenere cipher.
Pengguna dapat membuat pesan pada perangkat lunak yang akan
dibangun kemudian pesan akan di enkripsi pada perangkat lunak tersebut,
begitu sebaliknya setelah penerima mendapat pesan dalam keadaan
terenkripsi, kemudian perangkat lunak yang sama juga dapat mendekripsi
pesan yang diterima agar informasi yang terdapat pada pesan tersebut
dapat dipahami dengan baik.
2. Melakukan Encode dan Decode pada pesan smartphone pada algoritma
LSB.
Setelah pengguna membuat pesan yang telah di enkripsi pada
perangkat lunak tersebut ,pengguna dapat mengencode pesan tersebut ke
dalam sebuah gambar dan juga setelah pengguna mendapat pesan sebuah
gambar, pengguna dapat mendecode pesan tersebut agar informasi yang
disisipkan pada gambar tersebut dapat terlihat dengan baik.
49
4.1.2. Menentukan Tujuan
Tujuan dari perancangan aplikasi ini adalah seperti yang telah dijelaskan
pada bab 1, namun tujuan adanya aplikasi ini antara lain :
1. Aplikasi ini ditujukkan kepada pengguna smartphone android
yang membutuhkan kerahasiaan data pada pengiriman pesan.
2. Menghasilkan sebuah aplikasi yang bersifat open source dalam
pengertian aplikasi ini terbuka untuk siapa saja yang ingin
mengembangkan lebih jauh mengenai fungsi atau fitur aplikasi
ini.
4.1.3. Menentukan syarat-syarat
Syarat-syarat untuk mencapai tujuan dalam pengembangan aplikasi ini
terdiri dari perangkat lunak dan perangkat keras dengan spesifikasi sebagai
berikut:
Perangkat Lunak:
1. Windows 8 ultimate 64 bit
2. jdk 1.7
3. Eclipse Indigo
4. Android SDK (Software Development Kit)
5. Android Development Tools (ADT)
50
Perangkat Keras:
1. Processor Intel Core i5
2. SSD 128 Gb
3. RAM 4 GB
4. Monitor atau laptop
5. Mouse dan keyboard
6. Kabel data
Device :
1. Smartphone Android dengan spesifikasi
- Processor 1.6 Ghz
- Ram 1 Gb
- Internal Memory 16 GB
- SD Card 16 GB
Media:
1. File gambar *.png
4.2 Fase Workshop Desain
Dalam proses Workshop design, aplikasi ini terdiri dari perancangan
menggunakan UML sebagai case tool dalam merancang proses yang terjadi
didalam sistem, yaitu seperti membuat use case diagram, activity diagram,
sequence diagram, dan class diagram, serta melakukan perancangan antarmuka
(user interface) dan melakukan konstruksi coding aplikasi. Perancangan proses
dilakukan untuk merancang alur proses di dalam program, sedangkan
51
perancangan antar muka dilakukan untuk mempermudah pengguna menggunakan
aplikasi ini.
4.2.1 Use case Diagram
Use case diagram dibuat agar dapat menjelaskan peran dari pengguna serta
interaksi yang terjadi didalam sistem. Use case tidak menunjukkan suatu aksi
yang diimplementasikan tetapi hanya menggambarkan fungsionalitas yang
diharapkan ada pada perangkat lunak yang akan dibuat. selain use case diagram
juga akan dibuat scenario dari use case diagram tersebut.
Gambar 4.1 Usecase Diagram aplikasi
52
4.2.1.1 Definisi Aktor
Tabel 4.1 Definisi Aktor
No Use Case Deskripsi
1 Aktor Aktor pengguna adalah perangkat lunak yang
dapat berperan sebagai pengirim pesan dan
penerima pesan.
4.2.1.2 Definisi Usecase
Tabel 4.2 Definisi Use Case
No Use case Deskripsi
1 Membuat Pesan Pengguna melakukan pembuatan pesan
2 Enkripsi Pesan Melakukan proses merubah plaintext menjadi
ciphertext atau merubah pesan menjadi tidak
bermakna
3 Encode Pesan Melakukan penyisipan atau penyamaran suatu
data teks ke dalam suatu data gambar
5 Menyimpan
Pesan
Menangani aksi penyimpanan terhadap pesan
6 Membaca Pesan Menangani aksi membaca pesan yang diterima
7 Decode Pesan Melakukan pengungkapan atau decoding suatu
data dari gambar yang bertujuan untuk
mengambil kembali data yang telah disisipkan
53
8 Dekripsi Pesan Melakukan proses merubah ciphertext menjadi
plaintext atau merubah pesan yang tidak
dimengerti menjadi dapat dimengerti
4.2.2 Use Case Scenario
Setiap use case di atas harus di deskripsikan dalam dokumen yang disebut
dokumen flow of event. Dokumentasi ini mendefinisikan apa yang harus
dilakukan oleh sistem ketika aktor mengaktifkan use case. Struktur dari
dokumen use case ini bisa bermacam-macam tetapi umumnya deskripsi ini
paling tidak harus mengandung:
1. Brief Description (deskripsi singkat)
2. Aktor yang terlibat
3. Precondition yang penting bagi use case untuk memulai
4. Deskripsi rinci dari aliran kejadian yang mencakup
a. Main flow dari kejadian yang bisa dirinci lagi menjadi sub flow dari
kejadian (sub flow bisa dibagi lagi lebih jauh menjadi sub flow
yang lebih kecil agar dokumen lebih mudah dibaca dan dimengerti)
b. Alternative flow untuk mendefinisikan situasi perkecualian
5. Postcondition yang menjelaskan state dari sistem setelah use case
berakhir
Selain beberapa hal yang disebutkan di atas, dapat juga memakai
beberapa deskripsi tambahan lainnya untuk melengkapi pendeskripsian
yang dibuat. Setelah menjelaskan use case pada bahasan sebelumnya,
54
maka berikut ini akan dijelaskan spesifikasi use case yang telah
ditentukan.
4.2.2.1 Membuat pesan terenkripsi
Tabel 4.3 Use Case Scenario membuat pesan terenkripsi
Use case name Membuat pesan
Use case ID 1
Actor User
Description Melakukan pembuatan pesan
Precondition Aktor belum membuat pesan yang telah terenkripsi dan
terencode
Typical course of
events
Actor Action System Response
1. Aktor memilih icon
tulis pesan
3. Aktor mengetik
password atau kunci
,dan mengetik pesan
4. Aktor menekan
tombol encrypt
6. Aktor memilih
gambar dan menekan
tombol encode
2. Sistem akan
menampilkan form
tulis pesan
5. Sistem akan
mengenkripsi pesan
dan menampilkan
hasilnya.
7. Sistem akan
menyisipkan pesan ke
dalam gambar dan
55
menyimpan pesan ke
dalam folder gambar
Post condition User dapat melihat result pesan yang sudah terenkripsi dan
terencode
4.2.2.2 Mengenkripsi pesan
Tabel 4.4 Use Case Scenario mengenkripsi pesan
Use case name Mengenkripsi pesan
Use case ID 2
Actor User
Description Melakukan proses merubah plaintext menjadi ciphertext atau
merubah pesan menjadi tidak bermakna
Precondition Pesan masih dapat dibaca dan belum terenkripsi
Typical course of
events
Actor Action System Response
1. Aktor mengetik
pesan dan
memasukkan
password lalu
menekan tombol
encrypt
2. Sistem akan
mengenkripsi pesan
56
Post condition User dapat melihat result pesan yang sudah terenkripsi
4.2.2.3 Mengencode pesan
Tabel 4.5 Use Case Scenario mengencode pesan
Use case name Mengencode pesan
Use case ID 3
Actor User
Description Melakukan penyisipan atau penyamaran suatu data teks ke
dalam suatu data gambar
Precondition Pesan masih terenkripsi dan belum tersisipkan ke dalam
gambar
Typical course of
events
Actor Action System Response
1. Aktor menekan
tombol choose
picture
3. Aktor memilih
gambar dan menekan
tombol encode
2. Sistem akan
menampilkan folder
gambar
4. Sistem memasukkan
pesan ke gambar
Post condition User dapat melihat result pesan yang sudah terencode
57
4.2.2.4 Membaca pesan
Tabel 4.6 Use Case Scenario Membaca Pesan
Use case name Membaca pesan
Use case ID 4
Actor User
Description Menangani aksi membaca pesan yang diterima
Precondition User menerima pesan dalam keadaan terenkripsi dan
terencode
Typical course of
events
Actor Action System Response
1. Aktor memilih icon
baca pesan
3. Aktor memilih
gambar
5. Aktor memasukkan
password dan
menekan tombol
decode
2. Sistem akan
menampilkan folder
gambar
4. Sistem akan
mengeluarkan pesan
dari gambar
6. Sistem akan
mendekripsi pesan
yang terenkripsi
Post condition User dapat melihat result pesan yang sudah terdecode dan
terencode
58
4.2.2.5 Mendecode pesan
Tabel 4.7 Use Case Scenario Mendecode Pesan
Use case name Mendecode pesan
Use case ID 5
Actor User
Description Melakukan pengungkapan atau decoding suatu data dari
gambar yang bertujuan untuk mengambil kembali data yang
telah disisipkan
Precondition Melihat pesan dalam keadaan terencode
Typical course of
events
Actor Action System Response
1. Aktor menekan
tombol baca pesan
3. Aktor menekan
tombol decode atau
open the secret
message
2. Sistem akan
menampilkan folder
tempat menyimpan
gambar
4. Sistem akan
mengeluarkan atau
memisahkan pesan
dari gambar
Post condition User dapat melihat result pesan yang sudah terencode dalam
keadaan terenkripsi
59
4.2.2.6 Mendekripsi pesan
Tabel 4.8 Use Case Scenario Mendekripsi Pesan
Use case name Mendekripsi pesan
Use case ID 6
Actor User
Description Melakukan proses merubah ciphertext menjadi plaintext atau
merubah pesan yang tidak dimengerti menjadi dapat
dimengerti
Precondition Melihat pesan dalam keadaan terenkripsi
Typical course of
events
Actor Action System Response
1. Aktor memasukkan
password
2. Aktor menekan
tombol decode
3. Sistem akan
melakukan proses
dekripsi
Post condition User dapat melihat result pesan yang sudah terdekripsi
4.2.3 Activity Diagram
Activity diagram berfungsi untuk memodelkan alur kerja setiap aktivitas
pada suatu proses. Diagram ini mirip dengan flow chart karena kita dapat
memodelkan proses logika, proses bisnis dan alur kerja. Perbedaan utamanya
adalah flow chart dibuat untuk menggambarkan alur kerja dari sebuah sistem,
sedangkan activity diagram dibuat untuk menggambarkan aktivitas aktor.
60
1. Activity diagram membuat pesan
Gambar 4.2 Activity Diagram membuat pesan
61
Aktivitas yang dilakukan untuk dapat mengenkripsi pesan yaitu memilih
form tulis pesan. Pertama memasukkan password atau kata kunci yang telah
disepakati bersama antara pengirim dan penerima pada form tulis pesan tersebut,
selanjutnya masukkan pesan yang diinginkan dan setelah selesai pengirim
menekan tombol encrypt. Sistem akan mengenkripsi pesan dan menampilkan
hasilnya pada kolom hasil. Selanjutnya pengirim menekan tombol choose image
dan memilih gambar yang ingin disisipkan bersama dengan pesan tersebut.
Setelah itu pengirim menekan tombol encode dan sistem akan memproses
encoding pesan tersebut lalu menyimpannya ke dalam folder gambar.
2. Activity diagram mengenkripsi pesan pesan
Gambar 4.3 Activity Diagram Mengenkripsi pesan
Pada aktivitas mengenkripsi pesan ini, pertama pengirim memasukkan
password atau kata kunci yang telah disepakati antara pengirim dan penerima.
62
Setelah itu pengirim memasukkan pesan dan menekan tombol encrypt. Sistem
akan memproses enkripsi pesan tersebut lalu menampilkan hasilnya pada kolom
hasil.
3. Activity diagram mengencode pesan
Gambar 4.4 Activity Diagram mengencode pesan
Setelah pengirim mengenkripsi pesan, lalu pengirim menekan tombol
choose image untuk memilih gambar yang akan disisipkan bersama dengan pesan
yang telah terenkripsi tersebut. Setelah itu hasil dari encoding tersebut akan
disimpan pada folder gambar.
63
4. Activity diagram membaca pesan
Gambar 4.5 Activity Diagram membaca pesan
Pada aktivitas diagram membaca pesan ini ,penerima pesan telah
menerima pesan yang telah terenkripsi dan terencode dari pengirim. Lalu
penerima membuka aplikasi Kripsteno untuk membaca pesan tersebut. Setelah
membuka aplikasi tersebut penerima memilih form baca pesan, sistem akan
menampilkan folder gambar dan penerima memilih gambar yang akan dibuka
64
pesan nya. Setelah itu penerima memasukkan password yang telah disepakati
antara pengirim dan menekan tombol open the secret message. Setelah proses
selesai, aplikasi akan menampilkan pesan yang telah terdekripsi.
5. Activity diagram mendecode pesan
Gambar 4.6 Activity Diagram mendecode pesan
Pada aktivitas ini ,penerima yang telah menerima pesan menekan tombol
baca pesan, lalu sistem akan menampilkan folder gambar. Setelah itu penerima
memilih gambar yang terdapat pesan tersembunyi. Lalu sistem akan mendecode
atau mengeluarkan isi pesan dari gambar.
65
6. Activity diagram mendekripsikan pesan
Gambar 4.7 Activity Diagram mendekripsikan pesan
Setelah penerima mendecode pesan, penerima memasukkan password yang
telah disepakati. Setelah itu penerima menekan tombol open the secret message
agar pesan dapat didekripsi kan. Setelah sistem memproses dekripsi maka pesan
asli akan ditampilkan pada kolom hasil.
4.2.4 Sequence Diagram
Sequence Diagram berfungsi untuk menggambarkan proses interaksi antar
objek didalam dan disekitar sistem (termasuk pengguna, display, dan sebagainya)
berupa message yang digambarkan terhadap waktu. Secara umum aplikasi ini
terdiri dari dua bagian yang penting yaitu membuat pesan dan membaca pesan.
Berikut sequence diagram membuat pesan :
66
Gambar 4.8 Sequence Diagram membuat pesan
Dari gambar diatas terlihat pengirim memilih menu tulis pesan, setelah
menulis pesan dipilih sistem kemudian memanggil fungsi tulis pesan. Setelah
pesan selesai ditulis ,proses selanjutnya adalah user diminta untuk memasukkan
kunci enkripsi pada fungsi vigenere cipher dan mengenkripsi pesan yang
ditulis.Setelah pesan selesai di enkripsi maka hasil enkripsi akan tampil pada
fungsi tulis pesan, lalu selanjutnya pengirim memilih gambar untuk melakukan
encoding atau menyisipkan pesan yang telah terenkripsi ke sebuah gambar.
Kemudian pesan dapat disimpan.
67
Gambar 4.9 Sequence Diagram membaca Pesan
Dari sequence diagram membaca pesan diatas ,penerima memilih fungsi menu
dan memilih pesan yang terdapat di folder gambar ,setelah itu sistem akan
mendecode atau mengeluarkan isi pesan tersebut dengan gambar. Setelah pesan di
decode, penerima mendapat pesan yang terenkripsi maka sistem meminta
penerima untuk memasukkan kunci yang sama dengan kunci enkripsi pada fungsi
vigenere cipher. Setelah penerima memasukkan kunci maka sistem akan
melakukan dekripsi yang kemudian hasil pesan akan ditampilkan pada fungsi isi
pesan yang dapat dibaca oleh penerima.
68
4.2.5 Class Diagram
Gambar 4.10 Class Diagram
Hubungan antar kelas persistence atau diluar sisi android framework
environment yang ada pada aplikasi mobile bersifat relasi 1 ke 1. Ini dikarenakan
pengembangan menggunakan framework Android yang sepenuhnya menyediakan
semua komponen pengembangan yang dibutuhkan.
Atribut dan Operation
1. Operasi Kelas Aplikasi
Tabel 4.9 Operasi Kelas Aplikasi Nama Operation Visibility (Private,
Public)
Keterangan
selectMenu() Public Untuk memilih menu, apakah
memilih membuat pesan, atau
membaca pesan
69
2. Operasi Kelas Membuat Pesan
Tabel 4.10 Operasi Kelas Membuat Pesan Nama Operation Visibility (Private,
Public)
Keterangan
InputText()
Private Untuk menginput text yang
dibutuhkan kedalam form
membuat pesan.
ViewImage() Private Untuk melihat folder gambar
yang digunakan untuk
menyisipkan pesan
SelectImage() Private Untuk memilih gambar yang
akan digunakan untuk
menyisipkan pesan
ViewResult() Private Untuk melihat pesan yang telah
terenkripsi
Atribut Kelas Membuat pesan
Tabel 4.11 Atribut Kelas Membuat Pesan Nama Atribut Visibility (Private, Public) Type
Kunci Private String
Pesan Private String
Vigenere cipher Private String
Result Private String
70
3. Operasi Kelas Membaca Pesan
Tabel 4.12 Operasi Kelas Membaca Pesan Nama Operation Visibility (Private,
Public)
Keterangan
InputText()
Private Untuk menginput text yang
dibutuhkan kedalam form
membaca pesan.
ViewImage() Private Untuk memilih gambar yang
berisi pesan pada folder gambar
SelectImage() Private Untuk memilih gambar yang
berisi pesan dan mengeluarkan
isi pesan yang terenkripsi
ViewResult() Private Untuk melihat pesan yang telah
terdekripsi
Atribut Kelas Membuat pesan
Tabel 4.13 Atribut Kelas Membuat Pesan Nama Atribut Visibility (Private, Public) Type
Kunci Private String
Pesan Private String
Vigenere cipher Private String
Result Private String
71
4.2.6 Perancangan User Interface
1. Tampilan menu home
Gambar 4.11 Tampilan menu home
Pada saat pertama membuka aplikasi ini akan muncul tampilan home
seperti diatas. Pada perancangan tampilan home ini, dibuat sesederhana mungkin
dengan tujuan agar user mudah dalam menggunakan aplikasi ini. Pada form ini
hanya akan menampilkan fungsi utama dari aplikasi ini, yaitu menulis pesan dan
membaca pesan. Menulis pesan digunakan oleh user jika ingin melakukan proses
enkripsi pesan dan penyisipan pesan ke dalam cover gambar, sedangkan membaca
72
pesan digunakan oleh user jika ingin membuka pesan rahasia yang ada dalam
gambar dan mendekripsikan pesan yang ia miliki.
2. Tampilan Membuat Pesan
Gambar 4.12 Tampilan membuat pesan
Apabila kita menyentuh tombol membaca pesan pada tampilan home maka
akan tampil form tampilan membaca pesan seperti diatas. Tampilan ini dirancang
seminimal mungkin agar tujuan dalam melakukan enkripsi dan encoding tercapai.
Dalam perancangan tampilan ini hanya dibutuhkan 4 edittext, dan 3 button yang
memiliki fungsi masing-masing. Pengirim menginput kunci atau password yang
telah disepakati kedua belah pihak, antara pengirim dan penerima lalu menekan
73
encrpt dan memilih gambar dan menekan tombol encode untuk memasukkan
pesan yang telah terenkripsi tersebut ke dalam gambar.
3. Tampilan Membaca Pesan
Gambar 4.13 Tampilan membaca pesan
Pada tampilan ini berfungsi untuk menampilkan pesan rahasia yang
terdapat pada stego-image Dengan adanya tampilan ini, maka proses decoding
dan dekripsi terhadap stego-image akan semakin mudah, karena dengan
penampilan yang user friendly, sehingga user akan dengan sangat mudah
dapat membaca pesan rahasia yang tersisip di dalam stego-image. Pada
perancangan form ini, hanya terdiri dari 2 editetext yang berfungsi sebagai
input kunci atau password dan viewer pesan, dan satu tombol yang berfungsi
74
untuk menjalankan fungsi decode, sedangkan untuk pemilihan stego-image,
dilakukan ketika pemilihan menu decode pada menu utama.
4.2.7 Perancangan Program (Coding)
Pada tahap perancangan program ini, penulis melakukan tahap
pengkodean terhadap hasil rancangan yang telah didefinisikan sebelumnya
untuk dijadikan sebuah aplikasi. Pembuatan aplikasi ini menggunakan
beberapa tools atau software, antara lain java Development Kit (JDK)
sebagai platform JAVA, Eclipse Luna, Android Development Tools (ADT)
dan android SDK (Software Development Tools) update platform 4.2 Jelly
Bean.
Dibawah ini sekilas tentang pembuatan aplikasi menggunakan Eclipse
Galileo adalah sebagai berikut:
1. Instalasi Java Development Kit (JDK 1.6)
2. Eclipse Galileo
adalah sofware portable sehingga instalasinya cukup dengan meng-
extract file Eclipse.zip ke hardisk komputer. Kemudian jalankan aplikasi
Eclipse pada komputer dan tentukan direktori workspace
75
Gambar 4.14 Halaman awal eclips
Install Android Development Kit (ADT) dan Android Software Development Kit
(SDK) ke dalam eclipse.
Gambar 4.15 Tampilan Instalasi ADT dan SDK
76
Setelah tahap-tahap diatas selesai dilakukan, maka barulah proses
pengkodean program dapat dilaksanakan.
Gambar 4.16 Tampilan Coding aplikasi
4.3 Fase Implementasi
Dalam tahapan ini akan dilakukan analisis dan pengujian terhadap
aplikasi KripSteno ini yang bertujuan untuk mengetahui tingkat keberhasilan
dari aplikasi dalam mencapai hasil dan tujuan yang diinginkan.
4.3.1 Implementasi handset android dan transfer aplikasi dari PC (Personal
Computer) ke dalam smartphone android dan instalasi
Implementasi dilakukan pada beberapa handset android, diantaranya yaitu :
1. Sistem operasi pada smartphone android dimulai dari 2.3
(Gingerbread). Dalam hal ini penulis menggunakan sistem operasi 4.2
(JellyBean).
2. Aplikasi enkripsi SMS ini dalam bentuk .apk
77
Untuk mendistribusikan aplikasi ke dalam smartphone android dapat
menggunakan beberapa tools diantaranya: bluetooth, card reader, dan kabel data.
Dalam hal ini, penulis menggunakan kabel data untuk transfer aplikasi ke dalam
handset android Galaxy S3. Untuk instalasi bisa dilakukan dengan cara mengklik
file .apk tersebut pada handset android, maka aplikasi enkripsi SMS ini akan
terinstal
Instalasi Aplikasi
Aplikasi KripSteno merupakan aplikasi berbasis smartphone
android, sehingga dalam melakukan instalasi aplikasi inipun cukup
sederhana. Berikut ini adalah langkah-langkah dalam melakukan instalasi
pada aplikasi ini:
1. Pilih aplikasi androidKripSteno.apk pad file browser
smartphone android.
Gambar 4.17 Aplikasi androidKripSteno.apk
78
1. Setelah memilih aplikasi tersebut, pilih tombol install dan
tunggu sampai proses installasi selesai.
Gambar 4.18 Screen Instalasi 1
Gambar 4.19 Screen Instalasi 2
79
2. Setelah menunggu proses instalasi selesai maka akan muncul
screen berikut yang menunjukan proses instalasi selesai dan
aplikasi siap untuk digunakan
Gambar 4.20 Screen Instalasi 3
4.3.2 Implementasi Antar Muka (Interface)
Pada tahap implementasi antar muka ini merupakan tahap dimana sistem
yang telah dibuat siap dioperasikan pada tahap yang sebenarnya, sehingga akan
diketahui apakah sistem yang dibuat sesuai dengan apa yang telah direncanakan.
pada implentasi ini juga akan dijelaskan bagaimana program sistem ini bekerja,
dengan memberikan tampilan sistem atau user interface yang dibuat
80
Gambar 4.21 menu home Gambar 4.22 menu tulis pesan
Gambar 4.23 menu baca pesan
81
4.3.3 Analisis Proses
Dalam tahapan ini akan dilakukan pengujian terhadap performansi
aplikasi. Pengujian yang digunakan untuk menguji sistem yang baru dibangun
adalah pengujian dengan cara blackbox testing, berfokus pada persyaratan
fungsional perangkat lunak.
4.3.3.1 Pengujian Kunci
Pada tahapan pengujian kunci ini, penulis melakukan pengujian dengan
cara menjalankan aplikasi KripSteno, kemudian melakukan input data serta
melihat input-nya apakah sesuai dengan masalah dan kesimpulan yang
diharapkan. Berikut adalah pengujian program dari proses enkripsi dan dekripsi
dan kesimpulan hasil pengujian:
1. Pengujian 1
Proses Enkripsi
Ci = ( Pi + Ki ) mod 83
Ci = nilai desimal karakter ciphertext ke-i
Pi = nilai desimal karakter plaintext ke-i
Ki = nilai desimal karakter kunci ke-i
Nilai desimal karakter A=0, B=1, .....”= 83
Plaintext : Assalamualaikum Selamat Pagi
Password : IVAN
Huruf ke-1 pada plaintext adalah A, kemudian huruf ke-1 pada
kata kunci adalah I, sehingga:
82
Pi = 0
Ki = 8
Ci = (Pi + Ki) mod 83
= (0 + 8) mod 83 = 8
Nilai desimal dari 8 adalah huruf I
Huruf ke-2 pada plaintext adalah s, kemudian huruf ke-2 pada
kata kunci adalah V, sehingga:
Pi = 44
Ki = 21
Ci = (Pi + Ki) mod 83
= (44 + 21) mod 83 = 65
Nilai desimal dari 65 adalah huruf &
Huruf ke-3 pada plaintext adalah s, kemudian huruf ke-3 pada
kata kunci adalah A, sehingga:
Pi = 44
Ki = 0
Ci = (Pi + Ki) mod 83
= (44 +0) mod 83 = 44
Nilai desimal dari 44 adalah angka s
Karakter ke-4 pada plaintext adalah a , kemudian huruf ke-4
pada kata kunci adalah N, sehingga:
Pi = 26
Ki = 13
83
Ci = (Pi + Ki) mod 83
= (26 + 13) mod 83 = 39
Nilai desimal dari angka 39 adalah karakter n
Huruf ke-5 pada plaintext adalah l, kemudian huruf ke-5 pada
kata kunci adalah I, sehingga:
Pi = 37
Ki = 8
Ci = (Pi + Ki) mod 83
= (37 + 8) mod 83 = 45
Nilai desimal dari angka 45 adalah huruf t
Huruf ke-6 pada plaintext adalah a, kemudian huruf ke-6 pada
kata kunci adalah V, sehingga:
Pi = 26
Ki = 21
Ci = (Pi + Ki) mod 83
= (26 + 21) mod 83 = 47
Nilai desimal dari angka 47 adalah huruf v
Huruf ke-7 pada plaintext adalah m, kemudian huruf ke-7 pada
kata kunci adalah A, sehingga:
Pi = 38
Ki = 0
Ci = (Pi + Ki) mod 83
= (38+ 0) mod 83 = 38
84
Nilai desimal dari angka 38 adalah huruf m
Huruf ke-8 pada plaintext adalah u, kemudian huruf ke-8 pada
kata kunci adalah N, sehingga:
Pi = 46
Ki = 13
Ci = (Pi + Ki) mod 83
= (46 + 13) mod 83 = 59
Nilai desimal dari angka 59 adalah angka 7
Huruf ke-9 pada plaintext adalah a, kemudian huruf ke-9 pada
kata kunci adalah I, sehingga:
Pi = 26
Ki = 8
Ci = (Pi + Ki) mod 83
= (26+ 8) mod 83 = 34
Nilai desimal dari angka 34 adalah huruf i
Huruf ke-10 pada plaintext adalah l, kemudian huruf ke-10
pada kata kunci adalah V, sehingga:
Pi = 37
Ki = 21
Ci = (Pi + Ki) mod 83
= (37 + 21) mod 83 = 58
Nilai desimal dari angka 58 adalah angka 6
85
Huruf ke-11 pada plaintext adalah a, kemudian huruf ke-11
pada kata kunci adalah A, sehingga:
Pi = 26
Ki = 0
Ci = (Pi + Ki) mod 83
= (26 + 0) mod 83 = 26
Nilai desimal dari angka 26 adalah huruf a
Huruf ke-12 pada plaintext adalah i, kemudian huruf ke-12
pada kata kunci adalah N, sehingga:
Pi = 34
Ki = 13
Ci = (Pi + Ki) mod 83
= (34 + 13) mod 83 = 47
Nilai desimal dari angka 47 adalah huruf v
Huruf ke-13 pada plaintext adalah k, kemudian huruf ke-13
pada kata kunci adalah I, sehingga:
Pi = 36
Ki = 8
Ci = (Pi + Ki) mod 83
= (36 + 8) mod 83 = 44
Nilai desimal dari angka 44 adalah angka s
Huruf ke-14 pada plaintext adalah u, kemudian huruf ke-14
pada kata kunci adalah V, sehingga:
86
Pi = 46
Ki = 21
Ci = (Pi + Ki) mod 83
= (46 + 21) mod 83 = 67
Nilai desimal dari angka 67 adalah huruf *
Karakter ke-15 pada plaintext adalah m, kemudian huruf ke-15
pada kata kunci adalah A, sehingga:
Pi = 38
Ki = 0
Ci = (Pi + Ki) mod 83
= (38 + 0) mod 83 = 38
Nilai desimal dari angka 38 adalah huruf m
Huruf ke-16 pada plaintext adalah (spasi), kemudian huruf ke-
17 pada kata kunci adalah N, sehingga:
Pi = 81
Ki = 14
Ci = (Pi + Ki) mod 83
= (81 + 14) mod 83 = 95
Nilai desimal dari angka 12 adalah huruf M
Huruf ke-17 pada plaintext adalah S, kemudian huruf ke-18
pada kata kunci adalah I, sehingga:
Pi = 18
Ki = 8
87
Ci = (Pi + Ki) mod 83
= (18 + 8) mod 83 = 26
Nilai desimal dari angka 26 adalah huruf a
Huruf ke-18 pada plaintext adalah e, kemudian huruf ke-19
pada kata kunci adalah V, sehingga:
Pi = 30
Ki = 21
Ci = (Pi + Ki) mod 83
= (37 + 0) mod 83 = 51
Nilai desimal dari angka 51 adalah huruf z
Huruf ke-19 pada plaintext adalah l, kemudian huruf ke-20
pada kata kunci adalah A, sehingga:
Pi = 38
Ki = 0
Ci = (Pi + Ki) mod 83
= (38 + 0) mod 83 = 38
Nilai desimal dari angka 38 adalah angka l
Huruf ke-20 pada plaintext adalah a, kemudian huruf ke-21
pada kata kunci adalah N, sehingga:
Pi = 26
Ki = 13
Ci = (Pi + Ki) mod 83
= (26 + 13) mod 83 = 39
88
Nilai desimal dari angka 39 adalah huruf n
Karakter ke-21 pada plaintext adalah m, kemudian huruf ke-22
pada kata kunci adalah I, sehingga:
Pi = 38
Ki = 8
Ci = (Pi + Ki) mod 83
= (38+ 8) mod 83 = 46
Nilai desimal dari angka 46 adalah huruf u
Karakter ke-22 pada plaintext adalah a, kemudian huruf ke-23
pada kata kunci adalah V, sehingga:
Pi = 26
Ki = 21
Ci = (Pi + Ki) mod 83
= (26 + 21) mod 83 = 47
Nilai desimal dari angka 47 adalah huruf v
Huruf ke-23 pada plaintext adalah t, kemudian huruf ke-24
pada kata kunci adalah A, sehingga:
Pi = 45
Ki = 0
Ci = (Pi + Ki) mod 83
= (45 + 0) mod 83 = 45
Nilai desimal dari angka 45 adalah huruf t
89
Huruf ke-24 pada plaintext adalah (spasi), kemudian huruf ke-
25 pada kata kunci adalah N, sehingga:
Pi = 81
Ki = 14
Ci = (Pi + Ki) mod 83
= (81 + 14) mod 83 = 95
Nilai desimal dari angka 95 adalah huruf M
Huruf ke-25 pada plaintext adalah P, kemudian huruf ke-26
pada kata kunci adalah I, sehingga:
Pi = 15
Ki = 8
Ci = (Pi + Ki) mod 83
= (15 + 8) mod 83 = 23
Nilai desimal dari angka 23 adalah huruf X
Huruf ke-26 pada plaintext adalah a, kemudian huruf ke-26
pada kata kunci adalah V, sehingga:
Pi = 26
Ki = 21
Ci = (Pi + Ki) mod 83
= (26 + 21) mod 83 = 47
Nilai desimal dari angka 47 adalah huruf v
Huruf ke-27 pada plaintext adalah g, kemudian huruf ke-27
pada kata kunci adalah A, sehingga:
90
Pi = 32
Ki = 0
Ci = (Pi + Ki) mod 83
= (32 + 0) mod 83 = 32
Nilai desimal dari angka 32 adalah huruf g
Huruf ke-28 pada plaintext adalah i, kemudian huruf ke-27
pada kata kunci adalah N, sehingga:
Pi = 34
Ki = 13
Ci = (Pi + Ki) mod 83
= (34 + 13) mod 83 = 47
Nilai desimal dari angka 47 adalah huruf v
Maka CIPHERTEXT dari hasil enkripsi diatas adalah:
I&sntvm7i6avs*mMazlnuvtMXvgv
Proses Dekripsi
Pi = ( Ci – Ki ) mod 83
Ci = nilai desimal karakter ciphertext ke-i
Pi = nilai desimal karakter plaintext ke-i
Ki = nilai desimal karakter kunci ke-i
Nilai desimal karakter A=0, B=1, .....”= 83
Sebagai contoh dekripsi
Cipher : I&sntvm7i6avs*mMazlnuvtMXvgv
Key : IVAN
91
4.24 Gambar hasil enkripsi
Huruf ke-1 pada ciphertext adalah I, kemudian huruf ke-1 pada
kata kunci adalah I, sehingga:
Ci = 8
Ki = 8
Pi = (Ci - Ki) mod 83
= (8 - 8) mod 83 = 0
Nilai desimal dari 0 adalah huruf A
Huruf ke-2 pada ciphertext adalah &, kemudian huruf ke-2
pada kata kunci adalah V, sehingga:
Ci = 65
Ki = 21
Pi = (Ci - Ki) mod 83
= (65 - 21) mod 83 = 44
Nilai desimal dari 44 adalah huruf s
92
Huruf ke-3 pada ciphertext adalah s, kemudian huruf ke-3 pada
kata kunci adalah A, sehingga:
Ci = 44
Ki = 0
Pi = (Ci - Ki) mod 83
= (44 -0) mod 83 = 44
Nilai desimal dari 44 adalah huruf s
Karakter ke-4 pada ciphertext adalah n , kemudian huruf ke-4
pada kata kunci adalah N, sehingga:
Ci = 39
Ki = 13
Pi = (Ci - Ki) mod 83
= (39 - 13) mod 83 = 26
Nilai desimal dari angka 26 adalah karakter a
Huruf ke-5 pada ciphertext adalah t, kemudian huruf ke-5 pada
kata kunci adalah I, sehingga:
Ci = 45
Ki = 8
Pi = (Ci - Ki) mod 83
= (45 - 8) mod 83 = 37
Nilai desimal dari angka 37 adalah huruf l
Huruf ke-6 pada ciphertext adalah v, kemudian huruf ke-6
pada kata kunci adalah V, sehingga:
93
Ci = 47
Ki = 21
Pi = (Ci - Ki) mod 83
= (47 - 21) mod 83 = 26
Nilai desimal dari angka 26 adalah huruf a
Huruf ke-7 pada ciphertext adalah m, kemudian huruf ke-7
pada kata kunci adalah A, sehingga:
Ci = 38
Ki = 0
Pi = (Pi - Ki) mod 83
= (38 - 0) mod 83 = 38
Nilai desimal dari angka 38 adalah huruf m
Huruf ke-8 pada ciphertext adalah 7, kemudian huruf ke-8
pada kata kunci adalah N, sehingga:
Ci = 59
Ki = 13
Pi = (Ci - Ki) mod 83
= (59 - 13) mod 83 = 46
Nilai desimal dari angka 46 adalah huruf u
Huruf ke-9 pada ciphertext adalah i, kemudian huruf ke-9 pada
kata kunci adalah I, sehingga:
Ci = 34
Ki = 8
94
Pi = (Ci - Ki) mod 83
= (34 - 8) mod 83 = 26
Nilai desimal dari angka 26 adalah huruf a
Huruf ke-10 pada ciphertext adalah 6, kemudian huruf ke-10
pada kata kunci adalah V, sehingga:
Ci = 58
Ki = 21
Pi = (Ci - Ki) mod 83
= (58 - 21) mod 83 = 37
Nilai desimal dari angka 37 adalah huruf l
Huruf ke-11 pada ciphertext adalah a, kemudian huruf ke-11
pada kata kunci adalah A, sehingga:
Ci = 26
Ki = 0
Pi = (Ci - Ki) mod 83
= (26 - 0) mod 83 = 26
Nilai desimal dari angka 26 adalah huruf a
Huruf ke-12 pada ciphertext adalah v, kemudian huruf ke-12
pada kata kunci adalah N, sehingga:
Ci = 47
Ki = 13
Pi = (Ci - Ki) mod 83
= (47 - 13) mod 83 = 34
95
Nilai desimal dari angka 34 adalah huruf i
Huruf ke-13 pada ciphertext adalah s, kemudian huruf ke-13
pada kata kunci adalah I, sehingga:
Ci = 44
Ki = 8
Pi = (Ci - Ki) mod 83
= (44 - 8) mod 83 = 36
Nilai desimal dari angka 36 adalah angka k
Huruf ke-14 pada ciphertext adalah (*), kemudian huruf ke-14
pada kata kunci adalah V, sehingga:
Ci = 67
Ki = 21
Pi = (Ci - Ki) mod 83
= (67 - 21) mod 83 = 46
Nilai desimal dari angka 46 adalah huruf u
Huruf ke-15 pada ciphertext adalah m, kemudian huruf ke-15
pada kata kunci adalah A, sehingga:
Ci = 38
Ki = 0
Pi = (Ci - Ki) mod 83
= (38- 0) mod 83 = 38
Nilai desimal dari angka 38 adalah huruf m
96
Huruf ke-16 pada ciphertext adalah M, kemudian huruf ke-16
pada kata kunci adalah N, sehingga:
Ci = 12
Ki = 13
Pi = (Ci - Ki) mod 83
= (12- 13) mod 83 = (-1)
= 83 – 1 = 82
Nilai desimal dari angka (82) adalah huruf (spasi)
Huruf ke-17 pada ciphertext adalah a, kemudian huruf ke-17
pada kata kunci adalah I, sehingga:
Ci = 26
Ki = 8
Pi = (Ci - Ki) mod 83
= (26 - 8) mod 83 = 18
Nilai desimal dari angka 18 adalah huruf S
Huruf ke-18 pada ciphertext adalah z, kemudian huruf ke-18
pada kata kunci adalah V, sehingga:
Ci = 51
Ki = 21
Pi = (Ci - Ki) mod 83
= (51 - 21) mod 83 = 30
Nilai desimal dari angka 30 adalah karakter e
97
Huruf ke-19 pada ciphertext adalah l, kemudian huruf ke-19
pada kata kunci adalah A, sehingga:
Ci = 37
Ki = 0
Pi = (Ci - Ki) mod 83
= (37 - 0) mod 83 = 37
Nilai desimal dari angka 37 adalah huruf l
Huruf ke-20 pada ciphertext adalah n, kemudian huruf ke-20
pada kata kunci adalah N, sehingga:
Ci = 39
Ki = 13
Pi = (Ci - Ki) mod 83
= (39- 13) mod 83 = 26
Nilai desimal dari angka 26 adalah angka a
Huruf ke-21 pada ciphertext adalah u, kemudian huruf ke-21
pada kata kunci adalah I, sehingga:
Ci = 46
Ki = 8
Pi = (Ci - Ki) mod 83
= (46- 8) mod 83 =38
Nilai desimal dari angka 38 adalah huruf m
98
Huruf ke-22 pada ciphertext adalah v, kemudian huruf ke-22
pada kata kunci adalah V, sehingga:
Ci = 47
Ki = 21
Pi = (Ci - Ki) mod 83
= (47- 21) mod 83 = 26
Nilai desimal dari angka 26 adalah huruf a
Huruf ke-23 pada ciphertext adalah t, kemudian huruf ke-23
pada kata kunci adalah A, sehingga:
Ci = 45
Ki = 0
Pi = (Ci - Ki) mod 83
= (45 - 0) mod 84 = 45
Nilai desimal dari angka 45 adalah huruf t
Huruf ke-24 pada ciphertext adalah M, kemudian huruf ke-24
pada kata kunci adalah N, sehingga:
Ci = 12
Ki = 13
Pi = (Ci - Ki) mod 83
= (12- 13) mod 83 = -1
= 83 – 1 = 82
Nilai desimal dari angka 82 adalah huruf (spasi)
99
Huruf ke-25 pada ciphertext adalah X, kemudian huruf ke-25
pada kata kunci adalah I, sehingga:
Ci = 23
Ki = 8
Pi = (Ci - Ki) mod 83
= (23 - 8) mod 83 = 15
Nilai desimal dari angka 15 adalah huruf P
Huruf ke-26 pada ciphertext adalah v, kemudian huruf ke-26
pada kata kunci adalah V, sehingga:
Ci = 47
Ki = 21
Pi = (Ci - Ki) mod 83
= (47 - 21) mod 83 = 26
Nilai desimal dari angka 26 adalah huruf a
Huruf ke-27 pada ciphertext adalah g, kemudian huruf ke-27
pada kata kunci adalah A, sehingga:
Ci = 32
Ki = 0
Pi = (Ci - Ki) mod 83
= (32 - 0) mod 83 = 32
Nilai desimal dari angka 32 adalah angka g
Huruf ke-28 pada ciphertext adalah v, kemudian huruf ke-28
pada kata kunci adalah N, sehingga:
100
Ci = 47
Ki = 13
Pi = (Ci - Ki) mod 83
= (47 - 13) mod 83 = 34
Nilai desimal dari angka 34 adalah angka i
Terbukti, hasil dari proses dekripsi diatas, didapatkan plaintext
seperti dibawah ini:
Assalamualaikum Selamat Pagi
4.3.3.2 Pengujian Ukuran File yang Dihasilkan
Pada tahapan ini dilakukan pengujian terhadap ukuran file yang dihasilkan
pada saat proses encoding atau penyembunyian teks dilakukan.
Tabel 4.14 Hasil Pengujian terhadap ukuran file yang dihasilkan NO Ukuran gambar awal Ukuran gambar setelah disisipkan pesan
1 79.60 KB 183 KB
2 116 KB 275 KB
3 116 KB 270 KB
4 123 KB 184 KB
5 136 KB 273 KB
6 145 KB 329 KB
7 189 KB 427 KB
8 195 KB 545 KB
9 210 KB 324 KB
101
10 798 KB 1.83 MB
Dari data di atas dilakukan pengujian dengan menginput pesan pada 10
macam gambar sebanyak 50 karakter didapatkan ukuran gambar yang berbeda-
beda sebelum gambar disisipkan dengan teks yang telah terenkripsi dengan
gambar yang sudah disisipkan oleh teks yang telah terenkripsi.
4.3.3.3 Pengujian kualitas gambar
Dalam pengujian kulitas gambar ini dilakukan dengan metode PSNR
(Peak Signal to Noise Ratio). PSNR merupakan perbandingan antara nilai
maksimum dari sinyal yang diukur dengan besarnya derau yang berpengaruh pada
sinyal tersebut. PSNR biasanya diukur dalam satuan desibel. Pada tugas akhir kali
ini, PSNR digunakan untuk mengetahui perbandingan kualitas citra sebelum dan
sesudah disisipkan pesan. Untuk menentukan PSNR, terlebih dahulu harus
ditentukan nilai rata-rata kuadrat dari error (MSE - Mean Square Error).
Perhitungan MSE adalah sebagai berikut :
��� =1
���||�(�, �) − �(�, �)||��
�
Dimana :
MSE = Nilai Mean Square Error dari citra tersebut
m = panjang citra tersebut (dalam piksel)
n = lebar citra tersebut (dalam piksel)
(i,j) = koordinat masing-masing piksel
I = nilai bit citra pada koordinat i,j
102
K = nilai derajat keabuan citra pada koordinat i,j
Sementara nilai PSNR dihitung dari kuadrat nilai maksimum
sinyal dibagi dengan MSE. Apabila diinginkan PSNR dalam desibel,
maka nilai PSNR akan menjadi sebagai berikut :
���� = 10 ∙ log �����
�
���� = 20 ∙ ��� �
�����
√ ����
Dimana :
PSNR = nilai PSNR citra (dalam dB)
MAXi = nilai maksimum piksel
MSE = nilai MSE
Dari persamaan di atas akan didapatkan nilai PSNR yang dapat
membandingkan antara kualitas gambar asli (Cover image) dengan
gambar hasil proses steganografi (Stego image). Dengan
membandingkan kedua gambar tersebut, maka akan diketahui
penurunan kualitas gambar yang dihasilkan.
Berikut ini adalah hasil perhitungan PSNR dengan bantuan
tools PhotoDefiner PSNR Calculator :
Tabel 4.1.5 Hasil Pengukuran PSNR NO Pixel Cover-
image
Ukuran Cover-image
Ukuran File teks
Pixel Stego-
image PSNR
1 320x320 Pixel 145 KB 205 B 320x320 Pixel 48.033 db
2 600x800 Pixel 48.68 KB 179 B 600x800 Pixel 54.037 db
103
3 604x453 Pixel 39.91 KB 185 B 604x453 Pixel 53.592 db
4 600x849 Pixel 135 KB 190 B 600x849 Pixel 53.503 db
5 720x540 Pixel 60.22 KB 190 B 720x540 Pixel 53.616 db
6 1280x720 Pixel 960 KB 125 B 1280x720 Pixel 10.174 db
7 1280x720 Pixel 1.04 MB 310 B 1280x720 Pixel 55.884 db
8 960x539 Pixel 52.83 KB 205 B 960x539 Pixel 53.859 db
9 1276x827 Pixel 698 KB 190 B 1276x827 Pixel 47.017 db
10 1920x1080
Pixel
876 KB 188 B 1920x1080
Pixel
48.033 db
Dari hasil perhitungan di atas diketahui bahwa semakin besar ukuran file
teks yang disisipkan maka akan semakin besar pula penurunan kualitas pada
stego-image. Hal ini disebabkan karena semakin besar tingkat penyisipan bit-bit
file teks terhadap bit-bit significant pada gambar, sehingga mengakibatkan
penurunan kualitas gambar yang dihasilkan.
104
BAB V
PENUTUP
5.1. KESIMPULAN
Berdasarkan hasil pengujian yang penulis lakukan untuk mengetahui seberapa
baik performansi pada aplikasi Kripsteno ini didapat hasil sebagai berikut.
Pengujian terhadap kata kunci
Pada pengujian ini bertujuan untuk mengetahui seberapa akurat kunci
dalam mengirim dan menerima pesan, dan hasil yang didapat adalah bahwa pada
kunci yang dihitung secara manual melalui rumus vigenere cipher (Ci = ( Pi + Ki
) mod 83) sama atau cocok seperti hasil kunci yang diinput pada aplikasi
Kripsteno ini. Begitu juga sebaliknya saat proses dekripsi.
Pengujian terhadap hasil ukuran sebelum dan sesudah proses
Pada pengujian ini bertujuan untuk mengetahui apakah ukuran file yang
dikirim dan diterima mempunyai ukuran yang sama. Dan hasil yang didapat
ukuran file yang dikirim maupun di diterima mempunyai ukuran yang berbeda,
hal ini dipengaruhi oleh panjang isi pesan yang dimasukkan, seperti contoh
penulis melakukan pengujian terhadap file gambar yang berukuran 79.60Kb
dengan penyisipan 50 karakter dan hasil yang didapat pada proses tersebut adalah
105
file dengan ukuran 183Kb, dan perbedaan antara ukuran ini tidak mempengaruhi
isi pesan yang diterima.
Pengujian terhadap kualitas pada gambar
Pada pengujian ini bertujuan untuk mengetahui apakah file gambar hasil enkripsi
dan encoding mengalami perubahan. Pengujian ini dilakukan dengan metode
PSNR (Peak Signal to Noise Ratio). PSNR merupakan perbandingan antara nilai
maksimum dari sinyal yang diukur dengan besarnya derau yang berpengaruh pada
sinyal tersebut. Nilai PSNR dihitung dari kuadrat nilai maksimum sinyal dibagi
dengan MSE atau dengan rumus
���� = 10 ∙ log �����
�
���� = 20 ∙ ��� �
�����
√ ����
Penulis melakukan pengujian PSNR menggunakan tools photo definer, dari hasil
pengujian tersebut ,sebuah file gambar dengan ukuran pixel 320x320 Pixel,ukuran
size gambar 145Kb dan ukuran pesan yang dimasukkan adalah 205B ,didapat
hasil 48.033 db ,semakin besar nilai PSNR maka semakin baik kualitas
gambarnya dan file hasil enkripsi dan encoding tersebut secara kasat mata tidak
terdapat perbedaan pada kualitas gambar.
106
5.2. SARAN
Dalam perancangan aplikasi ini, masih terdapat banyak kekurangan. Oleh
sebab itu, penulis merekomendasikan saran-saran sebagai berikut:
1. Dalam pengembangan aplikasi pengamanan terhadap teks
berikutnya agar bisa lebih dikembangkan dengan mengkombinasikan
dengan algoritma-algoritma lain yang bisa digunakan untuk mengenkripsi
pesan teks seperti RC6 dan A5 ,dan juga mengencode dengan metode selain
algoritma LSB sehingga kriptoanalis akan lebih sulit untuk memecahkan
kunci enkripsi dari pesan teks yang telah dibuat dan dapat dibandingkan
kelebihan dan kelemahan masing-masing di dalam aplikasi tersebut.
2. Dalam pengembangan aplikasi pengamanan tersebut, agar dapat
lebih dikembangkan fasilitas yang lain seperti fasilitas share ke berbagai
aplikasi media sosial atau instant messeger lainnya.
3. Diharapkan aplikasi kriptsteno ini dapat diimplementasikan
diberbagai platform lainnya.
xvi
DAFTAR PUSTAKA
Arfina, Eka Yani. 1995. Kamus Lengkap Bahasa Indonesia. Surabaya: Tiga Dua
Ariyus, Dony. 2009. Keamanan Multimedia. Yogyakarta : Andi
Cross, Jason. 2010 . Smartphones are now fully functional computers with a wide
variety of applications and services that are rapidly gobbling up users' time
and money. http://www.pcworld.com. 13-05-2013, pkl 21.00 WIB
Dharmatin, Deni. 2013. Perancangan Aplikasi Pengamanan Media Teks
Menggunakan Teknik Steganografi Metode Least Significant Bit (LSB) Pada
Citra Digital Berbasis Smartphone Android. Jakarta: Universitas Islam
Negeri Syarif Hidayatullah.
H, Nazruddin Safaat. 2013. Aplikasi Berbasis Android. Bandung: Informatika
Hariyanto, Bambang. 2009. Rekayasa Sistem Berorientasi Objek. Bandung:
Informatika.
Jamaludin. 2010. Aplikasi Pengamanan Informasi Menggunakan Teknik
Steganografi dengan Metode Least Significant Bit(LSB) Insertion dan RC4.
Jakarta: Universitas Islam Negeri Syarif Hidayatullah.
Kendall K.E & Kendall J.E. 2008. Systems Analysis and Design Seventh Edition.
New Jersey : Pearson International Edition
Lella, Adam. 2014. Smartphone subscriber market share. www.comscore.com.
13-05-2013, pkl 21.00 WIB
Munir, Rinaldi. 2006. Kriptografi. Bandung : Informatika.
xvii
Ninda, Intan. 2012. Implementasi Algoritma Vigenere Cipher Untuk Aplikasi
Enkripsi SMS Berbasis Android. Jakarta: Universitas Islam Negeri Syarif
Hidayatullah.
Nistanto, Reska K. 2014. Obrolan whatsapp ternyata bisa diintip.
http://tekno.kompas.com. 13-05-2014, pkl 21.00 WIB
Nugroho, Adi. 2005. Analisis dan Perancangan, Edisi Revisi. Bandung:
Informatika Bandung.
Pressman, Roger S. 2002. Rekayasa Perangkat Lunak, Edisi 1. Yogyakarta: Andi
S, Stephanus Hermawan. 2011. Mudah Membuat Aplikasi Android. Yogyakarta:
Andi
Sholahudin, Muhammad dan Ariani, Rosa. 2011. Model Pembelajaran Rekayasa
Perangkat Lunak (Terstruktur dan Berorientasi Objek). Bandung : Modula