Anda di halaman 1dari 128

IMPLEMENTASI STEGANOGRAFI DAN KRIPTOGRAFI

UNTUK KEAMANAN DATA DENGAN METODE RC2


PADA CITRA BITMAP
3x

SKRIPSI

3x

Diajukan Guna Memenuhi Salah Satu Syarat


Untuk Menyelesaikan Pendidikan Strata 1
Progrm Studi Sistem Informasi
2x
Disusun Oleh : Times New
2x
Roman 12
Bold
MUHAMMAD NAUFAL
20092120201

4x
Times New Roman 14 Skala 5 x 5
(logo bulat Simetris)
Bold

4x

Sekolah Tinggi Manajemen Informatika dan Komputer


TRIGUNA DHARMA
MEDA Times New
N2013 Roman 16
Bold
IMPLEMENTASI STEGANOGRAFI DAN KRIPTOGRAFI
UNTUK KEAMANAN DATA DENGAN METODE RC2
PADA CITRA BITMAP

5x

MUHAMMAD NAUFAL
20092120201

4x

Skripsi Diajukan Times New


Sebagai Persyaratan Untuk Meraih Gelar
Sarjana Komputer
Roman 12
Pada Program Studi Sistem Informasi Bold

Times New Roman 14 Bold Skala 5 x 5


(logo bulat Simetris)
5x

5x

Sekolah Tinggi Manajemen Informatika dan Komputer


TRIGUNA DHARMA
MEDA Times New
N2013 Roman 16
Bold
Times New Roman 14 Bold

LEMBAR PERSETUJUAN
2x

SKRIPSI
2x

IMPLEMENTASI STEGANOGRAFI DAN KRIPTOGRAFI


UNTUK KEAMANAN DATA DENGAN METODE
RC2 DAN LSB PADA CITRA BITMAP

3x

Disusun Oleh:
2x

MUHAMMAD NAUFAL
20092120201

3x

Telah Disetujui Oleh Dosen Pembimbing Skripsi


Pada Tanggal 22 Februari 2013
Diisi tanggal
4x ACC Berita
Acara dari kedua
Doping dan
Ka.Prodi
Dosen Pembimbing I, Dosen Pembimbing II,

5x 5x

(Darjat Saripurna, S.Kom., M.Kom) (Ishak, S.Kom., M.Kom)

4x

Ketua Program Studi


Sistem Informasi

5x

(Sulindawaty, S.Kom., M.Kom)


Times New Roman 14 Bold

LEMBAR PENGESAHAN
2x

SKRIPSI
2x

IMPLEMENTASI STEGANOGRAFI DAN KRIPTOGRAFI


UNTUK KEAMANAN DATA DENGAN METODE
RC2 DAN LSB PADA CITRA BITMAP

3x

Dipersiapkan dan disusun oleh :


2x
MUHAMMAD NAUFAL
20092120201
2x
Dipertahankan didepan dewan penguji
Tanggal 25 Oktober 2012
Diisi dengan
2x tanggal lulus
Penguji I Penguji II sidang

5x 5x

(Zulfian Azmi, ST., M.Kom) (Muhammad Dahria, SE., S.Kom., M.Kom)


2x
Diterima sebagai persyaratan untuk meraih gelar
Sarjana Komputer
2x
Diketahui dan disahkan oleh :

Ketua, Pembantu Ketua I,

5x 5x

(Saiful Nur Arif, S.E, S.Kom.,M.Kom) (Beni Andika, S.T, S.Kom, M. Kom)
KATA PENGANTAR

Puji dan syukur atas kehadirat Allah SWT, yang telah melimpahkan

rahmat dan karunia-Nya sehingga penulis sehingga dapat menyelesaikan

penulisan Skripsi ini tepat pada waktu yang telah ditentukan.

Penulisan Skripsi ini disusun sebagai salah satu syarat untuk

menyelesaikan Pendidikan Strata 1 program studi Sistem Informasi di STMIK

Triguna Dharma Medan.

Teristimewa penulis ucapkan kepada Ayahanda dan Ibunda tercinta atas

segala doa, cinta dan kasih serta semangat dan dukungan spirit maupun materi

yang tak terhingga.

Penulis juga banyak mendapatkan bantuan dari berbagai pihak baik dalam

penyelesaian Skripsi ini. Kesemuanya itu tidak terlepas dari tanggung jawab

penulis dan semua itu bersumber dari keterbatasan pengetahuan yang dimiliki

penulis. Oleh karena itu pada kesempatan ini, penulis ingin mengucapkan terima

kasih yang sebesar-besarnya kepada:

1. Bapak Saiful Nur Arif, S.E, S.Kom, M.Kom selaku Ketua STMIK Triguna

Dharma yang telah memberikan izin untuk melaksanakan penyusunan Tugas

Akhir.

2. Bapak Beni Andika, S.T, S.Kom, M.Kom selaku Pembantu Ketua I STMIK

Triguna Dharma.

i
3. Ibu Sulindawaty, S.Kom, M.Kom selaku Ketua Program Studi Sistem

Informasi STMIK Triguna Dharma, yang telah banyak membantu dalam

memberikan pandangan dan motivasi.

4. Bapak Darjat Saripurna, S.Kom, M.Kom selaku Dosen Pembimbing I dalam

penyelesaian Skripsi ini, yang telah banyak membantu memberikan

bimbingan, tata cara penulisan, saran-saran, pandangan dan motivasi.

5. Bapak Ishak, S.Kom, M.Kom selaku Dosen Pembimbing II dalam

penyelesaian Skripsi ini, yang telah banyak membantu memberikan

bimbingan, tata cara penulisan, saran-saran, pandangan dan motivasi.

6. Seluruh Dosen, Staf dan Pegawai STMIK Triguna Dharma .

Atas segala bantuan yang telah diberikan semoga Allah SWT berkenan

memberikan balasan yang setimpal. Disadari bahwa Tugas Akhir ini tidak luput

dari kesalahan dan jauh dari kesempurnaan baik dalam segi penyajian maupun

segi ilmiahnya. Walupun demikian semoga hasil-hasil yang dituangkan dalam

Tugas Akhir ini dapat bermanfaat bagi kita semua.

Diisi Bulan
ACC dari
Doping
Medan, Februari 2013

Penulis

Tidak Boleh Muhammad Naufal


Ditanda NIRM : 20092120201
Tangani

ii
ABSTRAK

Penggunaan teknik steganografi atau teknik kriptografi banyak diaplikasikan


sebagai cara untuk mengamankan kerahasian data seperti pengiriman data melalui
jaringan intenet. Pada steganografi data yang dirahasiakan disembunyikan ke
dalam media lain dalam bentuk gambar, teks, suara ataupun video. Sedangkan
pada kriptografi data yang dirahasiakan disamarkan dengan cara mengubah data
asli menjadi seolah-olah tak terbaca. Kedua teknik ini sama-sama memiliki
kelemahan, tetapi dengan menggabungkan kedua teknik ini maka akan membuat
data yang dirahasiakan menjadi lebih terjamin lagi kerahasiaannya.

Pembahasan utama dari penelitian ini adalah membuat suatu aplikasi keamanan
data dengan menggabungkan teknik steganografi dan kriptografi. Metode yang
akan digunakan dalam steganografi yaitu metode LSB (Least Significant Bit)
sedangkan pada kriptografi yang akan digunakan adalah metode RC2. Proses
yang dilakukan adalah dengan mengenkripsi data yang dirahasiakan terlebih
dahulu, lalu menyembunyikannya ke dalam media lain dalam bentuk gambar yaitu
berupa citra bitmap.

Hasil dari penelitian ini adalah aplikasi yang dirancang mampu memenuhi
kebutuhan keamanan informasi, baik perlindungan terhadap kerahasiaan informasi
maupun perlindungan terhadap pemalsuan dan pengubahan informasi yang tidak
diinginkan.

Kata Kunci : Steganografi, Kriptografi, Keamanan data, Least Significant Bit,


RC2

iii
DAFTAR ISI

KATA PENGANTAR...............................................................................................i
ABSTRAK..............................................................................................................iii
DAFTAR ISI...........................................................................................................iv
DAFTAR GAMBAR..............................................................................................vi
DAFTAR TABEL.................................................................................................viii
BAB I PENDAHULUAN....................................................................................1
1.1. Latar Belakang Masalah...................................................................1
1.2. Rumusan Masalah............................................................................3
1.3. Batasan Masalah...............................................................................3
1.4. Tujuan dan Manfaat.........................................................................4
1.5. Metode Penelitian............................................................................5
1.6. Sistematika Penulisan.......................................................................5
BAB II LANDASAN TEORI.................................................................................7
2.1. Keamanan Komputer.......................................................................7
2.1.1. Privacy/Confidentiality........................................................9
2.1.2. Integrity................................................................................9
2.1.3. Authentication....................................................................10
2.1.4. Avaibility............................................................................10
2.1.5. Access Control....................................................................11
2.1.6. Non Repudiation.................................................................11
2.2. Steganografi...................................................................................12
2.1.1. Sejarah Steganografi..........................................................14
2.1.2. Tujuan Steganografi...........................................................14
2.1.3. Cara Kerja Steganografi.....................................................17
2.1.4. Steganografi Dengan Merode LSB
(Least Significant Bit)........................................................19
2.1.5. Kriteria Steganografi Yang Baik........................................20
2.3. Kriptografi......................................................................................22
2.2.1. Sejarah Kriptografi.............................................................22
2.2.2. Tujuan Kriptografi..............................................................22
2.2.3. Cara Kerja Kriptigrafi........................................................24
2.2.4. Fungsi Hash........................................................................25
2.2.5. MD5 (Message-Digest Algorithm 5)..................................29
2.2.6. RC2 (Rivest Cipher 2)........................................................30
2.4. Citra................................................................................................32
2.5. Unified Modelling Language.........................................................32
2.5.1. Tujuan Penggunaan UML..................................................33
2.5.2. Use Case Diagran..............................................................33
2.5.3. Defenisi Object dan Class..................................................34
2.5.4. Activity Diagram................................................................35
2.5.5. Class Diagram....................................................................36
2.6. Flowchart.......................................................................................37

iv
BAB III ANALISA DAN PERANCANGAN.......................................................39
3.1. Algoritma RC2, Dan Metode LSB Pada Citra Bitmap..................39
3.1.1. Proses Enkripsi Dan Penyisipan Data................................39
3.1.2. Pengungkapan Data Dan Proses Dekripsi..........................63
3.2. Algoritma Sistem...........................................................................65
3.2.1. Algoritma Penyembunyi File..............................................66
3.2.2. Algoritma Ekstraksi File.....................................................67
3.3. Use Case Diagram.........................................................................69
3.4. Activity Diagram............................................................................73
3.4.1. Activity Diagram Penyembunyi File..................................74
3.4.2. Activity Diagram Ekstraksi File..........................................75
3.5. Class Diagram...............................................................................76
3.6. Flowchart Program........................................................................77
3.4.1. Flowchart Program Penembunyi File................................78
3.4.2. Flowchart Program Ekstraksi File.....................................79
3.7. Perancangan Antar Muka...............................................................80
3.2.1. Antar Muka Form Pembuka...............................................80
3.2.2. Antar Muka Form Menu Utama.........................................81
3.2.3. Antar Muka Form Penyembunyi File.................................82
3.2.4. Antar Muka Form Citra Hasil............................................86
3.2.5. Antar Muka Form Ekstraksi Data......................................87
BAB IV IMPLEMENTASI DAN PENGUJIAN...................................................90
4.1. Kebutuhan Sistem..........................................................................90
4.1.1. Spesifikasi Kebutuhan Perangkat Keras (Hardwaer).........90
4.1.2. Spesifikasi Kebutuhan Perangkat Lunak (Software)..........91
4.2. Implementasi..................................................................................91
4.2.1. Instalasi Aplikasi................................................................91
4.2.2. Tampilan Program..............................................................94
4.2.3. Format Citra Dan File........................................................98
4.2.4. Pengujian Program.............................................................98
4.2.4.1. Pengujian Dengan Menggunakan File Teks ... 99
4.2.4.2. Pengujian Dengan Menggunakan File
Gambar..............................................................102
4.2.4.3. Pengujian Dengan Menggunakan File Teks
Dan File Gambar...............................................105
4.2.4.4. Pengujian Dengan Menggunakan File Teks
Dan Sandi Berbeda............................................109
4.3. Kelemahan dan Kelebihan Sistem................................................113
4.3.1. Kelemahan Sistem.............................................................113
4.3.2. Kelebihan Sistem...............................................................113
BAB V KESIMPULAN DAN SARAN.............................................................114
5.1. Kesimpulan..................................................................................114
5.2. Saran.............................................................................................115
DAFTAR PUSTAKA..............................................................................................ix

v
DAFTAR GAMBAR

Gambar 2.1. Scytale............................................................................................18

Gambar 3.1. Algoritma Penyembunyi File Pada Citra Bitmap...........................67


Gambar 3.2. Algoritma Ekstraksi File Pada Citra Bitmap..................................69
Gambar 3.3. Use Case Diagram Embeded dan Ekstracting File........................70
Gambar 3.4. Activity Diagram Penyembunyi File..............................................74
Gambar 3.5. Activity Diagram Ekstraksi File....................................................75
Gambar 3.6. Class DiagramAplikasi Stegrafi yang dibangun............................76
Gambar 3.7. Flowchart Program Penyembunyi File...........................................78
Gambar 3.8. Flowchart Program Ekstraksi File..................................................79
Gambar 3.9. Perancangan Antar Muka Form Pembuka.....................................80
Gambar 3.10. Perancangan Antar Muka Form Menu Utama................................81
Gambar 3.11. Perancangan Antar Muka Form Penyembunyi File........................82
Gambar 3.12. Perancangan Antar Muka Form Citra Hasil...................................86
Gambar 3.13. Perancangan Antar Muka Form Ekstraksi File...............................87
Gambar 4.1. Instalasi STEGRAFI (Steganografi Dan Kriptografi)
Tahap Awal.....................................................................................92
Gambar 4.2. Instalasi STEGRAFI (Steganografi Dan Kriptografi)
Tahap Dua......................................................................................92
Gambar 4.3. Instalasi STEGRAFI (Steganografi Dan Kriptografi)
Tahap Tiga......................................................................................93
Gambar 4.4. Instalasi STEGRAFI (Steganografi Dan Kriptografi)
Tahap Empat..................................................................................93
Gambar 4.5. Instalasi STEGRAFI (Steganografi Dan Kriptografi)
Tahap Lima....................................................................................94
Gambar 4.7. Tampilan Menu Utama...................................................................94
Gambar 4.8. Tampilan Menu “Sembunyikan File”.............................................95
Gambar 4.9. Tampilan Menu “Citra Hasil”........................................................96
Gambar 4.10. Tampilan Menu “Ekstraksi File”....................................................97
Gambar 4.12. Proses Awal Sebelum Proses Penyembunyian Dan Proses
Enkripsi File Teks........................................................................100
Gambar 4.13. Perbandingan Media Citra Sebelum Dan Setelah Disisipkan
File Teks.......................................................................................100
Gambar 4.14. Hasil Ekstraksi Data Dari Media Citra.........................................101
Gambar 4.15. Perbandingan Isi File Teks Sebelum Disisipkan Ke Dalam
Citra (Kiri) Dan Setelah Diekstraksi Dari Media Citra
Serta Didekripsi (Kanan)..............................................................102
Gambar 4.16. Proses Awal Sebelum Proses Penyembunyian Dan Proses
Enkripsi File Gambar...................................................................103
Gambar 4.17. Perbandingan Media CitraviSebelum Dan Setelah Disisipkan
File Gambar..................................................................................103
Gambar 4.18. Hasil Ekstraksi Data Dari Media Citra.........................................104

vi
Gambar 4.19. Perbandingan Isi File Gambar Sebelum Disisipkan Ke Dalam
Citra (Kiri) Dan Setelah Diekstraksi Dari Media Citra
Serta Didekripsi (Kanan)..............................................................105
Gambar 4.20. Proses Awal Sebelum Proses Penyembunyian Dan Proses
Enkripsi File Teks Dan File Gambar............................................106
Gambar 4.21. Perbandingan Media Citra Sebelum Dan Setelah Disisipkan
File Teks Dan File Gambar..........................................................107
Gambar 4.22. Hasil Ekstraksi Data Dari Media Citra.........................................108
Gambar 4.23. Perbandingan Isi File Teks Dan File Gambar Sebelum
Disisipkan Ke Dalam Citra (Kiri) Dan Setelah Diekstraksi
Dari Media Citra Serta Didekripsi (Kanan).................................109
Gambar 4.24. Proses Awal Sebelum Proses Penyembunyian Dan Proses
Enkripsi File Teks.........................................................................110
Gambar 4.25. Perbandingan Media Citra Sebelum Dan Setelah Disisipkan
File Teks.......................................................................................110
Gambar 4.26. Hasil Ekstraksi Data Dari Media Citra.........................................111
Gambar 4.27. Pesan Kesalahan Saat Penyimpanan File.....................................112

vii
DAFTAR TABEL

Tabel 2.1. Fungsi Dasar MD5................................................................................28


Tabel 2.2. Nilai T[i]................................................................................................29
Tabel 2.3. Simbol-Simbol Use Case Diagram.......................................................34
Tabel 2.4. Simbol-Simbol Activity Diagram...........................................................36
Tabel 2.5. Simbol-Simbol Class Diagram..............................................................37
Tabel 2.6. Simbol-Simbol Flowchart.....................................................................38
Tabel 3.1. Nilai Representasi Warna Citra Bitmap................................................61
Tabel 3.2. Nilai Representasi Warna Citra Bitmap Setelah Disisipkan Data.........62
Tabel 4.1. Tabel Data Media Citra Hasil Pengujian Pertama...............................101
Tabel 4.2. Tabel Data Media Citra Hasil Pengujian Kedua..................................104
Tabel 4.3. Tabel Data Media Citra Hasil Pengujian Ketiga.................................117
Tabel 4.4. Tabel Data Media Citra Hasil Pengujian Keempat..............................111

viii
BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi komunikasi dan informasi memberikan pengaruh

besar bagi kehidupan manusia. Salah satunya adalah penggunaan jaringan

internet yang memungkinkan orang untuk saling bertukar data. Seiring dengan

perkembangan tersebut, kejahatan teknologi komunikasi dan informasi juga turut

berkembang, seperti yang sering kita dengar adalah hacker, cracker, carder,

phreaker dan sebagainya.

Ancaman dari keamanan komunikasi lewat jaringan turut menjadi sorotan

bagi para pengguna internet. Ancaman-ancaman tersebut bisa berupa interupsi,

penyadapan, modifikasi maupun fabrikasi. Tentunya ancaman ini akan berakibat

pada data-data yang dikomunikasikan.

Dengan berkembangnya ilmu pengetahuan khususnya dibidang

informatika, penerapan teknik-teknik pengamanan data yang sudah pernah dipakai

jaman dulu bisa menjadi alternatif dalam pengamanan komunikasi data melalui

jaringan internet. Sebagai contoh adalah kriptografi, yang merupakan teknik untuk

menjaga keamanan pesan yang dikirim dari suatu tempat ke tempat yang lain.

Kriptografi sudah dikenal 4000 tahun yang lalu. Kriptografi berkembang pada

jaman mesir kuno dan romawai kuno. Bahkan kriptografi ini memegang peranan

penting dalam perang dunia kedua, yang pada saat itu kriptografi diterapkan

menggunakan mesin motor yang disebut dengan enigma. Enigma ini digunakan

1
1

oleh Hittler untuk mengirim pesan ke tentaranya. Dalam penerapannya,

kriptografi sering disebut dengan istilah enkripsi.

Perkembangan steganografi menjadi salah satu alternatif pengamanan

dalam komunikasi data di jaringan internet. Berbeda dengan teknik kriptografi,

kalau kriptografi, kecurigaan terhadap pesan yang disamarkan mudah dikenali

karena pesan disamarkan dengan cara mengubah pesan yang asli menjadi

seolah-olah tidak terbaca. Sedangkan steganografi lebih mengurangi kecurigaan

karena pesan yang disamarkan disembunyikan dalam sebuah file misalnya

disembunyikan didalam sebuah citra.

RC2 adalah cipher blok yang menggunakan 64 bit sebagai ukuran per

blok-nya dengan kunci yang ukurannya bervariasi (0-1024 bit). Metode ini dapat

diterapkan dalam proses pengamanan data pada kriptografi. LSB (least significant

bit) merupakan metode menyisipkan sebuah nilai pada bit-bit terendah (Least

Significant Bit) pada tiap-tiap pixel sebuah citra. Penerapan LSB pada

steganografi tepat digunakan, dimana citra yang telah di-tepat digunakan, dimana

citra yang telah di-embedd tidak mengalami perubahan yang significan, bahkan

tidak tampak adanya perubahan. Maka dengan menggunakan metode RC2 dan

LSB akan menghasilkan suatu sistem dengan tingkat keamanan yang lebih tinggi.

Kriptografi dan steganografi sama-sama memiliki kelemahan. Dengan

