• Tidak ada hasil yang ditemukan

Analisis Ketahanan Citra Stego Metode LSB+1 dan MLSB Terhadap Perubahan Kontras Citra

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Ketahanan Citra Stego Metode LSB+1 dan MLSB Terhadap Perubahan Kontras Citra"

Copied!
91
0
0

Teks penuh

(1)

DAFTAR PUSTAKA

Basuki, Achmad. 2005. Pengolahan Citra Digital Menggunakan Visual Basic. Graha Ilmu. Yogyakarta.

Binanto, Iwan. 2010. Multimedia Digital Dasar Teori + Pengembangan. Yogyakarta. Penerbit ANDI.

Fahmi. 2007. Studi dan Implementasi Watermarking Citra Digital Dengan

Menggunakan Fungsi Hash. Bandung: Program Studi Teknik Informatika,

Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung.

Jajoo, P., Sharma, S., Bhadu, A. & Sharma, V., 2011. Hiding Information by using

Image Steganography, 2011 3rd International Conference on Machine

Learning and Computing (ICMLC 2011).

Krisnawati.2008. Metode Least Significant Bit (LSB) dan End Of File (EOF) untuk

Menyisipkan Teks ke Dalam Citra Grayscale. Seminar Nasional Informatika

2008 (semnasIF 2008) UPN “Veteran” Yogyakarta, 24 Mei 2008.

Laskar, S.A. 2013. Steganography Based On Random Pixel Selection For Efficient

Data Hiding. International Journal Of Computer Engineering and Technology

(IJCET) 4(2):31-44.

Munir, R. 2006. Kriptografi. Bandung. Penerbit : Informatika.

Nath, Joyshree, Sankar Das, Shalabh Agarwal & Asoke Nath. 2011. A Challenge in

Hiding Encrypted Message in LSB dan LSB+1 Bit Position in Various Cover Style. Journal of Global Research in Computer Science. ISSN: 2229-371X

Vol. 2 No. 4 April 2011.

Putra, D. 2010. Pengolahan Citra Digital. Yogyakarta. Penerbit: ANDI.

Rana, M.S, Sangwan, B.S. & Jangir, J.S. 2012. Art of Hiding: An Introduction to

Steganography. International Journal Of Engineering And Computer Science.Volume 1 Issue 1 Oct 2012 Page No. 11-22.

Saefullah, A., Himawan & Agani, N. 2012. Aplikasi Steganografi Untuk

Menyembunyikan Teks dalam Media Image dengan Dengan Menggunakan Metode LSB. Seminar Nasional Teknologi Informasi & Komunikasi Terapan

(2)

Sugiono, etal. 2008. Watermarking Pada File Audio PCM WAVE Dengan Metode

Echo Data Hiding. Konferensi Nasional Sistem dan Informatika 2008; Bali,

Nopember 15, 2008.

Sutoyo, T., Mulyanto. E., Suhartono, V., Nurhayati, O.D. & Wijanarto. 2009. Teori

Pengolahan Citra Digital. Penerbit ANDI. Yogyakarta.

(3)

Bab I BAB 3

Bab IIANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Analisis sistem adalah merupakan proses untuk memperoleh pemahaman yang terhadap kebutuhan sistem sehingga diperoleh gambaran kerja yang akan dilakukan sistem. Hal ini akan membantu pemodelan rancang bangun sistem yang nantinya akan diimplementasikan dalam bentuk nyata.

3.1.1 Analisis Masalah

Pada penelitian ini dilakukan penyisipian pesan berupa teks ke dalam file citra penampung (cover image) berformat BMP dan JPG dengan teknik steganografi. Pesan disisipkan dengan menggunakan algoritma Least Significant Bit +1 (LSB+1) dan algoritma Modified Least Significant Bit (MLSB). Setelah pesan teks disisipkan, maka dilakukan perubahan kontras terhadap stego image hasil penyisipan dengan nilai kontras yang bervariasi. Setelah dilakukan perubahan kontras, maka dilakukan ekstraksi pesan teks dari dalam stego image untuk menghitung ketahanan masing-masing algoritma terhadap perubahan kontras.

Salah satu cara untuk mengidentifikasi permasalah dengan penggunaan diagram Ishikawa (fishbone diagram). Diagram Ishikawa adalah sebuah alat grafis yang digunakan untuk mengidentifikasi, mengeksplorasi dan menggambarkan suatu masalah serta sebab dan akibat dari masalah tersebut. Diagram ini juga sering disebut sebagai diagram sebab-akibat atau diagram tulang ikan. Identifikasi terhadap permasalahan akan membantu analisis persyaratan sistem yang nantinya akan dikembangkan.

(4)

Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem

Pada diagram Ishikawa diatas masalah utama ditunjukkan oleh segi empat paling kanan (kepala ikan), sedangkan kategori ditunjukkan oleh segi empat yang dihubungkan oleh sebuah garis ke tulang utama (garis horizontal yang terhubung ke kepala ikan). Selanjutnya sebab akibat yang muncul ditunjukkan oleh tulang-tulang kecil yang diwakili oleh garis panah yang mengarah ke tulang-tulang kategori masalah.

3.1.2 Analisis Persyaratan (Requirement Analysis)

Analisis persyaratan sebuah sistem dikelompokkan ke dalam dua bagian besar yaitu, analisis persyaratan fungsional dan analisis persyaratan non-fungsional.

3.1.2.1Analisis Persyaratan Fungsional

Persyaratan fungsional adalah segala sesuatu yang harus dimiliki oleh sistem. Persyaratan fungsional sistem yang akan dirancang antara lain sebagai berikut:

1. Sistem harus menyediakan sumberdaya untuk melakukan penyisipan dan ekstraksi dengan menerapkan algoritma LSB+1 dan MLSB, dimana untuk keamanannya ekstraksi digunakan kunci.

Pemilik File

Data teks

Informasi pada file teks mudah dimanipulasi

(5)

2. Pada penerapan steganografi sistem harus menyediakan sumberdaya untuk menerapkan algoritma LSB dan MLSB.

3.1.2.2Analisis Persyaratan Non-Fungsional

Persyaratan non-fungsional adalah persyaratan apa yang harus dilakukan sistem. Seringkali berupa batasan atau sesuatu yang menjadi perhatian stakeholder sebuah sistem. Persyaratan non-fungsional yang harus dipenuhi oleh sistem yang dirancang adalah sebagai berikut adalah pembuatan tabel hasil pengujian untuk merepresentasikan hasil proses penyisipan serta esktraksi dari masing-masing algoritma.

3.1.2.3Pemodelan Persyaratan Sistem dengan Use Case

Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan fungsionalitasnya. Perancangan fungsionalitas perangkat lunak perbandingan steganografi teks ke dalam file audio yang nantinya akan dikembangkan dimodelkan dengan diagram use case. Aktor yang nantinya akan berinteraksi dengan sistem adalah pengguna. Pengguna dikategori sebagai dua entitas yang saling bertukar informasi yaitu, pengirim dan penerima.

Sesuai dengan analisis kebutuhan sistem, beberapa hal yang nantinya harus dilakukan sistem adalah:

1. Melakukan penyisipan teks ke dalam file citra dengan algoritma LSB+1 dan MLSB.

2. Melakukan ekstraksi teks dari dalam file citra tersisip.

3. Membandingkan teks hasil ekstraksi terhadap ke dua algoritma diatas.

Berdasarkan informasi kebutuhan sistem dan aktor yang berperan, diagram use

(6)

Gambar 3.2 Use Case Diagram Sistem yang Akan dikembangkan

Pada diagram tersebut tampak bahwa seorang User (pengguna) hanya bekerja dengan mengakses use case perangkat lunak steganografi. Pengguna tidak perlu mengetahui secara persis proses apa saja yang terjadi pada setiap tahap. Dengan demikian untuk memutuskan proses apa yang nantinya dilakukan pada setiap tahap menjadi tanggung jawab sistem.

Berikut ini merupakan dokumentasi naratif untuk use case Proses Penyisipan. Tabel 3.1 Dokumentasi Naratif Use Case Penyisipan

Nama use case Analisis Ketahanan Citra Stego Metode LSB+1 Dan MLSB Terhadap Perubahan Kontras Citra

Aktor User

Deskripsi

Use case yang mendeskripsikan fungsi pengamanan file teks

dengan penyisipan ke dalam file citra.

Pre-condition File citra ber format JPG dan BMP.

Typical course of Aksi aktor Respon sistem

Analisis Ketahanan Citra Stego Metode LSB+1 Dan MLSB Terhadap Perubahan Kontras Citra

Perangkat lunak Steganografi

Penyisipan

Esktraksi <<uses>>

<<uses>>

(7)

event Langkah 1: User memilih Menu File dari menu utama.

Langkah 3: User memilih salah satu algoritma penyisipan.

Langkah 5: User memilih proses Penyisipan.

Langkah 6: User memasukkan file citra dengan memilih tombol File Citra.

Langkah 8: User memasukkan file teks dengan memilih tombol File Teks.

Langkah 10: User memilih tombol Sisip untuk melakukan penyisipan.

Langkah 2: Sistem menampilkan algoritma LSB+1 dan MLSB.

Langkah 4: Sistem merespon dengan menampilkan salah satu form LSB+1 dan MLSB.

