Fidelity : Perubahan yang disebabkan oleh tanda mark semestinya tidak Robustness : watermark di dalam host data harus tahan terhadap beberapa operasi Pengujian Perangkat Lunak

watermarking . Digital watermarking dapat dijalankan pada berbagai media digital seperti citra digital, file suara, dan video. Secara umum proses watermarking pada citra digital dipaparkan pada Gambar 2.9 dimana citra digital disisipi dengan watermark menggunakan kunci sebagai sarana kepemilikan untuk dapat membuka watermark yang disisipkan melalui encoder yang berisi algoritma penyisipan watermark ke dalam citra digital. Gambar 2.9 Penyisipan watermark Lebih jauh lagi watermark bisa juga berupa kode yang membawa informasi mengenai pemilik hak cipta, pencipta, pembeli yang sah dan segala sesuatu yang diperlukan untuk menangani hak kepemilikan media digital. Watermark sengaja ditanamkan secara permanen pada data digital sedemikian hingga pengguna yang berwenang dapat dengan mudah membacanya, disisi lain watermark tersebut haruslah tidak mengubah isi media kecuali sedikit atau perubahan tersebut tidaklah tampak atau kurang begitu tampak bagi indera manusia.Lestari, Desi Alex. 20 April 2008. Hal ini disebabkan karena pengubahan dari citra digital asal ke citra ber-watermark hanya berpengaruh sedikit terhadap perubahan warna dari citra digital, sehingga sistem penglihatan manusia Human Visual System tidak dapat mempersepsi perubahan tersebut. Mutu dari teknik watermarking meliputi beberapa parameterparameter utama yang berikut ini [2]:

a. Fidelity : Perubahan yang disebabkan oleh tanda mark semestinya tidak

mempengaruhi nilai isi, idealnya tanda harusnya tidak dapat dilihat, sehingga tidak dapat dibedakan antara data yang ter-watermark dan data yang asli. Salah Original Watermark Original Image I Embedding E mb Watermarked Image I W Universitas Sumatera Utara satu trade-off antara karakteristik watermarking yang sangat kelihatan adalah antara robustness dengan fidelity. Dalam beberapa literatur fidelity kadang disebut dengan invisibility untuk jenis data citra dan video. Yang dimaksud dengan fidelity disini adalah derajat degradasi host data sesudah diberi watermark dibandingkan dengan sebelum diberi watermark. Biasanya bila robustness dari watermark tinggi maka memiliki fidelity yang rendah, sebaliknya robustness yang rendah dapat membuat fidelity yang tinggi. Jadi sebaiknya dipilih trade-off yang sesuai, sehingga keduanya dapat tercapai sesuai dengan tujuan aplikasi. Untuk host data yang berkualitas tinggi maka fidelity dituntut setinggi mungkin sehingga tidak merusak data aslinya, sedangkan host data yang memiliki noise kualitas kurang maka fidelitynya bisa rendah.

b. Robustness : watermark di dalam host data harus tahan terhadap beberapa operasi

pemrosesan digital yang umum seperti pengko nve rsian dari digital ke analog dan dari analog ke digital, dan manipulasi data. Pada robust watermark, data disisipkan dengan sangat kuat, sehingga jika ada yang berusaha menghapusnya maka gambar atau suara yang disisipi akan ikut rusak dan tidak punya nilai komersial lagi.

c. Security : Watermarking harus

tahan terhadap usaha segaja memindahkanmencopy watermark dari satu multimedia data ke multimedia data lainnya. Pada ketiga kriteria diatas, fidelity merupakan kriteria paling tinggi. Sirait, Rummi , ST . Proses watermarking perlu didukung dengan proses ekstrasi watermark dari citra berwatermark. Proses ekstraksi ini bertujuan untk mendapatkan kembali citra digital asal dan watermark yang disisipkan dalam citra digital tersebut. Umumnya proses ekstraksi melibatkan proses pembandingan citra digital asal dengan citra ber-watermark untuk mendapatkan watermark yang disisipkan. Berikut ini merupakan fungsi utama dari watermarking : 1. Proteksi Hak Cipta Tujuan watermarking dalam perlindungan hak cipta adalah sebagai bukti otentik atas hak kepemilikan pencipta atas content yang dibuat atau Universitas Sumatera Utara diproduksinya. Watermarking sangat ideal untuk pembuatan label hak cipta, karena bukan hanya tak terlihat tetapi juga tidak dapat dipisahkan dari data yang disisipi. Hal ini merupakan alasan utama sehingga proteksi menggunakan label hak cipta menjadi aplikasi yang sangat terkemuka saat ini.Lu, Chun- Shien. 2005 . 2. Fingerprinting Fungsi watermarking pada fingerprinting mirip dengan serial number SN. tujuan watermarking adalah mengidentifikasi setiap penggunaan dan distribusi suatu content. 3. Proteksi terhadap penggandaan copy protection Watermarking berfungsi melindungi content dari duplikasi dan pembajakan. 4. Autentikasi citra Watermarking berfungsi dalam proses autentikasi, sehingga modifikasi dari suatu citra dapat terdeteksi