menggabungkan kedua teknik pengamanan data tersebut maka data bisa lebih

terjamin kerahasiaannya. Berdasarkan hal tersebut maka dilakukan penelitian

sebagai objek dalam penyusunan skripsi ini dengan judul “Implementasi

Steganografi dan Kriptografi Untuk Keamanan Data Dengan Metode RC2

dan LSB Pada Citra Bitmap”.


1.2 Rumusan Masalah

Rumusan masalah yang akan dibahas dalam penulisan skripsi ini adalah

sebagai berikut :

1. Bagaimana perubahan dan pengaruh terhadap citra bitmap yang digunakan

sebagai media file steganografi?

2. Bagaimana mengimplementasikan metode RC2 dengan fungsi hash MD5

terhadap file yang akan disembunyikan kedalam citra bitmap?

3. Bagaimana implementasi Steganografi dan Kriptografi pada sebuah citra

bitmap sehingga file yang telah disembunyikan benar-benar terjaga

kerahasiannya.

1.3 Batasan Masalah

Adapun batasan masalah yang akan dibahas dalam penulisan skripsi ini

adalah sebagai berikut :

1. Metode kriptografi yang dipakai menggunakan algoritma RC2 Dan metode

steganografi yang dipakai menggunakan metode LSB (Least Significant Bit).

2. Media penyimpanan file yang digunakan hanya berupa citra bitmap berformat

*.bmp.

3. Citra bitmap yang digunakan minimal berukuran 80 x 80 pixel atau minimal

memiliki 6.400 pixel dan maximal berukuran 2000 x 2000 pixel atau maximal

memiliki 4.000.000 pixel.

4. Resolusi citra bitmap yang digunakan hanya 24 bit saja.

5. File yang dapat disembunyikan di dalam citra bitmap berupa file teks, dan

gambar.

6. Tidak membahas dalam proses pengiriman citra.


1.4 Tujuan Penelitian

Adapun tujuan dari penulisan skripsi ini adalah sebagai berikut :

1. Menghasilkan program yang menerapkan metode steganografi yaitu metode

LSB (Least Significant Bit) dan metode kriptografi yaitu algoritma RC2 dan

fungsi hash MD5.

2. Melihat tingkat perubahan yang dialami oleh citra bitmap yang telah

disisipkan data di dalamnya.

3. Menghasilkan sebuah citra bitmap yang berisi file yang dianggap penting

yang tidak boleh diketahui oleh pihak yang tidak berwenang.

1.5 Manfaat

Adapun manfaat dari penulisan skripsi ini adalah sebagai berikut :

1. Mampu membuat aplikasi stegrafi dalam hal ini media citra digital bertipe

bitmap atau *.bmp, sehingga dapat mengimplementasikan konsep Hidden

Message (Pesan Tersembunyi/ Pesan Terselubung) untuk mengamankan

pesan rahasia dari pengguna informasi yang tidak berhak.

2. Menambah kemampuan program dengan melakukan perbandingan terhadap

perubahan ukuran citra bitmap asli dengan ukuran citra bitmap yang telah

disisipkan data.

3. Menambah pengetahuan dan wawasan dalam memahami sistem keamanan

komputer yang berorientasi pada data ataupun file pada suatu citra.

4. Sebagai sarana dalam menyalurkan keilmuan yang telah dipelajari selama

perkuliahan.
1.6 Metode Penelitian

Metode penelitian yang digunakan dalam penulisan skripsi ini adalah

sebagai berikut :

1. Metode studi pustaka, yaitu dengan membaca beberapa literatur-literatur dan

referensi mengenai steganografi dan kriptografi yang diperoleh dari buku-

buku dari berbagai sumber, dan informasi yang ada di internet.

2. Analisis dan Desain, yaitu menganalisa kebutuhan program dan melakukan

perancangan antarmuka dari aplikasi yang akan dibuat.

3. Pemrograman, yaitu melakukan pengkodean terhadap rancangan-rancangan

yang telah didefinisikan.

4. Implementasi, yaitu mengevaluasi kemampuan program dengan melakukan

perbandingan terhadap perubahan ukuran citra bitmap asli dengan ukuran

citra bitmap yang telah disisipkan data. Dan melakukan perbandingan

terhadap perubahan yang dialami oleh citra bitmap yang telah disisipkan data

seperti kerusakan pada citra bitmap akibat penyisipan data kedalamnya.

1.7 Sistematika Penulisan

Dalam penulisan skripsi ini, dilakukan pembahasan yang dibagi kedalam

lima bab, yaitu :

BAB I Pendahuluan

Pada bab ini dijelaskan tentang latar belakang masalah, rumusan

masalah, batasan masalah, tujuan penelitian, manfaat penelitian,

metodologi penelitian dan sistematika penulisan.


BAB II Landasan Teori

Pada bab ini akan diuraikan secara umum beberapa teori yang

berhubungan dengan pembahasan masalah yang diangkat pada skripsi

ini.

BAB III Analisa dan Perancangan

Pada bab ini dijelaskan mengenai pendekatan serta pemecahan

masalah maupun rancangan program yang digunakan dalam

penyusunan skripsi ini.

BAB IV Implementasi dan Pengujian

Pada bab ini dibahas implementasi dari algoritma steganografi dan

kriptografi yang digunakan pada skripsi ini dan beberapa hasil uji coba

terhadap citra bitmap yang telah disisipkan data.

BAB V Kesimpulan dan Saran

Bab ini berisi beberapa kesimpulan berdasarkan uraian-uraian yang

diperoleh sebelumnya pada skripsi ini dan berupa saran untuk

pengembangan lebih lanjut.


BAB II

LANDASAN TEORI

2.1 Keamanan Komputer

Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem

informasi. David J.Icove (2005:31) menjelaskan dalam bukunya yang berjudul

“Collaring The Cybercrook : An Investigator’s View”, keamanan dapat

diklasifikasikan menjadi empat, yaitu:

1. Keamanan yang bersifat fisik (physical security), termasuk akses orang ke

gedung, peralatan, dan media yang digunakan.

2. Keamanan yang berhubungan dengan orang (personal), termasuk identifikasi,

dan profil resiko dari orang yang mempunyai akses (pekerja).

3. Keamanan dari data dan media serta teknik komunikasi (communications).

Yang termasuk di dalam kelas ini adalah kelemahan dalam software yang

digunakan untuk mengelola data.

4. Keamanan dalam operasi, termasuk prosedur yang digunakan untuk mengatur

dan mengelola sistem keamanan, dan juga termasuk prosedur setelah serangan

(post attack recovery).

Menurut Budi Raharjo (2005:34), aspek-aspek ancaman pada komunikasi

komputer mencakup dua aspek yaitu :

1. Aspek eksternal, yang terdiri dari kejahatan dan serangan,

2. Aspek internal yang terdiri dari :

a. Kerahasiaan data

7
1

b. Privasi

c. Batasan hak akses.

William Stallings (2005:67) menjelaskan berbagai bentuk serangan yang

dapat terjadi dalam keamanan data, yang meliputi :

1. Pencegatan/pengambilan informasi (interruption),

2. Penyadapan (interception),

3. Modifikasi/perusakan (modification/tampering), dan

4. Pemalsuan (fabrication).

Bentuk serangan interruption yaitu dimana pelaku menghentikan dan

merusak informasi sehingga informasi tidak disampaikan pada yang berhak,

biasanya terjadi perusakan pada perangkat keras (hardware). Interruption dapat

menyebabkan perangkat sistem menjadi rusak atau tidak tersedia. Serangan ditujukan

kepada ketersediaan (availability) dari sistem. Contoh serangan adalah “denial of service

attack”.

Serangan yang terjadi dalam bentuk interception yaitu dimana pihak yang

tidak berwenang berhasil mengakses aset atau informasi. Informasi akan diterima oleh

orang yang tidak berhak atas infomasi (unauthorized) serta terjadinya

penggandaan file/program (illicit copying). Selain itu terjadinya penyadapan paket

informasi ( sniffing and wiretapping).

Modifikasi / perusakan terjadinya penghentian aliran informasi atau

terhambatnya informasi serta informasi yang diterima berubah. Pihak yang tidak

berwenang tidak saja berhasil mengakses, akan tetapi dapat juga mengubah aset. Contoh

dari serangan ini antara lain adalah mengubah isi dari web site dengan pesan-pesan yang

merugikan pemilik web site.


Sedangkan serangan dalam bentuk fabrication yaitu pihak yang tidak

berwenang menyisipkan objek palsu ke dalam sistem. Contoh dari serangan jenis ini

adalah memasukkan pesan-pesan palsu seperti e-mail palsu ke dalam jaringan computer.

Menurut Simson Garfinkel (2006:101), keamanan komputer melingkupi

empat aspek, yaitu privacy, integrity, authentication, dan availability. Selain

keempat hal di atas, masih ada dua aspek lain yang juga sering dibahas dalam

kaitannya dengan electronic commerce, yaitu access control dan non-repudiation.

2.1.1 Privacy / Confidentiality

Inti utama aspek privacy atau confidentiality adalah usaha untuk menjaga

informasi dari orang yang tidak berhak mengakses. Privacy lebih kearah data-data

yang sifatnya pribadi 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 tersebut. Contoh hal yang berhubungan dengan privacy adalah e-mail

seorang pemakai (user) tidak boleh dibaca oleh administrator. Contoh confidential

information adalah data-data yang sifatnya pribadi (seperti nama, tempat tanggal

lahir, social security number, agama, status perkawinan, penyakit yang pernah

diderita, nomor kartu kredit, dan sebagainya) merupakan data-data yang ingin

diproteksi penggunaan dan penyebarannya.

2.1.2 Integrity

Aspek ini menekankan bahwa informasi tidak boleh diubah tanpa seijin

pemilik informasi. Adanya virus atau pemakai lain yang mengubah informasi

tanpa ijin merupakan contoh masalah yang harus dihadapi. Sebuah e-mail dapat

saja “ditangkap” (intercept) di tengah jalan, diubah isinya (altered, tampered,


modified), kemudian diteruskan ke alamat yang dituju. Dengan kata lain, integritas

dari informasi sudah tidak terjaga. Penggunaan enkripsi dan digital signature,

misalnya, dapat mengatasi masalah ini.

2.1.3 Authentication

Aspek ini berhubungan dengan metoda untuk menghindari terjadinya

copyright yang menyatakan bahwa informasi betul-betul asli, orang yang

mengakses atau memberikan informasi adalah betul-betul orang yang dimaksud,

atau server yang kita hubungi adalah betul-betul server yang asli. Otentikasi

merupakan tugas yang rumit. Bentuk sederhananya adalah melakukan pertukaran

informasi rahasia pada saat pertama komputer menjalin komunikasi, melakukan

pengecekan satu sama lain.

Masalah pertama, membuktikan keaslian dokumen, dapat dilakukan

dengan teknologi watermarking dan digital signature. Masalah kedua biasanya

berhubungan dengan access control, yaitu berkaitan dengan pembatasan orang

yang dapat mengakses informasi. Dalam hal ini pengguna harus menunjukkan

bukti bahwa memang dia adalah pengguna yang sah, misalnya dengan

menggunakan password.

2.1.4 Availability

Aspek availability atau ketersediaan berhubungan dengan ketersediaan

informasi ketika dibutuhkan. Sistem informasi yang diserang atau dijebol dapat

menghambat atau meniadakan akses ke informasi. Contoh hambatan adalah

serangan yang sering disebut dengan “denial of service attack” (Dos attack),

dimana server dikirimi permintaan (biasanya palsu) yang bertubitubi atau


permintaan yang diluar perkiraan sehingga tidak dapat melayani permintaan lain

atau bahkan sampai down, hang, crash. Contoh lain adalah adanya mailbomb,

dimana seorang pemakai dikirimi e-mail bertubi-tubi (katakan ribuan e-mail)

dengan ukuran yang besar sehingga sang pemakai tidak dapat membuka e-

mailnya atau kesulitan mengakses e-mailnya (apalagi jika akses dilakukan melalui

saluran telepon).

2.1.5 Access Control

Aspek ini berhubungan dengan cara pengaturan akses kepada informasi.

Hal ini biasanya berhubungan dengan klasifikasi data (public, private,

confidential, top secret) & user (guest, admin, top manager), mekanisme

authentication dan juga privacy. Access control seringkali dilakukan dengan

menggunakan kombinasi user id/password atau dengan menggunakan mekanisme

lain (seperti kartu, biometrics).

2.1.6 Non-repudiation

Aspek ini menjaga agar seseorang tidak dapat menyangkal telah

melakukan sebuah transaksi. Sebagai contoh, seseorang yang mengirimkan email

untuk memesan barang tidak dapat menyangkal bahwa dia telah mengirimkan

email tersebut. Aspek ini sangat penting dalam hal electronic commerce.

Penggunaan digital signature, certifiates, dan teknologi kriptografi secara umum

dapat menjaga aspek ini. Akan tetapi hal ini masih harus didukung oleh hukum

sehingga status dari digital signature itu jelas legal.


2.2 Steganografi

Steganografi merupakan seni dan ilmu menulis atau menyembunyikan

pesan tersembunyi dengan cara tertentu sehingga selain si pengirim dan si

penerima, tidak ada seorang pun yang mengetahui atau menyadari bahwa ada

suatu pesan rahasia. Istilah steganografi (steganography) berasal dari bahasa

Yunani, yaitu steganos yang berarti penyamaran atau penyembunyian dan

graphein yang berarti tulisan. Jadi steganografi (steganography) bisa diartikan

sebagai seni menyamarkan/menyembunyikan pesan tertulis ke dalam pesan

lainnya. (Munir, 2006:98)

2.2.1 Sejarah Steganografi

Sejarah steganografi diawali dengan penggunaan hieroglyphic oleh bangsa

Mesir, yakni menulis menggunakan karakter-karakter dalam wujud gambar. Mesir

merupakan bangsa yang pertama kali menggunakan kriptografi di dunia ini.

Hieroglyphic dibaca sebagai gambar atau simbol. Di kota Menet Khufu, 4000

tahun yang lalu, ahli tulis menggunakan tulisan Mesir kuno yang menceritakan

kehidupan majikannya. Tulisan Mesir kuno tersebut menjadi ide untuk membuat

pesan rahasia saat ini. Oleh karena itulah, mesir kuno yang menggunakan gambar

dianggap sebagai steganografi pertama di dunia. (Neil F. Johnson, 2006:154)

Menurut para ahli, Yunani juga termasuk bangsa yang menggunakan

steganografi setelah bangsa Mesir. Seorang sejarawan Yunani pertama yaitu

Herodotus menulis sebuah cerita tentang steganografi, yaitu ketika seorang raja

kejam Yunani bernama Histaeus dipenjarakan oleh Raja Darius di Susa pada abad

ke-5 sebelum Masehi. Histaeus harus mengirim pesan rahasia kepada anak laki-

lakinya, Aristagoras di Militus. Ia menulis pesan dengan cara menato pesan pada
kulit kepala seorang budak. Ketika rambut budak itu mulai tumbuh, Histaeus

mengutus budak itu ke Militus untuk mengirim pesan dikulit kepalanya tersebut

kepada Aristagoras.

Cerita lain yang ditulis oleh Heredotus, yaitu Demeratus, mengisahkan

seorang Yunani yang akan mengabarkan berita kepada Sparta bahwa Xerxes

bermaksud menyerbu Yunani. Agar tidak diketahui pihak Xerxes, Demaratus

menulis pesan dengan cara mengisi tabung kayu dengan lilin dan menulis pesan

dengan cara mengukirnya pada bagian bawah kayu. Papan kayu tersebut

dimasukkan kedalam tabung kayu, kemudian tabung kayu ditutup kembali dengan

lilin.

Teknik steganografi yang lain adalah tinta yang tak terlihat. Teknik ini

pertama kali digunakan pada zaman Romawi kuno, yaitu dengan menggunakan air

sari buah jeruk, urin, atau susu sebagai tinta untuk menulis pesan. Cara

membacanya adalah dengan dipanaskan diatas nyala lilin. Tinta yang sebelumnya

tidak terlihat, ketika terkena panas akan berangsur-angsur menjadi gelap sehingga

pesan dapat dibaca.

Teknik ini juga pernah digunakan pada Perang Dunia II.

Pada masa lampau steganografi sudah dipakai untuk berbagai kebutuhan, seperti

kepentingan politik, militer diplomatik, serta untuk kepentingan pribadi, yaitu alat

komunikasi pribadi. Pada Perang Dunia II, Jerman menggunakan microdots untuk

berkomunikasi. Penggunaan teknik ini biasa digunakan pada microfilm chip yang

harus diperbesar sekitar 200 kali. Dalam hal ini Jerman menggunakan

steganografi untuk kebutuhan perang sehingga pesan rahasia strategi atau apapun
tidak bisa diketahui oleh pihak lawan. Teknologi yang digunakan dalam hal ini

adalah teknologi baru yang pada saat itu belum bisa digunakan oleh pihak lawan.

Dari catatan sejarah dan contoh-contoh steganografi konvensional

tersebut, kita dapat melihat bahwa semua teknik steganografi konvensional selalu

berusaha merahasiakan pesan dengan cara menyembunyikan, mengkamuflase,

ataupun menyamarkan pesan.

2.2.2 Tujuan Steganografi

Saat ini dalam dunia digital, teknik steganografi banyak digunakan untuk

menyembunyikan informasi rahasia dengan berbagai maksud. Salah satu tujuan

dari steganografi adalah mengirimkan informasi rahasia melalui jaringan tanpa

menimbulkan kecurigaan. Disamping itu steganografi juga dapat digunakan untuk

melakukan autentikasi terhadap suatu hasil karya sebagaimana pemanfaatan

watermarking. Namun steganografi juga bisa digunakan sebagai sarana kejahatan

yang dapat digunakan oleh para teroris untuk saling berkomunikasi satu dengan

lainnya.

2.2.3 Cara Kerja Steganografi

Steganografi memerlukan setidaknya dua properti. Properti pertama adalah

wadah penampung (cover) dan yang kedua adalah data atau pesan yang

disembunyikan. Untuk meningkatkan tingkat keamanan data yang disimpan, dapat

dilakukan dengan menambahkan properti kunci (key) rahasia. Properti kunci ini

dapat berupa kunci simetris maupun kunci public atau privat. Berkas hasil dari

proses steganografi sering disebut sebagai berkas stego (stego file) atau stego

objek. (Johnson, 2006:175)


Properti wadah (cover) yang mungkin digunakan untuk menyimpan pesan

dalam steganografi sangat beragam. Medium wadah tersebut antara lain citra,

suara, video ataupun teks. Adapun data yang disimpan juga dapat berupa audio,

citra, video maupun teks. Pertimbangan pemilihan penggunaan kunci dari segi

tipe (simetris, public/privat) serta panjang kunci adalah suatu hal yang juga

berperan penting dalam pengamanan data yang tersimpan dalam steganografi,

disamping menjadi pertimbangan tingkat kemudahan saat ekstraksi data.

Steganografi berbeda dengan kriptografi. Jika dalam kriptografi pesan

yang dirahasiakan tidak disembunyikan, seorang kriptanalis dapat membaca pesan

dalam format yang terenkripsi dan juga melakukan dekripsi data, maka dalam

steganografi yang pertama kali harus dilakukan oleh seorang steganalis adalah

menemukan stego objek terlebih dahulu, hal ini karena pesan yang dirahasiakan

disembunyikan (tidak nampak) dalam medium lain (cover).

Proses penyimpanan data atau informasi yang ingin disembunyikan

disimpan dalam sebuah wadah (cover) dapat dilakukan dengan suatu algoritma

steganografi tertentu (misalnya metode LSB). Untuk menambah tingkat keamanan

data, dapat diberikan kunci, agar tidak semua orang mampu mengungkapkan data

yang disimpan dalam berkas wadah (cover). Hasil akhir dari proses penyimpanan

data ini adalah sebuah berkas stego (stego data/stego file).

Pengungkapan data atau informasi dari berkas stego dapat dilakukan

dengan mengekstrak berkas stego tersebut dengan memasukkan kunci yang

sesuai. Hasil ekstraksi ini adalah berupa data atau informasi dan wadah (cover)

awal. Proses pengungkapan informasi dari berkas stego digambarkan pada gambar

berikut ini.
Pada dasarnya, terdapat tujuh teknik yang digunakan dalam steganografi,

yaitu:

1. Injection

Merupakan suatu teknik menanamkan pesan rahasia secara langsung ke

suatu media. Salah satu masalah dari teknik ini adalah ukuran media yang

diinjeksi menjadi lebih besar dari ukuran normalnya sehingga mudah dideteksi.

Teknik ini sering juga disebut Embedding.

2. Substitusi

Data normal digantikan dengan data rahasia. Biasanya hasil teknik itu

tidak terlalu mengubah ukuran data asli, tetapi tergantung pada file media dan data

yang akan disembunyikan. Teknik substitusi bisa menurunkan kualitas media

yang ditumpangi.

3. Transform domain

Teknik ini sangat efektif. Pada dasarnya, transformasi domain

menyembunyikan data pada “transform space”. Akan sangat lebih efektif bila

