UNIVERSITAS GUNADARMA
Universitas Gunadarma
2008
ABSTRAK
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).
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.
Bit-bit Gambar
Asli
1 bit
1 pixel
Metode
Sisipan
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
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.
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 kontras, penajaman, pemampatan, rotasi,
pembesaran gambar, pemotongan (cropping), enkripsi, 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.
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.
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
1. Current Directory.
Jendela Utama.
Berikut adalah penjelasan fungsi-fungsi ikon-ikon pada toolbar:
a. New , untuk membuka lembar kerja Matlab Editor baru.
c. Cut , untuk menghapus suatu teks yang diketikan agar dapat disalin
kembali.
Contoh kasus 2 :
Data String pesan rahasia : B
Gambar Asli : Chili.jpg
Gambar steganografi : Stego_Chili.bmp
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.
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
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
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
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
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
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
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
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.
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
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
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
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
Contoh kasus 16 :
Data String pesan rahasia : P
Gambar Asli : Chili.jpg
Gambar steganografi : Stego_Chili.bmp
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.
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
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.
Contoh kasus 20 :
Data String pesan rahasia : T
Gambar Asli : Chili.jpg
Gambar steganografi : Stego_Chili.bmp
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.
Contoh kasus 22 :
Data String pesan rahasia : V
Gambar Asli : Chili.jpg
Gambar steganografi : Stego_Chili.bmp
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.
Contoh kasus 24 :
Data String pesan rahasia : X
Gambar Asli : Chili.jpg
Gambar steganografi : Stego_Chili.bmp
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.
Contoh kasus 26 :
Data String pesan rahasia : Z
Gambar Asli : Chili.jpg
Gambar steganografi : Stego_Chili.bmp
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.
Tombol
Listbox 1
Listbox 1
Listbox 1
Listbox 1
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);
Membuat menu dan sub menu. Klik New Menu untuk membuat
menu dangan nama tag File, Edit dan Help. Berikut
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)])
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.
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.
%--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---------
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