2.5.2 Tipe

Watermarking dapat digolongkan menjadi beberapa tipe berdasarkan tingkat visibilitas dari data yang disembunyikan watermarking, lokasi suatu watermarking di domain ukuran data tersembunyi yang ditanamkan, tingkat ketahanan watermarking terhadap suatu serangan dan distorsi serta proses ekstraksi Pensiska, Finny. 25 Agustus 2008 . 1. Visibilitas Berdasarkan kriteria visibilitas, watermarking dapat digolongkan menjadi 2 jenis yaitu Universitas Sumatera Utara 1. Perceptible : watermarking dapat terlihat oleh mata manusia secara langsung 2. Imperceptible : watermarking tidak dapat terlihat oleh mata manusia secara langsung 2. Domain Lokasi peletakan data watermarking terdiri dari dua jenis yaitu : 1. Domain Pixel : watermarking ditanamkan dengan melakukan modifikasi pada pixel – pixel dari suatu media 2. Domain Frekuensi transformasi : Watermarking ditanamkan pada koefisien hasil transformasi. Domain frekuensi diperoleh dengan melakukan transformasi citra. 3. Robustness Berdasarkan tingkat ketahanan suatu watermarking terhadap serangan dan distorsi maka watermarking dapat digolongkan menjadi 3 jenis yaitu : 1. Fragile : watermarking tidak tahan terhadap serangan dan distorsi. Tipe ini dapat digunakan dalam autentikasi. Jika suatu watermarking tidak terdeteksi atau salah maka media telah mengalami perubahan atau tidak asli lagi. 2. Semi-fragile : watermarking tahan terhadap beberapa serangan dan distorsi yang telah didefinisikan sebelumnya 3. Robust : watermarking tahan terhadap usaha-usaha untuk menghilangkan watermarking dan tahan terhadap distorsi 4. Ekstraksi Berdasarkan proses deteksi watermarking atau proses ekstraksi watermarking dapat digolongkan menjadi tiga jenis, yaitu : Universitas Sumatera Utara 1. Blind : pada proses ekstraksi data sistem blind watermarking tidak membutuhkan citra atau media aslinya, yang dibutuhkan hanyalah suatu kunci atau parameter-parameter untuk melakukan ekstraksi. 2. Semi-blind : proses ekstraksi dilakukan dengan menggunakan suatu kunci dan juga data watermarking. 3. Non-blind : proses ekstraksi dilakukan dengan menggunakan citra asli dan parameter-parameter yang telah ditentukan key.

2.6. Serangan terhadap Citra Ber -Watermark

Serangan terhadap citra ber –watermark umumnya bertujuan untuk menghilangkan watermark yang disisipkan di dalam citra digital tersebut. Serangan ini disebut sebagai serangan yang disengaja. Serangan yang tidak disengaja biasanya berhubungan dengan pengubahan citra digital, pengubahan ini dapat berupa cropping, rotation , kompresi, dll. Secara umum jenis serangan terhadap citra ber-watermark dibagi menjadi dua, yaitu serangan standar standard attack dan malicious attack. Malicious attack merupakan serangan yang memilki tujuan untuk menghilangkan watermark. Pengujian terhadap citra ber-watermark menggunakan serangan hanya dapat dilakukan dengan menggunakan standard attack saja. Hal ini disebabkan karena dalam malicious attack umumnya pihak penyerang mencari algoritma penyisipan dan kunci yang digunakan saat penyisipan watermark. Serangan jenis malicious attack ini tetntunya tidak dapat diujikan karena algoritma dan kunci yang digunakan tentunya sudah diketahui oleh penyisip watermark.