Aksi aktor Respon sistem

- -

(8)

Activity diagram untuk use case kontrol proses Penyisipan terlihat sebagai

berikut.

User Sistem

Gambar 3.3 Activity Diagram Kontrol Proses Penyisipan

Pada dokumentasi naratif use case dan activity diagram terlihat bahwa kontrol proses dilakukan dengan menjaga tahapan penyisipan berlangsung sesuai dengan mekanisme yang seharusnya dan kemudian sistem memutuskan apa saja yang harus

Memilih Menu File

Memilih sub Menu LSB+1 & MLSB

Memasukkan File Citra

Lengkap? Tampilkan kesalahan Tidak

Memilih tombol Sisip Ya

Penyisipan teks dan perubahan kontras

Menyimpan Stego Image Dan menghitung MSE

Mengkonfirmasi keberhasilan proses Tampilkan Form

(9)

dilakukan oleh sistem pada setiap tahapan dengan memanggil modul program yang sesuai untuk memproses pesan. Berikut ini merupakan dokumentasi naratif untuk use

case Proses Ekstraksi.

Tabel 3.2 Dokumentasi Naratif Use Case Ekstraksi

Nama use case Analisis Ketahanan Citra Stego Metode LSB+1 Dan MLSB Terhadap Perubahan Kontras Citra

Aktor User

Deskripsi Use case yang mendeskripsikan fungsi ekstraksi teks penyisip dengan mengeluarkan teks dari file stego image.

Pre-condition Citra yang di-ekstraksi ber format JPG dan BMP.

Typical course of event

Aksi aktor Respon sistem

Langkah 1: User memilih Menu File dari menu utama.

Langkah 3: User memilih salah satu form algoritma ekstraksi.

Langkah 5: User memilih proses Ekstraksi.

Langkah 6: User memasukkan file

stego image dengan memilih

tombol File Citra.

Langkah 8: User memilih tombol Ekstraksi untuk melakukan ekstraksi. menampilkan salah satu program.

Langkah 7: Sistem menampilkan nama-nama file stego image.

(10)

Alternate course

Aksi aktor Respon sistem

- -

Post condition File teks telah diekstraksi dari file stego image

Activity diagram untuk use case Proses Ekstraksi terlihat sebagai berikut.

User sistem

Gambar 3.4 Activity Diagram Kontrol Proses Ekstraksi Memilih tombol Ekstraksi

Menampilkan pesan kesalahan

Menampilkan teks dan menghitung jumlah teks

Mengkonfirmasi keberhasilan proses Memilih Menu File

Memilih tombol File Citra

User memilih file stego image

Lengkap ?

Menampilkan file stego image

Tidak

Ya

(11)

Pada dokumentasi naratif use case dan activity diagram terlihat bahwa kontrol proses dilakukan dengan menjaga tahapan ekstraksi berlangsung sesuai dengan mekanisme yang seharusnya dan kemudian sistem memutuskan apa saja yang harus dilakukan oleh sistem pada setiap tahapan dengan memanggil modul program yang sesuai untuk memproses pesan.

3.1.3 Analisis Proses Sistem

Analisis Ketahanan Citra Stego Metode LSB+1 Dan MLSB Terhadap Perubahan Kontras Citra terdiri proses penyisipan dan ekstraksi dapat digambarkan dalam penelitian sebagai Sequence Diagram. Sequence Diagram proses Penyisipan dapat dilihat seperti pada Gambar 3.5.

Gambar 3.5 Sequence Diagram Proses Penyisipan :Penyisipan

Browse File Citra

File Citra

:Baca citra

Nilai Piksel

:Insertion

Insert file teks

Nilai piksel

Biner teks

:Hitung MSE

Nilai MSE

:Bit LSB

Bit LSB

Stego & cover

(12)

Sistem ekstraksi memerlukan file stego image yang akan diproses untuk mengeluarkan file teks yang tersisip. Tahap awal dilakukan pembacaan bit-bit LSB pada file stego image yang terdiri dari nilai 0 dan 1.

Sequence Diagram proses Ekstraksi dapat dilihat seperti pada Gambar 3.6.

Gambar 3.6 Sequence Diagram Proses Ekstraksi

Sistem ekstraksi memerlukan file stego image untuk mendapatkan file teks penyisip. Tahap awal dilakukan pembacaan file stego image untuk mendapatkan nilai LSB berupa nilai 0 atau 1 dan selanjutnya 8 bit penyisip yang peroleh dalam bentuk biner dikonversikan ke ASCII.

Langkah-langkah proses Analisis Ketahanan Citra Stego Metode LSB+1 dan MLSB Terhadap Perubahan Kontras Citra adalah sebagai berikut:

a. Membaca nilai piksel citra.

b. Menghitung nilai Red Green Blue (RGB) citra. :Ekstraksi

Browse File Stego Image

File Stego Image

Pinai piksel :Baca citra

Teks Pesan

:Read bit LSB

Bit LSB

(13)

c. Melakukan penyisipan teks ke dalam citra dengan masing-masing algoritma diatas.

d. Melakukan proses perubahan kontras terhadap citra hasil penyisipan (stego

image).

e. Melakukan ekstraksi atas stego image. f. Menghitung MSE dan Errro data recovery.

g. Melakukan perbandingan ketahanan atas ke dua algoritma.

3.1.4 Menghitung Nilai RGB Citra

Pada citra warna 24-bit (true color) nilai RGB langsung diuraikan dalam data bitmap berbentuk biner. Untuk membaca nilai RGB-nya, dilakukan dengan membaca data

bitmap yang panjangnya 3 byte, masing-masing byte menyatakan komponen R, G, dan B. Setiap byte data merepresentasikan 8 bit jadi pada citra warna ada 3 byte x 8 bit =

24 bit kandungan warna. Citra warna 24 bit dapat dilihat seperti pada Gambar 3.7.

Gambar 3.7 Citra Warna

Pada citra warna Gambar 3.7 di atas, tiap pixel-nya mengandung 24-bit kandungan warna atau 8-bit untuk masing-masing warna dasar (R, G, dan B), dengan selang nilai warna antara 0 (00000000) sampai 255 (11111111) untuk tiap warna. Sebagai contoh data bitmap citra warna di atas adalah seperti pada Gambar 3.8.

<Header> <data bitmap>

1111000010110100111101111 10000110101101001001101

101101101011010011110001 100100001011111011111000 100101001111011111110001 100100001001010010000001

Piksel 1 Piksel 2

(14)

Gambar 3.8 Contoh Nilai Piksel Citra Warna

Pada contoh citra Gambar 3.8 di atas, data pertama adalah header yang berisi informasi nama file, jenis format dan dimensi citra. Di bawah data bitmap terdapat

pixel pertama mempunyai nilai 111100001011010011110111.

Untuk mendapatkan nilai red, green dan blue (RGB), maka setiap nilai pixel pada citra Gambar 3.2 dihitung dengan rumus sebagai berikut:

Nilai R = c Mod 256 ………... (3.1)

Nilai G = (c and 65280) / 256……….……. (3.2)

Nilai B = (c and 16711680) / 65280 ….……….……... (3.3) Dimana c adalah nilai piksel citra.

Pada Gambar 3.2 di atas, nilai piksel (0,0) adalah 111100001011010011110111. Nilai RGB dihitung dengan persamaan 3.1, 3.2 dan 3.3 sebagai berikut:

Nilai komponen R dengan persamaan (3.2):

Nilai R = 111100001011010011110111 mod 100000000 = 11110111 = 247 Nilai komponen G dihitung dengan persamaan (3.3):

Nilai G = (111100001011010011110111 and 1111111100000000)/ 100000000 = 1011 0100 = 180 (desimal)

Nilai komponen B dihitung dengan persamaan (3.4): Nilai B= (111100001011010011110111 and

111111110000000000000000) / 10000000000000000 = 1111 0000 = 240 (desimal)

Sehingga diperoleh nilai piksel (0,0) 11110000 11110000 11111111: R = 11110001 = 247 (desimal)

G = 10110100 = 180 (desimal) B = 10010000 = 240 (desimal)

(15)

Tabel 3.3 Matriks Nilai RGB Citra Warna

R G B R G B R G B R G B R G B 247,180,240 230,185,245 252,170,233 241,180,228 240,180,220 240,170,220 232,180,240 248,165,225 240,180,230 238,185,198 200,180,200 220,180,200 202,150,200 240,200,200 200,190,200 240,190,200 210,180,200 200,100,130 200,170,200 200,150,200 200,140,154 200,170,245 192,100,100 200,200,200 210,120,120

3.1.5 Algoritma Least Significant Bit +1 (LSB +1)

Pada algoritma LSB+1 dilakukan penyisipan citra asli menjadi stego image, perubahan kontras dan ekstraksi teks dari stego image hasil peningkatan kontras.

3.1.5.1Penyisipan

