IMPLEMENTASI METODE RC4 -...

221
APLIKASI KEAMANAN INFORMASI MENGGUNAKAN TEKNIK STEGANOGRAFI DENGAN METODE LEAST SIGNIFICANT BIT (LSB) INSERTION DAN RC4 JAMALUDIN 101091123281 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2010

Transcript of IMPLEMENTASI METODE RC4 -...

Page 1: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

APLIKASI KEAMANAN INFORMASI MENGGUNAKAN TEKNIK

STEGANOGRAFI DENGAN METODE LEAST SIGNIFICANT BIT (LSB)

INSERTION DAN RC4

JAMALUDIN

101091123281

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2010

Page 2: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

APLIKASI KEAMANAN INFORMASI MENGGUNAKAN TEKNIK

STEGANOGRAFI DENGAN METODE LEAST SIGNIFICANT BIT (LSB)

INSERTION DAN RC4

Oleh:

JAMALUDIN

101091123281

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

2010 M/1430 H

ii

Page 3: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

APLIKASI KEAMANAN INFORMASI MENGGUNAKAN TEKNIK

STEGANOGRAFI DENGAN METODE LEAST SIGNIFICANT BIT (LSB)

INSERTION DAN RC4

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar

Sarjana Komputer

Pada Fakultas Sains dan Teknologi UIN Jakarta

Oleh :

JAMALUDIN

101091123281

Menyetujui,

Pembimbing I Pembimbing II

Herlino Nanang, MT Zulfiandri, S.Kom, MMSI

NIP. 19731209 200501 1 002 NIP. 150 368 821

Mengetahui,

Ketua Prodi Teknik Informatika

Yusuf Durachman, MIT

NIP. 19710522 200604 1 002

iii

Page 4: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

PENGESAHAN UJIAN

Skripsi yang berjudul “Aplikasi Keamanan Informasi Menggunakan Teknik

Steganografi Dengan Metode Least Significant Bit (LSB) Insertion Dan

RC4”. Telah diuji dan dinyatakan lulus dalam sidang munaqosyah Fakultas Sains

dan Teknologi UIN Syarif Hidayatullah Jakarta, pada hari Kamis 14 Januari 2010.

skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar sarjana

strata satu (S1) pada jurusan Teknik Informatika.

Menyetujui,

Penguji I Penguji II

Arini, MT Dr. Agus Salim M. Si

NIP. 19760131 200901 2 001 NIP. 19720816 199903 1 003

Pembimbing I Pembimbing II

Herlino Nanang, MT Zulfiandri, S.Kom, MMSI

NIP. 19731209 200501 1 002 NIP. 150 368 821

Mengetahui,

Dekan Fakultas Sains dan Teknologi Ketua Prodi Teknik Informatika

Dr. Syopiansyah Jaya Putra, M.Sis Yusuf Durachman, MIT

NIP. 19681701 200112 1 001 NIP. 19710522 200604 1 002

iv

Page 5: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-

BENAR ASLI HASIL KARYA SENDIRI YANG BELUM PERNAH

DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA

PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.

Jakarta, Januari 2010

Jamaludin

101091123281

v

Page 6: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

ABSTRAK

JAMALUDIN (101091123281), Aplikasi Keamanan Informasi Menggunakan Teknik Steganografi Dengan Metode Least Significant Bit (LSB) Insertion Dan RC4. (Di bawah bimbingan Herlino Nanang dan Zulfiandri).

Steganografi merupakan ilmu dan seni yang mempelajari cara

penyembunyian pesan rahasia ke dalam suatu media sedemikian sehingga pihak ketiga tidak menyadari keberadaan pesan tersebut. Walaupun steganografi dapat dikatakan mempunyai hubungan yang erat dengan kriptografi, tapi metode ini sangat berbeda dengan kriptografi. Kriptografi mengacak pesan sehingga tidak dimengerti, sedangkan steganografi menyembunyikan pesan sehingga tidak terlihat. Dalam tugas akhir ini penulis menguraikan tentang teknik steganografi menggunakan metode Least Significant Bit Insertion (LSB Insertion) dimana data sebelumnya dienkripsi menggunakan metode RC4 dan proses pengembalian data tersebut seperti semula. Dari penelitian ini dihasilkan sebuah aplikasi yang dapat digunakan untuk menyembunyikan data dengan fomat (*.xls, *.doc, *.txt, *.pdf, dan *.ppt) dengan media gambar penyembunyi bitmap (*.bmp) serta dilakukan juga pengujian terhadap file yang disembunyikan atau media penyembunyi sebelum dan sesudah di encode/decode untuk mengetahui apakah terjadi perubahan pada file tersebut. Tujuan dari penelitian ini adalah penulis ingin membuat sebuah aplikasi yang dapat digunakan untuk melindungi keamanan suatu data dengan cara menyembunyikannya dibalik media gambar agar tidak menimbulkan kecurigaan, sehingga informasi atau data tersebut tidak mudah untuk diketahui orang lain/user yang tidak berhak, dan untuk lebih memperkenalkan teknik steganografi sebagai salah satu teknik pengamanan data Kata kunci : Steganografi, Kriptografi, RC4 5 bab, 162 halaman, 40 gambar, 5 tabel, 22 lampiran

vi

Page 7: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

KATA PENGANTAR

Assalamu’alaikum wa rahmatullahi wa barakatuh

Segala puji bagi Allah SWT yang telah melimpahkan hidayah, rahmah dan

maghfirah-Nya sehingga penulis dapat menyelesaikan pembuatan skripsi ini.

Selanjutnya shalawat serta salam penulis haturkan kepada Rasulullah SAW, yang

telah membawa amanah Islam dan membawa umatnya dari zaman kebodohan

yang gelap gulita menuju zaman yang penuh dengan cahaya hidayah Allah SWT.

Penulis mengucapkan terima kasih kepada pihak-pihak yang memberikan

bimbingan, bantuan, dan dukungan selama penyusunan dan pembuatan skripsi ini

berlangsung. Secara khusus saya ucapkan terima kasih kepada:

1. Bapak Bapak Herlino Nanang, MT dan Bapak Zulfiandri, S. Kom,

MMSI selaku pembimbing skripsi yang secara kooperatif, penuh

kesabaran dan keramahan, memberi nasihat dan saran-saran berharga

yang secara bijak membantu dan membimbing penulis dalam

penyelesaian skripsi ini.

2. Bapak DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas

Sains dan Teknologi.

3. Ayahanda dan Ibunda serta adik-adikku yang sangat penulis cintai dan

sayangi yang telah sekian lama membantu dan membimbing penulis

baik secara moril maupun materil dalam menjalani hidup ini.

4. Abdul Gofur ‘Opung’, Ajang Sofandi ’Zangse’, Umar Hayam Al-

Awali ‘Bulet’, Maway, Ruslan, Widi, dan Ahmad Farisi ‘Faransico’

vii

Page 8: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

selaku sahabat kost yang senantiasa memberikan masukan dan

dukungannya, terima kasih sahabat

5. Keluarga besar penulis yang yang telah turut memotivasi untuk

menyelesaikan kuliah di UIN Jakarta.

6. Teman-teman Teknik Informatika UIN Jakarta Angkatan 2001 kelas B

dan A yang tak bisa penulis sebutkan satu persatu yang telah penulis

anggap sebagai Keluarga besar kedua bagi penulis. Terima kasih atas

bantuan, dukungan moril, nasihat, curhat, kejahilan, serta menemani

dan menyemangati penulis dalam menjalani masa-masa kuliah di UIN

Jakarta ini. Semuanya sangat berkesan dan insya Allah tak terlupakan

sampai akhir nanti. Amien.

Pengalaman adalah guru yag paling bijak, sebagaimana kesalahan adalah

awal dari kesempurnaan, diiringi keteguhan, keyakinan, dan ketabahan untuk

terus memperjuangkan apa yang kita impikan. Itulah gambaran keseluruhan dari

apa yang saya dapatkan dalam penyusunan tugas akhir ini. Skripsi yang jauh dari

sempurna ini telah memberikan begitu banyak manfaat dan hikmat yang bisa saya

petik. Dan hal itu juga yang saya harapkan akan diperoleh dari siapapun yang

membacanya. Amin. Billahi taufik wal hidayah. Wassalamu’alaikum wa

rahmatullahi wa barakatuh.

Jakarta, Januari 2010

Penulis

viii

Page 9: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

DAFTAR ISI

Halaman

Halaman Sampul ........................................................................................ i

Halaman Judul ............................................................................................ ii

Halaman Persetujuan Pembimbing ............................................................ iii

Halaman Pengesahan ................................................................................. iv

Halaman Pernyataan ................................................................................... v

Abstraksi .................................................................................................... vi

Kata Pengantar ........................................................................................... vii

Daftar Isi .................................................................................................... ix

Daftar Tabel ............................................................................................... xvi

Daftar Gambar ............................................................................................ xvii

BAB I PENDAHULUAN ....................................................................... 1

1.1 Latar Belakang Masalah ....................................................... 1

1.2 Perumusan Masalah .............................................................. 2

1.3 Batasan Masalah ................................................................... 2

1.4 Tujuan Penulisan ................................................................... 3

1.5 Manfaat Penelitian ................................................................ 3

1.6 Metodelogi Penelitian .......................................................... 3

1.7 Sistematika Penulisan ........................................................... 4

ix

Page 10: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

BAB II LANDASAN TEORI .................................................................. 6

2.1 Keamanan data .................................................................... 6

1. Privacy / Confidentiality ..................................... 6

2. Integrity................................................................. 7

3. Authenticity........................................................... 7

4. Availability............................................................. 7

5. Access Control ....................................................... 8

2.2 Kriptografi ........................................................................... 8

2.2.1 Dasar matematis ........................................................ 10

2.2.2 Operasi Biner ............................................................ 11

2.2.3 RC4 ........................................................................... 12

2.3 Steganografi.......................................................................... 12

2.3.1 Kriteria Steganografi ................................................... 15

2.3.2 Teknik Penyembunyian Data ..................................... 16

2.3.2.1 Metode Least Significant Bit Insertion ......... 16

2.4 Perbedaaan Steganografi dan Kriptografi ........................... 18

2.5 Aplikasi, informasi dan aplikasi keamanan informasi ......... 19

2.6 File gambar........................................................................... 21

2.6.1 Bitmap........................................................................ 21

2.6.2 JPEG........................................................................... 22

2.6.3 GIF............................................................................... 22

2.7 Metode RAD........................................................................... 23

x

Page 11: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

2.8 Algoritma Program.................................................................. 24

2.8.1 Pseudoceode ................................................................ 24

2.8.2 Flow Chart .................................................................. 25

2.8.3 STD (State Transition Diagram)................................. 27

a. Modul .................................................................... 28

b. Tampilan Kondisi.................................................. 28

c. Tindakan (state transition)...................................... 29

2.9 Pengenalan Microsoft Visual Basic 6.0................................... 29

2.9.1 Mengenal Integrated Development Environment (IDE)

Microsoft Visual Basic 6.0....................................... 30

BAB III METODELOGI PENELITIAN .................................................. 34

3.1 Metode Pengumpulan Data ................................................. 34

a. Studi Pustaka ................................................................. 34

b. Literatur ......................................................................... 34

c. Diskusi ........................................................................... 35

3.2 Metode Pengembangan Sistem ............................................ 36

a. Fase Perencanaan Syarat-syarat .................................... 38

b. Fase Workshop Design ................................................. 38

c. Fase Implementasi ......................................................... 38

xi

Page 12: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

BAB IV ANALISIS PERANCANGAN PROGRAM

DAN IMPLEMENTASI............................................................. 39

4.1 Fase Perencanaan Syarat-Syarat ........................................ 39

4.2 Fase Workshop Design ...................................................... 40

4.2.1 Perancangan Algoritma.............................................. 40

1. Algoritma RC4 stream cipher ................................ 41

2. Algoritma Steganografi.......................................... 43

4.2.2 Perancangan Flowchart .............................................. 45

a. Flowchart layar login ............................................. 45

b. Flowchart layar menu utama.................................. 46

c. Flowchart layar menu encode................................. 47

d. Flowchart layar menu decode ................................ 51

e. Flowchart layar about............................................. 55

f. Flowchart layar help ............................................... 56

4.2.3 Perancangaan Antarmuka.......................................... 57

1. Form Login ....................................................... 57

2. Form utama ....................................................... 57

3. Form encode...................................................... 58

4. Form decode...................................................... 61

5. Form about ........................................................ 64

6. Form help .......................................................... 65

4.2.4 State Transition Diagram (STD) ............................... 67

4.3 Fase Implementasi.............................................................. 67

xii

Page 13: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

4.3.1 Sarana pendukung aplikasi......................................... 67

1. Perangkat Keras (Hardware) ........................... 67

2. Perangkat Lunak (Software) ............................. 68

4.3.2 Pengujian aplikasi stegSECURE ............................... 68

4.3.2.1 Format file dengan extention *.xls.................. 68

1. Proses encode file *.xls .................................... 70

2. Proses decode file *.xls .................................... 77

4.3.2.2 Format file dengan extention *.doc ................ 85

1. Proses encode file *.doc ................................... 87

2. Proses decode file *.doc ................................... 94

4.3.2.3 Format file dengan extention *.txt .................. 102

1. Proses encode file *.txt .................................... 104

2. Proses decode file *.txt .................................... 111

4.3.2.4 Format file dengan extention *.pdf ................. 119

1. Proses encode file *.pdf .................................... 121

2. Proses decode file *.pdf .................................... 128

4.3.2.5 Format file dengan extention *.ppt ................. 136

1. Proses encode file *.ppt .................................... 138

2. Proses decode file *.ppt .................................... 145

4.3.3 Analisis uji coba program .......................................... 153

BAB V PENUTUP

5.1 Kesimpulan .......................................................................... 159

xiii

Page 14: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

5.2 Saran ………………………………………………………. 159

DAFTAR PUSTAKA ................................................................................. 161

LAMPIRAN................................................................................................ 163

xiv

Page 15: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

DAFTAR TABEL

Halaman

2.1 Perbedaan steganografi dan kriptografi ............................................... 19

2.2 Simbol-simbol Flowchart ..................................................................... 26

3.1 Referensi literatur ................................................................................. 35

4.1 Gambar bitmap yang digunakan .......................................................... 68

4.2 Hasil proses encode/decode ................................................................. 158

xv

Page 16: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

DAFTAR GAMBAR

Halaman

2.1 Kunci simetris ……………………………………….…………….. 9

2.2 Kunci asimetris ……………………………………….……………. 10

2.3 Proses steganografi ……………………………………….………… 14

2.4 Perbedaan steganografi dan kriptografi …………………………….. 18

2.5 Contoh perubahan state …………………………….......................... 28

2.6 Notasi Modul ……………………………......................................... 28

2.7 Notasi Tampilan …………………………….................................... 28

2.8 Notasi Tindakan ……………………………..................................... 29

2.9 Pilih stantard pengembangan dengan bahasa VB ………………...... 31

2.10 Tampilan form aplikasi pemrograman VB 6.0 ……………….......... 32

2.11 Tools menu ………………................................................................ 33

2.12 Tampilan component ………………................................................. 33

3.1 Siklus pengembangan sistem model RAD ………………................ 37

4.1 Proses encode dan decode ………………......................................... 40

4.2 Flowchart layar login ………………................................................. 45

4.3 Flowchart layar utama ………………............................................... 46

4.4 Flowchart layar encode langkah1 ……………….............................. 47

4.5 Flowchart layar encode langkah2 ……………….............................. 48

4.6 Flowchart layar encode langkah3 ……………….............................. 49

4.7 Flowchart layar encode langkah4 ……………….............................. 50

xvi

Page 17: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

xvii

4.8 Flowchart layar decode langkah1 ……………….............................. 51

4.9 Flowchart layar decode langkah2 ……………….............................. 52

4.10 Flowchart layar decode langkah3 ……………….............................. 53

4.11 Flowchart layar decode langkah3 ……………….............................. 54

4.12 Flowchart layar about ………………................................................ 55

4.13 Flowchart layar help ……………….................................................. 56

4.14 Form login ………………................................................................. 57

4.15 Form utama ………………................................................................ 58

4.16 Form encode langkah1 ………………............................................... 59

4.17 Form encode langkah2 ………………............................................... 60

4.18 Form encode langkah3 ………………............................................... 60

4.19 Form encode langkah4 ………………............................................... 61

4.20 Form decode langkah1 ………………............................................... 62

4.21 Form decode langkah2 ………………............................................... 63

4.22 Form decode langkah3 ………………............................................... 63

4.23 Form decode langkah4 ………………............................................... 63

4.24 Form about ………………................................................................. 64

4.25 Form help ………………................................................................... 66

4.26 STD rancangan program ………………............................................. 67

4.27 Konfirmasi salah user name atau password ………………................ 69

Page 18: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Perkembangan teknologi informasi di era modern ini terasa begitu

pesat, hal ini dikarenakan adanya alat bantu (komputer) yang dapat

digunakan untuk memproses dan mengolah data. Kini komputer telah

dijadikan teknologi pokok dalam pengolahan dan penyajian informasi.

Sebuah perusahaan atau lembaga dapat membuat suatu keputusan yang tepat

dengan ditunjang aspek teknologi informasi yang diharapkan dapat

menangani permasalahan dengan cepat, akurat dan efisien.

Keamanan suatu informasi pada jaman global ini makin menjadi

sebuah kebutuhan vital dalam berbagai aspek kehidupan. Suatu informasi

akan memiliki nilai lebih tinggi apabila menyangkut tentang aspek-aspek

keputusan bisnis, keamanan, ataupun kepentingan umum. Dimana

informasi-informasi tersebut tentunya akan banyak diminati oleh berbagai

pihak yang juga memiliki kepentingan di dalamnya.

Untuk itu, salah satu cara pengamanan yang dapat dilakukan adalah

dengan mengunakan teknik steganografi, yang merupakan suatu teknik

menyembunyikan informasi dibalik cover media seperti teks, gambar, audio,

dan video sehingga informasi atau data yang sesungguhnya tidak terlihat dan

tidak menimbulkan kecurigaan bagi orang lain. Keamanan informasi akan

menjadi lebih tangguh dengan memadukan teknik steganografi dan

1

Page 19: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

kriptografi, dimana apabila informasi rahasia yang telah disembunyikan

dapat terdeteksi oleh pihak yang tidak bertanggung jawab, maka informasi

rahasia tersebut masih terlindungi oleh suatu metode kriptografi.

1.2. Perumusan Masalah

Dalam pelaksanaan tugas akhir ini terdapat beberapa permasalahan

yang menjadi titik utama pembahasan, diantaranya adalah sebagai berikut :

a. Bagaimana mekanisme pengamanan informasi menggunakan

teknik steganografi yang digabungkan dengan suatu metode

kriptografi.

b. Apakah terjadi perubahan dalam file, baik itu ukuran maupun

kualitas dengan dilakukan proses encoding dan decoding dalam

penyisipan informasi rahasia.

1.3. Batasan Masalah

Ada banyak cara yang dapat dilakukan untuk memproteksi informasi

atau data, tetapi dalam penulisan skripsi ini penulis membatasi hanya pada

seputar cara pengamanan informasi berupa dokumen dengan format (*.xls,

*.doc, *.txt, *.pdf, dan *.ppt) dengan menyembunyikannya pada suatu file

gambar bitmap (*.bmp) menggunakan teknik steganografi yang sebelumnya

telah dienkripsi dengan metode RC4 dan prosedur pengembalian data

tersebut ke bentuk aslinya.

2

Page 20: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

1.4. Tujuan dan Manfaat Penulisan

1.4.1. Tujuan

Tujuan dari penulisan skripsi ini adalah bahwa penulis ingin

membuat sebuah aplikasi yang dapat digunakan untuk melindungi

keamanan suatu data dengan cara menyembunyikannya dibalik

media gambar agar tidak menimbulkan kecurigaan, sehingga

informasi atau data tersebut tidak mudah untuk diketahui orang

lain/user yang tidak berhak, dan untuk lebih memperkenalkan teknik

steganografi sebagai salah satu teknik pengamanan data.

1.4.2. Manfaat

Adapun manfaat dari penyusunan skripsi ini adalah sebagai berikut :

1. Penulis lebih memahami tentang konsep keamanan data

menggunakan teknik steganografi dan kriptografi.

2. Memberikan sumbangan ilmiah bagi pengembangan keamanan

data dengan mengabungkan metode steganografi dan kriptografi.

1.5. Metodelogi Penelitian