2.6.1. Serangan Standar Standard Attack

Serangan standar biasanya merupakan serangan yang tidak disengaja untuk merusak atau mendapatkan watermark di dalam citra berwatermark. Contoh dari jenis serangan standar standard attack adalah sbb: Universitas Sumatera Utara 1. Cropping Cropping merupakan serangan yang umum karena banyak orang sering menginginkan bagian tertentu dari sebuah citra saja. Cropping dapat merusak citra karena pada proses cropping matriks dari sebuah citra akan di ubah dengan memotong matriks citra tersebut, sehingga ukuran panjang dan lebar citra awal tidak sama dengan ukuran panjang dan lebar citra setelah dilakukan cropping. 2. Serangan geometris geometrical attack Serangan geometris sering tidak secara sengaja bertujuan untuk menghilangkan watermark pada citra yang sudah ber-watermark. Serangan geometris ini menyebabkan pendeteksi watermark kehilangan sinkronisasinya dengan citra ber - watermark . Beberapa yang termasuk dalam serangan geometris adalah rotasi citra, penskalaan ulang citra, pengubahan aspect ratio, translasi, dsb. 3. Kompresi Serangan ini juga merupakan serangan yang sering dilakukan secara tidak sengaja. Kompresi sering dilakukan pada file multimedia seperti audio, video, dan citra. Watermark yang disisipkan biasanya lebih tahan terhadap kompresi yang memliki domain sama dengan domain yang dipakai pada saat watermarking. Misalnya citra yang disisipi watermark menggunakan DCT Discrete Cosine Transform lebih tahan terhadap kompresi JPEG daripada citra yang disisipi watermark dalam domain spasial. Atau citra yang disispi watermark menggunakan DWT Discrete Wavelet Transform lebih kuat terhadap kompresi JPEG2000. 4. Penambahan noise Citra digital sangat rentan mendapatkan serangan berbagai macam jenis noise. Ada beberapa cara yang menyebabkan suatu noise dapat berada didalam sebuah citra, bergantung bagaimana citra tersebut diciptakan. Sebagai contoh, jika citra merupakan hasil scan foto yang berasal dari negatif film, maka negatif film ini merupakan sumber noise . Noise juga bisa merupakan akibat dari kerusakan film atau juga bisa berasal dari scanner itu sendiri. Jika citra diperoleh secara langsung dalam format digitalnya, Universitas Sumatera Utara mekanisme dalam mendapatkan data digital tersebut juga dapat menyebabkan adanya noise . Penyebaran data citra secara elektronik bisa juga menghasilkan noise. 5. Filterisasi Filterisasi umum digunakan pada citra. Beberapa filter yang sering digunakan yaitu gaussian filter, sharpening filter, dsb. Untuk menanggani jenis serangan ini watermark dapat disisipkan pada frekuensi yang paling sedikit berubah jika terjadi kompresi, dengan memperkirakan filterisasi apa saja yang umum digunakan. 6. Pelembut an Citra Image Smoothing Pelembutan citra image smoothing bertujuan untuk menekan gangguan noise pada citra. Gangguan tersebut biasanya muncul sebagai akibat dari hasil penerokan yang tidak bagus sensor noise, photographic grain noise atau akibat saluran transmisi pada pengiriman data. 7. Perataan Histogram Salah satu teknik yang biasa digunakan dalam proses pengingkatan kualitas citra image enhancement adalah teknik perataan histogram histogram equalization. Histogram dari suatu citra sebenarnya menyediakan deskripsi umum akan penampakannya. Untuk histogram sebuah citra berwarna, ketiga histogram komponen warnanya dapat diperlakukan secara terpisah sebagaimana histogram sebuah citra gray-level. Lestari, Desi Alex. 20 April 2008.. Tujuan dari perataan histogram adalah untuk memperoleh penyebaran histogram yang merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relatif sama.

2.6.2. Malicious Attack

