• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

3.1.2 Pengolahan Citra Embed

Serupa dengan citra cover, citra embed sebelum disisipkan, terlebih dahulu dilakukan pembacaan dan penghitungan nilai pikselnya. Sebagai contoh diberikan citra warna berdimensi 28 x 23 piksel seperti pada Gambar 3.6.

Gambar 3.6 Citra Embed (28 x 23 Piksel)

Pada citra Gambar 3.6 di atas dilakukan penghitungan nilai komponen warna RGB-nya dengan membagi citra dalam piksel-piksel. Sebagai contoh diberikan contoh citra embed 5 x 5 piksel yang berasal dari citra embed 20 x 30 piksel yang dapat dilihat seperti pada Gambar 3.7.

Citra embed 5 x 5 piksel Citra embed 28 x 23 piksel

Gambar 3.7 Citra Embed (5 x 5 Piksel)

Citra pada Gambar 3.7 di atas dilakukan pembacaan nilai piksel pada data

bitmap citra embed (5 x 5 piksel) seperti pada Gambar 3.8.

Gambar 3.8 Nilai Piksel Citra Embed (5 x 5 Piksel)

Untuk mendapatkan masing-masing nilai R, G dan B dilakukan perhitungan dengan menggunakan rumus yang sama untuk mencari citra cover sebelumnya.

Maka Gambar 3.8 di atas memiliki nilai piksel antara lain: a. Nilai piksel (0,0) = 101100101011001010110110.

Nilai R = 101100101011001010110110 and 11111111 = 10110110 = 182 (dec) Nilai G = (101100101011001010110110 and 1111111100000000)/ 100000000

= 10110010 = 178 (dec).

Nilai B = (101100101011001010110110 and 111111110000000000000000)/ 100000000/100000000 = 10110010 = 178 (dec).

b. Nilai piksel (0,1) = 101100101011001010110110.

Nilai R = 101100101011001010110110 and 11111111 = 10110110 = 182 (dec) Nilai G = (101100101011001010110110 and 1111111100000000)/ 100000000

Piksel (0,0) Piksel (0,1) Piksel-(i,j)

101100101011001010110110 101100101011001010110110 ...

Piksel (1,0) Piksel (1,1) Piksel-(i,j)

101100101011001010110110 101101110111101001111110 ...

Piksel (2,0) Piksel (2,1) Piksel-(i,j)

101100111010011110101011 110000010001010100011001 ...

Piksel (3,0) Piksel (3,1) Piksel-(i,j)

101101110111101001111110 110000100000101000001110 ...

Piksel (4,0) Piksel (4,1) Piksel-(i,j)

(0,0) (0,1) (0,2) (0,3) (0,4) (1,0) (1,1) (1,2) (1,3) (1,4) (2,0) (2,1) (2,2) (2,3) (2,4) (3,0) (3,1) (3,2) (3,3) (3,4) (4,0) (4,1) (4,2) (4,3) (4,4)

= 10110010 = 178 (dec).

Nilai B = (101100101011001010110110 and 111111110000000000000000)/ 100000000/100000000 = 10110010 = 178 (dec).

Pencarian nilai RGB terus dilakukan sampai dengan piksel (4,4) dengan menggunakan cara yang sama seperti diatas. Dari hasil perhitungan nilai RGB citra di atas, maka diperoleh nilai RGB tiap piksel citra embed seperti pada Gambar 3.9 berikut.

R=182 G=178 B=178 R=182 G=178 B=178 R=137 G=133 B=182 R=59 G=55 B=190 R=14 G=10 B=194 R=182 G=178 B=178 R=126 G=122 B=183 R=14 G=10 B=194 R=14 G=10 B=194 R=14 G=10 B=194 R=171 G=167 B=179 R=25 G=21 B=193 R=14 G=10 B=194 R=14 G=10 B=194 R=14 G=10 B=194 R=126 G=122 B=183 R=14 G=10 B=194 R=14 G=10 B=194 R=14 G=10 B=194 R=104 G=100 B=185 R=115 G=111 B=184 R=14 G=10 B=194 R=14 G=10 B=194 R=14 G=10 B=194 R=137 G=133 B=182