teknik ini diterapkan pada file berekstensi Jpeg (gambar).

4. Spread Spectrum

Sebuah teknik pentransmisian menggunakan pseudo-noise code, yang

independen terhadap data informasi sebagai modulator bentuk gelombang untuk

menyebarkan energi sinyal dalam sebuah jalur komunikasi (bandwdith) yang lebih

besar daripada sinyal jalur komunikasi informasi. Oleh penerima, sinyal

dikumpulkan kembali menggunakan replika pseudo-noise code tersinkronisasi.


5. Statistical Spectrum

Teknik ini disebut juga skema steganographic 1 bit. Skema tersebut

menanamkan satu bit informasi pada media tumpangan dan mengubah statistik

walaupun hanya 1 bit. Perubahan statistik ditunjukkan dengan indikasi 1 dan jika

tidak ada perubahan, terlihat indikasi 0. Sistem ini bekerja berdasarkan

kemampuan penerima dalam membedakan antara informasi yang dimodifikasi

dan yang belum.

6. Distortion

Metode ini menciptakan perubahan atas benda yang ditumpangi oleh data

rahasia.

7. Cover Generation

Metode ini lebih unik daripada metode lainnya karena cover object dipilih

untuk menyembunyikan pesan. Contoh dari metode ini adalah Spam Mimic.

2.2.4 Steganografi Dengan Metode LSB (Least Significant Bit)

Pada tugas akhir ini, metode steganografi yang digunakan untuk

menyisipkan pesan adalah metode LSB yaitu dengan menyisipkan sebuah nilai

pada bit-bit terendah (Least Significant Bit) pada tiap-tiap pixel sebuah citra.

Dasar dari metode ini adalah pengetahuan akan bilangan biner atau bilangan basis

2, yang hanya terdiri dari ’1’ dan ’0’. Kedua bilangan yang menjadi dasar dari

kerja komputer ini sering disebut dengan istilah bit. Susunan dari beberapa bit

akan membentuk suatu informasi. Istilah yang umum dikenal adalah byte, yaitu

kumpulan delapan bit data.

Dalam satu byte data, biasanya bit yang paling berpengaruh terhadap

informasi yang dikandungnya adalah bit paling awal/paling kiri. Bit inilah
yang dinamakan Most Significant Bit (MSB). Semakin ke kanan, bit-bit tersebut

semakin kecil pengaruhnya terhadap keutuhan data yang dikandung. Bit paling

akhir/paling kanan inilah yang dinamakan Least Significant Bit (LSB).

Teknik steganografi dengan metode LSB dilakukan dengan memodifikasi

bit-bit yang tergolong LSB pada setiap byte dalam sebuah file. Bit-bit LSB ini

akan dimodifikasi dengan menggantikan setiap LSB yang ada dengan bit-bit

informasi lain yang ingin disembunyikan. Contohnya pada citra bitmap 24-bit,

menggunakan 3 bytes untuk masing-masing pixel, dimana setiap pixel pada citra

tersebut terdiri dari susunan tiga warna dasar yaitu merah, hijau dan biru (RGB)

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

dengan format biner 00000000 sampai 11111111. Dengan demikian pada setiap

pixel citra bitmap 24-bit kita dapat menyisipkan 8 bit data.

Sebagai contoh huruf A akan disisipkan ke dalam citra berukuran 3 x 3

pixel, misalkan data pixel-nya adalah sebagai berikut:

(01100101 10101100 10011010)

(01000101 11001010 11001101)

(11110000 01110101 10100011)

Sedangkan representasi biner huruf A adalah 01000001. Dengan

menyisipkan bit-bit huruf A tersebut pada data pixel diatas, maka setiap bit dari

huruf A tersebut akan menggantikan posisi LSB dari data pixel citra menjadi:

(01100100 10101101 10011010)

(01000100 11001010 11001100)

(11110000 01110101 10100011)


Teknik ini termasuk cukup sederhana, namun terkadang kualitas dari file

yang ditumpanginya sedikit banyak akan terpengaruh. Misalnya untuk citra

bitmap 24-bit di atas, warnanya akan sedikit berubah meskipun mungkin tidak

akan dapat disadari oleh mata manusia normal.

2.2.5 Kriteria Steganografi Yang Baik

Penyembunyian data di dalam steganografi dapat dilakukan menggunakan

wadah berupa citra, audio, teks, ataupun video. Namun yang akan dibahas di sini

adalah penyembunyian data di dalam citra bitmap saja. Meskipun demikian, tidak

hanya citra bitmap saja tetapi citra digital juga dapat digunakan sebagai wadah

dalam penyembunyian data.

Penyembunyian data ke dalam citra bitmap tentunya akan mengubah

kualitas citra tersebut. Adapun kriteria yang perlu diperhatikan dalam

penyembunyian data, yaitu:

1. Fidelity

Setelah penambahan data rahasia, mutu citra penampung tidak jauh

berubah, citra steganografi masih terlihat dengan baik. Pengamat tidak

mengetahui kalau di dalam citra tersebut terdapat data rahasia.

2. Robustness

Data yang disembunyikan harus tahan (robust) terhadap berbagai operasi

manipulasi yang dilakukan pada citra penampung, seperti pengubahan kontras,

penajaman, kompresi, perbesaran gambar, pemotongan gambar (cropping), dan

sebagainya. Data yang disembunyikan seharusnya tidak rusak dan tetap valid jika

diekstraksi kembali.
3. Recovery

Data yang disembunyikan harus dapat diungkapkan kembali (reveal).

Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu data rahasia

di dalam citra penampung harus dapat diambil kembali untuk digunakan lebih

lanjut.

2.3 Kriptografi

Kriptografi berasal dari bahasa Yunani, yang terdiri dari dua kata, yaitu

kripto dan graphia. Kripto berarti rahasia (secret) sedangkan graphia berarti

tulisan (writing). Sehingga kriptografi bisa diartikan sebagai “tulisan yang

dirahasiakan”. Secara umum kriptografi adalah ilmu dan seni untuk menjaga

kerahasiaan berita. Selain itu, kriptografi juga bisa diartikan sebagai ilmu yang

mempelajari teknik-teknik matematika yang berhubungan dengan aspek

keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta

autentifikasi data. Tidak semua aspek keamanan informasi ditangani oleh

kriptografi. (Munir, 2006:155)

2.3.1 Sejarah Kriptografi

Kriptografi memiliki sejarah yang sangat menarik dan panjang. Kriptografi

sudah digunakan 4000 tahun lalu yang diperkenalkan oleh orang-orang Mesir

menggunakan hieroglyph tidak standar untuk menulis pesan.

Kemudian sekitar tahun 400SM pada zaman yunani kuno, kriptografi

digunakan oleh tentara sparta untuk mengirimkan pesan militer dengan

menggunakan alat yang bernama scytale. Alat ini berupa pita panjang dari daun

papyrus ditambah sebatang silinder, pesan ditulis secara horizontal atau baris
perbaris. Apabila pita dilepaskan, maka huruf-huruf didalamnya telah tersusun

membentuk pesan rahasia. Untuk membaca pesan, penerima harus melilitkan

kembali pita ke silinder yang diameternya sama dengan diameter silinder

pengirim.

Gambar 2.1 Scytale

Ilmu kriptografi sejak dahulu digunakan diberbagai aspek kehidupan.

Sebagai contoh di India, dahulu kriptografi digunakan oleh lovers (pencinta)

untuk berkomunikasi tanpa diketahui orang lain. Bukti ini ditemukan di dalam

buku kama sutra yang merekomendasikan wanita seharusnya mempelajari seni

memahami tulisan cipher.

Ilmu kriptografi juga digunakan pada perang dunia II, pemerintah Nazi

Jerman membuat mesin enkripsi yang dinamakan Enigma. Kemudian tak lama

berselang Enigma cipher berhasil dipecahkan oleh sekutu. Keberhasilan

memecahkan Enigma disinyalir sebagai faktor yang memperpendek perang dunia

II.

Dari beberapa kutipan sejarah diatas, dapat dilihat bahwa ilmu kriptografi

sangat bermanfaat khususnya dibidang kemiliteran. Saat ini seiring

berkembangnya zaman dan masuknya peradaban manusia ke era informasi, ilmu

kriptografi juga dimanfaatkan untuk mengamankan lalu lintas informasi

khususnya di jaringan publik atau internet.


2.3.2 Tujuan Kriptografi

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan

aspek keamanan informasi, yaitu: (Munir, 2006:160)

1. Kerahasiaan adalah layanan yang digunakan untuk menjaga isi dari informasi

dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk

membuka/mengupas informasi yang telah disandi.

2. Integritas data adalah berhubungan dengan penjagaan dari perubahan data

secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki

kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak

berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain

kedalam data yang sebenarnya.

3. Autentikasi adalah berhubungan dengan identifikasi/pengenalan, baik secara

kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling

berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan

melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan

lain-lain.

4. Non-repudiasi atau anti-penyangkalan adalah usaha untuk mencegah

terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh

yang mengirimkan/membuat.

2.3.3 Cara Kerja Kriptografi

Dalam ilmu kriptografi suatu pesan yang akan dirahasiakan atau

disandikan disebut dengan plaintext, sedangkan pesan yang telah disandikan

sehingga tidak bermakna lagi yang bertujuan agar pesan tidak dapat dibaca oleh

pihak yang tidak berhak disebut ciphertext. Lalu dalam ilmu kriptografi terdapat

istilah enkripsi dan


deskripsi. Enkripsi adalah proses menyandikan plaintext menjadi ciphertext.

Sedangkan proses mengembalikan ciphertext menjadi plaintext semula disebut

sebagai dekripsi.

Secara umum berdasarkan penggunaan kuncinya, algoritma kriptografi

dibagi menjadi dua bagian, yaitu :

1. Algoritma Simetris

Algoritma ini sering juga disebut algoritma klasik karena memakai kunci

yang sama untuk proses enkripsi dan deskripsinya. Algoritma simetri sudah ada

lebih dari 4000 tahun yang lalu. Pengiriman pesan mengguanakan algoritma

tersebut mengharuskan si penerima pesan untuk mengetahui kunci dari pesan

tersebut agar bisa mendekripsi pesan yang dikirim. Keamanan dari pesan tersebut

yang menggunakan algoritma itu tergantung pada kunci. Jika kunci tersebut

diketahui oleh orang lain, maka orang lain tersebut bisa melakukan enkripsi dan

dekripsi terhadap pesan tersebut. Algoritma yang memakai kunci simetri di

antaranya adalah:

a. Data Encryption Standard (DES)

b. RC2, RC4, RC5, RC6

c. International Data Encryption Algorithm (IDEA)

d. Advanced Encryption Standard (AES)

e. One Time Pad (OTP)

f. A5

g. Dan lain sebagainya.


2. Algoritma Asimetris

Algoritma asimetri sering juga disebut algoritma kunci publik. Artinya,

kata kunci yang digunakan untuk melakukan enkripsi dan deskripsinya berbeda.

Pada algoritma asimetri, kunci terbagi menjadi dua bagian:

a. Kunci umum (public key) adalah kunci yang boleh diketahui semua orang

(dipublikasikan).

b. Kunci pribadi (private key) adalah kunci yang dirahasiakan (hanya boleh

diketahui oleh satu orang yang bersangkutan).

Kunci-kunci tersebut saling berhubungan satu dengan yang lainnya.

Penggunaan kunci umum memungkinkan seseorang untuk bisa mengenkripsi

pesan, tetapi tidak mendekripsinya. Hanya orang yang memiliki kunci pribadi

yang mendekripsi pesan tersebut. Algoritma asimetris bisa mengirim pesan

dengan lebih aman daripada algoritma simetris.

Algoritma yang memakai kunci umum di antaranya adalah:

a. Digital Signature Algorithm (DSA)

b. RSA

c. Diffie-Hellman (DH)

d. Elliptic Curve Cryptography (ECC)

e. Cryptography Quantum

f. Dan lain sebagainya.

2.3.4 Fungsi Hash

Fungsi hash kriptografi adalah fungsi hash yang memiliki beberapa sifat

keamanan tambahan sehingga dapat dipakai untuk tujuan keamanan data.

Umumnya digunakan untuk keperluan autentikasi dan integritas data. Fungsi hash
adalah fungsi yang secara efisien mengubah string input dengan panjang

berhingga menjadi string output dengan panjang tetap yang disebut nilai hash.

Adapun sifat-sifat yang dimiliki fungsi hash kriptografi, yaitu:

1. Tahan pre-image (Pre-image resistant), bila diketahui nilai hash h maka sulit

(secara komputasi tidak layak) untuk mendapatkan m dimana h = hash (m).

2. Tahan pre-image kedua (Second pre-image resistant), bila diketahui input m1

maka sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan hash

(m1) = hash (m2).

3. Tahan tumbukan (Collision-resistant), sulit mencari dua input berbeda m1 dan

m2 yang menyebabkan hash (m1) = hash (m2).

Beberapa contoh algoritma fungsi hash Kriptografi adalah Message

Diggest 4 (MD4), Message Diggest 5 (MD5), SHA-0, SHA-1, SHA-256, SHA-

512 dan lain sebagainya.

2.3.5 MD5 (Message-Digest Algorithm 5)

Dalam kriptografi, MD5 (Message-Digest Algortihm 5) ialah fungsi hash

kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standar

Internet (RFC 1321), MD5 telah dimanfaatkan bermacam-macam pada aplikasi

keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas

sebuah file. (Raharja, 2005:96)

MD5 didesain oleh Ron Rivest pada tahun 1991 untuk menggantikan hash

function sebelumnya, yaitu MD4. Pada tahun 1996, sebuah kecacatan ditemukan

dalam desainnya, walau bukan kelemahan fatal, pengguna kriptografi mulai

menganjurkan menggunakan algoritma lain, seperti SHA-1 (klaim terbaru

menyatakan bahwa SHA-1 juga cacat). Pada tahun 2004, kecacatan-kecacatan


yang lebih serius ditemukan menyebabkan penggunaan algoritma tersebut dalam

tujuan untuk keamanan jadi makin dipertanyakan.

MD5 memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit,

kemudian dibagi ke dalam 32 bit sub blok sebanyak 16 buah. Keluaran dari MD5

berupa 4 buah blok yang masing-masing berukuran 32 bit yang setelah

digabungkan akan membentuk nilai hash 128 bit.

MD5 terdiri atas 64 operasi, dikelompokkan dalam empat putaran dari 16

operasi. F adalah fungsi nonlinear; satu fungsi digunakan pada tiap-tiap putaran.

Mi menujukkan blok 32-bit dari masukan pesan, dan Ki menunjukkan konstanta

32-bit, berbeda untuk tiap-tiap operasi. Blok s menunjukkan perputaran bit kiri

oleh s; s bervariasi untuk tiap-tiap operasi. Blok menunjukan penambahan

32
modulo 2 . MD5 memproses variasi panjang pesan kedalam keluaran 128-bit

dengan panjang yang tetap.

Secara umum proses yang dilakukan oleh algoritma MD5 terdiri dari

empat langkah, yaitu:

1. Penambahan bit-bit pengganjal

Proses pertama yang dilakukan adalah menambahkan pesan dengan

sejumlah bit pengganjal sehingga panjang pesan (dalam satuan bit) kongruen

dengan 448 modulo 512. Ini berarti setelah menambahkan bit-bit pengganjal, kini

panjang pesan adalah 64 bit kurang dari kelipatan 512. Hal yang perlu diingat

adalah angka 512 muncul karena algoritma MD5 memproses pesan dalam blok-

blok yang berukuran 512.

Apabila terdapat pesan dengan panjang 448 bit, maka pesan tersebut akan

tetap ditambahkan dengan bit-bit pengganjal. Pesan akan ditambahkan dengan


512 bit menjadi 960 bit. Jadi panjang bit-bit pengganjal adalah antara 1 sampai

512. Bit-bit pengganjal terdiri dari sebuah bit 1 dan sisanya diikuti dengan bit 0.

2. Penambahan Nilai Panjang Pesan Semula

Kemudian proses berikutnya adalah pesan ditambah lagi dengan 64 bit

yang menyatakan panjang pesan semula. Apabila panjang pesan semula lebih

64 64
besar dari 2 , maka yang diambil adalah panjangnya dalam modulo 2 . Dengan

kata lain, jika pada awalnya panjang pesan semula sama dengan K bit, maka 64 bit

64
yang ditambahkan menyatakan K modulo 2 . Sehingga setelah proses kedua ini

selesai dilakukan maka panjang pesan sekarang adalah 512 bit.

3. Inisialisasi Penyangga MD (Message Diggest)

Pada algoritma MD5 dibutuhkan empat buah penyangga atau buffer,

secara berurut keempat nama penyangga diberi nama A, B, C dan D. Masing-

masing penyangga memiliki panjang 32 bit. Sehingga panjang total penyangga

adalah 4 x 32 bit = 128 bit.

Keempat penyangga ini menampung hasil antara dan hasil akhir. Setiap

penyangga diinisialisasi dengan nilai-nilai (dalam notasi Hexadesimal) sebagai

berikut :

A = 01234567, B = 89ABCDEF

C = FEDCBA98, D = 76543210

4. Pengolahan pesan dalam blok berukuran 512 bit

Proses berikutnya adalah pesan dibagi menjadi L buah blok yang masing-

masing panjangnya 512 bit (Y0 sampai YL-1). Setelah itu setiap blok 512 bit

diproses bersama dengan penyangga MD yang menghasilkan keluaran 128 bit.


Proses operasi MD5 dilakukan sebanyak 4 putaran dengan 16 kali operasi

dalam setiap putarannya, dengan menggunakan persamaan berikut ini:

a = b + CLSS(a + f(b,c,d) + X[k] + T[i])

Keterangan:

- a, b, c, d = empat buah peubah penyangga 32-bit (berisi nilai penyangga A, B,

C, D)

- f = salah satu fungsi F, G, H, I

- CLSS = circular left shift (pergeseran bit ke kiri) sebanyak s bit

- X[k] = kelompok 32-bit ke-k dari blok-blok pesan (Yi) 512 bit ke-i. Nilai k = 0

sampai 15.

- T[i] = elemen Tabel T ke-i (32 bit)


32
- (+) = operasi penjumlahan modulo 2

Tabel 2.1. Fungsi Dasar MD5

No. Fungsi Dasar MD5

1. F(X ,Y, Z) (X Y ) (~ X Z)

2. G(X ,Y, Z) (X Z) (Y ~ Z)

3. H ( X ,Y , Z) X Y Z

4. I (X ,Y, Z) Y (X ~ Z )

Keterangan: , , , ~ menunjukkan operasi logika XOR, AND, OR dan NOT.


Tabel 2.2. Nilai T[i]

T[1] = D76AA478 T[17] = F61E2562 T[33] = FFFA3942 T[49] = F4292244


T[2] = E8C7B756 T[18] = C040B340 T[34] = 8771F681 T[50] = 432AFF97
T[3] = 242070DB T[19] = 265E5A51 T[35] = 69D96122 T[51] = AB9423A7
T[4] = C1BDCEEE T[20] = E9B6C7AA T[36] = FDE5380C T[52] = FC93A039
T[5] = F57C0FAF T[21] = D62F105D T[37] = A4BEEA44 T[53] = 655B59C3
T[6] = 4787C62A T[22] = 02441453 T[38] = 4BDECFA9 T[54] = 8F0CCC92
T[7] = A8304613 T[23] = D8A1E681 T[39] = F6BB4B60 T[55] = FFEFF47D
T[8] = FD469501 T[24] = E7D3FBCB T[40] = BEBFBC70 T[56] = 85845DD1
T[9] = 698098D8 T[25] = 21E1CDE6 T[41] = 289B7EC6 T[57] = 6FA87E4F
T[10] = 8B44F7AF T[26] = C33707D6 T[42] = EAA127FA T[58] = FE2CE6E0
T[11] = FFFF5BB1 T[27] = F4D50D87 T[43] = D4EF3085 T[59] = A3014314
T[12] = 895CD7BE T[28] = 455A14ED T[44] = 04881D05 T[60] = 4E0811A1
T[13] = 6B901122 T[29] = A9E3E905 T[45] = D9D4D039 T[61] = F7537E82
T[14] = FD987193 T[30] = FCEFA3F8 T[46] = E6DB99E5 T[62] = BD3AF235
T[15] = A679438E T[31] = 676F02D9 T[47] = 1FA27CF8 T[63] = 2AD7D2BB
T[16] = 49B40821 T[32] = 8D2A4C8A T[48] = C4AC5665 T[64] = EB86D391

Setelah putaran keempat, a, b, c, dan d ditambahkan ke A, B, C, dan D, dan

selanjutnya algoritma memproses untuk blok data berikutnya (Yq+1).

Keluaran akhir dari algoritma MD5 adalah hasil penyambungan bit-bit di

A, B, C, dan D.

2.3.6 RC2 (Rivest Cipher 2)

RC2 (Rivest Cipher 2) merupakan cipher blok yang didesain oleh Ron

Rivest pada tahun 1987. Pengembangan RC2 disponsori oleh Lotus yang sedang

