BAB 3 ANALISIS DAN PERANCANGAN PROGRAM
3.1
Latar Belakang Pembahasan analisa program meliputi tahapan analisis, perancangan dan pembuatan.
Pembahasan analisa mengenai metode watermarking & metode Haar Wavelet , input output dari proses dan algoritma prosesnya. Tahap pengumpulan informasi, analisis akan dibahas pada bab 3 ini, sementara tahap evaluasi akan dilanjutkan di bab 4 3.1.1
Deskripsi Masalah Komputer saat ini mengalami perkembangan yang sangat pesat dengan ditunjang
kemajuan teknologi PC yang membuat PC semakin cepat. Dengan perkembangan ini maka data-data dalam bentuk digital semakin banyak digunakan. Sejalan dengan itu teknologi digital memperlihatkan kemajuan yang pesat pula. Teknologi ini menawarkan berbagai keuntungan antara lain kemudahan dalam penyebaran tanpa kehilangan kualitas secara signifikan, juga kemudahan dan kemurahan dalam penggandaan serta penyimpanannya untuk digunakan lagi pada saat diperlukan. Kemudahan inilah yang dimanfaatkan oleh pihak-pihak tidak bertanggung jawab sehingga tidak lagi memperhatikan hak cipta ( Intellectual Property Right ). Untuk itu upaya perlindungan hak cipta terhadap data digital menjadi perhatian serius sehingga banyak cara yang ditempuh untuk memberikan perlindungan data digital. Mengacu pada pendapat Aris Sugiharto(2003) Watermarking dapat didefinisikan sebagai proses penanaman data (watermark) atau label ke dalam suatu objek. Objek bisa berupa teks, image, audio, dan video
3.2
Metode Penyisipan dan Pengekstrakan Pesan Secara garis besar teknik watermarking yang digunakan adalah dengan cara menyisipkan
informasi yang hendak ditanam pixel per pixel dan penanaman dilakukan pada host image yang telah ditransformasi ke domain wavelet. Terdapat 2 algoritma utama yang digunakan yaitu algoritma penyisipan data/pesan ke gambar dan algoritma pengekstrakan untuk mengambil data yang telah disisipkan. 3.2.1
Penyisipan Watermark Proses penanaman image watermark ke host image dijelaskan pada bagian ini.
Image watermark haruslah binary image dan ukuran host image harus lebih besar dibanding watermark image. Penanaman dilakukan pada domain wavelet dengan cara dilakukan transformasi wavelet . Host image akan dikomposisi menjadi 4 sub-band LL, LH, HL dan HH menggunakan transformasi wavelet. Setelah itu ditentukan sub-band mana yang akan dipilih untuk penanaman watermark. Random matrix dihasilkan dari basis bilangan yang menjadi kunci. Secara satu per satu image watermark biner ditanam ke sub-band yang dipilih menggunakan random matrix yang telah dihasilkan dan koefisien kekuatan penanaman β. Akhirnya sub-band yang telah ditanam watermark dikembalikan ke posisi asalnya dan transformasi inverse wavelet digunakan untuk mendapatkan watermark image. Diagram di bawah menunjukan proses penanaman watermark.
Gambar 3.1 Proses Embed Watermark
Langkah proses penanaman watermark Input : Host Image (I), Binary watermark image (W) Output : Watermarked image (IW)
1. Host image didekomposisi menjadi 4 sub-band dengan cara melakukan transformasi wavelet. 2. Host image terbagi menjadi 4 frekuensi sub-band (LH,HL,HH,LL). Sub-band HL dipilih untuk menanam Watermark image 3. Random matrix R dihasilkan dengan cara di bawah (i) Nilai Pixel pada image binary yg akan ditanam dijumlahkan dan dilambangkan Rseed
(ii) Random Matrix R yang berukuran sama dengan Image binary(W) dihasilkan menggunakan pseudo random matrix generator dengan Rseed sebagai seed value. Jika image yang ditanam berukuran n x n maka random matrix juga berukuran n x n R = PRMG [Rseed]
4. Final random matrix dihasilkan dengan langkah sebagai berikut : (i)
Random matrix R dikurangi 0.5 dan hasil resultant matrix dinotasikan Rt Rt = (R - 0,5) x 2
(ii)
Akhirnya, Random matrix yang akan dipakai dihasilkan dengan pseudo random matrix generator dengan Rt matrix sebagai seed value RM = PRMG [Rt ]
5. Pixel dari image watermark binary yang ditanam dilakukan satu per satu sebagai berikut. Untuk menanam pixel dengan nilai ‘0’, random matrix RM dikalikan dengan koefisien penanaman β dan resultant matrix ditambahkan ke nilai pixel dari host image. Untuk nilai pixel ‘1’ tidak ada operasi yang dilakukan [IM] = [IM] + (β * [RM] ). Sebelum pixel dengan nilai ‘0’ ditanam, ditentukan daerah penanaman haruslah pixel host yang bersebelahan dan memiliki nilai yang hampir sama(berbeda maksimum sebesar koefisien penyisipan). 6. Ulangi langkah 4 dan 5 sampai semua pixel watermark ditanam. Initial random matrix R pada setiap iterasi akan dihasilkan dari PRMG dengan seed value Rseed
7. Lakukan inverse transformasi haar wavelet untuk mendapatkan image watermark yang telah disisipi(IW).
3.2.2
Ekstrasi watermark Ekstrasi watermark image membutuhkan image watermark yang telah disisipi,
ukuran binary image yang disisipkan, kunci, informasi tentang sub-band yang mana watermark ditanam. Random matrix dihasilkan menggunakan kunci dengan melalui langkah yang telah dijelaskan kemudian diikuti dengan penghitungan untuk mendapatkan koefisien korelasi antara random matrix dan nilai pixel host image yang telah disisipi. Hasilnya
didapatkan
watermark
pixel
yang
telah
diekstrasi.
menggambarkan proses ekstrasi digambarkan sebagai berikut.
Gambar 3.2 Proses Ekstrasi Watermark
Langkah Proses Ekstrasi Watermark Input : Watermarked image (IW), Host Image Output : Watermark Image (W)
Diagram
yang
1. Dekomposisikan host image menggunakan transformasi haar wavelet dan pilih subband yang telah ditanam watermark. Tentukan daerah yang sudah dilakukan penanaman dengan cara mencari nilai pixel bersebelahan dan nilainya berselisih maksimum sebesar koefisien penyisipan(sama seperti langkah saat penanaman). 2. Dekomposisikan Watermarked image (IW) menggunakan transformasi haar wavelet . Daerah penanaman yang sudah didapatkan dari langkah 1 digunakan sebagai acuan untuk mendapatkan nilai pixel IW yang merupakan hasil penanaman. Selanjutnya nilai-nilai pixel ini dianggap sebagai sub-band untuk menghitung koefisien korelasi.
3. Hasilkan Random Matrix dengan menggunakan cara yang sama seperti langkah 3 dan 4 pada tahapan penanaman sebelumnya. Sesuai dengan langkah sebelumnya Random Matrix R dihasilkan untuk setiap iterasi dari PRMG dengan seed value Rseed.
4. Hitung koefisien korelasi (r) antara sub-band dan random matrix yang dihasilkan menggunakan persamaan berikut
5. Bagi nilai koefisien korelasi yang telah dihitung dengan 2 dan hasil resultan dinotasikan dengan RV. RV = R/2 6. Ulangi langkah 3 sampai 5 untuk ukuran image watermark dan simpan nilai resultan RV pada vector VRV 7. Elemen dari Vector VRV dibandingkan dengan 0 untuk ekstrasi pixel watermark image. ,
0, 1,
v
0 0
8. Nilai pixel terestrak ditempatkan ke dalam matrix dengan ukuran sesuai watermark image dengan tujuan mendapat watermark image (IW)
Koefisien korelasi dipakai untuk pixel host yang ditanam watermark dan random matrix. Pada saat akan dilakukan penanaman watermark terlebih dahulu dipilih daerah penanaman yaitu pixel host yang nilainya < dibanding pixel di sebelah kirinya.Sebagai contoh misal pixel host yang bernilai 8700 dan pixel sebelah kirinya bernilai 9000. Hubungan yang dihasilkan 2 variabel tersebut adalah sebagai berikut.
3.3
Perancangan Proses 3.3.1
Use Case Diagram
Gambar 3.3 Use Case Diagram Image Watermarking
3.3.2
Sequence Diagram
Gambar 3.4 Sequence Diagram Image Watermarking
3.3.3
Statechart Diagram
Gambar 3.5 Statechart Diagram Embedding
Gambar 3.6 Statechart Diagram Extracting
3.3.4 Hierarki Menu Hirarki menu pada program aplikasi ini dapat dilihat pada gambar
Gambar 3.7 Hirarki Menu
Gambar 3.8 State Transition Diagram Menu Utama
Gambar 3.9 State Transition Diagram Menu Embed
Gambar 3.10 State Transition Diagram Menu Extract 3.4
Perancangan Layar Rancangan layar yang digunakan memiliki 4 menu yaitu menu Embed, menu Extract dan
menu Help, menu About. Menu-menu tersebut memiliki fungsi sebagai berikut . a. Menu Embed, digunakan untuk memilih image host, image yang akan disisipkan, level watermark kemudian dilakukan proses embedding b. Menu extract digunakan untuk memilih image terwatermark, host image sebelum penanaman dan melakukan proses extracting untuk mendapatkan gambar yang telah disisipkan. c. Menu Help digunakan untuk memberi petunjuk cara pemakaian program aplikasi dan penjelasan fungsi menu yang ada. 3.4.1
Rancangan Layar Menu Embed Dalam menu embed terdapat fasilitas untuk memilih image host, memilih data
yang akan disisipkan, memilih lokasi hasil proses embedding disimpan, menentukan level
penyisipan watermark, Tombol ‘Embed’ untuk menjalankan proses embedding, tombol ‘Cancel’ untuk membatalkan data yang dimasukan dan ‘Exit’ untuk keluar dari program.
Gambar 3.11 Rancangan Layar Menu Embed
3.4.2
Rancangan Layar Menu Extract Dalam menu ‘Extract’, terdapat fasilitas untuk memilih Watermarked image yang
berisi gambar rahasia yang telah ditanam, Host image, tempat lokasi penyimpanan hasil ekstrasi, Tombol ‘Extract’ untuk melakukan proses Ekstrasi Watermark, Tombol ‘Cancel’ untuk membatalkan seluruh isian field, ‘Exit’ untuk keluar dari program.
Gambar 3.12 Rancangan Layar Menu Extract
3.4.3
Rancangan Layar Menu Help Pada menu help terdapat user guide untuk membantu user memahami cara
pemakaian program aplikasi dan memberi penjelasan mengenai setiap menu yang ada.
Gambar 3.13 Rancangan Layar Menu Help