BAB IV. ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Pada bab empat laporan Tugas Akhir ini akan diuraikan mengenai analisis dan perancangan perangkat lunak untuk watermarking pada citra digital yang berformat JPEG. Pembahasan meliputi analisis kebutuhan, tujuan pengembangan, batasan rancangan sistem, masukan dan keluaran sistem, analisis penyelesaian masalah, dan model fungsional perangkat lunak. 4.1
ANALISIS PERANGKAT LUNAK Berikut akan dijelaskan mengenai analisis perangkat lunak keseluruhan
yang meliputi analisis kebutuhan, tujuan pengembangan, batasan dan rancangan sistem, masukan dan keluaran sistem, dan analisis fungsional sistem yang berisi DFD (Data Flow Diagram) dan tabel entitas data dan proses. 4.1.1
ANALISIS KEBUTUHAN Dari uraian mengenai watermarking pada citra digital yang kokoh dan non
blind, maka analisis kebutuhan perangkat lunak adalah sebagai berikut: 1. Diperlukan adanya perangkat lunak yang mampu menyisipkan informasi watermark berupa logo biner (hitam putih) ke dalam suatu berkas citra dengan format JPEG. 2. Diperlukan adanya perangkat lunak yang mampu mengekstraksi informasi watermark yang telah disisipkan pada berkas citra yang berformat JPEG. 3. Watermark yang disisipkan pada berkas citra harus bersifat kokoh atau robust terhadap beberapa operasi pengolahan citra yang umum seperti scaling, cropping, dan distortion. Dari hasil analisis tersebut, maka disimpulkan akan kebutuhan suatu perangkat lunak yang mampu memenuhi ketiga persyaratan kebutuhan tersebut.
IV-1
IV-2
Oleh karena itu, dikembangkan WatermarkingCo sebagai perangkat lunak untuk memenuhi kebutuhan-kebutuhan tersebut. 4.1.2
TUJUAN PENGEMBANGAN WatermarkingCo
adalah
perangkat
lunak
yang
ditujukan
untuk
menyisipkan informasi watermark berupa logo biner ke dalam suatu berkas citra digital yang berformat JPEG. Selain menyisipkan watermark, WatermarkingCo juga dapat mengekstraksi kembali informasi tersebut dari sebuah berkas citra berwatermark. Seorang pemilik berkas digital menggunakan perangkat lunak ini untuk menyisipkan informasi watermark berupa logo biner. Hal ini dapat dimaksudkan untuk membuktikan bahwa sebuah citra tersebut adalah properti pemilik karena bisa dibuktikan dengan pengekstraksian informasi. Watermarking berbeda dengan steganografi berdasarkan kepentingan objek penampungnya. Dalam steganografi, objek penampung tidak berarti apa-apa namun dalam watermarking, objek penampung dalam hal ini adalah berkas citra digital merupakan objek utama dengan watermark sebagai informasi tambahan. Steganografi memfokuskan pada kapasitas maksimum sedangkan dalam watermarking, yang menjadi fokus utama adalah tingkat kekokohan (robustness). Walaupun sejauh ini belum ada algoritma yang dapat menahan segala bentuk manipulasi berkas citra digital namun tetap diusahakan seoptimal mungkin agar watermark yang disisipkan mampu bertahan terhadap serangan atau manipulasi yang umum dilakukan. 4.1.3
BATASAN RANCANGAN SISTEM Dalam pengembangan perangkat lunak WatermarkingCo ini, sistem
dirancang dengan batasan-batasan sebagai berikut: 1. Perangkat lunak WatermarkingCo hanya dapat digunakan untuk menyisipkan watermark pada berkas citra dengan format JPEG.
IV-3
2. WatermarkingCo dapat menyisipkan informasi watermark yang berupa logo biner atau hitam putih. 3. Perangkat lunak ini tidak menyediakan program untuk pengolahan atau modifikasi terhadap berkas citra. 4.1.4
MASUKAN DAN KELUARAN SISTEM Perangkat lunak WatermarkingCo secara garis besar dibagi menjadi dua
bagian, yaitu komponen enkoder dan dekoder watermark. Komponen enkoder menerima masukan citra digital berformat JPEG dan sebuah logo biner sebagai informasi watermark yang akan disisipkan. Keluaran dari proses enkoding watermark ini adalah sebuah citra yang ber-watermark. Jika pengguna ingin mengesktraksi watermark dari sebuah citra berwatermark, maka komponen dekoder-lah yang akan berperan. Komponen dekoder menerima masukan berupa citra ber-watermark atau citra uji, citra asal, dan watermark asal. Keluaran dari proses dekoding watermark ini adalah sebuah watermark hasil ekstraksi. 4.1.5
ANALISIS FUNGSIONAL SISTEM Model fungsional aplikasi perangkat lunak digambarkan dengan DFD
(Data Flow Diagram) yang menggambarkan aliran data di dalam sistem dan aliran data antara sistem dan entitas eksternal. Pada sub bab berikut akan dijelaskan DFD yang berkaitan dengan aplikasi WatermarkingCo beserta penjelasan masing-masing proses di dalamnya. 4.1.5.1 Diagram Konteks Diagram konteks atau disebut juga DFD tingkat 0 menggambarkan interaksi sistem dengan entitas eksternal yang dalam hal ini adalah pengguna. Diagram konteks juga menunjukkan masukan dan keluaran sistem secara global. Diagram konteks untuk aplikasi WatermarkingCo ditunjukkan pada Gambar IV-1.
IV-4
Masing-masing entitas data yang masuk dalam diagram konteks dicantumkan pada Tabel IV-1.
Gambar IV-1. Diagram konteks untuk aplikasi WatermarkingCo
Dari gambar tersebut dapat terlihat bahwa sistem WatermarkingCo menerima masukan berupa watermark dan citra yang akan disisipi watermark jika pengguna akan membuat citra ber-watermark sedangkan jika pengguna akan mengekstraksi watermark dari sebuah citra yang mengandung watermark, maka sistem membutuhkan masukan berupa citra ber-watermark tersebut, citra asal, dan watermark asal sebagai elemen dalam proses dekoding. Keluaran sistem yang akan dihasilkan adalah citra yang ber-watermark atau berkas watermark yang berhasil diekstrak. Tabel entitas data yang terdapat pada Diagram Konteks ini dideskripsikan pada Tabel IV-1. Tabel IV-1. Entitas diagram konteks
NO
Nama Entitas
Keterangan
1
Citra Asal
Citra berformat JPEG yang akan disisipi watermark.
2
Watermark
Logo biner yang akan disisipkan sebagai informasi tersembunyi pada citra.
3
Citra Uji
Citra berformat JPEG yang diuji keberadaan watermark-nya.
IV-5
NO
Nama Entitas
Keterangan
4
Citra Ber-watermark
Citra yang telah disisipi informasi watermark.
5
Watermark Ekstraksi
Berkas watermark yang terbentuk sebagai hasil dari ekstraksi citra ber-watermark.
6
Pengguna
Entitas eksternal yang menggunakan aplikasi perangkat lunak WatermarkingCo.
4.1.5.2 DFD Tingkat 1 WatermarkingCo DFD tingkat 1 dari sistem perangkat lunak memberikan gambaran yang lebih jelas apa saja yang menjadi masukan dan keluaran dalam kedua proses utama, dekoding dan enkoding.
Gambar IV-2. DFD tingkat 1 WatermarkingCo
Seperti yang terlihat pada Gambar IV-2, masukan untuk proses enkoding adalah citra dengan format JPEG dan watermark berupa logo biner sedangkan keluaran yang dihasilkan berupa citra ber-watermark. Citra uji akan menjadi masukan pada proses dekoding jika pengguna ingin mengekstraksi watermark dari citra tersebut. Selain citra uji, proses dekoding juga memerlukan citra asal
IV-6
dan watermark asal sehingga menghasilkan keluaran berkas watermark berupa logo biner dengan visualisasi yang sesuai. Tabel entitas data dan proses yang terdapat pada DFD tingkat 1 ini ditunjukkan pada Tabel IV-2 dan IV-3. Tabel IV-2. Entitas data DFD tingkat 1
NO
Nama Entitas
Keterangan
1
Citra Asal
Citra berformat JPEG yang belum mengandung watermark.
2
Watermark
Informasi yang akan disisipkan pada citra pada proses enkoding.
3
Citra Uji
Citra berformat JPEG yang digunakan dalam proses dekoding
4
Citra Ber-watermark
Citra yang telah disisipi informasi watermark.
5
Watermark Ekstraksi
Berkas watermark yang terbentuk sebagai hasil dari ekstraksi citra ber-watermark
6
Pengguna
Entitas eksternal yang menggunakan aplikasi perangkat lunak WatermarkingCo untuk menyisipkan atau mengekstrak watermark dari citra
Tabel IV-3. Proses pada DFD tingkat 1
No 1
2
Proses Enkoding Watermark
Dekoding Watermark
Keterangan
Masukan
Keluaran
Proses penyisipan
Citra Asal dan
watermark
Watermark
Proses ekstraksi
Citra Ber-
Watermark hasil
watermark
watermarkCitra Uji,
ekstraksi
dan Watermark Asal.
Citra Ber-watermark
IV-7
4.1.5.3 DFD Tingkat 2 WatermarkingCo untuk Proses Enkoding DFD tingkat 2 yang digambarkan pada Gambar IV-3 menjelaskan proses dan aliran data yang terjadi dalam proses enkoding. Citra JPEG yang akan disisipi watermark akan dibaca sebagai bentuk matriks citra dan watermark berupa logo biner yang akan disisipkan dibaca dalam bentuk deretan bilangan biner yang terdiri dari ‘0’ dan ‘1’. Matriks citra dan deretan bilangan biner inilah yang menjadi masukan dalam proses enkoding atau penyisipan watermark.
Gambar IV-3. DFD tingkat 2 untuk proses enkoding
Bit-bit watermark yang telah disisipkan dalam matriks citra tersebut menjadikan sebuah matriks citra ber-watermark. Matriks citra ber-watermark ini merupakan elemen untuk masukan dalam penulisan kembali berkas citra yang mengandung watermark.
IV-8
Tabel entitas data dan proses yang terdapat pada DFD ini ditunjukkan pada Tabel IV-4 dan IV-5. Tabel IV-4. Entitas data DFD tingkat 2 untuk proses enkoding
NO
Nama Entitas
Keterangan
1
Citra Asal
Citra berformat JPEG yang akan disisipkan watermark.
2
Matriks Citra
Citra JPEG yang dibaca dalam bentuk matriks integer.
3
Watermark
Berkas watermark yang akan disisipkan pada citra dalam proses enkoding.
4
Bit Watermark
String biner yang berupa deretan angka 0 dan 1 untuk disisipkan.
5
Citra Ber-watermark
Citra hasil penyisipan watermark.
6
Matriks Citra Ber-watermark
Matriks keluaran dari proses penyisipan watermark.
7
Pengguna
Entitas eksternal yang menggunakan aplikasi perangkat lunak WatermarkingCo untuk menyisipkan watermark pada citra berformat JPEG.
Tabel IV-5. Proses pada DFD tingkat 2 proses enkoding
No 1
Proses Pembacaan Matriks Citra
Keterangan Membaca berkas citra
Masukan
Keluaran
Citra Asal
Matriks Citra
Watermark
Bit Watermark
JPEG menjadi matriks integer 2
Pembacaan Bit Watermark
Proses membentuk deretan biner 0 atau 1 dari watermark
IV-9
No 3
Proses
Keterangan
Penyisipan Bit Watermark
Masukan
Keluaran
Menyisipkan bit-bit
Matriks Citra dan
Matriks Citra Ber-
watermark dalam
Bit Watermark
watermark
Membentuk berkas citra
Matriks Citra Ber-
Citra Ber-watermark
yang telah mengandung
watermark
matriks citra 4
Penulisan Citra
watermark
4.1.5.4 DFD Tingkat 2 WatermarkingCo untuk Proses Dekoding DFD tingkat 2 untuk proses dekoding yang digambarkan pada Gambar IV4 menjelaskan proses dan aliran data yang terlibat dalam melakukan ekstraksi watermark dari sebuah citra yang mengandung watermark. Masukan dari proses ini berupa citra yang ber-watermark, citra asal, dan informasi watermark awal yang telah disisipkan.
Gambar IV-4. DFD tingkat 2 untuk proses dekoding
Proses dekoding dimulai ketika citra asal dan citra ber-watermark dibaca menjadi dua buah matriks integer yang berbeda. Selanjutnya, dilakukan proses ekstraksi bit watermark dengan membandingkan kedua matriks citra tersebut. Bit-
IV-10
bit watermark hasil ekstraksi, direkonstruksi kembali menjadi watermark dengan memanfaatkan informasi dari watermark asal. Perhitungan BER dilakukan untuk memperlihatkan sejauh mana pengubahan pada citra dilakukan. Tabel entitas data dan proses yang terdapat pada DFD ini ditunjukkan pada Tabel IV-6 dan IV-7. Tabel IV-6. Entitas data pada DFD tingkat 2 untuk proses dekoding
NO
Nama Entitas
Keterangan
1
Citra Asal
Citra berformat JPEG yang belum mengandung watermark.
2
Citra Uji
Berkas citra yang akan dilakukan ekstraksi watermark
3
Matriks Citra
Citra JPEG yang dibaca dalam bentuk matriks integer.
4
Watermark Asal
Berkas watermark asal yang telah disisipkan pada proses enkoding
5
Bit Watermark
Deretan angka 0 dan 1 yang merupakan hasil ekstraksi watermark.
6
Watermark Ekstraksi
Berkas watermark hasil rekonstruksi dari deretan bilangan biner yang berhasil diekstrak dari citra ber-watermark.
7
Pengguna
Entitas eksternal yang menggunakan aplikasi perangkat lunak WatermarkingCo untuk mengekstrak watermark dari citra
Tabel IV-7. Proses pada DFD tingkat 2 untuk proses dekoding
No 1
Proses Pembacaan Matriks Citra
Keterangan
Masukan
Membaca berkas citra
Citra Asal dan Citra
JPEG menjadi matriks
Uji
integer
Keluaran Matriks Citra
IV-11
No 2
Proses
Keterangan
Ekstraksi Bit Watermark
Mengekstrak bit-bit
Masukan
Keluaran
Matriks Citra
Bit Watermark
Watermark Ekstraksi
watermark dari berkas citra 3
Rekonstruksi Berkas
Membentuk berkas
Bit Watermarkdan
Watermarkdan Perhitungan BER
watermark
Watermark Asal
4.1.5.5 DFD Tingkat 3 untuk Proses Penyisipan Bit Watermark Seperti ilustrasi pada Gambar IV-5, pada DFD tingkat 3 untuk proses penyisipan bit watermark ini diperlukan masukan berupa matriks citra dan bit watermark.
Penyisipan
dengan
menggunakan
metode
spread
spectrum
memanfaatkan prinsip-prinsip DCT. Transformasi DCT dilakukan terhadap citra untuk menghasilkan matriks koefisien DCT.
Gambar IV-5. DFD tingkat 3 untuk proses penyisipan bit watermark
IV-12
Bit-bit watermark terlebih dahulu dikalikan dengan bilangan real acak dan juga bilangan pengali α yang telah ditentukan nilainya. Setelah itu, bit-bit watermark disisipkan pada koefisien DCT tertinggi. Koefisien yang akan disisipkan atau diubah tergantung banyaknya jumlah bit watermark. Hasil dari proses tersebut adalah matriks koefisien DCT termodifikasi. Invers DCT dilakukan pada matriks koefisien DCT termodifikasi untuk memperoleh kembali matriks citra yang telah mengandung watermark. Tabel entitas data dan proses yang terdapat pada DFD ini ditunjukkan pada Tabel IV-8 dan IV-9. Tabel IV-8. Entitas data pada DFD tingkat 3 untuk proses penyisipan bit watermark
NO
Nama Entitas
Keterangan
1
Matriks Citra
Matriks dari citra yang akan disisipi watermark
2
Bit Watermark
Bit-bit yang akan disisipkan sebagai watermark
3
Bit Watermark Termodifikasi
Bit-bit watermark yang telah dikalikan oleh parameter skala berupa bilangan real.
4
Matriks Koefisien DCT
Matriks yang berisi koefisien-koefisien DCT dari citra
5
Matriks Koefisien DCT Termodifikasi
Matriks koefisien DCT yang telah diubah oleh bilangan-bilangan watermark
6
Matriks Citra Ber-watermark
Matriks citra yang telah mengandung watermark
Tabel IV-9. Proses pada DFD tingkat 3 untuk proses penyisipan bit watermark
No 1
Proses Transformasi DCT
Keterangan Menghasilkan koefisien DCT dari suatu matriks citra
Masukan Matriks Citra
Keluaran Matriks Koefisien DCT
IV-13
No 2
Proses
Keterangan
Pengalian Bilangan Real Acak
Menghasilkan bit-bit
dan Bilangan Alpha
watermark termodifikasi
Masukan Bit Watermark
Keluaran Bit Watermark Termodifikasi
berupa deretan bilangan real acak 3
Pengubahan Koefisien DCT
Mengubah beberapa
Matriks Koefisien
Matriks Koefisien
nilai koefisien DCT
DCT
DCT Termodifikasi
Mengubah kembali
Matriks Koefisien
Matriks Citra Ber-
koefisien DCT menjadi
DCT Termodifikasi
watermark
dengan menyisipkan bilangan watermark 4
Invers DCT
matriks citra
4.1.5.6 DFD Tingkat 3 untuk Proses Ekstraksi Bit Watermark Sebagai penjelasan untuk DFD tingkat 3 yang diilustrasikan pada Gambar IV-6, diperlukan masukan berupa matriks citra asal dan matriks citra uji. Transformasi DCT dilakukan setelah terlebih dahulu membaca matriks citra. Transformasi DCT terhadap matriks citra asal dan matriks citra uji menghasilkan matriks koefisien DCT masing-masing. Matriks koefisien DCT masing-masing citra tersebut kemudian dibandingkan nilainya.
Gambar IV-6. DFD tingkat 3 untuk proses ekstraksi bit watermark
Dari perbandingan tersebut, didapatkan bit-bit yang disisipkan pada koefisien DCT tersebut, apakah 0 atau 1 dengan melihat apakah nilai koefisienkoefisien DCT citra uji lebih besar atau lebih kecil dari nilai koefisien citra asal. Setelah setiap koefisien DCT diperiksa, diperoleh bit watermark yang dapat ditulis kembali menjadi berkas informasi watermark.
IV-14
Tabel entitas data dan proses yang terdapat pada DFD ini ditunjukkan pada Tabel IV-10 dan IV-11. Tabel IV-10. Entitas data pada DFD tingkat 3 untuk proses ekstraksi bit watermark
NO 1
Nama Entitas
Keterangan
Matriks Citra
Matriks citra asal dan uji yang akan ditransformasikan koefisien DCT-nya
2
Matriks Koefisien DCT
Nilai koefisien DCT dari suatu matriks citra
3
Bit Watermark Ekstraksi
Bit-bit informasi watermark hasil ekstraksi yang siap ditulis menjadi berkas watermark
Tabel IV-11. Proses pada DFD tingkat 3 untuk proses ekstraksi bit watermark
No 1
Proses
Keterangan
Transformasi DCT
Masukan
Menghasilkan koefisien
Matriks Citra
DCT dari suatu matriks
Keluaran Matriks Koefisien DCT
citra 2
Perbandingan Koefisien DCT
Perbandingan koefisien
Matriks Koefisien
Bit Watermark
Citra Asal dan Citra Uji
kedua matriks citra asal
DCT
Ekstraksi
dan citra uji untuk mengekstrak bit watermark
4.2
PERANCANGAN PERANGKAT LUNAK Berikut
akan
dijelaskan
mengenai
perancangan
perangkat
lunak
WatermarkingCo yang meliputi perancangan antar muka dan diagram kelas perancangan, yaitu kelas yang sudah memiliki atribut dan operasi secara lengkap.
IV-15
4.2.1
PERANCANGAN ANTARMUKA Pada subbab ini akan dilakukan perancangan antarmuka dari beberapa
layar yang penting pada aplikasi yang akan dibangun. Antarmuka yang dirancang meliputi: 1.
Antarmuka Enkoding untuk menyisipkan berkas watermark pada citra.
2.
Antarmuka Dekoding untuk mengekstraksi watermark dari sebuah citra ber-watermark.
4.2.1.1 Perancangan Antarmuka Enkoding Pada saat aplikasi WatermarkingCo dijalankan, tampilan yang akan muncul adalah layar untuk mengenkripsi atau menyisipkan berkas watermark berupa logo biner ke dalam citra digital yang berformat JPEG. Untuk mengambil sebuah file citra berformat JPEG, terdapat sebuah tombol ‘Browse’ untuk mencari file tersebut dalam disk. Selain itu, terdapat juga sebuah tombol ‘Browse’ lainuntuk mencari berkas watermark yang akan disisipkan. Citra digital dan berkas watermark yang dipilih akan ditampilkan jika pengguna menekan tombol ‘Preview’. Pengguna dapat melihat untuk kemudian memastikan bahwa citra digital dan watermark tersebutyang akan diproses. Setelah citra digital dan watermark tersebut dipastikan pemilihannya, pengguna dapat meminta aplikasi melakukan proses enkoding dengan menekan tombol ‘ENCODE’ yang terdapat di bawah layar. Seperti yang telah dijelaskan, tampilan antarmuka enkoding ini diilustrasikan pada Gambar IV-7. Jika berhasil dilakukan proses enkoding atau penyisipan watermark ke dalam citra, maka layar akan menampilkan hasil, yaitu sebuah citra yang telah mengandung watermark. Pengguna dapat menyimpan file gambar tersebut dengan menekan tombol ‘Save’ yang tertera di layar atau mengabaikan proses penyisipan dengan menekan tombol ‘Discard’ untuk kembali ke menu awal.
IV-16
Gambar IV-7. Antarmuka Enkoding
Gambar IV-8 menunjukkan sebuah proses enkoding yang berhasil dan menghasilkan sebuah citra ber-watermark.
Gambar IV-8. Antarmuka Enkoding yang berhasil
IV-17
4.2.1.2 Perancangan Antarmuka Dekoding Pada antarmuka dekoding, diperlukan masukan berupa citra asal, citra uji atau citra yang mengandung watermark, dan watermark asal. Oleh karena itu, terdapat tiga field masukan pada antarmuka untuk proses dekoding ini. Pengguna dapat mencari file citra asal, citra ber-watermark, dan watermark asaldengan menekan tombol ‘Browse’ yang terletak pada sebelah kanan masing-masing text field. Serupa dengan antarmuka enkoding, ‘preview’ dari kedua citra tersebut akan terlihat jika pengguna menekan tombol ‘Preview’. Setelah mengkonfirmasi pemilihan file yang akan dipergunakan untuk proses dekoding, pengguna dapat mengekstrak berkas watermark yang terdapat dalam citra ber-watermark dengan menekan tombol ‘DECODE’. Tampilan antarmuka dekoding ini diilustrasikan pada Gambar IV-9. Jika proses dekoding berhasil dilakukan, maka akan ditampilkan hasil berupa watermark hasil ekstraksi. Pengguna dapat menyimpan berkas watermark tersebut dengan menekan tombol ‘Save’ yang terdapat pada layar atau mengabaikannya dengan menekan tombol ‘Discard’ untuk kembali ke menu utama aplikasi perangkat lunak WatermarkingCo.
IV-18
Gambar IV-9. Antarmuka Dekoding
Gambar IV-10 menunjukkan sebuah proses dekoding yang berhasil dan menghasilkan sebuah watermark ekstraksi.
Gambar IV-10. Antarmuka Dekoding yang berhasil
4.2.2
PERANCANGAN KELAS Berdasarkan analisis perangkat lunak yang telah dijelaskan pada bab
sebelumnya, didefinisikan kelas-kelas implementasi yang menggambarkan skema
IV-19
perangkat lunak WatermarkingCo. Daftar kelas yang diimplementasikan dapat dilihat pada Tabel IV-12 di bawah ini. Tabel IV-12. Daftar kelas perancangan
Nama Kelas
Proses
WatermarkingCoView
Kelas yang mengatur tampilan perangkat lunak.
DCT
Kelas yang mengatur proses pengubahan domain gambar, baik mengubah masukan gambar dalam domain spasial menjadi domain frekuensi maupun sebaliknya.
ForwardDCT
Kelas yang melakukan proses pengubahan gambar dari domain spasial menjadi domain frekuensi.
InverseDCT
Kelas yang melakukan proses pengembalian domain frekuensi menjadi domain spasial.
MonochromeImage
Kelas yang merupakan representasi logo / gambar biner / hitam putih.
MonochromeReader
Kelas yang membaca masukan logo / gambar biner / hitam putih.
WatermarkEncoder
Kelas yang mengelola proses enkoding untuk menyisipkan berkas watermark ke dalam gambar.
WatermarkDecoder
Kelas yang mengelola proses dekoding untuk mengekstraksi berkas watermark dari gambar yang telah mengandung watermark.
TableMax
Kelas yang mengambil nilai-nilai maksimal sejumlah bit watermark yang disisipkan dalam sebuah matriks gambar di domain frekuensi.
TableEntry
Kelas yang merepresentasikan komponen sebuah matriks gambar, yaitu lokasi dan nilainya.
IV-20
Nama Kelas Engine
Proses Kelas yang menyisipkan bit-bit watermark ke dalam komponen-komponen dengan nilai tertinggi dalam sebuah matriks gambar dan mengekstraksi bit- bit watermark tersebut dari komponen-komponen bernilai tinggi pula.
BER
Kelas yang menghitung bit error rate antara watermark hasil ekstraksi dan watermark asal.
Diagram kelas perancangan yang menyatakan hubungan-hubungan dari kelas-kelas yang telah dipaparkan di atas digambarkan pada Gambar IV-11.
IV-21
Gambar IV-11. Diagram kelas perancangan