Adapun metode penelitian untuk mengumpulkan data-data yang

diperlukan adalah sebagai berikut :

1. Studi Pustaka

3

Page 21: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Dilakukan dengan cara membaca dan mempelajari

buku-buku dan artikel yang berhubungan dengan keamanan data

khususnya tentang steganografi, serta buku-buku yang

mendukung dengan topik yang akan dibahas dalam penyusunan

skripsi ini.

2. Literatur

Mempelajari jurnal dan skripsi yang terkait dengan

keamanan data khususnya steganografi dan kriptografi.

3. Diskusi

Melakukan diskusi dengan dosen pembimbing dan

teman-teman serta orang-orang yang mengerti terhadap materi

bahasan agar mendapatkan bahan masukan untuk penyusunan

skripsi ini.

Setelah pengumpulan data, selanjutnya dilakukan pengembangan

aplikasi menggunakan metode RAD (Rapid Aplication Development) yang

terdiri dari beberapa fase yaitu fase perencanaan syarat, fase workshop

desain (perancangan dan konstruksi), dan fase implementasi.

1.6. Sistematika Penulisan

Dalam penyusunan skripsi ini, pembahasan yang penulis sajikan

terbagi dalam lima bab, yang secara singkat akan diuraikan sebagai berikut :

4

Page 22: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

5

BAB I PENDAHULUAN

Pada bab ini akan dijelaskan tentang latar belakang

permasalahan, perumusan masalah, ruang lingkup dan batasan

masalah, tujuan dan manfaat penulisan, metodologi penelitian,

serta sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi teori-teori yang digunakan dalam

penyusunan skripsi ini, keamanan data, kriptografi,

steganografi.

BAB III METODE PENELITIAN

Pada bab ini berisi mengenai metodologi perancangan

yang digunakan dalam membangun sistem ini.

BAB IV ANALISIS DAN PERANCANGAN PROGRAM

Pada bab ini berisi tentang analisa dan pembahasan

konsep pengembangan aplikasi, spesifikasi sistem yang

digunakan baik software maupun hardware, serta implementasi

dari program.

BAB V PENUTUP

Bab ini berisi kesimpulan dari apa yang sudah

diterangkan pada bab-bab sebelumnya, dan juga berisi saran-

saran perbaikan yang berhubungan dengan masalah yang

dibahas oleh penulis.

Page 23: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

BAB II

LANDASAN TEORI

2.1. Keamanan Data

Kemampuan untuk mengakses dan menyediakan informasi secara

cepat dan akurat menjadi sangat esensial bagi sebuah organisasi, baik yang

berupa organisasi komersial (perusahaan), perguruan tinggi, lembaga

pemerintahan maupun individual (pribadi). Masalah keamanan dan

kerahasiaan data merupakan salah satu aspek penting dari suatu informasi.

Dalam hal ini sangat terkait dengan betapa pentingnya informasi tersebut

dikirim dan diterima oleh orang yang berkepentingan. Informasi akan tidak

berguna lagi apabila ditengah jalan informasi itu disadap atau dibajak oleh

orang yang tidak berhak.

Dengan membuat sistem keamanan komputer maka kita akan

melindungi data agar tidak dapat dibaca oleh orang yang tidak berhak dan

mencegah agar orang yang tidak berhak tidak menyisipkan atau menghapus

data. Kita dapat memberikan batasan terhadap sistem dari orang yang tidak

berhak.

Secara umum keamanan komputer mencakup beberapa aspek

(Stiawan 2005:47-49), yaitu :

1. Privacy / Confidentiality

Inti utama aspek ini adalah usaha untuk menjaga informasi dari

orang yang tidak berhak mengakses. Privacy lebih kearah data-

6

Page 24: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

data yang sifatnya privat, sedangkan confidentiality biasanya

berhubungan dengan data yang diberikan ke pihak lain untuk

keperluan tertentu (misalnya sebagai bagian dari pendaftaran

sebuah servis) dan hanya diperbolehkan untuk keperluan tertentu.

2. Integrity

Aspek ini menekankan bahwa informasi tidak boleh diubah tanpa

seizin pemilik informasi. Informasi yang diterima harus sesuai

dan sama persis seperti saat informasi dikirimkan. Jika terdapat

perbedaan antara informasi atau data yang dikirim dengan yang

diterima maka aspek integrity tidak tercapai.

3. Authenticity

Aspek ini berhubungan dengan metode atau cara untuk

menyatakan bahwa informasi betul-betul asli, orang yang

mengakses atau memberikan informasi adalah betul-betul orang

yang dimaksud. Saat ini dengan perkembangan teknologi

informasi, terdapat beberapa metode authentication yang lebih

canggih dan aman seperti menggunakan retina mata, pengenalan

suara, dan telapak tangan pengguna.

4. Availability

Aspek ini behubungan dengan ketersediaan data dan informasi.

Data dan informasi yang berbeda dalam suatu sistem komputer

tersedia dan dapat dimanfaatkan oleh orang yang berhak.

7

Page 25: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

5. Access Control

Aspek ini berhubungan dengan cara pengaturan akses kepada

informasi. Hal ini biasanya berhubungan dengan klasifikasi data

(public, private, confidential, top secret) dan user (guest, admin,

top manager, dsb), mekanisme authentication dan juga privacy.

Access control seringkali dilakukan dengan menggunakan

kombinasi user id/password atau dengan menggunakan

mekanisme lain (seperti kartu, biometrics). Dengan cara ini maka

setiap user akan dibatasi sesuai dengan tingkat kebutuhannya.

2.2. Kriptografi

Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu

“Cryptos” artinya “secret” (rahasia) dan “graphein” artinya “writing”

(tulisan). Jadi, kriptografi berarti “secret writing” (tulisan rahasia). Definisi

yang dikemukakan dalam [SCH96] :

Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan.

(Cryptography is the art and sience of keeping message secure).

terdapat pula definisi yang di kemukakan di dalam [MEN96] :

Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika

yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan,

integritas data, serta otentikasi.

Munir (2006:3) dalam bukunya menjelaskan, data atau informasi

yang dapat dibaca dan dimengerti maknanya disebut plaintext. Plaintext

8

Page 26: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

yang tersandi disebut ciphertext. Ciphertext harus dapat ditransformasikan

kembali menjadi plaintext semula agar pesan yang diterima bisa dibaca.

Proses menyandikan plaintext menjadi ciphertext disebut enkripsi disebut

enkripsi (encryption) atau enciphering (standard nama menurut ISO 7498-

2). Sedangkan proses mengembalikan ciphertext menjadi plaintext semula

dinamakan dekripsi (decryption) atau deciphering (standard nama menurut

ISO 7498-2).

Algoritma kriptografi (cipher) dapat dibedakan menjadi dua macam,

yaitu : simetrik dan asimetrik. Algoritma simetrik (model enkripsi

konvensional) adalah algoritma yang menggunakan satu kunci untuk proses

enkripsi dan dekripsi data, contohnya adalah DES, Blowfish, GOST, AES

dan lain-lain. Sedangkan algoritma asimetrik (model enkripsi kunci publik)

menggunakan kunci yang berbeda dalam proses enkripsi dan dekripsi pesan,

contoh dari algoritma ini adalah RSA, El Gamal.

Dekripsi

Enkripsi

Plaintext Ciphertext

Kunci

Plaintext

Gambar 2.1 Kunci simetris

Sumber : Munir (2006:3)

9

Page 27: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Plaintext Ci

Kunci privat

Plaintext phertext

Kunci publik

Dekripsi

2.2.1. Dasar matematis

Konsep matematis yang mendasari proses enkripsi dan

dekripsi adalah relasi antara dua himpunan yaitu himpunan berisi

elemen plaintext dan himpunan berisi elemen ciphertext (Munir

2006:5-6). Enkripsi dan dekripsi merupakan fungsi yang memetakan

elemen-elemen antara kedua himpunan tersebut. Misalkan P

menyatakan plaintext dan C menyatakan ciphertext, maka fungsi

enkripsi E memetakan P ke C,

E(P) = C

Dan fungsi dekripsi D memetakan C ke P,

D(C) = P

Karena proses enkripsi-dekripsi bertujuan memperoleh

kembali data asal, maka :

D(E(P)) = P

Enkripsi

Gamb

Sumber

ar 2.2 Kunci asimetris

Munir (2006:3)

10

Page 28: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kunci (key) adalah parameter yang digunakan untuk

transformasi enciphering dan deciphering. Kunci biasanya berupa

string atau deretan bilangan. Degan menggunakan kunci K, maka

fungsi enkripsi dan dekripsi dapat ditulis sebagai

Ek(P) = C dan

Dk (C) = P

Dan kedua fungsi ini memenuhi

Dk(Ek(P)) = P

2.2.2. Operasi Biner

Operator biner yang sering digunakan dalam cipher yang

beroperasi dalam mode bit adalah XOR atau exlusive-or. Notasi

matematis untuk operator XOR adalah ⊕ (dalam bahasa C, operator

XOR dilambangkan dengan ^). Operator XOR dioperasikan pada dua

bit dengan aturan sebagai berikut (Munir 2006:99) :

0 ⊕ 0 = 0

0 ⊕ 1 = 1

1 ⊕ 0 = 1

1 ⊕ 1 = 0

Misalkan a, b, c adalah peubah Boolean. Hukum-hukum yang

terkait dengan operator XOR :

1) a ⊕ a = 0

2) a ⊕ b = b ⊕ a

11

Page 29: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

3) a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c

2.2.3. RC4

RC4 dibuat oleh Ron Rivest, penemu RSA, RC2, RC5, RC6,

MD2 dan MD5 pada tahun 1987 untuk perusahaannya, RSA Data

Security Inc. RC4 ini merupakan jenis stream cipher. Artinya operasi

enkripsi dilakukan per karakter 1 byte untuk sekali operasi.

Bandingkan dengan block cipher yang beroperasi pada data 1 blok (8

byte atau 16 byte) per operasi enkripsi. RC4 merupakan cipher OFB

(Output-Feedback Cipher). RC4 merupakan salah satu cipher yang

paling banyak digunakan di internet untuk pengamanan SSL. Secara

resmi, RC4 tidak pernah dipublikasikan. Namun pada bulan

September tahun 1994 seseorang yang tidak menyebutkan namanya

mengirimkannya ke internet algoritma detilnya sehingga menjadi

diketahui umum (Kurniawan 2004:93).

2.3. Steganografi

Steganografi berasal dari bahasa Yunani, “stegos” yang berati roof

(atap) atau covered (terlindungi) dan “graphia” yang berarti tulisan, jadi

steganografi berarti “tulisan tersembunyi”.Steganografi adalah ilmu dan seni

menyembunyikan data atau pesan didalam media lain sehingga keberadaan

pesan rahasia tersebut tidak dapat diketahui (Munir 2006:301-306).

12

Page 30: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Secara garis besar, teknik Steganografi adalah dengan cara

menyisipkan sepotong demi sepotong informasi pada sebuah media,

sehingga informasi tersebut tampak kalah dominan dengan media

pelindungnya.

Steganografi membutuhkan dua properti yaitu media penampung dan

pesan rahasia. Media penampung yang umum digunakan adalah gambar,

suara, atau video. Informasi yang disembunyikan dapat berupa sebuah

artikel, gambar, kode program, atau pesan lainnya.

Keuntungan steganografi dibandingkan dengan kriptografi adalah

bahwa informasi yang dikirim tidak menarik perhatian sehingga media

penampung yang membawa informasi tidak menimbulkan kecurigaan bagi

pihak ketiga. Ini berbeda dengan kriptografi dimana ciphertext menimbulkan

kecurigaan bahwa pesan tersebut merupakan pesan rahasia.

Terdapat beberapa istilah yang berkaitan dengan steganografi :

1) Hiddentext atau embed message : pesan yang disembunyikan.

2) Covertext atau cover-object : media yang digunakan untuk

menyembunyikan embed message..

3) Stegotext atu stego-object : media yang sudah berisi embed

message.

Penyisipan pesan ke dalam media covertext dinamakan encoding,

sedangkan ekstraksi pesan dari stegotext dinamakan decoding. Kedua proses

ini mungkin memerlukan kunci rahasia (yang dinamakan stegokey) agar

13

Page 31: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

hanya pihak yang berhak saja yang dapat melakukan penyisipan dan

ekstraksi pesan. memperlihatkan diagram penyisipan dan ekstraksi pesan.