mencari suatu cipher tertentu setelah evaluasi oleh NSA untuk diekspor sebagai

bagian dari software Lotus Notes. Setelah negosiasi lanjut, cipher ini disetujui dan

diekspor pada tahun 1989. Seperti diketahui pembatasan kunci untuk ekspor

kriptografi oleh pemerintah AS hanya sebesar 40 bit saja. Semua ini termuat

dalam export regulation for cryptography. Detail dari algoritma ini dijaga

kerahasiaannya dan sebagai property dari RSA Security. Tetapi pada tanggal 29

Januari 1996, source code atau kode sumber dari RC2 telah dipublikasikan ke
Internet oleh orang tanpa nama melalui forum Usenet yaitu Sci.crypt. (Budi

Raharja, 2005:134)

RC2 adalah cipher blok yang menggunakan 64 bit sebagai ukuran per

blok-nya dengan kunci yang ukurannya bervariasi (0-1024 bit). Dengan

mengubah-ubah ukuran kunci ini, performansi RC2 dapat menjadi dua atau tiga

kali lebih baik dibanding DES (Data Encryption Standard), algoritma yang

dikembangkan oleh NSA (National Security Agent) dan telah ditetapkan sebagai

algoritma enkripsi standar oleh pemerintah AS pada tahun 1976-1997 (yang

kemudian digantikan oleh AES, Advanced Encryption Standard).

Awalnya, kunci masukan dari pengguna di-padding (jika kunci kurang

dari 128 byte) menggunakan S-Box RC2. Kemudian hasilnya dikonversi menjadi

64 buah kunci dengan masing-masing berukuran 2 byte (16 bit). Di sisi lain, pesan

dibagi menjadi blok-blok 64 bit. Masing-masing blok dibagi menjadi 4 word yang

masing-masing berukuran 16 bit. Word ini kemudian dikomputasikan dengan

kunci 16 bit di atas dengan rumus :

C = CLSS( K P )

Keterangan:

- C = Ciphertext

- K = Kunci

- P = Plaintext

-  = Operasi logika XOR

- CLSS = circular left shift (pergeseran bit ke kiri) sebanyak s bit


2.4 Citra

Pada komputer, sebuah citra adalah sebuah tabel berisi angka-angka yang

merepresentasikan intensitas cahaya. Tiap representasi angka ini membentuk

bagian terkecil dari gambar yang disebut sebagai pixel. Jumlah bit pada tiap

skema warna, disebut bit depth (tingkat kedalaman bit), yang merujuk ke jumlah

bit yang digunakan pada tiap pixel. Bit depth terkecil adalah 8, berarti ada 8-bit

terpakai untuk mendeskripsikan warna untuk tiap pixel. Pada umumnya citra

memiliki 8 atau 24 bit depth. (Munir, 2004:56)

Citra-citra yang diformat secara monokrom atau grayscale, menggunakan

8-bit tiap pixel-nya dan mampu menampilkan 256 perubahan warna abu-abu. Pada

citra dengan true colour (warna alami), umumnya disimpan dengan 24-bit dan

menggunakan model RGB (red, green, blue) yang tiap warnanya

direpresentasikan dengan 8-bit (karena itu menghasilkan 24-bit untuk tiga warna).

Tentu saja pada citra yang dipilih, semakin besar bit yang digunakan semakin

besar ukuran file.

Citra dengan 24-bit menyediakan kemungkinan yang lebih besar untuk

menyembunyikan informasi (kecuali pada file bertipe JPEG). Semua variasi

warna pada tiap pixel diturunkan dari tiga warna dasar (merah, hijau dan biru).

Setiap warna dasar merepresentasikan 1 byte; citra 24-bit menggunakan 3 byte

untuk per pixel untuk merepresentasikan satu nilai warna. Tiga byte ini dapat

direpresentasikan sebagai hexadesimal, desimal, atau biner. Dalam banyak

halaman Web, warna yang digunakan sebagai latar belakang direpresentasikan

dengan hexadesimal 6 digit, yang aktualnya 6 digit itu terdiri dari 3 pasang warna

yang merepresentasikan merah, hijau, dan biru. Latar belakang putih akan
direpresentasikan dengan FFFFFF yaitu 100% merah (FF), 100% hijau (FF), dan

100% biru (FF). Nilai ini setara dengan nilai desimalnya, 255, 255, dan 255. Nilai

binernya adalah 11111111, 11111111, dan 11111111.

Representasi suatu pixel berkontribusi pada ukuran file itu sendiri. Sebagai

contoh, bila kita memiliki citra 24-bit dengan lebar 1024 pixel dan panjang 768

pixel, akan menghasilkan resolusi untuk citra beresolusi tinggi. Citra semacam itu

memiliki lebih dari 2 milyar pixel dan kemungkinan berukuran lebih dari 2 MB.

Walaupun citra 24-bit memiliki kemungkinan tinggi untuk menyembunyikan

informasi, ukuran sebesar ini dapat mengundang kecurigaan pada halaman Web.

Oleh karena itu, sangat menguntungkan bagi kita karena telah ada teknologi

kompresi, terutama kompresi gambar.

File citra yang paling banyak digunakan sebagai wadah (cover) untuk

menyembunyikan pesan rahasia pada format citra, yaitu:

1. JPEG / JPG

2. BMP

3. GIF (Graphic Interchange Format)

4. TIFF (Tag Image File Format)

5. PNG (Portable Network Graphics)

6. Dan lain sebagainya

2.5 Unified Modeling Language

UML (Unified Modeling Language) adalah metode pemodelan secara visual

sebagai sarana untuk merancang dan atau membuat software berorientasi objek.

Karena UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi

objek, maka semua elemen dan diagram berbasiskan pada paradigma object
oriented.UML menawarkan sebuah standar untuk merancang model sebuah

sistem. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan

syntax/semantik.

2.5.1 Tujuan Penggunaan UML

Adapun tujuan dari penggunaan UML adalah sebagai berikut:

1. Memodelkan suatu sistem (bukan hanya perangkat lunak) yang menggunakan

konsep berorientasi object.

2. Menciptakan suatu bahasa pemodelan yang dapat digunakan baik oleh

manusia maupun mesin.

2.5.2 Use Case

Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga

customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem

yang akan dibangun. (Kristanto, 2005:35)

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan

“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor

dengan sistem. Menggambarkan sejumlah external actors dan hubungannya ke use

case yang diberikan oleh sistem. Use case adalah deskripsi fungsi yang disediakan

oleh sistem dalam bentuk teks sebagai dokumentasi dari use case symbol namun

dapat juga dilakukan dalam activity diagrams. Use case digambarkan hanya yang

dilihat dari luar oleh actor (keadaan lingkungan sistem yang dilihat user) dan bukan

bagaimana fungsi yang ada di dalam sistem.


Beberapa komponen Use Case Diagram dapat dilihat pada table dibawah ini:

Tabel 2.3 Simbol-simbol Use Case Diagram

Nama Komponen Deskripsi Gambar

Menerangkan “apa” yang


dikerjakan sistem, bukan
Use Case
“bagaimana” sistem
mengerjakannya.

Menggambarkan orang,
sistem atau external entitas /
Actor stakeholder yang
menyediakan atau menerima
informasi dari sistem.

Menggambarkan jangkauan
Sistem Boundary
sistem

Menggambarkan bagaimana
Association
actor terlibat dalam use case

Dibuat ketika ada sebuah


Generalization keadaan yang lain/perlakuan
khusus.

Perluasan dari use case lain


jika kondisi atau syarat << Extend >>
Extend
terpenuhi

Menjelaskan bahw use case


Include << include >>
termasuk didalam use case lain

Sumber: Kristanto, A. (2005:36)

2.5.3 Definisi Object dan Class

Object adalah gambaran dari entity, baik dunia nyata atau konsep dengan

batasan-batasan dan pengertian yang tepat. Object bisa mewakili sesuatu yang

nyata seperti komputer, mobil atau dapat berupa konsep seperti proses kimia,
transaksi bank, permintaan pembelian, dll. Setiap object dalam sistem memiliki

tiga karakteristik yaitu State (status), Behaviour (sifat) dan Indentity (identitas).

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan

sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi

objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus

menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).

Class diagram menggambarkan struktur dan deskripsi Class, package dan objek

beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan

lain-lain. (Kristanto, 2005:55)

Class memiliki tiga area pokok yaitu nama, atribut dan metoda. Atribut dan

metoda dapat memiliki salah satu sifat berikut :

1. Private, tidak dapat dipanggil dari luar Class yang bersangkutan

2. Protected, hanya dapat dipanggil oleh Class yang bersangkutan dan anak-

anak yang mewarisinya

3. Public, dapat dipanggil oleh siapa saja

Candidate Class merupakan sekelompok objek yang mewakili sesuatu yang

nyata yang digunakan pada sistem. Candidate class dapat dihasilkan dengan

melakukan pengidentifikasian objek pada sistem yang akan dirancang.

2.5.4 Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang

sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin

terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state
adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu activity diagram tidak

menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)

secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas

dari level atas secara umum.

Table 2.4 Simbol – Simbol Activity Diagram

Simbol Keterangan
Initial Activity, sebagai awal dari aktivitas modul sistem
aplikasi

Activity, menunjukkan aktivitas yang dilakukan

Final Activity, menunjukkan akhir dari aktivitas

Decisions, menunjukkan aktivitas yang harus dipilih


apakah pilihan pertama atau kedua

Signal, sebagai pengirim dan penerima pesan dari aktivitas


yang terjadi. Sinyal terdiri dari 2 (dua) jenis, yaitu sinyal
penerima yang digambarkan dengan poligon terbuka dan
sinyal pengirim dengan yang digambarkan dengan convex
poligon

Concurrent Activities, menggambarkan atktivitas yang


dilakukan bersamaan atau paralel

Sumber: Kristanto, A. (2005:78)

2.5.5 Class Diagram

Class diagram merupakan sebuah diagram yang menggambarkan struktur

statis class didalam sebuah sistem. Class diagram dapat digambarkan berdasarkan

skenario use case atau candidate class pada sistem yang telah didefenisikan.
Simbol-simbol yang digunakan pada class diagram dapat dilihat pada tabel

berikut ini :

Tabel 2.5 Simbol-simbol Class Diagram

Indikator/Gambar Deskripsi
0..1 Kosong atau satu
0..* Lebih dari sama dengan kosong
0..n Lebih dari sama dengan n, dimana n lebih dari 1
1 Hanya satu
1..* Lebih dari sama dengan satu
1..n Lebih dari sama dengan satu dimana n lebih dari satu
* Banyak atau Many
N Hanya N, dimana N lebih dari satu
n..* Lebih dari sama dengan N dimana N lebih dari satu
n..m Lebih dari sama dengan N dan kurang dari sama
dengan M. Dimana M dan N lebih dari satu.
Agregasi (Aggregation)
Kunci Gabungan (Composite Key)
Turunan (Inheritance)
Ralasi (Relation)
Dependencies
Realizations
+ Public
# Protected
- Private
$ Static
/ Drived
* Abstrak

Sumber: Kristanto, A. (2005:60)

2.6 Flowchart

Flowchart sering disebut juga dengan bagan alir. Flowchart atau bagan alir

adalah sebagai suatu skema yang menggambarkan urutan kegiatan dari suatu

program dari awal sampai akhir.


Menurut Hartono, (2005;108) menyatakan bahwa “flowchart merupakan

bagian yang menunjang arus pekerjaan secara keseluruhan dari sistem”.

Menurut Jogianto H.M (2007;103) menyatakan bahwa “flowchart adalah

bagan (chart) yang menunjukan alir (Flow) di dalam program atau prosedur sistem

secara logika. Bagan alir ini terutama digunakan untuk alat bantu komunikasi dan

untuk dokumentasi.

Tabel 2.6 Simbol Flowchart

No. Simbol Keterangan

Simbol titik terminal digunakan untuk


1 menunjukan awal dan akhir dari suatu
proses.
Simbol input/output digunakan untuk
2
mewakili data input dan output.
Proses yang dilakukan komputer dalam
3
pengelolahan data-data karyawan.
Simbol perulangan digunakan untuk
program-program yang sering digunakan
4 dalam sebuah program yang berulang kali
digunakan, biasanya dibuat pada program
yang terpisah dengan sebutan sub program.
5 Simbol arah data/arus data/aliran data.

Simbol keputusan digunakan untuk suatu


6
penyelesaian kondisi di dalam program.
Simbol dokumen menunjukan dokumen
7 input dan output baik untuk proses manual,
mekanik atau komputer.
8 Simbol persiapan data.

Sumber : Jogianto H.M (2007;105)


BAB III

ANALISA DAN PERANCANGAN

3.1 Analisis Algoritma RC2 dan Metode LSB Pada Citra Bitmap

Pada bagian pembahasan ini dijelaskan secara umum bagaimana cara kerja

algoritma RC2 dan bagaimana cara kerja penyisipan data dari hasil proses RC2

tersebut ke dalam citra bitmap dengan memberikan contoh kasus untuk proses

enkripsi, dekripsi, penyisipan dan pengungkapan data.

3.1.1 Proses Enkripsi Dan Penyisipan Data

Secara umum proses proses enkripsi dilakukan dengan menggunakan

algoritma RC2 terhadap file yang akan disisipkan ke dalam citra bitmap.

Sedangkan penyisipan data dilakukan dengan menggunakan metode LSB dengan

menggantikan bit-bit LSB pada citra bitmap dengan data hasil proses enkripsi.

Awalnya kunci yang dimasukkan oleh pengguna di enkripsi dengan

menggunakan algoritma MD5 untuk memperoleh kunci baru sebesar 128 bit.

Kemudian kunci ini digunakan untuk mengenkripsi pesan dengan menggunakan

algoritma RC2. Proses enkripsi ini menghasilkan ciphertext yang siap untuk di

sisipkan ke dalam citra.

Adapun langkah-langkah proses enkripsi yang dilakukan dengan algoritma

MD5, yaitu:

1. Tambahkan plaintext dengan bit-bit pengganjal

2. Tambahkan kembali plaintext dengan plaintext awal

39
1

3. Inisialisasi Penyangga MD (Message Diggest). Nilai awal inisial

A = 01234567, B = 89ABCDEF, C = FEDCBA98, D = 76543210

4. Bagi plaintext dalam L buah blok (Y0 – YL-1) dengan ukuran masing-masing

512 bit.

5. Lakukan proses operasi MD5 dengan menggunakan persamaan:


32 32
a = (b + CLSs((a + f(b,c,d) + X[k] + T[i]) mod 2 )) mod 2

6. Ciphertext sama dengan penyambungan bit-bit di A, B, C, dan D

Proses selanjutnya adalah mengenkripsi plaintext dengan menggunakan

algoritma RC2, dimana kunci yang digunakan adalah ciphertext yang dihasilkan

dari proses enkripsi MD5 di atas. Adapun langkah-langkah proses enkripsi yang

dilakukan dengan algoritma RC2, yaitu:

1. Bagi plaintext menjadi blok 64 bit.

2. Masing-masing blok plaintext dibagi menjadi 4 word (R[0] ... R[3]) dengan

masing-masing berukuran 16 bit.

3. Perluas kunci sebanyak n buah kunci (n = panjang plaintext / 16). Jumlah

kunci maksimum sebanyak 64 buah kunci (K[0] ... K[63]) dengan masing-

masing berukuran 16 bit.

4. Lakukan proses enkripsi dengan menggunakan persamaan:

C = CLSS(K xor P)

Proses terakhir adalah penyisipan data ke dalam citra. Proses yang

dilakukan adalah menggantikan bit-bit LSB pada citra bitmap dengan nilai dari

ciphertext hasil proses enkripsi di atas.


Misalkan terdapat file yang berisi pesan “Transfer uang Rp 500 juta.”,

dengan kunci “Enkrip file rahasia”. Maka proses pertama adalah mengenkripsi

kunci dengan menggunakan algoritma MD5, yaitu:

1. - Plaintext (P) = Enkrip file rahasia

- Plaintext (P) dalam Hexa =

456E6B7269702066696C652072616861736961

- Panjang P = 152 bit

- Panjang bit pengganjal = (448 modulo 512) – 152 bit = 296 bit

- Bit-bit pengganjal dalam biner =

10000000 00000000 00000000 00000000 00000000 00000000


00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000
- Bit- bit pengganjal dalam Hexa =

80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- Maka, P =

45 6E 6B 72 69 70 20 66 69 6C 65 20 72 61 68 61 73 69 61
80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

2. - Pawal (Hexa) =

456E6B7269702066696C652072616861736961

- Pawal (Biner) =

01000101 01101110 01101011 01110010 01101001 01110000

00100000 01100110 01101001 01101100 01100101 00100000

01110010 01100001 01101000 01100001 01110011 01101001

01100001
- Panjang bit tambahan = 64 bit

- Bit-bit tambahan dari Pawal (Biner) =

01000101 01101110 01101011 01110010 01101001 01110000

00100000 01100110

- Bit-bit tambahan dari Pawal (Hexa) =

45 6E 6B 72 69 70 20 66

- Maka, P =

45 6E 6B 72 69 70 20 66 69 6C 65 20 72 61 68 61 73 69 61

80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 45

6E 6B 72 69 70 20 66

3. A = 01234567, B = 89ABCDEF, C = FEDCBA98, D = 76543210

4. – P (Hexa) =

45 6E 6B 72 69 70 20 66 69 6C 65 20 72 61 68 61 73 69 61

80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 45

6E 6B 72 69 70 20 66

- P (Biner) =

01000101 01101110 01101011 01110010 01101001 01110000


01000000 01100110 01101001 01101100 01100101 00100000
01110010 01100001 01101000 01100001 01110011 01101001
01100001 10000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 01000101 01101110 01101011 01110010
01101001 01110000 00100000 01100110
- Panjang P = 512 bit

- Maka, Jumlah blok = 1 dan Y0 = P


5. Putaran 1:
32 32
- A = (B + CLSs((A + F(B,C,D) + X[0...15] + T[1...16]) mod 2 )) mod 2

- F(B,C,D) = (B and C) or ((not B) and D)

= (89ABCDEF and FEDCBA98) or ((not 89ABCDEF) and

(76543210))

= 88888888 or 76543210

= FEDCBA98

Operasi 1:

- X[0...15] = 01000101 01101110

- X[0...7] = 01000110 = 45

- A = B + CLS7(A + F(B,C,D) + X[0...7] + T[1])

= 89ABCDEF + CLS7(01234567 + FEDCBA98 + 45 + D76AA478)

= 89ABCDEF + CLS7(1D76AA4BC mod 100000000)

= 89ABCDEF + CLS7(D76AA4BC)

= 89ABCDEF + B5525E6B

= 13EFE2C5A mod 100000000

= 3EFE2C5A

Operasi 2:

- X[0...15] = 01000101 01101110

- X[8...15] = 01101110 = 6E

- A = B + CLS12(A + F(B,C,D) + X[8...15] + T[2])

= 89ABCDEF + CLS12(3EFE2C5A + FEDCBA98 + 6E + E8C7B756)

= 89ABCDEF + CLS12(226A29EB6 mod 100000000)

= 89ABCDEF + CLS12(26A29EB6)

= 89ABCDEF + 29EB626A

= B3973059 mod 100000000

= B3973059
- Operasi 3:

- X[0...15] = 01101011 01110010

- X[0...7] = 01101011 = 6B

- A = B + CLS17(A + F(B,C,D) + X[0...7] + T[3])

= 89ABCDEF + CLS17(B3973059 + FEDCBA98 + 6B + 242070DB)

A = 89ABCDEF + CLS17(1D6945C37 mod 100000000)

= 89ABCDEF + CLS17(D6945C37)

= 89ABCDEF + B86FAD28

= 1421B7B17 mod 100000000

= 421B7B17

Operasi 4:

- X[0...15] = 01101011 01110010

- X[8...15] = 01110010 = 72

- A = B + CLS22(A + F(B,C,D) + X[8...15] + T[4])

= 89ABCDEF + CLS22(421B7B17 + FEDCBA98 + 72 + C1BDCEEE)

= 89ABCDEF + CLS22(202B6050F mod 100000000)

= 89ABCDEF + CLS22(2B6050F)

= 89ABCDEF + 43C0AD81

= CD6C7B70 mod 100000000

= CD6C7B70

Operasi 5:

- X[0...15] = 01101001 01110000

- X[0...7] = 01101001 = 69

- A = B + CLS7(A + F(B,C,D) + X[0...7] + T[5]) = 6C4EDE4F

Operasi 6:

- X[0...15] = 01101001 01110000

- X[8...15] = 01110000 = 70

- A = B + CLS12(A + F(B,C,D) + X[8...15] + T[6]) = BFA3E91A


- Operasi 7:

- X[0...15] = 01000000 01100110

- X[0...7] = 01000000 = 40

- A = B + CLS17(A + F(B,C,D) + X[0...7] + T[7]) = 5DB69B50

Operasi 8:

- X[0...15] = 01000000 01100110

- X[8...15] = 01100110 = 66

