PEMBUATAN APLIKASI STEGANOGRAFI MENGGUNAKAN MATLAB 7.0
Oleh : Yeni Setiani
UNIVERSITAS GUNADARMA Universitas Gunadarma 2008
ABSTRAK
Penggunaan steganografi bertujuan untuk menyamarkan eksistensi (keberadaan) data rahasia sehingga sulit untuk dideteksi, dengan menyisipkan pesan teks kedalam citra. metode yang paling sederhana adalah metode modifikasi LSB (Least Significant Bit Modification) yaitu dengan cara mengganti tiap-tiap bit pixel pada citra. Banyaknya karakter dari pesan rahasia yang dapat ditampung bergantung pada besar kecilnya ukuran dari file citra sebagai penampung. Matlab 7.0 banyak bermanfaat selain pemrograman, matlab 7.0 dapat juga digunakan untuk komputasi dan visualisasi, dengan menggunakan desain antar muka yang biasa dikenal dengan nama GUI (Graphical User Interface).
Kata Kunci : Aplikasi, Matlab 7.0, Pengolahan Citra, Steganografi. (xiii+ 83 + Lampiran).
1. PENDAHULUAN
1.1. Latar Belakang. Data atau informasi tidak hanya disajikan dalam bentuk teks, tetapi juga dapat berupa gambar, audio ( bunyi, suara, musik ), dan video. Empat macam data atau informasi ini sering disebut multimedia. Era teknologi informasi saat ini tidak dapat dipisahkan dari multimedia. situs web ( website ) di internet dibuat semenarik mungkin dengan menyertakan visualisasi berupa gambar atau video yang dapat diputar. Citra ( Image ) sebagai salah satu komponen multimedia memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Ada sebuah peribahasa yang berbunyi “ Sebuah gambar bermakna lebih dari seribu kata ” ( a picture is more than a thousand words ), maksudnya adalah sebuah citra dapat memberikan informasi yang lebih banyak daripada informasi yang disajikan dalam bentuk tekstual ( kata-kata ). Berdasarkan penjelasan diatas penulis akan membahas salah satu teknik pada pengolahan citra digital yang dikenal dengan istilah Steganografi, yaitu teknik penyembunyian data rahasia sehingga keberadaan data tersebut tidak diketahui oleh pihak asing dengan menggunakan media citra digital, dengan menggunakan bahasa pemograman Matlab 7 dimana Matlab ( Matrix Laboratory ) merupakan salah satu bahasa pemograman yang dikembangkan oleh MathWorks. Matlab memiliki
fungsi
dan
karakteristik
yang berbeda
dengan
bahasa
pemrograman lain. Matlab merupakan bahasa pemrograman level tinggi yang dikhususkan untuk kebutuhan
komputasi
teknis, visualisasi
dan
pemrograman . Teknologi digital memberikan kontribusi yang besar pada penerapan teknologi steganografi karena banyak format file digital yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan antara lain: bmp, gif, jpeg, file teks, html, pdf, mp3, wav atau voc. contohnya pada file
gambar, pesan dapat disembunyikan dengan menyisipkan pada bit rendah ( LSB ) di dalam data pixel yang menyusun file gambar.
1.2. Ruang Lingkup. Dalam pembuatan Aplikasi ini, penulis membatasi permasalah pada proses bagaimana data citra dan teks diambil dan disajikan untuk proses steganografi dengan teknik LSB ( Least Significant
Bit ) dimana proses steganografi ini
menyisipkan dan mengungkapkan kembali data tekstual tersebut dalam citra yang terseleksi dengan menggunakan Matlab 7.
1.3. Tujuan Penulisan. Adapun tujuan dari penulisan ini adalah : a. Sebagai pembelajaran dan pengenalan bagaimana cara penyamaran serta penyembunyian data tekstual ke dalam data citra dengan menggunakan bahasa pemograman tingkat tinggi Matlab 7. b. Untuk menjaga kerahasiaan data
yang disisipkan sehingga tidak
mengizinkan pihak asing untuk mendeteksi keberadaan pesan rahasia tersebut.
1.4. Metode Penulisan. Dalam pembuatan Aplikasi ini langkah pertama yang dilakukan adalah mencari dan mengumpulkan data referensi ilmu pengolahan citra digital dari buku-buku dan internet khususnya mengenai materi steganografi Setelah itu dibangun form GUI (Ghrapics User Interface) dengan menggunakan GUI Matlab. Proses berikutnya adalah memasukan elemen-elemen yang penting guna memudahkan pengguna (User). Setelah itu menggunakan berbagai citra uji dan juga data teks yang ingin di samarkan atau disisipkan dalam data citra. Pada penelitian ini penulis menggunakan Matlab 7. minimal membutuhkan perangkat keras dan perangkat lunak seperti: Perangkat Keras yang dibutuhkan:
Intel® Pentium® III 1.00 Ghz. RAM 256. VGA 32 MB (non Shared). Hardisk 40 GB. Monitor SVGA 15 Inci. Keyboard. Mouse . Perangkat Lunak yang dibutuhkan: Matlab 7 Simulink 14. Windows Picture and Fax Viewer. Ms Office Word.
Pembuatan Aplikasi ini dilakukan dalam beberapa tahap, antara lain: a. Algoritma metode penyisipan data tekstual ke dalam data citra. Mengubah setiap pixel (satu dot atau elemen dari raster) gambar asli menjadi raster (bentuk Array yang mengandung dot / titik) data dengan cara sebagai berikut : Baca Pixel
LSB RGB
raster data
bit rendah
(biner)
(0 dan 1)
Mengubah pesan rahasia (karakter) menjadi bit-bit pesan (biner).
Baca data tekstual karakter
bilangan ASCII (bilangan desimal)
bit pesan (biner)
Mengganti setiap bit rendah dengan bit pesan. Jika bit rendah = bit pesan, maka raster data tidak berubah. Jika bit rendah < bit pesan,
maka data ditambah 1. jika bit rendah > bit pesan, maka raster data dikurang 1. Menulis pixel yang baru sesuai dengan raster data: Raster data
RGB
pixel
b. Algoritma metode ekstraksi data tekstual dari media penyimpanan data citra. Setiap pixel citra steganografi diubah menjadi raster data agar memperoleh bit rendah. Prosesnya sama dengan tahap pertama metode penyisipan. Bit rendah setiap pixel dikumpulkan hingga terbentuk bit stream. Arah bacanya adalah atas ke bawah dan kiri ke kanan. Setiap 8 bit stream merepresentasikan sebuah karakter. Setelah semua bit stream diubah menjadi karakter, akan diperoleh data teks yang tersembunyi di antara kumpulan karakter.
c.
Metode penyisipan teks ke dalam data citra. Bit-bit
Gambar Asli
1 bit
1 pixel Metode Sisipan 1 pixel yang memuat 1 bit Gambar Steganografi Gambar 1.1. Diagram Penyisipan Data Tekstual.
d. Metode ekstraksi data tekstual dalam citra.
Gambar Steganografi 1 Pixel Metode Ekstraksi 1 bit Bit-bit Gambar 1.2. Diagram Ekstraksi Pada Data Citra.
e. Pembuatan naskah program. Ubah String ke format Binary. Fungsi pemanggilan prosedur prosedur ubah string ke biner ASCII ubah string ke integer ubah integer ke biner
Fungsi sisipan LSB. Fungsi pemanggilan prosedur baris Ubah matriks citra dengan banyaknya baris teks Ulangi kolom berikutnya pada baris awal ke pesan berikutnya
Ekstraksi LSB. Fungsi ekstraksi metode LSB Inisialisasi kunci warna citra Baca biner warna kunci Ambil bit ke 8 lalu Transpose bit tersebut
f. Uji Coba Aplikasi. Pada tahap pengujian penulis mengawali dengan proses penyajian data gambar dan tekstual sebelum diproses, kemudian secara berulang-ulang data yang telah disajikan terus diganti untuk diamati apabila terjadi kesalahan dalam proses penyajian data tersebut, jika sudah dipastikan tidak ada kesalahan dalam proses tersebut data siap diproses, selanjutnya penulis mengamati dari proses tersebut berjalan hingga menghasilkan output. Proses ini dapat dilakukan berulang-ulang tanpa mengubah isi ataupun susunan data biner yang terkandung pada ke dua data tersebut.
1.5. Sistematika Penulisan Ilmiah. Sistematika penulisan yang penulis gunakan dalam penulisan ilmiah dalam bidang pengolahan citra ini adalah sebagai berikut : Bab 1 Pendahuluan. Memuat latar belakang masalah penulisan, ruang lingkup yang akan dibahas, tujuan dan kegunaan penulisan ini, serta metodologi dan sistematika penulisan.
Bab 2 Tinjauan Pustaka. Bab ini berisi teori-teori yang mendukung diantaranya adalah definisi pengolahan citra digital, sejarah steganografi, konsep dan teknik steganografi, teknik pengungkapan data, Flowchart, dan dasar-dasar penggunaan bahasa pemograman Matlab 7.
Bab 3 Perancangan dan Implementasi. Bab ini berisi uraian tentang tahapan pembuatan aplikasi steganografi, flowchart, mulai dari tahap perancangan form atau antarmuka, coding program, hingga uji coba aplikasi dan hasil citra Steganografi tersebut.
Bab 4 Penutup Bab ini berisi kesimpulan dari hasil penulisan dan Saran penulisan kepada pihak-pihak terkait yang berhubungan dengan pengembangan dari penulisan ini.
2. TINJAUAN PUSTAKA
1.2. Definisi pengolahan Citra. Secara harafiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. pantulan cahaya ini ditangkap oleh alat-alat optik, Seperti mata pada manusia, kamera, pemindai (scanner), dan sebagainya sehingga bayangan objek yang disebut citra tersebut terekam 1). Citra yang dimaksudkan dalam keseluruhan penulisan ini adalah citra diam (still images). Citra diam adalah citra tunggal yang tidak bergerak sedangkan citra bergerak (moving images) adalah rangkaian citra diam yang ditampilkan secara beruntun (sequensial) sehingga memberi kesan pada mata sebagai gambar-gambar yang bergerak 2). Meskipun sebuah citra kaya informasi, namun seringkali citra yang dimiliki mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya. maka tentu saja citra semacam ini menjadi lebih sulit diinterpretasikan karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra yang mengalami gangguan tersebut mudah diinterpretasikan (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah Pengolahan Citra ( Image Processing ).
1.3. Sejarah Steganografi. Steganografi sudah dikenal oleh bangsa Yunani. Penguasa Yunani dalam mengirimkan pesan rahasia menggunakan kepala budak atau prajurit sebagai media. Dalam hal ini,rambut budak dibotaki, lalu pesan rahasia ditulis pada kulit
kepala budak. Ketika rambut budak tumbuh, budak tersebut diutus untuk membawa pesan rahasia di kepalanya. Bangsa Romawi mengenal steganografi dengan menggunakan tinta taktampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis maka tulisannya 3).
1.4. Teknik Steganografi Untuk memperkuat penyembunyian data, bit-bit data tidak digunakan untuk mengganti byte-byte yang berurutan, namun dipilih susunan byte secara acak. Bilangan acak dibangkitkan dengan pseudo-random-number-generator(PNRG). PNRG menggunakan kunci rahasia untuk membangkitkan posisi pixel yang akan digunakan untuk menyembunyikan bit-bit. PNRG dibagun dalam sejumlah cara, salah satunya dengan menggunakan algoritma kriptografi DES (Data Encription Standart), algoritma hash MD5, dan metode kriptografi CFB (Chiper-Feedback Mode). Tujuan dari ekripsi adalah menghasilkan sekumpulan bilangan acak yang sama untuk setiap kunci enkripsi yang sama. Bilangan acak dihasilkan dengan cara memilih bit-bit dari sebuah blok data hasil enkripsi 4) .
2.3.1. Kriteria Steganografi yang baik. Seperti yang sudah disebutkan pada bagian awal bab, data yang disembunyikan tidak hanya berupa teks, tetapi juga berupa citra, audio, atau video. Selain citra digital, media penampung data rahasia juga bisa berupa teks, audio, atau video. Penyembuyian data rahasia ke dalam citra digital akan mengubah kualitas citra tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah: Fidelity. Mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia, citra hasil steganografi
masih terlihat
dengan baik. Pengamat tidak mengetahui jika di dalam citra tersebut terdapat data rahasia. 3) Nurul Huda, materi Grafik Komputer dan Pengolahan Citra, Pertemuan13 AplikasiCitra 4) Rinaldi Munir, Pengolahan Citra Digital, Informatika, 2004.
Robustness. Data yang disembunyikan harus tahan (robust) terhadap berbagai operasi menipulasi yang dilakukan pada citra penampung, seperti
pengubahan
pembesaran
gambar,
kontras,
penajaman,
pemotongan
pemampatan,
(cropping),
enkripsi,
rotasi, dan
sebagainya. Bila pada citra penampung dilakukan operasi-operasi pengolahan citra tersebut, maka data yang disembunyikan seharusnya tidak rusak. Recovery. Data yang disembunyikan harus diungkapkan kembali (Reveal). Karena tujuan dari steganografi adalah penyembunyian data, maka sewaktu-waktu data rahasia di dalam citra penampung harus dapat diambil kembali untuk dapat digunakan lebih lanjut.
2.3.2. Least Significant Bit Insertion (LSB). Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya pada file image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (lsb) pada data pixel yang menyusun file tersebut. Seperti kita ketahui untuk file bitmap 24 bit maka setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian pada setiap pixel file bitmap 24 bit kita dapat menyisipkan 3 bit data. Contoh 8 bit pixel : 1 pixel :
( 00
01
white red Insert 0011 :
( 00
00
10
11 )
green
blue
11
11 )
white white blue blue
Contoh 24 bit pixel : Contohnya huruf A dapat kita sisipkan dalam 3 pixel, misalnya data raster original adalah sebagai berikut : ( 00100111 11101001 11001000 ) red
blue
green
( 00100111 11001000 11101001 ) red
green
blue
( 11001000 00100111 11101001 ) green
red
blue
Sedangkan representasi biner huruf A adalah 100000111. Dengan menyisipkannya pada data pixel diatas maka akan dihasilkan :
( 00100111 11101000 11001000 ) red
green
green
( 00100110 11001000 11101000 ) white
green
green
( 11001001 00100111 11101001 ) blue
red
blue
Terlihat hanya empat bit rendah yang berubah, untuk mata manusia maka tidak akan tampak perubahannya. Secara rata-rata dengan metode ini hanya setengah dari data bit rendah yang berubah, sehingga bila dibutuhkan dapat digunakan bit rendah kedua bahkan ketiga.
2.3.3. Teknik pengungkapan data. Data yang desembunyikan di dalam citra dapat dibaca kembali dengan cara pengungkapan (Reveal atau Extraction). Posisi byte yang menyimpan bit data dapat diketahui dari bilangan acak yang dibangkitkan. Karena algoritma
kriptografi yang digunakan menggunakan kunci pada proses enkripsi, maka kunci yang sama digunakan untuk membangkitkan bilangan acak. Bilangan acak yang dihasilkan sama dengan bilangan acak yang dipakai pada saat penyembunyian data. Dengan demikian, bit-bit data rahasia yang bertaburan di dalam citra dapat dikumpulkan kembali. Berikut contoh langkah-langkah teknik pengungkapan data.
Tabel 2.1 Keterangan Teknik Pengungkapan Data. Pixel
Gambar Stego
Raster data
Bit rendah
Bit Biner
Hasil
01101000
h
(RGB) [1,1]
46
00101110
0
[2,1]
39
00100111
1
[3,1]
37
00100101
1
[4,1]
28
00011100
0
[5,1]
21
00010101
1
[6,1]
30
00011110
0
[7,1]
46
00101110
0
[8,1]
46
00101110
0
Setelah pixel dari citra steganografy diubah menjadi raster data agar memperoleh bit rendah. Bit-bit tersebut dikumpulkan hingga terbentuk bit biner. Arah bacanya adalah atas ke bawah dan kiri ke kanan. Setiap 8 bit biner merepresentasikan sebuah karakter. Setelah semua bit biner diubah menjadi karakter, akan diperoleh pesan yang tersembunyi.
2.4.
Flowchart. Flowchart adalah penggambaran secara grafik dari langkah-langkah dan
urutan-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif yang lain dalam pengoperasian dan biasanya digunakan untuk mempermudah penyelesaian suatu
masalah khususnya masalah yang dipelajari dan dievaluasi lebih lanjut. Jenis flowchart ada 5, yaitu : a) Flowchart Sistem (System Flowchart), yaitu bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan didalam system secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada dalam system. b) Flowchart
Dokumen/Paperwork
(Document
Flowchart),
yaitu
flowchart yang digunakan untuk menelusuri alur form dan laporan system dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpan. c) Flowchart Skematik (Schematic Flowchart), yaitu flowchart yang digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang konvensional. d) Flowchart Program ( Program Flowchart ), merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan dan menunjukkan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi. e) Flowchart Proses ( Process Flowchart ), merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalis langkah-langkah selanjutnya dalam suatu prosedur atau sistem 5).
5) H.S. Suryadi dan Sumin Agus, Pengantar Algoritma dam Pemrograman, Gunadarma, 1991
Tabel 2.2 Simbol Flowchart
Tabel 2.3 Simbol Flowchart
2.5. Bahasa Pemrograman Matlab. Matlab
merupakan
bahasa
pemrograman
yang
hadir
dengan
fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic maupun C++. Matlab merupakan bahasa pemrograman level tinggi yang dikhususkan untuk
kebutuhan komputasi teknis, komputasi
visualisasi dan pemrograman seperti
matematik, analisis data, pengembangan algoritma, simulasi
dan pemodelan dan grafik-grafik perhitungan. Matlab hadir dengan membawa warna yang berbeda. Hal ini karena
matlab
matematika, oleh
fisika,
MathWorks,
membawa keistimewaan statistik, yang
pada
dan
dalam
visualisasi.
awalnya
dibuat
fungsi-fungsi
Matlab dikembangkan untuk
memberikan
kemudahan mengakses data matrik pada proyek LINPACK dan EISPACK. Saat ini matlab memiliki ratusan fungsi yang dapat digunakan sebagai problem solver mulai dari simple sampai masalah-masalah yang kompleks dari berbagai disiplin ilmu. Versi Matlab terbaru adalah matlab 7. namun, Matlab 7 hanya dapat dijalankan pada Windows XP, sedangkan untuk Windows 98 atau Windows ME dapat menggunakan Matlab 7 ke bawah 6).
2.5.1. Lingkungan Kerja Matlab 7.0. Window pada Matlab 7.0 terdiri dari Current Directory, Command History, Command Window, Workspace. Penjelasannya adalah sebagai berikut : 1.
Current Directory. Window
ini
menampilkan
isi
dari
direktori
kerja
saat
menggunakan matlab. Kita dapat mengganti direktori ini sesuai dengan tempat direktori kerja yang diinginkan. Default dari alamat direktori berada dalam folder works tempat program files Matlab berada. 2.
Command History. Window ini berfungsi untuk menyimpan perintah-perintah apa saja
yang sebelumnya dilakukan oleh pengguna terhadap Matlab. 3.
Command Window. Window ini adalah window utama dari Matlab. Disini adalah tempat
untuk menjalankan fungsi, mendeklarasikan variabel, menjalankan prosesproses , serta melihat isi variabel.
6)Firman, DasarMatlab, www.Ilmukomputer.com, 2003
4.
Workspace. Workspace berfungsi untuk menampilkan seluruh variabel-variabel yang
sedang aktif pada saat pemakaian matlab. Apabila variabel berupa data matriks berukuran besar maka user dapat melihat isi dari seluruh data dengan melakukan double klik pada variabel tersebut. Matlab secara otomatis akan menampilkan window “array editor” yang berisikan data pada setiap variabel yang dipilih user.
Gambar 2.1 Tampilan Antar Muka Dari Matlab Versi 7.0 Jendela Utama. Berikut adalah penjelasan fungsi-fungsi ikon-ikon pada toolbar: a. New
, untuk membuka lembar kerja Matlab Editor baru.
b. Open
, untuk membuka file-file yang sudah tersimpan.
c. Cut
, untuk menghapus suatu teks yang diketikan agar dapat disalin
kembali. d. Copy
, untuk mengkopi suatu teks.
e. Paste
, untuk menyalin kembali teks yang sudah dihapus atau dikopi.
f. Undo
, untuk mengembalikan suatu perintah yang dilakukan sebelumnya.
g. Redo
, untuk mengembalikan suatu perintah yang dilakukan sesudahnya.
h. Simulink
, untuk mengakses Simulink Library Browser yang berfungsi
sebagai bantuan. i. Help j. Current
, untuk mengakses Help yang berfungsi sebagai bantuan. Directory
,
untuk
memilih
lembar kerja aktif yang digunakan selama Matlab berlangsung. M File Di dalam matlab, kita dapat menyimpan semua script yang akan digunakan dalam file pada matlab dengan ekstensi .M. M-File dapat dipanggil dengan memilih menu file->new->M-File. Di dalam M-File, kita dapat menyimpan semua perintah dan menjalankan dengan menekan tombol
atau mengetikan nama M-
File yang kita buat pada command window
Gambar 2.2 M-File Workspace.
3. Perancangan dan Implementasi 3.1. Teknik dan konsep steganografi. Seperti yang sudah dijelaskan pada bab sebelumnya metode Least Significant bit (LSB) merupakan metode yang sederhana dan mudah dipahami. penyembuyian data dilakukan dengan mengganti bit-bit data dalam segmen citra dengan bit-bit rahasia. Hingga saat ini sudah banyak dikemukakan oleh para ilmuwan metode-metode penyembunyian data. Metode yang paling sedehana adalah metode modifikasi LSB (Least Significant bit). Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling berarti (Most Significant bit) dan bit yang paling kurang berarti LSB.
Contohnya pada byte 11010010, bit 1 yang pertama (digarisbawahi) adalah MSB dan bit 0 yang terakhir (digarisbawahi) adalah bit LSB. bit yang cocok untuk diganti adalah bit LSB, sebab penggantian hanya mengubah nilai byte tersebut satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut di dalam citra menyatakan warna tertentu, maka perubahan satu bit LSB tidak mengubah warna tersebut secara berarti
3.1.1.
Uji Hipotesis.
Contoh kasus 1 : Data String pesan rahasia : A Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.1. Citra Asli Chilli.jpg 198 x 135 Pixel. Tabel 3.1. Keterangan Contoh Kasus Metode Penyisipan huruf ‘A’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘A’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.2. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘A’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 dan 5.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 2 : Data String pesan rahasia : B Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.3 Citra Asli Chilli.jpg 198 x 135 Pixel. Tabel 3.2. Keterangan Contoh Kasus Metode Penyisipan huruf ‘B’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘B’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.4 Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘B’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1 dan 7.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 3 : Data String pesan rahasia : C Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.5 Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.3. Keterangan Contoh Kasus Metode Penyisipan huruf ‘C’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘C’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011101
29
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
0
00011111
30
[7,1]
46
00101110
0
1
00101110
47
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.6 Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘C’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1 dan 7.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 4 : Data String pesan rahasia : D Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.7. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.4. Keterangan Contoh Kasus Metode Penyisipan huruf ‘D’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘D’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.8 Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘D’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1, 5.1, 6.1 dan 8.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 5 :
Data String pesan rahasia : E Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.9 Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.5. Keterangan Contoh Kasus Metode Penyisipan huruf ‘E’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘E’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011101
28
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.10 Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘E’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1 dan 6.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 6 : Data String pesan rahasia : F Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.11 Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.6. Keterangan Contoh Kasus Metode Penyisipan huruf ‘F’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘F’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.12. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘F’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1, 6.1, 7.1, dan 8.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 7 :
Data String pesan rahasia : G Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.13. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.7. Keterangan Contoh Kasus Metode Penyisipan huruf ‘G’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘G’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.14. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘G’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1, 6.1, dan 7.1tidak terdeteksi oleh mata manusia.
Contoh kasus 8 : Data String pesan rahasia : H Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.15. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.8. Keterangan Contoh Kasus Metode Penyisipan huruf ‘H’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘H’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
1
00010100
21
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.16. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘H’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1, dan 8.1tidak terdeteksi oleh mata manusia.
Contoh kasus 9 : Data String pesan rahasia : I
Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.17. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.9. Keterangan Contoh Kasus Metode Penyisipan huruf ‘I’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘I’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.18. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘B’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1, dan 8.1tidak terdeteksi oleh mata manusia.
Contoh kasus 10 Data String pesan rahasia : J Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.19. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.10. Keterangan Contoh Kasus Metode Penyisipan huruf ‘J’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘J’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.20. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘J’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1, 7.1 dan 8.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 11: Data String pesan rahasia : K
Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.21. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.11. Keterangan Contoh Kasus Metode Penyisipan huruf ‘K’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘K’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.22. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘B’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 7.1 dan 8.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 12 : Data String pesan rahasia : L Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.23. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.12. Keterangan Contoh Kasus Metode Penyisipan huruf ‘L’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘L’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.24. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘L’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1, 6.1, 7.1 dan 8.1tidak terdeteksi oleh mata manusia.
Contoh kasus 13 : Data String pesan rahasia : M Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.25. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.13. Keterangan Contoh Kasus Metode Penyisipan huruf ‘M’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘M’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.26. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘M’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 5.1, 6.1, dan 8.1tidak terdeteksi oleh mata manusia.
Contoh kasus 14 : Data String pesan rahasia : N Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.27. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.14. Keterangan Contoh Kasus Metode Penyisipan huruf ‘N’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘N’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.28. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘N’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 6.1, 7.1 dan 8.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 15 : Data String pesan rahasia : O Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.29. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.15. Keterangan Contoh Kasus Metode Penyisipan huruf ‘O’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘O’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
0
00011100
28
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.30. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel. Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘O’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 4.1 , 6.1, dan 7.1tidak terdeteksi oleh mata manusia.
Contoh kasus 16 : Data String pesan rahasia : P Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.31. Citra Asli Chilli.jpg 198 x 135 Pixel. Tabel 3.16. Keterangan Contoh Kasus Metode Penyisipan huruf ‘P’.
Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘P’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.32. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel. Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘P’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 5.1, dan 8.1tidak terdeteksi oleh mata manusia.
Contoh kasus 17 : Data String pesan rahasia : Q Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.33. Citra Asli Chilli.jpg 198 x 135 Pixel. Tabel 3.17. Keterangan Contoh Kasus Metode Penyisipan huruf ‘Q’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘Q’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.34. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘Q’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 5.1, dan 7.1tidak terdeteksi oleh mata manusia.
Contoh kasus 18 : Data String pesan rahasia : R Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.35. Citra Asli Chilli.jpg 198 x 135 Pixel. Tabel 3.18. Keterangan Contoh Kasus Metode Penyisipan huruf ‘R’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘R’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
1
00101110
47
[8,1]
47
00101111
1
0
00101111
46
Gambar 3.36. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘R’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 5.1, 7.1 dan 8.1tidak terdeteksi oleh mata manusia.
Contoh kasus 19 : Data String pesan rahasia : S Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.37. Citra Asli Chilli.jpg 198 x 135 Pixel. Tabel 3.19. Keterangan Contoh Kasus Metode Penyisipan huruf ‘S’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘S’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.38. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘S’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 5.1 dan 7.1tidak terdeteksi oleh mata manusia.
Contoh kasus 20 : Data String pesan rahasia : T Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.39. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.20. Keterangan Contoh Kasus Metode Penyisipan huruf ‘T’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘T’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.40. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘T’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 5.1, 6.1, dan 8.1tidak terdeteksi oleh mata manusia.
Contoh kasus 21 : Data String pesan rahasia : U Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.41. Citra Asli Chilli.jpg 198 x 135 Pixel. Tabel 3.21. Keterangan Contoh Kasus Metode Penyisipan huruf ‘U’.. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘U’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.42. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘U’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 5.1, dan 6.1tidak terdeteksi oleh mata manusia.
Contoh kasus 22 : Data String pesan rahasia : V Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.43. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.22. Keterangan Contoh Kasus Metode Penyisipan huruf ‘V’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘V’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
1
00101110
47
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.44. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘V’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 5.1, 6.1, 7.1 dan 8.1 tidak terdeteksi oleh mata manusia.
Contoh kasus 23 : Data String pesan rahasia : W Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.45. Citra Asli Chilli.jpg 198 x 135 Pixel. Tabel 3.23. Keterangan Contoh Kasus Metode Penyisipan huruf ‘W’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘W’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
0
00010100
20
[6,1]
30
00011110
0
1
00011111
31
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.46. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘W’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 5.1, 6.1, dan 7.1tidak terdeteksi oleh mata manusia.
Contoh kasus 24 : Data String pesan rahasia : X Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.47. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.24. Keterangan Contoh Kasus Metode Penyisipan huruf ‘X’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘Y’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
0
00101111
46
Gambar 3.48. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘X’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 8.1tidak terdeteksi oleh mata manusia.
Contoh kasus 25 : Data String pesan rahasia : Y Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.49. Citra Asli Chilli.jpg 198 x 135 Pixel. Tabel 3.25. Keterangan Contoh Kasus Metode Penyisipan huruf ‘Y’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘Y’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
0
00101110
46
[8,1]
47
00101111
1
1
00101111
47
Gambar 3.50. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘Y’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi tidak terdeteksi oleh mata manusia.
Contoh kasus 26 : Data String pesan rahasia : Z Gambar Asli
: Chili.jpg
Gambar steganografi
: Stego_Chili.bmp
Gambar 3.51. Citra Asli Chilli.jpg 198 x 135 Pixel.
Tabel 3.26. Keterangan Contoh Kasus Metode Penyisipan huruf ‘Z’. Pixel
Gambar
Raster data
Asli RGB
Bit rendah
Bit pesan
Hasil
(huruf ‘Z’ )
Gambar Stego RGB
(red)
(red)
[1,1]
46
00101110
0
0
00101110
46
[2,1]
39
00100111
1
1
00100111
39
[3,1]
36
00100100
0
0
00100100
36
[4,1]
29
00011101
1
1
00011101
29
[5,1]
21
00010101
1
1
00010101
21
[6,1]
30
00011110
0
0
00011110
30
[7,1]
46
00101110
0
1
00101111
47
[8,1]
47
00101111
1
0
00101110
46
Gambar 3.52. Citra Stegano Stego_Chilli.bmp 198 x 135 Pixel.
Pada contoh kasus di atas setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data huruf ‘Z’ yang akan disembunyikan. Jika byte tersebut merupakan komponen pembentuk warna hijau, maka penggantian 1 bit LSB-nya hanya mengubah sedikit tingkat kecerahan warna hijau, dan perubahan warna yang terjadi pada pixel 7.1 DAN 8.1 tidak terdeteksi oleh mata manusia.
3.2. Flowchart Program. Keterangan mengenai langkah-langkah program dan prosedur yang digunakan pada aplikasi “PI_Stegano” adalah sebagai berikut :
3.2.1. Flowchart pada metode Penyisipan. Metode penyisipan adalah proses dimana data teks dan data citra diuraikan menjadi biner, kemudian digabungkan dengan metode LSB. Pada proses tersebut output yang dihasilkan berupa data citra sedangkan input mengunakan 1 data citra dan 1 data teks.
Gambar 3.53. Penyisipan Teks Pada Media Citra.
3.2.2. Flowchart pada metode ekstraksi. Metode ekstraksi / pengungkapan data rahasia merupakan proses lanjutan dari proses penyisipan. Pada proses tersebut data yang dihasilkan berupa data teks dengan input data citra stegano.
Gambar 3.54. Ekstraksi Teks Dari Citra Stegano.
3.3.
Tampilan Form.
Teks
Image Gambar
Tombol
Gambar 3.55. Form Utama
Steganografi dengan LSB File
Edit
Help
Image Asli
Image Hasil Penyisipan
Tombol 1 Tombol 2
Listbox 1
Image Hasil Penyisipan
Listbox 2
Tombol 3
Tombol 4
Gambar 3.56. Form Menu Utama.
Tombol 5
Steganografi dengan LSB File
Edit
Help
Open image file Image Asli Export data EXIT Ctrl+X
Tombol 1
Image Hasil Penyisipan
Tombol 2
Listbox 1
Image Hasil Penyisipan
Listbox 2
Tombol 3
Tombol 4
Tombol 5
Gambar 3.57. Form Utama Menu Bar File.
Steganografi dengan LSB File
Edit
Help
Clear Project Image Asli
Image Hasil Penyisipan
Tombol 1 Tombol 2
Listbox 1
Image Hasil Penyisipan
Listbox 2
Tombol 3
Tombol 4
Tombol 5
Gambar 3.58. Form Utama Menu Bar Edit.
Steganografi dengan LSB File
Edit
Help
About this Ctrl+H Image Asli Image Hasil Penyisipan
Tombol 1 Tombol 2
Listbox 1
Image Hasil Penyisipan
Listbox 2
Tombol 3
Tombol 4
Tombol 5
Gambar 3.59. Form Utama Menu Bar Help.
3.4. Rancangan Program. Penulis pada bab ini, akan mencoba untuk memberikan suatu analisis dari program dan penjabarannya, yang diharapkan dapat memberikan penjelasan bagaimana cara kerja dari program Steganografi : Menu utama berisi pesan singkat mengenai aplikasi kemudian tombol masuk yang disugugkan berfungsi untuk memanggil form inti aplikasi. Menu Bar File yang berisi pilihan-pilihan berikut, yaitu : Open Image File : Membuka data Citra asli yang akan digunakan. Export Data
: Pilihan untuk menyimpan Citra hasil proses
penyisipan dengan format yang sudah ditentukan. Exit : Pilihan untuk mengakhiri aplikasi.
Menu Bar Edit yang berisi pilihan Clear Project, berfungsi untuk membersihkan semua tampilan pada area kerja yang telah digunakan. Menu Bar Help yang berisi pilihan About, menampilkan informasi singkat mengenai pembuat dan aplikasi steganografi. Tombol 1 adalah tombol Proceed to LSB, yaitu tombol yang berfungsi melakukan proses penyisipan data tekstual ke dalam data citra. Tombol 2 adalah tombol Open Text File, yaitu tombol yang berfungsi melakukan proses untuk mencari dan membuka file teks dari direktori. Tombol 3 adalah tombol Open LSB Image, yaitu tombol yang berfungsi melakukan proses untuk mencari dan membuka file citra hasil proses penyisipan dari direktori. Tombol 4 adalah tombol DeCrypt LSB-I to Text, yaitu tombol yang berfungsi melakukan proses untuk ekstraksi data teks dari data citra. Tombol 5 adalah tombol Save DeCrypt Text, yaitu tombol yang berfungsi melakukan proses untuk menyimpan data teks hasil ekstraksi ke dalam direktori. Listbox 1 adalah kolom yang berfungsi sebagai output dari data teks yang hendak digunakan dalam proses penyisipan. Listbox 2 adalah kolom yang berfungsi sebagai hasil output dari data teks pada proses ekstraksi. Kontrol – kontrol yang digunakan yaitu : Form, untuk menyimpan objek – objek yang akan dipakai dan sebagai daerah kerja. Command Button, sebagai tombol perintah. Static text, untuk mencetak / menampilkan tulisan. Menu Bar, untuk menampilkan daftar pilihan. Listt Box, untuk menampung input dan output berupa data tekstual. .
Gambar 3.60. Toolbar Komponen GUI Matlab 7.0.
3.5. Pembuatan File Project. Untuk membuka lembar kerja GUI dalam Matlab 7, kita menggunakan perintah File > New > GUI atau dengan mengetikan >>guide pada Command Window Matlab 7.
1 . Pilih menu Blank GUI(Default), kemudian OK.
Gambar 3.61. Window New Project.
Gambar 3.62. Form Blank GUI. 2 . Kemudian simpan Figure dengan nama “ Steganograf ” dengan cara File > Save.
Gambar 3.62. Window Save Project. 3. Lalu tambahkan objek – objek pada form GUI dengan dengan pengaturan komponen Uicontrol sebagai berikut :
Tabel. 3.27. Properties Form Stegano. Komponen
Tag
String/Title/Name
Font/Size
Static Text
text1
Simple Steganograf with
16.0
LSB (Low Significant Bit) Push Button1
enkripbtn
Proceed to LSB
8.0
Push Button2
opentxtbtn
Open Text File
8.0
Push Button3
openlsbbtn
Open LSB Image
8.0
Push Button4
dekripbtn
DeCrypt LSB-i to Text
8.0
Push Button5
savebtn
Save DeCrypt Text
8.0
Axes1
oriaxes
-
10.0
Axes2
lsbaxes
-
10.0
Axes3
lsbimaxes
-
10.0
Edit Text1
listbox
-
8.0
Edit Text2
listboxdecrypt
-
8.0
Untuk mengatur pengaturan komponen Uicontrol dengan cara klik icon property Inspector
.
Gambar 3.64. Window Property Inspector.
4. Membuat Axes. Klik icon Axes
pada Toolbar komponen GUI
Matlab 7.0, kemudian klik dan drag pada form blank yang telah disimpan.
Gambar 3.65. Form Pembuatan Axes.
5. Membuat Tombol. Klik icon Push Button
pada Toolbar komponen
GUI matlab 7.0, kemudian klik dan drag.
Gambar 3.66. Form Pembuatan Tombol.
6.
Membuat Listbox. Klik icon Listbox
pada Toolbar komponen
GUI matlab 7.0, kemudian klik dan drag pada form tersebut.
Gambar 3.67. Form Pembuatan Listbox.
Procedure Callbacks pada Form Stegano : Klik kanan tombol Proceed to LSB > klik View Callbaks > klik Callbacks. Isi Procedure Callbacks tombol Proceed to LSB adalah : cool=guidata(gcbo); I=get(cool.oriaxes,'Userdata'); pesan=get(cool.listbox,'Userdata'); pesan=[pesan 'QQQQ']; teksbin=str2bin(pesan); gbr2=stegolsb(I,teksbin); set(cool.figsteg,'CurrentAxes',cool.lsbaxes); set(imshow(gbr2)); set(cool.lsbaxes,'Userdata',gbr2); Penjelasan : Fungsi fopen berguna untuk membuka suatu file. Fungsi get() untuk mengambil data dari properti userdata cool pada suatu uicontrol. Fungsi
pesan=[pesan 'QQQQ']; memuat string yang termuat dalam variabel pesan dengan 'QQQQ' sebagai penunjuk akhir suatu pesan. Fungsi set memberikan properti dan nilai pada user data cool dan komponen axes.
Gambar 3.68. Callbacks Pada Tombol Proceed To LSB.
Fungsi callbacks dalam Matlab 7.0 adalah memanggil M-editor yang berguna untuk penulis mengisikan syntax-syntax dan prosedur yang akan dijalankan pada program.
Gambar 3.69. M-editor Tombol Proceed To LSB. Klik kanan tombol Open Text File > klik View Callbaks > klik Callbacks. Isi Procedure Callbacks tombol Open Text File adalah : cool=guidata(gcbo); [namafile,direktori]=uigetfile('*.txt','Open Text File'); teks=fopen(path,'r'); charteks=fread(teks,'uint8=>char'); fclose(teks); pesan=sprintf(charteks); set(cool.listbox,'string',pesan); set(cool.listbox,'Userdata',pesan); Klik kanan tombol Open LSB Image > klik View Callbaks > klik Callbacks. Isi Procedure Callbacks tombol Open LSB Image adalah : cool=guidata(gcbo); [namafile,direktori]=uigetfile('*.bmp','Load Image'); namafile direktori pathnya=[direktori,namafile] I=imread(pathnya); set(cool.figsteg,'CurrentAxes',cool.lsbimaxes); set(imshow(I)); set(cool.lsbimaxes,'Userdata',I); Penjelasan : Fungsi pathnya=[direktori,namafile] adalah sebagai variabel pengenal direktori. Klik kanan tombol DeCrypt LSB-i to Text > klik View Callbaks > klik Callbacks.
Isi Procedure Callbacks tombol DeCrypt LSB-i to Text adalah : cool=guidata(gcbo); I=get(cool.lsbimaxes,'Userdata'); teksbin=ekstraklsb(I); set(cool.listboxdecrypt,'String',teksbin); set(cool.listboxdecrypt,'Userdata',teksbin); Klik kanan tombol Save DeCrypt Text > klik View Callbaks > klik Callbacks. Isi Procedure Callbacks tombol Save DeCrypt Text adalah : [namafile,direktori]=uiputfile('*.txt','Simpan Pesan'); pesantekslsb=get(cool.listboxdecrypt,'Userdata'); teks=fopen(namafile,'w'); fprintf(teks,pesantekslsb); fclose(teks);
7. setelah semua komponen UIcontrol dan propertinya sudah sesuai dan lengkap, simpanlah project dengan menklik File > Save.
3.5.1. Pembuatan Menu Bar. Langkah pembuatan Menu Bar pada Form Stegano. Membuka project stegano.fig. Membuka menu Editor. Klik Tool > Menu Editor.
Gambar 3.70. Menu Editor. Membuat menu dan sub menu. Klik New Menu untuk membuat menu dangan nama tag File, Edit dan Help. Berikut
Tabel. 3.28. Properties Menu Editor. Label
Tag
Ctrl+
Separator above this
Enable this
item
item
openfile
None
Export Data
saveimagelsb
None
EXIT
btnEXIT
X
CLEAR Project
clearall
None
About this
about
H
Open Image File
Membuat fungsi callback pada item submenu. o Callback label Open Image File adalah : cool=guidata(gcbo); [namafile,direktori]=uigetfile({'*.jpg';'*.bmp';'*.png';'*.tif'},'Open Image File'); namafile direktori
pathnya=[direktori,namafile]; if isequal (namafile,0) return; end I=imread(pathnya); set(cool.figsteg,'CurrentAxes',cool.oriaxes); set(imshow(I)); set(cool.oriaxes,'Userdata',I);
Penjelasan : prosedur pada callback open image file berfungsi untuk mengambil file citra kemudian di tampilkan pada axes Citra Asli. o Callback label Export Data adalah : cool=guidata(gcbo); [namafile,direktori]=uiputfile('*.bmp','Save LSB Image File'); gbr2=get(cool.lsbaxes,'Userdata'); imwrite(gbr2,namafile); Penjelasan : prosedur pada callback eksport open image file berfungsi untuk mengambil file citra pada axes yang menampilkan citra hasil proses steganografi kemudian di simpan dengan format yang telah ditentukan. o Callback label EXIT adalah : respon=Exit('Title','Confirm to EXIT by User: '); switch lower(respon) case 'no' %no action enable perform case 'yes' %close GUI window delete(handles.figstegs);
end Penjelasan : berfungsi untuk menutup aplikasi. o Callback label CLEAR Project adalah : cool=guidata(gcbo); %clear axes--------set(cool.figsteg,'CurrentAxes',cool.oriaxes); cla; set(cool.figsteg,'CurrentAxes',cool.lsbaxes); cla; set(cool.figsteg,'CurrentAxes',cool.lsbimaxes); cla; %clear text--------empty=''; set(cool.listbox,'string',empty); set(cool.listboxdecrypt,'string',empty); Penjelasan : prosedur pada callback CLEAR Project adalah untuk membersihkan area kerja yang aktif pada saat aplikasi hendak digunakan kembali dengan data yang berbeda. o Callback label About this adalah : respon=ABOUT('Title','Confirm About This'); Penjelasan : Menutup form ABOUT.
3.5.2. Pembuatan Form About. Siapkan project baru, klik File > New > GUI kemudian pilih BlankGUI (Default) dan klik OK. Simpan dengan nama file ABOUT.fig Tambahkan objek Push Button dan Axes. View callbacks tombol kemudian ubah prosedur pada function exitbtn_Callback(hObject, eventdata, handles) dengan delete(handles.figabout);
Gambar 3.71. Form About. Klik kanan pada figure ABOUT pilih View Callbacks > Create Fcn Ubah function varargout dengan prosedur berikut :
varargout{1} = handles.output; namafile=['DSC_1218.jpg']; I=imread(namafile); set(imshow(I)); pos = [5 180 250 400]; h = uicontrol('Style','Text','Position',pos); string = {'================================================', 'Thanks for using Steganograf Open EnCrypt and DeCrypt files ', '================================================', 'Stegeanografi adalah ilmu yang sudah lama dipakai pada zaman yunani kuno,namun hingga saat ini masih sering dipakai dan seiring dengan waktu metode yang dipakai juga bermacam-macam.', 'Seiring dengan perkembangan Teknologi dan Informasi metode ini kami jadikan penelitian dan bahan pembelajaran.' 'Applikasi ini di bangun untuk syarat menyelesaikan Penulisan Ilmiah setara Diploma',
'-----------------------------------------------------------------------', 'Thanks for god my Honey and All of my Friends. ', 'Nama : Y.B Bimo Anggoro', 'NPM : 11105762', 'Kelas : 3KA04'}; [outstring,newpos] = textwrap(h,string); pos(4) = newpos(4); set(h,'String',outstring,'Position',[pos(1),pos(2),pos(3)+100,pos(4)])
3.5.3. Pembuatan Form utama. Form utama bertujuan untuk mengenalkan pengguna dengan aplikasi steganografy secara singkat. Adapun langkah-langkah pembuatannya tidak terlalu berbeda dengan pembuatan form-form sebelumnya. Antara lain : Siapkan form kosong dan berikan
nama “figPI,fig” pada tag name
kemudian save. Tambahkan objek axes dengan ketentuan seperti pada langkah sebelumnya kemudian beri properties set visible off. Tambahkan pula push button, kemudian klik kanan, pilih Callbacks isikan syntax berikut untuk menutup figure “figPI” kemudian memanggil figure “Steganograf.m”. delete(handles.figPI); Steganograf; Sisipkan syntax berikutpada kolom varargout untuk menampilkan gambar menu utama dan teks. logo=['gambar_Utama.jpg']; I=imread(logo); set(imshow(I));
pos = [340 180 200 1]; h = uicontrol('Style','Text','Position',pos); string = {'Aplikasi steganografy adalah aplikasi penyembunyian data tekstual dengan media Gambar', 'Klik tombol "OK" untuk melanjutkan'}; [outstring,newpos] = textwrap(h,string); pos(4) = newpos(2); set(h,'String',outstring,'Position',[pos(1),pos(2),pos(3)+50,pos(4)])
3.5.4. Cara Compile. Untuk mempermudah para pengguna penulis mencoba membangun aplikasi tersebut dengan pertimbangan khusus, di dalam Matlab 7.0 telah tersedia compiler khusus yang dapat digunakan. Berikut langkah-langkahnya : setelah memastikan semua form project telah tersimpan, pada main window Matlab 7.0 tuliskan perintah berikut pada command window. mcc –m ‘PI_Stegano.m’ Keterangan : Perintah untuk meng-compile file ‘PI_Stegano.m’ sebagai menu awal dalam format Windows Execute ( .Exe).
Gambar 3.72. Command Window Matlab 7.0.
3.5.5. Cara Kerja Program. Pada saat program dijalankan, maka program akan memanggil form PI_Stegano. Kemudian akan muncul tampilan seperti pada gambar di bawah ini (Gambar 3.21). kemudian disajikan tombol “OK” untuk masuk ke dalam menu aplikasi utama (Gambar 3.22).
Gambar 3.73. Tampilan Form PI_Stegano.
Gambar 3.74. Tampilan Form Steganograf.
Pada program stegano penulis mencoba membuat proses penyisipan dan ekstraksi dilakukan dalam satu form, hal ini agar memudahkan pengguna awam sehingga
mengurangi
kesalahan
yang
cenderung
dilakukan
pada
saat
menggunakan aplikasi tersebut. Pada program penulis memberi petunjuk mana kolom untuk penyisipan dan mana kolom untuk ektraksi.
3.5.6. Cara Kerja Penyisipan. Pilih menu bar File > Open Image File untuk memasukan data citra yang diinginkan. Data citra akan ditampilkan pada axes data Citra Asli.
Gambar 3.75. Window Buka Data Citra. Klik push button open text file untuk mengambil data text yang kemudian ditampilkan pada List Box. Kemudian Klik tombol Proceed to LSB untuk menyisipkan data teks ke dalam data citra. Untuk menyimpan data Citra yang telah disisipkan pilih menu bar File > Eksport Data kemudian pilih lokasi direktori yang sesuai.
Untuk menghindari adanya kesalahan dari pengguna penulis mencoba menambahkan fungsi khusus pada saat proses penyispan, yaitu fungsi penanganan kesalahan jika yang dibutuhkan belum diinput baik data Citra maupun data text. Dengan syntax berikut.
%warn dialog for exception waitbar proceed if isequal(I,[]) msgbox('File Image NOT FOUND or terminated on LSB proceed...','WARNING interupt by User....','warn') return; end
Gambar 3.76. Pesan Peringatan Kesalahan Penyisipan.
3.5.7. Cara Kerja Ekstraksi. Klik push button open LSB Image untuk mengambil data Citra hasil proses stegano yang sudah disimpan, kemudian ditampilkan pada Axes kolom Decrypr File. Kemudian Klik tombol Decrypt LSB image to text untuk melakukan proses ekstraksi data teks pada data citra. Pesan rahasia yang tersimpan pada media citra yang telah berhasil diproses akan ditampilkan pada List Box. Kemudian data teks dapat hasil ekstraksi dapat disimpan dengan fungsi yang terdapat pada tombol Save Decrypt text. Untuk menghindari adanya kesalahan dari pengguna penulis mencoba menambahkan fungsi khusus pada saat proses penyimpanan data tekstual jika kondisi listbox kosong atau tidak ada tampilan tekstual. Dengan menambahkan syntax berikut pada callbacks Save DeCrypt Text.
%--warndialog--------if isequal(pesantekslsb,[]) warndlg('Failed to SAVE DATA ,File Image does not EXIST or not being added...!!!','WARNING I/O EXCEPTION'); return end %--warndialog--------if isequal(pesantekslsb,[])
warndlg('Failed to SAVE DATA ,File Image does not EXIST or not being added...!!!','WARNING I/O EXCEPTION'); return fclose(teks); end %--warndialog---------
Gambar 3.77. Pesan Peringatan Kesalahan Ekstraksi.
4. PENUTUP 4.1. Kesimpulan Citra dengan ukuran 640 x 480 pixel dapat menampung pesan sebanyak 38400 karakter dengan asumsi metode LSB hanya menggunakan satu komponen warna. Perubahan warna yang dialami citra tidak terlihat jelas, sangat berguna dalam menjaga kerahasiaan data sehingga tidak banyak orang yang menyadarinya.
4.2. SARAN Penyisipan masih menggunakan 1 komponen warna jika proses penyisipan pesan menggunakan 3 komponen warna (R, G, B) akan menambah daya tampung pesan sebanyak 3 kali lipat. Semakin banyak pesan rahasia yang digunakan mengakibatkan lamanya proses penyisipan dan ekstraksi. Jika menggunakan format lain, maka pesan yang tersembunyi akan hancur. Jika citra stego menggunakan format selain bitmap, maka metode steganosistem yang digunakan harus bebas dari karakteristik kompresi. Metode yang digunakan sederhana namun jika terjadi kompresi pada citra stegano maka pesan rahasia akan hancur, metode MSB (Most Significant Bit) dapat digunakan sehingga pixel-pixel yang mengalami kompresi hanya pixel dengan bit yang kurang berarti namun pesan yang disisipkan pada bit yang sangat berarti / MSB tersebut tidak hilang