Untuk jenis serangan kedua, yaitu malicious attack masih dibagi lagi menjadi tiga jenis serangan yaitu penghilangan watermark watermark removal, deteksi atau perkiraan watermark watermark detection or estimation , dan penulisan watermark Universitas Sumatera Utara watermark writing . Penjelasan beserta contoh masing -masing jenis serangan dipaparkan sbb: 1. Penghilangan watermark Dalam penghilangan watermark seorang penyerang tidak perlu berhubungan langsung dengan semantik dari watermark yang disisipkan. Artinya seorang penyerang tidak perlu mengambil watermark yang disisipkan tapi hanya perlu menghilangkan pesan yang dimaksud di dalam watermark tersebut dengan cara memodifikasi sinyal watermark sehingga pendeteksi tidak berhasil mendeteksi adanya watermark yang disisipkan. Contoh jenis serangan ini adalah serangan kolusi collusion attack. Serangan kolusi ini biasanya terjadi pada citra ber - watermark yang memiliki banyak salinan dengan watermark berbeda. Serangan kolusi dijalankan dengan cara meratakan setiap salinan dan menurunkan energi watermark dibandingkan dengan citra asalnya. 2. Deteksi atau perkiraan watermark Serangan ini menitik beratkan pada pencarian modifikasi yang telah dilakukan terhadap citra asal sehingga dapat merepresentasikan watermark yang disisipkan. Serangan biasanya dilakukan dengan memperkirakan citra asal dan mengambil perbedaan antara citra asal hasil perkiraan tersebut dengan watermark. Sebenarnya serangan ini lebih tepat dikatakan sebagai perantara untuk melakukan serangan sesungguhnya terhadap citra ber-watermark. 3. Penulisan watermark Cara yang digunakan dalam jenis serangan ini biasanya adalah redundansi watermarking atau memberi watermark kembali pada citra yang sudah ber - watermark . Universitas Sumatera Utara

2.7. Pengolahan Citra dengan Matlab

Matlab merupakan salah satu bahasa pemerograman yang dikembangkan oleh MathWorks. Matlab tidak hanya berfungsi sebagai alat visualisasi, yang berhubungan langsung dengan ilmu Matematika. Oleh karena itu Matlab semakin banyak digunakan oleh para programmer yang menghedaki kepraktisan dalam membuat program. Paulus, 2007 Matlab adalah sebuah bahasa pemerograman dengan unjuk kerja tinggi hight-performance untuk komutasi teknis, yang mengintegrasikan komputasi, visualisasi, dan pemerograman di dalam lingkungan yang mudah penggunaanya dalam memecahkan persoalan dengan solusinya yang dinyatakan dengan notasi matematika. Wijaya, Marvin Ch , 2007. Penggunaan Matlab, yaitu : 1. Matematika dann komputasi 2. Pengembangan algoritma 3. Pemodelan, simulasi, dan pembuatan ‘protoipe’ 4. Analisis data, eksporasi dan vvisualisasi 5. Grafik untuk sains dan teknik 6. Pengembangan aplikasi, termasuk pembuatan antarmuka gradis untuk pengguna Graphical User Interface. Matlab adalah sebuah sistem interaktif yang menggunakan elemen data dasarnya dalah array yang tidak membutuhkan dimensi. Nama Matlab merupakan singkatan dari ‘matrix laboratory’. Pada awalnya Matlab dibuat untuk mempermudah pengembangan perangkat lunak berbasis matriks oleh proyek LIPACK dan EISPACK. Fitur – fitur Matlab untuk penyelesaian spedifik disebut ‘toolboxes’. Toolboxes adalah kolesi koprehensif dari fungsi – fungsi Matlab M-file yang memperlebar lingkungan Matlab dalam meyelesaikan kelas – kelas tertentu dari permasalahan. Beberapa toolbox yang tersedia meliputi bidang : pengolahan sinyal, system kendali, jaringan syaraf neural network, logika ‘fuzzy’,wavelet, simulasi dan lain sebagainya. Wijaya, Marvin Ch , 2007 . Universitas Sumatera Utara Matlab menyediakan perintah untuk membaca, menulis dan menampikan beberapa tipe dari citra. Matlab menyediakan fasilitas tersebut untuk beberapa tipe citra dibawah ini : Tabel 2.7 Tipe citra pada Matlab No. Tipe Keterangan 1 BMP Microsoft Windows Bitmap 2 HDF Hierarchial Data Format 3 JPEG Joint Photograpic Experts Group 4 PCX Paintbrush 5 PNG Portable Network Graphics 6 TIFF Tagged Image File Format 7 XWD X Windows Dump