- A = B + CLS22(A + F(B,C,D) + X[8...15] + T[8]) = 5D824469

Operasi 9:
- X[0...15] = 01101001 01101100

- X[0...7] = 01101001 = 69

- A = B + CLS7(A + F(B,C,D) + X[0...7] + T[9]) = 7977EF51

Operasi 10:

- X[0...15] = 01101001 01101100

- X[8...15] = 01101100 = 6C

- A = B + CLS12(A + F(B,C,D) + X[8...15] + T[10]) = 23CC0E28

Operasi 11:
- X[0...15] = 01100101 00100000

- X[0...7] = 01100101 = 65

- A = B + CLS17(A + F(B,C,D) + X[0...7] + T[11]) = D358133F

Operasi 12:

- X[0...15] = 01100101 00100000

- X[8...15] = 00100000 = 20

- A = B + CLS22(A + F(B,C,D) + X[8...15] + T[12]) = F702B258

Operasi 13:

- X[0...15] = 01110010 01100001

- X[0...7] = 01110010 = 72

- A = B + CLS7(A + F(B,C,D) + X[0...7] + T[13]) = 416B101F


Operasi 14:

- X[0...15] = 01110010 01100001

- X[8...15] = 01100001 = 61

- A = B + CLS12(A + F(B,C,D) + X[8...15] + T[14]) = 8D7681CD

Operasi 15:

- X[0...15] = 01101000 01100001

- X[0...7] = 01101000 = 68

- A = B + CLS17(A + F(B,C,D) + X[0...7] + T[15]) = 8A623388

Operasi 16:

- X[0...15] = 01101000 01100001

- X[8...15] = 01100001 = 61

- A = B + CLS22(A + F(B,C,D) + X[8...15] + T[16]) = 32608AAC

Putaran 2:
32 32
- B = (B + CLSs((A + G(B,C,D) + X[0...15] + T[17...32]) mod 2 )) mod 2

- G(B,C,D)= (B and D) or (C and (not D))

= (89ABCDEF and 76543210) or (FEDCBA98

and (not 76543210))

= 0 or 88888888

= 88888888

Operasi 17:

- X[0...15] = 01110011 01101001

- X[0...7] = 01110011 = 73

- B = B + CLS5(A + G(B,C,D) + X[0...7] + T[17])

= 89ABCDEF + CLS5(32608AAC + 88888888 + 73 + F61E2562)

= 89ABCDEF + CLS5(1B1073909 mod 100000000)

= 89ABCDEF + CLS5(B1073909)

= 89ABCDEF + 20E72136

= AA92EF25 mod 100000000 = AA92EF25


- G(B,C,D)= (B and D) or (C and (not D))

= (AA92EF25 and 76543210) or (FEDCBA98 and

(not 76543210))

= 22102200 or 88888888

= AA98AA88

Operasi 18:

- X[0...15] = 01110011 01101001

- X[8...15] = 01101001 = 69

- B = B + CLS9(A + G(B,C,D) + X[8...15] + T[18])

= AA92EF25 + CLS9(32608AAC + AA98AA88 + 69 + C040B340)

= AA92EF25 + CLS9(19D39E8DD mod 100000000)

= AA92EF25 + CLS9(9D39E8DD)

= AA92EF25 + 73D1BB3A

= 11E64AA5F mod 100000000

= 1E64AA5F

- G(B,C,D)= (B and D) or (C and (not D))

= (1E64AA5F and 76543210) or (FEDCBA98 and

(not 76543210))

= 16442210 or 88888888

= 9ECCAA98

Operasi 19:

- X[0...15] = 01100001 10000000

- X[0...7] = 01100001 = 61

- B = B + CLS14(A + G(B,C,D) + X[0...7] + T[19])

= 1E64AA5F + CLS14(32608AAC + 9ECCAA98 + 61 + 265E5A51)

= 1E64AA5F + CLS14(F78B8FF6 mod 100000000)

= 1E64AA5F + CLS14(F78B8FF6)

= 1E64AA5F + E3FDBDE2
= 102626841 mod 100000000

= 2626841

- G(B,C,D)= (B and D) or (C and (not D))

= (2626841 and 76543210) or (FEDCBA98 and

(not 76543210))

= 2402000 or 88888888

= 8AC8A888

Operasi 20:

- X[0...15] = 01100001 10000000

- X[8...15] = 10000000 = 80

- B = B + CLS20(A + G(B,C,D) + X[8...15] + T[20])

= 2626841 + CLS20(32608AAC + 8AC8A888 + 80 + E9B6C7AA)

= 2626841 + CLS20(1A6DFFB5E mod 100000000)

= 2626841 + CLS20(A6DFFB5E)

= 2626841 + B5EA6DFF

= B84CD640 mod 100000000

= B84CD640

- G(B,C,D)= (B and D) or (C and (not D))

= (B84CD640 and 76543210) or (FEDCBA98 and

(not 76543210))

= 30441200 or 88888888

= B8CC9A88

Operasi 21:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- B = B + CLS5(A + G(B,C,D) + X[0...7] + T[21]) = E3D38878

- G(B,C,D)= (B and D) or (C and (not D)) = EAD88898

Operasi 22:

- X[0...15] = 00000000 00000000


- X[8...15] = 00000000 = 0

- B = B + CLS9(A + G(B,C,D) + X[8...15] + T[22]) = DE22B6B6

- G(B,C,D)= (B and D) or (C and (not D)) = DE88BA98

Operasi 23:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- B = B + CLS14(A + G(B,C,D) + X[0...7] + T[23]) = A9143118

- G(B,C,D)= (B and D) or (C and (not D)) = A89CB898

Operasi 24:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- B = B + CLS20(A + G(B,C,D) + X[8...15] + T[24]) = 9A105E2B

- G(B,C,D)= (B and D) or (C and (not D)) = 9A989A88

Operasi 25:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- B = B + CLS5(A + G(B,C,D) + X[0...7] + T[25]) = 756EC188

- G(B,C,D)= (B and D) or (C and (not D)) = FCCC8888

Operasi 26:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- B = B + CLS9(A + G(B,C,D) + X[8...15] + T[26]) = 3DA4D76C

- G(B,C,D)= (B and D) or (C and (not D)) = BC8C9A88

Operasi 27:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- B = B + CLS14(A + G(B,C,D) + X[0...7] + T[27]) = CA53D05C


- G(B,C,D)= (B and D) or (C and (not D)) = CAD89898

Operasi 28:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- B = B + CLS20(A + G(B,C,D) + X[8...15] + T[28]) = 4D67F98F

- G(B,C,D)= (B and D) or (C and (not D)) = CCCCB888

Operasi 29:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- B = B + CLS5(A + G(B,C,D) + X[0...7] + T[29]) = 6F8D80C4

- G(B,C,D)= (B and D) or (C and (not D)) = EE8C8888

Operasi 30:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- B = B + CLS9(A + G(B,C,D) + X[8...15] + T[30]) = 28FBD8FF

- G(B,C,D)= (B and D) or (C and (not D)) = A8D89898

Operasi 31:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- B = B + CLS14(A + G(B,C,D) + X[0...7] + T[31]) = 28FBD8FF

- G(B,C,D)= (B and D) or (C and (not D)) = 328329A9

Operasi 32:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- B = B + CLS20(A + G(B,C,D) + X[8...15] + T[32]) = 36FAF9DF

Putaran 3:
32 32
- C = (B + CLSs((A + H(B,C,D) + X[0...15] + T[33...48]) mod 2 )) mod 2
- H(B,C,D)= (B xor C xor D)

= (36FAF9DF xor FEDCBA98 xor 76543210)

= BE727157

Operasi 33:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- C = B + CLS4(A + H(B,C,D) + X[0...7] + T[33])

= 36FAF9DF + CLS4(32608AAC + BE727157 + 0 + FFFA3942)

= 36FAF9DF + CLS4(1F0CD3545 mod 100000000)

= 36FAF9DF + CLS4(F0CD3545)

= 36FAF9DF + CD3545F

= 43CE4E3E mod 100000000

= 43CE4E3E

- H(B,C,D)= (B xor C xor D)

= (36FAF9DF xor 43CE4E3E xor 76543210)

= 36085F1

Operasi 34:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- C = B + CLS11(A + H(B,C,D) + X[8...15] + T[34])

= 36FAF9DF + CLS11(32608AAC + 36085F1 + 0 + 8771F681)

= 36FAF9DF + CLS11(BD33071E mod 100000000)

= 36FAF9DF + CLS11(BD33071E)

= 36FAF9DF + 9838F5E9

= CF33EFC8 mod 100000000

= CF33EFC8

- H(B,C,D)= (B xor C xor D)

= (36FAF9DF xor CF33EFC8 xor 76543210)

= 8F9D2407
Operasi 35:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- C = B + CLS18(A + H(B,C,D) + X[0...7] + T[35])

= 36FAF9DF + CLS18(32608AAC + 8F9D2407 + 0 + 69D96122)

= 36FAF9DF + CLS18(12BD70FD5 mod 100000000)

= 36FAF9DF + CLS18(2BD70FD5)

= 36FAF9DF + 3F54AF5C

= 764FA93B mod 100000000

= 764FA93B

- H(B,C,D)= (B xor C xor D)

= (36FAF9DF xor 764FA93B xor 76543210)

= 36E162F4

Operasi 36:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- C = B + CLS25(A + H(B,C,D) + X[8...15] + T[36])

= 36FAF9DF + CLS25(32608AAC + 36E162F4 + 0 + FDE5380C)

= 36FAF9DF + CLS25(1672725AC mod 100000000)

= 36FAF9DF + CLS25(672725AC)

= 36FAF9DF + 58CE4E4B

= 8FC9482A mod 100000000

= 8FC9482A

- H(B,C,D)= (B xor C xor D)

= (36FAF9DF xor 8FC9482A xor 76543210)

= CF6783E5

Operasi 37:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0
- C = B + CLS4(A + H(B,C,D) + X[0...7] + T[37]) = 9F6A8739

- H(B,C,D)= (B xor C xor D) = DFC44CF6

Operasi 38:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- C = B + CLS11(A + H(B,C,D) + X[8...15] + T[38]) = 543554CF

- H(B,C,D)= (B xor C xor D) = 149B9F00

Operasi 39:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- C = B + CLS18(A + H(B,C,D) + X[0...7] + T[39]) = B2BF0BC

- H(B,C,D) = (B xor C xor D) = 4B853B73

Operasi 40:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- C = B + CLS25(A + H(B,C,D) + X[8...15] + T[40]) = 557444E4

- H(B,C,D) = (B xor C xor D) = 15DA8F2B

Operasi 41:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- C = B + CLS4(A + H(B,C,D) + X[0...7] + T[41]) = 446483B6

- H(B,C,D) = (B xor C xor D) = 4CA4879

Operasi 42:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- C = B + CLS11(A + H(B,C,D) + X[8...15] + T[42]) = 96D3F2ED

- H(B,C,D) = (B xor C xor D) = D67D3922


Operasi 43:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- C = B + CLS18(A + H(B,C,D) + X[0...7] + T[43]) = 84A7112

- H(B,C,D) = (B xor C xor D) = 48E4BADD

Operasi 44:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- C = B + CLS25(A + H(B,C,D) + X[8...15] + T[44]) = 53FA94A4

- H(B,C,D) = (B xor C xor D) = 13545F6B

Operasi 45:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- C = B + CLS4(A + H(B,C,D) + X[0...7] + T[45]) = 2F969EE0

- H(B,C,D) = (B xor C xor D) = 6F38552F

Operasi 46:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- C = B + CLS11(A + H(B,C,D) + X[8...15] + T[46]) = DAC8FE22

- H(B,C,D) = (B xor C xor D) = 9A6635ED

Operasi 47:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- C = B + CLS18(A + H(B,C,D) + X[0...7] + T[47]) = 2D42AB83

- H(B,C,D) = (B xor C xor D) = 6DEC604C

Operasi 48:

- X[0...15] = 00000000 00000000


- X[8...15] = 00000000 = 0

- C = B + CLS25(A + H(B,C,D) + X[8...15] + T[48]) = F1C4EC61

Putaran 4:
32 32
- D = (B + CLSs((A + I(B,C,D) + X[0...15] + T[49...64]) mod 2 )) mod 2

- I(B,C,D)= C xor (B and (not D))

