Bab III PERANCANGAN SISTEM STEGANOGRAFI
3.1. Kebutuhan sistem Steganografi
Dalam pembuatan sistem steganografi dibutuhkan beberapa perangkat lunak (software) dan perangkat keras (hardware). Berikut spesifikasi perangkat yang dibutuhkan pada pembuatan sistem steganografi ini :
3.1.1 Perangkat lunak (software) Sistem steganografi ini dirancang dan diimplementasikan pada perangkat lunak sebagai berikut : a. Sistem operasi Windows 7 Ultimate b. Programming tool : MATLAB R2010a c. Microsoft office excel untuk mengolah data-data yang diperoleh dari steganografi ini. d. Paint untuk membuat gambar pesan.
3.1.2 Perangkat keras (hardware) Berikut spesifikasi perangkat keras (hardware) yang digunakan dalam pembuatan sistem steganografi : a. Sistem model : Acer Aspire 4736Z b. Processor : Intel Pentium(R) Dual-Core T4200 @ 2.00 GHz c. Memory : 1.00 GB DDR3 (RAM) 25
26
d. VGA Card : Intel® GMA 4500 MHD
3.2 Sistem Steganografi
Pada sistem ini memili dua sistem utama yaitu sistem penyisipan pesan dan sistem pengambilan pesan.
Gambar 3.1 Proses steganografi
3.2.1 Proses Penyisipan pesan Pada proses penyisipan pesan dilakukan dalam beberapa tahap. a) Pembacaan pesan yang berupa image Pada pembacaan pesan ini dilakukan dengan mengambil gambar pesan yang nantinya akan disisipkan pada cover image. Pada bagian ini dapat diketahui besarnya lebar dan tinggi dari piksel pesan tersebut. Pesan yang digunakan berupa monochrome bitmp yang memiliki single bit pada setiap pikselnya. b) Pembacaan cover yang berupa image Pada bagian ini dilakukan proses pengambilan gambar yang akan dijadikan sebagai media penampung dari pesan yang akan disembunyikan. Image cover ini harus memiliki ukuran piksel yang lebih besar dari pesan
27
itu sendiri supaya semua pesan yang terkandung dapat disisipkan dalam image cover sehingga tidak ada pesan yang tidak terbawa. Image cover yang digunakan berupa file gambar yang dapat berformat bitmap, JPEG, PNG, dan sebagainya yang memiliki 8bit setiap pikselnya. c) Proses penyisipan pesan pada image cover Pada proses penyisipan pesan ini memiliki dua buah jenis yaitu menyebar dan tidak menyebar. 1. Menyebar Untuk jenis menyebar, setiap bit pada pesan akan disisipkan pada bit-bit image cover dengan cara diberikan jarak antar bit. 2. Tidak menyebar Untuk jenis tidak menyebar, setiap bit pesan akan disisipkan pada bit-bit image cover secara berurutan dari kiri atas. Proses penyisipan pesan :
Proses ini membutuhkan dua input yaitu nilai piksel pada citra cover yang akan dirubah menjadi biner 8 bit dan bit pesan yang akan disisipkan.
Metode peletakan penyisipan pesan bisa secara menyebar atau tidak menyebar.
Kemudian proses penyisipan yang menggunakan metode LSB dimana setiap bit pesan akan disisipkan pada bit terakhir setiap piksel pada image cover. Proses ini dilakukan dengan cara membaca bit pada image cover kemudian membandingkan bit terakhir pada image cover dengan bit pesan, apabila pesan
28
memiliki bit 1 sedangkan pada bit terakhir image cover memiliki bit 0, maka bit 0 tersebut akan diganti oleh bit 1 dan sebaliknya atau apabila pesan memiliki bit 1 sedangkan bit terakhir pada image cover memiliki bit yang sama yaitu bit 1, maka bit terakhir pada image cover akan tetap memiliki bit yang sama yaitu bit 1 dan sebaliknya.
Begitu seterusnya proses berulang hingga seluruh bit pesan berhasil disisipkan kedalam citra cover.
Kemudian akan dihasilkan stego image atau image cover yang telah disisipi oleh pesan atau informasi. Stego image ini disimpan dan yang nantinya akan dikirimkan kepada tujuan atau penerima pesan untuk diambil pesannya.
3.2.2 Proses Pengambilan pesan Pada proses pengambilan pesan pada stego image dilakukan dengan beberapa tahapan : a) Pengambilan stego image Pada tahap ini, stego image yang didapatkan diambil untuk dilakukan ekstraksi atau pengambilan pesan pada stego image. Pada bagian ini pun dapat diketahui seberapa besar piksel yang terdapat pada stego image. b) Pemilihan jenis dari penyisipan pesan
29
Pada tahap ini dilakukan pemilihan jenis dari proses penyisipan pesan supaya pada saat pengambilan pesan, sistem dapat bekerja sesuai dengan saat proses penyisipan pesan. Pada jenis penyisipan pesan ini terdiri dari dua jenis, yaitu menyebar dan tidak menyebar. c) Proses pengambilan pesan
Proses ini hampir sama dengan proses penyisipan dimana stego image dirubah terlebih dahulu kedalam 8 bit untuk setiap pikselnya
Kemudian dari kedelapan bit tersebut diambil bit yang terakhir untuk setiap pikselnya. Hal ini dikarenakan metode yang digunakan dalam proses steganografi adalah teknik LSB.
Begitu seterusnya sampai pesan dapat diambil semua
Dari bit-bit LSB tersebut kemudian disusun dan dijadikan suatu pesan yang berupa gambar dan ditampilkan untuk dilihat pesannya tersebut.
Dari semua proses penyisipan dan proses pengambilan pesan dapat diketahui berapa lamanya sistem tersebut bekerja untuk melakukan penyisipan dan pengambilan pesan.
3.3 Perancangan sistem
Perancangan sistem ini dibagi dalam beberapa tahap yaitu, perancangan penyisipan pesan, perancangan steganografi dengan metode LSB, dan perancangan pengambilan pesan.
30
3.3.1 Perancangan steganografi dengan metode LSB Sesuai dengan namanya, pada metode LSB bit-bit pesan akan disisipkan pada bagian LSB atau bit terakhir pada setiap piksel dimana bit ini memiliki bilai yang sangat kecil yaitu 20 yang tidak akan merubah terlalu besar untuk image covernya tersebut sehingga image cover yang terlihat memiliki perbedaan yang sangat kecil sekali atau cukup sulit untuk diketahui perbedaanya. Berikut flow proses LSB pada steganografi :
start
8 bit image cover(x1)
Bit pesan (n)
Bit LSB (x1) ganti dengan n
ya
Apakah LSB(x1)=n?
tidak Bit 0
Berapa nilai bit LSB(x1)?
h = x1+1 Bit LSB (x1) ganti dengan n
Bit 1
h = x1-1 Bit LSB (x1) ganti dengan n
Stego image
selesai
Gambar 3.2 Proses LSB
31
Proses diagram alir metode LSB adalah sebagai berikut :
Piksel image cover dijadikan biner 8 bit.
Tentukan apakah nilai bit ke-8 (bit LSB) sama dengan bit pesan. Jika sama maka piksel citra stego sama dengan citra cover, jika tidak maka terdapat dua perubahan nilai.
Jika bit LSB nilai nya 0 diganti 1 maka nilai piksel bertambah satu pada citra stego.
Jika bit LSB nilai nya 1 diganti 0 maka nilai piksel berkurang satu pada citra stego.
3.3.2 Perancangan penyisipan pesan Pada proses perancangan penyisipan pesan memiliki dua jenis yaitu proses menyebar dan proses tidak menyebar, yang keduanya memiliki teknik tersendiri. Pada proses penyisipan terdapat input data berupa citra pesan dan citra cover yang akan diolah oleh sistem. steganografi merupakan sistem untuk menyimpan suatu pesan, maka pada citra cover disisipi oleh sebuah pesan.
32
Berikut flow proses penyisipan pesan : start
Baca image pesan, Ukuran axb
Baca image cover, Ukuran dxe
Apakah d>a dan e>b?
tidak
ya rowspace = floor(d/a); coloumspace = floor(e/ b); row = 1; coloum = 1;
Menyebar
Mode penyisipan?
Tidak menyebar
i=1: a i=1: a
j=1: b
i=1: b
n = message(i,j) x1 = cover(row,coloum,1)
n = pesan(i,j) x1 = cover(i,j,1)
Stego =Metode LSB(x1,n)
Stego =Metode LSB(x1,n)
cover(Row,coloum,1)=stego coloum = coloum + coloumspace row = row + rowspace
cover(i,j,1) = stego
Stego image
selesai
Gambar 3.3 Proses Penyisipan pesan
33
Beberapa langkah pada skema di atas adalah : 1. Image pesan serta image cover dibaca terlebih dahulu untuk ukuran masing-masing piksel baik lebar maupun tingginya. 2. Kemudian dicek terlebih dahulu apakah image cover lebih besar atau lebih kecil ukuran pikselnya dibandingkan ukuran piksel dari pesan yang akan disisipkan. Apabila image cover memiliki piksel lebih kecil daripada image pesan, maka harus dicari kembali untuk image cover lainnya yang memiliki ukuran piksel lebih besar dibandingkan pesan. Hal ini dikarenakan supaya seluruh piksel pesan dapat dimuat oleh image cover. 3. Sistem steganografi ini memiliki dua buah jenis proses penyisipan, yaitu proses steganografi menyebar dan proses steganografi tidak menyebar. 4. Apabila memilih proses steganografi menyebar, maka sistem akan memproses terlebih dahulu berapa besarnya jarak antar bit penyisipan. Proses ini dilakukan dengan membagi banyaknya piksel pesan terhadap banyaknya piksel cover. Kemudian setelah proses penentuan jarak antar bit pesan, proses steganografi dilanjutkan kedalam proses LSB. 5. Apabila memilih proses steganografi tidak menyebar, maka sistem akan langsung kedalam proses LSB, namun halnya dalam penyisipan pesan pada cover, letak setiap bit akan berurutan untuk setiap piksel yang dimulai dari kiri atas ke kanan. 6. Dan begitu seterusnya sampai bit pesan selesai disisipkan pada cover. 7. Proses penyisipannya dengan mengambil n sebagai bit pesan(i,j) dan x1 sebagai cover(i,j). I dan j adalah posisi piksel dari citra yang akan diproses.
34
I akan di ulang sebanyak a(tinggi citra pesan), sedangkan j akan diulang sebanyak b (lebar citra pesan).
3.3.3 Perancangan pengambilan pesan Pada perancangan pengambilan atau ekstraksi pesan ini,proses yang terjadi hampir sama dengan proses penyisipan pesan dimana stego image dirubah kedalam biner 8 bit dan diambil bit LSB nya kemudian direkonstruksi untuk mendapatkan pesan yang terdapat pada gambar stego image tersebut. Proses pengambilan pesan terjadi beberapa langkah berikut : 1. Mengambil stego image yang akan diekstraksi untuk mengambil pesan yang terdapat pada gambar tersebut. 2. Pemilihan jenis penyisipan pesan yaitu menyebar dan tidak menyebar dimaksudkan supaya pada saat proses pengambilan pesan akan sinkron atau sesuai dengan proses penyisipan pesan. 3. Apabila dipilih tidak menyebar ,maka sistem akan langsung kedalam proses LSB yakni mengambil bit terakhir (LSB) pada setiap piksel distegoimage sampai mendapatkan keseluruhan pesan. 4. Apabila dipilih menyebar,maka akan dilakukan proses penentuan jarak antar bit pesan, kemudian proses steganografi dilanjutkan kedalam proses LSB untuk mengambil bit LSB nya tersebut. 5. Stego image tersebut dirubah kedalam biner 8 bit terlebih dahulu. 6. Yang akhirnya akan didapatkan pesan yang disisipkan pada image stego tersebut.
35
Berikut flow proses pengambilan pesan : start
Baca stego image, Ukuran a x b
Ukuran pesan n x m
spacerow = floor(a/n); spacecoloum = floor(b/ m); row = 1; coloum = 1;
Menyebar
Mode ekstraksi?
tidak menyebar
i=1: n
i=1: n
j=1: m
j=1: m
x1 = stegopicture(row,coloum,1)
x1 = stegopicture(i,j,1)
Message(i,j,1)=Ambil bit LSB
Message(i,j,1)=Ambil bit LSB
Cover = stego(i,j,1)
coloum = coloum + Spacecoloum row = row + spacerow
Image pesan
selesai
Gambar 3.4 Proses pengambilan pesan
36
3.4 Perancangan pada Mathlab
Tahap selanjutnya dalam proses perancangan sistem steganografi ini adalah pengimplementasian hasil perancangan pada software Mathlab R2010a. Pada tahap ini dilakukan perancangan dengan menggunakan GUI (Graphical User Interfaces) pada MATLAB R2010a untuk keseluruhan proses baik proses penyisipan pesan maupun proses pengambilan pesan. GUI bertujuan untuk memudahkan pengguna untuk melakukan proses simulasi ataupun implementasi sistem sehingga visualisasi sistem dapat terlihat lebih teratur. 3.4.1 Proses penyisipan pesan Berikut tampilan untuk proses penyisipan pesan menggunakan GUI pada mathlab :
Gambar 3.5 Tampilan GUI untuk proses penyisipan pesan
37
Pada proses penyisipan pesan terdiri dari 3 bagian 1. Hidden Message Pada bagian ini digunakan untuk mengambil pesan yang akan disisipkan pada image cover. Tombol yang terdapat pada bagian hidden message ini hanyalah tombol browse message yang digunakan untuk mengambil pesan dari folder PC. Pada bagian hidden message ini pula dapat diketahui besarnya ukuran piksel dari pesan yang akan dikirimkan yaitu pada bagian image size. Bagian image size ini terdiri atas height untuk menampilkan ukuran tinggi dari pesan dan width untuk menampilkan ukuran lebar dari pesan. 2. Image cover Pada bagian image cover ini memiliki bagian yang sama dengan pada bagian hidden message, yaitu terdapatnya tombol browse image cover untuk mengambil gambar yang akan digunakan sebagai cover dari folder PC. Pada bagian ini pun dapat diketahui besarnya image cover yang digunakan yang akan ditampilkan pada bagian image size yang terdiri dari ukuran tinggi dan lebar dari piksel gambar tersebut. 3. Stego process Pada bagian stego proses terdiri dari beberapa tombol yang digunakan untuk memproses penyisipan pesan pada image cover.
Type of stegano digunakan untuk memilih jenis steganografi yaitu menyebar dan tidak menyebar.
38
Tombol proceed digunakan untuk melakukan proses steganografi yang nantinya akan ditampilkan pada tempat yang sudah tersedia (axes 3).
Tombol save digunakan untuk menyimpan gambar hasil proses steganogradi ke folder PC.
Tombol next digunakan untuk memanggil program ekstraksi atau pengambilan pesan.
Tombol exit digunakan untuk keluar dari program penyisipan pesan ini.
Selain beberapa tombol, pada proses steganografi ini dapat diketahui berapa lamanya prosessteganografi yang ditampilkan pada bagian stego time.
39
3.4.2 proses pengambilan pesan Berikut tampilan GUI pada proses pengambilan pesan :
Gambar 3.6 Tampilan GUI untuk proses pengambilan pesan Pada bagian proses pengambilan pesan ini terdapat tiga bagian juga. 1. Stego image Pada bagian ini ditujukan untuk mengambil stego image pada folder PC dengan menekan tombol browse stego image dan disini pun dapat diketahui besarnya ukuran lebar dan tinggi untuk stego image tersebut.
40
2. Ambil pesan Pada bagian ini dilakukan proses pengambilan pesan dengan menekan tombol ekstraksi yang sebelumnya memilih jenis steganografi pada bagian type of stego. 3. Hidden Message Pada bagian ini ditampilkan hasil dari proses pengambilan pesan yaitu pesan akan ditampilkan pada tempat yang sudah tersedia (axes 2) dan dapat diketahui juga lamanya proses pengambilan pesan pada bagian time. Untuk beberapa tombol yang terdapat pada bagian ini memiliki fungsi sebagai berikut :
Save untuk menyimpan pesan hasil ekstraksi pada folder PC.
Close untuk keluar dari program pengambilan pesan ini.