(sumber : http://www.jjtc.com/, diakses bulan Juni 2006)

Zaman dahulu kegiatan ini sering dilakukan untuk menyampaikan

pesan-pesan rahasia. Misalnya pada aplikasi pertama bangsa Yunani yaitu

dengan cara mentato pesan rahasia dikulit kepala para pembawa pesan.

Sebelumnya kepala pembawa pesan tersebut digunduli terlebih dahulu

kemudian di tato. Setelah rambutnya tumbuh, maka pesan tadi tertutup oleh

rambut. Kemudian si pembawa pesan dilengkapi dengan pesan palsu

ditangannya sebagai umpan.

Pada abad 20, tinta yang tidak kelihatan telah digunakan secara luas.

Pada perang dunia II, orang-orang menggunakan susu, cuka, jus buah dan

urine untuk menulis pesan rahasia. Ketika dipanaskan, cairan ini menjadi

lebih gelap dan pesan dapat terbaca.

Gambar 2.3 Proses steganografi

14

Page 32: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Dengan Steganografi, informasi rahasia dapat disembunyikan

didalam potongan gambar yang tidak mencurigakan dan mengirimnya tanpa

seseorang mengetahui keberadaan dari informasi rahasia tersebut.

2.3.1. Kriteria Steganografi

Penyembunyian data rahasia ke dalam citra digital akan

mengubah kualitas citra tersebut. Kriteria yang harus diperhatikan

dalam penyembunyian data adalah (Munir 2006:307) :

1. Imperceptibility. Keberadaan pesan rahasia tidak dapat dipersepsi

oleh inderawi. Misalnya jika convertext berupa citra, maka

penyisipan pesan membuat citra stegotext sukar dibedakan oleh

mata dengan citra covertext-nya. Jika covertext berupa audio

(misalnya berkas mp3, wav, midi, dan sebagainya), maka indera

telinga tidak dapat mendeteksi perubahan pada audio stegotext-

nya.

2. Fidelity. Mutu media penampung tidak berubah banyak akibat

penyisipan. Perubahan tersebut tidak dapat dipersepsi oleh

inderawi. Misalnya, jika convertext berupa citra, maka

penyisipan pesan membuat citra stegotext sukar dibedakan oleh

mata dengan citra covertext-nya. Jika covertext berupa audio

(misalnya berkas mp3, wav, midi, dan sebagainya), maka audio

stegotext tidak rusak dan indera telinga tidak dapat mendeteksi

perubahan tersebut.

15

Page 33: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

3. Recovery. Data yang disembunyikan harus dapat diungkapkan

kembali (reveal). Karena tujuan steganografi adalah data hiding,

maka sewaktu-waktu pesan rahasia di dalam stegotext harus

dapat diambil kembali untuk digunakan lebih lanjut.

2.3.2. Teknik Penyembunyian Data

Teknik penyisipan data ke dalam covertext dapat dilakukan

dalam dua macam ranah :

1. Ranah spasial (waktu) (spatial/time domain)

Teknik ini memodifikasi langsung nilai byte dai covertext

(nilai byte dapat merepresentasikan intensitas/warna pixel

atau amplitudo). Contoh metode yang tergolong ke dalam

teknik ranah spasial adalah metode LSB.

2. Ranah transform (transform domain)

Teknik ini memodifikasi langsung hasil transformasi

frekuensi sinyal. Contoh metode yang tergolong ke dalam

teknik ranah frekuensi adalah spread spectrum.

2.3.2.1. Metode Least significant bit insertion (LSB insertion).

Metode LSB (Least significant bit) merupakan metode

steganografi yang paling mudah diimplementasikan. Untuk

menjelaskan metode ini kita menggunakan citra sebagai

covertext. Setiap pixel di dalam citra berukuran 1 sampai 3

byte. Pada susunan bit di dalam sebuah byte (1 byte = 8

bit), ada bit yang paling berarti (most significant bit atau

16

Page 34: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

MSB) dan bit yang paling kurang berarti (Least significant

bit atau LSB). Misalnya pada byte 11010010, bit 1 yang

pertama (digaris bawahi) adalah bit MSB dan bit 0 yang

terakhir (digaris bawahi) adalah bit LSB. Bit yang cocok

untuk diganti dengan bit pesan adalah bit LSB, sebab

modifikasi hanya mengubah nilai byte tersebut satu lebih

tinggi atau satu lebih rendah dari nilai sebelumnya.

Misalkan byte tersebut di dalam gambar memberikan

persepsi warna merah, maka perubahan satu bit LSB hanya

mengubah persepsi warna merah tidak terlalu berarti. Mata

manusia tidak dapat membedakan perubahan yang kecil ini.

Sebagai ilustrasi, misalkan segmen pixel-pixel citra

sebelum penambahan bit-bit watermark adalah

00110011 10100010 11100010 01101111

dan misalkan pesan rahasia (yang telah dikonversi ke

sistem biner) adalah 0111. setiap bit dari watermark

menggantikan posisi LSB dari segmen pixel-pixel citra

menjadi :

00110010 10100011 11100011 01101111

untuk membuat hiddentext tidak dapat dilacak, bit-bit pesan

tidak mengganti byte-byte yang berurutan, namundipilih

susunan byte secara acak. Misalkan jika terdapat 50 byte

dan 6 bit data yang akan disembunyikan, maka byte yang

17

Page 35: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

diganti bit LSB-nya dipilih secara acak, misalkan byte

nomor 36, 5, 21, 10, 18, 49.

2.4. Perbedaaan Steganografi dan Kriptografi

Steganografi sangat kontras dengan kriptografi. Jika kriptografi

merahasiakan makna pesan sementara eksistensi pesan tetap ada, maka

steganografi menutupi keberadaan pesan. Steganografi dapat dipandang

sebagai kelanjutan kriptografi dan dalam prakteknya pesan rahasia

dienkripsi telebih dahulu, kemudian ciphertext disembunyikan didalam

media lain sehingga pihak ketiga tidak menyadari keberadannya. Pesan

rahasia yang disembunyikan dapat diekstraksi kembali persis sama seperti

aslinya (Munir 2006:301). Hasil dari kriptografi biasanya berupa informasi

yang berbeda dari bentuk aslinya dan biasanya informasi seolah-olah

berantakan atau acak, sedangkan hasil keluaran steganografi memiliki

bentuk persepsi yang sama dengan bentuk aslinya.

(Sumber : http://www.jjtc.com/, diakses bulan Juni 2006)

Gambar 2.4 Perbedaan steganografi dan kriptografi

18

Page 36: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Dalam beberapa situasi, mengirimkan informasi yang dienkripsi

akan menimbulkan kecurigaan, sedangkan informasi yang tidak kelihatan

tidak menimbulkan kecurigaan.

(Sumber : http://www.infosecwriters.com, diakses bulan Juli 2006).

Tabel 2.1 Perbedaan steganografi dan kriptografi

Steganografi Kriptografi Keberadaan data atau informasi

tidak diketahui

Keberadaan data atau informasi

diketahui

Steganografi menyembunyikan

keberadaan komunikasi

Enkripsi mencegah pihak yang tidak

berhak melihat/merubah isi dari

komunikasi

Teknik yang belum banyak

digunakan Teknik sudah umum digunakan

Tekniknya masih terus

dikembangkan untuk beberapa

format data tertentu

Kebanyakan algoritma yang

digunakan sudah diketahui oleh

umum

Ketika informasi atau data

terdeteksi maka akan mudah untuk

diketahui

Algoritma yang tangguh akan sulit

untuk ditembus, harus mengeluarkan

biaya yang cukup mahal untuk dapat

menghancurkannya

Steganografi tidak merubah

struktur informasi rahasia

Kriptografi merubah struktur

informasi rahasia

2.5. Aplikasi, informasi dan aplikasi keamanan informasi

Perangkat lunak aplikasi adalah suatu subkelas perangkat lunak

komputer yang memanfaatkan kemampuan komputer langsung untuk

melakukan suatu tugas yang diinginkan pengguna.

19

Page 37: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Informasi adalah data yang telah diolah menjadi suatu bentuk yang

penting bagi si penerima dan mempunyai nilai yang nyata yang dapat

dirasakan dalam keputusan-keputusan yang sekarang atau keputusan-

keputusan yang akan datang.

Kebanyakan orang mungkin akan bertanya, mengapa “keamanan

informasi” dan bukan “keamanan teknologi informasi” atau IT Security.

Kedua istilah ini sebenarnya sangat terkait, namun mengacu pada dua hal

yang sama sekali berbeda. “Keamanan teknologi informasi” atau IT Security

mengacu pada usaha-usaha mengamankan infrastruktur teknologi informasi

dari tentunya, gangguan- gangguan berupa akses terlarang serta utilisasi

jaringan yang tidak diizinkan. Berbeda dengan “keamanan informasi” yang

fokusnya justru pada data dan informasi, yang dalam hal ini tentunya data

serta informasi milik perusahaan Pada konsep ini, usaha-usaha yang

dilakukan adalah merencanakan, mengembangkan serta mengawasi semua

kegiatan yang terkait dengan bagaimana data dan informasi bisnis dapat

digunakan serta diutilisasi sesuai dengan fungsinya serta tidak

disalahgunakan atau bahkan dibocorkan ke pihak-pihak yang tidak

berkepentingan. Berdasarkan penjelasan di atas, ‘kemananan teknologi

informasi’ merupakan bagian dari keseluruhan aspek ‘keamanan informasi’.

Karena teknologi informasi merupakan salah satu alat atau tool penting yang

digunakan untuk mengamankan akses serta penggunaan dari data dan

informasi perusahaan. Dari pemahaman ini pula, kita akan mengetahui

20

Page 38: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

bahwa teknologi informasi bukanlah satu-satunya aspek yang

memungkinkan terwujudnya konsep keamanan informasi di perusahaan.

2.6. File gambar

Pada komputer, gambar yang tampil di layar monitor merupakan

kumpulan array yang merepresentasikan intensitas cahaya yang bervariasi

pada pixel. Pixel adalah titik di layar monitor yang dapat diatur untuk

menampilkan warna tertentu. Pixel disusun di layar monitor dalam susunan

baris dan kolom. Susunan pixel dalam baris dan kolom ini yang dinamakan

resolusi monitor. Resolusi monitor yang sering dijumpai adalah 640x480,

800x600, 1024x768. Resolusi 640x480 akan menampilkan pixel sejumlah

640 baris dan 480 kolom, sehingga total pixel yang digunakan 640x480 =

307.200 pixel. Melalui pixel inilah suatu gambar dapat dimanipulasi untuk

menyimpan informasi yang akan digunakan sebagai salah satu

pengimplementasian steganografi. Steganografi pada media digital file

gambar digunakan untuk mengeksploitasi keterbatasan kekuatan sistem

penglihatan manusia dengan cara menurunkan kualitas warna pada file

gambar yang belum disisipi pesan rahasia. Sehingga dengan keterbatasan

tersebut manusia sulit menemukan gradasi penurunan kualitas warna pada

file gambar yang telah disisipi pesan rahasia.

2.6.1. Bitmap

Suyanto (2003 : 263) menjelaskan, gambar bitmap adalah

gambar yang tersimpan sebagai rangkaian pixel (titik-titik) yang

21

Page 39: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

memenuhi bidang titik-titik di layar komputer. Seluruh informasi

gambar dinyatakan dalam pixel. Untuk menampilkan gambar,

komputer akan mengatur tiap titik di layar sesuai dengan detil warna

bitmap. Kelemahannya, kita tidak dapat memperbesar atau

memperkecil resolusinya. Resolusinya bergantung pada gambar asli.

Ukuran file relatif besar, karena tersimpan dalam pixel, bukan dalam

instruksi untuk membuat gambar. Meskipun demikian gambar

bitmap mempunyai beberapa kelebihan, antara lain pengolahannya

minimal dan lebih cepat ditampilkan, karena gambar bitmap dapat

ditransfer secara langsung dari file ke layar monitor.

2.6.2. JPEG

Joint Photographic Experts Group (JPEG) adalah format

gambar yang banyak digunakan untuk menyimpan gambar-gambar

dengan ukuran lebih kecil. Beberapa karakteristik gambar JPEG :

• Memiliki ekstensi .jpg atau .jpeg.

• Mampu menayangkan warna dengan kedalaman 24-bit true color.

• Mengkompresi gambar dengan sifat lossy.

• Umumnya digunakan untuk menyimpan gambar-gambar hasil

foto.

2.6.3. GIF

Miano (1999:171), Graphics Interchange Format (GIF)

pertama kali diperkenalkan oleh CompuServe pada tahun 1987 dan

versi yang pertama disebut GIF87a. Spesifikasi ini didistibusikan

22

Page 40: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

secara cuma-cuma dan formatnya diadopsi secara bertahap pada

setiap aplikasi pengolah gambar. CompuServe kemudian merilis GIF

versi berikutnya yaitu GIF89a yang digunakan sebagai standar. Akan

tetapi kebanyakan gambar GIF yang digunakan adalah fitur GIF87a.

Karakteristik format gambar GIF adalah :

o Mampu menayangkan maksimum sebanyak 256 warna karena

menggunakan 8-bit untuk setiap pixel-nya.

o Mendukung berbagai macam gambar tiap file.

2.7. Metode RAD

Rapid Application Development (RAD) adalah salah satu metode

pengembangan suatu sistem informasi dengan waktu yang relatif singkat.

Sebagai contoh untuk pengembangan suatu sistem informasi yang normal

membutuhkan waktu minimal 180 hari, akan tetapi dengan menggunakan

metode RAD suatu sistem dapat diselesaikan hanya dalam waktu 30-90 hari.

Tahapan-tahapan pada RAD :

a. Fase Perencanaan Syarat-Syarat

Pada tahap ini dilakukan pengidentifikasian tujuan-tujuan aplikasi

atau sistem serta untuk mengidentifikasi syarat-syarat informasi yang

ditimbulkan dari tujuan-tujuan tersebut. Hal ini penulis uraikan sebagai

analisa terhadap sistem yang berjalan dan sistem yang akan diterapkan.

23

Page 41: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

b. Fase Workshop Design

Pada tahapan ini dilakukan perancangan proses yaitu perancangan

proses-proses yang akan terjadi di dalam aplikasi, perancangan alur

program, perancangan antarmuka yaitu perancangan antarmuka program,

serta dilakukan pengkodean terhadap rancangan-rancangan yang telah

didefinisikan.

c. Fase Implementasi

Setelah desain dari sistem yang akan dibuat sudah disetujui baik itu

oleh user dan analyst, maka pada tahap ini programmer

mengembangkan desain menjadi suatu program. Setelah program selesai

baik itu sebagian maupun secara keseluruhan, maka dilakukan proses

pengujian terhadap program tersebut apakah terdapat kesalahan atau

tidak sebelum diaplikasikan pada suatu organisasi. Pada saat ini maka

user bisa memberikan tanggapan akan sistem yang sudah dibuat serta

persetujuan mengenai sistem tersebut.

2.8. Algoritma Program

Algoritma program terdiri dari dua macam, yaitu pseudocode dan

flow chart (diagram alur).

2.8.1. Pseudoceode

Pseudo berarti imitasi dan code dihubungkan dengan

instruksi yang ditulis dalam bahasa komputer. Pseudocode

digunakan untuk menjembatani jurang antara bahasa sehari-hari

24

Page 42: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

programmer dengan bahasa komputer. Pseudocode merupkan suatu

bahasa yang memungkinkan programmer untuk berpikir terhadap

permasalahan yang harus dipecahkan tanpa harus memikirkan syntax

dari bahasa pemrograman tertentu. Tidak ada aturan penulisan syntax

di dalam Pseudocode. Jadi Pseudocode digunakan untuk

mengambarkan logika urutan dari program tanpa memandang

bagaimana bahasa pemrogramannya.

Setelah kode program dirancang dalam Pseudocode dan telah

diperiksa dan diteliti, baru dibuat program yang sebenarnya.

Biasanya kata-kata kunci (keywords) atau kata-kata cadangan

(reserved words) ditulis dengan huruf tebal (Hartono 1999:669).

2.8.2. Flow Chart

Hartono (1999:662) dalam bukunya menjelaskan, Bagan alir

program (program flowchart) adalah suatu bagan yang

menggambarkan arus logika dari data yang akan diproses dalam

suatu program dari awal sampai akhir. Bagan alir program

merupakan alat yang berguna bagi programmer untuk

mempersiapkan program yang rumit. Bagan alir terdiri dari simbol-

simbol yang mewakili fungsi-fungsi langkah program dan garis alir

(flowlines) menunjukkan urutan dari simbol-simbol yang akan

dikerjakan.

Berikut ini adalah simbol-simbol program flowchart

menurut ANSI (American National Standard Institute).

25

Page 43: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tabel 2.2 Simbol-simbol Flowchart

SIMBOL KEGUNAAN

Simbol yang menunjukkan pengolahan

yang dilakukan oleh komputer

Simbol yang menyatakan proses input

dan output tanpa tergantung dengan

jenis peralatannya.

Simbol untuk kondisi yang akan

menghasilkan beberapa kemungkinan

jawaban/aksi.

Simbol untuk permulaan atau akhir dari

suatu program.

Simbol untuk keluar atau masuk

prosedur atau proses dalam lembar yang

sama.

Menunjukkan bagan instruksi

selanjutnya

Simbol untuk menyatakan input berasal

Simbol proses

Simbol input-output

Simbol decision

Simbol terminal

Simbol connector

26

Page 44: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

dari dokumen dalam bentuk kertas atau

output dicetak di kertas.

Berisi catatan supaya mudah dimengerti

isi/tujuan algoritma atau uraian data

yang akan diproses.

Tanda hubung antara simbol flowchart

yang berbeda halaman.

Simbol document

Simbol catatan/keterangan

2.8.3. STD (State Transition Diagram)

State Transition Diagram merupakan suatu diagram yang

menggambarkan bagaimana state yang lain pada satu waktu. State

Transition Diagram menggambarkan suatu state yang mempunyai

kondisi dimana dapat menyebabkan perubahan satu state ke state

yang lain (Hoffer 1996:364).

State Transition Diagram pada dasarnya merupakan sebuah

diagram yang terdiri dari state dan transisi atau perpindahan state.

Transisi atau perpindahan state. Transisi atau perpindahan state

terdiri dari kondisi dan aksi. Transisi di antara kedua keadaan pada

umumnya disebabkan oleh suatu kondisi. Kondisi adalah suatu

kejadian yang dapat diketahui oleh sistem. Sedangkan aksi adalah

tindakan yang dilakukan oleh sistem apabila terjadi perubahan state

atau merupakan reaksi dari sistem.

27

Page 45: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Adapun perubahan atau simbol yang digunakan dalam

diagram ini adalah :

State 2

State 1

Aksi

Gambar 2.5 Contoh perubahan state

a. Modul

Menggunakan simbol lingkaran kecil (Gambar 2.6) yang

mewakili modul yang dipanggil apabila terjadi tindakan.

Gambar 2.6 Notasi Modul

b. Tampilan Kondisi

Merupakan layer yang ditampilkan menurut keadaan atau atribut,

untuk memenuhi suatu tindakan pada waktu tertentu yang

mewakili suatu bentuk keberadaan atau kondisi tertentu,

disimbolkan dengan gambar kotak (Gambar 2.7).

Gambar 2.7 Notasi Tampilan

28

Page 46: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

c. Tindakan (state transition)

Menggunakan simbol anak panah (Gambar 2.8) disertai

keterangan tindakan yang dilakukan.

Gambar 2.8 Notasi Tindakan

2.9. Pengenalan Microsoft Visual Basic 6.0

Microsoft Visual Basic adalah salah satu bahasa pemrograman

komputer. Bahasa pemrograman Visual Basic, yang dikembangkan oleh

Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya

yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Simbolic

Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic

merupakan salah satu Development Tool yaitu alat bantu untuk membuat

berbagai macam program komputer, khususnya yang menggunakan sistem

operasi Windows. Visual Basic merupakan salah satu bahasa pemrograman

komputer yang mendukung object (Object Oriented Programming = OOP).

Salah satu kelebihan dari VB adalah kemampuannya untuk

mengkompilasi program dalam bentuk Native Code, yaitu pada saat

processor mengkompilasi dan menjalankan program tersebut. Keuntungan

yang didapat dari native code adalah kecepatannya dalam mengakses

program, dimana hal ini hanya dapat kita temui pada aplikasi yang

dikompilasi dengan bahasa pemrograman C++.

29

Page 47: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selain itu juga VB mempunyai kemanpuan menyediakan fasilitas

antar muka penulisan kode program yang lebih mudah dimengerti dan

dipakai sehingga berbagai tipe program dapat dikembangkan didalamnya,

misalnya EXE, DLL, OCX, bahkan program-program yang berbasis

internet.

2.9.1. Mengenal Integrated Development Environment (IDE) Microsoft

Visual Basic 6.0

Semua fasilitas VB ditampilkan dalam bentuk Integrated

Development Environment (IDE). Beberapa kelebihan IDE VB

adalah sebagai berikut:

1. Dapat mengembangkan beberapa project sekaligus.

2. Memanajemen project dalam bentuk form, module, dan class.

3. Fasilitas informasi lengkap seperti; property, informasi dan tip

singkat.

4. Editor code program dengan fasilitas klik kanan untuk

melengkapi kode program yang ditulis sehingga memperkecil

kemungkinan terjadinya kesalahan dalam penulisan kode

program.

Dalam proses pengembangan program dengan bahasa VB

kita akan diminta untuk memilih New Project. Ada 3 tap pada New

Project, yaitu sebagai berikut:

1. New, kita dapat memilih tipe proyek yang akan kita bangun. Ada

beberapa tipe proyek yang dapat kita pilih, yaitu; (Stkitard EXE,

30

Page 48: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Active EXE, Active DLL, ActiveX Control, VB Application

Wizard, VB Wizard Manager, Data Project, ISS Application,

Addin, VB Enterprise Edition Control)

2. Existing, Kita memilih proyek yang sudah kita kerjakan

sebelumnya dan sudah tersimpan dalam komputer.

3. Recent VB menampilkan proyek-proyek yang paling sering kita

gunakan.

Aktifkan VB 6.0 melalui tombol Start > Programs >

Microsoft Visual Studio 6.0 > Microsoft Visual Basic 6.0. Tunggulah

beberapa saat hingga muncul tampilan berikut :

Gambar 2.9 Pilih stantard pengembangan dengan bahasa VB

Pilih Statard EXE dan klik tombol Open. Kita akan melihat

tampilan area kerja atau IDE VB 6. Kenali bagian-bagian utama di

dalam IDE VB 6 berikut ini :

31

Page 49: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Gambar 2.10 Tampilan form aplikasi pemrograman VB 6.0

1. Menubar

2. Toolbar

3. Toolbox. Bila Toolbox tidak muncul klik tombol Toolbox ( )

pada bagian Toolbar atau klik menu View > Toolbox.

4. Jendela Form. Bila Jendela Form tidak muncul klik tombol

View Object ( ) pada bagian Project Explorer atau klik menu

View > Object.

5. Jendela Code. Bila Jendela Code tidak muncul klik tombol View

Code ( ) di pada bagian Project Explorer atau klik menu View

> Code.

6. Project Explorer. Bila Project Explorer tidak muncul klik

tombol Project Explorer ( ) pada bagian. Toolbar atau klik

menu View > Project Explorer.

32

Page 50: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

7. Jendela Properties. Bila Jendela Properties tidak muncul klik

tombol Properties Window ( ) pada bagian Toolbar atau

klik menu View > Properties Window.

Gambar 2.11 Tools menu

Untuk menambah control tambahan dalam VB, gunakan kombinasi

tombol Ctrl+T.

Gambar 2.12 Tampilan component

33

Page 51: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

BAB III

METODE PENELITIAN

Seperti yang telah dibahas pada bab 1, dalam pembuatan aplikasi keamanan data

ini, ada beberapa tahapan yang dilakukan di antaranya :

3.1. Metode Pengumpulan Data

1. Studi Pustaka

Dilakukan dengan cara membaca dan mempelajari buku-buku dan

artikel yang berhubungan dengan keamanan data khususnya tentang

steganografi, serta buku-buku yang mendukung dengan topik yang akan

dibahas dalam penyusunan skripsi ini.

2. Literatur

Menggunakan beberapa jurnal dan skripsi yang terkait dengan

keamanan data khususnya steganografi dan kriptografi sebagai referensi

bagi penulis. Berikut list skripsi yang digunakan sebagai bahan referensi:

34

Page 52: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

3.1 Tabel referensi literatur

No Nama penulis Judul skripsi Tahun Fakultas

1 Chandra Wirawan Keamanan Data

Mengunakan Metode

Block Cipher (Des) Dan

Stream Cipher (Rc4)

2005 FST – UIN Jakarta

2 Yuni Dwi Astuti Teknik Pengamanan

Data Steganografi

Menggunakan Metode

Modifikasi Least

Significant Bit (LSB)

2005 FTI - Gunadarma

3 Dwi Intan Pertiwi Implemetasi Metode

Least Significant Bit

Pada Stegnografi

2006 FTI - Gunadarma

Berdasarkan beberapa referensi literatur diatas, penulis mencoba

untuk melakukan pengembangan dengan menggabungkan 2 metode

pengamanan data yaitu kriptografi (metode RC4) dan steganografi

(metode LSB Insertion).

3. Diskusi

Melakukan diskusi dengan dosen pembimbing dan teman-teman

serta orang-orang yang mengerti terhadap materi bahasan agar

mendapatkan bahan masukan untuk penyusunan skripsi ini.

35

Page 53: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

3.2. Metode Pengembangan Sistem

Pengembangan sistem dalam penelitian ini penulis lakukan

menggunakan tiga tahap siklus pengembangan model RAD (Rapid Aplication

Development), yaitu fase perencanaan syarat, fase workshop desain

(perancangan dan konstruksi), dan fase implementasi. Model RAD adalah

suatu pendekatan berorientasi objek terhadap pengembangan sistem yang

mencakup suatu metode pengembangan perangkat-perangkat lunak.

Tujuannya adalah mempersingkat waktu pengerjaan aplikasi serta proses

yang dihasilkan didapatkan secara cepat dan tepat. Syarat-syarat

menggunakan RAD adalah pihak perekayasa perangkat lunak telah

mengetahui dengan jelas kebutuhan user (pengguna) dengan tepat,

mengetahui proses-proses apa saja yang ada dalam perangkat lunak yang

dibuat, dan input-output yang dihasilkan.

Kendall (2003: 327), mengilustrasikan model RAD seperti pada (Gambar

3.1 ).

36

Page 54: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Fase Perencanaan Syarat-syarat

Menentukan

Tujuan dan syarat-syarat Informasi

Gambar 3.1 Siklus pengembangan sistem model RAD

Sumber : Kendall (2003: 327)

Membangun

Sistem

Fase Implementasi

Memperkenalkan

Sistem

Bekerja dengan Pengguna untuk

Sistem Perancangan

Fase KontruksiFase Perancangan

Umpan Balik Pengguna

Menggunakan masukkan dari

pengguna

37

Page 55: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

38

a. Fase Perencanaan Syarat-Syarat

Pada tahap ini dilakukan pengidentifikasian tujuan-tujuan

aplikasi atau sistem serta untuk mengidentifikasi syarat-syarat

informasi yang ditimbulkan dari tujuan-tujuan tersebut. Hal ini penulis

uraikan sebagai analisa terhadap sistem yang berjalan dan sistem yang

akan diterapkan.

b. Fase Workshop Design

Pada tahapan ini dilakukan perancangan proses yaitu

perancangan proses-proses yang akan terjadi di dalam aplikasi,

perancangan alur program, perancangan antarmuka yaitu perancangan

antarmuka program, serta dilakukan pengkodean terhadap rancangan-

rancangan yang telah didefinisikan.

c. Fase Implementasi

Pada tahap ini dilakukan pengujian terhadap sistem dan

melakukan pengenalan terhadap sistem kepada pengguna.

Page 56: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

BAB IV

ANALISIS PERANCANGAN PROGRAM DAN IMPLEMENTASI

Dalam perancangan dan pengembangan aplikasi keamanan data ini penulis

menggunakan metode RAD (Rapid Application Development), yang terdiri dari

Tiga tahap yaitu: Fase perencanaan syarat-syarat, Fase workshop desain, dan Fase

implementasi.

4.1. Fase Perencanaan Syarat-Syarat

Keamanan merupakan salah satu aspek yang penting dalam sebuah

sistem informasi. Suatu informasi akan memiliki nilai lebih tinggi apabila

menyangkut tentang aspek-aspek keputusan bisnis, keamanan, ataupun

kepentingan umum. Banyak orang menyiasati bagaimana cara

mengamankan informasi yang dikomunikasikan agar tidak mudah di akses

oleh pihak yang tidak berwenang. Untuk mengantisipasi hal yang tidak

diinginkan tersebut maka perlu di buat suatu aplikasi yang dapat digunakan

untuk tujuan tersebut, yaitu dengan menggabungkan metode steganografi

dan kriptografi sebagai salah satu alternatif pengaman data yang lebih baik.

Syarat-syarat informasi yang diperlukan agar tujuan pengembangan

aplikasi ini bisa tercapai.

a. Pengetahuan metode steganografi (LSB insertion).

b. Pengetahuan metode kriptografi (RC4 stream cipher).

c. Pengetahuan bahasa pemrograman yang akan digunakan.

39

Page 57: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

4.2. Fase workshop desain

4.2.1. Perancangan Algoritma

Algoritma yang penulis kembangkan adalah menggabungkan metode

steganografi (LSB insertion) dan metode kriptogafi (RC4 strem cipher)

dalam mengencode dan mendecode file. Proses encode dan decode dapat

dilihat melalui gambar 4.1 di bawah ini :

40

Page 58: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

1. Algoritma RC4 stream cipher

Algoritma kriptografi RC4 merupakan salah satu algoritma

berjenis stream cipher. Algoritma ini akan memproses data dalam

ukuran byte demi byte (1 byte = 8 bit). Algoritma ini dapat melakukan

enkripsi dan dekripsi pada panjang data yang variabel atau dinamis tanpa

perlu adanya penambahan byte (padding).

Kunci utama RC4 maksimal sepanjang 2048 bit (256 byte),

namun yang biasa digunakan hanya sepanjang 40 bit atau 128 bit.

Sisanya (2048 – 40 = 2008 bit atau 2048 – 128 = 1920 bit) diisi dengan

perulangan kunci tersebut. Jadi jika kuncinya berupa 16 byte (128 bit) K

= 0123456789abcdef dimana setiap angka merupakan bilangan

hexadesimal maka byte ke-17 sampai byte ke-256 berisi K tersebut

secara berulang.

RC4 mempunyai sebuah S-Box, S0, S1, ... , S255, yang berisi

permutasi dari bilangan 0 sampai 255, dan permutasi merupakan fungsi

dari kunci K dengan panjang yang variabel. Langkah – langkah

algoritma kriptografi RC4 sebagai berikut :

1. Inisialisasi S-Box

• Isi S-Box secara berurutan, yaitu S0=0, S1=1, ... , S255=255.

• Lakukan padding kunci K sehingga panjang kunci K = 256.

• Lakukan pertukaran dan pengisian pada S-Boxdengan kunci K,

sebagai berikut :

j = 0

41

Page 59: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

for i = 0 to 255

j = (j + Si + Ki) mod 256

swap Si dan Sj

Fungsi swap merupakan fungsi yang menukarkan nilai S ke-i

dengan nilai S ke-j

2. Proses enkripsi atau dekripsi RC4 :

i = 0

j = 0

for idx = 0 to len-1

i = (i + 1) mod 256

j = (j + Si) mod 256

swap Si dan Sj

t = (Si + Sj) mod 256

k = St

buffidx = k XOR buffidx

Keterangan:

• buff merupakan pesan yang akan dienkripsi atau dekripsi

• len merupakan panjang dari buff

Hasil akhir dari proses di atas ialah buff yang berisi pesan yang telah

dienkripsi atau dekripsi.

42

Page 60: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

2. Algoritma Steganografi

Pada file gambar BMP 24 bit setiap pixel pada gambar terdiri

dari susunan tiga warna yaitu merah, hijau, biru ( RGB ) yang

masing-masing disusun oleh bilangan 8 bit ( 1 byte ) dari 0 sampai

255 atau dengan format biner 00000000 sampai 11111111. Informasi

dari warna biru berada pada bit pertama sampai bit delapan, dan

informasi warna hijau berada pada bit sembilan sampai dengan bit

16, sedangkan informasi warna merah berada pada bit 17 sampai

dengan bit 24. Metode penyisipan LSB (least significant bit) ini

adalah menyisipi pesan dengan cara mengganti bit ke 8, 16 dan 24

pada representasi biner file gambar dengan representasi biner pesan

rahasia yang akan disembunyikan. Dengan demikian pada setiap

pixel file gambar BMP 24 bit dapat disisipkan 3 bit pesan, misalnya

terdapat data raster original file gambar adalah sebagai berikut :

(00100111 11101001 11001000)

(00100111 11001000 11101001)

(11001000 00100111 11101001)

Dan nilai biner untuk A adalah 10000011. Sisipan nilai biner untuk

A dalam tiga pixel tersebut akan menghasilkan :

(00100111 11101000 11001000)

(00100110 11001000 11101000)

(11001000 00100111 11101001)

43

Page 61: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Bit-bit yang digaris bawahi hanya tiga perubahan secara

aktual dalam 8 byte yang digunakan. Secara rata-rata, LSB

membutuhkan hanya setengah bit dalam suatu perubahan gambar.

Kita dapat menyembunyikan data dalam least dan second least

significant bit dan mata manusia masih belum dapat

membedakannya.

Berikut algoritma steganografi LSB insertion :

1. Sepanjang jumlah huruf, lakukan langkah 2 sampai 4

2. Konversi huruf dalam pesan yang akan disisipkan menjadi biner

3. Baca informasi warna dari tiap pixel (pecah menjadi 3 : R, G ,B).

4. Tukar biner terakhir yang didapat dari pixel-pixel tersebut sesuai

dengan biner huruf yang akan disisipkan disisipkan.

Ukuran data yang akan disembunyikan bergantung pada

ukuran citra penampung. Pada citra 8-bit yang berukuran 256 × 256

pixel terdapat 65536 pixel, setiap pixel berukuran 1 byte. Setelah

diubah menajdi citra 24-bit, ukuran data bitmap menjadi 65536 × 3 =

196608 bit. Karena setiap byte hanya bisa menyembunyikan satu bit

di LSB-nya, maka ukuran data yang akan disembunyikan di dalam

citra adalah 196608/8 = 24576 byte. Semakin besar data

disembunyikan di dalam citra, semakin besar pula kemungkinan data

tersebut rusak akibat manipulasi pada citra penampung.

44

Page 62: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

4.2.2. Perancangan Flowchart

a. Flowchart layar login

Flowchart layar login yang terdapat di dalam aplikasi ini

diperlihatkan dalam gambar 4.2 berikut ini.

45

Page 63: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

b. Flowchart layar menu utama

Flowchart layar menu utama yang terdapat dalam system ini

diperlihatkan pada gambar 4.3 berikut ini.

46

Page 64: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

c. Flowchart layar menu encode

Flowchart layar menu encode yang terdapat dalam system ini

diperlihatkan pada gambar-gambar berikut ini.

47

Page 65: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

48

Page 66: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

49

Page 67: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

50

Page 68: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

d. Flowchart layar menu decode

Flowchart layar menu decode yang terdapat dalam system ini

diperlihatkan pada gambar-gambar berikut ini.

51

Page 69: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

52

Page 70: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

53

Page 71: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

54

Page 72: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

e. Flowchart layar about

Flowchart layar menu about yang terdapat dalam system ini

diperlihatkan pada gambar 4.12 berikut ini.

55

Page 73: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

f. Flowchart layar help

Flowchart layar menu help yang terdapat dalam system ini

diperlihatkan pada gambar 4.13 berikut ini.

56

Page 74: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

4.2.3. Perancangan Antarmuka

1. Form login

Form login berfungsi untuk verifikasi user yang berhak

mengakses aplikasi. Form ini menampilkan nama dari program

yang dibuat, User Name, Password, tombol Login, tombol Batal

dan juga berisi teks-teks keterangan.

Masukan nama user dan password

Password :

User :

LOGIN

Login Batal

Gambar 4.14 Form login

2. Form utama

Form Menu utama merupakan tampilan utama pada aplikasi

stegSECURE 1.0. Pada form ini terdapat 5 tombol utama yang

masing-masing mempuyai fungsi sebagai berikut :

• Tombol Encode : berfungsi untuk menampilkan form encode

• Tombol Decode : berfungsi untuk menampilkan form decode

• Tombol About : berfungsi untuk menampilkan form about

• Tombol Help : berfungsi untuk menampilkan form help

57

Page 75: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

• Tombol Exit : berfungsi untuk keluar dari form menu utama.

Untuk memperjelas rancangan Form Menu Utama dapat dilihat

pada gambar 4.15

x

Decode

Help

Exit

About

Encode

Gambar

Gambar 4.15 Form utama

3. Form encode

Form encode berfungsi untuk menginput gambar penyembunyi,

file yang akan diencode, password, serta menjalankan proses

encode. Tampilan yang menyerupai wizard memudahkan dalam

menjalankan aplikasi langkah demi langkah.

Form encode ini dilengkapi dengan 5 tombol yang mempunyai

fungsi sebagai berikut :

• Tombol Cari : berfungsi untuk menampilkan form lokasi file

• Tambol Batal : berfungsi untuk kembali ke form menu utama

58

Page 76: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

• Tombol Kembali : berfungsi untuk kembali ke menu

sebelumnya

• Tombol Lanjut : berfungsi untuk melanjutkan ke menu

berikutnya

• Tombol Encode : berfungsi untuk menjalankan proses encode

Untuk memperjelas rancangan Form Encode dapat dilihat pada

gambar-gambar berikut.

rjelas rancangan Form Encode dapat dilihat pada

gambar-gambar berikut.

xStegSECURE 1.0

Image Preview

Kembali Batal Lanjut Encode

Cari

File info File info File info File info

Pilih Gambar Penyembunyi (*.bmp) Langkah 1

Gambar 4.16 Form encode langkah1

59

Page 77: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

xStegSECURE 1.0

Gambar 4.18 Form encode langkah3

Kembali Batal Lanjut Encode

Masukan Password :

StegSECURE 1.0

Langkah 3

x

Password Min 6 Karakter, Max 8 Karakter

Gambar 4.17 Form encode langkah2

Kembali Batal Lanjut Encode

Cari

File info File info File info

Pilih File Yang Akan Disembunyikan : Langkah 2

60

Page 78: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

xStegSECURE 1.0

Langkah 4

Text info

Batal Kembali Lanjut Encode

Gambar 4.19 Form encode langkah4

4. Form decode

Form decode berfungsi untuk menginput gambar yang akan di

decode, gambar original sebagai stego key, password, serta

menjalankan proses decode. Tampilan yang menyerupai wizard

memudahkan dalam menjalankan aplikasi langkah demi langkah.

Form decode ini dilengkapi dengan 5 tombol yang mempunyai

fungsi sebagai berikut :

• Tombol Cari : berfungsi untuk menampilkan form lokasi file

• Tambol Batal : berfungsi untuk kembali ke form menu utama

• Tombol Kembali : berfungsi untuk kembali ke menu

sebelumnya

61

Page 79: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

• Tombol Lanjut : berfungsi untuk melanjutkan ke menu

berikutnya

• Tombol decode : berfungsi untuk menjalankan proses decode

Untuk memperjelas rancangan Form decode dapat dilihat pada

gambar-gambar berikut.

Image Preview

Kembali Batal Lanjut Decode

Cari

File info File info File info

Pilih Gambar Yang Akan Di Decode (*.bmp)

StegSECURE 1.0

Langkah 1

x

Gambar 4.20 Form decode langkah1

62

Page 80: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

xStegSECURE 1.0

Pilih Gambar Asli (Image Key) : Langkah 2

File info File info File info

Cari

Decode Lanjut Batal Kembali

Image Preview

Gambar 4.21 Form decode langkah2

xStegSECURE 1.0

Gambar 4.22 Form decode langkah3

Kembali Batal Lanjut Decode

Masukan Password : Langkah 3

63

Page 81: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

xStegSECURE 1.0

Langkah 4

Text info

Batal Kembali Lanjut Decode

Gambar 4.23 Form decode langkah4

5. Form about

Form about berisi tentang untuk apa program ini dibuat. Form

about ini dilengkapi dengan 1 tombol (Tombol OK) yang

mempunyai fungsi untuk menutup Form about.

stegSECURE 10

Text

Copyright @ 2008 UIN

OK

Gambar 4.24 Form about

64

Page 82: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

6. Form help

Form help berfungsi sebagai menu bantuan bagi pemakai yang

belum mengerti atau memahami cara mengunakan aplikasi

stegSECURE.

Form help ini dilengkapi dengan 6 tombol yang mempunyai fungsi

sebagai berikut:

• Tombol Hide : berfungsi untuk menyembuyikan tab Contens

dan Index

• Tambol Back : berfungsi untuk menampilkan kembali

halaman yang telah dibuka sebelumnya

• Tombol Print : berfungsi untuk mencetak halaman bantuan

yang ditampilkan

• Tombol Options

Memiliki beberapa fungsi, yaitu :

o Menampilkan dan menyembuyikan Tab

o Menampilkan halaman yang sebelumnya telah dibuka

(Back)

o Menampilkan halaman yang sesudah dibuka (Forword)

o Kembali kehalaman utama (Home)

o Menghentikan Proses (Stop)

o Merefresh program Help (Refresh)

o Menampilkan Internet Options

65

Page 83: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

• Tombol Contens : berfungsi untuk menampilkan Topik

bantuan

• Tombol Index : berfungsi untuk menampilkan Indek kata

yang biasa digunakan

Untuk memperjelas rancangan Form Help dapat dilihat pada

gambar 4.25

Gambar 4.25 Form help

Hide Back Options Print

Contents Index

66

Page 84: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

4.2.4. State Transition Diagram (STD)

4.3. Fase implementasi

4.3.1 Sarana pendukung aplikasi

1. Perangkat Keras (Hardware)

Perangkat keras untuk menjalankan aplikasi keamanan data ini

adalah suatu unit komputer dengan konfigurasi sebagai berikut:

a. Prosessor setara Pentium III ke atas.

b. Memori minimal 128 MB.

67

Page 85: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

c. Monitor dengan resolusi 1024 x 768 pixel

d. VGA minimal 8 MB.

e. Keyboard dan mouse.

2. Perangkat Lunak (Software)

Spesifikasi perangkat lunak dan sistem operasi yang digunakan

adalah sebagai berikut:

a. Sistem Operasi Windows 98/2000/NT/XP.

b. Microsoft Office 98/2000/XP/2003.

4.3.2 Pengujian aplikasi stegSECURE

Berikut pengujian aplikasi stegSECURE dengan menggunakan 3 file

gambar penyembunyi dengan ukuran dan dimensi yang berbeda.

Tabel 4.1 Gambar bitmap yang digunakan

Gambar Ukuran Dimensi

Thundercats 1.37 MB 800 x 600

Superman15 2.25 MB 1024 x 768

Gaya 7.88 MB 1913 x 1441

4.3.2.1. Format file dengan extention *.xls

Untuk menjalankan aplikasi stegSECURE dapat dilakukan dengan

beberapa cara yaitu :

a. Klik tombol Start pada menu Windows, lalu pilih All programs

kemudian plih stegSECURE

68

Page 86: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

b. Dengan cara mengklik dua kali pada shortcut stegSECURE

Setelah Executable file dipanggil dengan salah satu cara diatas, maka

akan ditampilkan pertama kali adalah layar login dari program.

Pada tampilan Login ini user terlebih dahulu harus memasukkan User

Name dan Password, bila syarat terpenuhi maka user akan ditampilkan

pada menu utama, sedangkan bila syarat tidak terpenuhi maka user

akan diberikan peringatan bahwa user name dan password anda salah.

Adapun syarat pengisisan dari User adalah “user” sedangkan untuk

Password adalah “masuk#”.

Gambar 4.27 Konfirmasi salah user name atau password

Setelah syarat terpenuhi maka tampilan layar Login akan ditutup dan

kemudian dilanjutkan dengan menampilkan layar Utama.

69

Page 87: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

1. Proses encode file *.xls

Untuk dapat masuk ke menu encode, hal yang harus dilakukan

adalah menekan tombol Encode pada menu utama. Berikut

tampilan form encode langkah1

70

Page 88: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu encode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan digunakan sebagai media

penyembunyi dengan menekan tombol Cari. Setelah itu tampil

kotak menu open dialog sebagai berikut :

71

Page 89: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan

jadikan media penyembunyi dengan cara pilih dan klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

pada file yang sudah dipilih, sehingga tampilan form encode

langkah1 menjadi seperti berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form encode langkah2

seperti gambar dibawah ini.

72

Page 90: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tentukan file yang ingin disembunyikan dengan menekan tombol

Cari atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

Pilih file yang akan disembunyikan dengan cara klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

73

Page 91: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

pada file yang sudah dipilih, sehingga tampilan form encode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form encode langkah3 seperti gambar

berikut :

74

Page 92: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password sesuai dengan ketentuan (password

karakter minimal 6 karakter, maksimal 8 karakter), lalu tekan

tombol Lanjut. Maka muncul form encode langkah4.

Pilih tombol Encode untuk melakukan proses encode sehingga

tampilannya menjadi seperti gambar berikut :

75

Page 93: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah proses encode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil encode.

Gunakan nama default pada File name yang muncul di kotak

dialog untuk mempermudah pada saat proses decode.

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK

76

Page 94: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form encode dan

kembali ke menu utama.

2. Proses decode file *.xls

Untuk dapat masuk ke menu decode, hal yang harus dilakukan

adalah menekan tombol Decode pada menu utama. Berikut

tampilan form encode langkah1.

77

Page 95: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu Decode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan di decode dengan menekan

tombol Cari. Setelah itu tampil kotak menu open dialog sebagai

berikut :

78

Page 96: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan di

decode dengan cara pilih dan klik pada salah satu file tersebut,

kemudian klik tombol Open atau klik dua kali pada file yang sudah

dipilih, sehingga tampilan form encode langkah1 menjadi seperti

berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form decode langkah2

seperti gambar dibawah ini.

79

Page 97: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih gambar asli (gambar original) dengan menekan tombol Cari

atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

80

Page 98: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, pilih gambar original sebagai stego

key agar proses dapat dilanjutkan dengan cara pilih dan klik pada

salah satu file tersebut, kemudian klik tombol Open atau klik dua

kali pada file yang sudah dipilih, sehingga tampilan form decode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form decode langkah3 seperti gambar

berikut :

81

Page 99: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password, sama seperti password yang diinput

pada saat proses encode. Jika password yang diinput tidak sama

seperti pada saat proses encode, maka file hasil decode tidak dapat

buka secara utuh (masih ter-enkripsi). Tekan tombol Lanjut, maka

muncul form encode langkah4

82

Page 100: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih tombol Decode untuk melakukan proses decode sehingga

tampilannya menjadi seperti gambar berikut :

Setelah proses decode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil decode.

Gunakan nama default pada File name yang muncul di kotak

dialog.

83

Page 101: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK, maka file hasil decode akan di simpan

sesuai dengan direktori yang tercantum di kotak dialog konfirmasi.

84

Page 102: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form decode dan

kembali ke menu utama.

4.3.2.2. Format file dengan extention *.doc

Untuk menjalankan aplikasi stegSECURE dapat dilakukan dengan

beberapa cara yaitu :

a. Klik tombol Start pada menu Windows, lalu pilih All programs

kemudian plih stegSECURE

b. Dengan cara mengklik dua kali pada shortcut stegSECURE

Setelah Executable file dipanggil dengan salah satu cara diatas, maka

akan ditampilkan pertama kali adalah layar login dari program.

85

Page 103: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada tampilan Login ini user terlebih dahulu harus memasukkan User

Name dan Password, bila syarat terpenuhi maka user akan ditampilkan

pada menu utama, sedangkan bila syarat tidak terpenuhi maka user

akan diberikan peringatan bahwa user name dan password anda salah.

Adapun syarat pengisisan dari User adalah “user” sedangkan untuk

Password adalah “masuk#”.

Gambar 4.27 Konfirmasi salah user name atau password

Setelah syarat terpenuhi maka tampilan layar Login akan ditutup dan

kemudian dilanjutkan dengan menampilkan layar Utama.

86

Page 104: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

1. Proses encode file *.doc

Untuk dapat masuk ke menu encode, hal yang harus dilakukan

adalah menekan tombol Encode pada menu utama. Berikut

tampilan form encode langkah1

87

Page 105: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu encode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan digunakan sebagai media

penyembunyi dengan menekan tombol Cari. Setelah itu tampil

kotak menu open dialog sebagai berikut :

88

Page 106: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan

jadikan media penyembunyi dengan cara pilih dan klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

pada file yang sudah dipilih, sehingga tampilan form encode

langkah1 menjadi seperti berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form encode langkah2

seperti gambar dibawah ini.

89

Page 107: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tentukan file yang ingin disembunyikan dengan menekan tombol

Cari atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

Pilih file yang akan disembunyikan dengan cara klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

90

Page 108: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

pada file yang sudah dipilih, sehingga tampilan form encode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form encode langkah3 seperti gambar

berikut :

91

Page 109: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password sesuai dengan ketentuan (password

karakter minimal 6 karakter, maksimal 8 karakter), lalu tekan

tombol Lanjut. Maka muncul form encode langkah4.

Pilih tombol Encode untuk melakukan proses encode sehingga

tampilannya menjadi seperti gambar berikut :

92

Page 110: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah proses encode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil encode.

Gunakan nama default pada File name yang muncul di kotak

dialog untuk mempermudah pada saat proses decode.

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK

93

Page 111: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form encode dan

kembali ke menu utama.

2. Proses decode file *.doc

Untuk dapat masuk ke menu decode, hal yang harus dilakukan

adalah menekan tombol Decode pada menu utama. Berikut

tampilan form encode langkah1.

94

Page 112: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu Decode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan di decode dengan menekan

tombol Cari. Setelah itu tampil kotak menu open dialog sebagai

berikut :

95

Page 113: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan di

decode dengan cara pilih dan klik pada salah satu file tersebut,

kemudian klik tombol Open atau klik dua kali pada file yang sudah

dipilih, sehingga tampilan form encode langkah1 menjadi seperti

berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form decode langkah2

seperti gambar dibawah ini.

96

Page 114: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih gambar asli (gambar original) dengan menekan tombol Cari

atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

97

Page 115: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, pilih gambar original sebagai stego

key agar proses dapat dilanjutkan dengan cara pilih dan klik pada

salah satu file tersebut, kemudian klik tombol Open atau klik dua

kali pada file yang sudah dipilih, sehingga tampilan form decode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form decode langkah3 seperti gambar

berikut :

98

Page 116: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password, sama seperti password yang diinput

pada saat proses encode. Jika password yang diinput tidak sama

seperti pada saat proses encode, maka file hasil decode tidak dapat

buka secara utuh (masih ter-enkripsi). Tekan tombol Lanjut, maka

muncul form encode langkah4

99

Page 117: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih tombol Decode untuk melakukan proses decode sehingga

tampilannya menjadi seperti gambar berikut :

Setelah proses decode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil decode.

Gunakan nama default pada File name yang muncul di kotak

dialog.

100

Page 118: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK, maka file hasil decode akan di simpan

sesuai dengan direktori yang tercantum di kotak dialog konfirmasi.

101

Page 119: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form decode dan

kembali ke menu utama.

4.3.2.3. Format file dengan extention *.txt

Untuk menjalankan aplikasi stegSECURE dapat dilakukan dengan

beberapa cara yaitu :

a. Klik tombol Start pada menu Windows, lalu pilih All programs

kemudian plih stegSECURE

b. Dengan cara mengklik dua kali pada shortcut stegSECURE

Setelah Executable file dipanggil dengan salah satu cara diatas, maka

akan ditampilkan pertama kali adalah layar login dari program.

102

Page 120: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada tampilan Login ini user terlebih dahulu harus memasukkan User

Name dan Password, bila syarat terpenuhi maka user akan ditampilkan

pada menu utama, sedangkan bila syarat tidak terpenuhi maka user

akan diberikan peringatan bahwa user name dan password anda salah.

Adapun syarat pengisisan dari User adalah “user” sedangkan untuk

Password adalah “masuk#”.

Gambar 4.27 Konfirmasi salah user name atau password

Setelah syarat terpenuhi maka tampilan layar Login akan ditutup dan

kemudian dilanjutkan dengan menampilkan layar Utama.

103

Page 121: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

1. Proses encode file *.txt

Untuk dapat masuk ke menu encode, hal yang harus dilakukan

adalah menekan tombol Encode pada menu utama. Berikut

tampilan form encode langkah1

104

Page 122: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu encode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan digunakan sebagai media

penyembunyi dengan menekan tombol Cari. Setelah itu tampil

kotak menu open dialog sebagai berikut :

105

Page 123: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan

jadikan media penyembunyi dengan cara pilih dan klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

pada file yang sudah dipilih, sehingga tampilan form encode

langkah1 menjadi seperti berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form encode langkah2

seperti gambar dibawah ini.

106

Page 124: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tentukan file yang ingin disembunyikan dengan menekan tombol

Cari atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

Pilih file yang akan disembunyikan dengan cara klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

107

Page 125: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

pada file yang sudah dipilih, sehingga tampilan form encode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form encode langkah3 seperti gambar

berikut :

108

Page 126: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password sesuai dengan ketentuan (password

karakter minimal 6 karakter, maksimal 8 karakter), lalu tekan

tombol Lanjut. Maka muncul form encode langkah4.

Pilih tombol Encode untuk melakukan proses encode sehingga

tampilannya menjadi seperti gambar berikut :

109

Page 127: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah proses encode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil encode.

Gunakan nama default pada File name yang muncul di kotak

dialog untuk mempermudah pada saat proses decode.

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK

110

Page 128: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form encode dan

kembali ke menu utama.

2. Proses decode file *.txt

Untuk dapat masuk ke menu decode, hal yang harus dilakukan

adalah menekan tombol Decode pada menu utama. Berikut

tampilan form encode langkah1.

111

Page 129: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu Decode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan di decode dengan menekan

tombol Cari. Setelah itu tampil kotak menu open dialog sebagai

berikut :

112

Page 130: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan di

decode dengan cara pilih dan klik pada salah satu file tersebut,

kemudian klik tombol Open atau klik dua kali pada file yang sudah

dipilih, sehingga tampilan form encode langkah1 menjadi seperti

berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form decode langkah2

seperti gambar dibawah ini.

113

Page 131: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih gambar asli (gambar original) dengan menekan tombol Cari

atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

114

Page 132: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, pilih gambar original sebagai stego

key agar proses dapat dilanjutkan dengan cara pilih dan klik pada

salah satu file tersebut, kemudian klik tombol Open atau klik dua

kali pada file yang sudah dipilih, sehingga tampilan form decode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form decode langkah3 seperti gambar

berikut :

115

Page 133: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password, sama seperti password yang diinput

pada saat proses encode. Jika password yang diinput tidak sama

seperti pada saat proses encode, maka file hasil decode tidak dapat

buka secara utuh (masih ter-enkripsi). Tekan tombol Lanjut, maka

muncul form encode langkah4

116

Page 134: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih tombol Decode untuk melakukan proses decode sehingga

tampilannya menjadi seperti gambar berikut :

Setelah proses decode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil decode.

Gunakan nama default pada File name yang muncul di kotak

dialog.

117

Page 135: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK, maka file hasil decode akan di simpan

sesuai dengan direktori yang tercantum di kotak dialog konfirmasi.

118

Page 136: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form decode dan

kembali ke menu utama.

4.3.2.4. Format file dengan extention *.pdf

Untuk menjalankan aplikasi stegSECURE dapat dilakukan dengan

beberapa cara yaitu :

a. Klik tombol Start pada menu Windows, lalu pilih All programs

kemudian plih stegSECURE

b. Dengan cara mengklik dua kali pada shortcut stegSECURE

Setelah Executable file dipanggil dengan salah satu cara diatas, maka

akan ditampilkan pertama kali adalah layar login dari program.

119

Page 137: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada tampilan Login ini user terlebih dahulu harus memasukkan User

Name dan Password, bila syarat terpenuhi maka user akan ditampilkan

pada menu utama, sedangkan bila syarat tidak terpenuhi maka user

akan diberikan peringatan bahwa user name dan password anda salah.

Adapun syarat pengisisan dari User adalah “user” sedangkan untuk

Password adalah “masuk#”.

Gambar 4.27 Konfirmasi salah user name atau password

Setelah syarat terpenuhi maka tampilan layar Login akan ditutup dan

kemudian dilanjutkan dengan menampilkan layar Utama.

120

Page 138: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

1. Proses encode file *.pdf

Untuk dapat masuk ke menu encode, hal yang harus dilakukan

adalah menekan tombol Encode pada menu utama. Berikut

tampilan form encode langkah1

121

Page 139: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu encode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan digunakan sebagai media

penyembunyi dengan menekan tombol Cari. Setelah itu tampil

kotak menu open dialog sebagai berikut :

122

Page 140: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan

jadikan media penyembunyi dengan cara pilih dan klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

pada file yang sudah dipilih, sehingga tampilan form encode

langkah1 menjadi seperti berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form encode langkah2

seperti gambar dibawah ini.

123

Page 141: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tentukan file yang ingin disembunyikan dengan menekan tombol

Cari atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

Pilih file yang akan disembunyikan dengan cara klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

124

Page 142: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

pada file yang sudah dipilih, sehingga tampilan form encode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form encode langkah3 seperti gambar

berikut :

125

Page 143: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password sesuai dengan ketentuan (password

karakter minimal 6 karakter, maksimal 8 karakter), lalu tekan

tombol Lanjut. Maka muncul form encode langkah4.

Pilih tombol Encode untuk melakukan proses encode sehingga

tampilannya menjadi seperti gambar berikut :

126

Page 144: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah proses encode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil encode.

Gunakan nama default pada File name yang muncul di kotak

dialog untuk mempermudah pada saat proses decode.

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK

127

Page 145: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form encode dan

kembali ke menu utama.

2. Proses decode file *.pdf

Untuk dapat masuk ke menu decode, hal yang harus dilakukan

adalah menekan tombol Decode pada menu utama. Berikut

tampilan form encode langkah1.

128

Page 146: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu Decode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan di decode dengan menekan

tombol Cari. Setelah itu tampil kotak menu open dialog sebagai

berikut :

129

Page 147: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan di

decode dengan cara pilih dan klik pada salah satu file tersebut,

kemudian klik tombol Open atau klik dua kali pada file yang sudah

dipilih, sehingga tampilan form encode langkah1 menjadi seperti

berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form decode langkah2

seperti gambar dibawah ini.

130

Page 148: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih gambar asli (gambar original) dengan menekan tombol Cari

atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

131

Page 149: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, pilih gambar original sebagai stego

key agar proses dapat dilanjutkan dengan cara pilih dan klik pada

salah satu file tersebut, kemudian klik tombol Open atau klik dua

kali pada file yang sudah dipilih, sehingga tampilan form decode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form decode langkah3 seperti gambar

berikut :

132

Page 150: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password, sama seperti password yang diinput

pada saat proses encode. Jika password yang diinput tidak sama

seperti pada saat proses encode, maka file hasil decode tidak dapat

buka secara utuh (masih ter-enkripsi). Tekan tombol Lanjut, maka

muncul form encode langkah4

133

Page 151: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih tombol Decode untuk melakukan proses decode sehingga

tampilannya menjadi seperti gambar berikut :

Setelah proses decode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil decode.

Gunakan nama default pada File name yang muncul di kotak

dialog.

134

Page 152: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK, maka file hasil decode akan di simpan

sesuai dengan direktori yang tercantum di kotak dialog konfirmasi.

135

Page 153: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form decode dan

kembali ke menu utama.

4.3.2.5. Format file dengan extention *.ppt

Untuk menjalankan aplikasi stegSECURE dapat dilakukan dengan

beberapa cara yaitu :

a. Klik tombol Start pada menu Windows, lalu pilih All programs

kemudian plih stegSECURE

b. Dengan cara mengklik dua kali pada shortcut stegSECURE

Setelah Executable file dipanggil dengan salah satu cara diatas, maka

akan ditampilkan pertama kali adalah layar login dari program.

136

Page 154: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada tampilan Login ini user terlebih dahulu harus memasukkan User

Name dan Password, bila syarat terpenuhi maka user akan ditampilkan

pada menu utama, sedangkan bila syarat tidak terpenuhi maka user

akan diberikan peringatan bahwa user name dan password anda salah.

Adapun syarat pengisisan dari User adalah “user” sedangkan untuk

Password adalah “masuk#”.

Gambar 4.27 Konfirmasi salah user name atau password

Setelah syarat terpenuhi maka tampilan layar Login akan ditutup dan

kemudian dilanjutkan dengan menampilkan layar Utama.

137

Page 155: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

1. Proses encode file *.ppt

Untuk dapat masuk ke menu encode, hal yang harus dilakukan

adalah menekan tombol Encode pada menu utama. Berikut

tampilan form encode langkah1

138

Page 156: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu encode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan digunakan sebagai media

penyembunyi dengan menekan tombol Cari. Setelah itu tampil

kotak menu open dialog sebagai berikut :

139

Page 157: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan

jadikan media penyembunyi dengan cara pilih dan klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

pada file yang sudah dipilih, sehingga tampilan form encode

langkah1 menjadi seperti berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form encode langkah2

seperti gambar dibawah ini.

140

Page 158: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tentukan file yang ingin disembunyikan dengan menekan tombol

Cari atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

Pilih file yang akan disembunyikan dengan cara klik pada salah

satu file tersebut, kemudian klik tombol Open atau klik dua kali

141

Page 159: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

pada file yang sudah dipilih, sehingga tampilan form encode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form encode langkah3 seperti gambar

berikut :

142

Page 160: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password sesuai dengan ketentuan (password

karakter minimal 6 karakter, maksimal 8 karakter), lalu tekan

tombol Lanjut. Maka muncul form encode langkah4.

Pilih tombol Encode untuk melakukan proses encode sehingga

tampilannya menjadi seperti gambar berikut :

143

Page 161: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah proses encode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil encode.

Gunakan nama default pada File name yang muncul di kotak

dialog untuk mempermudah pada saat proses decode.

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK

144

Page 162: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form encode dan

kembali ke menu utama.

2. Proses decode file *.ppt

Untuk dapat masuk ke menu decode, hal yang harus dilakukan

adalah menekan tombol Decode pada menu utama. Berikut

tampilan form encode langkah1.

145

Page 163: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Setelah menu Decode ditampilkan, maka yang harus dilakukan

adalah mencari gambar yang akan di decode dengan menekan

tombol Cari. Setelah itu tampil kotak menu open dialog sebagai

berikut :

146

Page 164: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, tentukan file bitmap yang akan di

decode dengan cara pilih dan klik pada salah satu file tersebut,

kemudian klik tombol Open atau klik dua kali pada file yang sudah

dipilih, sehingga tampilan form encode langkah1 menjadi seperti

berikut :

Tekan tombol Lanjut untuk meneruskan langkah berikutnya atau

tekan tombol Batal untuk kembali ke menu utama. Setelah

menekan tombol Lanjut, maka muncul form decode langkah2

seperti gambar dibawah ini.

147

Page 165: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih gambar asli (gambar original) dengan menekan tombol Cari

atau tekan tombol Kembali jika ingin ke menu sebelumnya.

Setelah menekan tombol Cari, maka tampil kotak menu open

dialog sebagai berikut :

148

Page 166: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pada menu open dialog di atas, pilih gambar original sebagai stego

key agar proses dapat dilanjutkan dengan cara pilih dan klik pada

salah satu file tersebut, kemudian klik tombol Open atau klik dua

kali pada file yang sudah dipilih, sehingga tampilan form decode

langkah2 menjadi seperti berikut :

Berikutnya tekan tombol Lanjut untuk meneruskan ke langkah

berikutnya sehingga tampil form decode langkah3 seperti gambar

berikut :

149

Page 167: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kemudian isikan password, sama seperti password yang diinput

pada saat proses encode. Jika password yang diinput tidak sama

seperti pada saat proses encode, maka file hasil decode tidak dapat

buka secara utuh (masih ter-enkripsi). Tekan tombol Lanjut, maka

muncul form encode langkah4

150

Page 168: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Pilih tombol Decode untuk melakukan proses decode sehingga

tampilannya menjadi seperti gambar berikut :

Setelah proses decode selesai, maka akan muncul kotak dialog save

yang meminta user untuk menyimpan gambar hasil decode.

Gunakan nama default pada File name yang muncul di kotak

dialog.

151

Page 169: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Tekan tombol save, maka akan muncul kotak dialog konfirmasi

seperti gambar dibawah ini :

Kemudian klik tombol OK, maka file hasil decode akan di simpan

sesuai dengan direktori yang tercantum di kotak dialog konfirmasi.

152

Page 170: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Selanjutnya klik tombol Keluar untuk keluar dari form decode dan

kembali ke menu utama

4.3.3 Analisis uji coba program

Dari hasil uji coba dan implementasi yang telah dilakukan

maka hasil yang didapatkan sesuai dengan yang diharapkan, yaitu

dapat menyembunyikan file berformat (*.xls, *.doc, *.txt, *.pdf, dan

*.ppt). Format gambar yang digunakan sebagai media penyembunyi

dan gambar output (stego image) yang dihasilkan dari program

steganografi ini hanya berupa format *.BMP (bitmap) karena penulis

telah melakukan perbandingan menggunakan format gambar lain

(JPEG & GIF) sebagai media penyembunyi dan dengan

menyembunyikan file yang sama. Dari perbandingan tersebut dapat di

153

Page 171: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

ketahui bahwa format BMP memiliki kualitas yang lebih baik dari

gambar JPEG & GIF.

Menggunakan BMP : Sebelum encode

Sesudah encode

154

Page 172: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Menggunakan JPEG :

Sebelum encode

Sesudah encode

155

Page 173: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Menggunakan GIF :

Sebelum encode

Sesudah encode

156

Page 174: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Ukuran file penyembunyi dan file yang disembunyikan tidak

mengalami perubahan sebelum maupun setelah dilakukan proses

encode atau decode, sedangkan kualitas dari gambar penyembunyi

tergantung dari besarnya ukuran file yang akan disembunyikan,

semakin kecil ukurannya maka kualitas gambarnya akan semakin baik

tidak jauh berbeda dengan file aslinya. Berikut adalah tabelnya :

157

Page 175: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

158

Tabel 4.2 Hasil proses encode/decode

Sebelum proses encode Setelah proses encode/decode Gambar No

Nama file Ukuran Nama file Ukuran

1 USER PROD.txt 5 Kb decode.txt 5 Kb

2 Loading ATM.doc 80 Kb decode.doc 80 Kb

3 SEMINAR.ppt 90 Kb decode.ppt 90 Kb

4 ATM-PRINTER.xls 95 Kb decode.xls 95 Kb

Thundercats

1.37 MB

5 HARGA BAN.pdf 96 Kb decode.pdf 96 Kb

1 USER PROD.txt 5 Kb decode.txt 5 Kb

2 Loading ATM.doc 80 Kb decode.doc 80 Kb

3 SEMINAR.ppt 90 Kb decode.ppt 90 Kb

4 ATM-PRINTER.xls 95 Kb decode.xls 95 Kb

Superman15

2.25 MB

5 HARGA BAN.pdf 96 Kb decode.pdf 96 Kb

1 USER PROD.txt 5 Kb decode.txt 5 Kb

2 Loading ATM.doc 80 Kb decode.doc 80 Kb

3 SEMINAR.ppt 90 Kb decode.ppt 90 Kb

4 ATM-PRINTER.xls 95 Kb decode.xls 95 Kb

Gaya

7.88 MB

5 HARGA BAN.pdf 96 Kb decode.pdf 96 Kb

Secara umum dapat dikatakan bahwa program steganografi ini

dapat memenuhi standar penulis, yaitu dapat menyembunyikan file

dalam citra digital tanpa diketahui keberadaaannya oleh mata manusia

secara kasat mata.

Page 176: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

BAB V

PENUTUP

5.1 Kesimpulan

Berdasarkan pembahasan pada Bab-bab sebelumnya maka dapat

diperoleh kesimpulan sebagai berikut:

1. Mekanisme pengamanan informasi pada aplikasi ini adalah penyisipan

informasi dibalik media gambar dengan menggunakan metode LSB

insertion yang sebelumnya telah di enkrip menggunakan metode RC4,

dapat dilihat pada gambar 4.1.

2. User yang menggunakan aplikasi steganografi ini dapat

menyembuyikan pesan rahasia berupa file teks berformat (*.xls, *.doc,

*.txt, *.pdf, dan *.ppt) ke dalam file citra digital, dapat dilihat pada

tabel 4.2.

3. Ukuran file penyembunyi dan file yang disembunyikan tidak

mengalami perubahan sebelum maupun setelah dilakukan proses

encode atau decode, sedangkan kualitas dari gambar penyembunyi

tergantung dari besarnya ukuran file yang akan disembunyikan, dapat

dilihat pada tabel 4.2.

5.2 Saran

Berdasarkan pembahasan dan kesimpulan yang didapat dari

penjelasan di atas maka saran-saran yang dianjurkan seperti berikut ini:

159

Page 177: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

160

1. User dapat mengganti nama default pada file name yang muncul di

kotak dialog untuk mempermudah pada saat proses encode atau

decode.

2. Untuk meningkatkan keamanan atas program ini disarankan

mengembangkan program ini dengan cara menggabungkan metode

yang penulis pakai dengan metode enkripsi lainnya.

Page 178: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

DAFTAR PUSTAKA

Astuti, Yuni, Teknik Pengamanan Data Steganografi Menggunakan Metode

Modifikasi Least Significant Bit (LSB), 2005

Cole, Eric, Hiding in Plain Sight: Steganography and the Art of Covert

Communication, (Wiley Publishing, inc, 2003)

Hartono, Jogiyanto, MBA, Pengenalan Komputer, Ed. 3, Cet. 1. (Yogyakarta:

ANDI, 1999).

Kendal & Kendal, Analisis dan Perancangan Sistem, Jilid-1, Ed. Bahasa

Indonesia (Jakarta : Pearson Education Asia Pte. Ltd. Dan PT.

Prenhallindo, 2003)

Kurniawan, Yusuf, MT, KRIPTOGRAFI Keamanan Internet dan Jaringan

Komunikasi, Cetakan-1 (Bandung : Informatika, 2004)

Miano, John, Compressed image file formats : JPEG, PNG, GIF, XBM, BMP,

(Addison Wesley Longman, Inc, 1999)

Munir, Rinaldi, Kriptografi, Cetakan-1 (Bandung : Informatika, 2006)

Pertiwi, Dwi, Implemetasi Metode Least Significant Bit Pada Stegnografi, 2006

Ramadhan , Arief, Seri Penuntun Praktis Microsoft Visual Basic 6.0, (Jakarta :

Elex Media Komputindo, 2004)

Stiawan, Deris, Sistem Keamanan Komputer (Jakarta : Elex Media Komputindo,

2005)

Wirawan, Chandra, Keamanan Data Mengunakan Metode Block Cipher (Des)

Dan Stream Cipher (Rc4), 2005

161

Page 179: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

162

[1] id.wikipedia.org/wiki/Aplikasi

[2] http://blog.re.or.id/definisi-informasi-2.htm

[3] http://www.pcmedia.co.id/detail.asp?Id=1914&Cid=22&Eid=49

[4] http://www.ilmukomputer.com

Page 180: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

APLIKASI KEAMANAN INFORMASI MENGGUNAKAN TEKNIK

STEGANOGRAFI DENGAN METODE LEAST SIGNIFICANT BIT

(LSB) INSERTION DAN RC4

Jamaludin

Program Studi Teknik Informatika Fakultas Sains Dan Teknologi UIN Jakarta

Email : [email protected]

Abstrak

Steganografi merupakan ilmu dan seni yang mempelajari cara penyembunyian pesan rahasia ke dalam suatu media sedemikian sehingga pihak ketiga tidak menyadari keberadaan pesan tersebut. Walaupun steganografi dapat dikatakan mempunyai hubungan yang erat dengan kriptografi, tapi metode ini sangat berbeda dengan kriptografi. Kriptografi mengacak pesan sehingga tidak dimengerti, sedangkan steganografi menyembunyikan pesan sehingga tidak terlihat. Dalam tugas akhir ini penulis menguraikan tentang teknik steganografi menggunakan metode Least Significant Bit Insertion (LSB Insertion) dimana data sebelumnya dienkripsi menggunakan metode RC4 dan proses pengembalian data tersebut seperti semula. Dari penelitian ini dihasilkan sebuah aplikasi yang dapat digunakan untuk menyembunyikan data dengan fomat (*.xls, *.doc, *.txt, *.pdf, dan *.ppt) dengan media gambar penyembunyi bitmap (*.bmp) serta dilakukan juga pengujian terhadap file yang disembunyikan atau media penyembunyi sebelum dan sesudah di encode/decode untuk mengetahui apakah terjadi perubahan pada file tersebut. Tujuan dari penelitian ini adalah penulis ingin membuat sebuah aplikasi yang dapat digunakan untuk melindungi keamanan suatu data dengan cara menyembunyikannya dibalik media gambar agar tidak menimbulkan kecurigaan, sehingga informasi atau data tersebut tidak mudah untuk diketahui orang lain/user yang tidak berhak, dan untuk lebih memperkenalkan teknik steganografi sebagai salah satu teknik pengamanan data Kata kunci : Steganografi, Kriptografi, RC4

1. Pendahuluan

1.1. Latar belakang

Perkembangan teknologi informasi di era modern ini terasa begitu pesat, hal ini

dikarenakan adanya alat bantu (komputer) yang dapat digunakan untuk memproses dan

mengolah data. Kini komputer telah dijadikan teknologi pokok dalam pengolahan dan

Page 181: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

penyajian informasi. Sebuah perusahaan atau lembaga dapat membuat suatu keputusan

yang tepat dengan ditunjang aspek teknologi informasi yang diharapkan dapat menangani

permasalahan dengan cepat, akurat dan efisien.

Keamanan suatu informasi pada jaman global ini makin menjadi sebuah kebutuhan

vital dalam berbagai aspek kehidupan. Suatu informasi akan memiliki nilai lebih tinggi

apabila menyangkut tentang aspek-aspek keputusan bisnis, keamanan, ataupun

kepentingan umum. Dimana informasi-informasi tersebut tentunya akan banyak diminati

oleh berbagai pihak yang juga memiliki kepentingan di dalamnya.

Untuk itu, salah satu cara pengamanan yang dapat dilakukan adalah dengan

mengunakan teknik steganografi, yang merupakan suatu teknik menyembunyikan

informasi dibalik cover media seperti teks, gambar, audio, dan video sehingga informasi

atau data yang sesungguhnya tidak terlihat dan tidak menimbulkan kecurigaan bagi orang

lain. Keamanan informasi akan menjadi lebih tangguh dengan memadukan teknik

steganografi dan kriptografi, dimana apabila informasi rahasia yang telah disembunyikan

dapat terdeteksi oleh pihak yang tidak bertanggung jawab, maka informasi rahasia

tersebut masih terlindungi oleh suatu metode kriptografi.

1.2. Perumusan Masalah

Dalam pelaksanaan tugas akhir ini terdapat beberapa permasalahan yang menjadi

titik utama pembahasan, diantaranya adalah sebagai berikut :

a. Bagaimana mekanisme pengamanan informasi menggunakan teknik

steganografi yang digabungkan dengan suatu metode kriptografi.

b. Apakah terjadi perubahan dalam file, baik itu ukuran maupun kualitas dengan

dilakukan proses encoding dan decoding dalam penyisipan informasi rahasia.

1.3. Batasan Masalah

Ada banyak cara yang dapat dilakukan untuk memproteksi informasi atau data,

tetapi dalam penulisan skripsi ini penulis membatasi hanya pada seputar cara

pengamanan informasi berupa dokumen dengan format (*.xls, *.doc, *.txt, *.pdf, dan

*.ppt) dengan menyembunyikannya pada suatu file gambar bitmap (*.bmp)

Page 182: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

menggunakan teknik steganografi yang sebelumnya telah dienkripsi dengan metode RC4

dan prosedur pengembalian data tersebut ke bentuk aslinya.

1.4. Tujuan

Tujuan dari penulisan skripsi ini adalah bahwa penulis ingin membuat sebuah

aplikasi yang dapat digunakan untuk melindungi keamanan suatu data dengan cara

menyembunyikannya dibalik media gambar agar tidak menimbulkan kecurigaan,

sehingga informasi atau data tersebut tidak mudah untuk diketahui orang lain/user yang

tidak berhak, dan untuk lebih memperkenalkan teknik steganografi sebagai salah satu

teknik pengamanan data

2. Landasan Teori

2.1. Kriptorafi

Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang

berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta

otentikasi.

Munir (2006:3) dalam bukunya menjelaskan, data atau informasi yang dapat dibaca

dan dimengerti maknanya disebut plaintext. Plaintext yang tersandi disebut ciphertext.

Ciphertext harus dapat ditransformasikan kembali menjadi plaintext semula agar pesan

yang diterima bisa dibaca. Proses menyandikan plaintext menjadi ciphertext disebut

enkripsi disebut enkripsi (encryption) atau enciphering (standard nama menurut ISO

7498-2). Sedangkan proses mengembalikan ciphertext menjadi plaintext semula

dinamakan dekripsi (decryption) atau deciphering (standard nama menurut ISO 7498-2).

Algoritma kriptografi (cipher) dapat dibedakan menjadi dua macam, yaitu : simetrik

dan asimetrik. Algoritma simetrik (model enkripsi konvensional) adalah algoritma yang

menggunakan satu kunci untuk proses enkripsi dan dekripsi data, contohnya adalah DES,

Blowfish, GOST, AES dan lain-lain. Sedangkan algoritma asimetrik (model enkripsi

kunci publik) menggunakan kunci yang berbeda dalam proses enkripsi dan dekripsi

pesan, contoh dari algoritma ini adalah RSA, El Gamal.

Page 183: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Kunci privat Kunci publik

Plaintext Ciphertext Plaintext

Dekripsi

Enkripsi

Gambar 2.2 Kunci asimetris

Sumber Munir (2006:3)

Dekripsi

Enkripsi

Plaintext Ciphertext

Kunci

Plaintext

Gambar 2.1 Kunci simetris

Sumber : Munir (2006:3)

2.2. RC4

RC4 dibuat oleh Ron Rivest, penemu RSA, RC2, RC5, RC6, MD2 dan MD5 pada

tahun 1987 untuk perusahaannya, RSA Data Security Inc. RC4 ini merupakan jenis

stream cipher. Artinya operasi enkripsi dilakukan per karakter 1 byte untuk sekali

operasi. Bandingkan dengan block cipher yang beroperasi pada data 1 blok (8 byte atau

16 byte) per operasi enkripsi. RC4 merupakan cipher OFB (Output-Feedback Cipher).

RC4 merupakan salah satu cipher yang paling banyak digunakan di internet untuk

pengamanan SSL. Secara resmi, RC4 tidak pernah dipublikasikan. Namun pada bulan

September tahun 1994 seseorang yang tidak menyebutkan namanya mengirimkannya ke

internet algoritma detilnya sehingga menjadi diketahui umum (Kurniawan 2004:93).

Page 184: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

2.3. Steganografi

Steganografi berasal dari bahasa Yunani, “stegos” yang berati roof (atap) atau

covered (terlindungi) dan “graphia” yang berarti tulisan, jadi steganografi berarti “tulisan

tersembunyi”.Steganografi adalah ilmu dan seni menyembunyikan data atau pesan

didalam media lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui

(Munir 2006:301-306).

Secara garis besar, teknik Steganografi adalah dengan cara menyisipkan sepotong

demi sepotong informasi pada sebuah media, sehingga informasi tersebut tampak kalah

dominan dengan media pelindungnya.

Steganografi membutuhkan dua properti yaitu media penampung dan pesan rahasia.

Media penampung yang umum digunakan adalah gambar, suara, atau video. Informasi

yang disembunyikan dapat berupa sebuah artikel, gambar, kode program, atau pesan

lainnya.

Keuntungan steganografi dibandingkan dengan kriptografi adalah bahwa informasi

yang dikirim tidak menarik perhatian sehingga media penampung yang membawa

informasi tidak menimbulkan kecurigaan bagi pihak ketiga. Ini berbeda dengan

kriptografi dimana ciphertext menimbulkan kecurigaan bahwa pesan tersebut merupakan

pesan rahasia.

Terdapat beberapa istilah yang berkaitan dengan steganografi :

1) Hiddentext atau embed message : pesan yang disembunyikan.

2) Covertext atau cover-object : media yang digunakan untuk menyembunyikan

embed message..

3) Stegotext atu stego-object : media yang sudah berisi embed message.