2.7.1 Pembacaan Citra Fungsi imread membaca sebubah citra dari file citra yang bertipe di atas

dengan berbagai tipe kedalaman warna. Kebanyakan citra yang dibaca mempunyai kedalaman warna 8 bit. Ketika citra seperti itu dibaca, maka Matlab akan menyimpannya dalam tipe data uint8. Jika yang dibaca adalah data 16 bit untuk citra bertipe PNG dan TIFF, maka akan disimpan dalam tipe uint16. Untuk Citra berindeks, fungsi imread selalu menyimpan colomap kedalam tipe double, meskipun array citranya mempunyai tipe uint8 atu uint16. Seperti contoh dibawah ini : RGB = imread“coba.jpg” Kita dapat menyimpan save data citra menggunakan fungsi imwrite, seperti contoh di bwah ini : load citra imwriteX,map,”test.bmp”;

2.7.2 Penyimpanan Citra Ketika kita menyimpan sebuah citra dengan fungsi imwrite, Matlab secara

otomatis akan mengurangi kedalaman bit warna uint8. Banyak citra yang digunakan Universitas Sumatera Utara dalam Matlab adalah 8 bit, dan kebanyakan tipe citra tidak memerlukan data bertipe double precision. Pengecualian pada aturan Matlab yang menyimpan citra data sebagai uint8 adalah citra bertipe PNG dan TIFF yang disimpan bertipe uint16. Karena kedua tipe citra tersebut mendukung 16 bit, kita dapat menyimpan citra dengan tipe uint16 dengan menggunakan fungsi imwrite, seperti contoh dibawah ini : imwriteI,’citra.png’,BitDepth’,16; 2.7.3 Informasi sebuah File Citra Fungsi imfinfo memungkinkan kita untuk mengambil informasi tentang file citra, dengan tipe citra yang didukung oleh Matlab. Informasi yang kita dapatkan tergantung dari tipe file citranya, tetapi biasanya mencakup : 1. Nama file dan folder-nya 2. Tipe file 3. Versi dari tipe file 4. Tanggal modifikasi 5. Ukuran file 6. Lebar citra pixel 7. Tinggi citra pixel 8. Ukuran bit ber pixel 9. Tipe citra RGBtrue color, intensitasGrayscale atau indeks.

2.7.4. Pengubahan Tipe Citra

Image Processing Toolbox menyediakan beberapa fungsi yang memungkinkan kita untuk mengkonveris suatu citra ke dalam tipe yang berbeda. Ketika kita mengkonversikan suatu citra dari satu tipe ke dalam tipe yang lain, hasilnya mungkin berbeda dari citra asalnya. Misalnya jika mengubah citra ber-indeks dan berwarna ke dalam citra berintensitas, hasilnya adalah citra grayscale bukan citra berwarna. Fungsi – fungsi mengkonversi citra sebagai berikut : Universitas Sumatera Utara

1. bither

Membuat sebuah citra biner dari citra berintensitas grayscale dengan melakukan dithering, dan membuat sebuah citra berindeks dari citra RGB dengan dithering.

2. gray2ind

Membuat sebuah citra ber-indeks dari citra berintensitas grayscale

3. grayslice

Membuat sebuah citra ber-indeks dari citra berintensitas grayscale dengan menggunakan thesholding

4. im2bw

Membuat sebuah citra biner dari citra berintensitas, citra berindeks atau citra RGB berdasarkan threshold luminance.

5. ind2gray

Membuat sebuah citra berintensitas grayscale dari citra beindeks.

6. ind2rgb

Membuat sebuah citra RGB dari citra berindeks

7. mat2gray

Membuat sebuah citra berintensitas grayscale dari data dalam sebuah matriks dengan melakukan scaling data.

8. rgb2gray

Membuat sebuah citra berintensitas grayscale dari citra RGB.

9. rgb2ind

Membuat sebuah citra ber-indeks dari citra RGB. Kita juga dapat melakukan konversi dengan menggunakan sintaks dari Matlab, sebagai contoh, untuk mengkonversikan sebuah citra berintensitas menjadi citra RGB dengan menghubungkan 3 duplikat matriks asli sepanjang dimensi ketiga. RGB = cat3,I,I,I; Hasilnya dalah citra RGB dengan matriks yang sama untuk warna merah, hijau dan biru, sehingga akan muncul citra berwarna abu – abu. Universitas Sumatera Utara

