Kemudian pada matriks tersebut dilakukan transformasi DCT dan hasilnya adalah blok matriks DCT berikut :
773,2500 -7,7091 -1,7289 -1,8076 -2,5000
0,0572 -0,9075
-0,8215 -10,2208
-1,8328 -0,4267 0,0927
-0,5059 -0,0619 -0,3137 -0,1354 -1,0592 -0,5777 1,3321 1,0743 1,5772 0,5214
-0,0518 0,1896 Bwâ = -0,4589
-2,8917 -24,2794 1,2397 -0,2038 -0,3283 -0,3406 0,5752
-0,7500 26,2379 0,4223 -0,4095 1,0000
-0,5120 0,3663 -0,4192
0,0091 -1,0020 -0,6768 -0,6516 -0,6495 0,1013 0,1653 0,1993
0,7093 0,0956
-0,3018 -0,1510
-0,1121 -0,4124
-0,0821 -0,0499
0,7580 0,5413 -0,2228 -0,0291 -0,1753 0,0194 0,1898
-0,0082
Proses identifikasi bit yang disisipkan adalah hanya dengan membandingkan koefisien DCT 5,2 dengan koefisien 4,3. Apabila koefisien 5,2 lebih besar atau
sama dengan koefisien 4,3, maka bit watermark yang disisipkan adalah 0. Sedangkan apabila koefisien 5,2 lebih kecil daripada koefisien 4,3, maka bit
watermark yang disisipkan adalah 1. Oleh karena pada matriks tersebut koefisien 5,2 lebih besar daripada koefisien 4,3, maka dapat diidentifikasi bahwa bit watermark
yang disisipkan adalah 0.
3.5 Analisis Transparansi dan Ketahanan
Proses watermarking selalu berkaitan dengan kriteria-kriteria yang harus diperhatikan dalam penyembunyian data, yaitu fidelity transparansi, robustness ketahanan, dan
security keamanan. Ketiga kriteria tersebut tidak dapat diutamakan secara keseluruhan dalam watermarking sehingga terjadi trade off timbale-balik dalam
implementasinya seperti gambar 3.4 berikut :
Universitas Sumatera Utara
Fidelity
Robustness Security
Trade off
Gambar 3.4 Trade Off Dalam Watermarking
Dalam penelitian ini, kategori yang diunggulkan adalah fidelity. Kategori robustness juga diperhatikan dengan bagian yang hampir mendekati fidelity
sedangkan security merupakan kategori dengan bagian terkecil. Untuk dapat mengimplementasikan fidelity transparansi, maka digunakan transformasi DCT
karena bit watermark yang disisipkan pada domain frekuensi akan terlihat sulit tampak oleh indera penglihatan. Kegunaan transformasi DCT ini juga dapat dilihat
dari ketahanan citra ter-watermark dari serangan-serangan, terutama kompresi JPEG. Popularitas kompresi yang meningkat saat ini membuat citra ter-watermark harus
tahan terhadap hal tersebut. Untuk melihat pencapaian fidelity dan robustness tersebut, maka digunakan nilai korelasi untuk membandingkan kemiripan antar citra seperti
yang terdapat pada Bab 2 sub bab 2.6. Korelasi antara citra asli dan citra ter- watermark akan dihitung untuk melihat tingkat fidelity transparansi.
Dalam penelitian ini dilakukan pengujian beberapa serangan attack terhadap citra ter-watermark untuk mengetahui tingkat robustness ketahanan, yaitu berupa
rotasi, cropping, scaling, kompresi, dan penambahan noise. Tingkat robustness ketahanan diukur dari nilai korelasi antara watermark sebelum penyisipan dan
watermark hasil ekstraksi citra yang telah mengalami serangan-serangan tersebut.
3.6 Analisis Fungsional Sistem
Model fungsional sistem digambarkan dengan DFD Data Flow Diagram yang menggambarkan aliran data di dalam sistem dan aliran data antara sistem dengan
Universitas Sumatera Utara
entitas eksternal. Pada beberapa sub-bab berikut ini dipaparkan DFD yang berkaitan dengan sistem watermarking beserta penjelasan masing-masing proses di dalamnya.
3.6.1 DFD level 0
DFD level 0 atau disebut juga context diagram menggambarkan interaksi sistem dengan entitas-entitas eksternal. Selain itu, pada DFD level 0 ditunjukkan masukan
input dan keluaran output sistem secara global. DFD level 0 untuk sistem watermarking ditunjukkan pada gambar 3.5. Masing-masing entitas data yang
tercantum pada DFD level 0 dipaparkan pada tabel 3.2.
Pengguna Simple
Watermark Citra Asli
Citra Watermark Citra Ter-watermark
Citra Pengujian Citra Hasil Ekstraksi
Watermark Hasil Ekstraksi
Korelasi
Gambar 3.5 DFD Level 0
Tabel 3.2 Entitas Data Dalam DFD Level 0
Nama Ket erangan
Citra Asli Citra yang akan disisipi
waterm ark. Citra
Wat ermark Citra monokrom berwarna hitam putih yang akan disisipkan ke dalam
citra asli. Citra Ter-
wat ermark Citra yang t elah disisipkan
waterm ark. Citra Pengujian
Citra ter- waterm ark yang digunakan dalam proses ekst raksi.
Citra Hasil Ekstraksi Citra asli yang diperoleh dari hasil ekstraksi citra pengujian.
Waterm ark Hasil Ekstraksi Citra
wat ermark yang diperoleh dari hasil ekstraksi citra pengujian.
Universitas Sumatera Utara
Korelasi Nilai yang m enyat akan kemiripan baik ant ara citra asli dengan citra
hasil ekstraksi maupun antara citra wat ermark dengan wat ermark hasil
ekstraksi. Nilai maksimum dari korelasi adalah 1.
3.6.2 DFD level 1
DFD level 1 menggambarkan internal sistem secara global. Pada DFD level 1 ini ditampilkan proses-proses utama dalam sistem dan interaksinya baik dengan entitas
eksternal maupun dengan proses yang lain. DFD level 1 untuk sistem watermarking ini ditunjukkan pada gambar 3.6. Entitas data yang ada pada DFD level 1 sama
dengan entitas data pada DFD level 0.
Pengguna
Penyisipan Watermark
1.1
Ekstraksi Watermark
1.2
Citra Asli Citra Watermark
Citra Ter-watermark
Korelasi Citra Pengujian
Citra Watermark
Citra Hasil Ekstraksi
Watermark Hasil Ekstraksi
Korelasi
Gambar 3.6 DFD Level 1
Proses penyisipan watermark 1.1 adalah proses untuk menyisipkan citra watermark ke dalam citra asli. Masukan input untuk proses ini adalah citra asli dan
citra watermark. Keluaran output dari proses ini adalah citra ter-watermark dan korelasi. Korelasi pada proses penyisipan ini merupakan nilai kemiripan antara citra
asli dengan citra ter-watermark.
Proses ekstraksi watermark 1.2 adalah proses pemisahan citra asli dan citra watermark dari citra pengujian. Masukan input dari proses ini adalah citra pengujian
Universitas Sumatera Utara
dan citra watermark. Citra pengujian adalah citra ter-watermark yang ingin diekstrak. Sedangkan citra watermark digunakan untuk dibandingkan dengan citra watermark
hasil ekstraksi. Keluaran output dari proses ini adalah citra hasil ekstraksi, watermark hasil ekstraksi, dan korelasi. Korelasi pada proses ekstraksi ini merupakan
nilai kemiripan antara citra watermark dengan watermark hasil ekstraksi.
3.6.3 DFD level 2 untuk proses penyisipan watermark
Pada DFD level 2, proses penyisipan watermark dijabarkan menjadi proses yang mengambil data citra ter-watermark untuk kemudian dibandingkan dengan data citra
asli. DFD level 2 untuk proses penyisipan diperlihatkan pada gambar 3.7.
Baca Data Citra Asli
1.1.1
Baca Data Citra Watermark
1.1.3
Encode Watermark
1.1.2
Bandingkan Data Watermark
1.1.4
Citra Asli
Citra Watermark
Matriks Data Citra Asli
Citra Terwatermark
Matriks Data Citra Asli
Matriks Citra Watermark
Matriks Citra Terwatermark
Korelasi
Gambar 3.7 DFD Level 2 Untuk Proses Penyisipan Watermark
Proses baca data citra asli 1.1.1 adalah proses yang membaca data citra asli. Masukan input dari proses ini adalah citra asli yang berupa citra dengan format .bmp
atau .jpg. Keluaran output dari proses ini adalah matriks data citra asli yang berisi nilai-nilai pixel citra asli.
Universitas Sumatera Utara
Proses encode watermark 1.1.2 adalah proses yang melakukan penyisipan citra watermark dengan metode DCT. Masukan input dari proses ini adalah matriks
citra asli dan matriks citra watermark. Keluaran output proses ini adalah citra ter- watermark dan matriks citra ter-watermark.
Proses baca data citra watermark 1.1.3 adalah proses yang membaca data citra watermark. Masukan input dari proses ini adalah citra watermark yaitu citra
monokrom hitam putih dengan format .bmp. Ukuran maksimal citra watermark adalah setengah kali lebih kecil daripada ukuran citra asli. Keluaran output proses ini
adalah matriks citra watermark yang berisi nilai-nilai pixel citra watermark.
Proses bandingkan data
watermark 1.1.4 adalah proses yang
membandingkan nilai dari matriks data citra asli dengan matriks citra ter-watermark. Masukan input dari proses ini adalah matriks data citra asli dan matriks citra ter-
watermark. Keluaran output proses ini adalah korelasi yang menyatakan kemiripan antara citra ter-watermark dengan citra asli. Nilai maksimal dari korelasi adalah 1.
Oleh karena itu, apabila nilai korelasi semakin mendekati 1 maka kedua citra tersebut semakin sulit dibedakan.
Masing-masing entitas data yang tercantum pada DFD level 2 untuk proses penyisipan dipaparkan pada tabel 3.3 berikut.
Tabel 3.3 Entitas Data Dalam DFD Level 2 Untuk Proses Penyisipan
Nama Ket erangan
Matriks data citra asli Nilai-nilai
pixel dari citra asli. Matriks data citra
wat ermark Nilai-nilai
pixel dari citra waterm ark. Matriks citra t er-
wat ermark Nilai-nilai
pixel dari citra t er-wat ermark.
3.6.4 DFD level 2 untuk proses ekstraksi watermark
Pada DFD level 2, proses ekstraksi watermark dijabarkan menjadi proses yang mengambil data citra pengujian untuk kemudian dibandingkan dengan data citra
Universitas Sumatera Utara
watermark hasil ekstraksi. DFD level 2 untuk proses penyisipan diperlihatkan pada gambar 3.8.
Baca Data Citra Watermark
1.2.1
Baca Data Citra Pengujian
1.2.3
Decode Watermark
1.2.4
Bandingkan Data Watermark
1.2.2
Citra Pengujian
Matriks Data Citra Watermark
Citra Hasil Ekstraksi
Matriks Citra Pengujian
Matriks Watermark Terekstraksi
Korelasi
Watermark Hasil Ekstraksi
Citra Watermark
Gambar 3.8 DFD Level 2 Untuk Proses Ekstraksi Watermark
Proses baca data citra watermark 1.2.1 adalah proses yang membaca data citra watermark. Masukan input dari proses ini adalah citra watermark yaitu citra
monokrom hitam putih dengan format .bmp. Ukuran maksimal citra watermark adalah setengah kali lebih kecil daripada ukuran citra asli. Keluaran output proses ini
adalah matriks citra watermark yang berisi nilai-nilai pixel citra watermark.
Proses bandingkan data
watermark 1.2.2 adalah proses yang
membandingkan nilai dari matriks watermark ter-ekstraksi dengan matriks data citra watermark. Masukan input dari proses ini adalah matriks watermark ter-ekstraksi
dan matriks data citra watermark. Keluaran output proses ini adalah korelasi yang menyatakan kemiripan antara citra watermark dengan watermark hasil ekstraksi. Nilai
Universitas Sumatera Utara
maksimal dari korelasi adalah 1. Oleh karena itu, apabila nilai korelasi semakin mendekati 1 maka kedua citra tersebut semakin sulit dibedakan.
Proses baca data citra pengujian 1.2.3 adalah proses yang membaca data citra pengujian. Masukan input dari proses ini adalah citra pengujian yang berupa
citra ter-watermark dengan format .bmp atau .jpg. Keluaran output dari proses ini adalah matriks citra pengujian yang berisi nilai-nilai pixel citra pengujian.
Proses decode watermark 1.2.4 adalah kebalikan dari proses encode watermark 1.1.2. Proses ini melakukan ekstraksi data watermark dari sebuah citra
pengujian. Masukan input dari proses ini adalah matriks citra pengujian. Keluaran output proses ini adalah citra hasil ekstraksi, watermark hasil ekstraksi, dan matriks
watermark ter-ekstraksi.
Masing-masing entitas data yang tercantum pada DFD level 2 untuk proses ekstraksi dipaparkan pada tabel 3.4 berikut.
Tabel 3.4 Entitas Data Dalam DFD Level 2 Untuk Proses Ekstraksi
Nama Ket erangan
Matriks citra pengujian Nilai-nilai
pixel dari citra pengujian. Matriks data citra
wat ermark Nilai-nilai
pixel dari citra waterm ark. Matriks
wat ermark t er-ekstraksi Nilai-nilai
pixel dari citra waterm ark hasil ekstraksi.
3.6.5 DFD level 3 untuk proses encode watermark
Proses encode watermark melakukan transformasi DCT pada citra asli dan kemudian memodifikasi koefisien DCT sesuai dengan data watermark yang akan disisipkan.
Setelah modifikasi dilakukan, maka citra ditransformasikan ke bentuk semulai dengan menggunakan transformasi IDCT invers dari DCT. DFD level 3 untuk proses ini
ditampilkan pada gambar 3.9.
Universitas Sumatera Utara
Transformasi DCT
1.1.2.1
Modifikasi Koefisien DCT
1.1.2.2
Invers DCT
Tulis Data Citra
Matriks Data Citra Asli
Matriks Citra Watermark
Matriks Hasil DCT
Matriks Hasil DCT Termodifikasi
Matriks Data Citra Ter-watermark
Citra Ter-watermark
1.1.2.3 1.1.2.4
Matriks Citra Ter-watermark
Gambar 3.9 DFD Level 3 Untuk Proses Encode Watermark
Proses transformasi DCT 1.1.2.1 adalah proses untuk mentransformasikan matriks data citra asli ke dalam domain DCT sehingga menghasilkan matriks yang
berisi koefisien-koefisien DCT. Masukan input dari proses ini adalah matriks data citra asli. Sedangkan keluaran output proses ini adalah matriks hasil DCT.
Proses modifikasi koefisien DCT 1.1.2.2 adalah proses untuk memodifikasi matriks hasil DCT dari citra asli berdasarkan bit watermark yang disisipkan. Oleh
karena itu, matriks citra watermark harus disusun dahulu menjadi matriks 1 x 1 yang berisi nilai-nilai pixel 1 atau 0 disebut bit. Masukan input dari proses ini adalah
matriks hasil DCT. Sedangkan keluaran output proses ini adalah matriks hasil DCT termodifikasi.
Proses invers DCT 1.1.2.3 adalah proses untuk mentransformasikan kembali matriks DCT hasil modifikasi ke dalam domain spatial ruang. Masukan input dari
proses ini adalah matriks hasil DCT termodifikasi. Sedangkan keluaran output proses ini adalah matriks data citra ter-watermark, yaitu nilai-nilai pixel dari citra ter-
watermark.
Universitas Sumatera Utara
Proses tulis data citra 1.1.2.4 adalah proses untuk menuliskan matriks data citra ter-watermark yang berisi nilai-nilai pixel ke dalam data citra digital. Nilai-nilai
matriks tersebut akan diubah menjadi warna RGB. Masukan input dari proses ini adalah matriks data citra ter-watermark. Sedangkan keluaran output proses ini
adalah citra ter-watermark dan matriks citra ter-watermark. Nilai dari matriks citra ter-watermark adalah sama dengan nilai matriks data citra ter-watermark. Matriks
citra ter-watermark dikirim untuk proses korelasi yang telah disebutkan dalam DFD level 2 untuk proses penyisispan.
Masing-masing entitas data yang tercantum pada DFD level 3 untuk proses encode watermark dipaparkan pada tabel 3.5 berikut.
Tabel 3.5 Entitas Data Dalam DFD Level 3 Untuk Proses Encode Watermark
Nama Ket erangan
Matriks hasil DCT Matriks yang berisi koefisien-koefisien DCT hasil transformasi.
Matriks hasil DCT termodifikasi
Matriks yang berisi koefisien-koefisien DCT yang telah dimodifikasi berdasarkan dat a
w aterm ark yang disisipkan. Matriks data citra t er-
wat ermark Nilai-nilai
pixel dari citra yang telah disisipkan wat ermark.
3.6.6 DFD level 3 untuk proses decode watermark
Proses decode watermark melakukan transformasi DCT pada citra pengujian dan kemudian mengambil data watermark yang disisipkan. DFD level 3 untuk proses ini
ditampilkan pada gambar 3.10.
Universitas Sumatera Utara
Transformasi DCT
1.2.4.1
Matriks Citra Pengujian
Modifikasi Koefisien DCT
Invers DCT
Tulis Data Citra
Matriks Hasil DCT Dengan
Keterangan Bit
Matriks Hasil DCT Termodifikasi
Matriks Data Citra Ter-ekstraksi
Citra Hasil Ekstraksi
Baca Bit Yang Disisipkan
Tulis Data Watermark
Matriks Hasil DCT
Matriks Watermark Ter-ekstraksi
Watermark Hasil Ekstraksi
Matriks Watermark Ter-ekstraksi
1.2.4.2 1.2.4.3
1.2.4.4 1.2.4.5
1.2.4.6
Gambar 3.10 DFD Level 3 Untuk Proses Decode Watermark
Proses transformasi DCT 1.2.4.1 adalah proses untuk mentransformasikan matriks data citra asli ke dalam domain DCT sehingga menghasilkan matriks yang
berisi koefisien-koefisien DCT. Masukan input dari proses ini adalah matriks citra pengujian. Sedangkan keluaran output proses ini adalah matriks hasil DCT.
Proses baca bit yang disisipkan 1.2.4.2 adalah proses pembacaan bit yang disisipkan pada matriks hasil DCT saat dimodifikasi. Masukan input dari proses ini
adalah matriks hasil DCT. Sedangkan keluaran output proses ini adalah matriks watermark ter-ekstraksi dan matriks hasil DCT dengan keterangan bit.
Proses tulis data watermark 1.2.4.3 adalah proses untuk menuliskan matriks watermark ter-ekstraksi yang berisi nilai-nilai bit ke dalam data citra digital. Nilai-
nilai matriks tersebut akan diubah menjadi citra monokrom. Masukan input dari proses ini adalah matriks watermark ter-ekstraksi. Sedangkan keluaran output proses
ini adalah watermark hasil ekstraksi dan matriks watermark ter-estraksi. Matriks watermark ter-ekstraksi dikirim untuk proses korelasi yang telah disebutkan dalam
DFD level 2 untuk proses ekstraksi.
Universitas Sumatera Utara
Proses modifikasi koefisien DCT 1.2.4.4 adalah proses untuk memodifikasi matriks hasil DCT dari citra pengujian berdasarkan keterangan bit watermark yang
dikirimkan. Tujuan dari modifikasi ini adalah untuk mendapatkan citra hasil ekstraksi yang mirip dengan citra asli sebelum ekstraksi. Masukan input dari proses ini adalah
matriks hasil DCT dengan keterangan bit. Sedangkan keluaran output proses ini adalah matriks hasil DCT termodifikasi.
Proses invers DCT 1.1.2.3 adalah proses untuk mentransformasikan kembali matriks hasil DCT yang telah dilepaskan bit watermark-nya ke dalam domain spatial
ruang. Masukan input dari proses ini adalah matriks hasil DCT termodifikasi. Sedangkan keluaran output proses ini adalah matriks data citra ter-ekstraksi, yaitu
nilai-nilai pixel dari citra hasil ekstraksi.
Proses tulis data citra 1.1.2.4 adalah proses untuk menuliskan matriks data citra ter-ekstraksi yang berisi nilai-nilai pixel ke dalam data citra digital. Nilai-nilai
matriks tersebut akan diubah menjadi warna RGB. Masukan input dari proses ini adalah matriks data citra ter-ekstraksi. Sedangkan keluaran output proses ini adalah
citra hasil ekstraksi.
Masing-masing entitas data yang tercantum pada DFD level 3 untuk proses decode watermark dipaparkan pada tabel 3.6 berikut.
Tabel 3.6 Entitas Data Dalam DFD Level 3 Untuk Proses Decode Watermark
Nama Ket erangan
Matriks hasil DCT Matriks yang berisi koefisien-koefisien DCT hasil transformasi.
Matriks wat ermark t er-ekstraksi
Nilai-nilai dari pem bacaan bit citra penguji. Bit yang dihasilkan dapat berupa 1 atau 0.
Matriks hasil DCT dengan keterangan bit Matriks yang berisi koefisien-koefisien DCT dengan keterangan
hasil pembacaan bit setiap blok 8 x 8. Matriks hasil DCT
termodifikasi Matriks yang berisi koefisien-koefisien DCT yang telah dimodifikasi
berdasarkan keterangan bit yang dikirimkan. Matriks data citra t er-ekstraksi
Nilai-nilai pixel dari citra set elah dilakukan proses ekstraksi
watermark.
3.6.7 Flowchart penyisipan bit watermark
Universitas Sumatera Utara
Sebelum proses penyisipan bit watermark encode, terlebih dahulu dilakukan inisialisasi dimana kk bernilai 1 dan k bernilai 50. Variabel kk digunakan untuk
membantu melakukan perulangan loop, sedangkan k adalah perbedaan koefisien minimum yang berguna sebagai penanda apakah bit yang disisipkan bernilai 1 putih
atau 0 hitam. Data input dari proses ini adalah matriks citra asli dan bit watermark. Dari bit watermark tersebut, maka dapat diperoleh panjang bitnya yang disebut
sebagi message.
Langkah selanjutnya adalah melakukan perulangan sampai kk lebih kecil daripada bit_wmark. Matriks citra asli kemudian dibagi menjadi blok 8 x 8 sebelum
ditransformasi DCT. Kemudian nilai proses penyisipan dimulai dari bit pertama watermark. Pada penelitian ini, pemilihan blok DCT yang diubah adalah pada blok
5,2 dan blok 4,3 karena blok-blok tersebut berada di domain DCT berfrekuensi menengah. Apabila bit yang akan disisipkan adalah 0, maka dilakukan swap antara
blok 5,2 dan blok 4,3 jika blok 5,2 bernilai lebih besar daripada blok 4,3. Sedangkan apabila bit yang akan disisipkan adalah 1, maka proses swap juga
dilakukan apabila blok 5,2 bernilai lebih kecil daripada blok 4,3.
Setelah itu, maka dilakukan proses penandaan bit yang disisipkan, yaitu dengan memodifikasi blok 5,2 dan blok 4,3 agar memiliki perbedaan koefisien
minimum 50 dengan koefisien blok DCT awalnya. Blok-blok DCT yang telah dimodifikasi tersebut kemudian mengalami transformasi IDCT invers dari DCT
untuk mengembalikan nilainya dari domain DCT menjadi domain spatial ruang. Hasil transformasi IDCT ini adalah nilai-nilai pixel citra ter-watermark yang
kemudian disusun membentuk citra digital. Alur proses penyisipan bit ini dapat dilihat dalam bentuk flowchart pada gambar 3.11 berikut.
Universitas Sumatera Utara
Mulai kk = 1
k = 50 Matriks Citra Asli,
Bit Watermark bit_wmark = panjang bit watermark
if kk = bit_wmark
dct_block 8x8 Matriks citra asli
if bit_wmarkkk == 0
if dct_block 5,2 4,3
swap dct_block5,2 dengan 4,3
if dct_block 5,2 - 4,3 k
dct_block5,2 = dct_block5,2 + k2 dct_block4,3 = dct_block4,3 â k2
swap dct_block5,2 dengan 4,3
if dct_block 4,3 - 5,2 k
dct_block4,3 = dct_block4,3 + k2 dct_block5,2 = dct_block5,2 - k2
if dct_block 5,2 4,3
IDCT dct_block 8 x8 susun block_idct
kk = kk + 1 Selesai
Ya
Tidak Ya
Tidak Ya
Ya Tidak
Ya Ya
Tidak Tidak
Watermark Terlalu Besar
Tidak
Gambar 3.11 Flowchart Penyisipan Bit Watermark
Universitas Sumatera Utara
3.6.8 Flowchart ekstraksi citra ter-watermark
Proses ekstraksi citra ter-watermark decode adalah kebalikan dari proses penyisipan. Sama halnya seperti proses penyisipan, terlebih dahulu dilakukan
inisialisasi dimana nilai k adalah 1 dan nilai kk adalah 50. Fungsi kedua varibel ini juga sama seperti pada proses penyisipan.
Data input dari proses ini adalah matriks citra ter-watermark. Pada penelitian ini, panjang atau lebar maksimum citra watermark adalah setengah kali panjang atau
lebar citra asli. Oleh karena itu, harus ditetapkan pesan maksimal yang dapat ditampung yang disebut dengan max_watermark.
Langkah selanjutnya adalah melakukan perulangan sampai kk lebih kecil atau sama dengan max_watermark. Matriks citra ter-watermark kemudian dibagi menjadi
blok 8 x 8 sebelum ditransformasi DCT. Sesuai dengan kebalikan dari proses penyisipan, maka apabila blok DCT 5,2 lebih besar atau sama dengan blok DCT
4,3, maka bit watermark yang disisipkan adalah 0. Sedangkan apabila blok DCT 5,2 lebih kecil daripada blok DCT 4,3, maka bit yang disisipkan adalah 1.
Setelah proses pembacaan bit selesai, maka dilanjutkan dengan pengembalian nilai blok DCT 5,2 dan blok DCT 4,3 yang telah dimodifikasi pada proses
penyisipan sebelumnya. Proses pengembalian nilai ini tentu saja sangat dipengaruhi oleh perbedaan koefisien minimumnya atau k. Nilai-nilai blok DCT 5,2 dan blok
DCT 4,3 ini kemudian di-swap kembali untuk memperoleh matriks citra yang mirip dengan matriks citra asli sebelum penyisipan.
Setelah proses pengembalian nilai blok DCT, maka blok-blok tersebut ditransformasi IDCT invers DCT untuk mengembalikan nilainya dari domain DCT
menjadi domain spatial ruang. Hasil transformasi IDCT ini adalah nilai-nilai pixel citra hasil ekstraksi yang kemudian disusun membentuk citra digital. Sementara itu,
bit watermark juga disusun kembali agar membentuk watermark monokrom yang mirip dengan citra watermark sebelum penyisipan. Alur proses ekstraksi citra ter-
watermark ini dapat dilihat dalam bentuk flowchart pada gambar 3.12 berikut.
Universitas Sumatera Utara
Mulai kk = 1
k = 50 Matriks Citra Ter-
watermark max_watermark =
panjang lebar 64
if kk = max_watermark
dct_block 8x8 Matriks citra asli
if dct_block 5,2 = 4,3
swap dct_block5,2 dengan 4,3
if dct_block 5,2 - 4,3 = k
dct_block5,2 = dct_block5,2 â k2 dct_block4,3 = dct_block4,3 + k2
swap dct_block5,2 dengan 4,3
if dct_block 4,3 - 5,2 = k
dct_block4,3 = dct_block4,3 + k2 dct_block5,2 = dct_block5,2 - k2
IDCT dct_block 8 x8 susun bit watermark
kk = kk + 1 Selesai
bit_wmark = 0 bit_wmark = 1
susun idct_block Ya
Ya Tidak
Ya Tidak
Ya Tidak
Tidak
Watermark Terlalu Besar
Gambar 3.12 Flowchart Ekstraksi Citra Ter-watermark
Universitas Sumatera Utara
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Lingkungan Implementasi