Gambar 3.9 Nilai RGB Tiap Piksel Citra Embed

Setelah diperoleh nilai RGB dari setiap piksel citra, dilakukan perhitungan nilai grayscale citra dengan menghitung rata-rata warna red, green dan blue. Secara matematis penghitungan nilai grayscale citra embed menggunakan rumus yang sama dengan pencarian greyscale pada citra cover sebelumnya (3,4).

f(0,0) = �182+178+ 1783 �= 179

f(0,1) = �182+178+1783 �= 179

f(0,3) = �59+55+ 190

3 �= 101

f(0,4) = �14+10+ 1943 �= 72

Pencarian nilai greyscale terus dilakukan sampai dengan piksel (4,4) dengan cara yang sama seperti diatas. Selanjutnya hasil perhitungan nilai grayscale di atas dimasukkan ke dalam matriks grayscale citra embed seperti pada Gambar 3.10.

179 179 150 101 72 179 143 72 72 72 172 79 72 72 72 143 72 72 72 129 136 72 72 72 150

Gambar 3.10 Matriks Grayscale Citra Embed

3.1.3 Insertion (Penyisipan) MLSB

Penyisipan dengan metode MLSB dilakukan dengan pergantian 5 bit LSB dari piksel citra cover dengan 5 bit citra embed. Penyisipan (insertion) memiliki arti mengganti nilai piksel-piksel pada citra penampung, sehingga tidak merubah jumlah piksel pada citra awalnya (ukuran citra tidak berubah). Langkah-langkah dalam penyisipan dengan menggunakan metode MLSB adalah sebagai berikut :

1. Inputkan nilai greyscale citra embed

2. Konversikan nilai citra embed kedalam tabel ASCII (hexadecimal).

3. Data diolah dengan mengurangi nilai terendah dari setiap data embed sampai tanda 20h (spasi).

4. Data embed yang diperoleh kemudian ditambahkan dengan keterangan control symbol.

5. Ubah data embed ke dalam bentuk biner.

6. Inputkan nilai greyscale citra penampung (citra cover).

7. Baca setiap nilai pixel citra cover, kemudian ubah ke dalam bentuk biner. 8. Ambil 5 bit citra embed kemudian disisipkan kepada 5 bit LSB citra cover. 9. Petakan menjadi citra baru (citra stego).

Berikut contoh dilakukan terhadap matriks citra embed pada Gambar 3.10 diatas dengan mengambil piksel pada baris pertamanya saja seperti pada Gambar 3.11.

179 179 150 101 72

Gambar 3.11 Baris Pertama Citra Embed

Nilai greyscale dari baris pertama citra embed dikonversikan ke dalam heksadesimal dengan menggunakan bantuan tabel ASCII menjadi:

179 1 = 31h 7 = 37h 9 = 39h 179 1 = 31h 7 = 37h 9 = 39h 150 1 = 31h 5 = 35h 0 = 30h 101 1 = 31h 0 = 30h 1 = 31h 72 7 = 37h 2 = 32h

Maka berdasarkan nilai greyscale baris pertama citra embed diatas yang telah dikonversikan kedalam ASCII heksadesimal diperoleh data 31h 37h 39h 20h 31h 37h

39h 20h 31h 35h 30h 20h 31h 30h 31h 20h 37h 32h. Dalama ASCII, angka 20h menyatakan spasi antar piksel.

Data diatas belum sepenuhnya menjadi sebuah data embed, data tersebut harus diolah kembali dengan mengurangi nilai terendah dari setiap data sampai tanda 20h. Sebagai contoh untuk kelompok data embed pertama sampai 20h adalah 31h 37h 39h, nilai terendahnya adalah 30, maka data embed untuk kelompok pertama setelah masing-masing dikurangi dengan 30 menjadi 01h, 07h, 09h. Kemudian untuk seterusnya dilakukan kepada tiap-tiap kelompok data sampai tanda spasi (20h).

