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