Pada tabel di atas dapat dilihat perubahan nilai biner blue pada citra setelah penyisipan.
header file bitmap header bitmap info
larik data piksel 000001100000110000011000 001101100001000000010100 101000010110111000101011 100000111000000010110000
010001100101100010010001 100010001010010110000001 001000111111000100100010 010011101000110000000000
Gambar 2.9 Perubahan Nilai Biner Citra.
2.5 Bit Error Ratio BER
Bit Error Ratio adalah salah satu cara untuk melakukan perbandingan antara bit yang salah dengan banyaknya bit keseluruhan. Persamaan BER dapat di jabarkan sebagai berikut:
BERW, W
′
=
∑ P
i
N
dimana: w adalah watermark asli
w
′
adalah watermark yang dieksraksi. N adalah banyaknya bit
nilai p
i
didefinisikan sebagai berikut: p
i
= 1
untuk w
i
≠ w
i
, p
i
= 0
untuk w
i
= w
i
,
Cara lain untuk melakukan perbandingan watermark adalah dengan menghitung koefisien dan korelasi.
Universitas Sumatera Utara
BAB 3 ANALISIS DAN PERANCANGAN
3.1
Analisis
Pada aplikasi ini dilakukan penyisipan dengan pemberian citra penyisip berupa citra logo kepada citra asli yang berformat Bitmap .bmp identitas kepemilikannya. Penyisipan
dilakukan dengan teknik watermarking dengan metode Modified LSB. Tahap-tahap yang dilakukan adalah:
1. Proses Watermarking
a. Menghitung nilai RGB piksel citra asli 24-bit.
b. Merubah nilai RGB piksel citra asli ke bentuk biner 24-bit
c. Menghitung nilai RGB piksel citra penyisip 24-bit.
d. Merubah nilai RGB piksel citra penyisip ke bentuk biner 24-bit
e. Menghitung posisi piksel dengan menggunakan persamaan:
PosisiPiksel = Posisi_x_pikselHEIGHT_CITRA_ASLI+posisi_y_piksel...3.1 f.
Menyisipkan tiap bit-bit citra penyisip ke dalam bit LSB ke-n komponen warna Blue dari piksel citra asli dengan persamaan:
n =posisi_piksel mod 2.......................................................................................3.2
g. Menampilkan citra watermarking.
2. Proses Ekstraksi
a. Menghitung nilai RGB piksel citra ber-watermarking.
b. Menghitung dimensi citra penyisip.
c. Merubah nilai RGB piksel citra ber-watermarking ke bentuk biner 24-bit
d. Membaca bit-bit bilangan biner untuk warna Blue bit ke-17 hingga ke-24
e. Menghitung posisi piksel dengan menggunakan persamaan 3.1.
f. Mengambil bit LSB ke-n bilangan biner komponen warna Blue dari citra ber-
watermarking dan nilai n dicari dengan menggunakan persamaan 3.2 g.
Merekonstruksi penyisip dari bit-bit LSB yang diambil dari langkah ke-6. h.
Menampilkan citra penyisip.
Universitas Sumatera Utara
Pada penelitian ini digunakan citra asli dengan mode warna 24 bit sebagai citra digital yang hendak dilindungi dengan dimensi 300 x 200 piksel dan citra penyisip dengan format
BMP yang berdimensi 40 x 53 piksel. Contoh citra asli dapat dilihat pada Gambar 3.1.
Gambar 3.1 Citra Asli[13].
Contoh citra penyisip berdimensi 40 x 53 piksel dengan nama bmw.bmp. Citra penyisip dapat dilihat pada Gambar 3.2.
Gambar 3.2 Citra Penyisip[13].
3.1.1 Menghitung Nilai Piksel Citra Asli
Citra asli 24-bit merupakan informasi watermark yang akan menampung file citra penyisip terdiri dari piksel dan setiap piksel terdiri dari tiga komposisi warna yaitu, Red, Green, Blue
RGB. Tiap warna memiliki nilai 0 = Red = 255, 0= Green =255, 0= Blue =255. Sehingga suatu warna akan berukuran 8 delapan bit dan setiap piksel berukuran 24-bit.
Proses pertama adalah membaca header yang berisi informasi dimensi citra asli. Pada citra asli berupa citra 24-bit, dimana nilai piksel langsung diuraikan dalam data bitmap.
Sebagai contoh diberikan cuplikan data bitmap file citra asli dengan dimensi 4x24piksel seperti pada Gambar 3.3.
Universitas Sumatera Utara
header file bitmap header bitmap info
larik data piksel 000001100000110000011000 001101000001000000010100 101000000110111000101011 100000011000000010110000
010001100101100010010001 100010001010010110000001 001000111111000100100010 010011001000110000000000
Gambar 3.3 Contoh Data Bitmap File Citra Asli. Pada citra asli di atas, data pertama adalah header yang berisi informasi pengenal file,
ukuran file, data kedalaman warna, dan data dimensi citra. Di bawah data bitmap terdapat piksel pertama yang bernilai 000001100000110000011000 24 bit dan selanjutnya sampai
piksel ke n.
3.1.2 Menghitung Nilai RGB Citra Asli
Setiap piksel RGB citra asli 24-bit mengandung tiga komponen warna 8-bit untuk masing- masing warna dasar R, G, dan B, dengan kisaran nilai kandungan antara 0 00000000
sampai 255 11111111 untuk tiap warna. Sebagai contoh sebuah matriks citra asli dengan dimensi 4x12 piksel dengan nilai piksel seperti pada Gambar 3.4.
header file bitmap header bitmap info
larik data piksel 000001100000110000011000 001101000001000000010100 101000000110111000101011 100000011000000010110000
010001100101100010010001 100010001010010110000001 001000111111000100100010 010011001000110000000000 001000101100000010110111 010000101010000010100001 010010100100101111000011 010100110000101000000001
000001010010000000100000 101101000000111000000100 100100100011000000000000 000000001001000000010111 010100111000110000000110 000110000110000000110001 100011010010011011000000 010000001000101010000000
000010010000010101010010 100100000001110000011000 100011001001010000111110 010101011000100000101010 011010100000001011010110 011100000000001100000110 010000000101010100100100 101001000001000111001001
110010011011001101000011 011001100001000100001101 111000000100010000001110 101010010000000000101010 001000110000000001000000 100000000010110100001010 010001000001100101011000 000010001000010110110111
010001101111011000000000 000010001011101000010101 000000000100001010001110 101000000001101010000100 001110000111000000000100 100010000000000000100001 110000100010100111101010 101110010011110101010100
101101100111001110000001 000010010000001100001001 110011001000000000001000 110101000000100110010000
Gambar 3.4 Matriks Citra Asli.
Rumusan nilai warna:
Nilai Red dimulai dari ke-1 sd bit ke-8, untuk mencari nilai Red digunakan persamaan:
�����
���
= � 2
�−1 8
�=1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3
Universitas Sumatera Utara
Dari persamaan 3.3 diperoleh nilai range_Red: range_Red
= 2
1-1
+ 2
2-1
+ 2
3-1
+ 2
4-1
+ 2
5-1
+ 2
6-1
+ 2
7-1
+ 2
8-1
range_Red = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
range_Red = 255
nilai_piksel_red = nilai_piksel AND 255......................................................3.4
Nilai Green dimulai dari bit ke-9 sd bit ke-16, untuk mencari nilai Green digunakan
persamaan: �����
�����
= � 2
�−1 16
�=9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . … . . . . . . 3.5
Dari persamaan 3.5 diperoleh nilai range_green: range_Green = 2
16 - 1
+ 2
15 - 1
+ 2
14 - 1
+ 2
13 - 1
+ 2
12 - 1
+ 2
11 - 1
+ 2
10 - 1
+ 2
9 - 1
range_Green = 32768 + 16384 + 8192 + 4096 + 2048 + 1024 + 512 + 256 range_Green = 65280
nilai_piksel_green = nilai_piksel AND 65.280256
1
.................................................3.6
Nilai Blue dimulai dari bit ke-17 sd bit ke-24, untuk mencari nilai Blue digunakan
persamaan: �����
����
= � 2
�−1 24
�=17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . … … . 3.7 Dari persamaan 3.7 diperoleh nilai range_blue:
range_blue = 2
24 - 1
+ 2
23 - 1
+ 2
22 - 1
+ 2
21 - 1
+ 2
20 - 1
+ 2
19 - 1
+ 2
18 - 1
+ 2
17 - 1
range_blue = 8388608 + 4194304 + 2097152 + 1048576 + 524288 + 262144 + 131072 +
65536 range_blue
= 16711680 nilai_piksel_blue = nilai_piksel AND 16.711.680256
2
..........................................3.8
Universitas Sumatera Utara
Dari larik data piksel citra Gambar 3.4 diperoleh: 1.
Nilai piksel 0,0 adalah 000001100000110000011000 biner atau 396.312 desimal Nilai komponen Red dengan persamaan 3.4:
Nilai Red = 396.312 AND 255 Nilai Red = 24 desimal = 00011000 biner
Nilai komponen green dengan persamaan 3.6: Nilai Green = 396.312 AND 65.280256
Nilai Green = 3.072 256 Nilai Green = 12 desimal = 00001100 biner
Nilai komponen blue dengan persamaan 3.8: Nilai Blue = 396.312 AND 16.711.68065536
Nilai Blue = 396.312 65536 Nilai Blue = 6 desimal = 00000110 biner
Sehingga diperoleh nilai RGB pada piksel 0,0: R = 24 desimal = 00011000 biner
G = 12 desimal = 00001100 biner B = 6 desimal = 00000110 biner
2. Nilai piksel 0,1 adalah 010001100101100010010001 biner atau 4.610.193 desimal
Nilai komponen Red dengan persamaan 3.4: Nilai Red = 4.610.193 AND 255
Nilai Red = 145 desimal = 10010001 biner Nilai komponen green dengan persamaan 3.6:
Nilai Green = 4.610.193 AND 65.280256 Nilai Green = 22.528 256
Nilai Green = 88 desimal = 01011000 biner Nilai komponen blue dengan persamaan 3.8:
Nilai Blue = 4.610.193 AND 16.711.68065536 Nilai Blue = 4.610.193 65536
Nilai Blue = 70 desimal = 01000110 biner Sehingga diperoleh nilai RGB pada piksel 1,0:
R = 145 desimal = 10010001 biner G = 88 desimal = 01011000 biner
B = 70 desimal = 01000110 biner 3.
Nilai piksel 0,2 adalah 101000000110111000101011 biner atau 10.513.963 desimal Nilai komponen Red dengan persamaan 3.4:
Nilai Red = 10.513.963 AND 255 Nilai Red = 43 desimal = 00101011 biner
Nilai komponen green dengan persamaan 3.6: Nilai Green = 10.513.963 AND 65.280256
Nilai Green = 28.160 256 Nilai Green = 110 desimal = 01101110 biner
Universitas Sumatera Utara
Nilai komponen blue dengan persamaan 3.8: Nilai Blue = 10.513.963 AND 16.711.68065536
Nilai Blue = 10.513.963 65536 Nilai Blue = 160 desimal = 10100000 biner
Sehingga diperoleh nilai RGB pada piksel 0,2: R = 43 desimal = 00101011 biner
G = 110 desimal = 01101110 biner B = 160 desimal = 10100000 biner
4. Nilai piksel 0,3 adalah 000001010010000000100000 biner atau 335.904 desimal
Nilai komponen Red dengan persamaan 3.4: Nilai Red = 335.904 AND 255
Nilai Red = 32 desimal = 00100000 biner Nilai komponen green dengan persamaan 3.6:
Nilai Green = 335.904 AND 65.280256 Nilai Green = 8.192 256
Nilai Green = 32 desimal = 00100000 biner Nilai komponen blue dengan persamaan 3.8:
Nilai Blue = 335.904 AND 16.711.68065536 Nilai Blue = 335.904 65536
Nilai Blue = 5 desimal = 00000101 biner Sehingga diperoleh nilai RGB pada piksel 3,0:
R = 32 desimal = 00100000 biner G = 32 desimal = 00100000 biner
B = 5 desimal = 00000101 biner 5.
Nilai piksel 0,4 adalah 010100111000110000000110 biner atau 5.475.334 desimal Nilai komponen Red dengan persamaan 3.4:
Nilai Red = 5.475.334 AND 255 Nilai Red = 6 desimal = 00000110 biner
Nilai komponen green dengan persamaan 3.6: Nilai Green = 5.475.334 AND 65.280256
Nilai Green = 35.840 256 Nilai Green = 140 desimal = 10001100 biner
Nilai komponen blue dengan persamaan 3.8: Nilai Blue = 5.475.334 AND 16.711.68065536
Nilai Blue = 5.475.334 65536 Nilai Blue = 83 desimal = 01010011 biner
Sehingga diperoleh nilai RGB pada piksel 4,0: R = 6 desimal = 00000110 biner
G = 140 desimal = 10001100 biner B = 83 desimal = 01010011 biner
Universitas Sumatera Utara
6. Nilai piksel 0,5 adalah 000010010000010101010010 biner atau 591.186 desimal
Nilai komponen Red dengan persamaan 3.4: Nilai Red = 591.186 AND 255
Nilai Red = 82 desimal = 01010010 biner Nilai komponen green dengan persamaan 3.6:
Nilai Green = 591.186 AND 65.280256 Nilai Green = 1.280 256
Nilai Green = 5 desimal = 00000101 biner Nilai komponen blue dengan persamaan 3.8:
Nilai Blue = 591.186 AND 16.711.68065536 Nilai Blue = 591.186 65536
Nilai Blue = 9 desimal = 00001001 biner Sehingga diperoleh nilai RGB pada piksel 5,0:
R = 82 desimal = 01010010 biner G = 5 desimal = 00000101 biner
B = 9 desimal = 00001001 biner 7.
Nilai piksel 0,6 adalah 011010100000001011010110 biner atau 6.947.542 desimal Nilai komponen Red dengan persamaan 3.4:
Nilai Red = 6.947.542 AND 255 Nilai Red = 214 desimal = 11010110 biner
Nilai komponen green dengan persamaan 3.6: Nilai Green = 6.947.542 AND 65.280256
Nilai Green 512 256 Nilai Green = 2 desimal = 00000010 biner
Nilai komponen blue dengan persamaan 3.8: Nilai Blue = 6.947.542 AND 16.711.68065536
Nilai Blue = 6.947.542 65536 Nilai Blue = 106 desimal = 01101010 biner
Sehingga diperoleh nilai RGB pada piksel 6,0: R = 214 desimal = 11010110 biner
G = 2 desimal = 00000010 biner B = 106 desimal = 01101010 biner
Universitas Sumatera Utara
8. Nilai piksel 0,7 adalah 110010011011001101000011 biner atau 13.218.627 desimal
Nilai komponen Red dengan persamaan 3.4: Nilai Red = 13.218.627 AND 255
Nilai Red = 67 desimal = 01000011 biner Nilai komponen green dengan persamaan 3.6:
Nilai Green = 13.218.627 AND 65.280256 Nilai Green = 45.824 256
Nilai Green = 179 desimal = 10110011 biner Nilai komponen blue dengan persamaan 3.8:
Nilai Blue = 13.218.627 AND 16.711.68065536 Nilai Blue = 13.218.627 65536
Nilai Blue = 201 desimal = 11001001 biner Sehingga diperoleh nilai RGB pada piksel 7,0:
R = 67 desimal = 01000011 biner G = 179 desimal = 10110011 biner
B = 201 desimal = 11001001 biner 9.
Nilai piksel 0,8 adalah 001000110000000001000000 biner atau 2.293.824 desimal Nilai komponen Red dengan persamaan 3.4:
Nilai Red = 2.293.824 AND 255 Nilai Red = 64 desimal = 01000000 biner
Nilai komponen green dengan persamaan 3.6: Nilai Green = 2.293.824 AND 65.280256
Nilai Green 000 256 Nilai Green = 0 desimal = 00000000 biner
10. Nilai piksel 0,9 adalah 010001101111011000000000 biner atau 4.650.496 desimal Nilai komponen Red dengan persamaan 3.4:
Nilai Red = 4.650.496 AND 255 Nilai Red = 0 desimal = 00000000 biner
Nilai komponen green dengan persamaan 3.6: Nilai Green = 4.650.496 AND 65.280256
Nilai Green = 62.976 256 Nilai Green = 246 desimal = 11110110 biner
Nilai komponen blue dengan persamaan 3.8: Nilai Blue = 4.650.496 AND 16.711.68065536
Nilai Blue = 4.650.496 65536 Nilai Blue = 70 desimal = 01000110 biner
Sehingga diperoleh nilai RGB pada piksel 9,0: R = 0 desimal = 00000000 biner
G = 246 desimal = 11110110 biner B = 70 desimal = 01000110 biner
Untuk menghitung piksel 0,10 sampai piksel 3,11 dilakukan dengan cara yang sama seperti diatas.
Universitas Sumatera Utara
3.1.3 Menghitung Nilai Piksel Citra Penyisip
Citra penyisip 24-bit merupakan informasi watermark yang akan disisipkan ke file citra penyisip terdiri dari piksel dan setiap piksel terdiri dari 3 tiga komposisi warna yaitu, Red,
Green, Blue RGB. Tiap warna memiliki nilai 0 = Red = 255, 0= Green =255, 0= Blue =255. Sehingga suatu warna akan berukuran 8 delapan bit dan setiap piksel
berukuran 24-bit.
Proses pertama adalah membaca header yang berisi informasi dimensi citra penyisip. Dimensi citra yang akan dijadikan penyisip harus berukuran maksimal 124 dari citra asli.
Hal ini dikarenakan setiap bit dari citra penyisip di tampung pada 1 satu bit dari tiap piksel citra asli 24-bit sehingga untuk menampung 1 piksel citra penyisip 24-bit dibutuhkan
24 piksel citra asli 24-bit, nilai piksel langsung diuraikan dalam data larik data bitmap. Sebagai contoh diberikan cuplikan data bitmap file citra asli dengan dimensi 2x2 piksel
seperti pada Gambar 3.5.
header file bitmap header bitmap info
larik data piksel 000010010000001100001001 100000001100010001100010
Gambar 3.5 Contoh data bitmap file citra penyisip. Pada citra asli di atas, data pertama adalah header yang berisi informasi pengenal file,
ukuran file, data kedalaman warna, dan data dimensi citra. Di bawah data bitmap terdapat piksel pertama yang bernilai 000010010000001100001001 24 bit dan selanjutnya sampai
piksel ke n.
3.1.4 Menghitung Nilai RGB Penyisip
Menghitung nilai RGB citra penyisip adalah sama dengan citra asli. Sebagai contoh sebuah matriks citra penyisip dengan dimensi 2x1 piksel dengan nilai piksel seperti pada Gambar 3.6
header file bitmap header bitmap info
larik data piksel 000010010000001100001001 100000001100010001100010
Universitas Sumatera Utara
Gambar 3.6 Contoh data bitmap file citra penyisip. Rumusan nilai warna:
Nilai Red dimulai dari ke-1 sd bit ke-8, untuk mencari nilai Red dapat menggunakan
persamaan 3.3.
Nilai Green dimulai dari bit ke-9 sd bit ke-16, untuk mencari nilai Green dapat
menggunakan persamaan 3.5.
Nilai Blue dimulai dari bit ke-17 sd bit ke-24, untuk mencari nilai Blue dapat menggunakan
persamaan 3.7. Dari larik data piksel citra Gambar 3.6 diperoleh:
1. Nilai piksel 0,0 adalah 000010010000001100001001 biner atau 590.601 desimal
Nilai komponen Red dengan persamaan 3.4: Nilai Red = 590.601 AND 255
Nilai Red = 9 desimal = 00001001 biner Nilai komponen green dengan persamaan 3.6:
Nilai Green = 590.601 AND 65.280256 Nilai Green 768 256
Nilai Green = 3 desimal = 00000011 biner Nilai komponen blue dengan persamaan 3.8:
Nilai Blue = 590.601 AND 16.711.68065536 Nilai Blue = 590.601 65536
Nilai Blue = 9 desimal = 00001001 biner Sehingga diperoleh nilai RGB pada piksel 0,0:
R = 9 desimal = 00001001 biner G = 3 desimal = 00000011 biner
B = 9 desimal = 00001001 biner
Universitas Sumatera Utara
2. Nilai piksel 0,1 adalah 100000001100010001100010 biner atau 8.438.882 desimal
Nilai komponen Red dengan persamaan 3.4: Nilai Red = 8.438.882 AND 255
Nilai Red = 98 desimal = 01100010 biner Nilai komponen green dengan persamaan 3.6:
Nilai Green = 8.438.882 AND 65.280256 Nilai Green = 50.176 256
Nilai Green = 196 desimal = 11000100 biner Nilai komponen blue dengan persamaan 3.8:
Nilai Blue = 8.438.882 AND 16.711.68065536 Nilai Blue = 8.438.882 65536
Nilai Blue = 128 desimal = 10000000 biner Sehingga diperoleh nilai RGB pada piksel 1,0:
R = 98 desimal = 01100010 biner G = 196 desimal = 11000100 biner
B = 128 desimal = 10000000 biner
3.1.5 Menghitung Posisi Piksel
Penyisipan bit-bit citra penyisip dengan algoritma MLSB dilakukan dengan cara menyisipkan bit-bit citra penyisip ke LSB ke-n sesuai dengan persamaan 3.2. Posisi piksel dari citra asli
4x24 piksel diambil dari Gambar 3.4 yang kemudian dihitung dengan persamaan 3.1 dapat dilihat pada tabel berikut:
Tabel 3.1 Tabel hasil perhitungan posisi piksel.
Posisi X Posisi Y Height Citra Asli Posisi Piksel
12 1
12 1
2 12
2 3
12 3
4 12
4 5
12 5
6 12
6 7
12 7
8 12
8 9
12 9
Universitas Sumatera Utara
Lanjutan Tabel 3.1 10
12 10
11 12
11 1
12 12
1 1
12 13
1 2
12 14
1 3
12 15
1 4
12 16
1 5
12 17
1 6
12 18
1 7
12 19
1 8
12 20
1 9
12 21
1 10
12 22
1 11
12 23
2 12
24 2
1 12
25 2
2 12
26 2
3 12
27 2
4 12
28 2
5 12
29 2
6 12
30 2
7 12
31 2
8 12
32 2
9 12
33 2
10 12
34 2
11 12
35 3
12 36
3 1
12 37
3 2
12 38
3 3
12 39
3 4
12 40
3 5
12 41
3 6
12 42
3 7
12 43
3 8
12 44
3 9
12 45
3 10
12 46
3 11
12 47
3 12
12 48
Universitas Sumatera Utara
Keterangan: Posisi X: Nilai X dari pikselX,Y
Posisi Y: Nilai Y dari pikselX,Y Heigth Citra Asli: Dimensi Y dari citra berukuran X,Y
Posisi Piksel: hasil perhitungan dengan menggunakan persamaan 3.1
3.1.6 Menyisipkan tiap bit-bit citra penyisip
Posisi penyisipan tiap bit-bit citra penyisip dilakukan dengan menggunakan persamaan 3.2, selanjutnya nilai bit-bit citra penyisip mengantikan nilai bit LSB ke-n dari komponen warna Blue citra
asli. Posis penyisipan bit-bit citra penyisip pada bit ke-n dari komponen warna Blue citra asli dapat dilihat pada Tabel 3.2.
Tabel 3.2 Tabel Penyisipan bit-bit penyisip
No. Nilai Biner Piksel Citra Asli
Posisi Piksel
Bit Citra
Penyi sip
n =Posisi Piksel
MOD 2 Nilai Biner Akhir Piksel X,Y
1 000001100000110000011000 0 0
0 000001 1 0 0000110000011000
2 001101000001000000010100
1 0 1 001101 0 0 0001000000010100
3 101000000110111000101011 2 0
0 101000 0 0 0110111000101011 4 100000011000000010110000
3 0 1 100000 0 1 1000000010110000
5 010001100101100010010001 4 1
0 010001 1 1 0101100010010001 6 100010001010010110000001
5 0 1 100010 0 0 1010010110000001
7 001000111111000100100010 6 0
0 001000 1 0 1111000100100010 8 010011001000110000000000
7 1 1 010011 1 0 1000110000000000
9 001000101100000010110111 8 0
0 001000 1 0 1100000010110111 10 010000101010000010100001
9 0 1 010000 0 0 1010000010100001
11 010010100100101111000011 10 0
0 010010 1 0 0100101111000011 12 010100110000101000000001
11 0 1 010100 0 1 0000101000000001
13 000001010010000000100000 12 0
0 000001 0 0 0010000000100000 14 101101000000111000000100
13 0 1 101101 0 0 0000111000000100
15 100100100011000000000000 14 1
0 100100 1 1 0011000000000000 16 000000001001000000010111
15 1 1 000000 1 0 1001000000010111
17 010100111000110000000110 16 0
0 010100 1 0 1000110000000110 18 000110000110000000110001
17 0 1 000110 0 0 0110000000110001
19 100011010010011011000000 18 0
0 100011 0 0 0010011011000000 20 010000001000101010000000
19 0 1 010000 0 0 1000101010000000
Universitas Sumatera Utara
Lanjutan Tabel 3.2
21 000010010000010101010010 20 1
0 000010 0 1 0000010101010010 22 100100000001110000011000
21 0 1 100100 0 0 0001110000011000
23 100011001001010000111110 22 0
0 100011 0 0 1001010000111110 24 010101011000100000101010
23 1 1 010101 1 1 1000100000101010
25 011010100000001011010110 24 1
0 011010 1 1 0000001011010110 26 011100000000001100000110
25 1 1 011100 1 0 0000001100000110
27 010000000101010100100100 26 0
0 010000 0 0 0101010100100100 28 101001000001000111001001
27 0 1 101001 0 0 0001000111001001
29 110010011011001101000011 28 1
0 110010 0 1 1011001101000011 30 011001100001000100001101
29 1 1 011001 1 0 0001000100001101
31 111000000100010000001110 30 0
0 111000 0 0 0100010000001110 32 101010010000000000101010
31 0 1 101010 0 1 0000000000101010
33 001000110000000001000000 32 1
0 001000 1 1 0000000001000000 34 100000000010110100001010
33 0 1 100000 0 0 0010110100001010
35 010001000001100101011000 34 0
0 010001 0 0 0001100101011000 36 000010001000010110110111
35 0 1 000010 0 0 1000010110110111
37 010001101111011000000000 36 0
0 010001 1 0 1111011000000000 38 000010001011101000010101
37 0 1 000010 0 0 1011101000010101
39 000000000100001010001110 38 0
0 000000 0 0 0100001010001110 40 101000000001101010000100
39 0 1 101000 0 0 0001101010000100
41 001110000111000000000100 40 0
0 001110 0 0 0111000000000100 42 100010000000000000100001
41 0 1 100010 0 0 0000000000100001
43 110000100010100111101010 42 0
0 110000 1 0 0010100111101010 44 101110010011110101010100
43 0 1 101110 0 1 0011110101010100
45 101101100111001110000001 44 1
0 101101 1 1 0111001110000001 46 000010010000001100001001
45 0 1 000010 0 1 0000001100001001
47 110011001000000000001000 46 0
0 110011 0 0 1000000000001000 48 110101000000100110010000
47 0 1 110101 0 0 0000100110010000
3.1.7 Menampilkan Citra ber-Watermarking
Setelah data citra asli disisipi bit-bit dari citra penyisip, data bit citra asli kemungkinan akan berubah sesuai dengan bit penyisip. Data piksel citra sebelum penyisipan dapat anda lihat pada Gambar 3.7
dan data piksel citra sesudah penyisipan dapat anda lihat pada Gambar 3.8. Perubahan nilai biner dan RGB lebih rinci dapat dilihat pada Tabel 3.3.
Universitas Sumatera Utara
Perubahan nilai pada komponen warna Blue tidak memberikan perubahan warna yang significant karena sentifitas mata manusia terhadap warna biru sangat kecil, sehingga
memungkinkan untuk melakukan perubahan nilai tanpa bisa dideteksi secara kasat mata.
header file bitmap header bitmap info
larik data piksel 000001100000110000011000 001101000001000000010100 101000000110111000101011 100000011000000010110000
010001100101100010010001 100010001010010110000001 001000111111000100100010 010011001000110000000000 001000101100000010110111 010000101010000010100001 010010100100101111000011 010100110000101000000001
000001010010000000100000 101101000000111000000100 100100100011000000000000 000000001001000000010111 010100111000110000000110 000110000110000000110001 100011010010011011000000 010000001000101010000000
000010010000010101010010 100100000001110000011000 100011001001010000111110 010101011000100000101010 011010100000001011010110 011100000000001100000110 010000000101010100100100 101001000001000111001001
110010011011001101000011 011001100001000100001101 111000000100010000001110 101010010000000000101010 001000110000000001000000 100000000010110100001010 010001000001100101011000 000010001000010110110111
010001101111011000000000 000010001011101000010101 000000000100001010001110 101000000001101010000100 001110000111000000000100 100010000000000000100001 110000100010100111101010 101110010011110101010100
101101100111001110000001 000010010000001100001001 110011001000000000001000 110101000000100110010000
Gambar 3.7 Data Bit citra asli.
header file bitmap header bitmap info
larik data piksel 000001100000110000011000 001101000001000000010100 101000000110111000101011 100000011000000010110000
010001110101100010010001 100010001010010110000001 001000101111000100100010 010011101000110000000000 001000101100000010110111 010000001010000010100001 010010100100101111000011 010100010000101000000001
000001000010000000100000 101101000000111000000100 100100110011000000000000 000000101001000000010111 010100101000110000000110 000110000110000000110001 100011000010011011000000 010000001000101010000000
000010010000010101010010 100100000001110000011000 100011001001010000111110 010101111000100000101010 011010110000001011010110 011100100000001100000110 010000000101010100100100 101001000001000111001001
110010011011001101000011 011001100001000100001101 111000000100010000001110 101010010000000000101010 001000110000000001000000 100000000010110100001010 010001000001100101011000 000010001000010110110111
010001101111011000000000 000010001011101000010101 000000000100001010001110 101000000001101010000100 001110000111000000000100 100010000000000000100001 110000100010100111101010 101110010011110101010100
101101110111001110000001 000010010000001100001001 110011001000000000001000 110101000000100110010000
Gambar 3.8 Data Bit citra asli sesudah penyisipan.
Universitas Sumatera Utara
Tabel 3.3 Tabel Nilai RGB
Piksel x,y Sebelum penyisipan
Setelah penyisipan Biner
R G
B Biner
R G
B 0,0
000001100000110000011000 24 12 6 000001100000110000011000 24 12
6 0,1
010001100101100010010001 145 88 71 010001110101100010010001 145 88 70 0,2
001000101100000010110111 183 192 34 001000101100000010110111 183 192 34 0,3
000001010010000000100000 32 32 4 000001000010000000100000 32 32
5 0,4
010100111000110000000110 6 140 82 010100101000110000000110 6 140 83 0,5
000010010000010101010010 82 5
9 000010010000010101010010 82 5
9 0,6
011010100000001011010110 214 2 107 011010110000001011010110 214 2 106 0,7
110010011011001101000011 67 179 201 110010011011001101000011 67 179 201 0,8
001000110000000001000000 64 35 001000110000000001000000 64
35 0,9
010001101111011000000000 0 246 70 010001101111011000000000 0 246 70 0,10
001110000111000000000100 4 112 56 001110000111000000000100 4 112 56 0,11
101101100111001110000001 129 115 183 101101110111001110000001 129 115 182 1,0
001101000001000000010100 20 16 52 001101000001000000010100 20 16 52 1,1
100010001010010110000001 129 165 136 100010001010010110000001 129 165 136 1,2
010000101010000010100001 161 160 64 010000001010000010100001 161 160 66 1,3
101101000000111000000100 4 14 180 101101000000111000000100 4
14 180 1,4
000110000110000000110001 49 96 24 000110000110000000110001 49 96 24 1,5
100100000001110000011000 24 28 144 100100000001110000011000 24 28 144 1,6
011100000000001100000110 6 3 114 011100100000001100000110 6
3 112 1,7
011001100001000100001101 13 17 102 011001100001000100001101 13 17 102 1,8
100000000010110100001010 10 45 128 100000000010110100001010 10 45 128 1,9
000010001011101000010101 21 186 8 000010001011101000010101 21 186 8 1,10
100010000000000000100001 33 0 136 100010000000000000100001 33
0 136 1,11
000010010000001100001001 9 3
9 000010010000001100001001 9 3
9 2,0
101000000110111000101011 43 110 160 101000000110111000101011 43 110 160 2,1
001000111111000100100010 34 241 34 001000101111000100100010 34 241 35 2,2
010010100100101111000011 195 75 74 010010100100101111000011 195 75 74 2,3
100100100011000000000000 0 48 147 100100110011000000000000 0
48 146 2,4
100011010010011011000000 192 38 140 100011000010011011000000 192 38 141 2,5
100011001001010000111110 62 148 140 100011001001010000111110 62 148 140 2,6
010000000101010100100100 36 85 64 010000000101010100100100 36 85 64 2,7
111000000100010000001110 14 68 224 111000000100010000001110 14 68 224 2,8
010001000001100101011000 88 25 68 010001000001100101011000 88 25 68 2,9
000000000100001010001110 142 66 0 000000000100001010001110 142 66
2,10 110000100010100111101010 234 41 194 110000100010100111101010 234 41 194
2,11 110011001000000000001000 8 128 204 110011001000000000001000 8 128 204
3,0 100000011000000010110000 176 128 129 100000011000000010110000 176 128 129
Universitas Sumatera Utara
Lanjutan Tabel 3.3
3,1 010011001000110000000000 0 140 78 010011101000110000000000 0 140 76
3,2 010100110000101000000001 1
10 81 010100010000101000000001 1 10 83
3,3 000000001001000000010111 23 144 2 000000101001000000010111 23 144 0
3,4 010000001000101010000000 128 138 64 010000001000101010000000 128 138 64
3,5 010101011000100000101010 42 136 87 010101111000100000101010 42 136 85
3,6 101001000001000111001001 201 17 164 101001000001000111001001 201 17 164
3,7 101010010000000000101010 42
0 169 101010010000000000101010 42 0 169
3,8 000010001000010110110111 183 133 8 000010001000010110110111 183 133 8
3,9 101000000001101010000100 132 26 160 101000000001101010000100 132 26 160
3,10 101110010011110101010100 84 61 185 101110010011110101010100 84 61 185
3,11 110101000000100110010000 144 9 212 110101000000100110010000 144 9 212
Universitas Sumatera Utara
3.1.8 Flowchart
Flowchart Analisis Ketahanan Watermark Citra Dengan Algoritma Modified Least Significant Bit LSB adalah diagram chart yang menggambarkan proses pada sistem watermarking seperti pada Gambar
3.9.
Gambar 3.9 Flowchart Proses Watermarking.
Start
Input Citra Asli, Citra Penyisip
Hitung Nilai Piksel Citra Asli
Hitung Nilai Piksel Citra Penyisip
Jika Posisi Piksel No
Yes Lakukan penyisipan
bit citra penyisip ke komponen warna
Blue LSB ke-1 citra asli
Pembentukan Citra Watermarking
Citra Watermarking
Stop Lakukan penyisipan
bit citra penyisip ke komponen warna
Blue LSB ke-2 citra asli
Hitung Posisi Piksel Citra Asli
Universitas Sumatera Utara
Keterangan gambar: Setiap piksel citra asli dilakukan menghitung nilai biner RGB citra dan nilai RGB penyisip. Setelah nilai
biner citra dan penyisip diperoleh, maka dilakukan penyisipan, jika posisi piksel genap maka nilai nilai biner penyisip akan disisipkan di nilai LSB Blue yang ke-1 dan jika posisi piksel ganjil akan di
sisipkan di posisi LSB Blue ke-2.
Flowchart yang menggambarkan proses ekstraksi pada sistem watermarking seperti pada Gambar 3.10.
Gambar 3.10 Flowchart Proses Ekstraksi.
Start
Input Citra Ber-watermarking, Citra Penyisip
Hitung Nilai Piksel Citra ber-watermark
Hitung Dimensi Citra Penyisip
No Yes
Ambil bit citra penyisip LSB ke-1
pada komponen Blue pada piksel citra ber-
watermark Pembentukan Citra Penyisip
Citra Penyisip
Stop Ambil bit citra
penyisip LSB ke-2 pada komponen Blue
pada piksel citra ber- watermark
Hitung Posisi Piksel Citra ber-watermark
Jika Posisi Piksel
Hitung Bit Error Ratio BER
Universitas Sumatera Utara
Keterangan gambar: Setiap bit LSB komponen Blue dari setiap piksel citra ber-watermarking diambil sesuai
dengan persamaan 3.2. Kemudian bit-bit yang diambil di rekonstruksi dengan menggabungkannya menjadi bilangan biner 24-bit, selanjutnya bilangan biner 24-bit tersebut
di bentuk sesuai dengan dimensi citra penyisip yang dimasukkan. Setelah proses ekstraksi selesai lalu nilai Bit Error Ratio dihitung.
Diagram Konteks
Diagram konteks Analisis Ketahanan Watermark Citra Dengan Algoritma MLSB adalah gambaran sistem secara garis besarnya. Diagram konteks yang dirancang terdiri proses
watermarking dan proses ekstraksi. Pada proses watermaking, User adalah sebuah entitas memberikan file citra asli dan file citra penyisip sebagai label signature citra digital dan
menerima citra ber-watermarking dari sistem seperti pada Gambar 3.11.
Gambar 3.11 Diagram Konteks watermarking. Keterangan:
1. Proses 1 adalah Watermarking yaitu User sebagai pengguna sistem memberikan data
berupa file citra asli dan file citra penyisip ke sistem, selanjutnya sistem melakukan proses dan menghasilkan file citra digital watermarking.
2. Proses 2 adalah Ekstraksi yaitu User sebagai pengguna sistem memberikan data berupa
file citra asli dan file citra ber-watermarking ke sistem, selanjutnya sistem melakukan proses menghasilkan citra.
Pada proses ekstraksi, User adalah sebuah entitas memberikan file citra ber- watermarking dan file citra penyisip sebagai label signature citra digital dan menerima citra
ber-watermarking dari sistem seperti pada Gambar 3.12.
Citra Asli, Citra Penyisip Perangkat Lunak
Watermarking Dengan
Algoritma MSLB
USER
Citra Watermarking
Universitas Sumatera Utara
Gambar 3.12 Diagram Konteks ekstraksi.
3.1.9 DFD Level 1
Untuk menggambarkan sistem secara lebih detil, maka dibuatkan diagram yang terdiri proses-proses antara lain proses Penyisipan Algoritma Modified LSB, proses Ekstraksi. DFD
Level 1 dapat dilihat seperti pada Gambar 3.13.
Gambar 3.13 DFD Perangkat Lunak Tingkat 1. Keterangan gambar:
User Memasukkan citra Asli dan citra penyisip untuk melakukan proses watermarking, setelah citra ber-watermark jadi, user kemudian melakukan seranganpengujian, kemudian
user memasukkan citra hasil serangan dan penyisip asli.
3.1.10 DFD Level 1 Proses
Watermarking
Untuk menggambarkan sistem secara lebih detil proses Penyisipan MLSB, maka dibuatkan diagram yang terdiri proses-proses seperti pada Gambar 3.14.
Perangkat Lunak
Watermarking Dengan
USER
Citra Ekstraksi Citra ber-watermark,
Proses Watermarking
Citra Asli Citra Ber-Watermark
USER
Citra Penyisip Citra Penyisip
Citra Ber-Watermark
Proses Ekstraksi
Hasil Ekstraksi
Universitas Sumatera Utara
Gambar 3.14 DFD Level 1 Proses Watermarking.
Keterangan gambar: 1.
Proses 1.1 pembacaan jumlah piksel penyisip. 2.
Proses 1.2 pembacaan nilai RGB setiap piksel citra penyisip. 3.
Proses 1.3 mennghitung nilai bit penyisip untuk proses penyisipan.
Citra Asli
Citra Watermarking 1
1.1 Hitung
jumlah piksel
3.0 Mencari
letak biner 4.0
Penyisipan ke
komponen Citra
Watermarking
Nilai Piksel 5.0
Citra ber- Watermarki
Citra Penyisip
1.3 Hitug bit – bit citra
penyisip
Nilai Biner 2.2
Pembacaan Nilai Piksel
Nilai Piksel
Nilai biner citra asli
2.3 Pembacaan
nilai biner k
2.1 Hitung
jumlah ik
l it
USER
2.2 Pembacaan
Nilai Piksel
Nilai biner citra penyisip
Universitas Sumatera Utara
4. Proses 2.1 menghitung jumlah piksel citra asli.
5. Proses 2.2 menghitung nilai piksel citra.
6. Proses 2.3 menghitung nilai biner komponen warna Blue
7. Proses 3.0 mencari letak penyisipan bit-bit citra penyisip.
8. Proses 4.0 melakukan penyisipan bit-bit citra penyisip ke komponen warna blue citra
asli 9.
Citra ber-watermark
3.1.11 DFD Level 1 Ekstraksi
DFD Level 1 Ekstraksi adalah gambaran proses untuk mendapatkan citra penyisip dari dalam file citra yang ber-watermark. DFD Level 0 Ekstraksi dapat dilihat seperti pada Gambar 3.15.
Keterangan gambar: 1.
Proses 1.1 adalah pada file citra ber-watermark dilakukan proses pembacaan nilai bit RGB piksel.
USER
Citra Penyisip Asli 1.1
Hitung Nilai Piksel
3.1 Menampilka
n Citra Ek t k i d
Citra Penyisip Nilai Piksel
Nilai Piksel Citra Watermarking
1.3 Rekonstruksi
Citra 2.1
Hitung Nilai Piksel Citra
P i i
1.2Pembacaan Nilai bit LSB 1
dan LSB 2
Bit-bit LSB 2.2
Menampilkan Citra Penyisip
Citra Penyisip Nilai BER
Gambar 3.15 DFD Level 1 Ekstraksi.
Universitas Sumatera Utara
2. Proses 1.2 adalah pembacaan bit LSB ke-1 dan LSB ke-2 sesuai dengan posisi piksel
citra. 3.
Proses 1.3 adalah rekonstruksi nilai piksel penyisip dari hasil proses 1.2. 4.
Proses 2.1 adalah pembacaan nilai piksel label penyisip asli sebagai pembanding bit- bit yang error dalam perhitungan BER.
5. Proses 2.2 adalah menampilkan citra penyisip ekstraksi
6. Proses 3.1 adalah menampilkan citra penyisip dan nilai BER.
3.2 Perancangan Antarmuka Interface