Setelah dilakukan pengurangan nilai terendah untuk setiap kelompok, data-data tersebut ditambahi dengan keterangan control symbol 1Dh (keterangan spasi), 1Eh (keterangan nomor) dan 1Fh (keterangan akhir pesan). Maka akan diperoleh data

embed :

1Eh 01h 07h 09h 1Dh 01h 07h 09h 1Dh 01h 05h 0h 1Dh 01h 0h 01h 1Dh 07h 02h 1Fh

Data embed 1Eh 01h 07h 09h 1Dh 01h 07h 09h 1Dh 01h 05h 0h 1Dh 01h 0h 01h 1Dh 07h 02h 1Fh lalu diubah menjadi bentuk biner seperti dibawah ini:

1Eh = 11110 01h = 00001 07h = 00111 09h = 01001 1Dh = 11101 01h = 00001 07h = 00111 09h = 01001 1Dh = 11101 01h = 00001 05h = 00101 0h = 00000 1Dh = 11101

01h = 00001 0h = 00000 01h = 00001 1Dh = 11101 07h = 00111 02h = 00010 1Fh = 11111

Data embed biner diatas akan disisipkan ke dalam sebuah file citra cover yang direpresentasikan dalam bentuk matriks biner-nya seperti pada Gambar 3.12.

Gambar 3.12 Citra Cover dalam Bentuk Biner

Selanjutnya diambil 5 bit dari tiap-tiap data embed dalam bentuk biner

sebelumnya, kemudian disisipkan kedalam 5 bit LSB tiap-tiap piksel citra cover dalam bentuk biner diatas. Setelah disisipkan, akan menghasilkan sebuah citra baru yakni citra stego seperti pada Gambar 3.13.

00011110 01000001 10100111 10001001 10011101 00100001 01000111 10001001 10111101 11000001 01000101 01000000 10111101 10100001 10100000 01100001 01111101 10100111 10100010 10111111 01010011 10000111 10111000 11000011 11010110

Gambar 3.13 Citra Stego dalam Bentuk Biner

00011110 01001001 10101000 10011101 10001111 00100010 01010000 10011111 10110000 11001010 01010010 01001011 10100101 10111100 10110111 01100111 01100011 10101010 10110001 10110110 01010011 10000111 10111000 11000011 11010110

30 65 167 137 157 33 71 137 189 193 69 64 189 161 160 97 125 167 162 191 83 135 184 195 214

Gambar 3.14 Matriks Citra Stego dalam Bentuk Grayscale

30 73 168 157 143 34 80 159 176 202 82 75 165 188 183 103 99 170 177 182 83 135 184 195 214

Gambar 3.15 Matriks Citra Cover dalam Bentuk Grayscale

Berdasarkan Gambar 3.14 dan Gambar 3.15 diatas, dapat dilihat perbedaan nilai piksel antara citra stego dengan citra cover yang ditimbulkan akibat proses penyisipan menggunakan metode MLSB.

3.1.4 Extraction MLSB

Proses extraction (pembacaan) penyisip berupa citra embed dari dalam citra stego

menggunakan metode MLSB adalah sebagai berikut : 1. Input citra stego.

2. Ubah setiap piksel citra stego ke dalam bentuk biner. 3. Ambil 5 bit LSB-nya dari tiap-tiap piksel.

4. Konversikan ke dalam bentuk hexadecimal. 5. Cari keterangan control symbol.

- Cari nilai 1Eh sebagai pesan angka - Cari nilai 1Dh sebagai batas piksel - Cari nilai 1Fh sebagai batas akhir pesan

6. Baca Control Symbol paling depan dari data :

- Jika control symbol menunjukkan keterangan huruf kapital, maka tiap data dalam 1 kelompok (sampai keterangan spasi, 1Dh) ditambah dengan nilai +40. Hasil yang diperoleh kemudian diubah kedalam bentuk karakter dengan bantuan tabel ASCII (hex value). Untuk data yang bernilai 0Ah-0Fh menunjukkan karakter yang diperoleh adalah J–O.