Pada proses penyisipan dengan algoritma LSB+1 dilakukan dengan menggantikan bit-bit penyisip ke bit-bit nomor 2 terakhir dari byte-byte cover citra yang disebut dengan metode Least Significant Bit +1 (LSB +1). Proses penyisipan dilakukan secara acak, misalnya jika terdapat 25 byte dan 1 byte data berupa huruf kapital S (8 bit= 01010011) yang akan disembunyikan, maka byte yang diganti bit LSB +1-nya dipilih secara acak, misalkan byte nomor 1, 5, 21, 10, 18, 11, 23 dan 8. Jenis warna yang akan disisipi telah ditetapkan yaitu warna blue dan bilangan acak dibangkitkan dengan algoritma Pseudo-Random-Number-Generator (PRNG). Selanjutnya nomor acak tersebut disimpan dalam format teks (.txt) untuk digunakan pada saat ekstraksi.

Tabel 3.4 Matriks Citra yang akan disisipi

(16)

Dari tabel 3.2 diatas nilai blue yang akan disisipi adalah: No 1 = 240 dengan biner 11110000

No 5 = 220 dengan biner 11011100 No 21 = 154 dengan biner 10011010 No 10 = 198 dengan biner 11000110 No 18 = 130 dengan biner 10000010 No 11 = 200 dengan biner 11001000 No 23 = 100 dengan biner 01100100 No 8 = 225 dengan biner 11100001

Penyisip adalah huruf S dengan nilai biner 01010011.

No 1 = 240 dengan biner 11110000 disisip dengan 0 menjadi 11110000 = 240 No 5 = 220 dengan biner 11011100 disisip dengan 1 menjadi 11011110 = 222 No 21 = 154 dengan biner 10011010 disisip dengan 0 menjadi 10011000 = 152 No 10 = 198 dengan biner 11000110 disisip dengan 1 menjadi 11000110 = 198 No 18 = 130 dengan biner 10000010 disisip dengan 0 menjadi 10000000 = 128 No 11 = 200 dengan biner 11001000 disisip dengan 0 menjadi 11001000 = 200 No 23 = 100 dengan biner 01100100 disisip dengan 1 menjadi 01100110 = 102 No 8 = 225 dengan biner 11100001 disisip dengan 1 menjadi 11100011 = 227

Hasil penyisipan algoritma LSB+1 dapat dilihat seperti pada Tabel 3.5.

Tabel 3.5 Matriks Citra hasil Penyisipan (stego image)

R G B R G B R G B R G B R G B 247,180,240 230,185,245 252,170,233 241,180,228 240,180,222 240,170,220 232,180,240 248,165,227 240,180,230 238,185,198 200,180,200 220,180,200 202,150,200 240,200,200 200,190,200 240,190,200 210,180,200 200,100,128 200,170,200 200,150,200 200,140,152 200,170,245 192,100,102 200,200,200 210,120,120

3.1.5.2Perubahan kontras

(17)

dibangkitkan dengan algoritma Pseudo-Random-Number-Generator (PRNG). Rumus untuk peningkatan nilai kontras stego image seperti persamaan 3.4.

fo (x,y) =G(f1(x,y)-P)+P ……… (3.4) dimana:

G = koefisien penguat kontras (diberi nilai 2)

P = nilai grayscale yang dipakai sebagai pusat pengkontrasan (diberi nilai 50).

fo (x,y) = nilai intensitas piksel citra hasil kontras

f1(x,y) = nilai intensitas piksel citra asli.

Pada matriks stego image pada Tabel 3.5, terdiri dari 5 x 5 piksel, berarti ada 25 piksel yang akan disisipi. Selanjutnya bangkitkan nilai secara acak sebanyak 8 angka antara 1 sampai 25 dan misalkan diperoleh angka acak 4, 9, 22, 17, 5, 16, 25 dan 1. Jadi piksel yang akan dirubah kontrasnya adalah piksel nomor 4, 9, 22, 17, 5, 16, 25 dan 1.

Tabel 3.6 Matriks Citra Stego Image yang Diubah Kontras R G B R G B R G B R G B R G B 247,180,240 230,185,245 252,170,233 241,180,228 240,180,222 240,170,220 232,180,240 248,165,227 240,180,230 238,185,198 200,180,200 220,180,200 202,150,200 240,200,200 200,190,200 240,190,200 210,180,200 200,100,128 200,170,200 200,150,200 200,140,152 200,170,245 192,100,102 200,200,200 210,120,120

Dari persamaan 3.4 cari nilai piksel nomor 1 yaitu RGB=247, 180, 240 Dimana nilai konstanta G= 0.5, P=50.

Nilai R piksel nomor 1:

fo (1) =G(f1(1)-P)+P = 0.5 (247-50) +50 = 149

Nilai G:

fo (1) =G(f1(1)-P)+P = 0.5 (180-50) +50 = 115

Nilai B:

(18)

= 0.5 (240-50) +50 = 145

Nilai RGB piksel nomor 1 =149, 115, 145 Nilai R piksel nomor 4:

Nilai RGB piksel nomor 4 = 146,115,139 Nilai R piksel nomor 5:

Nilai RGB piksel nomor 5 =146,115,136 Nilai R piksel nomor 9:

(19)

Nilai G:

fo (9) =G(f1(9)-P)+P = 0.5 (180-50) +50 = 115

Nilai B:

fo (9) =G(f1(9)-P)+P = 0.5 (230-50) +50 = 140

Nilai RGB piksel nomor 9 = 146, 115, 140 Nilai R piksel nomor 16:

fo (16) =G(f1(16)-P)+P = 0.5 (240-50) +50 = 146

Nilai G:

fo (16) =G(f1(16)-P)+P = 0.5 (190-50) +50 = 120

Nilai B:

fo (16) =G(f1(16)-P)+P = 0.5 (200-50) +50 = 125

Nilai RGB piksel nomor 16 = 146,120,125 Nilai R piksel nomor 17:

fo (17) =G(f1(17)-P)+P = 0.5 (210-50) +50 = 130

Nilai G:

(20)

Nilai B:

fo (17) =G(f1(17)-P)+P = 0.5 (200-50) +50 = 125

Nilai RGB piksel nomor 17 = 130,115,125 Nilai R piksel nomor 22:

fo (22) =G(f1(22)-P)+P = 0.5 (220-50) +50 = 115

Nilai G:

fo (22) =G(f1(22)-P)+P = 0.5 (170-50) +50 = 110

Nilai B:

fo (22) =G(f1(22)-P)+P = 0.5 (245-50) +50 = 148

Nilai RGB piksel nomor 22 =115,110,148 Nilai R piksel nomor 25:

fo (25) =G(f1(25)-P)+P = 0.5 (210-50) +50 = 130

Nilai G:

fo (25) =G(f1(25)-P)+P = 0.5 (120-50) +50 = 85

Nilai B:

fo (25 =G(f1(25)-P)+P = 0.5 (120-50) +50 = 85

(21)

Dari hasil perubahan kontras diatas maka diperoleh matriks citra kontras seperti pada tabel 3.7.

Tabel 3.7 Matriks Citra stego image Hasil Perubahan Kontras R G B R G B R G B R G B R G B 149,115,145 230,185,245 252,170,233 146,115,139 146,115,136 240,170,220 232,180,240 248,165,227 146,115,140 238,185,198 200,180,200 220,180,200 202,150,200 240,200,200 200,190,200 146,120,125 130,115,125 200,100,128 200,170,200 200,150,200 200,140,152 115,110,148 192,100,102 200,200,200 130,85,85

3.1.5.3Ekstraksi

Ekstraksi teks dari file stego image dan sudah dirubah nilai kontrasnya dengan menggunakan algoritma LSB+1 adalah dengan membaca bit nomor 7 dari setiap byte piksel citra stego image hasil kontras sesuai dengan kunci nomor acak yaitu 1, 5, 21, 10, 18, 11, 23 dan 8.

Dari tabel 3.4 diatas nilai piksel-piksel:

Nomor 1 yaitu: 149,115,145 dengan nilai blue 145 dan biner 1001 0001, maka data penyisip pada bit nomor 7 yaitu 0.

Nomor 5 yaitu: 146,115,136 dengan nilai blue 136 dan biner 1000 1000, maka data penyisip pada bit nomor 7 yaitu 0.

Nomor 21 yaitu: 115,110,148 dengan nilai blue 148 dan biner 1001 0100, maka data penyisip pada bit nomor 7 yaitu 0.

Nomor 10 yaitu: 238,185,198 dengan nilai blue 198 dan biner 1100 0110, maka data penyisip pada bit nomor 7 yaitu 1.

Nomor 18 yaitu: 200,100,128 dengan nilai blue 128 dan biner 1000 0000, maka data penyisip pada bit nomor 7 yaitu 0.

Nomor 11 yaitu 200,180,200 dengan nilai blue 200 dan biner 1100 1000, maka data penyisip pada bit nomor 7 yaitu 0.

Nomor 23 yaitu 192,100,102 dengan nilai blue 102 dan biner 0110 0110, maka data penyisip pada bit nomor 7 yaitu 1.

(22)

Hasil ekstraksi 8 bit diatas adalah 00010011 dengan nilai ASCII = 19. Dari Data penyisip berupa huruf kapital S dengan 8 bit 01010011 dapat dihitung Error data

recovery

S = 00010011 19 = 01010011 --- 01000000

Error data recovery adalah 1/8 * 100 = 12.5 %

3.1.6 Algoritma Modified Least Significant Bit (MLSB)

Pada algoritma MLSB dilakukan penyisipan citra asli menjadi stego image, perubahan kontras dan ekstraksi teks dari stego image hasil peningkatan kontras.

3.1.6.1Penyisipan

Penyisipan dilakukan dengan proses-proses:

11. Proses mengubah data penyisip berupa huruf kapital S dengan nilai biner 00010011. Pada algoritma MLSB pesan di atas diubah menjadi ASCII (hex) menjadi: 53h. Kemudian dilakukan normalisasi dengan tabel Control Symbol seperti Tabel 3.8.

Tabel 3.8 Control Symbol

Hex Representation Operation

1 Bh Define Small Letter

1 Ch Define Capital Letter

1 Dh Define Space

1 Eh Define Number

1 Fh Define end of text

12. Baca data penyisip (ASCII) sampai tanda spasi (20h) yaitu 53.

13. Semua nilai dikurangi dengan nilai puluhan terendah dari {53}, yaitu 40 menjadi 53-40= 13.

14. Data penyisip kelompok pertama adalah 1ch, 13h dimana 1ch adalah Control

(23)

Sehingga pesan menjadi: 1ch, 13h, 1fh.

Pesan diatas membutuhkan 3 x 5 bit = 15 bit dan diubah menjadi biner menjadi 11100, 10011, 11111 sebanyak 15 bit. Pesan biner disisipkan ke dalam sebuah file citra asli (cover image) seperti pada Tabel 3.9.

Tabel 3.9 Nilai Piksel Citra Asli

R G B R G B R G B R G B R G B 247,180,240 230,185,245 252,170,233 241,180,228 240,180,220 240,170,220 232,180,240 248,165,225 240,180,230 238,185,198 200,180,200 220,180,200 202,150,200 240,200,200 200,190,200 240,190,200 210,180,200 200,100,130 200,170,200 200,150,200 200,140,154 200,170,245 192,100,100 200,200,200 210,120,120

Biner penyisip sebanyak 15 bit yaitu 11100, 10011, 11111 yang akan disembunyikan, maka byte yang diganti bit dipilih secara acak, misalkan byte nomor 1, 5, 21, 10, 18, 11, 23 dan 8. Jenis warna yang akan disisipi telah ditetapkan yaitu warna blue dan bilangan acak dibangkitkan dengan algoritma Pseudo-Random-Number-Generator (PRNG). Selanjutnya nomor acak tersebut disimpan dalam format teks (.txt) untuk digunakan pada saat ekstraksi.

Tabel 3.10 Matriks Citra yang akan disisipi

R G B R G B R G B R G B R G B 247,180,240 230,185,245 252,170,233 241,180,228 240,180,220 240,170,220 232,180,240 248,165,225 240,180,230 238,185,198 200,180,200 220,180,200 202,150,200 240,200,200 200,190,200 240,190,200 210,180,200 200,100,130 200,170,200 200,150,200 200,140,154 200,170,245 192,100,100 200,200,200 210,120,120

Dari tabel 3.8 diatas nilai blue yang akan disisipi adalah: No 1 = 240 dengan biner 11110000

(24)

No 10 = 198 dengan biner 11000110 No 18 = 130 dengan biner 10000010 No 11 = 200 dengan biner 11001000 No 23 = 100 dengan biner 01100100 No 8 = 225 dengan biner 11100001

Penyisip adalah huruf S dengan nilai biner 01010011.

No 1 = 240 dengan biner 11110000 disisip dengan 0 menjadi 11110000 = 240 No 5 = 220 dengan biner 11011100 disisip dengan 1 menjadi 11011101 = 221 No 21 = 154 dengan biner 10011010 disisip dengan 0 menjadi 10011010 = 154 No 10 = 198 dengan biner 11000110 disisip dengan 1 menjadi 11000111 = 199 No 18 = 130 dengan biner 10000010 disisip dengan 0 menjadi 10000010 = 130 No 11 = 200 dengan biner 11001000 disisip dengan 0 menjadi 11001000 = 200 No 23 = 100 dengan biner 01100100 disisip dengan 1 menjadi 01100101 = 101 No 8 = 225 dengan biner 11100001 disisip dengan 1 menjadi 11100001 = 225

Hasil penyisipan algoritma MLSB dapat dilihat seperti pada Tabel 3.11. Tabel 3.11 Matriks Citra hasil Penyisipan (stego image) R G B R G B R G B R G B R G B 247,180,240 230,185,245 252,170,233 241,180,228 240,180,221 240,170,220 232,180,240 248,165,225 240,180,230 238,185,199 200,180,200 220,180,200 202,150,200 240,200,200 200,190,200 240,190,200 210,180,200 200,100,130 200,170,200 200,150,200 200,140,154 200,170,245 192,100,101 200,200,200 210,120,120

3.1.6.2Perubahan kontras

Untuk melakukan perubahan kontras citra yaitu dengan menambah atau mengurangi nilai intensitas piksel pada nilai warna R, G atau B pada piksel secara acak yang dibangkitkan dengan algoritma Pseudo-Random-Number-Generator (PRNG). Rumus untuk peningkatan nilai kontras stego image seperti persamaan 3.4.

(25)

angka antara 1 sampai 25 dan misalkan diperoleh angka acak 4, 9, 22, 17, 5, 16, 25 dan 1. Jadi piksel yang akan dirubah kontrasnya adalah piksel nomor 4, 9, 22, 17, 5, 16, 25 dan 1 seperti pada Tabel 3.12.

Tabel 3.12 Matriks Citra Stego Image yang Diubah Kontras R G B R G B R G B R G B R G B 247,180,240 230,185,245 252,170,233 241,180,228 240,180,221 240,170,220 232,180,240 248,165,225 240,180,230 238,185,199 200,180,200 220,180,200 202,150,200 240,200,200 200,190,200 240,190,200 210,180,200 200,100,128 200,170,200 200,150,200 200,140,152 200,170,245 192,100,101 200,200,200 210,120,120

Dari persamaan 3.1 cari nilai piksel nomor 1 yaitu RGB=247, 180, 240 Dimana nilai konstanta G= 0.5, P=50.

Nilai R piksel nomor 1:

fo (1) =G(f1(1)-P)+P = 0.5 (247-50) +50 = 149

Nilai G:

fo (1) =G(f1(1)-P)+P = 0.5 (180-50) +50 = 115

Nilai B:

fo (1) =G(f1(1)-P)+P = 0.5 (240-50) +50 = 145

Nilai RGB piksel nomor 1 =149, 115, 145 Nilai R piksel nomor 4: 241,180,228

(26)

Nilai G:

Nilai RGB piksel nomor 4 = 146,115,139 Nilai R piksel nomor 5: 240,180,221

fo (5) =G(f1(5)-P)+P

Nilai RGB piksel nomor 5 =146,115,136 Nilai R piksel nomor 9: 240,180,230

(27)

= 140

Nilai RGB piksel nomor 9 = 146, 115, 140 Nilai R piksel nomor 16: 240,190,200

fo (16) =G(f1(16)-P)+P

Nilai RGB piksel nomor 16 = 146,120,125 Nilai R piksel nomor 17: 210,180,200

fo (17) =G(f1(17)-P)+P

Nilai RGB piksel nomor 17 = 130,115,125 Nilai R piksel nomor 22: 210,180,200

(28)

Nilai G:

fo (22) =G(f1(22)-P)+P = 0.5 (180-50) +50 = 115

Nilai B:

fo (22) =G(f1(22)-P)+P = 0.5 (200-50) +50 = 125

Nilai RGB piksel nomor 22 =130,115,125 Nilai R piksel nomor 25: 210,120,120

fo (25) =G(f1(25)-P)+P = 0.5 (210-50) +50 = 130

Nilai G:

fo (25) =G(f1(25)-P)+P = 0.5 (120-50) +50 = 85

Nilai B:

fo (25 =G(f1(25)-P)+P = 0.5 (120-50) +50 = 85

Nilai RGB piksel nomor 25 = 130,85,85

Dari hasil perubahan kontras diatas maka diperoleh matriks citra kontras seperti pada tabel 3.13.

(29)

3.1.6.3Ekstraksi

Ekstraksi teks dari file stego image dan sudah dirubah nilai kontrasnya dengan menggunakan algoritma LSB adalah dengan membaca bit nomor 8 dari setiap byte piksel citra stego image hasil kontras sesuai dengan kunci nomor acak yaitu 1, 5, 21, 10, 18, 11, 23 dan 8.

Dari tabel 3.11 diatas nilai piksel-piksel:

Nomor 1 yaitu: 149,115,145 dengan nilai blue 145 dan biner 1001 0001, maka data penyisip pada bit nomor 8 yaitu 1.

Nomor 5 yaitu: 146,115,136 dengan nilai blue 136 dan biner 1000 1000, maka data penyisip pada bit nomor 8 yaitu 0.

Nomor 21 yaitu: 200,140,152 dengan nilai blue 152 dan biner 1001 1000, maka data penyisip pada bit nomor 8 yaitu 0.

Nomor 10 yaitu: 238,185,199 dengan nilai blue 199 dan biner 1100 0111, maka data penyisip pada bit nomor 8 yaitu 1.

Nomor 18 yaitu: 200,100,128 dengan nilai blue 128 dan biner 1000 0000, maka data penyisip pada bit nomor 8 yaitu 0.

Nomor 11 yaitu 200,180,200 dengan nilai blue 200 dan biner 1100 1000, maka data penyisip pada bit nomor 8 yaitu 0.

Nomor 23 yaitu 192,100,101 dengan nilai blue 101 dan biner 110 0101, maka data penyisip pada bit nomor 8 yaitu 1.

Nomor 8 yaitu 248,165,225 dengan nilai blue 225 dan biner 1110 0001, maka data penyisip pada bit nomor 8 yaitu 1.

Hasil ekstraksi 8 bit diatas adalah 10010011 dengan nilai ASCII = 147. Dari Data penyisip berupa huruf kapital S dengan 8 bit 01010011 dapat dihitung Errro data

recovery

S = 01010011 147 = 10010011 --- 11000000

(30)

3.1.7 Flow Chart Penyisipan Algoritma LSB +1

Adapun flow chart proses penyisipan teks algoritma LSB +1 ke dalam citra digital dapat dilihat seperti pada Gambar 3.9 berikut.

Gambar 3.9 Flow Chart Penyisipan Algoritma LSB +1 Ya

Hitung Nilai Biner Piksel Cover Image

Sisip bit-bit pesan pada bit LSB ke 2 cover pada

piksel sesuai bilangan acak Start

Input Cover Image, Teks

Masih Ada Bit Pesan ?

Stop Tidak

Tampilkan Stego Image Hitung Nilai Biner Pesan

Bangkitkan Bilangan Acak

Simpan Bilangan Acak

(31)

Keterangan gambar:

1. Pada cover image dilakukan perhitungan jumlah piksel dan nilai biner cover

image.

2. Pada embed dilakukan perhitungan nilai biner.

3. Dari password dan jumlah piksel dilakukan pembangkitan bilangan acak.

4. Selanjutnya dilakukan pembangkitan bilangan acak sebanyak jumlah piksel cover

image.

5. Lakukan pergantian bit LSB cover image dengan bit embed pada posisi piksel sesuai dengan bilangan acak.

6. Simpan bilangan acak dalam format teks.

3.1.8 Flow Chart Ekstraksi Algoritma LSB +1

Flow chart Ekstraksi LSB +1 adalah proses pendeteksian data teks (embed) dengan

algoritma LSB dapat dilihat seperti pada Gambar 3.10 berikut.

Gambar 3.10 Flow Chart Ekstraksi Algoritma LSB +1 Start

Stego Image

Baca piksel pada posisi bilangan acak Baca bilangan acak

Hitung Nilai Biner Piksel F(i,j) Hitung Jumlah Piksel Stego Image

(32)

Gambar 3.11 Flow Chart Ekstraksi Algoritma LSB +1

Keterangan gambar:

Pada proses ekstraksi dilakukan penghitungan nilai piksel dalam nilai warna RGB dan dikonversikan ke nilai biner. Selanjutnya dilakukan pembangkitan bilangan acak sesuai dengan password dan jumlah byte stego image yang dimasukkan. Untuk mengetahui posisi piksel letak bit penyisip, baca bit LSB piksel pada posisi bilangan acak.

3.1.9 Flowchart Penyisipan Algoritma MLSB

Flowchart Penyisipan Algoritma MLSB adalah bagan yang menggambarkan

proses-proses yang terjadi pada penyisipan file citra dengan algoritma MLSB yang dapat dilihat seperti pada Gambar 3.12.

Ya

Masih Ada Piksel Acak?

Stop Tidak

Tampilkan Teks

Konversi 8 bit  ASCII  Embed Ambil bit LSB +1 F(i,j)  bit embed

(33)

Gambar 3.12 Flowchart Penyisipan Algoritma MLSB Start

Input File citra dan Teks

Modifikasi Pesan dan Gabung dengan Control Symbol Jumlah bit sampel citra i

Jumlah bit pesan j

Konversi Pesan  ASCII(hex) i > j

N

Y

Y N

Konversi  5 Biner

Ganti Bit LSB Byte Sampel Citra(i) dengan bit pesan sesuai bil acak

Pesan (j)=null

Stop Stego Image

(34)

Keterangan :

1. File citra dan pesan diinput dan dibaca.

2. Pesan dan ukurannya diubah ke dalam bentuk ASCII (hexadecimal).

3. Pesan dimodifikasi sesuai dengan ketentuan - ketentuan algoritma MLSB dan digabung dengan control symbol-nya.

4. Setelah pesan dimodifikasi maka pesan diubah ke dalam bentuk biner. 5. Bangkitkan bilangan acak sebanyak jumlah bit pesan.

6. Penyisipan dilakukan pada byte sesuai dengan bilangan acak dengan menggunakan teknik algoritma LSB.

7. Jika bit-bit pesan belum habis maka diulangi langkah 5 sampai semua bit-bit

pesan habis disisipkan (j= “null”).

8. Ubah nilai kontras citra stego

9. File citra yang telah disisipi pesan disimpan dengan mengikut sertakan informasi file citra.

3.1.10 Flowchart Ekstraksi Algoritma MLSB

Flowchart Ekstraksi Algoritma MLSB adalah bagan yang menggambarkan

proses-proses yang terjadi pada ekstraksi embed dari stego image dengan algoritma MLSB dapat dilihat seperti pada Gambar 3.13.

Gambar 3.13 Flowchart Ekstraksi Algoritma MLSB Start

Stego Image

Jumlah Piksel

Konversikan Piksel  Biner

(35)

Gambar 3.14 Flowchart Ekstraksi Algoritma MLSB (Lanjutan) Blok n  ASCII

Ambil bit LSB Piksel sesuai bilangan acak  i

i = 5 N

Y

N

Konversi Blok (n) ASCII

Control Symbol =1Fh Blok(n)= Control Symbol ?

Stop Teks Penyisip

IF Control Symbol 1Bh = Blok(n)+60 IF Control Symbol 1Ch = Blok(n)+40 IF Control Symbol 1Eh = Blok(n)+30

IF Control Symbol 1Dh = SPC

Y

Gabung Blok(n)  Pesan Baca piksel pada posisi bilangan acak

Baca bilangan acak

A

(36)

Keterangan :

1. Input file citra stego image

2. Setiap byte piksel diubah kedalam bentuk biner.

3. Pisahkan 2 bit terakhir dari setiap piksel kemudian dikelompokkan menjadi 5 bit per blok.

4. Konversikan setiap blok ke dalam ASCII (hexadecimal).

5. Blok pertama dibandingkan dengan Control Symbol untuk mendefenisikan jenis karakter berikutnya.

- Jika Control Symbol 1Bh maka setiap blok berikutnya yang bukan Control

Symbol ditambah +60

- Jika Control Symbol 1Ch maka setiap blok berikutnya yang bukan Control

Symbol ditambah +40.

- Jika Control Symbol 1Eh maka setiap blok berikutnya yang bukan Control

Symbol ditambah +30

- Jika Control Symbol 1Dh maka menyatakan spasi

6. Langkah ke 3 sampai ke 5 diulangi sampai ditemukannya Control Symbol end of

the text (1Fh).

7. Rekonstruksikan setiap blok data sebagai teks penyisip.

3.2 Perancangan Antarmuka

Dalam membangun aplikasi Analisis Ketahanan Citra Stego Metode LSB+1 dan MLSB terhadap perubahan kontras citra perlu adanya perancangan antar muka yang berfungsi sebagai perantara sistem dengan pengguna (user interface). Dalam perancangan interface diharapkan dapat tercipta kemudahan bagi pengguna (user

friendly) dalam mengoperasikan sistem ini. Rancangan tampilan yang akan bangun

adalah:

1. Merancang Menu Utama yang berfungsi sebagai tempat untuk menampilkan Judul Tugas Akhir, gambar latar serta sub menu aplikasi.

2. Merancang Menu File yang terdiri dari program LSB+1 dan MLSB. 3. Merancang tampilan About, yang terdiri dari :

a. Tampilan judul tugas akhir

b. Tampilan profil penulis serta foto.

(37)

d. Tombol berfungsi sebagai tombol untuk keluar.

4. Merancang tampilan Close, yang berfungsi sebagai tombol untuk menutup tampilan Menu Utama.

3.2.1 Rancangan Menu Utama

Rancangan Menu Utama merupakan tampilan yang berfungsi untuk menampilkan menu-menu aplikasi. Pada rancangan ini terdapat judul aplikasi, gambar latar serta sub menu antara lain Penyisipan, About serta Close. Rancangan Menu Utama terlihat seperti pada Gambar 3.15.

Gambar 3.15 Rancangan Menu Utama

Keterangan :

Pada halaman menu utama yang terdapat gambar latar dan terdapat tampilan sub menu pilihan aplikasi yang dapat diakses terdiri dari menu Penyisipan, About serta tombol

Close, yang berfungsi sebagai berikut:

1. Sub Menu Penyisipan berfungsi untuk menampilkan program untuk melakukan proses penyisipan dengan algoritma LSB+1 dan MLSB.

2. Menu About berfungsi untuk menampilkan halaman keterangan. 3. Menu Close berfungsi untuk keluar dari halaman menu utama.

About Close Penyisipan

(38)

3.2.2 Rancangan Form Algoritma LSB+1

Rancangan Form Algoritma LSB+1 berfungsi untuk melakukan penyisipan dengan algoritma LSB+1. Rancangan Form Algoritma LSB+1 dapat dilihat seperti pada Gambar 3.16.

Gambar 3.16 Rancangan Form Algoritma LSB+1 Keterangan:

1. Option : berfungsi untuk menampilkan pilihan proses penyisipan atau ekstraksi.

2. Button : berfungsi untuk melakukan memanggil file citra asli. 3. Button : berfungsi untuk melakukan memanggil file teks. 4. Button : berfungsi untuk melakukan proses penyisipan.

Size (byte) 0 Penyisipan 0 Ekstraksi

8 Jumlah Biner huruf

(39)

5. Button : berfungsi untuk melakukan proses ekstraksi. 6. Button : berfungsi untuk membersihkan form.

7. Button : berfungsi untuk menutup tampilan form. 8. Picture Box : berfungsi untuk menampilkan citra asli.

9. Picture Box : berfungsi untuk menampilkan citra hasil proses penyisipan. 10. TextBox : berfungsi untuk menampilkan data kunci.

11. TextBox : berfungsi untuk menampilkan isi teks.

12. TextBox : berfungsi untuk menampilkan biner teks.

13. TextBox : berfungsi untuk menampilkan jumlah huruf teks.

14. TextBox : berfungsi untuk menampilkan jumlah biner huruf teks.

15. TextBox : berfungsi untuk menampilkan lama proses.

16. TextBox : berfungsi untuk menampilkan dimensi citra.

17. TextBox : berfungsi untuk menampilkan MSE.

18. TextBox : berfungsi untuk menampilkan nama file citra asli.

19. TextBox : berfungsi untuk menampilkan size citra asli.

20. TextBox : berfungsi untuk menampilkan nama file stego image.

21. TextBox : berfungsi untuk menampilkan ukuran file stego image.

22. TextBox : berfungsi untuk menampilkan nama file teks.

23. TextBox : berfungsi untuk menampilkan nama file kunci.

3.2.3 Rancangan Form Algoritma MLSB

(40)

Gambar 3.17 Rancangan Form Algoritma MLSB

Keterangan:

1. Picture Box : berfungsi untuk menampilkan citra asli. 2. TextBox : berfungsi untuk menampilkan isi teks. 3. TextBox : berfungsi untuk menampilkan hexa teks. 4. TextBox : berfungsi untuk menampilkan control symbol

5. Picture Box : berfungsi untuk menampilkan citra hasil proses penyisipan. 6. TextBox : berfungsi untuk menampilkan kunci random.

7. Option : berfungsi untuk menampilkan pilihan proses penyisipan atau ekstraksi.

8. TextBox : berfungsi untuk menampilkan nama file citra asli. Size (byte)

(41)

9. TextBox : berfungsi untuk menampilkan size citra asli. 10. TextBox : berfungsi untuk menampilkan lebar citra asli. 11. TextBox : berfungsi untuk menampilkan tinggi citra asli. 12. TextBox : berfungsi untuk menampilkan dimensi citra asli. 13. TextBox : berfungsi untuk menampilkan byte citra asli. 14. TextBox : berfungsi untuk menampilkan nama file teks. 15. TextBox : berfungsi untuk menampilkan size file teks. 16. TextBox : berfungsi untuk menampilkan jumlah huruf teks. 17. TextBox : berfungsi untuk menampilkan jumlah biner teks. 18. TextBox : berfungsi untuk menampilkan nama file stego image. 19. TextBox : berfungsi untuk menampilkan ukuran file stego image. 20. TextBox : berfungsi untuk menampilkan MSE.

21. TextBox : berfungsi untuk menampilkan lama proses.

22. Button : berfungsi untuk melakukan memanggil file citra asli. 23. Button : berfungsi untuk melakukan memanggil file teks.

24. Button : berfungsi untuk melakukan proses penyisipan dan ekstraksi. 25. Button : berfungsi untuk membersihkan form.

26. Button : berfungsi untuk menutup tampilan form.

3.2.4 Rancangan About

(42)

Gambar 3.18 Rancangan About Keterangan:

Tampilan foto penulis bersifat tambahan saja (optional) karena foto penulis bisa diganti dengan foto rancangan perangkat keras sistem.

3.2.5 Rancangan Pengujian

Pengujian sistem adalah pengumpulan data hasil penyisipan, perubahan kontras citra hasil penyisipan dan ekstraksi

3.2.5.1Pengujian Erorr Data Recovery

Pengujian Erorr data recovery Citra berfungsi untuk melakukan pengujian dengan menghitung nilai error antara data penyisip teks dengan data teks hasil ekstraksi yang dapat dilihat pada Tabel 3.14.

ANALISIS KETAHANAN CITRA STEGO METODE LSB+1 DAN MLSB TERHADAP PERUBAHAN KONTRAS CITRA

Nama Penulis NIM

Foto Penulis Logo

(43)

Tabel 3.14 Rancangan Hasil Pengujian Algoritma LSB+1 dan MLSB No File Citra

Cover

Size File Teks Penyisip

Jumlah Huruf Tersisip

Jumlah Huruf Ekstraksi

Error data recovery(%)

(44)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1Implementasi

Implementasi perangkat lunak Analisis Ketahanan Citra Stego Metode LSB+1 Dan MLSB Terhadap Perubahan Kontras Citra adalah tampilan hasil rancangan dari penulisan kode program dimulai dari program Menu Utama, File yang terdiri dari program LSB+1 dan Modified Least Significant Bit (MLSB), About serta Close.

4.1.1 Tampilan Menu Utama

Tampilan Menu Utama berisi gambar latar serta tampilan menu. Tampilan Menu terdiri dari menu Steganografi File, About serta Close. Tampilan Menu Utama dapat dilihat pada Gambar 4.1.

(45)

4.1.2 Tampilan Form LSB+1

Tampilan Form Algoritma LSB+1 berfungsi untuk melakukan penyisipan dan ekstraksi dengan algoritma LSB+1. Tampilan Form Algoritma LSB+1 dapat dilihat seperti pada Gambar 4.2.

Gambar 4.2 Tampilan Form LSB+1

Pada Gambar 4.2 diatas terlihat file citra oil-painting.jpg disisipi dengan file teks Pesan2.txt teks dengan jumlah huruf sebanyak 73 karakter menjadi file StegoLSB15.jpg dengan nilai MSE 0.055.

4.1.3 Tampilan Ekstraksi LSB+1

(46)

Gambar 4.3 Tampilan Ekstraksi LSB+1

Pada Gambar 4.3 diatas terlihat file stego image StegoLSB15.jpg dengan ukuran 3658589 bytes diekstraksi menghasilkan teks dengan jumlah huruf sebanyak 36 karakter.

4.1.4 Tampilan Form MLSB

(47)

Gambar 4.4 Tampilan Form MLSB

Pada Gambar 4.4 diatas terlihat file citra oil-painting.jpg disisipi dengan file teks Pesan2.txt menjadi file StegoMLSB89.jpg dengan nilai MSE 0.036.

4.1.5 Tampilan Ekstraksi MLSB

Tampilan Ekstraksi Modified Least Significant Bit (MLSB) merupakan tampilan berguna untuk melakukan proses ekstraksi pesan dari file stego image dengan algoritma Modified Least Significant Bit. Tampilan Ekstraksi Modified Least

(48)

Gambar 4.5 Tampilan Ekstraksi Modified Least Significant Bit (MLSB)

Pada Gambar 4.5 diatas terlihat file stego image StegoMLSB89.jpg dengan ukuran 252112 bytes diekstraksi menghasilkan teks dengan jumlah karakter 82 karakter.

4.1.6 Tampilan About

(49)

Gambar 4.6 Tampilan About

4.2Pengujian Sistem

Pengujian sistem adalah pengumpulan data hasil perbandingan steganografi file citra dengan algoritma Least Significant Bit +1 (LSB+1) dengan Modified Least Significant

Bit (MLSB) serta menampilkan nilai Error Data Recovery. Pengujian Erorr data recovery Citra berfungsi untuk melakukan pengujian dengan menghitung nilai error

antara data penyisip teks dengan data teks hasil ekstraksi.

4.2.1 Pengujian dengan algoritma LSB+1

(50)

Tabel 4.1 Hasil Pengujian Algoritma LSB+1 informasinya sudah berubah dari aslinya dan inilah yang menyebabkan kegagalan pada nilai error data recovery.

4.2.2 Pengujian dengan algoritma MLSB

Pengujian dengan algoritma MLSB berfungsi untuk menampilkan hasil penyisipan teks ke dalam citra dengan algoritma MLSB yang dapat dilihat pada Tabel 4.2.

(51)

6 Citra-6.bmp 1.260 Teks-6 350 355 (ASCII) 75 7 Citra-7.Bmp 1.070 Teks-7 400 401 (ASCII) 85 8 Citra-8. Bmp 1.160 Teks-8 450 453 (ASCII) 65 9 Citra-9. Bmp 63.7 Teks-9 500 501 (ASCII) 53 10 Citra-10.bmp 83.2 Teks-10 550 603 (ASCII) 54

Rata-rata Error data recovery 65.3

(52)

BAB 5

KESIMPULAN DAN SARAN

5.1Kesimpulan

Setelah merancang dan mengaplikasikan perangkat lunak perangkat lunak Analisis Ketahanan Citra Stego Metode Least Significant Bit +1 (LSB+1) Dan Modified Least

Significant Bit (MLSB) Terhadap Perubahan Kontras Citra, maka diperoleh hasil

pengujian adalah sebagai berikut:

a. Aplikasi dapat melakukan penyisipan teks ke dalam file citra berformat jpg dan bmp dengan jumlah karakter yang bervariasi.

b. Algoritma MLSB bekerja lebih baik dibandingkan dengan LSB+1, karena nilai

Error Data Recovery hasil ekstraksi yang diperoleh algoritma MLSB sebesar

65.3 % lebih besar dibandingkan LSB+1.

c. Algoritma LSB+1 tidak tahan terhadap perubahan nilai kontras citra hasil penyisipan (stego image) dibandingkan algoritma MLSB.

5.2Saran

Adapun saran-saran yang untuk penelitian maupun pengembangan berikutnya adalah: 1. Membandingkan parameter steganografi dengan metode lainnya antara lain

DWT maupun FFT.

(53)

BAB 2

LANDASAN TEORI

2.1Steganografi

Steganografi adalah seni dan ilmu menulis pesan tersembunyi atau menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak menyembunyikan bahwa ada suatu pesan. pesan steganografi muncul dengan bentuk lain seperti gambar, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini merupakan tulisan yang menyelubungi atau menutupi.

Kata steganografi pada awalnya berasal dari kata steganos, steganos sendiri sebenarnya merupakan kata dari bahasa Yunani. Lebih lengkapnya steganos memiliki arti penyamaran atau penyembunyian dan graphein atau graptos memiliki arti tulisan. Pengertian steganografi yang cukup sering digunakan dalam pembelajaran dengan metodologi sejarah adalah “menulis tulisan yang tersembunyi atau terselubung” (Prihanto, 2010).

Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya, kebanyakan pesan disembunyikan dengan membuat perubahan tipis terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada kriptografi) dan pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang digunakan.

(54)

Seiring perkembangan teknologi terutama teknologi komputasi juga bertambahnya kebutuhan dan keinginan dengan kontinuitas yang tinggi, steganografi merambah juga ke media digital. Ada dua proses utama dalam steganografi digital yaitu penyisipan (embedding/encoding) dan penguraian (extraction/decoding) pesan. Pesan dapat berupa plaintext, chipertext, citra, atau apapun yang dapat ditempelkan ke dalam bit-stream. Embedding merupakan proses menyisipkan pesan ke dalam berkas yang belum dimodifikasi, yang disebut media cover (cover object). Kemudian media

cover dan pesan yang ditempelkan membuat media stego (stego object). Extraction

adalah proses menguraikan pesan yang tersembunyi dalam media stego. Suatu

password khusus (stego key) juga dapat digunakan secara tersembunyi, pada saat

penguraian selanjutnya dari pesan. Ringkasnya, steganografi adalah teknik menanamkan embedded message pada suatu cover object, dimana hasilnya berupa

stego object.

Adapun proses steganografi selengkapnya ditunjukkan pada Gambar 2.1.

Gambar 2.1 Proses Steganografi (Suryani, 2008)

Pihak yang terkait dengan steganografi antara lain embeddor, extractor, dan

stegoanalyst (Suryani, 2008). Embeddor adalah orang yang melakukan embedding

dengan menggunakan aplikasi steganografi, extractor adalah orang yang melakukan

extract stego image dengan menggunakan aplikasi steganografi. Sedangkan stegoanalyst adalah orang yang melakukan steganalisis. Steganalisis merupakan ilmu

(55)

Gambar 2.2 Taksonomi Steganografi (Suryani, 2008)

1. Teknik Steganografi (Technical Steganography)

Teknik ini menggunakan metode sains untuk menyembunyikan pesan. Contohnya adalah penyembunyian pesan dalam chip mikro.

2. Linguistk Steganografi (Linguistic Steganography)

Teknik ini menyembunyikan pesan dalam cara yang tidak lazim. Teknik ini terbagi menjadi dua bagian yaitu Semagrams dan Open Codes.

3. Open Codes

Teknik ini menyembunyikan pesan cara yang tidak umum namun tetap tidak mencurigakan. Teknik ini terbagi menjadi dua bagian yaitu Jargon Code dan

Covered Ciphers.

4. Covered Ciphers

Teknik ini menyembunyikan pesan dalam media pembawa sehingga pesan kemudian dapat diekstrak dari media pembawa tersebut oleh pihak yang mengetahui bagaimana pesan tersembunyi tersebut disembunyikan.

Penilaian sebuah algoritma steganografi yang baik dapat dinilai dari beberapa faktor yaitu:

1. Imperceptibility

Keberadaan pesan dalam media penampung tidak dapat dideteksi. Steganografi

Teknik

Steganografi

Linguistik

Steganografi

Open Codes

Jargon Codes Coverd Ciphers

Semagrams

Virtual Semagrams

(56)

2. Fidelity

Mutu media penampung setelah ditambahkan pesan rahasia tidak jauh berbeda dengan mutu media penampung sebelum ditambahkan pesan.

3. Recovery

Pesan rahasia yang telah disisipkan dalam media penampung harus dapat diungkap kembali. Hal ini merupakan syarat mutlak dalam sebuah algoritma steganografi, karena ada banyak cara penyisipan pesan yang tidak terdeteksi namun sulit dalam pembacaan kembali.

4. Robustness

Pesan yang disembunyikan harus tahan terhadap berbagai operasi manipulasi yang dilakukan pada media penampung. Bila pada media penampung dilakukan operasi-operasi manipulasi, maka pesan yang disembunyikan seharusnya tidak rusak (tetap valid jika diekstraksi kembali). Karakteristik steganografi yang baik adalah

imperceptibility tinggi, fidelity tinggi, recovery maksimum dan robustness tinggi.

2.1.1 Metode Steganografi

1. Least Significant Bit Insertion (LSB)

(57)

LSB ini adalah cepat dan mudah. Dan juga algoritma tersebut memiliki software steganografi yang mendukung dengan bekerja di antara unsur pokok warna LSB melalui manipulasi pallete (lukisan) (Sutoyo, 2010).

2. Algorithms and Transformation

Algoritma compression adalah metode steganografi dengan menyembunyikan data dalam fungsi matematika. Dua fungsi tersebut adalah Discrete Cosine

Transformation (DCT) dan Wavelet Transformation. Fungsi DCT dan Wavelet

yaitu mentransformasi data dari satu tempat (domain) ke tempat (domain) yang lain. Fungsi DCT yaitu mentransformasi data dari tempat spatial (spatial domain) ke tempat frekuensi (frequency domain).

3. Redundant Pattern Encoding

Redundant Pattern Encoding adalah menggambar pesan kecil pada kebanyakan

gambar. Keuntungan dari metode ini adalah dapat bertahan dari cropping (kegagalan). Kerugiannya yaitu tidak dapat menggambar pesan yang lebih besar. 4. Spread Spectrum method

Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak

(encrypted) melalui gambar (tidak seperti dalam LSB). Untuk membaca suatu pesan, penerima memerlukan algoritma yaitu crypto-key dan stego-key. Metode ini juga masih mudah diserang yaitu penghancuran atau pengrusakan dari kompresi dan proses image.

2.2Media Cover

Media cover digunakan pada steganografi sebagai media untuk menampung pesan

tersembunyi. Pesan yang disembunyikan tersebut dapat mempunyai hubungan atau bahkan tidak mempunyai hubungan sama sekali dengan media dimana pesan tersebut disisipkan (untuk kasus komunikasi rahasia) atau pesan dapat menyediakan info penting tentang media, seperti informasi autentifikasi, judul, tanggal dan waktu pembuatan, hak cipta, nomor seri kamera digital yang digunakan untuk mengambil gambar, informasi mengenai isi dan akses terhadap citra dan lain sebagainya (Binanto, 2010).

(58)

yang dapat dimodifikasi. Beberapa contoh media cover yang digunakan dalam teknik steganografi antara lain adalah:

1. Teks

Dalam algoritma steganografi yang menggunakan teks sebagai media penyisipannya, teks yang telah disisipi pesan rahasia tidak boleh mencurigakan untuk orang yang melihatnya.

2. Suara

Format ini sering dipilih karena biasanya berkas dengan format ini berukuran relatif besar. Sehingga dapat menampung pesan rahasia dalam jumlah yang besar pula.

3. Citra

Format ini paling sering digunakan, karena format ini merupakan salah satu format berkas yang sering dipertukarkan dalam dunia internet. Alasan lainnya adalah banyaknya tersedia algoritma steganografi untuk media penampung yang berupa citra.

4. Video

Format ini merupakan format dengan ukuran berkas yang relatif sangat besar namun jarang digunakan karena ukurannya yang terlalu besar sehingga mengurangi kepraktisannya dan juga kurangnya algoritma yang mendukung format ini.

2.3 Citra Digital

Beberapa definisi citra digital menurut para ahli dipaparkan sebagai berikut:

Menurut Sachs (2010, hal:1), citra digital merupakan suatu gambar yang tersusun dari piksel, dimana tiap pixel merepresentasikan warna (tingkat keabuan untuk gambar hitam putih) pada suatu titik gambar.

Sedangkan menurut Fahmi (2007: hal 7), citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut dengan piksel (picture elements).

(59)

(quantization) adalah pemberian nilai intensitas warna pada setiap piksel dengan nilai

yang berupa bilangan bulat.

Gambar 2.2 Citra Digital (Citra Bunga)

Agar dapat diolah dengan komputer digital, suatu citra harus fungsi kontinu menjadi nilai-nilai diskrit disebut pencitraan (imaging) atau digitalisasi. Citra yang dihasilkan inilah yang disebut citra digital (Digital Image), dinyatakan sebagai kumpulan piksel dalam matrik dua dimensi. Pada umumnya citra digital berbentuk empat persegi panjang dan dimensi ukurannya dinyatakan tinggi dikalikan dengan lebar atu lebar dikalikan dengan panjang.

Citra digital yang berukuran N x M lazim dinyatakan dengan matriks yang berukuran N baris dan M kolom seperti pada Gambar 2.3

f(x,y)=

Gambar 2.3 Representasi citra digital dalam matriks N x M (Putra, 2010) Warna digital adalah kombinasi dari tiga warna primer yaitu merah, hijau, dan biru (RGB). Setiap warna dapat dispesifikasikan sebagai triplet nilai intensitas RGB, dengan setiap intensitas berkisar antara 0 sampai 255, yaitu:

Red : RGB (255, 0, 0) ……….………….………..………(2.2)

Green : RGB (0, 255, 0) .……….……….……… (2.3)

(60)

Dari nilai triplet RGB persamaan (2) sampai (4) di atas dapat dikonversikan ke dalam nilai desimal seperti dibawah ini:

Red : 255*2560 + 0*2561 + 0*2562= 255 + 0 + 0 = 255 ………..………...…(2.5) Green : 0*2560 + 255*2561 + 0*2562= 0 + 65,280 + 0 = 65,280 ………(2.6) Blue : 0*2560 + 0*2561 + 255*2562 = 0 + 0 + 16,711,680 = 16,711,680 ….…(2.7) Rumus dasar mencari nilai RGB citra adalah:

R = COLOR And RGB(255, 0, 0) ….……….……….…. (2.8) G = (COLOR And RGB(0, 255, 0)) / 256 .……….………...… (2.9) B = ((COLOR And RGB(0, 0, 255)) / 256) / 256 ….……….………..…. (2.10) Dari persamaan (2.5) sampai (2.7) diatas, rumus RGB pada persamaan (2.8) sampai (2.10) menjadi:

Nilai R = c and 255 ………... (2.11) Nilai G = (c and 65,280)/256 ..………...……….……..…..….. (2.12) Nilai B = ((c and 16,711,680)/256)/256 ………...………... (2.13) Dimana c adalah nilai intensitas piksel citra.

Ada beberapa format citra digital yang dijumpai, antara lain (Basuki, et al. 2005): 1. Bitmap (BMP)

Format citra ini adalah yang paling umum dan merupakan format standard

windows. Ukuran file-nya besar karena bisa mencapai ukuran megabyte. File ini

merupakan format yang belum terkompresi dan menggunakan sistem warna RGB (Red, Green, Blue) di mana masing-masing warna pixel-nya terdiri dari 3 komponen R, G, dan B yang dicampur menjadi satu. File BMP dapat dibuka dengan berbagai macam software pembuka gambar seperti ACDSee, Paint, Irvan

View dan lain-lain. File BMP tidak bisa (sangat jarang) digunakan di web (internet)

(61)

Tabel 2.1 Bitmap Info Header

Nama Field Ukuran (Byte) Keterangan

beSize 4 Memori Header

beWidth 2 Lebar Gambar

beHeight 2 Tinggi Gambar

bePlanes 2 Harus 1

beBitCount 2 Bits per pixel – 1,4,8 atau 24

Tabel 2.2 Bitmap Core Header

Nama Field Ukuran (Byte) Keterangan

bfType 2 Mengandung karakter “BM” yang

mengidentifikasikan tipe file

bfSize 4 Memori file

bfReserved1 2 Tidak dipergunakan

bfReserved2 2 Tidak dipergunakan

bfOffBits 4 Offset untuk memulai data pixel

2. Joint Photographic Expert Group (JPEG/JPG)

Citra dengan format JPEG adalah yang paling terkenal sampai sekarang ini, karena berukuran kecil (hanya puluhan/ratusan KB saja) dan bersifat portable. Citra ini sering digunakan pada bidang fotografi untuk menyimpan file foto hasil perekaman analog to digital converter (ADC). Karena ukurannya kecil maka file ini banyak digunakan di Web (internet).

Format citra JPEG adalah suatu desain untuk mengkompresi citra baik

gray-level maupun citra full-color. JPEG tidak hanya menangani data dalam bentuk citra,

(62)

sebuah metode yang efisien untuk menyimpan citra dengan jumlah warna yang sangat banyak seperti foto kamera.

Perbedaan utama antara format JPEG dengan format citra yang lainnya adalah bahwa file JPEG menggunakan metode lossy untuk proses pemampatannya. Pemampatan secara lossy akan membuang sebagian data citra untuk memberikan hasil kompresi yang baik. Hasil file JPEG yang di-dekompres tidak begitu sesuai dengan citra aslinya, tetapi perbedaan ini sangat sulit dideteksi oleh mata manusia (Putra, 2010).

2.3.1 Jenis – jenis Citra Digital

Ada banyak cara untuk menyimpan citra digital di dalam memori. Cara penyimpanan menentukan jenis citra digital yang terbentuk. Beberapa jenis citra digital yang sering digunakan adalah citra biner, citra grayscale dan citra warna.

1. Citra Biner (Monokrom)

Citra biner (monokrom) hanya memiliki 2 warna yaitu hitam dan putih. Dibutuhkan 1 bit di memori untuk menyimpan kedua warna ini.

Gradasi warna :

0 1

Bit 0 = warna hitam Bit 1 = warna putih

2. Citra Grayscale (skala keabuan)

Banyaknya warna tergantung pada jumlah bit yang disediakan di memori untuk menampung kebutuhan warna ini. Citra 2 bit mewakili 4 warna dengan gradasi warna berikut:

0 1 2 3

Citra 3 bit mewakili 8 warna dengan gradasi warna berikut :

(63)

Semakin besar jumlah bit warna yang disediakan di memori, semakin halus gradasi warna citra yang ditampilkan di monitor.

3. Citra Warna (True Color)

Setiap piksel pada citra warna mewakili warna yang merupakan kombinasi dari tiga warna dasar (RGB = Red Green Blue). Setiap warna dasar menggunakan penyimpanan 8 bit = 1 byte, yang berarti setiap warna mempunyai gradasi sebanyak 255 warna. Berarti setiap piksel mempunyai kombinasi warna sebanyak 28 .28 .28 = 224 = 16 juta warna lebih. Itulah sebabnya format ini dinamakan true color karena mempunyai jumlah warna yang cukup besar sehingga bisa dikatakan hampir mencakup semua warna di alam.

Penyimpanan citra true color di dalam memori berbeda dengan citra

grayscale. Setiap piksel dari citra grayscale 256 gradasi warna diwakili oleh 1 byte.

Sedangkan 1 piksel citra true color diwakili oleh 3 byte, dimana masing masing byte merepresentasikan warna merah (red), hijau (green) dan biru (blue). Gambar 2.3 adalah contoh citra warna.

Gambar 2.3 Contoh citra warna

2.3.2 Format File Citra Bitmap

Gambar

Gambar 3.9 Flow Chart Penyisipan Algoritma LSB +1
Gambar 3.10 Flow Chart Ekstraksi Algoritma LSB +1
Gambar 3.11 Flow Chart Ekstraksi Algoritma LSB +1
Gambar 3.12 Flowchart Penyisipan Algoritma MLSB
+7

Referensi

Dokumen terkait

permasalahan yang terjadi sebelumnya di DPP Partai Golkar sudah memakan Selain keputusan untuk mundurnya salah satu calon dalam pemilihan Ketua. DPD Partai Golkar Kabupaten Karo,

Melakukan Stock Opname secara berkala dan menganalisa jumlah dan jenis persediaan produk di gudang Logistik untuk mengontrol akurasi data persediaan dan tingkat

Hasil dari algoritma tersebut adalah apabila dalam ruangan tersebut tidak ada gas berbahaya yang terdeteksi maka akan dianggap aman dengan indicator LED warna hijau

pekerjaan.Macro di Excel dibuat dalam macrosheet atau dengan bahasa Visual. Basic

Selain itu, dengan adanya Sejarah Pemikiran Islam ini, kita dapat mengkaji secara historis terkait berbagai kejadian yang dalam studi tentang Islam dari berbagai perspektif, yang

Dari grafik dapat terlihat bahwa berdasarkan Indeks Shannon, terdapat perbedaan yang cukup jelas diantara kedua komunitas tersebut dengan Buyan memiliki indeks keanekaragaman yang

[r]

manajemen dalam menjalankan tugasnya. salah satu alat yang dapat digunakan oleh manajemen dalam membantu menjalankan tugasnya, adalah akuntansi manajemen. Akuntansi