Aplikasi keamanan informasi menggunakan teknik steganografi dengan metode Least Significant Bit (LSB) insertion dan RC4

(1)

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


(2)

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


(3)

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


(4)

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


(5)

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


(6)

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


(7)

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’


(8)

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


(9)

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


(10)

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


(11)

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


(12)

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


(13)

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


(14)

5.2 Saran ………. 159 DAFTAR PUSTAKA ... 161 LAMPIRAN... 163


(15)

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


(16)

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


(17)

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


(18)

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


(19)

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.


(20)

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 :


(21)

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 :


(22)

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.


(23)

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


(24)

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


(25)

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


(26)

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)


(27)

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)


(28)

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


(29)

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


(30)

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


(31)

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.


(32)

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.


(33)

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


(34)

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


(35)

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


(36)

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.


(37)

Informasi adalah data yang telah diolah menjadi suatu bentuk yang penting bagi si penerima dan mempunyai nilai yang nyata yang dapat dirasakan dalam 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


(38)

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


(39)

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


(40)

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.


(41)

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


(42)

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


(43)

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


(44)

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


(45)

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


(46)

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


(47)

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,


(48)

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 :


(49)

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.


(50)

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.


(51)

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:


(52)

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.


(53)

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


(54)

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 Kontruksi Fase Perancangan

Umpan Balik Pengguna

Menggunakan masukkan dari


(55)

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.


(56)

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.


(57)

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 :


(58)

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 :


(59)

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.


(60)

2. Algoritma Steganografi

Pada filegambar 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 pixelfile 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)


(61)

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.


(62)

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.


(63)

b. Flowchart layar menu utama

Flowchart layar menu utama yang terdapat dalam system ini diperlihatkan pada gambar 4.3 berikut ini.


(64)

c. Flowchart layar menu encode

Flowchart layar menu encode yang terdapat dalam system ini diperlihatkan pada gambar-gambar berikut ini.


(65)

(66)

(67)

(68)

d. Flowchart layar menu decode

Flowchart layar menu decode yang terdapat dalam system ini diperlihatkan pada gambar-gambar berikut ini.


(69)

(70)

(71)

(72)

e. Flowchart layar about

Flowchart layar menu about yang terdapat dalam system ini diperlihatkan pada gambar 4.12 berikut ini.


(73)

f. Flowchart layar help

Flowchart layar menu help yang terdapat dalam system ini diperlihatkan pada gambar 4.13 berikut ini.


(74)

4.2.3. Perancangan Antarmuka 1. Formlogin

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 formencode

• Tombol Decode : berfungsi untuk menampilkan formdecode • Tombol About : berfungsi untuk menampilkan formabout • Tombol Help : berfungsi untuk menampilkan formhelp


(75)

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

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.

Formencode ini dilengkapi dengan 5 tombol yang mempunyai fungsi sebagai berikut :

• Tombol Cari : berfungsi untuk menampilkan form lokasi file


(76)

• 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 FormEncode dapat dilihat pada gambar-gambar berikut.

rjelas rancangan FormEncode dapat dilihat pada gambar-gambar berikut. x

StegSECURE

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


(77)

x

StegSECURE

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


(78)

x

StegSECURE

1.0

Langkah 4

Text info

Batal Kembali Lanjut Encode

Gambar 4.19 Form encode langkah4

4. Formdecode

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.

Formdecode 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


(79)

• Tombol Lanjut : berfungsi untuk melanjutkan ke menu berikutnya

• Tombol decode : berfungsi untuk menjalankan proses decode

Untuk memperjelas rancangan Formdecode 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


(80)

x

StegSECURE

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

x

StegSECURE

1.0

Gambar 4.22 Form decode langkah3

Kembali

Batal Lanjut Decode Masukan Password :


(81)

x

StegSECURE

1.0

Langkah 4

Text info

Batal Kembali Lanjut Decode

Gambar 4.23 Form decode langkah4

5. Formabout

Form about berisi tentang untuk apa program ini dibuat. Form about ini dilengkapi dengan 1 tombol (Tombol OK) yang mempunyai fungsi untuk menutup Formabout.

stegSECURE 10

Text

Copyright @ 2008 UIN


(82)

6. Formhelp

Form help berfungsi sebagai menu bantuan bagi pemakai yang belum mengerti atau memahami cara mengunakan aplikasi

stegSECURE.

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

oMenampilkan dan menyembuyikan Tab

oMenampilkan halaman yang sebelumnya telah dibuka

(Back)

oMenampilkan halaman yang sesudah dibuka (Forword)

oKembali kehalaman utama (Home)

oMenghentikan Proses (Stop)

oMerefresh program Help(Refresh)


(83)

• 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 Print Options


(84)

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.


(85)

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


(86)

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.


(87)

1. Proses encode file *.xls

Untuk dapat masuk ke menu encode, hal yang harus dilakukan adalah menekan tombol Encode pada menu utama. Berikut tampilan formencode langkah1


(88)

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 :


(89)

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.


(90)

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


(91)

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 :


(92)

Kemudian isikan password sesuai dengan ketentuan (password

karakter minimal 6 karakter, maksimal 8 karakter), lalu tekan tombol Lanjut. Maka muncul formencode langkah4.

Pilih tombol Encode untuk melakukan proses encode sehingga tampilannya menjadi seperti gambar berikut :


(93)

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 :


(94)

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


(95)

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 :


(96)

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.


(97)

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


(98)

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 :


(99)

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 formencode langkah4


(100)

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.


(1)

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


(2)

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


(3)

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)


(4)

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


(5)

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


(6)

'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