- Jika control symbol menunjukkan keterangan huruf kecil, maka tiap data dalam 1 kelompok (sampai keterangan spasi, 1Dh) ditambah dengan nilai +60. Hasil yang diperoleh kemudian diubah kedalam bentuk karakter dengan bantuan tabel ASCII (hex value). Untuk data yang bernilai 0Ah– 0Eh menunjukkan karakter yang diperoleh adalah j – n. Khusus untuk data yang bernilai 0Ah terdapat kemungkinan karakter yang diperoleh antara j atau z.

- Jika Control Symbol menunjukkan keterangan nomor/angka, maka tiap data dalam 1 kelompok (sampai keterangan spasi, 1Dh) ditambah dengan nilai +30. Hasil yang diperoleh kemudian diubah kedalam bentuk karakter dengan bantuan tabel ASCII (hex value).

7. Rekonstruksi citra baru sebagai citra embed .

Berikut contoh dari proses extraction dari citra stego pada gambar 3.16.

00011110 01000001 10100111 10001001 10011101 00100001 01000111 10001001 10111101 11000001 01000101 01000000 10111101 10100001 10100000 01100001 01111101 10100111 10100010 10111111 01010011 10000111 10111000 11000011 11010110

Gambar 3.16 Citra Stego dalam Biner

Dari Gambar 3.16 diatas ambil setiap 5 bit LSB citra stego, kemudian ubah 5

bit tersebut kedalam bentuk heksadesimal. Tentukan apakah 5 bit LSB tersebut bernilai 0-9 atau berupa control symbol.

11110 1Eh control symbol, pesan sebagai angka (numeric) 00001 01h

00111 07h 01001 09h

11101 1Dh control symbol, batas nilai piksel Nilai piksel embed ke 1 = 179

Ambil 5 LSB embed selanjutnya : 00001 01

00111 07 01001  09

11101 1Dh control symbol, batas nilai piksel Nilai piksel embed ke 2 = 179

Ambil 5 LSB embed selanjutnya : 00001 = 01h

00101 = 05h 00000 = 0h

11101 1Dh control symbol, batas nilai piksel Nilai piksel embed ke 3 = 150

Ambil 5 LSB embed selanjutnya : 00001 01h

00000 0h 00001 01h

11101 1Dh control symbol, batas nilai piksel Nilai piksel embed ke 4 = 101

Ambil 5 LSB embed selanjutnya : 00111 = 07h

00010 = 02h

11111 1Fh control symbol, batas akhir pesan Nilai piksel embed ke 5 = 72

Pembacaan berhenti karena nilai = 1Fh

Dari hasil pembacaan diatas diperoleh 1Eh 01h 07h 09h 1Dh 01h 07h 09h 1Dh 01h 05h 0h 1Dh 01h 0h 01h 1Dh 07h 02h 1Fh. 1Dh menunjukkan control symbol

spasi/batas antar piksel, 1Eh menunjukkan control symbol keterangan angka dan 1Fh menunjukkan control symbol akhir sebuah pesan. Oleh karena control symbol yang ditemukan pertama kali menunjukkan keterangan angka, sesuai dengan syaratnya setiap data dalam 1 kelompok (sampai keterangan spasi, 1Dh) ditambah dengan nilai +30. Seperti pada kelompok pertama, 01h 07h 09h ditambah dengan +30, menjadi 31h 37h 39h, demikian selanjutnya untuk setiap kelompok, sehingga diperoleh data 31h 37h 39h 20h 31h 37h 39h 20h 31h 35h 30h 20h 31h 30h 31h 20h 37h 32h (20h menerangkan spasi tiap kelompok/piksel). Kemudian 31h 37h 39h 20h 31h 37h 39h 20h 31h 35h 30h 20h 31h 30h 31h 20h 37h 32h ini diubah kedalam bentuk karakter dengan menggunakan tabel ASCII menjadi 179 179 150 101 72. Data yang terakhir inilah kemudian direkonstruksi sebagai piksel citra embed seperti pada Gambar 3.17.

179 179 150 101 72

Gambar 3.17 Nilai Piksel Citra Embed Hasil Ekstraksi

Dokumen terkait