PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

123
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

Transcript of PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

Page 1: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 2: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 3: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …
Page 4: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …
Page 5: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 6: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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)

Page 7: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 8: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 9: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 10: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 11: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 12: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 13: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 14: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 15: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

xv

DAFTAR LAMPIRAN

Lampiran 1. Surat Keterangan Bimbingan Skripsi .............................................L-1

Lampiran 2. Source Code Aplikasi .....................................................................L-2

Page 16: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 17: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 18: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 19: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 20: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 21: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 22: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 23: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 24: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 25: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 26: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 27: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 28: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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 :

Page 29: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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 :

Page 30: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 31: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 32: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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 :

Page 33: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 34: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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 :

Page 35: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 36: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 37: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 38: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 39: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 40: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 41: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 42: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 43: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 44: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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,

Page 45: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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,

Page 46: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 47: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 48: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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)

Page 49: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 50: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 51: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 52: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 53: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 54: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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 :

Page 55: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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)

Page 56: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 57: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 58: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 59: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

44

3.3 Alur Penelitian

Gambar 3.2 Alur Penelitian

Page 60: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 61: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 62: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 63: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 64: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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)

Page 65: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 66: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 67: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 68: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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,

Page 69: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 70: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 71: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 72: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 73: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 74: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 75: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

60

1. Activity diagram membuat pesan

Gambar 4.2 Activity Diagram membuat pesan

Page 76: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 77: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 78: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 79: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 80: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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 :

Page 81: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 82: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 83: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 84: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 85: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 86: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 87: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 88: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 89: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 90: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 91: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 92: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 93: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 94: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 95: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

80

Gambar 4.21 menu home Gambar 4.22 menu tulis pesan

Gambar 4.23 menu baca pesan

Page 96: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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:

Page 97: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 98: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 99: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 100: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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:

Page 101: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 102: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 103: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 104: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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:

Page 105: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 106: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 107: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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:

Page 108: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 109: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 110: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 111: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 112: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 113: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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)

Page 114: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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:

Page 115: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 116: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 117: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 118: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 119: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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

Page 120: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 121: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 122: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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.

Page 123: PENGEMBANGAN APLIKASI PENGAMANAN TEKS DENGAN …

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