2.7.5. Menampilkan Citra

Pada Matlab, cara untuk menampilkan citra yaitu menggunakan fungsi image. Fungsi ini akan menghasilkan Handle Graphics, dan juga termasuk pengaturan untuk berbagai properties dari objek. Matlab juga memiliki fungsi imagesc, yang mirip dengan fungsi image tetapi fungsi ini akan mengatur skala dari data masukan secara otomatis. Kakas pengolahan citra Matlab menyedikan rutin tambahan untuk penampilan citra, yaitu imshow. Seperti image dan imagesc, fungsi ini akan menghasilkan sebuah objek Handle Graphics. Tetapi imshow juga secara otomatis mengatur berbagai properties citra dan atribut dari citra untuk mengoptimalkan penampilan. Tabel 2.8 Fungsi penampilan citra Fungsi Keterangan image Menampilkan sebuah objek citra imagecs Menampilkan citra sekaligus juga mengatur skala citra imshow Menampilkan dan mengatur properties dan atribut citra

2.8. Pengujian Perangkat Lunak

Pengujian Perangkat Lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas. Universitas Sumatera Utara Meningkatnya visibilitas kemampuan perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun. Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah: 1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan 2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya 3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak. Untuk mencapai sasaran tersebut, digunakan 4 kategori yang berbeda dari tehnik desain test case: Pengujian white-box, pengujian black-box, Integrasi Bottom-Up dan Integrasi Top-Down. 1. Pengujian white-box Pengujian white-box berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik matriks grafiks untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan. Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian loop menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk menguji loop dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program. Universitas Sumatera Utara 2. Tehnik pengujian black-box Tehnik pengujian black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam. Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa kemampuan program untuk menangani data pada batas yang dapat diterima. Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak. 3. Integrasi Top-Down Integrasi Top-Down adalah pendekatan incremental dengan menggerakkan ke bawah melalui hirarki control, dimulai dengan control utama. Strategi intergrasi top- down memeriksa control mayor atau keputusan pada saat awal di dalam proses pengujian. Pada struktur program yang difaktorkan dengan baik, penarikan keputusan terjadi pada tingkat hirarki yang lebih tinggi sehingga terjadi lebih dulu. Strategi top-down kelihatannya tidak sangat rumit, tetapi di dalam praktenya banyak menimbulkan masalah logistic. Biasanya masalah ini terjadi jika dibutuhkan pemrosesan di dalam hirarki pada tingkat rendah untuk menguji secara memadai tingkat yang lebih tinggi. 4. Pengujian Integrasi Bottom-up Pengujian Integrasi Bottom-up memulai konstruksi dan pengujian dengan modul atomic modul pada tingkat paling rendah pada struktur program. Karena modul diintegrasikan dari bawah ke atas, maka pemrosesan yang diperlukan untuk modul subordinate ke suatu tuingkat yang diberikan akan selalu tersedia dan kebutuhan akan stub dapat dieliminasi. Universitas Sumatera Utara

BAB III ALGORITMA WATERMARKING MENGGUNAKAN DWT

3.1 Watermarking menggunakan DWT

Discrete Wavelet Transform DWT merupakan salah satu kakas yang banyak digunakan dalam teknik watermarking dengan domain transform. Watermarking yang berbasis wavelet adalah pendekatan yang populer karena kekuatannya melawan malicious attack . Citra digital sebelumnya didekomposisi menggunakan DWT untuk dapat menyisipkan watermark, selanjutnya dijalankan IDWT untuk membentuk citra ber- watermark . Inilah proses umum watermarking menggunakan Discrete Wavelet Transform DWT. Proses ini dipaparkan pada Gambar 3.1. Gambar 3.1 Penyisipan dan Ekstraksi watermark menggunakan Discrete Wavelet Transform DWT Proses Watermarking Dekomposisi menggunakan DWT Dekomposisi menggunakan IDWT Ekstraksi Watermark Pembentukan kembali citra dengan IDWT Penyisipan Watermark Citra Asli Citra Watermark Citra ber- watermark Citra Watermark Proses Ekstraksi Universitas Sumatera Utara