= F1C4EC61 xor (36FAF9DF and (not 76543210)

= F1C4EC61 xor AAC9CF

= F16E25AE

Operasi 49:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- D = B + CLS6(A + I(B,C,D) + X[0...7] + T[49])

= 36FAF9DF + CLS6(32608AAC + F16E25AE + 0 + F4292244)

= 36FAF9DF + CLS6(217F7D29E mod 100000000)

= 36FAF9DF + CLS6(17F7D29E)

= 36FAF9DF + FDF4A785

= 134EFA164 mod 100000000

= 34EFA164

- I(B,C,D)= C xor (B and (not D))

= F1C4EC61 xor (36FAF9DF and (not 34EFA164)

= F1C4EC61 xor 210589B

= F3D4B4FA

Operasi 50:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- D = B + CLS10(A + I(B,C,D) + X[8...15] + T[50])

D = 36FAF9DF + CLS10(32608AAC + F3D4B4FA + 0 + 432AFF97)

= 36FAF9DF + CLS10(169603F3D mod 100000000)


= 36FAF9DF + CLS10(69603F3D)

= 36FAF9DF + 80FCF5A5

= B7F7EF84 mod 100000000

= B7F7EF84

- I(B,C,D)= C xor (B and (not D))

= F1C4EC61 xor (36FAF9DF and (not B7F7EF84)

= F1C4EC61 xor 8105B

= F1CCFC3A

Operasi 51:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- D = B + CLS15(A + I(B,C,D) + X[0...7] + T[51])

= 36FAF9DF + CLS15(32608AAC + F1CCFC3A + 0 + AB9423A7)

= 36FAF9DF + CLS15(1CFC1AA8D mod 100000000)

= 36FAF9DF + CLS15(CFC1AA8D)

= 36FAF9DF + D546E7E0

= 10C41E1BF mod 100000000

= C41E1BF

- I(B,C,D)= C xor (B and (not D))

= F1C4EC61 xor (36FAF9DF and (not C41E1BF)

= F1C4EC61 xor 32BA1840

= C37EF421

Operasi 52:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- D = B + CLS21(A + I(B,C,D) + X[8...15] + T[52])

= 36FAF9DF + CLS21(32608AAC + C37EF421 + 0 + FC93A039)

= 36FAF9DF + CLS21(1F2731F06 mod 100000000)

= 36FAF9DF + CLS21(F2731F06)
= 36FAF9DF + E0DE4E63

= 117D94842 mod 100000000

= 17D94842

- I(B,C,D)= C xor (B and (not D))

= F1C4EC61 xor (36FAF9DF and (not 17D94842)

= F1C4EC61 xor 2022B19D

= D1E65DFC

Operasi 53:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- D = B + CLS6(A + I(B,C,D) + X[0...7] + T[53]) = 9F8B94B9

- I(B,C,D) = C xor (B and (not D)) = D1B48527

Operasi 54:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- D = B + CLS10(A + I(B,C,D) + X[8...15] + T[54]) = BE6C902B

- I(B,C,D) = C xor (B and (not D)) = F15685B5

Operasi 55:

- X[0...15] = 00000000 00000000

- X[0...7] = 00000000 = 0

- D = B + CLS15(A + I(B,C,D) + X[0...7] + T[55]) = B96A0BB2

- I(B,C,D) = C xor (B and (not D)) = F7541C2C

Operasi 56:

- X[0...15] = 00000000 00000000

- X[8...15] = 00000000 = 0

- D = B + CLS21(A + I(B,C,D) + X[8...15] + T[56]) = CC30E0FF

- I(B,C,D) = C xor (B and (not D)) = C30EF561

Operasi 57:
- X[0...15] = 01000101 01101110

- X[0...7] = 01000101 = 45

- D = B + CLS6(A + I(B,C,D) + X[0...7] + T[57]) = 7CFAA238

- I(B,C,D) = C xor (B and (not D)) = F3C4B5A6

Operasi 58:

- X[0...15] = 01000101 01101110

- X[8...15] = 01101110 = 6E

- D = B + CLS10(A + I(B,C,D) + X[8...15] + T[58]) = 7F997A70

- I(B,C,D) = C xor (B and (not D)) = F1A66DEE

Operasi 59:

- X[0...15] = 01101011 01110010

- X[0...7] = 01101011 = 6B

- D = B + CLS15(A + I(B,C,D) + X[0...7] + T[59]) = 5507DD63

- I(B,C,D) = C xor (B and (not D)) = D33CCCFD

Operasi 60:

- X[0...15] = 01101011 01110010

- X[8...15] = 01110010 = 72

- D = B + CLS21(A + I(B,C,D) + X[8...15] + T[60]) = 6E856E8C

- I(B,C,D) = C xor (B and (not D)) = E1BE7D32

Operasi 61:

- X[0...15] = 01101001 01110000

- X[0...7] = 01101001 = 69

- D = B + CLS6(A + I(B,C,D) + X[0...7] + T[61]) = 139CAC21

- I(B,C,D) = C xor (B and (not D)) = D5A6BDBF

Operasi 62:

- X[0...15] = 01101001 01110000

- X[8...15] = 01110000 = 70
- D = B + CLS10(A + I(B,C,D) + X[8...15] + T[62]) = 3FE73CF4

- I(B,C,D) = C xor (B and (not D)) = F1DC2D6A

Operasi 63:

- X[0...15] = 00100000 01100110

- X[0...7] = 00100000 = 20

- D = B + CLS15(A + I(B,C,D) + X[0...7] + T[63]) = 7C73A169

- I(B,C,D) = C xor (B and (not D)) = F34CB4F7

Operasi 64:

- X[0...15] = 00100000 01100110

- X[8...15] = 01100110 = 66

- D = B + CLS21(A + I(B,C,D) + X[8...15] + T[64]) = AA3D2061

- Ciphertext = 32608AAC 36FAF9DF F1C4EC61 AA3D2061

Proses selanjutnya mengenkripsi pesan dengan menggunakan algoritma

RC2, yaitu:

1. - Plaintext (P) = Transfer uang Rp 500 juta.

- Plaintext (P) dalam Hexa =

5472616E736665722075616E6720527020353030206A7574612E

- Blok 1: 5472 616E 7366 6572

- Blok 2: 2075 616E 6720 5270

- Blok 3: 2035 3030 206A 7574

- Blok 4: 612E

2. - Blok 1: R[0]= 5472, R[1]= 616E, R[2]= 7366, R[3]= 6572

- Blok 2: R[0]= 2075, R[1]= 616E, R[2]= 6720, R[3]= 5270

- Blok 3: R[0]= 2035, R[1]= 3030, R[2]= 206A, R[3]= 7574

- Blok 4: R[0]= 612E


3. - K = Ciphertext = 32608AAC 36FAF9DF F1C4EC61 AA3D2061

- n = 208/16 = 13 K = K[0]...K[12]

K[0]=3260, K[1]=8AAC, K[2]=36FA, K[3]=F9DF,

K[4]=F1C4, K[5]=EC61, K[6]=AA3D, K[7]=2061,

K[8]=3260, K[9]=8AAC, K[10]=36FA, K[11]=F9DF,

K[12]=F1C4

4. - Blok 1:

C= CLS1(K[0] xor R[0])= CLS1(3260 xor 5472)= CLS1(6612)= CC24

C= CLS2(K[1] xor R[1])= CLS2(8AAC xor 616E)= CLS2(EBC2)= AF0B

C= CLS3(K[2] xor R[2])= CLS3(36FA xor 7366)= CLS3(459C)= 2CE2

C= CLS4(K[3] xor R[3])= CLS4(F9DF xor 6572)= CLS4(9CAD)= CAD9

- Blok 2:

C= CLS1(K[4] xor R[0])= CLS1(F1C4 xor 2075)= CLS1(D1B1)= A363

C= CLS2(K[5] xor R[1])= CLS2(EC61 xor 616E)= CLS2(8D0F)= 343E

C= CLS3(K[6] xor R[2])= CLS3(AA3D xor 6720)= CLS3(CD1D)= 68EE

C= CLS4(K[7] xor R[3])= CLS4(2061 xor 5270)= CLS4(7211)= 2117

- Blok 3:

C= CLS1(K[8] xor R[0])= CLS1(3260 xor 2035)= CLS1(1255)= 24AA

C= CLS2(K[9] xor R[1])= CLS2(8AAC xor 3030)= CLS2(BA9C)= EA72

C=CLS3(K[10] xor R[2])= CLS3(36FA xor 206A)= CLS3(1690)= B480

C=CLS4(K[11] xor R[3])= CLS4(F9DF xor 7574)= CLS4(8CAB)= CAB8

- Blok 4:

C=CLS1(K[12] xor R[0])= CLS1(F1C4 xor 612E)= CLS1(90EA)= 21D5

- Ciphertext =

CC24AF0B2CE2CAD9 A363343E68EE2117 24AAEA72B480CAB8 21D5


Proses terakhir adalah menyisipkan nilai ciphertext ke dalam citra.

Misalkan terdapat citra berukuran 5 x 6 pixel, dimana nilai representasi warna

(dalam biner) setiap pixelnya adalah sebagai berikut:

Tabel 3.1. Nilai Representasi Warna Citra Bitmap

X 0 1 2 3 4 5

11101010 11101010 11011101 11010011 11101010 11111111


0 11110001 11110001 11101000 11100010 11110001 11111111
11110100 11110100 11101101 11101010 11110100 11111111
11010011 10101111 10101111 10101111 11001111 11111111
1 11100010 11001001 11001001 11001001 11100000 11111111
11101010 11011011 11011011 11011011 11101001 11111111
10111011 10110110 10101111 10101111 11101010 11111111
2 11010011 11001110 11001001 11001001 11110001 11111111
11100010 11011101 11011011 11011011 11110100 11111111
11000111 10101010 10110101 11000111 10101101 11111111
3 11010101 11000010 11001010 11010101 10111111 11111111
11011110 11010010 11010111 11011110 11001101 11111111
10111110 10110101 10101101 01101100 01101100 11111111
4 11001111 11001010 10111111 10001110 10001110 11111111
11011010 11010111 11001101 10110000 10110000 11111111
10000100 01101100 01101100 01101100 10000100 11111111
5 10100000 10001110 10001110 10001110 10100000 11111111
10111011 10110000 10110000 10110000 10111011 11111111
11111111 11111111 11111111 11111111 11111111 11111111
6 11111111 11111111 11111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111 11111111 11111111

Maka proses penyisipan nilai ciphertext yang terjadi adalah sebagai

berikut:

- Ciphertext (Hexa) =

CC24AF0B2CE2CAD9 A363343E68EE2117 24AAEA72B480CAB8 21D5

- Ciphertext (Biner) =
11001100 00100100 10101111 00001011 00101100 11100010

11001010 11011001 10100011 01100011 00110100 00111110

01101000 11101110 00100001 00010111 00100100 10101010

11101010 01110010 10110100 10000000 11001010 10111000

00100001 11010101

- Nilai representasi warna (dalam biner) setelah nilai ciphertext disisipkan ke

dalam citra, sebagai berikut:

Tabel 3.2. Nilai Representasi Warna Citra Bitmap Setelah Disisipkan Data

X 0 1 2 3 4 5
Y
11101110 11101001 11011101 11010000 11101001 11111111
0 11110011 11110001 11101011 11100010 11110011 11111000
11110100 11110100 11101111 11101011 11110100 11111110
11010110 10101110 10101101 10101011 11001001 11111001
1 11100010 11001110 11001000 11001000 11100101 11111111
11101010 11011001 11011011 11011011 11101000 11111110
10111011 10110111 10101001 10101000 11101001 11111101
2 11010010 11001011 11001000 11001101 11110001 11111010
11100000 11011110 11011001 11011011 11110100 11111110
11000111 10101011 10110101 11000100 10101110 11111101
3 11010010 11000100 11001101 11010000 10111010 11111110
11011110 11010010 11010100 11011100 11001110 11111100
10111001 10110110 10101101 01101100 01101100 11111111
4 11001000 11001101 10111111 10001110 10001110 11111111
11011001 11010101 11001101 10110000 10110000 11111111
10000100 01101100 01101100 01101100 10000100 11111111
5 10100000 10001110 10001110 10001110 10100000 11111111
10111011 10110000 10110000 10110000 10111011 11111111
11111111 11111111 11111111 11111111 11111111 11111111
6 11111111 11111111 11111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111 11111111 11111111
3.1.2 Pengungkapan Data Dan Proses Dekripsi

Pada proses pengungkapan data, proses yang terjadi adalah mengambil,

mengumpulkan dan menggabungkan sejumlah nilai dari bit-bit LSB pada citra

yang mengandung pesan rahasia.

Kemudian nilai-nilai yang telah diperoleh dari proses pengungkapan data

akan di dekripsi dengan menggunakan algoritma RC2 dan MD5. Seperti halnya

dengan proses enkripsi RC2, proses dekripsi pesan dilakukan dengan melakukan

permutasi terhadap nilai-nilai tersebut (ciphertext), dimana kunci dekripsi yang

dipakai sama dengan kunci enkripsi MD5 (Kdec = Kenc). Jadi dapat dikatakan

algoritma enkripsi dan dekripsi RC2 hampir sama. Seperti contoh kasus di atas,

maka proses pengungkapan data dan proses dekripsinya adalah sebagai berikut:

1. - Nilai-nilai LSB (Ciphertext) =

11001100 00100100 10101111 00001011 00101100 11100010


11001010 11011001 10100011 01100011 00110100 00111110
01101000 11101110 00100001 00010111 00100100 10101010
11101010 01110010 10110100 10000000 11001010 10111000
00100001 11010101
- Nilai-nilai LSB (Ciphertext) dalam Hexa =

CC24AF0B2CE2CAD9 A363343E68EE2117 24AAEA72B480CAB8 21D5

2. Kdec = Kenc Kdec = 32608AAC 36FAF9DF F1C4EC61 AA3D2061

3. Proses dekripsi RC2:

- Ciphertext (C) dalam Hexa =

CC24AF0B2CE2CAD9 A363343E68EE2117 24AAEA72B480CAB8 21D5

- Blok 1: CC24 AF0B 2CE2 CAD9

- Blok 2: A363 343E 68EE 2117

- Blok 3: 24AA EA72 B480 CAB8

- Blok 4: 21D5
5. - Blok 1: R[0]= CC24, R[1]= AF0B, R[2]= 2CE2, R[3]= CAD9

- Blok 2: R[0]= A363, R[1]= 343E, R[2]= 68EE, R[3]= 2117

- Blok 3: R[0]= 24AA, R[1]= EA72, R[2]= B480, R[3]= CAB8

- Blok 4: R[0]= 21D5

6. - K = 32608AAC 36FAF9DF F1C4EC61 AA3D2061

- n = 208/16 = 13 K = K[0]...K[12]

K[0]=3260, K[1]=8AAC, K[2]=36FA, K[3]=F9DF,

K[4]=F1C4, K[5]=EC61, K[6]=AA3D, K[7]=2061,

K[8]=3260, K[9]=8AAC, K[10]=36FA, K[11]=F9DF,

K[12]=F1C4

7. - Blok 1:

P = K[0] xor CLS15(R[0])= 3260 xor CLS15(CC24)= 3260 xor 6612

= 5472

P = K[1] xor CLS14(R[1])= 8AAC xor CLS14(AF0B)= 36FA xor EBC2

= 616E

P = K[2] xor CLS13(R[2])= 36FA xor CLS13(2CE2)= 36FA xor 459C

= 7366

P = K[3] xor CLS12(R[3])= F9DF xor CLS12(CAD9)= F9DF xor 9CAD

= 6572

- Blok 2:

P = K[4] xor CLS15(R[0])= F1C4 xor CLS15(A363)= F1C4 xor D1B1

= 2075

P = K[5] xor CLS14(R[1])= EC61 xor CLS14(343E)= EC61 xor 8D0F

= 616E

P = K[6] xor CLS13(R[2])= AA3D xor CLS13(68EE)= AA3D xor CD1D

= 6720
P = K[7] xor CLS12(R[3])= 2061 xor CLS12(2117)= 2061 xor 7211

= 5270

- Blok 3:

P = K[8] xor CLS15(R[0])= 3260 xor CLS15(24AA)= 3260 xor 1255

= 2035

P = K[9] xor CLS14(R[1])= 8AAC xor CLS14(EA72)= 8AAC xor BA9C

= 3030

P = K[10] xor CLS13(R[2])= 36FA xor CLS13(B480)= 36FA xor 1690

= 206A

P = K[11] xor CLS12(R[3])= F9DF xor CLS12(CAB8)= F9DF xor 8CAB

= 7574

- Blok 4:

P = K[12] xor CLS15(R[0])= F1C4 xor CLS15(21D5)= F1C4 xor 90EA

= 612E

4. - Plaintext (Hexa) =

5472616E736665722075616E6720527020353030206A7574612E

- Plaintext (karakter ASCII) =

Transfer uang Rp 500 juta.

3.2 Algoritma Sistem

Algoritma Sistem yang dirancang terdiri dari dua algoritma, yaitu

algoritma penyembunyi file dan algoritma ekstraksi file. Dimana pada saat

sebelum penyembunyian file ke dalam citra, telah terjadi proses enkripsi terhadap

file yang akan disembunyikan. Begitu pula dengan proses ekstraksi file, file yang

telah diungkap dari dalam citra akan didekripsi terlebih dahulu sebelum

diekstraksi.
3.2.1 Algoritma Penyembunyi File

Aplikasi yang dihasilkan dalam penulisan skripsi ini mempunyai fungsi

untuk menyembunyikan pesan informasi berupa data teks dan gambar, dalam hal

ini media yang digunakan adalah citra bitmap. Untuk menampung pesan informasi

ke dalam objek stego yakni berupa citra bitmap tentunya membutuhkan suatu

algoritma yang dapat memodifikasi objek stego tersebut. Hasilnya adalah citra

baru yang berisi pesan informasi tersembunyi yang disebut dengan istilah

embedding. Dalam proses modifikasi perubahan yang terjadi antara media

penampung dengan hasil modifikasi media penampung tidak boleh terlalu

mencolok secara kasat mata, dimana perubahan pada citra penampung yang telah

termodifikasi tidak terlalu terlihat.

Agar suatu kerahasiaan pesan informasi yang terkandung dalam objek citra

penampung tetap terjaga (integrity), maka pesan informasi tersebut sudah di

enkripsi terlebih dahulu dengan metode kriptografi sebelum pesan informasi

tersebut disembunyikan ke dalam objek citra penampung. Dengan terenkripsinya

pesan informasi tersebut, kerahasiaannya tetap terjaga meskipun ada pihak-pihak

yang tidak berwenang mendapatkan pesan informasi yang terkandung dalam citra

penampung karena pesan informasi tersebut tidak memiliki makna dan harus

didekripsi terlebih dahulu agar dapat diketahui isi dari pesan informasi tersebut.

Untuk menghasilkan objek citra yang sudah dimodifikasi yang berisi

pesan informasi rahasia, yang disebut dengan istilah stego data/stego file, yang

dibutuhkan adalah media penampung berupa citra bitmap, pesan informasi rahasia

berupa data teks atau gambar, kunci enkripsi berupa sandi, algoritma MD5,
algoritma RC2 dan metode LSB. Untuk lebih jelasnya dapat dilihat pada gambar

berikut ini.

Data Teks
Atau Enkripsi
Data Cipher Text
(Dengan Algoritma
Gambar RC2)

Enkripsi Embedding Stego Data /


(Dengan Algoritma Key
(Dengan Metode Stego File
MD5) Stream
LSB)

String
Citra Bitmap
Password
(Key)

Gambar 3.1. Algoritma Penyembunyi File Pada Citra Bitmap

Dari gambar diatas dapat dilihat untuk pembentukan kunci digunakan

algoritma MD5 dan dalam proses enkripsi menggunakan algoritma RC2. Untuk

proses embedding digunakan metode LSB, sehingga dihasilkan data ataupun file

yang sudah melalui proses stego.

3.2.2 Algoritma Ekstraksi File

Untuk mengambil pesan informasi rahasia yang terkandung di dalam stego

data/ stego file, dibutuhkan proses ekstraksi pesan berupa algoritma pendeteksi

dan kunci enkripsi. Algoritma pendeteksi ini merupakan kebalikan dari algoritma

embedding, bila algoritma embedding ini digunakan untuk menyisipkan pesan

informasi rahasia ke dalam file citra bitmap, maka algoritma pendeteksi

digunakan untuk mengambil pesan informasi rahasia dari file citra bitmap.

Algoritma steganografi ini memodifikasi beberapa pixel yang terdapat di dalam

file citra bitmap.


Di dalam setiap pixel yang terdapat pada file citra bitmap, memiliki

intensitas nilai dari ketiga warna dasar yaitu warna merah, warna hijau dan warna

biru. Jadi suatu warna pada pixel merupakan kombinasi dari intensitas ketiga

warna tersebut. Intensitas warna memiliki nilai 0 sampai 255 yang mengambil 8

bit atau 1 byte untuk setiap warnanya, sehingga dalam satu pixel terdapat 24 bit

yaitu 8 bit warna merah, 8 bit warna hijau dan 8 bit warna biru.

Di dalam satu byte informasi yang diwakili oleh 8 bit ini, ada

penggolongan-penggolongan bit berdasarkan urutan dan pengaruhnya di dalam

byte tersebut, misalnya ada 1 byte informasi yang berisikan bit 10111001. Bit

yang paling berpengaruh terhadap informasi yang dikandungnya biasanya adalah

angka 1 yang terletak paling depan. Bit ini sering disebut dengan Most Significant

Bit (MSB). Semakin ke kanan, bit-bit tersebut semakin kecil pengaruhnya

terhadap keutuhan informasi yang dikandung, bit inilah yang disebut dengan

Least Significant Bit (LSB).

Teknik steganografi modifikasi dengan Least Significant Bit (LSB) ini

dilakukan dengan memodifikasi bit-bit yang tergolong bit LSB pada setiap byte

warna pada sebuah pixel. Bit-bit LSB ini akan dimodifikasi dengan meggantikan

setiap LSB yang ada dengan bit-bit informasi lain yang ingin disembunyikan.

Setelah semua bit-bit informasi menggantikan bit-bit LSB di dalam file-file

tersebut, maka pesan informasi telah berhasil disembunyikan.

Ketika pesan informasi rahasia tersebut ingin kembali dibuka, maka bit-bit

LSB yang sekarang ada diambil satu persatu dan disatukan kembali menjadi

sebuah informasi. Proses ini disebut dengan istilah extraction atau ekstraksi data,

yang digambarkan pada gambar berikut ini.


Stego Data / Extraction
Stego File Data
(Dengan Metode LSB)

Data Teks
Dekripsi
Citra Bitmap Atau
(Dengan Algoritma RC2)
Data Gambar

String Enkripsi
Password Key Stream
(Dengan Algoritma MD5)
(Key)

Gambar 3.2. Algoritma Ekstraksi File Pada Citra Bitmap

Pada gambar 3.2 dapat dilihat untuk proses ekstraksi dilakukan melalui

citra Bitmap. Untuk mendekripsi data digunakan algoritma RC2 sehingga

dihasilkan data teks ataupun gambar yang sudah di dekripsi.

3.3 Use Case Diagram

Adapun Use Case diagram untuk aplikasi stegrafi pada skripsi ini adalah

dapat dilihat pada gambar 3.3.


Pilih Image Carrier

Embedding File
<<include>> Pilih File Emmbed

Enkripsi Dengan RC2

Input Password

Dekripsi dengan RC2


Pengguna

Extracting File
<<include>> Pilih Image Stego

Simpan File Embedd

Gambar 3.3. Use Case Diagram Embedded & Ekstracting File

Skenario use case diatas dapat dideskripsikan sebagai berikut:

Actor

Pengguna : Aktor yang menggunakan perangkat lunak pada

skripsi

Use Case

1. Nama : Emmbedding File (Sembunyikan File)

Deskripsi : Memungkinkan user menyimpan file didalam media

gambar (image) digital dengan mengenkripsi file

tersebut dengan RC2 untuk keamanan lebih tinggi

Prekondisi : User sudah menjalankan perangkat lunak


Proses : user terlebih dahulu memilih media citra yang akan

digunakan sebagai file carrier, kemudian user

memilih file embedded selanjutnya memasukkan kata

sandi untuk proses enkripsi

Kondisi Akhir : perangkat lunak akan menampilkan file carrier yang

sudah di-embedding dan sebelum di-embedding

2. Nama : Extracting File (Ekstraksi File)

Deskripsi : Memungkinkan user mengambil file didalam media

gambar (image) digital dengan mengekstraksi file

tersebut

Prekondisi : User sudah menjalankan perangkat lunak

Proses : user terlebih dahulu memilih media citra yang sudah

di-embedded selanjutnya memasukkan kata sandi

untuk proses ekstraksi

Kondisi Akhir : perangkat lunak akan menampilkan file yang

disisipkan pada media citra digital

3. Nama : Pilih Image Carrier

Deskripsi : Memungkinkan user untuk memilih media citra yang

akan di-emmbedding

Prekondisi : User sudah menjalankan perangkat lunak

Proses : user terlebih dahulu memilih media citra digital

Kondisi Akhir : perangkat lunak akan menampilkan citra digital yang

akan di-embedding

4. Nama : Pilih File embed


Deskripsi : Memungkinkan user untuk memilih file yang akan

disisipkan pada citra digital.

Prekondisi : User sudah menjalankan perangkat lunak

Proses : user terlebih dahulu memilih file yang diinginkan

Kondisi Akhir : perangkat lunak akan menampilkan file yang akan di-

embedding

5. Nama : Enkripsi RC2

Deskripsi : Memungkinkan user untuk melakukan proses

penyisipan file pada citra digital

Prekondisi : User sudah menjalankan perangkat lunak

Proses : user terlebih dahulu memasukkan password/sandi

untuk proses enkripsi

Kondisi Akhir : perangkat lunak akan menampilkan proses enkripsi

6. Nama : Pilih Image Stego

Deskripsi : Memungkinkan user untuk memilih citra yang sudah

di-embedded untuk di ekstraksi

Prekondisi : User sudah menjalankan perangkat lunak

Proses : user terlebih dahulu memilih media citra digital yang

sudah di-embedd

Kondisi Akhir : perangkat lunak akan menampilkan citra digital yang

sudah di-embedding

7. Nama : Dekripsi RC2

Deskripsi : Memungkinkan user untuk mengambil file yang

disisipkan pada citra digital


Prekondisi : User sudah menjalankan perangkat lunak

Proses : user terlebih dahulu memasukkan password dan

memilih media citra digital yang sudah di-embedd

untuk selanjutnya melakukan proses dekripsi

Kondisi Akhir : perangkat lunak akan menampilkan file yang

disisipkan pada citra digital

8. Nama : Simpan file embedd

Deskripsi : Memungkinkan user untuk menyimpan file sudah

diekstraksi

Prekondisi : User sudah menjalankan perangkat lunak

Proses : user menyimpan file di tempat yang diinginkan

Kondisi Akhir : perangkat lunak akan menampilkan tempat

penyimpanan file

3.4 Activity Diagram

Activity diagram untuk aplikasi stegrafi digambarkan dalam dua kategori

yaitu Activity Diagram Penyembunyi File dan Activity Diagram Ekstraksi File.
3.4.1 Activity Diagram Penyembunyi File

Pengguna Sistem

Pilih Citra Stego Ada Embedded File di Citra

Tampil File Embedd [Ada]


[Tidak Ada]

Input Sandi Panjang Sandi >= 5 Karakter

[tidak]

[ya]

Konversi Data Citra Ke Biner Konversi Data Stego Ke Biner

Ambil Bit-Bit LSB

Rekonstruksi file embedd

Simpan
Tampilkan File embedd

[ya]
Simpan File Embedd

[tidak]

Gambar 3.4. Activity Diagram Penyembunyi File

Gambar 3.4 merupakan Activity Diagram Penyembunyi File, dimana

pengguna dalam melakukan proses penyembunyian file akan memilih citra stego
yang akan di-embedd. Dalam proses embedded di berikan sandi, dimana sandi

tersebut sebagai kunci untuk membuka file pada citra yang sudah di-embedd.

3.4.2 Activity Diagram Ekstraksi File

Pengguna Sistem

Pilih Media Citra Carrier


Ada Embedded File di Citra

Pilih File Embedd [Tidak Ada]


[Ada]

Input Sandi Panjang Sandi >= 5 Karakter

[tidak]

[ya]

Enkripsi File Konversi Data Citra Ke Biner

Konversi Data Ciphertext ke Biner

Sisipkan File Ciphertext Dengan LSB

Simpan
Tampilkan Citra Stego

[ya]
Simpan Citra Stego

[tidak]

Gambar 3.5. Activity Diagram Ekstraksi File


Pada gambar 3.5. Pengguna akan melakukan ekstraksi file, dimana dalam

prosesnya terlebih dahulu memilih citra carrier (citra pembawa). Selanjutnya

dimasukkan sandi (kunci) untuk menampilkan file yang disisipkan pada citra.

Setelah file diekstaksi, maka file dapat disimpan.

3.5 Class Diagram

frmExtract
-strPicLoad$ : String
-strLoadPic$ : String
-p1rocDone : Boolean

1
+Init()()
+File_Size() : String
+Restore_Value()()
+Sizing_Image()()

1
1
frmUtama 1..* Utama
-strLogin : String -tBits
+Embedd() 1..*
+Extract() -winBMPFileHeader
+Exit() frmPreview -BITMAPINFOHEADER
-prcDone : Boolean -BITMAPPalette
1 -POINTAPI
+Restore_Value()() -MSG
+Sizing_Image()() 1 1..* +myDoEvents()() : Boolean
+Save_Image()()
+Binary2String(lnData(()
+ByteToBinary()
1..* +Bin2Asc()
+IsValidKey() : Boolean

1..*

1 frmEmbedd
-strPicLoad$ : String
-strLoadPic$ : String 1
-procDone : Boolean
+Init()()
+File_Size() : String
+Restore_Value()()
+Sizing_Image()()

Gambar 3.6. Class Diagram Aplikasi Stegarafi yang dibangun


3.6 Flowchart Program

Flowchart program merupakan keterangan yang lebih rinci tentang

bagaimana prosedur sesungguhnya yang dilakukan oleh suatu program. Flowchart

ini menggambarkan urutan logika dari suatu prosedur pemecahan masalah.

Flowchart pada program ini terdiri dari dua prosedur, yaitu flowchart program

penyembunyi file dan flowchart program ekstraksi file.


3.6.1 Flowchart Program Penyembunyi File

Mulai B A C

Baca Media Citra Tampilkan Media


Key = MD5(Sandi)
Citra

DatFile = Hitung Ukuran


Ya Ada data Encrypt(Data File Citra Baru
di media citra? File) dgn metode
RC2
Tampilkan Ukuran
Media Citra
Tidak Hapus Key

Tampilkan Media
Citra dan Keterangan Tampilkan Ukuran
Citra Baca Data Citra Citra Baru

Hitung Total
X = Konversi
Ukuran
Data Citra ke Simpan Tidak
Penyembunyi
Binary CitraBaru?
Data
Y = Konversi
Tampilkan Total Ukuran DatFile ke Binary Ya
Penyembunyi Data
Simpan
Ke bit LSB CitraBaru
Baca File X

Selesai
Masukkan nilai Y
Hitung Sisa Ukuran
Penyembunyi Data

Tampilkan Total Ukuran End of File?


File Yang Dipilih
Tidak

Ya
Tampilkan Sisa Ukuran
Penyembunyi Data Z = Konversi nilai X
ke Byte

Baca Data File


CitraBaru =
preview_citra.prev
Baca Sandi
Masukkan nilai Z
ke CitraBaru
Apakah
Panjang Tampilkan
Tidak Sandi CitraBaru
>= 5
karakter?

Ya C

A B

Gambar 3.7. Flowchart Program Penyembunyi File


3.6.2 Flowchart Program Ekstraksi File

Mulai A B

Baca Media Citra Tampilkan Data File (Z)

Tampilkan Media Citra Baca Sandi


dan Keterangan Citra

Apakah
Tidak Tampilkan Panjang
Data Tidak Sandi
File? >= 5
karakter?

Ya Ya
Baca Data Citra

Tidak Simpan Data


File (Z)?
Tidak Ada data file
di media
citra? Ya

Key = MD5(Sandi)
Ya
X = Konversi Data
Citra ke Binary DatFile =
Decrypt(Z)
dgn metode
Ke bit LSB RC2
X

Y = Y + bit
LSB Tidak Apakah
key
benar?

Tidak
End of File?
Ya

Ya Hapus Key

Z = Konversi nilai
Y ke Byte
Simpan DatFile

Hitung Total
Ukuran Data (Z) Selesai

Tampilkan Total Ukuran


Data (Z)

A B

Gambar 3.8. Flowchart Program Ekstraksi File


3.7 Perancangan Antar Muka

Dalam pembuatan program, dirancang antar muka yang terdiri dari

beberapa form. Pembagian ke dalam beberapa form ini dimaksudkan untuk

mempermudah pengguna dalam penggunaannya, sehingga pengguna tidak

mengalami kesulitan ataupun kerancuan dalam proses penyembunyian file

maupun ekstraksi file. Dalam program steganografi ini terbagi ke dalam 5 form,

yaitu form pembuka, form menu utama, form penyembunyi file, form citra hasil,

dan form ekstraksi file.

3.7.1 Antar Muka Form Pembuka

Form pembuka merupakan form yang menampilkan judul dan penulis dari

program steganografi ini. Bentuk rancangan dari form ini dapat dilihat pada

gambar 3.9 dibawah ini.

STEG RAF I
(STEGANOGRAFI & KRIPTOGRAFI)

BY: M.NAUFAL

Copyright © 2012 - 2014

Gambar 3.9. Perancangan Antar Muka Form Pembuka

Form pembuka pada gambar 3.9 akan muncul sebelum form utama

ditampilkan disaat program steganografi dijalankan oleh pengguna. Form ini

hanya tampil dalam beberapa detik saja dan langsung menampilkan form menu

utama.
3.7.2 Antar Muka Form Menu Utama

Form menu utama merupakan form utama dalam program steganografi.

Bentuk dari rancangan form menu utama dapat dilihat pada gambar 3.10.

STEGRAFI

WELCOME TO STEGRAFI

Icon 1 Icon 2

Tombol 1 Tombol 2

Icon 3

Tombol 3
Icon 4

Tombol 4
Status bar

Gambar 3.10. Perancangan Antar Muka Form Menu Utama

Rancangan form menu utama pada gambar 3.10 diatas, terdapat 3 icon dan

3 tombol untuk mengakses ke form berikutnya, yaitu icon 1 dan tombol 1

merupakan tombol yang memiliki fungsi yang sama yang digunakan untuk

menampilkan form penyembunyi file. Begitu pula icon 2 dan tombol 2 juga

memiliki fungsi yang sama yang digunakan untuk menampilkan form ekstraksi

file. Kemudian tombol yang memiliki fungsi yang sama yaitu icon 3 dan tombol 3

yang digunakan untuk menampilkan form about. Dan yang terakhir icon 4 dan

tombol 4, merupakan tombol keluar yang digunakan untuk menutup dan

mengakhiri program steganografi ini.


3.7.3 Antar Muka Form Penyembunyi File

Form penyembunyi file merupakan form yang digunakan untuk

menyembunyikan file ke dalam citra. Form ini bertujuan untuk melakukan inisiasi

awal dalam proses pengkodean dan meminta sejumlah informasi yang dibutuhkan

dari pengguna sebelum melakukan proses pengkodean. Informasi yang

dibutuhkan antara lain citra bitmap, file yang akan disembunyikan dan sandi.

Adapun rancangan Antar Muka Form Penyembunyi File dapat dilihat pada

gambar 3.11 dimabah ini.

Sembunyikan File Ke Dalam Citra

Pilih Media
Pilih File Yang Akan Di Sembunyikan
Citra
Tipe File Nama File Ukuran File

Tombol 1
Tombol 2
Tabel File

Kotak Citra Tombol 3

Keterangan File

Masukkan Sandi
Kotak Teks
Keterangan Citra Kotak ceklis

Tombol 4 Tombol 5

Gambar 3.11. Perancangan Antar Muka Form Penyembunyi File

Pada gambar 3.11 dapat dijelaskan skenario proses penyembunyian file

dimana awalnya pengguna diminta untuk memilih media citra terlebih dahulu,

yang akan dipakai sebagai wadah untuk menyimpan file rahasia yang ingin

disembunyikan. Untuk memilih citra, pengguna harus menekan tombol 1. Citra

yang telah dipilih akan ditampilkan di dalam kotak citra beserta keterangannya

yang dilampirkan di dalam kotak keterangan citra berupa Nama Citra, Dimensi
Citra, Resolusi Citra, dan Ukuran Citra. Nama citra merupakan nama dari citra

yang telah dipilih oleh pengguna dari direktori komputer. Dimensi citra

merupakan panjang dan lebar dari citra yang telah dipilih. Resolusi citra

merupakan besarnya intensitas warna dalam satu pixel yang dimiliki oleh citra

yang dipilih. Dan ukuran citra merupakan besarnya kapasitas dari file citra yang

telah dipilih. Contoh:

 Nama citra : Gambar1.bmp

 Dimensi citra : 1920 x 1200

 Resolusi citra : 24 bit

 Ukuran citra : 6,59 MB (6.912.054 bytes)

Setelah itu langkah selanjutnya yang harus dilakukan pengguna adalah

memilih file yang akan disembunyikan ke dalam citra, yaitu dengan menekan

tombol 2. File yang telah dipilih akan ditampilkan ke dalam tabel file. Tabel file

ini berfungsi menampilkan informasi mengenai file yang dipilih berupa Tipe File,

Nama File, dan Ukuran File. Tipe file merupakan jenis atau ekstensi dari file yang

dipilih, yaitu tipe file yang hanya boleh dipilih dalam program ini adalah berupa

gambar dan teks, misalnya JPG, GIF, TXT, DOC, dan lain sebagainya. Nama file

merupakan nama file yang telah dipilih oleh pengguna dari direktori komputer.

Dan ukuran file merupakan besarnya kapasitas dari file yang telah dipilih. Contoh:

Tabel 3.3. Contoh File Teks Dan File Gambar

Tipe File Nama File Ukuran File

jpg Gambar Rahasia 2,7 KB (2.766 bytes)

doc Dokumen Rahasia 19,5 KB (19.968 bytes)


Jika file yang berada dalam daftar tabel tidak ingin dilampirkan oleh

pengguna, maka file tersebut dapat dihapus dari daftar tabel dengan memilih file

yang ingin dihapus pada tabel, lalu menekan tombol 3. Pada kotak keterangan file

akan ditunjukkan Total Ukuran Penyembunyi Data, Total Ukuran File Yang

Dipilih, dan Sisa Ukuran Penyembunyi File. Total ukuran penyembunyi data

adalah jumlah keseluruhan ukuran file yang dapat disembunyikan ke dalam citra.

Total ukuran penyembunyi data diketahui setelah pengguna selesai memilih media

citra. Jadi jumlah total ukuran penyembunyi data ini sesuai dengan besarnya

ukuran media citra yang dipilih oleh pengguna, dengan rumus:

Total Ukuran Penyembunyi Data = (Ukuran Citra / 8) - 1024

Misalkan terdapat citra yang berdimensi 1280 x 800 dengan ukuran citra

sebesar 3.072.054 bytes, maka Total ukuran penyembunyi data adalah

(3.072.054/8) – 1024 = 382.982,75 bytes.

Total ukuran file yang dipilih merupakan jumlah keseluruhan ukuran file

yang telah dipilih oleh pengguna atau yang telah tertera di tabel. Misalkan

terdapat 2 file yang masing-masing berukuran 2,7 KB (2.766 bytes) dan 19,5 KB

(19.968 bytes), maka Total ukuran file yang dipilih adalah 2,7 KB + 19,5 KB =

22,2 KB atau 2.766 bytes + 19.968 bytes = 22.734 bytes.

Dan sisa ukuran penyembunyi file adalah besarnya ukuran file yang tersisa

yang dapat disembunyikan ke dalam citra, dengan rumus:

Sisa Ukuran Penyembunyi File =

Total Ukuran Penyembunyi Data – Total Ukuran File Yang Dipilih


Misalkan Total ukuran penyembunyi data = 374,01 KB (382.982 bytes)

dan Total ukuran file yang dipilih = 22,2 KB (22.734 bytes), maka Sisa ukuran

penyembunyi file adalah 374,01 KB - 22,2 KB = 351,81 KB atau 382.982 bytes -

22.734 bytes = 360.248 bytes.

Setelah pengguna selesai memilih media citra dan file yang ingin

disembunyikan, maka pengguna diwajibkan untuk menuliskan sandi di dalam

kotak teks yang telah disediakan. Pada saat pengetikan sandi, karakter yang tampil

pada kotak teks adalah berupa karakter “*” (bintang). Hal ini dilakukan agar

supaya kerahasiaan sandi yang diketikan lebih terjaga dan tidak dapat di ketahui

oleh orang-orang yang tidak berkepentingan. Namun karakter tersebut dapat

dihilangkan dengan mengklik kotak ceklis pada form. Kotak ceklis pada form ini

berguna untuk menghilangkan karakter “*” (bintang) pada kotak teks dengan

menampilkan karakter asli yang diketikan oleh pengguna pada keyboard

komputer.

Langkah terakhir, pengguna dapat melakukan proses penyembunyian file

dengan menekan tombol 4. Setelah proses penyembunyian file telah selesai, maka

form ini akan ditutup dan muncul form citra hasil yang akan dijelaskan pada sub

bab berikutnya.

Dalam form ini pengguna diharuskan mengisi berdasarkan urutan langkah

yang telah dijelaskan di atas, dimana bila tidak mengisi berdasarkan urutan yang

telah ditentukan maka pengguna tidak dapat melanjutkan proses selanjutnya,

karena kotak teks dan tombol-tombol yang lainnya akan dibuat dalam keadaan

tidak aktif (disable).


Di dalam form ini terdapat satu tombol lagi yaitu tombol 5, tombol tersebut adalah

tombol menu utama yang menuju ke form menu utama. Bentuk rancangan dari

form ini dapat dilihat pada gambar berikut ini.

3.7.4 Antar Muka Form Citra Hasil

Form citra hasil merupakan form yang digunakan untuk menampilkan citra

awal (citra yang dipilih oleh pengguna pada form penyembunyi file) dan citra

sesudah diproses (citra yang telah berisi pesan informasi). Rancangan form citra

hasil dapat dilihat pada gambar 3.12.

Citra Hasil

Tombol 1 Tombol 2
* HASIL CITRA SETELAH DIPROSES *

SEBELUM SESUDAH

Kotak Citra 1 Kotak Citra 2

Keterangan Citra 1
Keterangan Citra 2

CITRA AWAL
CITRA STEGRAFI

Gambar 3.12. Perancangan Antar Muka Form Citra Hasil

Dari gambar 3.12 diatas, Form akan ditampilkan ketika form penyembunyi

file selesai melakukan proses penyembunyian file. Pada form ini terdapat 2

tombol dan 2 kotak citra. Tombol 1 digunakan sebagai tombol menu utama yang

menuju ke form menu utama. Dan tombol 2 digunakan untuk menyimpan citra

yang telah berhasil diproses (citra yang telah berisi pesan informasi).
Pada saat form tampil, kotak citra 1 akan berisi citra awal yaitu citra yang

telah dipilih oleh pengguna pada form penyembunyi file, dan keterangannya

dilampirkan di dalam kotak keterangan citra 1 berupa Dimensi Citra, Resolusi

Citra, dan Ukuran Citra. Sedangkan pada kotak citra 2 diisi dengan citra yang

telah selesai diproses saat penyembunyian file, dan keterangannya dilampirkan di

dalam kotak keterangan citra 2 berupa Dimensi Citra, Resolusi Citra, dan Ukuran

Citra. Bentuk rancangan dari form ini dapat dilihat pada gambar berikut ini.

3.7.5 Antar Muka Form Ekstraksi File

Form ekstraksi file merupakan form yang digunakan untuk mengekstraksi

file dari dalam citra. Form ini bertujuan untuk meminta sejumlah informasi yang

dibutuhkan dari pengguna sebelum menjalankan proses ekstraksi file. Informasi

yang dibutuhkan hanyalah citra bitmap dan sandi.

Gambar 3.13. Perancangan Antar Muka Form Ekstraksi File


Rancangan form ekstraksi file pada gambar 3.13 diatas, terdapat

komponen-komponen yang memiliki fungsi sama seperti komponen-komponen

yang terdapat pada form penyembunyi file, seperti kotak citra, kotak keterangan

citra, tabel file, kotak teks, dan kotak ceklis.

Untuk memilih citra mana yang menjadi objek stego (citra bitmap),

pengguna harus menekan tombol 1. Sama halnya seperti pada form penyembunyi

file, pada tahap ini citra akan ditampilkan pada kotak citra beserta keterangannya

yang dilampirkan di dalam kotak keterangan citra berupa Nama Citra, Dimensi

Citra, Resolusi Citra, dan Ukuran Citra.

Setelah memilih citra bitmap yang mengandung pesan informasi maka

yang harus dilakukan pengguna adalah mengekstraksi atau membuka informasi

yang terdapat di dalam citra tersebut dengan menekan tombol 2. Pesan informasi

yang terdapat di dalam citra akan ditampilkan ke dalam tabel file. Kotak

keterangan file akan menampilkan jumlah total ukuran data yang terkandung

dalam citra yang telah dipilih.

Langkah terakhir yang harus dilakukan oleh pengguna adalah proses

penyimpanan file yang telah diungkap dari citra. Namun sebelumnya pengguna

diwajibkan untuk memasukkan sandi yang menjadi kunci utama dalam

mendekripsi file yang terdapat pada citra sebelum file di simpan ke dalam

direktori komputer. Setelah sandi terisi dengan benar maka pengguna dapat

menyimpan file tersebut dengan menekan tombol 3.

Dalam form ini pengguna diharuskan mengisi berdasarkan urutan langkah

yang telah dijelaskan di atas, dimana bila tidak mengisi berdasarkan urutan yang

telah ditentukan maka pengguna tidak dapat melanjutkan proses selanjutnya,


karena kotak teks dan tombol-tombol lainnya akan dibuat dalam keadaan tidak

aktif (disable).

Di dalam form ini terdapat satu tombol lagi yaitu tombol 4, tombol

tersebut adalah tombol menu utama yang menuju ke form menu utama. Bentuk

rancangan dari form ini dapat dilihat pada gambar berikut ini.
BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1 Kebutuhan Sistem

Pada dasarnya penggunaan komputer sebagai alat pengolah data terdiri

dari beberapa fasilitas pendukung yang harus diperhatikan dan harus memenuhi

aspek teknis yang dibutuhkan oleh sistem pengolah data. Fasilitas pendukung ini

terdiri dari 2 spesifikasi, yaitu:

1. Perangkat keras (hardware)

2. Perangkat lunak (software)

4.1.1 Spesifikasi Kebutuhan Perangkat Keras (Hardware)

Perangkat keras yang digunakan sebagai pendukung untuk membuat

program aplikasi pada skripsi ini memiliki spesifikasi sebagai berikut:

1. Processor Intel Pentium IV 2.6 GHz atau lebih tinggi.

2. Harddisk.

3. Monitor dengan resolusi 1024 x 768 pixel.

4. Memori RAM yang digunakan minimal 128 MB.

5. VGA Card 32 MB.

6. Keyboard dan Mouse

90
1

4.1.2 Spesifikasi Kebutuhan Perangkat Lunak (Software)

Sedangkan perangkat lunak (software) yang dibutuhkan untuk menunjang

aktivitas berjalannya program aplikasi yang dikembangkan dengan baik adalah:

1. Microsoft Visual Basic 2008

2. Sistem operasi Windows XP

4.2 Implementasi

Tahapan yang perlu dilakukan dalam mengimplementasikan metode LSB

dan algoritma RC2 ke dalam program aplikasi pada skripsi ini, yaitu:

1. Instalasi aplikasi.

2. Format citra dan file.

3. Pengujian program.

4.2.1 Instalasi Aplikasi

Sebelum menggunakan aplikasi pada skripsi ini, perlu dilakukan instalasi

terlebih dahulu agar aplikasi berjalan dengan baik. Adapun cara untuk melakukan

instalasi aplikasi pada skripsi ini, yaitu :

1. Klik pada folder Setup STEGRAFI, maka akan tampil seperti gambar

berikut ini.
Gambar 4.1. Instalasi STEGRAFI (Steganografi Dan Kriptografi) Tahap Awal

2. Selanjutnya klik tombol “OK” seperti pada gambar 4.1. di atas. Setelah itu

akan tampil proses selanjutnya seperti yang terlihat pada gambar berikut ini.

Gambar 4.2. Instalasi STEGRAFI (Steganografi Dan Kriptografi) Tahap Dua

3. Klik tombol “Gambar Komputer” seperti pada gambar 4.2. di atas, maka akan

tampil proses selanjutnya seperti yang terlihat pada gambar berikut ini.
Gambar 4.3. Instalasi STEGRAFI (Steganografi Dan Kriptografi) Tahap Tiga

4. Klik tombol “Continue” seperti pada gambar 4.3. di atas, maka akan tampil

proses instalasi seperti yang terlihat pada gambar berikut ini.

Gambar 4.4. Instalasi STEGRAFI (Steganografi Dan Kriptografi) Tahap Empat

5. Setelah proses instalasi selesai, maka akan tampil proses selanjutnya seperti

yang terlihat pada gambar berikut ini.


Gambar 4.5. Instalasi STEGRAFI (Steganografi Dan Kriptografi) Tahap Lima

6. Proses terakhir klik tombol “OK” seperti yang terlihat pada gambar 4.5. di

atas dan setelah itu program aplikasi pun siap untuk digunakan.

4.2.2 Tampilan Program

Setelah selesai melakukan proses instalasi program, tampilan dari program

aplikasi yang telah selesai diinstalasi dapat dilihat pada gambar di bawah ini.

Gambar 4.6. Tampilan Menu Utama


Gambar 4.7. Tampilan Menu “Sembunyikan File”

Menu “Sembunyikan File” dapat ditampilkan dengan mengklik menu/

tulisan “Sembunyikan File” ataupun mengklik icon yang berada tepat di atas

tulisan “Sembunyikan File”. Pada menu ini, proses awal yang harus dilakukan

adalah memilih media citra yang akan digunakan sebagai wadah penampung

(cover) data. Setelah memilih media citra, maka tombol “Pilih File” akan aktif,

dan pengguna dapat memilih file yang akan disembunyikan ke dalam media citra

yang telah dipilih.

Tombol “Hapus File” akan aktif dan juga kotak teks sandi serta kotak

ceklis sandi pun akan aktif setelah terdapat satu atau lebih file yang terlampir pada

tabel file. Selanjutnya jika kotak teks sandi telah diisi dengan teks, maka tombol

“Sembunyikan File” akan aktif dan proses penyembunyian file pun dapat

dilakukan. Dengan mengklik tombol “Sembunyikan File”, maka proses yang


terjadi adalah proses mengenkripsi file yang tertera pada tabel file dan setelah itu

dilakukan proses penyisipan data file yang telah terenkripsi ke dalam media citra

yang dipilih.

Untuk keluar dari menu “Sembunyikan File” dan kembali ke menu utama,

pengguna dapat mengklik tombol/gambar yang berada di sebelah kanan tombol

“Sembunyikan File”.

Gambar 4.8. Tampilan Menu “Citra Hasil”

Menu “Citra Hasil” akan tampil secara otomatis setelah proses

penyembunyian file telah selesai dilakukan. Menu ini menampilkan citra yang

dipilih diawal pada menu “Sembunyikan File” dan juga citra yang telah selesai

disisipkan beberapa data kedalamnya. Citra yang telah diproses dapat disimpan

dengan mengklik tombol/gambar “Disk”. Sedangkan untuk keluar dari menu ini
dan kembali ke menu utama, pengguna dapat mengklik tombol/gambar disebelah

kiri dari tombol/gambar “Disk”

Gambar 4.9. Tampilan Menu “Ekstraksi File”

Menu “Ekstraksi File” dapat ditampilkan dengan mengklik menu/tulisan

“Ekstraksi File” ataupun mengklik icon yang berada tepat di atas tulisan

“Ekstraksi File”. Komponen-komponen yang terdapat pada menu ini hampir

memiliki fungsi yang sama dan juga proses pengaktifan komponennya sama

seperti pada menu “Sembunyikan File”. Perbedaannya hanya terdapat pada

tombol “Ekstraksi File” dan tombol “Simpan File”. Tombol “Ekstraksi File”

digunakan untuk mengekstraksi data dari media citra yang dipilih. Hasilnya akan

ditampilkan secara otomatis ke dalam tabel file.

Sedangkan tombol “Simpan File” digunakan untuk menyimpan file yang

telah diekstraksi dari media citra ke dalam direktori komputer. Proses yang terjadi

jika tombol “Simpan File” diklik adalah proses pendekripsian file yang tertera/
telah diekstraksi dari media citra, kemudian hasilnya disimpan langsung ke dalam

direktori komputer.

4.2.3 Format Citra Dan File

Adapun format citra dan file yang digunakan pada program aplikasi ini

adalah sebagai berikut:

1. Media citra yang digunakan sebagai wadah penampung (cover) data adalah

citra bitmap dengan format *.bmp.

2. Citra yang telah selesai disisipkan data dan disimpan ke dalam direktori

komputer adalah citra bitmap dengan format *.bmp.

3. File yang akan dienkripsi dan disisipkan ke dalam citra adalah file teks dengan

format *.txt, *.pdf; *.doc, *.rtf, *.xls, *.ppt, *.pub, *.mdb, dan file gambar

dengan format *.bmp, *.gif, *.jpg, *.png, *.tif, *.tiff, *.ico.

4. File telah selesai diekstraksi dari media citra dan telah didekripsi serta

disimpan ke dalam direktori adalah sesuai dengan file yang disisipkan ke

dalam media citra, yaitu dapat berupa file teks dengan format *.txt, *.pdf;

*.doc, *.rtf, *.xls, *.ppt, *.pub, *.mdb, dan file gambar dengan format *.bmp,

*.gif, *.jpg, *.png, *.tif, *.tiff, *.ico.

4.2.4 Pengujian Program

Dalam penelitian ini dilakukan beberapa pengujian, antara lain :

1. Membandingkan media citra sebelum disisipkan data dan setelah disisipkan

data file berupa teks.

2. Membandingkan media citra sebelum disisipkan data dan setelah disisipkan

data file berupa gambar.


3. Membandingkan media citra sebelum disisipkan data dan setelah disisipkan

data file berupa teks dan gambar.

4. Mengembalikan data yang sudah disisipkan ke dalam media citra dengan

sandi yang sama.

5. Mengembalikan data yang sudah disisipkan ke dalam media citra dengan

sandi yang berbeda.

4.2.4.1 Pengujian Dengan Menggunakan File Teks

Pengujian yang dilakukan berikut ini adalah dengan menggunakan salah

satu file teks yang berformat *.pdf yang akan disisipkan ke dalam media citra.

Pengujian ini melakukan proses penyembunyian file teks ke dalam media

citra. Dan selanjutnya melakukan proses ekstraksi data dari media citra yang telah

selesai disisipkan data. Adapun data awal sebelum dilakukan proses

penyembunyian file dan proses enkripsi, yaitu :

a. Dimensi Citra : 1920 x 1200

b. Resolusi Citra : 24 bits

c. Ukuran Citra : 6,59 MB (6.912.054 bytes)

d. Total Ukuran Penyembunyi Data : 842,76 KB (862.982 bytes)

e. Ukuran File Teks : 769,14 KB (787.602 bytes)


100

Gambar 4.10. Proses Awal Sebelum Proses Penyembunyian Dan Proses Enkripsi
File Teks

Berikut ini adalah tampilan perbandingan media citra sebelum dan setelah

disisipkan file teks :

Gambar 4.11. Perbandingan Media Citra Sebelum Dan


Setelah Disisipkan File Teks
1

Dari hasil pengujian ini diperoleh data media citra sebelum dan sesudah

disisipkan data sebagai berikut:

Tabel 4.1. Tabel Data Media Citra Hasil Pengujian Pertama

Dimensi Resolusi
Nama Citra Ukuran Citra
Citra Citra
Citra 1 1920 x 1200 24 bits 6,59 MB (6.912.054 bytes)

Citra STEGRAFI 1920 x 1200 24 bits 6,59 MB (6.912.056 bytes)

Proses selanjutnya adalah mengekstraksi data dari media citra. Dan hasil

proses ekstraksi data dari media citra dapat dilihat pada gambar di bawah ini.

Gambar 4.12. Hasil Ekstraksi Data Dari Media Citra

Dari hasil pengujian ini diperoleh data file teks sebelum disisipkan ke

dalam citra dan setelah diekstraksi dari media citra sebagai berikut :

a. Ukuran File Teks Awal : 769,14 KB (787.602 bytes)

b. Ukuran File Teks Ekstraksi : 769,16 KB (787.624 bytes)


Tampilan isi file teks sebelum disisipkan ke dalam citra dan setelah

diekstraksi dari media citra serta didekripsi, ditunjukkan pada gambar berikut ini.

Gambar 4.13. Perbandingan Isi File Teks Sebelum Disisipkan Ke Dalam


Citra (Kiri) Dan Setelah Diekstraksi Dari Media Citra Serta Didekripsi (Kanan)

4.2.4.2 Pengujian Dengan Menggunakan File Gambar

Pengujian yang dilakukan berikut ini adalah dengan menggunakan salah

satu file gambar yang berformat *.png yang akan disisipkan ke dalam media citra.

Pengujian ini melakukan proses penyembunyian file gambar ke dalam

media citra. Dan selanjutnya melakukan proses ekstraksi data dari media citra

yang telah selesai disisipkan data. Adapun data awal sebelum dilakukan proses

penyembunyian file dan proses enkripsi, yaitu:

a. Dimensi Citra : 1920 x 1200

b. Resolusi Citra : 24 bits

c. Ukuran Citra : 6,59 MB (6.912.054 bytes)

d. Total Ukuran Penyembunyi Data : 842,76 KB (862.982 bytes)

e. Ukuran File Gambar : 31,92 KB (32.691 bytes)


Gambar 4.14. Proses Awal Sebelum Proses Penyembunyian Dan Proses Enkripsi
File Gambar

Berikut ini adalah tampilan perbandingan media citra sebelum dan setelah

disisipkan file gambar :

Gambar 4.15. Perbandingan Media Citra Sebelum Dan


Setelah Disisipkan File Gambar
Dari hasil pengujian ini diperoleh data media citra sebelum dan sesudah

disisipkan data sebagai berikut:

Tabel 4.2. Tabel Data Media Citra Hasil Pengujian Kedua

Dimensi Resolusi
Nama Citra Ukuran Citra
Citra Citra

Citra 1 1920 x 1200 24 bits 6,59 MB (6.912.054 bytes)

Citra STEGRAFI 1920 x 1200 24 bits 6,59 MB (6.912.056 bytes)

Proses selanjutnya adalah mengekstraksi data dari media citra. Dan hasil

proses ekstraksi data dari media citra dapat dilihat pada gambar di bawah ini.

Gambar 4.16. Hasil Ekstraksi Data Dari Media Citra


Dari pengujian ini diperoleh data file gambar sebelum disisipkan ke dalam

citra dan setelah diekstraksi dari media citra sebagai berikut :

a. Ukuran File Gambar Awal : 31,92 KB (32.691 bytes)

b. Ukuran File Gambar Ekstraksi : 31,95 KB (32.712 bytes)

Tampilan isi file gambar sebelum disisipkan ke dalam citra dan setelah

diekstraksi dari media citra serta didekripsi ditunjukkan pada gambar berikut ini.

Gambar 4.17. Perbandingan Isi File Teks Sebelum Disisipkan Ke Dalam


Citra (Kiri) Dan Setelah Diekstraksi Dari Media Citra Serta Didekripsi (Kanan)

4.2.4.3 Pengujian Dengan Menggunakan File Teks Dan File Gambar

Pengujian yang dilakukan berikut ini adalah dengan menggunakan salah

satu file teks yang berformat *.jpg dan file gambar yang berformat *.png yang

akan disisipkan ke dalam media citra.

Pengujian ini melakukan proses penyembunyian file teks dan file gambar

ke dalam media citra. Dan selanjutnya melakukan proses ekstraksi data dari media

citra yang telah selesai disisipkan data. Adapun data awal sebelum dilakukan

proses penyembunyian file dan proses enkripsi, yaitu:

a. Dimensi Citra : 1920 x 1200

b. Resolusi Citra : 24 bits


c. Ukuran Citra : 6,59 MB (6.912.054 bytes)

d. Total Ukuran Penyembunyi Data : 842,76 KB (862.982 bytes)

e. Ukuran File Teks : 373,23 KB (382.184 bytes)

f. Ukuran File Gambar : 131,43 KB (134.588 bytes)

g. Total Ukuran File : 504,66 KB (516.772 bytes)

Gambar 4.18. Proses Awal Sebelum Proses Penyembunyian Dan Proses Enkripsi
File Teks Dan File Gambar

tampilan perbandingan media citra sebelum dan setelah disisipkan file teks

dan file gambar dapat dilihat pada gambar 4.19.


Gambar 4.19. Perbandingan Media Citra Sebelum Dan
Setelah Disisipkan File Teks Dan File Gambar

Dari hasil pengujian ini diperoleh data media citra sebelum dan sesudah

disisipkan data sebagai berikut:

Tabel 4.3. Tabel Data Media Citra Hasil Pengujian Ketiga

Dimensi Resolusi
Nama Citra Ukuran Citra
Citra Citra

Citra 1 1920 x 1200 24 bits 6,59 MB (6.912.054 bytes)

Citra STEGRAFI 1920 x 1200 24 bits 6,59 MB (6.912.056 bytes)


Proses selanjutnya adalah mengekstraksi data dari media citra. Dan hasil

proses ekstraksi data dari media citra dapat dilihat pada gambar di bawah ini.

Gambar 4.20. Hasil Ekstraksi Data Dari Media Citra

Dari pengujian ini diperoleh data file teks dan file gambar sebelum

disisipkan ke dalam citra dan setelah diekstraksi dari media citra sebagai berikut :

a. Ukuran File Teks Awal : 373,23 KB (382.184 bytes)

b. Ukuran File Teks Ekstraksi : 373,25 KB (382.208 bytes)

c. Ukuran File Gambar Awal : 131,43 KB (134.588 bytes)

d. Ukuran File Gambar Ekstraksi : 131,45 KB (134.608 bytes)

Tampilan isi file teks dan file gambar sebelum disisipkan ke dalam citra

dan setelah diekstraksi dari media citra serta didekripsi ditunjukkan pada gambar

4.21.
Gambar 4.21. Perbandingan Isi File Teks Dan File Gambar Sebelum Disisipkan
Ke Dalam Citra (Kiri) Dan Setelah Diekstraksi Dari Media Citra Serta
Didekripsi (Kanan)

4.2.4.4 Pengujian Dengan Menggunakan File Teks Dan Sandi Berbeda

Pengujian yang dilakukan berikut ini adalah dengan menggunakan salah

satu file teks yang berformat *.pdf yang akan disisipkan ke dalam media citra.

Pengujian ini melakukan proses penyembunyian file teks ke dalam media

citra. Dan selanjutnya melakukan proses ekstraksi data dari media citra yang telah

selesai disisipkan data. Adapun data awal sebelum dilakukan proses

penyembunyian file dan proses enkripsi, yaitu :

a. Dimensi Citra : 1920 x 1200

b. Resolusi Citra : 24 bits

c. Ukuran Citra : 6,59 MB (6.912.054 bytes)


110

d. Total Ukuran Penyembunyi Data : 842,76 KB (862.982 bytes)

e. Ukuran File Teks : 769,14 KB (787.602 bytes)

f. Sandi : STEGRAFI Key4

Gambar 4.22. Proses Awal Sebelum Proses Penyembunyian dan Proses Enkripsi
File Teks

Berikut ini adalah tampilan perbandingan media citra sebelum dan setelah

disisipkan file teks :

Gambar 4.23. Perbandingan Media Citra Sebelum dan


Setelah Disisipkan File Teks
1

Dari hasil pengujian ini diperoleh data media citra sebelum dan sesudah

disisipkan data sebagai berikut:

Tabel 4.4. Tabel Data Media Citra Hasil Pengujian Keempat

Dimensi Resolusi
Nama Citra Ukuran Citra
Citra Citra

Citra 1 1920 x 1200 24 bits 6,59 MB (6.912.054 bytes)

Citra STEGRAFI 1920 x 1200 24 bits 6,59 MB (6.912.056 bytes)

Proses selanjutnya adalah mengekstraksi data dari media citra. Dan hasil

proses ekstraksi data dari media citra dapat dilihat pada gambar di bawah ini.

Gambar 4.24. Hasil Ekstraksi Data Dari Media Citra


Dari hasil pengujian ini diperoleh data file teks sebelum disisipkan ke

dalam citra dan setelah diekstraksi dari media citra sebagai berikut :

a. Ukuran File Teks Awal : 769,14 KB (787.602 bytes)

b. Ukuran File Teks Ekstraksi : 769,17 KB (787.631 bytes)

Setelah itu dilakukan proses pendekripsian dan penyimpanan data ke

dalam direktori komputer dengan menggunakan sandi “abcdef” dan hasilnya

adalah sebagai berikut.

Gambar 4.25. Pesan Kesalahan Saat Penyimpanan File

Dari hasil pengujian yang telah dilakukan, bahwa perbandingan ukuran

media citra sebelum disisipkan data file teks atau file gambar dengan ukuran

media citra setelah disisipkan data file teks atau file gambar memiliki

perbandingan ukuran sebesar 2 byte. Hal ini tentunya tidak terlalu mempengaruhi
kualitas dari media citra yang digunakan seperti yang telah terlihat dari hasil

proses pengujian yang telah dilakukan.

Sedangkan perbandingan ukuran file teks atau file gambar sebelum

disisipkan ke dalam media citra dengan ukuran file teks atau file gambar setelah

diekstraksi dari media citra memiliki perbandingan ukuran sekitar 2 – 3 KB. Hal

ini juga tetap tidak mempengaruhi isi file teks atau pun kualitas dari gambar yang

telah diekstraksi dari media citra.

Jika sandi yang digunakan untuk mendekripsi file pada saat file akan

disimpan ke dalam direktori komputer berbeda dari sandi yang digunakan pada

saat penyembunyian file, maka program STEGRAFI akan menampilkan pesan

kesalahan. Dan data yang didekripsi tidak tersimpan ke dalam direktori komputer.

4.3 Kelemahan dan Kelebihan Sistem

4.3.1 Kelemahan Sistem

1. Dari aspek robustness (ketahanan), citra hasil tidak tahan terhadap

proses perbaikan citra (image enhancement).

2. Dikarenakan paralel prosessing mengakibatkan dalam membutuhkan

waktu proses yang lebih lama.

4.3.2 Kelebihan Sistem

1. Akan sangat sulit bagi kripanalis untuk memecahkan kode chipertext

karena menggunakan algoritma RC2 dan LSB.

2. Dari sisi sekuritas jauh lebih aman dibandingkan steganografi biasa

yang hanya menggunakan plain data, dikarenakan sistem ini

menggunakan chipertext.
BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil implementasi dan hasil pengujian yang dilakukan, maka dapat

diambil kesimpulan sebagai berikut :

1. Dengan menggunakan metode Least Significant Bit (LSB), penyisipan data ke

dalam media citra yang digunakan sebagai wadah penampung (cover) tidak

terlalu mempengaruhi kualitas dari citra tersebut bila dilihat secara kasat mata.

2. RC2 adalah cipher blok yang menggunakan 64 bit sebagai ukuran per blok-

nya

3. Semakin besar ukuran media citra yang digunakan maka semakin baik dan

semakin besar pula kapasitas atau ukuran penyembunyi datanya.

4. Dari pengujian pertama sampai pengujian ke empat, perbandingan ukuran data

media citra tanpa data dan ukuran media citra dengan data memiliki

perbandingan ukuran yang sama sebesar 2 byte. Begitu pula dengan ukuran

file yang akan disisipkan dan ukuran file yang telah diekstraksi juga memiliki

perbandingan ukuran sekitar 2 – 3 KB.

5. Kesalahan memasukkan sandi pada saat pendekripsian dapat menyebabkan

data file yang telah diekstraksi tidak dapat disimpan. Hal ini dikarenakan

algoritma MD5 dengan fungsi hashnya sangat peka terhadap perubahan pesan.

6. Data file yang telah diekstraksi dari media citra tidak mengubah sedikit pun isi

ataupun kualitas gambar yang ada.

114
115

7. Sumber daya komputer sangat berpengaruh terhadap kecepatan enkripsi dan

proses penyisipan data serta proses ekstraksi data. Semakin besar data file

yang disisipkan ke dalam media citra, maka kecepatan memprosesnya akan

semakin lama. Hal ini dikarenakan penggunaan kapasitas memori komputer

sebagai fasilitas penyimpanan data sementara terbatas.

8. Keunggulan steganografi dari kriptografi adalah kemampuan untuk

mengeliminasi kecurigaan pihak yang tidak berkepentingan melihat pesan

atau data yang telah diubah.

9. Penggabungan teknik steganografi dan kriptografi dapat dilakukan dengan

cara mengenkripsi file yang akan disisipkan sebelumnya, kemudian hasil

proses enkripsi (chiphertext) disisipkan ke dalam media citra. Dan sebaliknya

untuk memperoleh data dari media citra, pertama kali dilakukan proses

ekstraksi data dari media citra kemudian data didekripsi kembali. Proses

penggabungan teknik ini tentunya dapat membuat data lebih terjamin

kerahasiaannya.

5.2 Saran

Adapun saran yang dapat disampaikan untuk pengembangan sistem lebih

lanjut adalah sebagai berikut:

1. Agar algoritma RC2 dapat digabungkan dengan algoritma kriptografi lainnya

sehingga diperoleh program aplikasi yang lebih handal.

2. Agar media yang digunakan sebagai wadah penampung (cover) dapat berupa

media lainnya seperti media teks, suara dan video. Begitu pula dengan file

yang akan dienkripsi dan disisipkan dapat berupa file lainnya seperti file suara

dan video.
DAFTAR PUSTAKA

Munir Rinaldi, “Kriptografi”, Informatika, Bandung, 2006.

Munir Rinaldi, “Pengolahan Citra Digital”, Informatika, Bandung,


2004.

Garfinkel Simson, and Gene Spafford, “Practical UNIX & Internet


Security,” O’Reilly & Associates, Inc., 2nd edition, 2006.

Hartono Jogiyanto, 2007, Analisis & Desain Sistem Informasi


Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis,
Yogyakarta, Andi Offset.

Icove David J., “Collaring the cybercrook: an investigator’s view,”


IEEE Spectrum, pp. 31-36, June 2005.

Johnson Neil F,, “Steganography”,. Center for Secure Information


Systems, George Mason University, 2006.

Kristanto Andri, 2005, Perancangan Sistem Informasi dan


Aplikasinya, Yogyakarta, Gava. Media.

Raharjo Budi, “Keamanan Sistem Informasi Berbasis Internet”,


PT.Insan Komunikasi Indonesia, Bandung, 2005.

Stallings William, “Network and Internetwork Security,” Principles


and Practise Prentice Hall, 2005.

ix

Anda mungkin juga menyukai