Analysis and Implementation of Exclusive Or Algorithm and Least Significant Bit Algorithm for Insertion of an Image File to the Image
FILE GAMBAR PADA GAMBAR
DRAFT SKRIPSI
LIZA ALFIRA ALI
111421019
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
(2)
DRAFT SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar SarjanaKomputer
LIZA ALFIRA ALI 111421019
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
(3)
PERSETUJUAN
Judul : ANALISIS DAN IMPLEMENTASI ALGORITMA EXCLUSIVE OR DAN LEAST SIGNIFICANT BIT UNTUK PENYISIPAN FILE GAMBAR PADA GAMBAR
Kategori : SKRIPSI
Nama : LIZA ALFIRA ALI
NomorIndukMahasiswa : 111421019
Program Studi : EKSTENSI S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (Fasilkom-TI) UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Handrizal, S.Si, M.Comp.Sc Maya Silvi Lydia, B.Sc, M.Sc. NIP. 19740127 200212 2 001
Diketahui/Disetujui oleh :
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001
(4)
PERNYATAAN
ANALISIS DAN IMPLEMENTASI ALGORITMA EXCLUSIVE OR DAN LEAST SIGNIFICANT BIT UNTUK PENYISIPAN
FILE GAMBAR PADA GAMBAR
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Februari 2014
Liza Alfira Ali 111421019
(5)
PENGHARGAAN
Alhamdulillah penulis bersyukur kepada Allah SWT yang telah melimpahkan rahmat dan karunia-Nya penulis telah menyeselesaikan skripsi ini dalam waktu yang telah ditentukan serta salawat dan salam kepada junjungan Nabi Muhammad SAW. Pada kesempatan ini dengan kerendahan hati penulis mengucapkan terimakasih kepada :
1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi .
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi Ilmu Komputer, sekaligus Dosen Pembanding 2 yang telah memberikan saran dalam penyelesaian skripsi ini.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi Ilmu Komputer sekaligus Dosen Pembimbing 1, yang telah bersedia meluangkan waktu serta memberi pengetahuan dan motivasi dalam penyelesaian skripsi ini. 5. Bapak Handrizal, S.Si., M.Comp.Sc selaku Dosen Pembimbing 2, yang bersedia meluangkan waktu, pikiran, saran, panduan serta memberikan pengetahuan dan motivasi dalam penyelesaian skripsi ini.
6. Bapak Drs. Agus Salim, S.Si, M.Si selaku Dosen Pembanding 1 yang telah memberikan saran dan kritik yang membangun dalam penyelesaian skripsi ini. 7. Teristimewa ibunda tercinta Hj.Sabrina dan Ayahanda H. Ali Amran, Fildianti
S.pd, Moh. Reza Ali, M. Rozi Ali, Amalia Maghfirah selaku saudara yang telah memberikan semangat, dorongan, serta doanya dalam menyelesaikan skripsi ini.
8. Teman-teman saya Imam Syahputra Amd, Adam Kurniawan Mrg Amd., Fitri Yutari Hidayah Amd, Fitri Alia Amd, Suci Ikhwani Lestari Amd,Riri Indriati Purba Amd, Ade Marfuah Lubis Amd yang sudah membantu dan memberi semangat kepada penulis selama ini.
(6)
9. Staf pengajar dan pegawai administrasi Faklutas Ilmu Komputer dan Teknologi Informasi.
10.Teman – teman seperjuangan mahasiswa Ekstensi S-1 Ilmu Komputer stambuk 2011 yang selalu memberi dukungan.
Dalam penyusunan skripsi ini, penulis menyadari bahwa masih terdapat kekurangan, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak demi kesempurnaan skripsi ini. Akhir kata penulis mengharapkan semoga skripsi ini dapat bermanfaat dan membantu semua pihak yang memerlukannya.
Medan, Februari 2014 Penulis
(7)
ABSTRAK
Keamanan data serta kerahasiaan sangat penting terutama pada pertukaran informasi dalam media digital. Citra merupakan salah satu media digital yang sering digunakan dalam pertukaran informasi. Teknik steganografi sering digunakan dalam pengamanan data dengan menyisipkan pesan pada media digital. Pada penelitian ini dilakukan analisis dan implementasi menggunakan algoritma
Exclusive Or (XOR) dan Least Significant Bit (LSB) untuk penyisipan file gambar pada gambar yang berformat *.bmp dan *.jpg. Penyisipan pada algoritma XOR dilakukan dengan melakukan operasi logika XOR antara citra cover dan citra sisipan serta mengganti bit-bit terakhir pada biner citra cover dengan bit citra sisipan untuk algoritma LSB. Pengujian dilakukan pada file citra cover 300x300
pixel serta citra sisipan satu per sepuluh dari citra covernya. Parameter yang gunakan untuk membandingkan kualitas citra adalah Mean Square Error (MSE) dan Peak Signal to Noise Ratio (PSNR). Pengujian pada algoritma XOR menghasilkan nilai MSE adalah 72.051578 dan nilai PSNR adalah 68.051448. Pada pengujian algoritma LSB nilai MSE adalah 0.026111 dan nilai PSNR adalah 147.279103. Berdasarkan hasil perbandingan ini dapat diketahui bahwa algoritma LSB lebih baik karena memiliki nilai MSE yang lebih rendah dan PSNR yang lebih tinggi dari algoritma XOR.
Kata Kunci : Steganografi, Exclusive Or, Least Significant Bit, Mean Squared Error, Peak Signal to Noise Ratio.
(8)
ANALYSIS AND IMPLEMENTATION OF EXCLUSIVE OR ALGORITHM AND LEAST SIGNIFICANT BIT
ALGORITHM FOR INSERTION OF AN IMAGE FILE TO THE IMAGE
ABSTRACT
Data security and privacy are very important especially in the exchange of information in digital media. The image is a digital media commonly used in the information exchange. Steganographic techniques are often in the data security by message on digital media. In this research, analysis and implementation of algorithms Exclusive Or ( XOR) and Least Significant Bit (LSB ) to the insertion of images in the image file format *.BMP and *.Jpg. Inserting the XOR algorithm is an XOR operation between the cover image and the image of the inserts and replace the last bits in the binary image of the cover with the image bits LSB insertion algorithm. Tests which is on the title image file Conducted 300x300 pixels and frame inserts a tenth of the cover image . The parameters used to compare the image quality is the Mean Square Error ( MSE) and Peak Signal to Noise Ratio ( PSNR ). Testing the XOR algorithm generates 72.051578 68.051448 MSE and PSNR is. In examining the LSB algorithm is MSE and PSNR is 0.026111 147.279103. Based on the results of this comparison can be seen that the LSB algorithm is preferable because it has a lower PSNR and MSE higher than the XOR algorithm.
Keywords : Steganographic, Exclusive Or, Least Significant Bit, Mean Squared Error, Peak Signal to Noise Ratio.
(9)
DAFTAR ISI
PERSETUJUAN iii
PERNYATAAN iv
PENGHARGAAN v
ABSTRAK vii
ABSTRACT viii
DAFTAR ISI ix
DAFTAR TABEL xi
DAFTAR GAMBAR xii
BAB 1 PENDAHULUAN 1
1.1Latar Belakang 1
1.2Rumusan Masalah 3
1.3Tujuan Penelitian 3
1.4Batasan Masalah 4
1.5Manfaat Penelitian 4
1.6Metodologi Penelitian 4
1.7Sistematika Penulisan 6
BAB 2 TINJAUAN PUSTAKA 7
2.1Steganografi 7
2.2Media Penyisipan 9
2.3Kriteria Steganografi yang baik 10
2.4Dasar Pengolahan Citra 11
2.4.1 Pengertian Citra Digital 11
2.4.2 Sampling 12
2.4.3 Pixel dan Voxel 13
2.5Pengolahan Citra Digital 13
2.6Jenis Citra 14
2.7Format File Citra 15
2.8Pengolahan Warna 16
2.8.1 Warna RGB 17
2.8.2 Warna CMYK 17
2.8.3 Warna HSL 18
2.9Metode Penyisipan Algoritma XOR 19
2.10 Metode Ekstraksi Algoritma XOR 20
2.11 Metode Penyisipan Algoritma Least Significant Bit (LSB) 21 2.12 Metode Ekstraksi Algoritma Least Significant Bit (LSB) 22
2.13 Parameter Pembanding 23
2.13.1 Mean Square Error (MSE) 23
2.13.2 Peak Signal to Noise Ratio (PSNR) 23
(10)
BAB 3 ANALISIS DAN PERANCANGAN 25
3.1Analisis Masalah 25
3.2Analisis Kebutuhan 26
3.2.1 Kebutuhan Fungsional 26
3.2.2 Kebutuhan Nonfungsional 26
3.3Flowchart Umum Sistem 28
3.4Flowchart Penyisipan Algoritma Exclusive Or 29
3.5Flowchart Penyisipan Algoritma Least Significant Bit 31
3.6Flowchart Ekstraksi Algoritma Exclusive Or 32
3.7Flowchart Ekstraksi Algoritma Least Significant Bit 34
3.8Flowchart Parameter MSE dan PSNR 35
3.9Analisis Penyisipan dan Ekstraksi Algoritma 36 3.9.1 Analisis Penyisipan Algoritma Exclusive Or 36 3.9.2 Analisis Penyisipan Algoritma Least Significant Bit 42 3.9.3 Analisis Ekstraksi Algoritma Exclusive Or 47 3.9.4 Analisis Ekstraksi Algoritma Least Significant Bit 48
3.10 Perancangan Antar Muka 48
3.10.1 Rancangan Menu Awal 49
3.10.2 Rancangan Menu Program 50
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 54
4.1Implementasi Sistem 54
4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak 54
4.1.2 Tampilan Halaman Awal 55
4.1.3 Tampilan Menu Utama 55
4.1.4 Tampilan Penyisipan Steganografi menggunakan XOR 56 4.1.5 Tampilan Ekstraksi Steganografi menggunakan XOR 59 4.1.6 Tampilan Penyisipan Steganografi menggunakan LSB 60 4.1.7 Tampilan Ekstraksi Steganografi menggunakan LSB 61
4.1.8 Tampilan Parameter Algoritma 62
4.2Pengujian Program 62
4.2.1 Hasil Pengujian 68
BAB 5 KESIMPULAN DAN SARAN 69
5.1Kesimpulan 69
5.2Saran 70
DAFTAR PUSTAKA 72
LAMPIRAN A (LISTING PROGRAM) Lampiran A-1
(11)
DAFTAR TABEL
Tabel 2.1 Tabel Kebenaran Operasi XOR 19
Tabel 3.1 Operasi Logika XOR 39
Tabel 4.1 Pengujian 1 61
Tabel 4.2 Pengujian 2 62
Tabel 4.3 Pengujian 3 63
Tabel 4.4 Pengujian 4 64
Tabel 4.5 Pengujian 5 65
(12)
DAFTAR GAMBAR
Gambar 2.1 Proses Steganografi 8
Gambar 2.2 Posisi Koordinat Citra Digital 11
Gambar 2.3 Digitalisasi Citra (pixel x=4 dan y=10) 12
Gambar 3.1 Diagram Ishikawa 25
Gambar 3.2 Flowchart Umum Program 28
Gambar 3.3 Flowchart Penyisipan XOR 29
Gambar 3.4 Flowchart Penyisipan XOR lanjutan 30 Gambar 3.5 Flowchart Penyisipan Algoritma LSB 31 Gambar 3.6 Flowchart Penyisipan Algoritma LSB lanjutan 32 Gambar 3.7 Flowchart Ekstraksi Algoritma XOR 33 Gambar 3.8 Flowchart Ekstraksi Algoritma LSB 34
Gambar 3.9 Flowchart Parameter 35
Gambar 3.10 Citra Cover XOR 36
Gambar 3.11 Citra Sisipan XOR 37
Gambar 3.12 Citra Stego XOR 42
Gambar 3.13 Citra Cover LSB 42
Gambar 3.14 Citra Sisipan LSB 43
Gambar 3.15 Citra Stego LSB 47
Gambar 3.16 Menu Awal 49
Gambar 3.17 Menu Program 50
Gambar 3.18 Tampilan Parameter 51
Gambar 4.1 Tampilan Halaman Awal 54
Gambar 4.2 Tampilan Menu Utama 55
Gambar 4.3 Open Image Cover 56
Gambar 4.4 Pilih Image Cover 56
Gambar 4.5 Open Embed Image 57
Gambar 4.6 Proses Penyisipan XOR 57
Gambar 4.7 Open ImageStego dan Cover 58
Gambar 4.8 Hasil Ekstraksi XOR 58
Gambar 4.9 Penyisipan LSB 59
Gambar 4.10 Hasil Penyisipan LSB 59
Gambar 4.11 Ekstraksi LSB 60
Gambar 4.12 Hasil Ekstraksi LSB 60
Gambar 4.13 Tampilan Parameter 61
Gambar 4.14 Grafik Nilai MSE 68
(13)
(14)
ABSTRAK
Keamanan data serta kerahasiaan sangat penting terutama pada pertukaran informasi dalam media digital. Citra merupakan salah satu media digital yang sering digunakan dalam pertukaran informasi. Teknik steganografi sering digunakan dalam pengamanan data dengan menyisipkan pesan pada media digital. Pada penelitian ini dilakukan analisis dan implementasi menggunakan algoritma
Exclusive Or (XOR) dan Least Significant Bit (LSB) untuk penyisipan file gambar pada gambar yang berformat *.bmp dan *.jpg. Penyisipan pada algoritma XOR dilakukan dengan melakukan operasi logika XOR antara citra cover dan citra sisipan serta mengganti bit-bit terakhir pada biner citra cover dengan bit citra sisipan untuk algoritma LSB. Pengujian dilakukan pada file citra cover 300x300
pixel serta citra sisipan satu per sepuluh dari citra covernya. Parameter yang gunakan untuk membandingkan kualitas citra adalah Mean Square Error (MSE) dan Peak Signal to Noise Ratio (PSNR). Pengujian pada algoritma XOR menghasilkan nilai MSE adalah 72.051578 dan nilai PSNR adalah 68.051448. Pada pengujian algoritma LSB nilai MSE adalah 0.026111 dan nilai PSNR adalah 147.279103. Berdasarkan hasil perbandingan ini dapat diketahui bahwa algoritma LSB lebih baik karena memiliki nilai MSE yang lebih rendah dan PSNR yang lebih tinggi dari algoritma XOR.
Kata Kunci : Steganografi, Exclusive Or, Least Significant Bit, Mean Squared Error, Peak Signal to Noise Ratio.
(15)
ANALYSIS AND IMPLEMENTATION OF EXCLUSIVE OR ALGORITHM AND LEAST SIGNIFICANT BIT
ALGORITHM FOR INSERTION OF AN IMAGE FILE TO THE IMAGE
ABSTRACT
Data security and privacy are very important especially in the exchange of information in digital media. The image is a digital media commonly used in the information exchange. Steganographic techniques are often in the data security by message on digital media. In this research, analysis and implementation of algorithms Exclusive Or ( XOR) and Least Significant Bit (LSB ) to the insertion of images in the image file format *.BMP and *.Jpg. Inserting the XOR algorithm is an XOR operation between the cover image and the image of the inserts and replace the last bits in the binary image of the cover with the image bits LSB insertion algorithm. Tests which is on the title image file Conducted 300x300 pixels and frame inserts a tenth of the cover image . The parameters used to compare the image quality is the Mean Square Error ( MSE) and Peak Signal to Noise Ratio ( PSNR ). Testing the XOR algorithm generates 72.051578 68.051448 MSE and PSNR is. In examining the LSB algorithm is MSE and PSNR is 0.026111 147.279103. Based on the results of this comparison can be seen that the LSB algorithm is preferable because it has a lower PSNR and MSE higher than the XOR algorithm.
Keywords : Steganographic, Exclusive Or, Least Significant Bit, Mean Squared Error, Peak Signal to Noise Ratio.
(16)
BAB 1 PENDAHULUAN
Pada bab ini akan dijelaskan tentang latarbelakang penulisan, rumusan masalah, batasan masalah yang akan dibahas, serta tujuan penelitian skripsi ini. Manfaat dalam penelitian, metodelogi penelitian yang digunakan, dan dijelaskan sistematika penulisan dalam pembuatan skripsi ini.
1.1Latarbelakang
Perkembangan teknologi yang pesat sangat berpengaruh terhadap keamanan data terutama pada pertukaran informasi dalam media digital. Citra merupakan salah satu media digital yang sering digunakan dalam pertukaran informasi. Suatu informasi pada saat ini sering mengalami situasi yang tidak aman, terutama untuk suatu informasi yang memiliki nilai lebih, misalnya informasi keamanan bisnis ataupun kepentingan umum. Dimana setiap informasi-informasi tersebut banyak diminati oleh berbagai pihak yang memiliki kepentingan didalamnya, dengan perkembangan teknologi tersebut, ancaman terhadap keamanan informasi yang dibutuhkan semakin besar, terutama untuk informasi yang dirahasiakan. Berbagai ancaman didunia maya membuat orang khawatir akan keamanan informasi yang dikirimnya, sedangkan informasi tersebut sangat penting bagi orang-orang tertentu [1].
Teknik penyembunyian informasi yang cukup terkenal adalah teknik steganografi. Steganografi merupakan seni untuk menyembunyikan pesan didalam media digital, sehingga orang lain tidak menyadari ada suatu pesan didalam media
(17)
tersebut [16]. Steganografi memiliki hubungan yang erat dengan kriptografi tetapi metode ini sangat berbeda dengan kriptografi.
Teknik keamanan pada kriptografi mengacak pesan sehingga tidak dimengerti sedangkan steganografi menyembunyikan pesan agar tidak terlihat. Pada teknik kriptografi pesan chipertext akan menimbulkan kecurigaan sedangkan pesan steganografi yang dibuat tidak akan terlihat [6].
Seiring dengan beragamnya pilihan media yang digunakan pada teknik steganografi maka beragam pula algoritma steganografi yang digunakan. Algoritma steganografi yang digunakan untuk menyembunyikan pesan dalam berkas citra dengan format *.bmp dan *.jpg adalah Algoritma Least Significant Bit (LSB) dan Algoritma Exclusive Or (XOR) untuk menyisipkan file gambar pada gambar.
Teknik steganografi umumnya digunakan pada dua media yang berbeda, dimana salah satunya berfungsi sebagai media informasi (carrier file) dan yang lain berfungsi sebagai media pembawa informasi tersebut (secret file) [4].
Salah satu metode steganografi citra digital adalah Least Significant Bit (LSB), dengan teknik penyembunyian pesan pada lokasi bit terendah dalam citra digital. Pesan dikonversikan kedalam bentuk bit biner dan disembunyikan pada citra digital dengan menggunakan metode LSB dengan membaca bit terendah [10]. Metode ini akan menghasilkan citra yang sangat mirip dengan aslinya, karena hanya mengubah nilai bit terakhir pada citra cover.
Metode LSB menyembunyikan data rahasia dalam media pixel yang tidak signifikan (least significant pixel) dari berkas wadah (cover). Pengubahan nilai pixel
yang tidak signifikan pada dasarnya memberikan pengaruh terhadap berkas wadah, tetapi perubahan yang terjadi sangat kecil, sehingga tidak tertangkap oleh indra manusia. Kenyataan inilah yang akhirnya dimanfaatkan sebagai teknik penyembunyian data.
(18)
Algoritma XOR merupakan Operasi XOR yang membandingkan dua buah bit yang apabila pada salah satu bit nya bernilai benar, maka hasil akhir operasi XOR tersebut adalah benar. Namun, bila kedua bit yang akan dibandingkan bernilai salah atau keduanya bernilai benar maka hasil akhir operasi XOR tersebut adalah salah.
1.2Rumusan Masalah
Berdasarkan latarbelakang diatas maka masalah yang akan dibahas pada penelitian ini adalah Bagaimana menjaga kerahasiaan data dengan menyisipkan file gambar yang berformat *.bmp dan *.jpg pada media gambar dengan menggunakan dua algoritma yaitu Exclusive Or dan Least Significant Bit serta menjaga keamanan gambar dengan menggunakan password.
1.3Tujuan Penelitian
Tujuan dari penelitian ini adalah menerapkan teknik steganografi dengan melakukan penyisipan gambar yang berformat *.bmp dan *.jpg dengan menggunakan algoritma XOR dan algoritma LSB serta mengetahui perbandingan kualitas citra antara kedua algoritmanya sebelum dan sesudah disisipkan dengan mengetahui nilai MSE dan PSNR.
1.4Batasan Masalah
Agar tidak terjadi perluasan pokok bahasan, maka diberikan batasan-batasan masalah sebagai berikut :
(19)
2. Parameter pembanding kualitas citra yang diukur Mean Squared Error (MSE) serta Peak Signal to Noise Ratio (PSNR).
3. Ukuran citra cover langsung diubah dalam dimensi 300x300 pixel dan ukuran citra sisipan diubah menjadi satu per sepuluh dari citra cover yaitu 30x30 pixel.
4. Tools yang digunakan dalam implementasi ini menggunakan Microsoft Visual Basic 2010.
1.5Manfaat Penelitian
Manfaat dalam penelitian ini akan diperoleh suatu perangkat lunak untuk penyisipan dan ekstraksi pesan rahasia citra dengan menggunakan algoritma XOR dan LSB serta mengetahui hasil perbandingan perhitungan parameter yang diukur dari setiap algoritma dan menambah pengetahuan untuk memilih algoritma mana yang lebih baik dalam penyisipan gambar dengan mengetahui nilai MSE dan PSNR.
1.6Metodologi Penelitian
Metodologi penelitian yang akan digunakan dalam penelitian adalah: 1. Merumuskan Masalah
Perumusan masalah merupakan proses awal dari sebuah penelitian, dimana masalah yang akan dirumuskan yaitu menganalisis serta implementasi dengan menggunakan dua buah algoritma yang dikombinasikan yaitu Exclusive Or dan
Least Significant Bit pada penyisipan gambar pada gambar berformat *.bmp dan *.jpg.
2. Studi Literatur
Studi Literatur merupakan proses pengumpulan bahan-bahan sebagai gambaran dalam penelitian terdahulu dan yang akan buat.
(20)
3. Pengumpulan Data
Data yang akan dikumpulkan merupakan data beberapa citra yang berformat *.bmp dan *.jpg untuk proses penyisipan antara gambar citra cover dan gambar citra sisipan.
4. Perancangan Sistem
Pada tahap perancangan sistem ini bertujuan untuk merancang perangkat lunak dan pembuatan flowchart untuk proses kerja program serta analisis masalah penelitian dengan menggunakan tools Microsoft Visual Basic 2010.
5. ImplementasiSistem
Pada tahap ini dilakukan dengan tujuan untuk menampilkan hasil dari perancangan sistem kepada user tentang pemanfaatan program.
6. Pengujian Sistem
Proses ini dilakukan setelah implementasi sistem dilakukan serta telah layak digunakan sehingga dilakukan pengujian sistem dan perbaikan sistem untuk hasil yang baik.
(21)
1.7Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama yang dijelaskan sebagai berikut :
BAB I. PENDAHULUAN
Bab ini akan menjelaskan tentang latar belakang masalah, rumusan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan pada skripsi ini.
BAB II. LANDASAN TEORI
Bab ini merupakan tinjauan teori yang berkaitan dengan pembahasan steganografi, Least Significant Bit, Exclusive Or, pengolahan citra yang akan di analisis, perancangan dan implementasi penelitian.
BAB III. ANALISI PERANCANGAN SISTEM
Bab ini menjelaskan tentang analisis pada perangkat yang akan digunakan untuk membangun sebuah sistem dan juga perancangan sistem dari hasil analisis yang dilakukan.
BAB IV. IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi hasil dari penelitian dan pembahasan serta pengujian berupa implementasi dari sistem yang telah di analisis dan dirancang sebelumnya dalam bentuk perangkat lunak steganografi image dengan bahasa pemrograman Microsoft Visual Basic 2010.
BAB V. KESIMPULAN DAN SARAN
Bab yang terakhir ini merupakan kesimpulan dari isi keseluruhan bab sebelumnya serta saran dari hasil pengujian yang diperoleh agar dapat bermanfaat dalam pengembangan selanjutnya.
(22)
(23)
Pada bagian ini akan dijelaskan teori-teori yang akan digunakan pada saat penelitian. Teori yang dibahas meliputi teori-teori tentang steganogtafi, kriteria dari steganografi, media yang dapat digunakan dalam penyisipan, dasar pengolahan citra, jenis citra, pengolahan warna, penyisipan maupun ekstraksi dari setiap algoritma.
2.1Steganografi
Steganografi merupakan seni untuk menyembunyikan pesan dalam pesan lainnya sehingga orang lain tidak menyadari ada sesuatu di dalam pesan tersebut. Kata steganografi (steganography) berasal dari bahasa Yunani steganos, yang artinya terselubung. Teknik ini memiliki banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia [7].
Pada definisi steganografi terdapat konsep pesan atau informasi yang akan disampaikan kepada orang lain, yang mana pesan tersebut penting sehingga hanya orang yang berhak saja yang dapat menerimanya. Pada bidang steganografi ini pesan tersebut akan disembunyikan dengan aman, jadi hal yang penting yaitu penyampaian pesan dan keamanan suatu pesan tersebut.
Teknik steganografi dapat menghasilkan gambar yang telah disisipkan tidak terlihat oleh mata manusia. Oleh karena itu teknik steganografi ini semakin dibutuhkan untuk memberikan keamanan yang maksimal dalam proses pengiriman informasi. Implementasi steganografi pada saat ini telah banyak menggunakan
(24)
media digital sebagai media penyembunyi pesan, salah satunya media gambar (citra digital).
Steganografi juga meliputi penyisipan informasi dalam file komputer. Dalam steganografi digital, komunikasi elektronik dapat mencakup pengkodean
steganographic dalam lapisan transportasi, seperti file dokumen, file gambar, program atau protokol. File media sangat ideal untuk transmisi steganographic karena ukurannya yang besar. Sebagai contoh sederhana, pengirim mungkin mulai dengan
file gambar yang tidak terlalu kompleks dan menyesuaikan warna setiap pixel 100 dengan huruf dalam alfabet. Karena perubahannya begitu halus, maka seseorang yang tidak secara khusus mencarinya tidak dapat melihat informasi yang disisipkan [13].
Steganogafi memiliki dua proses, yaitu encoding dan decoding. Encoding
merupakan proses penyisipan pesan kedalam media penampung (cover image), yaitu gambar / citra digital, sedangkan decoding adalah proses ekstraksi pesan dari gambar stego (stego image). Kedua proses tersebut memerlukan kunci rahasia (stegokey) untuk proses penyisipan pesan dan ekstraksi pesan, agar pihak yang berhak saja yang dapat melakukan penyisipan dan ekstraksi pesan [10]. Adapun proses steganografi ditunjukkan pada gambar 2.1 di bawah ini.
Gambar 2.1 Proses Steganografi [18]
Pada teknik steganografi ini penyembunyian informasi yang bersifat pribadi sehingga mendapatkan hasil yang akan terlihat seperti informasi normal lainnya. Terdapat beberapa istilah yang berkaitan dengan steganografi [8], yaitu :
embedding extraction
Cover-object
Message to embed
stego-object
Cover-object
Extracted message Stego key Stego key
(25)
1. Hiddentext atau embedded message, yaitu pesan yang disembunyikan.
2. Covertext atau cover-object, yaitu pesan yang digunakan untuk menyembunyikam
embedded message.
3. Stegotext atau stego-object, yaitu pesan yang sudah berisi embedded message.
2.2Media Penyisipan
Teknik Steganography yang digunakan dalam dunia modern sekarang ini sudah sangat beragam. Media penyisipan merupakan suatu media untuk menyimpan pesan rahasia. Beberapa contoh media penyisipan pesan rahasia yang digunakan dalam teknik steganografi antara lain adalah :
1. Teks
Dalam algoritma Steganography yang menggunakan teks sebagai media penyisipannya biasanya digunakan teknik Natural Language Processing (NLP) sehingga teks yang telah disisipi pesan rahasia tidak akan dicurigai oleh orang yang melihatnya.
2. Audio
Format ini pun sering dipilih karena biasanya berkas dengan format ini berukuran relatif besar. Sehingga dapat menampung pesan rahasia dalam jumlah yang besar pula.
3. Citra
Format ini merupakan salah satu format file yang sering dipertukarkan dalam dunia internet. Alasan lainnya adalah banyaknya tersedia algoritma steganography
untuk media penampung yang berupa citra.
4. Video
Format ini memang merupakan format dengan ukuran file yang relatif sangat besar namun jarang digunakan karena ukurannya yang terlalu besar sehingga
(26)
mengurangi kepraktisannya dan juga kurangnya algoritma yang mendukung format ini [2].
2.3Kriteria Steganografi yang Baik
Penyembunyian data rahasia ke dalam citra digital akan mengubah kualitas citra tersebut. Hal ini tergantung pada ukuran file media penyimpan dan ukuran file pesan yang disisipkan. Ada beberapa kriteria yang harus diperhatikan dalam penyembunyian data dalam steganografi ini, yaitu :
1. Fidelity
Mutu citra penampung data tidak jauh berubah. Setelah terjadi penambahan pesan rahasia, stego-data masih terlihat dengan baik. Pengamat tidak mengetahui kalau di dalam stego-data tersebut terdapat pesan rahasia..
2. Robustness
Pesan yang disembunyikan harus tahan (robust) terhadap berbagai operasi manipulasi yang dilakukan pada stego-data, seperti pengubahan kontras, penajaman, pemampampatan,rotasi,perbesaran gambar, pemotongan cropping, enkripsi, dan sebagainya. Bila pada citra penampung dilakukan operasi-operasi pengolahan citra tersebut, maka pesan yangdisembunyikan seharusnya tidak rusak (tetap valid jika diekstraksi kembali).
3. Recovery
Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Karena tujan steganografi adalah penyembunyian informasi maka sewaktu-waktu pesan rahasia di dalam stego-data harus dapat diambil kembali untuk digunakan lebih lanjut [16].
(27)
2.4Dasar Pengolahan Citra
Pada dasar pengolahan suatu citra kita harus mengetahui dan memahami pengertian tentang citra digital, light, luminance, brightness, contrast, fenomena mach bands, fenomena simultan, fenomena ilusi optic, proses pembentukan citra digital, sampling, dan kuantisasi, pixel, voxel, dan relasi antar pixel, resolusi citra, jenis-jenis citra berdasarkan warna (level intensitas), berbagai sistem ruang warna, serta mengetahui berbagai format file citra [9].
2.4.1 Pengertian Citra Digital
Secara umum citra digital menunjuk pada pemrosesan gambar 2 dimensi menggunakan komputer. Dalam konteks yang lebih luas pengolahan citra digital merupakan sebuah baris (array) yang berisi nilai-nilai real maupun kompleks yang direpresentasikan dengan deret bit tertentu. Suatu citra dapat di defenisikan sebagai fungsi f(x,y) berukuram M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x,y, dan nilai amplitudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka akan dikatakan bahwa citra tersebut adalah citra digital. Gambar 2.2 menunjukkan posisi koordinat citra digital.
(28)
Citra digital juga dapat ditulis dalam bentuk matriks sebagai berikut pada persamaan 2.1 dibawah ini:
� , =
�(0,0)
�(1,0)
…
�(0,1)
�(1,1)
… �( −1,0) �( −1,1)
… … …
�(0, −1)
�(1, −1)
…
… �( −1, −1)
… … … …(2.1)
Nilai pada suatu irisan antara baris dan kolom pada (posisi x, y) disebut dengan picture element, Image element, pels, dan pixel.istilah pixel paling sering digunakan pada citra digital. Gambar 2.3 merupakan digitalisasi citra dengan M=15 baris dan N=15 kolom [9].
Gambar 2.3 digitalisasi citra dengan (pixel x=4 dan y=10) [9]
2.4.2 Sampling
Sampling adalah transformasi citra kontinu menjadi citra digital dengan cara membagi citra analog (kontinu) menjadi M kolom dan N baris sehingga menjadi citra diskrit. Semakin besar nilai M dan N, semakin halus citra digital yang dihasilkan dan artinya resolusi citra semakin tinggi. Persilangan antara baris dan kolom tertentu disebut dengan pixel. Proses sampling dihasilkan oleh peralatan digital, misalnya scanner, foto digital, dan kamera digital.
Kamera digital biasanya menggunakan sensor optik jenis Charge Coupled Device (CCD) yang membentuk sebuah matriks berukuran M kolom dan N baris. Sensor jenis CCD digunakan untuk mendeteksi intensitas cahaya yang masuk ke
(29)
dalam kamera. Keluaran arus yang besarnya sebanding dengan intensitas cahaya yang mengenainya dari matriks CCD. Maka Arus tersebut dikonversi menjadi data digital yang kemudian dikirim ke unit penampil atau unit pengolah lainnya [16].
2.4.3 Pixel dan Voxel
Setiap pixel tidak hanya mewakili satu titik dalam sebuah citra melainkan sebuah bagian berupa kotak yang merupakan bagian terkecil(sel). Nilai dari sebuah pixel
harus dapat menunjukkan nilai rata-rata yang sama untuk seluruh bagian dari sel tersebut.
Pada citra 3D satuan atau bagian terkecilnya bukan lagi sebuah pixel
melainkan sebuah voxel ditentukan dengan tiga buah variabel yaitu k yang menyatakan kedalaman (depth), m menyatakan posisi baris, dan n menyatakan posisi kolom. Penggambarannya dapat dilakukan dengan sumbu kartesian [9].
2.5Pengolahan Citra Digital
Pengolahan citra digital adalah sebuah disiplin ilmu yang mempelajari hal-hal yang berkaitan dengan perbaikan kualitas gambar (peningkatan kontras,transformasi warna,resolusi citra), transformasi gambar (rotasi, translasi, skala, transformasi geometrik), melakukan pemilihan citra ciri (feature image) yang optimal untuk tujuan analisis, melakukan proses penarikan informasi atau deskripsi objek atau pengenalan objek yang terkandung pada citra, melakukan kompresi atau reduksi data untuk tujuan penyimpanan data, transmisi data, dan waktu proses data. Input dari pengolahan citra adalah citra, sedangkan output-nya adalah citra hasil pengolahan [16].
(30)
2.6Jenis Citra
Suatu pixel memiliki nilai rentang tertentu dari nilai minimum ke nilai maksimum. Jangkauan suatu nilai yang digunakan berbeda-beda tergantung dari jenis warnanya. Namun secara umum jangkauan nya 0-255. Citra dengan penggambaran seperti ini digolongkan kedalam citra integer. Berikut adalah jenis-jenis citra berdasarkan nilai
pixelnya [9] :
1. Citra Biner
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai pixel
yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and white) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap
pixel dari citra biner yaitu 0 dan 1.
2. Citra Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pixel-nya, dengan kata lain nilai bagian RED = GREEN = BLUE. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkatan keabuan di sini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale berikut memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan).
3. Citra Warna (8 bit)
Citra warna (8 bit) hanya di wakili oleh 8 bit dengan jumlah warna maksimum yang dapat digunakan adalah 256 warna.
4. Citra Warna (16 bit)
Citra warna 16 bit disebut sebagai citra highcolor dengan setiap pixel-nya diwakili dengan 2 byte memori (16 bit). Warna 16 Bit memiliki 65.536 warna. Dalam formasi bitnya, nilai merah dan biru mengambil tempat 5 bit di kanan dan kiri. Komponen hijau memiliki 5 bit ditambah 1 bit ekstra. Pemilihan komponen hijau
(31)
dengan deret 6 bit dikarenakan penglihatan manusia lebih sensitif terhadap warna hijau.
5. Citra Warna (24 bit)
Citra warna 24 bit diwakili dengan 24 bit pixel sehingga total 16.777.216 variasi warna. Variasi ini sudah lebih dari cukup untuk memvisualisasikan seluruh warna yang dapat dilihat penglihatan manusia. Penglihatan manusia dipercaya hanya dapat membedakan hingga 10 juta warna saja. Setiap poin informasi pixel Red Green Blue (RGB) disimpan ke dalam 1 byte data. 8 bit pertama menyimpan nilai biru, kemudian diikuti dengan nilai hijau pada 8 bit kedua dan pada 8 bit terakhir merupakan warna merah.
2.7 Format File Citra
Format file citra standar yang digunakan saat ini terdiri dari beberapa jenis. Format-format ini digunakan dalam menyimpan citra dalam sebuah file. Setiap format memiliki karakteristik masing-masing [9] :
1. Bitmap (.bmp)
Format *.bmp adalah format penyimpanan standar tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk menyimpan sebuah nilai pixel.
2. Tagged Image Format (.tif, .tiff)
Format *.tif merupakan format penyimpanan citra yang dapat digunakan untuk menyimpan citra bitmap hingga citra dengan warna palet terkompresi. Format ini dapat digunakan untuk menyimpan citra yang tidak terkompresi dan juga citra terkompresi.
(32)
3. Portable Network Graphics (.png)
Format *.png adalah format penyimpanan citra terkompresi. Format ini dapat digunakan pada citra grayscale, citra dengan palet warna, dan juga citra fullcolor. Format .png juga mampu menyimpan informasi hingga kanal alpha dengan penyimpanan sebesar 1 hingga 16 bit per kanal.
4. Joint Photographic Expert Group (.jpg)
Format *.jpg adalah format yang sangat umum digunakan saat ini khususnya untuk transmisi citra. Format ini digunakan untuk menyimpan citra hasil kompresi dengan metode JPEG.
5. Graphics Interchange Format (.gif)
Format ini dapat diigunakan pada citra warna dengan palet 8 bit. Penggunaan umumnya pada aplikasi web. Kualitas yang rendah menyebabkan format ini tidak terlalu populer dikalangan peneliti pengolahan citra digital.
6. RGB(.rgb)
Format ini merupakan format penyimpanan citra yang dibuat oleh silicon graphics
untuk menyimpan citra berwarna.
7. RAS (.ras)
Format .ras diigunakan untuk menyimpan citra dengan format RGB tanpa kompresi.
2.8Pengolahan Warna
Berdasarkan hasil penelitian, warna dapat membedakan proses identifikasi dan ekstraksi objek dari sekitarnya. Manusia dapat membedakan ribuan warna dan tingkat intensitasnya dibandingkan dengan puluhan tingkat keabuan. Oleh karenanya teknik memanipulasi warna diperlukan sehingga warna bisa diolah dan digunakan untuk membantu proses penyederhanaan identifikasi dan ekstraksi objek [16].
(33)
2.8.1 Warna Red Green Blue (RGB)
Model Warna RGB adalah sebuah model warna additif dimana pancaran warna red
(merah), green (hijau), dan blue (biru) ditambahkan bersama dengan cara yang bervariasi untuk mereproduksi susunan warna yang lebar. Warna aditif digunakan untuk pencahayaan (lighting), video, dan monitor. Sebagai contoh, menciptakan warna dengan memancarkan cahaya melalui merah, hijau dan biru fosfor.
Tujuan utama dari model warna RGB adalah untuk mempresentasikan ulang, dan menampilkan gambar dalam sistem elektronik, misalnya dalam televisi dan komputer. Model warna RGB juga digunakan dalam fotografi konvensional.
RGB adalah ruang warna yang sifatnya bergantung kepada perangkat. Perangkat yang berbeda akan mendeteksi atau mereproduksi nilai RGB secara berbeda. Untuk membentuk warna dengan RGB, tiga cahaya berwarna balok (satu merah, satu hijau, dan satu biru) harus ditumpangkan (misalnya dengan emisi dari layar hitam, atau dengan refleksi dari layar putih). Masing-masing dari tiga balok disebut sebagai komponen warna, dan masing-masing dapat memiliki intensitas yang berbeda.
2.8.2 Warna Cyan Magenta Yellow blacK (CMYK)
CMYK adalah kependekan dari Cyan, Magenta, Yellow (kuning) dan warna utamanya yaitu blacK (hitam) dan sering kali dijadikan referensi sebagai suatu proses pewarnaan dengan mempergunakan empat warna. CMYK adalah bagian dari model pewarnaan yang sering dipergunakan dalam pencetakan berwarna. Namun dipergunakan juga untuk menjelaskan proses pewarnaan itu sendiri. Meskipun berbeda-beda dari setiap tempat pencetakan, operator surat kabar, pabrik surat kabar dan pihak-pihak yang terkait, tinta untuk proses ini biasanya diatur berdasarkan urutan dari singkatan tersebut.
(34)
K dalam CMYK berarti Key, karena dalam pencetakan empat warna yaitu
Cyan, Magenta, Yellow mencetak plat yang secara hati-hati terkunci atau sejajar dengan kunci dari kunci plat hitam. Beberapa sumber menyatakan bahwa K berasal dari huruf terakhir black, karena huruf pertama yaitu B sudah digunakan untuk mendefinisikan warna Blue (biru).
Model ini, baik sebagian ataupun keseluruhan, biasanya ditimpakan dalam gambar dengan warna latar putih (warna ini dipilih, dikarenakan dia dapat menyerap panjang struktur cahaya tertentu). Model seperti ini sering dikenal dengan nama "subtractive", karena warna-warnanya mengurangi warna terang dari warna putih.
2.8.3 Warna Hue Saturation Lightness (HSL)
HSL adalah suatu model warna yang diperoleh dari warna RGB dan warna CMYK. HSL kependekan dari hue, saturation dan lightness. Di dalam HSL, ketiga karakteristik pokok dari warnanya adalah :
1. Hue adalah warna yang dipantulkan dari atau memancarkan melalui suatu obyek. Itu diukur sebagai lokasi pada standard color wheel, yang dinyatakan dalam tingkat antara 0o dan 360o. Pada umumnya, hue dikenali dengan nama dari warna seperti merah, orange atau hijau.
2. Lightness adalah tingkat keterangan relatif atau kegelapan dari warna. Pada umumnya diukur dalam presentase dari 0% (hitam) ke 100% (putih).
3. Saturation disebut chroma, adalah kemurnian atau kekuatan dari warna. Saturation menghadirkan jumlah kelabu sebanding dengan Hue, mengukur persentase dari 0% (Hitam)Kelabu sampai 100% ( warma yang dipenuhi ). Pada standar color wheel,
(35)
2.9 Metode Penyisipan Algoritma XOR
Algoritma Exclusive Or (XOR) pada prinsipnya sangat sederhana, yang mana XOR ini merupakan operasi logika yang bekerja dengan membandingkan dua buah bit yang salah satu bit antara keduanya bernilai benar maka hasil operasi XOR tersebut bernilai benar, namun apabila kedua bit yang akan dibandingkan bernilai salah atau kedua bit juga bernilai benar maka hasil akhir dari operasi XOR tersebut bernilai salah juga. Artinya apabila hasil dari XOR itu bernilai salah maka tidak adanya citra sisipan (steganografi), dengan kata lain penyisipan biasa dilakukan apabila salah satu bit antara keduanya bernilai benar ataupun salah. Seperti terlihat pada tabel 1 dibawah ini.
Tabel 2.1 Tabel Kebenaran Operasi XOR [9]
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
Pada algoritma ini penyisipan dilakukan dengan mengubah nilai pixel desimal menjadi biner. Ditunjukkan pada penjelasan di bawah ini :
Diketahui nilai citra cover RGB dengan ukuran 3x3 pixel :
R G B R G B R G B
Pixel 1 49 57 30 88 121 37 56 64 10
Pixel 2 132 136 76 187 189 52 133 139 25
Pixel 3 32 60 23 78 116 57 32 55 11
Nilai biner citra cover RGB dengan ukuran 3x3 pixel :
R G B R G B R G B
Pixel 1 00110001 00111001 00011110 01011000 01111001 00100101 00111000 01000000 00001010 Pixel 2 10000100 10001000 01001100 10111011 10111101 00110100 10000101 10001011 00011001 Pixel 3 00100000 00111100 00010111 01001110 01110100 00111001 00100000 00110111 00001011
(36)
Nilai citra sisipan RGB harus lebih kecil dari nilai citra cover yaitu 1x1 pixel:
R G B
Pixel 1 76 187 189
Nilai biner citra sisipannya :
R G B
Pixel 1 01001100 10111011 10111101
Masing-masing bit disisispkan dengan menggunakan fungsi XOR. Maka dihasilkan citra stego XOR seperti berikut ini :
R G B R G B R G B
Pixel 1 01111101 00111001 00011110 01011000 01111001 00100101 00111000 01000000 00001010 Pixel 2 01111111 10001000 01001100 10111011 10111101 00110100 10000101 10001011 00011001 Pixel 3 10011101 00111100 00010111 01001110 01110100 00111001 00100000 00110111 00001011
2.10 Metode Ekstraksi Algoritma XOR
Pada metode ekstraksi algoritma XOR maka dapat diproses dengan cara berikut : 1. Melakukan konversi nilai image desimal ke bilangan biner dari citra stego XOR.
R G B R G B R G B
Pixel 1 125 57 30 88 121 37 56 64 10
Pixel 2 127 136 76 187 189 52 133 139 25
Pixel 3 157 60 23 78 116 57 32 55 11
Stego XOR yang telah di binerkan :
R G B R G B R G B
Pixel 1 01111101 00111001 00011110 01011000 01111001 00100101 00111000 01000000 00001010 Pixel 2 01111111 10001000 01001100 10111011 10111101 00110100 10000101 10001011 00011001 Pixel 3 10011101 00111100 00010111 01001110 01110100 00111001 00100000 00110111 00001011
(37)
2. Biner dari citra hasil sisipan kemudian di XOR kan dengan biner citra cover berikut ini :
R G B R G B R G B
Pixel 1 00110001 00111001 00011110 01011000 01111001 00100101 00111000 01000000 00001010 Pixel 2 10000100 10001000 01001100 10111011 10111101 00110100 10000101 10001011 00011001 Pixel 3 00100000 00111100 00010111 01001110 01110100 00111001 00100000 00110111 00001011
3. Didapat hasil biner citra sisipannya.
R G B
Pixel 1 01001100 10111011 10111101
2.11 Metode Penyisipan Least Significant Bit (LSB)
Least Significant Bit (LSB) merupakan salah satu teknik dalam Steganografi. LSB menambahkan bit data yang akan disembunyikan (pesan) di bit terakhir yang paling cocok atau kurang berarti. Misalkan bit pada image dengan ukuran 3x3 pixel sebagai berikut :
R G B R G B R G B
Pixel 1 49 57 30 88 121 37 56 64 10
Pixel 2 132 136 76 187 189 52 133 139 25
Pixel 3 32 60 23 78 116 57 32 55 11
Nilai biner citra cover RGB dengan ukuran 3x3 pixel :
R G B R G B R G B
Pixel 1 00110001 00111001 00011110 01011000 01111001 00100101 00111000 01000000 00001010 Pixel 2 10000100 10001000 01001100 10111011 10111101 00110100 10000101 10001011 00011001 Pixel 3 00100000 00111100 00010111 01001110 01110100 00111001 00100000 00110111 00001011
Pesan yang akan disisipkan adalah image 1x1 pixel
R G B
(38)
Nilai biner citra sisipannya :
R G B
Pixel 1 01001100 10111011 10111101
Masing-masing bit disisispkan dengan menggunakan algirtma LSB pada bit akhir citra
cover . Maka dihasilkan citra stego LSB seperti berikut ini :
R G B R G B R G B
Pixel 1 00110000 00111000 00011110 01011000 01111001 00100101 00111001 01000001 00001010 Pixel 2 10000101 10001001 01001100 10111011 10111100 00110101 10000101 10001010 00011001 Pixel 3 00100000 00111101 00010111 01001111 01110101 00111000 00100001 00110111 00001011
Ada dua teknik yang dapat digunakan pada LSB, yaitu penyisipan secara sekuensial dan secara acak. Penyisipan sekuensial dilakukan berurutan sedangkan acak dilakukan dengan acak pada image dengan memasukan kata kunci (stego key) [2]. Perubahan pada LSB ini akan terlalu kecil untuk terdeteksi oleh mata manusia sehingga pesan dapat disembunyikan secara efektif [11].
2.12 Metode Ekstraksi Least Significant Bit (LSB)
Metode Ekstraksi LSB adalah metode pengambilah hasil dari data penyisipan dari setiap stego image. Dimisalkan bahwa pada byte 00011111 maka bit penyisipan LSB-nya adalah 1, maka untuk ekstraksi pesan image pada algoritma LSB adalah :
R G B R G B R G B
Pixel 1 00110000 00111000 00011110 01011000 01111001 00100101 00111001 01000001 00001010 Pixel 2 10000101 10001001 01001100 10111011 10111100 00110101 10000101 10001010 00011001 Pixel 3 00100000 00111101 00010111 01001111 01110101 00111000 00100001 00110111 00001011
Maka hasil pengambilan bit LSB terakhir unutk penyisipan image yaitu :
R G B
(39)
2.13 Parameter Pembanding
Parameter pembanding dalam penyusunan skripsi ini adalah Mean Square Error
(MSE) dan Peak Signal to Noise Ratio (PSNR). Parameter ini digunakan untuk membandingkan antara kedua metode pada hasil penyisipannya.
2.13.1 Mean Square Eror (MSE)
Mean Squared Error (MSE) digunakan untuk mengukur kinerja algoritma
steganografi pada sebuah citra. Citra cover dibandingkan dengan citra sisipan dengan memeriksa selisih nilainya. Perhitungan nilai MSE dari citra berukuran M x N pixel, dilakukan sesuai dengan rumus pada persamaan 2.2 dibawah ini :
MSE = 1
M∗N (� , − �
′ , )2… … … … (2.2) N
y=1 M
x=1 Keterangan :
M dan N : ukuran panjang dan lebar citra.
f(x,y) : intensitas citra di titik (x,y) dari citra yang asli.
f’(x,y) : intensitas citra di titik (x,y) dari citra hasil penyisipan.
Semakin kecil nilai MSE, semakin bagus prosedur yang dilakukan. Artinya kualitas citra setelah dilakukan penyisipan pesan hampir sama dengan kualitas citra asalnya [16].
2.13.2 Peak Signal to Noise Ratio (PSNR)
Peak Signal to Noise Ratio (PSNR) merupakan nilai yang menunjukkan tingkat toleransi noise tertentu pada banyaknya noise suatu sinyal citra. Noise merupakan kerusakan sinyal pada bagian tertentu dalam sebuah citra sehingga mengurangi
(40)
kualitas sinyal tersebut. Dengan kata lain PSNR merupakan suatu nilai yang menunjukkan kualitas sinyal citra [16]. Persamaan 2.3 merupakan rumus untuk menghitung PSNR.
PSNR = 20∗log 255
MSE … … … …(2.3)
Keterangan :
MSE adalah nilai Mean Squared Error
2.14 Penelitian Terdahulu
Beberapa penelitian telah dilakukan yaitu :
1. Muhammad Arif Romdhoni [12]. Kriptografi Visual pada Citra Biner dan Citra
Berwarna serta Pengembangannya dengan Steganografi dan Fungsi XOR. “Pada
penelitian ini dapat disimpulkan bahwa kriptografi visual pada citra biner menghasilkan citra share dan citra rekontruksi yang memiliki gangguan (noise) pada warna putih, maka semakin banyak citra yang disisipkan , kontras yang
dihasilkan akan semakin besar.”
2. Hapsari Muthi Amira [3]. Studi Steganografi pada Image File. “Pada penelitian
ini didapat beberapa kesimpulan yaitu LSB pada BMP ini sangat cocok untuk aplikasi yang terfokus pada ukuran informasiyang hendak disampaikan dan bukan keamanan pada informasi tersebut. LSB pada GIF ini merupakan alagoritma yang sangat efektif untuk digunakan ketika memasukkan pesan ke dalam gambar dengan metode grayscale. Pada Patchwork cara penggunaan yang disarankan yaitu untuk menyembunyikan pesan singkat ukuran kecil yang mengandung informasi yang sangat sensitive. Pada Spread Spectrum teknik ini dapat digunakan untuk kebanyakan aplikasi steganografi walaupun sangat penuh dengan rumusan
(41)
(42)
BAB 3
ANALISIS DAN PERANCANGAN
Pada bab ini akan dibahas tentang proses steganografi penyisipan dan ekstraksi dengan menggunakan sebuah algoritma. Algoritma yang gunakan dalam proses analisis ini adalah algoritma steganografi Least Significant Bit dan Exclusive Or serta mencantukan perhitungan secara manual pixel penyisipan pada ukuran citra cover
10x10 pixel serta citra sisipan 3x3 pixel.
3.1Analisis Masalah
Untuk dapat mengurangi ancaman yang dapat terjadi dalam pertukaran informasi rahasia. Proses komunikasi data dapat dilakukan dengan cara melakukan penyisipan terhadap informasi yang akan dikirim sehingga pesan tersebut tidak terlihat. Analisis masalah pada penelitian ini secara umum ditunjukkan pada Gambar 3.1, yaitu diagram ishikawa (fishbone).
Sistem pengamanan pesan dengan penyisipkan pesan
image (*.bmp, *.jpg) dalam file image
(*.bmp, *.jpg) dengan algoritma Exclusive Or
(XOR) dan Least Significant Bit (LSB)
Machine Material Method Man Penyisipan dan Ekstraksi Pesan Least Significant Bit (LSB)
Exclusive OR (XOR)
File Image (*.bmp, *.jpg) File Image (*.bmp, *.jpg) Kebutuhan Pengamanan Pesan
(43)
3.2 Analisis Kebutuhan
Analisis kebutuhan dikelompokkan menjadi dua bagian, yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional mendeskripsikan aktivitas yang disediakan suatu sistem. Sedangkan kebutuhan nonfungsional mendeskripsikan fitur, karakteristik dan batasan lainnya.
3.2.1 Kebutuhan Fungsional
Kebutuhan fungsional adalah fungsi-fungsi yang harus dipenuhi pada aplikasi yang dirancang. Kebutuhan fungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut:
a. Sistem harus mampu membaca inputan pesan citra (*.bmp, *.jpg).
b. Sistem harus mampu melakukan penyisipan pesan dengan menggunakan algoritma XOR sehingga bit –bit pesan tersisip dan menghasilkan cita stego, serta sistem harus mampu melakukan ekstraksi pesan dari citra stego sama dengan pesansebelum disisipkan.
c. Sistem harus mampu melakukan penyisipan pesan dengan menggunakan algoritma LSB sehingga bit –bit pesan tersisip dan menghasilkan cita stego, serta sistem harus mampu melakukan ekstraksi pesan dari citra stego sama dengan pesansebelum disisipkan.
3.2.2 Kebutuhan Nonfungsional
Kebutuhan nonfungsional mencakup karakteristik berikut: 1. Performa
Perangkat lunak yang akan dibangun dapat menunjukkan hasil dari fungsi steganografi sesuai dengan kebutuhan.
(44)
2. Efisiensi
Sistem atau perangkat lunak yang akan dibangun harus sesederhana mungkin agar mudah digunakan oleh pengguna (user) dan responsif.
3. Ekonomi
Sistem atau perangkat lunak yang akan dibangun harus dapat bekerja dengan baik tanpa harus mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat lunak.
4. Dokumentasi
Sistem atau perangkat lunak yang akan dibangun dapat menyimpan data hasil proses penyisipan.
5. Kontrol
Sistem yang telah dibangun harus tetap dikontrol setelah selesai dirancang agar fungsi dan kinerja sistem tetap terjaga dan dapat memberikan hasil yang sesuai dengan keinginan pengguna.
6. Pelayanan
Sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih kompleks lagi bagi pihak-pihak yang ingin mengembangkan sistem tersebut.
(45)
3.3Flowchart Umum Sistem
Pada flowchart ini dijelaskan tentang alur program secara umum. Flowchart ini terdapat proses steganografi untuk penyisipan serta ekstraksi menggunakan algoritma LSB dan XOR yang dapat dilihat pada gambar 3.2 berikut ini.
Mulai
Penyisipan
Ekstraksi
Selesai
LSB Sisip Image LSB Sisip Image XOR LSB Ekstraksi Image LSB Ekstraksi Image XOR Ya Tidak Ya Tidak Ya Tidak Ya Tidak Hasil Sisipan Hasil Ekstraksi
Gambar 3.2 Flowchart UmumSistem Steganografi
Berdasarkan gambar 3.2 diketahui bahwa proses umum sistem yang dijelaskan dalam
flowchart adalah terdapat dua pilihan penyisipan atau ekstraksi. Jika pilihan penyisipan maka proses dimulai pemilihan algoritma mana yang akan dipilih. Jika pilih LSB maka dilakukan proses penyisipan menggunakan algoritma LSB jika tidak maka penyisipan XOR dan hasil selesai. Jika pilihan tidak pada penyisipan maka langsung masuk pada proses ekstraksi, jika pilihan iya maka proses ekstraksi menggunakan algoritma LSB jika tidak langsung pada proses ekstraksi XOR dan selesai.
(46)
3.4Flowchart Penyisipan Algoritma Exclusive Or (XOR)
Pada proses penyisipan Algoritma XOR ini dijelaskan bahwa untuk memulai sebuah proses penyisipan pengguna dapat melakukan pemilihan gambar yang akan digunakan sebagai cover serta gambar yang akan disispkan (embed). Gambar yang akan diproses harus diverifikasi kembali dengan menggunakan password untuk tingkat keamanannya dapat dilihat pada gambar 3.3 dan proses dilanjutkan pada gambar 3.4 pada halaman berikutnya.
Mulai
Ambil Cover Image
Resize (300x300)
Resize (30x30) Ambil embeded
image
Input Password
Poin=0
For baris=0 to image cover height-1 step 1
For kolom=o to image cover width-1 step 1
1
(47)
Gambar 3.4 dibawah ini merupakan flowchart lanjutan penyisipan dengan Algotritma
Exclusive Or. Proses penyisipan ini dengan mengubah nilai bit biner RGB citra cover
dan citra embed . Proses sisipan dilakukan dengan melakukan operasi XOR antara bit-bit citra embed dengan bit-bit citra cover hingga bit citra embed tersisip semua. Kemudian dihasilkannya stego image dan dilakukan proses penyisipan password untuk mengamankannya pada titik (299,299) proses selesai.
1
If pb embed<30 and pc embed <30
?
Ubah RGB cover ke biner
Ubah RGB embed ke biner Ya
R=(R.Cover (baris,kolom)+R.embed (baris,kolom) )mod 2, G=(G.Cover (baris,kolom)+G.embed (baris,kolom) )mod 2, B=( B.Cover (baris,kolom)+B.embed (baris,kolom)) mod 2
Ubah biner RGB ke desimal RGB
Strego image (baris,kolom)=R,G,B Tidak
A A
Stego image (baris,kolom) =R,G,B
Stego image (299,299) =Password
selesai
(48)
3.5Flowchart Penyisipan Algoritma Least Significant Bit (LSB)
Pada proses penyisipan algoritma LSB dijelaskan bahwa untuk memulai suatu proses penyisipannya, pengguna terlebih dahulu memilih gambar yang akan digunakan pada
cover image, serta embed image. Penyisipan password digunakan untuk keamanan gambar yang telah disisipkan. Proses penyisipan pada algoritma ini dengan mengganti nilai bit akhir pada biner RGB citra cover ke citra embed. Gambar 3.5 dibawah ini merupakan flowchart penyisipan dengan algotritma Least Significant Bit
Mulai
Ambil Cover Image
Resize (300x300)
Resize (30x30)
Ubah Matriks RGB embeded image ke biner
Sisipan= hasil biner matrix rgb embed image Ambil embeded image
Ubah embeded Image ke Persamaan Matriks RGB
Input Password
Poin=0
For baris=0 to image cover height-1 step 1
For kolom=o to image cover width-1 step 1
2
(49)
Gambar 3.6 dibawah ini merupakan flowchart lanjutan penyisipan dengan algotritma
Least Significant Bti. Proses penyisipan ini dilakukan dengan mengubah nilai bit biner RGB citra cover dan citra embed . Proses sisipan dilakukan dengan menyisipkan bit-bit citra embed dengan bit-bit citra cover hingga bit citra embed tersisip semua. Kemudian dihasilkannya stego image dan dilakukan proses penyisipan password untuk mengamankannya pada titik (299,299) proses selesai.
2
If poin<=sisip.lenght
Ubah cover image rgb (kolom,baris) ke biner
R=cover(baris,kolom), G=cover(baris,kolom), B=cover(baris,kolom)
R=R.sub(0,7)&sisip.sub(poin,1),G=G.sub(0,7)&sisip.sub(poin,1), B=B.sub(0,7)&sisip.sub(poin,1)
Ubah biner RGB ke decimal RGB
Stego image(baris,kolom)= R,G,B
Poin=poin+1 ya
Tidak
B B
Stego image(baris,kolom)= R,G,B
Stego image(299,299)=password
Selesai
Gambar 3.6 Flowchart Penyisipan Algoritma LSB lanjutan
3.6Flowchart Ekstraksi Algoritma Exclusive Or (XOR)
Pada proses ekstraksi Algoritma XOR dilakukan dengan melakukan operasi XOR kembali dengan menggunakan citra cover kemudian memverifikasi password yang telah disipkan pada saat penyisipan, agar tingkat keamanannya lebih baik. Jika
(50)
Password yang disisipkan benar maka citra embed dapat keluar dari citra covernya. Proses ekstraksi Algoritma XOR ini dapat dilihat pada gambar 3.7
If
sisip.length<=((30^2)x24)
?
Ubah stego image ke matrix rgb
Ubah matrix rgb stego image ke biner
Poin=0
For baris=0 to 29 step 1
For kolom=o to 29 step 1
R=sisip(poin,8), poin=poin+8 G=sisip(poin,8), poin=poin+8 B=sisip(poin,8), poin=poin+8 Embed Image (baris,kolom)=R,G,B selesai Ubah Biner (RGB) Ke
Desimal Tidak
Ya Mulai
Ambil Stego Image XOR Ambil Cover Image
Input Password
Baca Password
If
hasil(299,299)=password
?
Muncul pesan (“Password tidak valid)
For baris=0 to image cover height-1 step 1
For kolom=o to image cover width-1 step 1
Sisip=sisip & rgb Ubah Cover image ke matrix rgb
Ubah matrix rgb cover image ke biner
If biner stego image = 0 RGB = 0
RGB = 1
RGB = 0 If biner stego image = 1 & biner cover image = 0
Ya Tidak Ya Tidak Tidak Ya
(51)
3.7Flowchart Ekstraksi Algoritma Least Significant Bit (LSB)
Pada proses ekstraksi Algoritma LSB sama halnya dengan proses ekstraksi sebelumnya. Proses awal pada ekstraksi ini pengguna terlebih dahulu mengambil citra
stego dan lakukan verifikasi password. Apabila password benar dengan password
yang di gunakan pada proses penyisipan sebelumnya maka didapatlah citra embed
yang disisipkan pada citra cover tersebut. Proses LSB ini dilakukan dengan mengganti nilai bit akhir dari biner RGB. Gambar 3.8 merupakan flowchart Ekstraksi Algotritma
Least Significant Bit dapat dilihat sebagai berikut. Mulai
Ambil Stego Image LSB
Input Password
Baca Password
If
hasil(299,299)=password ?
Muncul pesan (“Password tidak valid)
For baris=0 to image cover height-1 step 1
For kolom=o to image cover width-1 step 1
If
sisip.length<=((30^2)x24) ?
Ubah stego image ke matrix rgb
Ubah matrix rgb stego image ke biner
R=R.sub(7,1), G=G.sub(7,1), B=B.sub(7,1)
Sisip=sisip & rgb
Poin=0
For baris=0 to 29 step 1
For kolom=o to 29 step 1
R=sisip(poin,8), poin=poin+8 G=sisip(poin,8), poin=poin+8 B=sisip(poin,8), poin=poin+8 Embed Image (baris,kolom)=R,G,B selesai
Ubah Biner (RGB) Ke Desimal Tidak
Ya
Tidak
Ya
(52)
3.8Flowchart Parameter MSE dan PSNR
Pada proses penentuan nilai MSE dan PSNR dapat dilakukan dengan membandingkan citra cover dan citra stego. Proses ini dilakukan untuk mengetahui perbandingan antara citra stego dan citra cover pada tingkat kerusakannya. Gambar 3.9 dibawah ini merupakan flowchart Parameter MSE dan PSNR
Mulai
Ambil Cover Image
PSNR= 20log10x(255/MSE)
selesai
MSE= (cover (baris,kolom)-Hasil(baris,kolom))^2/300x300
Ambil Stego Image
Ubah ke Persamaan Matriks RGB
(53)
3.9Analisis Penyisipan dan Ekstraksi Algoritma
Pada proses penyisipan serta proses ekstraksi algoritma ini akan dijelaskan proses penyisipan steganografi menggunakan algoritma XOR dan LSB dan proses ekstraksi algoritma XOR dan LSB dalam pengambilan file citra yang tersisip. Ukuran yang dimisalkan dalam proses ini hanya terdapat pada ukuran piksel 10x10 piksel untuk citra cover serta ukuran 3x3 piksel untuk citra sisipan.
3.9.1 Analisis Penyisipan Algoritma XOR
Pada proses ini akan dilakukan penyisipan dengan menggunakan operasi logika XOR dimana citra cover dan citra sisipan diproses dengan operasi logika XOR. Berikut akan dijelaskan secara terperinci :
1. Sebelum melakukan penyisipan digunakan media citra cover dengan ukuran 10x10 piksel.
Gambar 3.10 Citra Cover XOR
(54)
2. Didapat nilai piksel dari citra cover
Red Citra (x,y) =
Green Citra (x,y) =
Blue Citra (x,y) =
3. Siapkan media sisipan Citra sisip dengan ukuran 3x3 piksel.
Gambar 3.11 Citra sisipan XOR
44 56 70 64 51 37 52 66 39 17
23 29 64 69 50 46 52 49 37 20
34 31 62 62 113 202 132 41 26 26 35 49 66 105 202 222 194 36 43 22 44 53 58 104 170 200 191 36 21 37 40 35 52 78 172 121 174 74 143 70 45 131 112 70 93 106 144 73 180 106 31 148 179 71 54 49 63 66 80 60
22 49 106 54 36 40 69 70 34 34
25 23 28 51 29 45 69 48 32 57
94 105 135 138 127 114 115 99 65 29 56 79 139 141 126 105 111 76 61 29 63 72 132 134 161 178 144 70 41 34 64 95 119 140 147 161 150 50 78 37 74 99 126 128 97 143 127 37 45 63 74 82 113 106 117 66 113 68 120 89 82 131 136 107 90 61 102 91 84 83 62 105 139 102 55 61 102 91 84 83
46 42 91 87 53 68 113 99 52 62
50 37 50 77 63 79 102 69 54 93
133 90 217 245 230 213 188 102 64 28 81 133 249 242 233 180 176 78 74 31 14 92 192 221 189 35 107 67 41 39
14 88 135 155 27 4 47 34 35 26
21 67 174 133 7 11 9 30 21 16
8 74 130 102 14 8 13 55 43 21
17 57 58 39 32 14 27 60 24 11
13 14 34 28 37 68 152 124 52 14
12 9 20 33 52 88 148 144 54 13
13 10 20 33 65 83 53 72 32 17
(55)
4. Nilai piksel citra sisipan
Red Citra (x,y) =
Green citra (x,y) =
Blue citra (x,y) =
5. Ubah nilai piksel citra cover ke biner :
Matriks biner citra cover red :
00101100 00111000 01000110 01000000 00110011 00100101 00110100 01000010 00100111 00010001 00010111 00011101 01000000 01000101 00110010 00101110 00110100 00110001 00100101 00010100 00100010 00011111 00111110 00111110 01110001 11001010 10000100 00101001 00011010 00011010 00100011 00110001 01000010 01101001 11001010 11011110 11000010 00100100 00101011 00010110 00110101 00111010 01101000 01101000 10101010 11001000 10111111 00100100 00010101 00100101 00101000 00100011 00110100 01001110 10101100 01111001 01001010 10001111 10001111 01000110 00101101 10000011 01110000 01000110 01011101 01101010 10010000 10110100 10110100 01101010 00011111 10010100 10110011 01000111 00110110 00110001 00111111 01000010 01010000 00111100 00010110 00110001 01101010 00110110 00100100 00101000 01000101 01000110 00100010 00100010 00011001 00010111 00011100 00110011 00011101 00101101 01000101 00110000 00100000 00111001
Matriks biner citra cover green :
01011110 01101001 10000111 10001010 01111111 01110010 01110011 01100011 01000001 00011101 00111000 01001111 10001011 10001101 01111110 01101001 01101111 01001100 00111101 00011101 00111111 01001000 10000100 10000110 10100001 10110010 10010000 01000110 00101001 00100010 01000000 01011111 01110111 10001100 10010011 10100001 10010110 00110010 01001110 00100101 01001010 01100011 01111110 10000000 01100001 10001111 01111111 00100101 00101101 00111111 01001010 01010010 01110001 01101010 01110101 01000010 01110001 01000100 01111000 01011001 01010010 10000011 10001000 01101011 01011010 00111101 01100110 01011011 01010100 01010011 00111110 01101001 10001011 01100110 00110111 00111101 01100110 01011011 01010100 01010011 00101110 00101010 01011011 01010111 00110101 01000100 01110001 01100011 00110100 00111110 00110010 00100101 00110010 01001101 00111111 01001111 01100110 01000101 00110110 01011101
49 88 56 132 187 133
32 78 32
57 121 64 136 189 139
60 116 55
30 37 10 76 52 25 23 57 11
(56)
Matriks biner citra cover blue :
10000101 01011010 11011001 11110101 11100110 11010101 10111100 01100110 01000000 00011100 01010001 10000101 11111001 11110010 11101001 10110100 10110000 '01001110 01001010 00011111 00001110 01011100 11000000 11011101 10111101 00100011 01101011 01000011 00101001 00100111 00001110 01011000 10000111 10011011 00011011 00000100 00101111 00100010 00100011 00011010 00010101 00100011 10101110 10000101 00000111 00001011 00001001 00011110 00010101 00010000 00001000 01001010 10000010 01100110 00001110 00001000 00001101 00110111 00101011 00010101 00010001 00111001 00111010 00100111 00100000 00001110 00011011 00111100 00011000 00001011 00001101 00001110 00100010 00011100 00100101 01000100 10011000 01111100 00110100 00001110 00001100 00001001 00010100 00100001 00110100 01011000 10010100 10010000 00110110 00001101 00001101 00001010 00010100 00100001 01000001 01010011 00110101 01001000 00100000 00010001
6. Ubah nilai piksel citra sisipan ke biner :
Matriks biner citra sisipan red : 00110001 01011000 01110000 10000100 10111011 10000101 00100000 01001110 00100000
Matriks biner citra sisipan green : 00111001 01111001 01000000 10001000 10111101 10001011 00111100 01110100 00110111
Matriks biner citra sisipan blue : 00011110 00100101 00001010 01001100 00110100 00011001 00010111 00111001 00001011
7. Lakukan Penyisipan biner pada citra sisipan menggunakan operasi logika XOR pada biner citra cover. Maka dapat dihasilkan matriks hasil seperti ditunjukkan dengan bantuan tabel 3.1 pada halaman berikutnya.
(57)
Tabel 3.1 Operasi Logika xor
A B A xor B 0 1 1 1 0 1 0 0 0 1 1 0
Sebelum melakukan penyisipan, proses ini menggunakan password yang di sisipkan pada piksel (9,9), proses ini dilakukan agar hasil sisipan lebih aman. Proses penyisipan password ini hanya mengganti piksel (9,9) dengan password yang kita masukkan. Dengan ketentuan yang dibuat sebagai berikut :
Dimisalkan password adalah 54326, Maka untuk penyisipan password adalah :
1. Password Red citra di rumuskan = jumlah dari setiap angka pada password
= 5+4+3+2+6
Password red = 20
2. PasswordGreen citra di rumuskan = (password red–password red ) mod 255
= (20-20) mod 255
Password green = 0
3. PasswordBlue citra di rumuskan = password red / 255
= 20 / 255
(58)
Matriks Red Biner citra hasil XOR dengan Password
00110001 00111000 01000110 01000000 00110011 00100101 00110100 01000010 00100111 00010001
10000100 00011101 01000000 01000101 00110010 00101110 00110100 00110001 00100101 00010100
00100000 00011111 00111110 00111110 01110001 11001010 10000100 00101001 00011010 00011010
01011000 00110001 01000010 01101001 11001010 11011110 11000010 00100100 00101011 00010110
10111011 00111010 01101000 01101000 10101010 11001000 10111111 00100100 00010101 00100101
01001110 00100011 00110100 01001110 10101100 01111001 01001010 10001111 10001111 01000110
01110000 10000011 01110000 01000110 01011101 01101010 10010000 10110100 10110100 01101010
10000101 10010100 10110011 01000111 00110110 00110001 00111111 01000010 01010000 00111100
00100000 00110001 01101010 00110110 00100100 00101000 01000101 01000110 00100010 00100010 00011001 00010111 00011100 00110011 00011101 00101101 01000101 00110000 00100000 00010100
Matriks Green Biner citra hasil XOR
00111001 01101001 10000111 10001010 01111111 01110010 01110011 01100011 01000001 00011101
10001000 01001111 10001011 10001101 01111110 01101001 01101111 01001100 00111101 00011101
00111100 01001000 10000100 10000110 10100001 10110010 10010000 01000110 00101001 00100010
01111001 01011111 01110111 10001100 10010011 10100001 10010110 00110010 01001110 00100101
10111101 01100011 01111110 10000000 01100001 10001111 01111111 00100101 00101101 00111111
01110100 01010010 01110001 01101010 01110101 01000010 01110001 01000100 01111000 01011001
01000000 10000011 10001000 01101011 01011010 00111101 01100110 01011011 01010100 01010011
10001011 01101001 10001011 01100110 00110111 00111101 01100110 01011011 01010100 01010011
00110111 00101010 01011011 01010111 00110101 01000100 01110001 01100011 00110100 00111110 00110010 00100101 00110010 01001101 00111111 01001111 01100110 01000101 00110110 00000000
Matriks Blue Biner citra hasil XOR
00011110 01011010 11011001 11110101 11100110 11010101 10111100 01100110 01000000 00011100
01001100 10000101 11111001 11110010 11101001 10110100 10110000 '01001110 01001010 00011111
00010111 01011100 11000000 11011101 10111101 00100011 01101011 01000011 00101001 00100111
00100101 01011000 10000111 10011011 00011011 00000100 00101111 00100010 00100011 00011010
00110100 00100011 10101110 10000101 00000111 00001011 00001001 00011110 00010101 00010000
00111001 01001010 10000010 01100110 00001110 00001000 00001101 00110111 00101011 00010101
00001010 00111001 00111010 00100111 00100000 00001110 00011011 00111100 00011000 00001011
00011001 00001110 00100010 00011100 00100101 01000100 10011000 01111100 00110100 00001110
00001011 00001001 00010100 00100001 00110100 01011000 10010100 10010000 00110110 00001101 00001101 00001010 00010100 00100001 01000001 01010011 00110101 01001000 00100000 00000000
(59)
Maka dihasilkan citra stego XOR serta sisipan password pada gambar 3.13 dibawah ini:
Gambar 3.12 Citra Stego XOR
3.9.2 Analisis Penyisipan Algoritma Least Significant Bit
Pada proses ini akan dilakukan penyisipan dengan menggunakan algoritma LSB dimana citra cover dan citra sisipan diproses dengan mengganti bit akhir pada citra
cover dengan keseluruhan bit citra sisipan. Berikut akan dijelaskan secara terperinci :
1. Sebelum melakukan penyisipan digunakan media citra cover dengan ukuran 10x10 piksel.
Gambar 3.13 Citra Cover LSB
(1)
' MsgBox(pc1) End Sub
3.
Ekstraksi LSB dan XOR
‘Melakukan Ekstraksi menggunakan Algoritma LSB
Sub radio3_extlsb() Dim a As String
Dim FileToDelete, aa As String Dim sr As StreamReader
ProgressBar1.Minimum = 0 ProgressBar1.Maximum = 30 Me.ProgressBar1.Value = 10 FileToDelete = "fileextra.txt"
If System.IO.File.Exists(FileToDelete) = True Then System.IO.File.Delete(FileToDelete)
End If
For Pb = 0 To gambar3.Width - 1 Step 1 For Pc = 0 To gambar3.Height - 1 Step 1 If Pb > 30 Then
GoTo keluar End If
vM = gambar3.GetPixel(Pb, Pc).R vH = gambar3.GetPixel(Pb, Pc).G vB = gambar3.GetPixel(Pb, Pc).B vMS = dec2bin(vM)
vHS = dec2bin(vH) vBS = dec2bin(vB)
vMS = "0000000" & vMS vHS = "0000000" & vHS vBS = "0000000" & vBS
vMS = vMS.Substring((vMS.Length - 8), 8) vHS = vHS.Substring((vHS.Length - 8), 8) vBS = vBS.Substring((vBS.Length - 8), 8) vMS = vMS.Substring(7, 1)
vHS = vHS.Substring(7, 1) vBS = vBS.Substring(7, 1)
'a = a & vMS & vHS & vBS Dim myvar As StreamWriter
myvar = File.AppendText("fileextra.txt") myvar.WriteLine(aa & vMS & vHS & vBS) myvar.Close()
Next Next keluar: Try
(2)
sr = File.OpenText("fileextra.txt") txtextrak.Text = sr.ReadToEnd() sr.Close()
Catch ex As Exception End Try
Dim sisip As String
Dim poin, poin1, poin2, poin3 As Integer Dim lines() As String = Me.txtextrak.Lines poin = 0
poin1 = 1 poin2 = 2 poin3 = 0
gambar2 = New Bitmap(Me.picembed.Image) Me.ProgressBar1.Value = 20
Me.picembed.Image = gambar2
For Pb = 0 To gambar2.Width - 1 Step 1 For Pc = 0 To gambar2.Height - 1 Step 1
vMS = lines.GetValue(poin) & lines.GetValue(poin1) & lines.GetValue(poin2)
vMS = vMS.Substring(0, 8)
poin = poin + 2 poin1 = poin1 + 2 poin2 = poin2 + 2 poin3 = poin2 + 1
vHS = lines.GetValue(poin) & lines.GetValue(poin1) & lines.GetValue(poin2) & lines.GetValue(poin3)
vHS = vHS.Substring(2, 8)
poin = poin + 3 poin1 = poin1 + 3 poin2 = poin2 + 3
vBS = lines.GetValue(poin) & lines.GetValue(poin1) & lines.GetValue(poin2)
vBS = vBS.Substring(1, 8)
poin = poin + 3 poin1 = poin1 + 3 poin2 = poin2 + 3
vM = BinaryToDecimal(vMS) vH = BinaryToDecimal(vHS)
(3)
vB = BinaryToDecimal(vBS)
gambar2.SetPixel(Pb, Pc, Color.FromArgb(vM, vH, vB)) Next
Next
Me.ProgressBar1.Value = 30 Me.GroupBox2.Enabled = True Me.saveembed.Enabled = True Me.openembed.Enabled = False Me.Binaryembed.Enabled = True End Sub
‘Melakukan Proses Ekstraksi Menggunakan Algoritma XOR
Sub radio4_extxor() Dim a As String
Dim FileToDelete, aa As String Dim sr As StreamReader
ProgressBar1.Minimum = 0 ProgressBar1.Maximum = 30 Me.ProgressBar1.Value = 10 FileToDelete = "fileextra.txt"
If System.IO.File.Exists(FileToDelete) = True Then System.IO.File.Delete(FileToDelete)
End If
For Pb = 0 To 299 Step 1 For Pc = 0 To 299 Step 1 If Pb > 3 Then
GoTo keluar End If
'pixel cover/pembanding
vM = gambar.GetPixel(Pb, Pc).R vH = gambar.GetPixel(Pb, Pc).G vB = gambar.GetPixel(Pb, Pc).B vMS = dec2bin(vM)
vHS = dec2bin(vH) vBS = dec2bin(vB) vMS = "0000000" & vMS vHS = "0000000" & vHS vBS = "0000000" & vBS
vMS = vMS.Substring((vMS.Length - 8), 8) vHS = vHS.Substring((vHS.Length - 8), 8) vBS = vBS.Substring((vBS.Length - 8), 8) 'pixel finally/hasil
vM1 = gambar3.GetPixel(Pb, Pc).R vH1 = gambar3.GetPixel(Pb, Pc).G vB1 = gambar3.GetPixel(Pb, Pc).B vMS1 = dec2bin(vM1)
vHS1 = dec2bin(vH1) vBS1 = dec2bin(vB1) vMS1 = "0000000" & vMS1 vHS1 = "0000000" & vHS1 vBS1 = "0000000" & vBS1
(4)
vMS1 = vMS1.Substring((vMS1.Length - 8), 8) vHS1 = vHS1.Substring((vHS1.Length - 8), 8) vBS1 = vBS1.Substring((vBS1.Length - 8), 8)
merah() hijau() biru()
Dim myvar As StreamWriter
myvar = File.AppendText("fileextra.txt") myvar.WriteLine(aa & vMS & vHS & vBS) myvar.Close()
Next Next keluar: Try
sr = File.OpenText("fileextra.txt") txtextrak.Text = sr.ReadToEnd() sr.Close()
Catch ex As Exception End Try
Dim sisip As String
Dim poin, poin1, poin2, poin3 As Integer Dim lines() As String = Me.txtextrak.Lines poin = 0
poin1 = 1 poin2 = 2
gambar2 = New Bitmap(Me.picembed.Image) Me.ProgressBar1.Value = 20
Me.picembed.Image = gambar2
For Pb = 0 To gambar2.Width - 1 Step 1 For Pc = 0 To gambar2.Height - 1 Step 1
vMS = lines.GetValue(poin) vMS = vMS.Substring(0, 8) vHS = lines.GetValue(poin) vHS = vHS.Substring(8, 8)
vBS = lines.GetValue(poin) vBS = vBS.Substring(16, 8) poin = poin + 1
vM = BinaryToDecimal(vMS) vH = BinaryToDecimal(vHS) vB = BinaryToDecimal(vBS)
(5)
gambar2.SetPixel(Pb, Pc, Color.FromArgb(vM, vH, vB)) Next
Next
Me.ProgressBar1.Value = 30 Me.GroupBox2.Enabled = True Me.saveembed.Enabled = True Me.openembed.Enabled = False Me.Binaryembed.Enabled = True End Sub
4.
Parameter Pembanding MSE dan PSNR
Public Class Form3
‘Menghitung nilai MSE dan PSNR nya
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error Resume Next Dim a, b As Integer Dim a1 As String a = 0
b = 0
For Pb = 0 To 89999 Step 1
a = ((Val(Me.ListBox1.Items(Pb)) - Val(Me.ListBox2.Items(Pb))) ^ 2)
If a <= 0 Then a = 0 Else
If Pb <> 89999 Then b = b + a
End If End If
Me.ListBox3.Items.Add(a) Next
mse.Text = (b) / 89999 If mse.Text <> 0 Then
Me.psnr.Text = 20 * (Math.Log(255 / Math.Sqrt(mse.Text))) Else
Me.psnr.Text = 0 end if
End Sub End Class
(6)