Penyisipan pesan ke dalam media covertext dinamakan encoding, sedangkan

ekstraksi pesan dari stegotext dinamakan decoding. Kedua proses ini mungkin

memerlukan kunci rahasia (yang dinamakan stegokey) agar hanya pihak yang berhak saja

yang dapat melakukan penyisipan dan ekstraksi pesan. memperlihatkan diagram

penyisipan dan ekstraksi pesan.

Page 185: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Gambar 2.3 Proses steganografi

(sumber : http://www.jjtc.com/, diakses bulan Juni 2006)

2.4. Metode Least Significant Bit Insertion (LSB Insertion)

Metode LSB (Least significant bit) merupakan metode steganografi yang paling

mudah diimplementasikan. Untuk menjelaskan metode ini kita menggunakan citra

sebagai covertext. Setiap pixel di dalam citra berukuran 1 sampai 3 byte. Pada susunan bit

di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling berarti (most significant bit atau

MSB) dan bit yang paling kurang berarti (Least significant bit atau LSB). Misalnya pada

byte 11010010, bit 1 yang pertama (digaris bawahi) adalah bit MSB dan bit 0 yang

terakhir (digaris bawahi) adalah bit LSB. Bit yang cocok untuk diganti dengan bit pesan

adalah bit LSB, sebab modifikasi hanya mengubah nilai byte tersebut satu lebih tinggi

atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut di dalam gambar

memberikan persepsi warna merah, maka perubahan satu bit LSB hanya mengubah

persepsi warna merah tidak terlalu berarti. Mata manusia tidak dapat membedakan

perubahan yang kecil ini.

Sebagai ilustrasi, misalkan segmen pixel-pixel citra sebelum penambahan bit-bit

watermark adalah

00110011 10100010 11100010 01101111

dan misalkan pesan rahasia (yang telah dikonversi ke sistem biner) adalah 0111. setiap bit

dari watermark menggantikan posisi LSB dari segmen pixel-pixel citra menjadi :

00110010 10100011 11100011 01101111

Page 186: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

untuk membuat hiddentext tidak dapat dilacak, bit-bit pesan tidak mengganti byte-byte

yang berurutan, namundipilih susunan byte secara acak. Misalkan jika terdapat 50 byte

dan 6 bit data yang akan disembunyikan, maka byte yang diganti bit LSB-nya dipilih

secara acak, misalkan byte nomor 36, 5, 21, 10, 18, 49.

2.5. Perbedaaan Steganografi dan Kriptografi

Steganografi sangat kontras dengan kriptografi. Jika kriptografi merahasiakan

makna pesan sementara eksistensi pesan tetap ada, maka steganografi menutupi

keberadaan pesan. Steganografi dapat dipandang sebagai kelanjutan kriptografi dan

dalam prakteknya pesan rahasia dienkripsi telebih dahulu, kemudian ciphertext

disembunyikan didalam media lain sehingga pihak ketiga tidak menyadari keberadannya.

Pesan rahasia yang disembunyikan dapat diekstraksi kembali persis sama seperti aslinya

(Munir 2006:301). Hasil dari kriptografi biasanya berupa informasi yang berbeda dari

bentuk aslinya dan biasanya informasi seolah-olah berantakan atau acak, sedangkan hasil

keluaran steganografi memiliki bentuk persepsi yang sama dengan bentuk aslinya.

(Sumber : http://www.jjtc.com/, diakses bulan Juni 2006)

Dalam beberapa situasi, mengirimkan informasi yang dienkripsi akan

menimbulkan kecurigaan, sedangkan informasi yang tidak kelihatan tidak menimbulkan

kecurigaan.

Gambar 2.4 Perbedaan steganografi dan kriptografi

Page 187: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

(Sumber : http://www.infosecwriters.com, diakses bulan Juli 2006).

Tabel 2.1 Perbedaan steganografi dan kriptografi

Steganografi Kriptografi Keberadaan data atau informasi

tidak diketahui

Keberadaan data atau informasi

diketahui

Steganografi menyembunyikan

keberadaan komunikasi

Enkripsi mencegah pihak yang tidak

berhak melihat/merubah isi dari

komunikasi

Teknik yang belum banyak

digunakan Teknik sudah umum digunakan

Tekniknya masih terus

dikembangkan untuk beberapa

format data tertentu

Kebanyakan algoritma yang

digunakan sudah diketahui oleh

umum

Ketika informasi atau data

terdeteksi maka akan mudah untuk

diketahui

Algoritma yang tangguh akan sulit

untuk ditembus, harus mengeluarkan

biaya yang cukup mahal untuk dapat

menghancurkannya

Steganografi tidak merubah

struktur informasi rahasia

Kriptografi merubah struktur

informasi rahasia

3. Metode Pengembangan Sistem

Pengembangan sistem dalam penelitian ini penulis lakukan menggunakan tiga tahap

siklus pengembangan model RAD (Rapid Aplication Development), yaitu fase

perencanaan syarat, fase workshop desain (perancangan dan konstruksi), dan fase

implementasi. Model RAD adalah suatu pendekatan berorientasi objek terhadap

pengembangan sistem yang mencakup suatu metode pengembangan perangkat-perangkat

lunak. Tujuannya adalah mempersingkat waktu pengerjaan aplikasi serta proses yang

dihasilkan didapatkan secara cepat dan tepat. Syarat-syarat menggunakan RAD adalah

pihak perekayasa perangkat lunak telah mengetahui dengan jelas kebutuhan user

Page 188: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

(pengguna) dengan tepat, mengetahui proses-proses apa saja yang ada dalam perangkat

lunak yang dibuat, dan input-output yang dihasilkan.

Kendall (2003: 327), mengilustrasikan model RAD seperti pada (Gambar 3.1 )

Gambar 3.1 Siklus pengembangan sistem model RAD

Membangun

Sistem

Fase Implementasi

Memperkenalkan

Sistem

Fase Perencanaan Syarat-syarat

Menentukan Tujuan dan syarat-syarat

Informasi

Bekerja dengan Pengguna untuk

Sistem Perancangan

Fase KontruksiFase Perancangan

Umpan Balik Pengguna

Menggunakan masukkan dari

pengguna

Sumber : Kendall (2003: 327)

4. Analisis Dan Implementasi

Algoritma yang penulis kembangkan adalah menggabungkan metode steganografi

(LSB insertion) dan metode kriptogafi (RC4 strem cipher) dalam mengencode dan

Page 189: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

mendecode file. Proses encode dan decode dapat dilihat melalui gambar 4.1 di bawah ini

:

4.1. Algoritma RC4 stream cipher

Algoritma kriptografi RC4 merupakan salah satu algoritma berjenis stream cipher.

Algoritma ini akan memproses data dalam ukuran byte demi byte (1 byte = 8 bit).

Algoritma ini dapat melakukan enkripsi dan dekripsi pada panjang data yang variabel

atau dinamis tanpa perlu adanya penambahan byte (padding).

Kunci utama RC4 maksimal sepanjang 2048 bit (256 byte), namun yang biasa

digunakan hanya sepanjang 40 bit atau 128 bit. Sisanya (2048 – 40 = 2008 bit atau 2048

Page 190: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

– 128 = 1920 bit) diisi dengan perulangan kunci tersebut. Jadi jika kuncinya berupa 16

byte (128 bit) K = 0123456789abcdef dimana setiap angka merupakan bilangan

hexadesimal maka byte ke-17 sampai byte ke-256 berisi K tersebut secara berulang.

RC4 mempunyai sebuah S-Box, S0, S1, ... , S255, yang berisi permutasi dari

bilangan 0 sampai 255, dan permutasi merupakan fungsi dari kunci K dengan panjang

yang variabel. Langkah – langkah algoritma kriptografi RC4 sebagai berikut :

1. Inisialisasi S-Box

• Isi S-Box secara berurutan, yaitu S0=0, S1=1, ... , S255=255.

• Lakukan padding kunci K sehingga panjang kunci K = 256.

• Lakukan pertukaran dan pengisian pada S-Boxdengan kunci K, sebagai

berikut :

j = 0

for i = 0 to 255

j = (j + Si + Ki) mod 256

swap Si dan Sj

Fungsi swap merupakan fungsi yang menukarkan nilai S ke-i dengan nilai

S ke-j

2. Proses enkripsi atau dekripsi RC4 :

i = 0

j = 0

for idx = 0 to len-1

i = (i + 1) mod 256

j = (j + Si) mod 256

swap Si dan Sj

t = (Si + Sj) mod 256

k = St

buffidx = k XOR buffidx

Keterangan:

• buff merupakan pesan yang akan dienkripsi atau dekripsi

• len merupakan panjang dari buff

Page 191: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Hasil akhir dari proses di atas ialah buff yang berisi pesan yang telah dienkripsi atau

dekripsi.

4.2. Algoritma Steganografi

Pada file gambar BMP 24 bit setiap pixel pada gambar terdiri dari susunan tiga

warna yaitu merah, hijau, biru ( RGB ) yang masing-masing disusun oleh bilangan 8 bit (

1 byte ) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111.

Informasi dari warna biru berada pada bit pertama sampai bit delapan, dan informasi

warna hijau berada pada bit sembilan sampai dengan bit 16, sedangkan informasi warna

merah berada pada bit 17 sampai dengan bit 24. Metode penyisipan LSB (least

significant bit) ini adalah menyisipi pesan dengan cara mengganti bit ke 8, 16 dan 24

pada representasi biner file gambar dengan representasi biner pesan rahasia yang akan

disembunyikan. Dengan demikian pada setiap pixel file gambar BMP 24 bit dapat

disisipkan 3 bit pesan, misalnya terdapat data raster original file gambar adalah sebagai

berikut :

(00100111 11101001 11001000)

(00100111 11001000 11101001)

(11001000 00100111 11101001)

Dan nilai biner untuk A adalah 10000011. Sisipan nilai biner untuk A dalam tiga pixel

tersebut akan menghasilkan :

(00100111 11101000 11001000)

(00100110 11001000 11101000)

(11001000 00100111 11101001)

Bit-bit yang digaris bawahi hanya tiga perubahan secara aktual dalam 8 byte yang

digunakan. Secara rata-rata, LSB membutuhkan hanya setengah bit dalam suatu

perubahan gambar. Kita dapat menyembunyikan data dalam least dan second least

significant bit dan mata manusia masih belum dapat membedakannya.

Berikut algoritma steganografi LSB insertion :

1. Sepanjang jumlah huruf, lakukan langkah 2 sampai 4

2. Konversi huruf dalam pesan yang akan disisipkan menjadi biner

3. Baca informasi warna dari tiap pixel (pecah menjadi 3 : R, G ,B).

Page 192: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

4. Tukar biner terakhir yang didapat dari pixel-pixel tersebut sesuai dengan biner

huruf yang akan disisipkan disisipkan.

Ukuran data yang akan disembunyikan bergantung pada ukuran citra penampung.

Pada citra 8-bit yang berukuran 256 × 256 pixel terdapat 65536 pixel, setiap pixel

berukuran 1 byte. Setelah diubah menajdi citra 24-bit, ukuran data bitmap menjadi 65536

× 3 = 196608 bit. Karena setiap byte hanya bisa menyembunyikan satu bit di LSB-nya,

maka ukuran data yang akan disembunyikan di dalam citra adalah 196608/8 = 24576

byte. Semakin besar data disembunyikan di dalam citra, semakin besar pula kemungkinan

data tersebut rusak akibat manipulasi pada citra penampung.

Berikut adalah screen shoot proses encode dari aplikasi stegSECURE

Page 193: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan
Page 194: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Berikut pengujian aplikasi stegSECURE dengan menggunakan 3 file gambar

penyembunyi dengan ukuran dan dimensi yang berbeda.

Tabel 4.1 Gambar bitmap yang digunakan

Gambar Ukuran Dimensi

Thundercats 1.37 MB 800 x 600

Superman15 2.25 MB 1024 x 768

Gaya 7.88 MB 1913 x 1441

Dari hasil uji coba dan implementasi yang telah dilakukan maka hasil yang

didapatkan sesuai dengan yang diharapkan, yaitu dapat menyembunyikan file berformat

(*.xls, *.doc, *.txt, *.pdf, dan *.ppt). Format gambar yang digunakan sebagai media

penyembunyi dan gambar output (stego image) yang dihasilkan dari program

steganografi ini hanya berupa format *.BMP (bitmap) karena penulis telah melakukan

perbandingan menggunakan format gambar lain (JPEG & GIF) sebagai media

penyembunyi dan dengan menyembunyikan file yang sama. Dari perbandingan tersebut

dapat di ketahui bahwa format BMP memiliki kualitas yang lebih baik dari gambar JPEG

& GIF.

Page 195: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Menggunakan BMP :

Sebelum encode

Sesudah encode

Page 196: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Menggunakan JPEG :

Sebelum encode

Sesudah encode

Page 197: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Menggunakan GIF :

Sebelum encode

Sesudah encode

Page 198: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Ukuran file penyembunyi dan file yang disembunyikan tidak mengalami perubahan

sebelum maupun setelah dilakukan proses encode atau decode, sedangkan kualitas dari

gambar penyembunyi tergantung dari besarnya ukuran file yang akan disembunyikan,

semakin kecil ukurannya maka kualitas gambarnya akan semakin baik tidak jauh berbeda

dengan file aslinya. Berikut adalah tabelnya :

Tabel 4.2 Hasil proses encode/decode

Sebelum proses encode Setelah proses encode/decode Gambar No

Nama file Ukuran Nama file Ukuran

1 USER PROD.txt 5 Kb decode.txt 5 Kb

2 Loading ATM.doc 80 Kb decode.doc 80 Kb

3 SEMINAR.ppt 90 Kb decode.ppt 90 Kb

4 ATM-PRINTER.xls 95 Kb decode.xls 95 Kb

Thundercats

1.37 MB

5 HARGA BAN.pdf 96 Kb decode.pdf 96 Kb

1 USER PROD.txt 5 Kb decode.txt 5 Kb

2 Loading ATM.doc 80 Kb decode.doc 80 Kb

3 SEMINAR.ppt 90 Kb decode.ppt 90 Kb

4 ATM-PRINTER.xls 95 Kb decode.xls 95 Kb

Superman15

2.25 MB

5 HARGA BAN.pdf 96 Kb decode.pdf 96 Kb

1 USER PROD.txt 5 Kb decode.txt 5 Kb

2 Loading ATM.doc 80 Kb decode.doc 80 Kb

3 SEMINAR.ppt 90 Kb decode.ppt 90 Kb

4 ATM-PRINTER.xls 95 Kb decode.xls 95 Kb

Gaya

7.88 MB

5 HARGA BAN.pdf 96 Kb decode.pdf 96 Kb

Page 199: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

5. Kesimpulan

Berdasarkan pembahasan pada Bab-bab sebelumnya maka dapat diperoleh

kesimpulan sebagai berikut:

1. Mekanisme pengamanan informasi pada aplikasi ini adalah penyisipan

informasi dibalik media gambar dengan menggunakan metode LSB insertion

yang sebelumnya telah di enkrip menggunakan metode RC4, dapat dilihat pada

gambar 4.1.

2. User yang menggunakan aplikasi steganografi ini dapat menyembuyikan pesan

rahasia berupa file teks berformat (*.xls, *.doc, *.txt, *.pdf, dan *.ppt) ke dalam

file citra digital, dapat dilihat pada tabel 4.2.

3. Ukuran file penyembunyi dan file yang disembunyikan tidak mengalami

perubahan sebelum maupun setelah dilakukan proses encode atau decode,

sedangkan kualitas dari gambar penyembunyi tergantung dari besarnya ukuran

file yang akan disembunyikan, dapat dilihat pada tabel 4.2

6. Saran

Berdasarkan pembahasan dan kesimpulan yang didapat dari penjelasan di atas maka

saran-saran yang dianjurkan seperti berikut ini:

1. User dapat mengganti nama default pada file name yang muncul di kotak dialog

untuk mempermudah pada saat proses encode atau decode.

2. Untuk meningkatkan keamanan atas program ini disarankan mengembangkan

program ini dengan cara menggabungkan metode yang penulis pakai dengan

metode enkripsi lainnya.

Page 200: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

ENCODE Option Explicit 'Deklarasi API Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long Private Declare Function GetTickCount Lib "kernel32" () As Long 'Class RC4 Private WithEvents RC4 As clsRC4 'Fungsi Mematikan aplikasi Dim Halt As Boolean 'Ukuran file maksimum dalam byte Dim UkuranMax As Double Dim UkuranFile As Double 'Banyak pixel yang digunakan per karakter Dim BykPixel As Double 'Fungsi untuk memilih halaman Dim Page As Integer 'Nilai progress bar Dim PosAwal As Long Dim PosMax As Long 'Menampilkan halaman awal Private Sub Form_Load() Call Show_Page(0) Halt = False End Sub 'Menampilkan halaman berikutnya Public Sub Show_Page(NewPage As Integer) Dim a As Integer Page = NewPage For a = picPage.LBound To picPage.UBound If a = NewPage Then picPage(a).Visible = True Else picPage(a).Visible = False End If Next a End Sub Private Sub cmdLanjut_Click() Select Case Page Case 0: Call Show_Page(1)

163

Page 201: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

cmdLanjut.Enabled = False cmdKembali.Enabled = True Case 1: Call Show_Page(2) cmdLanjut.Enabled = False cmdKembali.Enabled = True txtPassword.SetFocus Case 2: Call Show_Page(3) cmdEncode.Enabled = True cmdLanjut.Enabled = False cmdKembali.Enabled = True End Select End Sub Private Sub txtPassword_Change() If Trim(txtPassword.Text) = "" Or (Len(txtPassword.Text) < 6) Or (Len(txtPassword.Text) > 8) Then cmdLanjut.Enabled = False Else cmdLanjut.Enabled = True End If End Sub Private Sub cmdKembali_Click() Select Case Page Case 1: Call Show_Page(0) cmdKembali.Enabled = False txtGambar1.Text = "" txtFile.Text = "" If txtGambar1.Text = "" Then Gmbr1.Visible = False End If lbUkuran1.Caption = "0 KB" lbUkuran3.Caption = "0 KB" lbDimensi1.Caption = "0 x 0" lbMaximum1.Caption = "0 KB" lbRekomendasi1.Caption = "0 KB" lbPixel3 = "0 Pixels" If txtFile.Text = "" Then cmdLanjut.Enabled = False End If Case 2: Call Show_Page(1) cmdEncode.Enabled = False txtFile.Text = "" txtPassword.Text = "" lbUkuran3.Caption = "0 KB" lbPixel3 = "0 Pixels" If txtFile.Text = "" Then cmdLanjut.Enabled = False End If Case 3: Call Show_Page(2) cmdEncode.Enabled = False

164

Page 202: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

txtPassword.Text = "" txtPassword.SetFocus If txtFile.Text = "" Then cmdLanjut.Enabled = False End If End Select End Sub Private Sub cmdBatal_Click() Dim Pesan As Integer Pesan = MsgBox("Anda yakin ingin batal?", vbYesNo, "Konfirmasi") If Pesan = vbYes Then frmUtama.Show Unload Me End If End Sub Private Sub cmdCari1_Click() On Error GoTo Cari1Skip CD.Filter = "Bitmap (*.bmp)|*.bmp" CD.DialogTitle = "Pilih gambar" CD.ShowOpen txtGambar1.Text = CD.Filename Gmbr1.Visible = True Gmbr1.Picture = LoadPicture(txtGambar1.Text) Call cmdLoad1_Click Cari1Skip: On Error GoTo 0 End Sub Private Sub cmdCari2_Click() On Error GoTo Cari2Skip CD.Filter = "All File (*.*)|*.*" CD.DialogTitle = "Pilih file yang akan disembunyikan" CD.ShowOpen txtFile.Text = CD.Filename Call cmdLoad2_Click Cari2Skip: On Error GoTo 0 End Sub Private Sub cmdLoad1_Click() Dim Max As Single, Rek As Single, Ukuran As Single cmdLanjut.Enabled = False lbDimensi1.Caption = "0 x 0" lbMaximum1.Caption = "0 KB" lbRekomendasi1.Caption = "0 KB" lbUkuran1.Caption = "0 KB" lbUkuran1.ForeColor = vbBlack Open txtGambar1.Text For Binary As #1 Close #1

165

Page 203: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Ukuran = FileLen(txtGambar1.Text) UkuranFile = Ukuran lbUkuran1.Caption = Round(Ukuran / 1024, 2) & " KB" If (Ukuran < 1024) Then lbUkuran1.Caption = Ukuran & " B" If ((Ukuran / 1024) > 1024) Then lbUkuran1.Caption = Round((Ukuran / 1024) / 1024, 2) & " MB" On Error GoTo Fail1: picTmp1.Picture = LoadPicture("") picTmp1.Picture = LoadPicture(txtGambar1.Text) If Trim(txtGambar1.Text) = "" Then GoTo Fail1 UkuranMax = ((picTmp1.ScaleWidth * picTmp1.ScaleHeight) - 2) Max = Round(((picTmp1.ScaleWidth * picTmp1.ScaleHeight) - 2) / 1024 / 5, 2) Rek = Round((((picTmp1.ScaleWidth * picTmp1.ScaleHeight) - 2) / 10) / 1024, 2) lbDimensi1.Caption = picTmp1.ScaleWidth & " x " & picTmp1.ScaleHeight lbMaximum1.Caption = Max & " KB" lbRekomendasi1.Caption = Rek & " KB" lbMaximum2.Caption = lbMaximum1.Caption lbRekomendasi2.Caption = lbRekomendasi1.Caption cmdLanjut.Enabled = True Fail1: On Error GoTo 0 End Sub Private Sub cmdLoad2_Click() Dim Ukuran As Single cmdLanjut.Enabled = False lbUkuran3.Caption = "0 KB" lbUkuran3.ForeColor = vbBlack On Error GoTo Fail3: If Trim(txtFile.Text) = "" Then GoTo Fail3 Open txtFile.Text For Binary As #1 Close #1 Ukuran = FileLen(txtFile.Text) UkuranFile = Ukuran lbUkuran3.Caption = Round(Ukuran / 1024, 2) & " KB" If (Ukuran < 1024) Then lbUkuran3.Caption = Ukuran & " B" If ((Ukuran / 1024) > 1024) Then lbUkuran3.Caption = Round((Ukuran / 1024) / 1024, 2) & " MB" BykPixel = UkuranMax / Ukuran If (BykPixel * Ukuran) > UkuranMax Then BykPixel = BykPixel - 1 If BykPixel > 20 Then BykPixel = 20 If BykPixel > 15 And BykPixel <= 20 Then BykPixel = 20

166

Page 204: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

If BykPixel > 10 And BykPixel <= 15 Then BykPixel = 15 If BykPixel > 5 And BykPixel <= 10 Then BykPixel = 10 If BykPixel >= 1 And BykPixel <= 5 Then BykPixel = 2 If BykPixel < 1 Then BykPixel = 0 lbPixel3.Caption = BykPixel & " Pixels" If BykPixel >= 10 Then lbKet.Caption = "Kualitas tinggi (10-20 Pixels)" If BykPixel >= 15 Then lbDesk.Caption = "Kualitas sempurna (15-20 Pixels)" lbKet.ForeColor = &HC000& lbDesk.Caption = "Akan dihasilkan " & BykPixel & " pixels per karakter dan output yang bagus. Gunakan file berukuran lebih kecil dan gambar yang berukuran lebih besar untuk hasil yang lebih baik." Else lbKet.Caption = "Kualitas rendah (1-5 Pixels)" If BykPixel >= 5 Then lbKet.Caption = "Kualitas menengah (5-10 Pixels)" lbKet.ForeColor = vbRed lbDesk.Caption = "Hanya dihasilkan " & BykPixel & " pixels per karakter dan output yang buruk. Untuk hasil yang lebih baik, gunakan file berukuran lebih kecil dan gambar yang berukuran lebih besar." End If If Ukuran < UkuranMax And Ukuran > 0 Then cmdLanjut.Enabled = True Else lbUkuran3.ForeColor = vbRed End If Fail3: On Error GoTo 0 End Sub Private Sub cmdEncode_Click() Dim FF As Integer, Pesan As Integer, a0 As String, Source As String If cmdEncode.Caption = "&Keluar" Then PosAwal = 0 frmUtama.Show Unload Me Exit Sub End If Halt = False cmdEncode.Enabled = False cmdKembali.Enabled = False cmdBatal.Enabled = False If Right(txtFile.Text, 3) = "doc" Then a0 = "q11" End If If Right(txtFile.Text, 3) = "xls" Then a0 = "q12" End If If Right(txtFile.Text, 3) = "pdf" Then a0 = "q13"

167

Page 205: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

End If If Right(txtFile.Text, 3) = "txt" Then a0 = "q14" End If If Right(txtFile.Text, 3) = "rtf" Then a0 = "q15" End If If Right(txtFile.Text, 3) = "ppt" Then a0 = "q16" End If If Right(txtFile.Text, 3) = "vsd" Then a0 = "q17" End If If Right(txtFile.Text, 3) = "jpg" Then a0 = "q18" End If If Right(txtFile.Text, 3) = "gif" Then a0 = "q19" End If If Right(txtFile.Text, 3) = "bmp" Then a0 = "q20" End If If Page = 3 Then 'Mulai Encoding Call Encode Kill (txtFile.Text) 'Simpan File If Halt = False Then On Error GoTo Skip4 Retry4: CD.Filename = BaseName(txtGambar1.Text) & a0 CD.Filter = "Bitmap Files (*.bmp)|*.bmp" CD.DialogTitle = "Simpan gambar hasil encode" CD.ShowSave Pesan = vbYes If Exists(CD.Filename) Then Pesan = MsgBox("Nama file sudah ada! Overwrite?", vbYesNo + vbExclamation, "Konfirmasi") End If If Pesan = vbYes Then Call SavePicture(picTmp2.Image, CD.Filename) Call MsgBox("Gambar di simpan ke " & CD.Filename, vbInformation + vbOKOnly, "Konfirmasi") cmdEncode.Caption = "&Keluar" End If Skip4: On Error GoTo 0

168

Page 206: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

End If If Halt Then PosAwal = 0 lbStatus1.Caption = "Proses gagal." End If cmdEncode.Enabled = True End If End Sub Public Function BaseName(ByVal Msg As String) As String Dim tPos As Integer BaseName = App.Path & "" tPos = InStr(1, Msg, ".") If tPos > 1 Then BaseName = Mid(Msg, 1, tPos - 1) End If End Function Public Function Exists(FName As String) As Boolean Dim FF As Integer Exists = False On Error GoTo DoesNotExist FF = FreeFile Open FName For Input As #FF Close #FF Exists = True DoesNotExist: On Error GoTo 0 End Function Public Function Hexa(ByVal Num As Long) As String Hexa = Hex(Num) Do If Len(Hexa) >= 6 Then Exit Do Hexa = "0" & Hexa Loop End Function Private Sub tmrBars_Timer() If PosMax <= 0 Then PosMax = 1 If Bar1.Max <> PosMax Then Bar1.Max = PosMax Bar1.Value = PosAwal End Sub Public Sub Encode() Dim Slot(1 To 60) As Integer Dim tX As Integer, tY As Integer

169

Page 207: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Dim X As Integer, Y As Integer Dim a As Long, b As Long Dim Warna As Long, sCnt As Integer, Pref As Integer Dim Dat As Integer, Tmp As String, Perc As Integer Dim tVal As Integer Dim FF As Integer Dim tR As Long, tG As Long, tB As Long, tStr As String picTmp2.Picture = LoadPicture(txtGambar1.Text) picTmp2.Refresh X = 1 Y = 0 'Bit kunci Warna = GetPixel(picTmp1.hdc, 0, 0) If Warna <= 0 Then tR = 0: tG = 0: tB = 0 Else tStr = Hexa(Warna) tR = CLng("&H" + (Mid(tStr, 5, 2))) tG = CLng("&H" + (Mid(tStr, 3, 2))) tB = CLng("&H" + (Mid(tStr, 1, 2))) End If If tB + BykPixel > 255 Then tB = tB - BykPixel Else tB = tB + BykPixel End If Call SetPixel(picTmp2.hdc, 0, 0, RGB(tR, tG, tB)) 'Begin Encoding! Tmp = BykPixel * UkuranFile Perc = Int((Tmp / (picTmp1.ScaleWidth * picTmp1.ScaleHeight) * 100)) PosMax = UkuranFile + 1 Bar1.Value = 0 Set RC4 = New clsRC4 'Debug.Print txtSource4.Text Call RC4.EncryptFile(txtFile.Text, txtTemp.Text, txtPassword.Text) FF = FreeFile Open txtTemp.Text For Binary As FF For a = 1 To UkuranFile + 1 PosAwal = a If a = UkuranFile + 1 Then Dat = 256 'Proses thd data dihentikan Else 'Baca karakter dari file Dat = Asc(Input(1, FF))

170

Page 208: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

End If 'Simpan Pixel di Memori tX = X: tY = Y: sCnt = 1 For b = 1 To BykPixel Warna = GetPixel(picTmp1.hdc, tX, tY) If Warna <= 0 Then tR = 0: tG = 0: tB = 0 Else tStr = Hexa(Warna) Do If Len(tStr) >= 6 Then Exit Do tStr = "0" & tStr Loop tR = CLng("&H" + (Mid(tStr, 5, 2))) tG = CLng("&H" + (Mid(tStr, 3, 2))) tB = CLng("&H" + (Mid(tStr, 1, 2))) End If Slot(sCnt + 0) = tR Slot(sCnt + 1) = tG Slot(sCnt + 2) = tB sCnt = sCnt + 3 tX = tX + 1 If tX >= picTmp1.ScaleWidth Then tX = 0: tY = tY + 1 Next b If Halt Then Exit Sub 'Encoding Do Pref = Int(Dat / (sCnt - 1)) If Dat Mod (sCnt - 1) <> 0 Then Pref = Pref + 1 For b = 1 To (sCnt - 1) tVal = Dat If tVal > Pref Then tVal = Pref If Slot(b) + tVal > 255 Then If Slot(b) - tVal > 0 Then Slot(b) = Slot(b) - tVal Dat = Dat - tVal End If Else Slot(b) = Slot(b) + tVal Dat = Dat - tVal End If Next b Loop Until Dat <= 0 If Halt Then Exit Sub 'Tukar Pixel sCnt = 1

171

Page 209: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

For b = 1 To BykPixel Call SetPixel(picTmp2.hdc, X, Y, RGB(Slot(sCnt + 0), Slot(sCnt + 1), Slot(sCnt + 2))) X = X + 1 If X >= picTmp1.ScaleWidth Then X = 0: Y = Y + 1 sCnt = sCnt + 3 Next b If Halt Then Exit Sub DoEvents Next a Close FF picTmp2.Refresh End Sub DECODE Option Explicit 'Deklarasi API Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long Private Declare Function GetTickCount Lib "kernel32" () As Long 'class RC4 Private WithEvents RC4 As clsRC4 'Fungsi mematikan aplikasi Dim Halt As Boolean 'Ukuran file maksimum dalam byte Dim UkuranMax As Double Dim UkuranFile As Double 'Ukuran pixel yang digunakan per karakter Dim BykPixel As Integer 'Fungsi untuk memilih halaman Dim Page As Integer 'Nilai progress bar Dim PosAwal As Long Dim PosMax As Long Dim Data As String 'Menampilkan halaman awal Private Sub Form_Load()

172

Page 210: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Call Show_Page(0) Halt = False End Sub 'Menampilkan halaman berikutnya Public Sub Show_Page(NewPage As Integer) Dim a As Integer Page = NewPage For a = picPage.LBound To picPage.UBound If a = NewPage Then picPage(a).Visible = True Else picPage(a).Visible = False End If Next a End Sub Private Sub cmdLanjut_Click() Select Case Page Case 0: Call Show_Page(1) cmdLanjut.Enabled = False cmdKembali.Enabled = True Case 1: Call Show_Page(2) cmdLanjut.Enabled = False cmdKembali.Enabled = True txtPassword.SetFocus Case 2: Call Show_Page(3) cmdDecode.Enabled = True cmdLanjut.Enabled = False cmdKembali.Enabled = True End Select End Sub Private Sub txtPassword_Change() If Trim(txtPassword.Text) = "" Then cmdLanjut.Enabled = False Else cmdLanjut.Enabled = True End If End Sub Private Sub cmdKembali_Click() Select Case Page Case 1: Call Show_Page(0) cmdKembali.Enabled = False txtGambar2.Text = "" txtGambar3.Text = "" lbUkuran3.Caption = "0 KB" lbUkuran4.Caption = "0 KB" lbDimensi2.Caption = "0 x 0"

173

Page 211: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

lbDimensi3.Caption = "0 x 0" lbPixel2.Caption = "0 Pixels" lbMaximum2.Caption = "0 KB" lbMatch.Visible = False lbWarn.Visible = True If txtGambar3.Text = "" Then cmdLanjut.Enabled = False Gmbr1.Visible = False Gmbr2.Visible = False End If Case 2: Call Show_Page(1) cmdDecode.Enabled = False txtGambar3.Text = "" txtPassword.Text = "" lbUkuran4.Caption = "0 KB" lbDimensi3.Caption = "0 x 0" lbPixel2.Caption = "0 Pixels" If txtGambar3.Text = "" Then cmdLanjut.Enabled = False Gmbr2.Visible = False lbMatch.Visible = False lbWarn.Visible = True End If Case 3: Call Show_Page(2) cmdDecode.Enabled = False txtPassword.Text = "" txtPassword.SetFocus If txtGambar3.Text = "" Then cmdLanjut.Enabled = False End If End Select End Sub Private Sub cmdBatal_Click() Dim Rtn As Integer Rtn = MsgBox("Anda yakin ingin batal?", vbYesNo, "Konfirmasi") If Rtn = vbYes Then frmUtama.Show Unload Me End If End Sub Private Sub cmdCari3_Click() On Error GoTo Cari3Skip CD.Filter = "Bitmap (*.bmp)|*.bmp" CD.DialogTitle = "Pilih gambar" CD.ShowOpen txtGambar2.Text = CD.Filename Gmbr1.Visible = True Gmbr1.Picture = LoadPicture(txtGambar2.Text) Call cmdLoad3_Click Cari3Skip: On Error GoTo 0

174

Page 212: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

End Sub Private Sub cmdCari4_Click() On Error GoTo Cari4Skip CD.Filter = "Bitmap (*.bmp)|*.bmp" CD.DialogTitle = "Pilih gambar" CD.ShowOpen txtGambar3.Text = CD.Filename Gmbr2.Visible = True Gmbr2.Picture = LoadPicture(txtGambar3.Text) Call cmdLoad4_Click Cari4Skip: On Error GoTo 0 End Sub Private Sub cmdLoad3_Click() Dim Max As Single, Ukuran As Single cmdLanjut.Enabled = False lbDimensi2.Caption = "0 x 0" lbMaximum2.Caption = "0 KB" lbUkuran3.Caption = "0 KB" lbUkuran3.ForeColor = vbBlack Open txtGambar2.Text For Binary As #1 Close #1 Ukuran = FileLen(txtGambar2.Text) UkuranFile = Ukuran lbUkuran3.Caption = Round(Ukuran / 1024, 2) & " KB" If (Ukuran < 1024) Then lbUkuran3.Caption = Ukuran & " B" If ((Ukuran / 1024) > 1024) Then lbUkuran3.Caption = Round((Ukuran / 1024) / 1024, 2) & " MB" On Error GoTo Fail2: picTmp3.Picture = LoadPicture("") picTmp3.Picture = LoadPicture(txtGambar2.Text) If Trim(txtGambar2.Text) = "" Then GoTo Fail2 UkuranMax = ((picTmp3.ScaleWidth * picTmp3.ScaleHeight) - 2) Max = Round(((picTmp3.ScaleWidth * picTmp3.ScaleHeight) - 2) / 1024 / 5, 2) lbDimensi2.Caption = picTmp3.ScaleWidth & " x " & picTmp3.ScaleHeight lbMaximum2.Caption = Max & " KB" cmdLanjut.Enabled = True Fail2: On Error GoTo 0 End Sub Private Sub cmdLoad4_Click() Dim Ukuran As Single

175

Page 213: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

cmdLanjut.Enabled = False lbDimensi3.Caption = "0 x 0" lbPixel2.Caption = "0 Pixels" lbMatch.Visible = False lbWarn.Visible = True lbUkuran4.Caption = "0 KB" lbUkuran4.ForeColor = vbBlack Open txtGambar3.Text For Binary As #1 Close #1 Ukuran = FileLen(txtGambar3.Text) UkuranFile = Ukuran lbUkuran4.Caption = Round(Ukuran / 1024, 2) & " KB" If (Ukuran < 1024) Then lbUkuran4.Caption = Ukuran & " B" If ((Ukuran / 1024) > 1024) Then lbUkuran4.Caption = Round((Ukuran / 1024) / 1024, 2) & " MB" On Error GoTo Fail5: PicTmp4.Picture = LoadPicture("") PicTmp4.Picture = LoadPicture(txtGambar3.Text) If Trim(txtGambar3.Text) = "" Then GoTo Fail5 lbDimensi3.Caption = PicTmp4.ScaleWidth & " x " & PicTmp4.ScaleHeight BykPixel = Compare() If PicTmp4.ScaleHeight = picTmp3.ScaleHeight And PicTmp4.ScaleWidth = picTmp3.ScaleWidth And BykPixel > 0 Then lbPixel2.Caption = BykPixel & " Pixels" lbWarn.Visible = False lbMatch.Visible = True cmdLanjut.Enabled = True End If Fail5: On Error GoTo 0 End Sub Private Sub cmdDecode_Click() Dim FF As Integer, Rtn As Integer, eData As String, a As String, b As String, c As String If cmdDecode.Caption = "&Keluar" Then PosAwal = 0 frmUtama.Show Unload Me Exit Sub End If Halt = False Loading.Visible = True cmdDecode.Enabled = False

176

Page 214: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

cmdKembali.Enabled = False cmdBatal.Enabled = False If Page = 3 Then 'Mulai Decoding Call Decode Kill (txtGambar2.Text) 'Simpan File If Halt = False Then On Error GoTo Skip6 Retry6: Set RC4 = New clsRC4 Call RC4.DecryptFile(Data, eData, txtPassword.Text) eData = RC4.DecryptString(Data, txtPassword.Text) a = Right(txtGambar2.Text, 7) b = Left(a, 3) If b = "q11" Then b = "doc" If b = "q12" Then b = "xls" If b = "q13" Then b = "pdf" If b = "q14" Then b = "txt" If b = "q15" Then b = "rtf" If b = "q16" Then b = "ppt" If b = "q17" Then b = "vsd" If b = "q18" Then b = "jpg" If b = "q19" Then b = "gif" If b = "q20" Then b = "bmp" CD.Filename = "decode" & "." & b CD.Filter = "All Files (*.*)|*.*" CD.DialogTitle = "Simpan hasil decode" CD.ShowSave Rtn = vbYes If Exists(CD.Filename) Then Rtn = MsgBox("Nama file sudah ada! Overwrite?", vbYesNo + vbExclamation, "Konfirmasi") End If If Rtn = vbYes Then FF = FreeFile Open CD.Filename For Binary Access Write As #FF Put #FF, , eData Close #FF Call MsgBox("Data di simpan ke " & CD.Filename, vbInformation + vbOKOnly, "Konfirmasi") cmdDecode.Caption = "&Keluar" End If PosAwal = PosMax

177

Page 215: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

If PosAwal = PosMax Then Loading.Caption = "Selesai ^_^" Skip6: On Error GoTo 0 End If End If If Halt Then PosAwal = 0 lbStatus2.Caption = "Proses gagal." End If cmdDecode.Enabled = True End Sub Public Function Compare() As Integer Dim WarnaA As Long, WarnaB As Long Dim aR As Long, aG As Long, aB As Long, aStr As String Dim bR As Long, bG As Long, bB As Long, bStr As String Compare = 0 WarnaA = PicTmp4.Point(0, 0) 'Gambar Key WarnaB = picTmp3.Point(0, 0) 'Gambar Encoded If WarnaA <= 0 Then aR = 0: aG = 0: aB = 0 If WarnaB <= 0 Then bR = 0: bG = 0: bB = 0 If WarnaA > 0 Then aStr = Hexa(WarnaA) aR = CLng("&H" + (Mid(aStr, 5, 2))) aG = CLng("&H" + (Mid(aStr, 3, 2))) aB = CLng("&H" + (Mid(aStr, 1, 2))) End If If WarnaB > 0 Then bStr = Hexa(WarnaB) bR = CLng("&H" + (Mid(bStr, 5, 2))) bG = CLng("&H" + (Mid(bStr, 3, 2))) bB = CLng("&H" + (Mid(bStr, 1, 2))) End If Compare = Abs(bB - aB) If Compare < 1 Or Compare > 20 Then Compare = 0 If aG <> bG Then Compare = 0 If aR <> bR Then Compare = 0 End Function Public Function Hexa(ByVal Num As Long) As String Hexa = Hex(Num) Do If Len(Hexa) >= 6 Then Exit Do Hexa = "0" & Hexa

178

Page 216: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Loop End Function Private Sub tmrBars_Timer() If PosMax <= 0 Then PosMax = 1 If Bar2.Max <> PosMax Then Bar2.Max = PosMax Bar2.Value = PosAwal End Sub Public Function BaseName(ByVal Msg As String) As String Dim tPos As Integer BaseName = App.Path & "" tPos = InStr(1, Msg, ".") If tPos > 1 Then BaseName = Mid(Msg, 1, tPos - 1) End If End Function Public Function Exists(FName As String) As Boolean Dim FF As Integer Exists = False On Error GoTo DoesNotExist FF = FreeFile Open FName For Input As #FF Close #FF Exists = True DoesNotExist: On Error GoTo 0 End Function Public Sub Decode() Dim X As Integer, Y As Integer Dim WarnaA As Long, WarnaB As Long Dim Dat As Double, Cnt As Integer Dim Sum As Integer, Diff As Integer, FF As Integer Dim Bar As Long, BCnt As Long, tStr As String Dim aR As Long, aG As Long, aB As Long Dim bR As Long, bG As Long, bB As Long Dim tData As String, eData As String Data = "" Cnt = 0 Sum = 0 PosAwal = 0 Bar = ((PicTmp4.ScaleWidth * PicTmp4.ScaleHeight) / BykPixel) / 100 PosMax = 100 Bar2.Value = 0 BCnt = 0

179

Page 217: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

For Y = 0 To PicTmp4.ScaleHeight - 1 For X = 0 To PicTmp4.ScaleWidth - 1 If Y = 0 And X = 0 Then X = 1 'Ambil pixel dari 2 gambar WarnaA = GetPixel(PicTmp4.hdc, X, Y) 'Gambar Key WarnaB = GetPixel(picTmp3.hdc, X, Y) 'Gambar Encoded 'Ubah dalam kode RGB If WarnaA <= 0 Then aR = 0: aG = 0: aB = 0 Else tStr = Hexa(WarnaA) aR = CLng("&H" + (Mid(tStr, 5, 2))) aG = CLng("&H" + (Mid(tStr, 3, 2))) aB = CLng("&H" + (Mid(tStr, 1, 2))) End If If WarnaB <= 0 Then bR = 0: bG = 0: bB = 0 Else tStr = Hexa(WarnaB) bR = CLng("&H" + (Mid(tStr, 5, 2))) bG = CLng("&H" + (Mid(tStr, 3, 2))) bB = CLng("&H" + (Mid(tStr, 1, 2))) End If 'Lihat perbedaan isi Diff = 0 Diff = Diff + Abs(bR - aR) Diff = Diff + Abs(bG - aG) Diff = Diff + Abs(bB - aB) Sum = Sum + Diff 'Proses baca pixel selanjutnya Cnt = Cnt + 1 If Cnt = BykPixel Then BCnt = BCnt + 1 If BCnt = Bar Then BCnt = 0 If PosAwal < PosMax Then PosAwal = PosAwal + 1 End If If Sum > 256 Then Call MsgBox("Fatal Error! Proses dibatalkan." & Chr(10) & "(Pixel " & X & ", " & Y & ")", vbCritical + vbOKOnly, "Konfirmasi") Halt = True Exit Sub ElseIf Sum = 256 Then 'Akhir dari proses data Data = Data & tData

180

Page 218: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

PosAwal = PosMax Exit Sub Else tData = tData & Chr(Sum) If Len(tData) > 1000 Then Data = Data & tData tData = "" End If End If Sum = 0 Cnt = 0 DoEvents If Halt Then Exit Sub End If Next X Next Y Data = Data & tData PosAwal = PosMax End Sub RC4 Option Explicit Event Progress(Percent As Long) Private m_Key As String Private m_sBox(0 To 255) As Integer Private Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Public Sub EncryptFile(SourceFile As String, DestFile As String, Optional Key As String) Dim FF As Integer Dim ByteArray() As Byte If (Not FileExist(SourceFile)) Then Call MsgBox("Error source file tidak ada", vbCritical + vbOKOnly, "Konfirmasi") Exit Sub End If FF = FreeFile Open SourceFile For Binary As #FF ReDim ByteArray(0 To LOF(FF) - 1)

181

Page 219: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

Get #FF, , ByteArray() Close #FF 'Enkrip byte array Call EncryptByte(ByteArray(), Key) If (FileExist(DestFile)) Then Kill DestFile 'Simpan data yang sudah di enkrip FF = FreeFile Open DestFile For Binary As #FF Put #FF, , ByteArray() Close #FF End Sub Public Sub DecryptFile(SourceFile As String, DestFile As String, Optional Key As String) Dim FF As Integer Dim ByteArray() As Byte If (Not FileExist(SourceFile)) Then Exit Sub End If FF = FreeFile Open SourceFile For Binary As #FF ReDim ByteArray(0 To LOF(FF) - 1) Get #FF, , ByteArray() Close #FF 'Dekrip byte array Call DecryptByte(ByteArray(), Key) If (FileExist(DestFile)) Then Kill DestFile 'Simpan data yang sudah di dekrip FF = FreeFile Open DestFile For Binary As #FF Put #FF, , ByteArray() Close #FF End Sub Public Sub DecryptByte(ByteArray() As Byte, Optional Key As String) Call EncryptByte(ByteArray(), Key) End Sub Public Function EncryptString(Text As String, Optional Key As String) As String Dim ByteArray() As Byte 'Konvert data menjadi byte array

182

Page 220: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

ByteArray() = StrConv(Text, vbFromUnicode) 'Enkrip byte array Call EncryptByte(ByteArray(), Key) 'Konvert byte array menjadi string EncryptString = StrConv(ByteArray(), vbUnicode) End Function Public Function DecryptString(Text As String, Optional Key As String) As String Dim ByteArray() As Byte 'Konvert data menjadi byte array ByteArray() = StrConv(Text, vbFromUnicode) 'Dekrip byte array Call DecryptByte(ByteArray(), Key) 'Konvert byte array menjadi string DecryptString = StrConv(ByteArray(), vbUnicode) End Function Public Sub EncryptByte(ByteArray() As Byte, Optional Key As String) Dim i As Long Dim j As Long Dim Temp As Byte Dim Offset As Long Dim OrigLen As Long Dim CipherLen As Long Dim CurrPercent As Long Dim NextPercent As Long Dim sBox(0 To 255) As Integer If (Len(Key) > 0) Then Me.Key = Key Call CopyMem(sBox(0), m_sBox(0), 512) 'Ambil panjang array dari source OrigLen = UBound(ByteArray) + 1 CipherLen = OrigLen 'Enkrip data For Offset = 0 To (OrigLen - 1) i = (i + 1) Mod 256 j = (j + sBox(i)) Mod 256 Temp = sBox(i) sBox(i) = sBox(j) sBox(j) = Temp ByteArray(Offset) = ByteArray(Offset) Xor (sBox((sBox(i) + sBox(j)) Mod 256))

183

Page 221: IMPLEMENTASI METODE RC4 - repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/4402/1/JAMALU... · membuat sebuah aplikasi ... 2.9 Pilih stantard pengembangan

184

'progress If (Offset >= NextPercent) Then CurrPercent = Int((Offset / CipherLen) * 100) NextPercent = (CipherLen * ((CurrPercent + 1) / 100)) + 1 RaiseEvent Progress(CurrPercent) End If Next If (CurrPercent <> 100) Then RaiseEvent Progress(100) End Sub Public Property Let Key(New_Value As String) Dim a As Long Dim b As Long Dim Temp As Byte Dim Key() As Byte Dim KeyLen As Long If (m_Key = New_Value) Then Exit Property 'Simpan key baru m_Key = New_Value 'Simpan password dalam byte array Key() = StrConv(m_Key, vbFromUnicode) KeyLen = Len(m_Key) 'Inisialisasi s-box For a = 0 To 255 m_sBox(a) = a Next a For a = 0 To 255 b = (b + m_sBox(a) + Key(a Mod KeyLen)) Mod 256 Temp = m_sBox(a) m_sBox(a) = m_sBox(b) m_sBox(b) = Temp Next End Property Public Function FileExist(Filename As String) As Boolean On Error GoTo NotExist Call FileLen(Filename) FileExist = True Exit Function NotExist: End Function