BAB II
TINJAUAN TEORITIS
2.1 Tinjauan Kepustakaan
Watermarking merupakan sebuah teknik yang dimanfaatkan untuk menjaga data digital dari penyalahgunaan ke arah yang keliru. Metode ini mengizinkan seseorang untuk menambahkan catatan hak cipta yang tersembunyi atau pesan verifikasi lain ke dalam dokumen-dokumen seperti citra, audio ataupun video. Berbeda dengan penanda air yang sering digunakan pada uang kertas yang dapat dilihat dengan mata telanjang, metode watermarking ini pesan atau identitas yang disembunyikan tidak dapat dilihat oleh telanjang mata. Pesan atau watermark ini hanya dapat dilihat oleh mata jika kita memakai alat bantu seperti komputer yang memiliki software tertentu. Metode Discreate Wavelet Transform (DWT) sering digunakan dalam teknik watermarking dalam mengolah domain transform.
Sekarang ini sudah muncul metode Discreate Wavelet Transform (DWT) lainnya yaitu Lifting Scheme. Metode ini mempermudah dalam Forward Lifting Scheme (DWT) dan Invers Lifting Scheme (IDWT) karena memiliki nilai integer[9]. Keamanan pesan (identitas) yang aman menjadi salah satu yang harus dilakukan pada teknik watermarking. Maka dari itu penulis melakukan proses pengacakan pesan sebelum ditanamkan pada citra asli.
2.2 Citra Analog
Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto sinar-X yang tercetak di kertas foto, lukisan, pemandangan alam, hasil CT-scan, dan lain sebagainya. Citra analog tidak dapat direpresentasikan dalam komputer sehingga tidak bisa diproses di computer secara langsung. Agar citra analog dapat diproses di komputer, proses konversi analog ke digital harus dilakukan terlebih dahulu.
2.3 Citra Digital
Citra digital dapat diartikan sebagai fungsi dua variabel, f(x,y), dimana x dan y adalah koordinat spasial dan nilai f(x,y) adalah intensitas citra pada koordinat tersebut. Pada literatur lain citra digital dapat didefinisikan sebagai angka-angka
yang mewakili koordinat keabuan (citra hitam putih) atau koordinat warna (RGB). Teknologi dasar untuk menciptakan dan menampilkan warna pada citra digital berdasarkan pada penelitian bahwa sebuah warna merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru (Red, Green, Blue - RGB). Komposisi warna RGB tersebut dapat dijelaskan pada Gambar 1.
Gambar 1. Citra Digital
Jarak horizontal dan vertikal antara pixel pada citra adalah sama pada seluruh bagian. Pixel sendiri merupakan singkatan dari picture element. Pixel merupakan elemen terkecil citra digital yang dapat dilihat mata. Semakin banyak jumlah pixel, berarti semakin tinggi tingkat kerapatannya dan semakin halus gambar yang terbentuk. Akibatnya, semakin besar pula ukuran file gambar tersebut. Banyaknya titik dalam 1 inchi dikenal dengan dpi (dot per inchi).
Hal itu dapat terlihat ketika kita memperbesar foto atau gambar yangdiambil dari kamera digital. Kotak-kotak kecil itu terlihat betebaran pada citra gambar tersebut. Kotak kecil-kecil itu yang dinamakan dengan pixel. Setiap pixel memiliki 1 warna dan tersusun berimpitan satu dengan yang lainnya. Ilusi optik meyebabkan mata kita akan menangkap komposisi pixel- pixel itu sebagai suatui citra gambar. Ketika kita mengolah suatu citra gambar sebenarnya kita mengolah pixel dalam daerah tersebut. Kualitas akhir citra gambar tersebut ditentukan oleh seberapa baik kamu mengubah pixel-pixel itu.
Sebuah citra diubah ke bentuk digital agar dapat disimpan dalam memori komputer atau media lain. Selain itu akan tepat sama bila akan digandakan. Untuk bidang pemasaran, data digital mudah untuk diditribusikan. Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa perangkat,misalnya scanner, kamera digital, dan handycam. Ketika sebuah citra sudah diubah ke dalam bentuk digital (selanjutnya disebut citra digital), bermacam-macam proses pengolahan citra dapat dilakukan pada citra tersebut.
2.3.1 Elemen Citra Digital
Setiap citra digital memiliki beberapa karakteristik, antara lain: 1. Kecerahan (Brightness)
Kecerahan disebut juga sebagai intensitas cahaya. Kecerahan pada suatu titik (piksel) di dalam suatu citra sebenarnya adalah intensitas rata-rata dari suatu area yang ada disekitarnya.
2. Kontras (Contrast)
Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) dalam suatu citra. Citra dengan kontras rendah diperlihatkan sebagian besar komposisi citranya adalah terang atau sebagian besar gelap. Citra dengan kontras yang baik memiliki komposisi gelap dan terang tersebar secara merata.
3. Kontur (Countur)
Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada pixel-pixel yang berdekatan.
4. Warna (Color)
Warna adalah persepsi yang dirasakan oleh mata manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek tersebut.
5. Bentuk (Shape)
Bentuk merupakan suatu hal yang lebih sering diinterpretasikan oleh penglihatan manusia.
2.3.2 Format Berkas Citra
Berkas- berkas citra yang sering banyak dipakai antara lain: 1. Citra Grayscale
Citra yang ditampilkan dari citra jenis ini terdiri atas warna abu-abu, bervariasi pada warna hitam pada bagian yang intensitas terlemah dan warna putih pada intensitas terkuat. Citra grayscale seringkali merupakan perhitungan dari intensitas cahaya pada setiap pixel pada spektrum elektromagnetik single band.
2. Citra Treshold
Citra threshold dilakukan dengan mempertegas citra dengan cara mengubah citra hasil yang memiliki derajat keabuan 255 (8 bit), menjadi hanya dua buah yaitu hitam dan putih.
3. Citra berwarna (True color)
Citra jenis ini merupakan citra standar (bitmap) yang mempunyai kedalaman warna 24 bit. Kedalaman warna adalah jumlah bit yang merepresentasikan tiap titik pada citra, dinyatakan dalam bit per pixel. Komputer mempunyai tiga komponen warna dasar penyusun pixel citra digital: merah, hijau, dan biru, dikenal dengan RGB (Red Green Blue) seperti ditunjukkan pada Gambar 2. Pada citra digital 8 bit per pixel mempunyai 256 warna, dan citra 24 bit per pixel mempunyai lebih dari 16 juta warna. Tiap pixel dinyatakan:
a. bit ke-0 sampai ke-7 untuk warna merah, b. bit ke-8 sampai ke-15 untuk warna hijau, dan c. bit ke-16 sampai ke-23 untuk warna biru.
Warna Komposisi RGB
Komponen Merah (Red)
Komponen Hijau (Green)
Komponen Biru (Blue)
Gambar 2. Komposisi Warna RGB 4. Citra Biner
Citra biner adalah citra dimana piksel-pikselnya hanya memiliki dua buah nilai intensitas yaitu bernilai 0 dan 1 dimana 0 menyatakan warna latar
belakang (background) dan 1 menyatakan warna tinta/objek (foreground) atau dalam bentuk angka 0 untuk warna hitam dan angka 255 untuk warna putih. Gradasi citra biner dapat dilihat dari Gambar 3 dan Gambar 4.
Gambar 3. Biner
Gambar 4. Gradasi Citra Biner 2.4 Watermarking
Watermarking merupakan sebuah proses penambahan kode secara permanen ke dalam citra digital [8]. Kode tersebut dapat berupa tulisan, gambar, suara atau video sekalipun. Selain tidak merusak data digital yang akan dilindungi, kode yang disisipkan seharusnya memiliki ketahanan (robustness) dari berbagai proses selanjutnya seperti transformasi geometri, kompresi, enkripsi dan sebagainya. Sifat robustness berarti data watermark tidak terhapus akibat berbagai proses tersebut [8].
Watermarking berkembang seiring perkembangan zaman dengan munculnya watermarking pada media digital atau disebut dengan digital watermarking. Teknik ini semakin berkembang seiring semakin luasnya pengguna internet. Di dunia maya seperti internet seseorang dengan mudahnya menggandakan dan menyebarluaskan data digital.
2.4.1 Framework Watermarking Digital
Secara umum melakukan teknik watermarking tiga bagian utama. Bagian- bagian tersebut diantaranya :
a. Watermark
Watermark adalah suatu informasi atau tanda yang dimasukkan di sebuah data digital yang berfungsi sebagai tanda kepemilikan dari si pencipta karya. Watermark dapat berupa tulisan, gambar, suara atau video sekalipun.
b. Proses Encoding
Gambar 5. Proses Encoding
E adalah fungsi encoder terlihat pada Gambar 5. Fungsi E ini menerima masukan sebuah citra I dan tanda (pesan) S. Proses dari fungsi encoder ini akan menghasilkan citra baru yang disebut watermarked image I’. Secara matematik dapat dirumuskan sebagai [8]:
E (I,S) = I’...(1) Citra yang telah disisipi watermark hasil dari proses watermarking tidak berbeda jauh secara visual dengan citra asalnya. Hal ini disebabkan karena pengubahan dari citra asal ke citra yang disisipi watermark hanya berpengaruh sedikit terhadap perubahan warna dari citra, sehingga sistem penglihatan manusia (Human Visual System) tidak dapat melihat perubahan tersebut.
c. Proses Decoding
Gambar 6. Proses Decoding
Fungsi Decoder D pada Gambar 6 menempatkan image I(w) dan I sebagai parameter untuk menghasilkan sebuah informasi atau kunci yang ada dalam image yang memiliki watermark I(w).
Watermark dapat berupa representasi identitas kepemilikan media digital, maupun informasi lain yang dipandang perlu untuk ditanamkan ke dalam media yang bersangkutan. Algoritma penyisipan watermark menangani bagaimana sebuah watermark ditanamkan pada media induknya. Algoritma pendeteksian watermark menentukan apakah didalam sebuah media digital terdeteksi watermark yang sesuai atau tidak.
2.4.2 Karaketristik Watermarking
Teknik watermarking memiliki beberapa karakteristik seperti robustness, perceptual transparency, resistence, fidelity dan security.
a. Robustness
Watermark yang disisipkan harus memiliki sifat robust. Artinya watermark di dalam citra asli harus tahan terhadap beberapa operasi pemprosesan digital. Terkadang sebuah watermark hanya tahan terhadap sebuah proses tapi rentan terhadap proses yang lain. Biasanya watermark harus tahan terhadap pemprosesan sinyal yang terjadi hanya antara proses embedding (penyembunyian watermark dalam data) dan deteksi. Jika watermark digunakan untuk aplikasi yang lain, diperlukan watermark yang selalu tertanam di dalam media induk, meskipun media induknya mengalami penurunan kualitas akibat serangan.
b. Perceptual transparency
Aplikasi watermarking mengharuskan algoritma watermarking digital dengan menanamkan watermark. Sehingga ia tidak mempengaruhi kualitas media yang disisipi watermark. Media yang telah ditanami watermark haruslah sulit dibedakan dengan media aslinya oleh indera manusia. Atau dengan kata lain penanaman watermark pada citra haruslah tidak terdeteksi oleh indera penglihatan manusia dan penanaman watermark pada audio haruslah tidak dikenali oleh indera pendengaran. Dengan cara tersebut tidak mengubah nilai seni dari citra tersebut, biasanya seniman-seniman mempunyai idealis untuk mempertahankan nilai seninya.
c. Fidelity
Dalam beberapa literatur fidelity terkadang disebut dengan invisibility untuk jenis data citra. Dan yang dimaksud dengan fidelity disini adalah derajat degradasi host sesudah diberikan watermark dibandingkan dengan sebelum diberikan watermark.
d. Security
Proses penanaman watermark haruslah aman sedemikian hingga pihak yang tidak berhak tidak dapat mendeteksi keberadaan data yang ditanamkan dan tidak mampu menghilangkan data tersebut. Sekali lagi keamanan disini juga sangat bergantung pada aplikasinya. Sebuah prosedur penanaman watermark
dikatakan aman jika ia tidak dapat dipecahkan kecuali pihak yang tidak berhak tersebut memiliki akses terhadap kunci yang mengendalikan proses penyisipan data pada media induk.
2.4.3 Aplikasi Digital Watermarking
Setiap aplikasi yang dibuat pasti mempunyai kegunaan sendiri. Teknik watermarking telah banyak diterapkan dalam berbagai bentuk aplikasi dengan fungsionalitas yang beragam, diantaranya:
a. Copyright Labeling
Watemarking digunakan untuk menyembunyikan label hak cipta pada data digital. Selain itu watermarking digunakan sebagai bukti otentik kepemilikan atas dokumen digital. Pada aplikasi ini pemilik data dapat menanamkan informasi hak cipta pada citra.
b. Otentifikasi atau tamper proofing
Citra yang sudah memiliki watermark dapat dibuktikan keasliannya. Apakah citra yang disimpan atau yang beredar masih asli atau sudah berubah (tamper proofing).
c. Fingerprinting (traitor-tracing)
Fingerprinting digunakan untuk menelusuri penggandaan ilegal terhadap citra. Pemilik citra dapat menanamkan watermark berbeda ke citra yang akan didistribusikan ke pelanggan yang berbeda. Dengan cara ini maka penggandaan ke pihak ketiga akan dapat dideteksi karena adanya watermark yang berbeda untuk pelanggan yang berbeda.
d. Medical safety
Citra medis seperti foto sinar-X diberi watermark berupa ID pasien dengan maksud untuk memudahkan identifikasi pasien. Informasi lain yang dapat disisipkan adalah hasil diagnosis penyakit.
e. Covert communication
Untuk sistem komunikasi di negara-negara yang mana kriptografi tidak dibolehkan, watermarking dapat digunakan untuk menyisipkan informasi rahasia. Informasi tersebut disisipkan ke dalam citra, lalu dikirim melalui saluran publik, dan penerima mengekstrak informasi di dalamnya.
2.5 Domain Penerapan Watermarking Citra
Berdasarkan domain penyisipan watermark, metode digital watermarking dibagi menjadi dua yaitu metode spatial domain dan metode transform domain. Pada metode spatial domain, penyisipan watermark langsung dilakukan pada nilai-nilai dari sinyal data digital penampung. Sedangkan pada metode transform domain, penyisipan watermark tidak langsung dilakukan pada nilai-nilai sinyal dari data digital penampung. Transformasi yang digunakan disesuaikan dengan jenis data digital penampung yang digunakan pada proses watermarking.
Penerapan watermarking pada data digital seperti teks, citra, video dan audio, dilakukan langsung pada jenis data digital tersebut (Misalnya untuk citra dan video pada domain spasial, dan audio pada domain waktu) atau terlebih dahulu dilakukan transformasi ke dalam domain yang lain. Berbagai transformasi yang dikenal dalam pemprosesan sinyal digital seperti:
FFT (Fast Fourier Transform) DCT (Discrete Cosine Transform) Wavelet Transform
2.6 Domain Wavelet
Transformasi wavelet adalah sebuah transformasi matematika yang digunakan untuk menganalisis sinyal bergerak. Sinyal bergerak ini dianalisis untuk didapatkan informasi spektrum frekuensi dan waktunya secara bersamaan. Salah satu seri pengembangan transformasi wavelet adalah Discrete Wavelet Transform (DWT).
2.6.1 Transformasi Wavelet
Transformasi dapat diartikan sebagai bentuk perubahan suatu citra. Perubahan bentuk tersebut dapat berupa perubahan geometri dari pixel itu sendiri. Seperti peputaran(rotasi), pergeseran (translasi), penskalaan, dan lain sebagainya. Selain itu dapat juga berupa perubahan ruang (domain citra) ke domain lainnya. Bentuk gelombang sinus dengan gelombang wavelet terlihat pada Gambar 7.
Gambar 7. Gelombang Sinus dan Wavelet
Melalui proses transformasi, sutu citra dapat dinyatakan sebagai kombinasi linear dari sinyal dasar (basic signals) yang sering disebut dengan fungi basis. Suatu citra yang telah mengalami transformasi dapat diperoleh kembali dengan menggunakan transformasi balik (invers transformation).
Transformasi wavelet selain mampu memberikan informasi frekuensi yang muncul, juga dapat memberikan informasi tentang skala atau durasi atau waktu. Wavelet dapat digunakan untuk menganalisa suatu bentuk gelombang (sinyal) sebagai kombinasi dari waktu dan frekuensi. Selain itu perubahan sinyal pada suatu posisi tertentu tidak akan berdampak pada posisi lainnya. Dengan wavelet suatu sinyal dapat disimpan lebih efisien dibandingkan fourier dan lebih baik dalam hal melakukan aproksimasi terhadap real-word signal.
Transformasi wavelet dalam konteks pemprosesan sinyal adalah sebuah metode untuk mendekomposisi sinyal masukan yang diinginkan menjadi bentuk gelombang lain yang disebut wavelet dan menganalisis sinyal tersebut dengan memberi perlakuan terhadap koefisien-koefisien wavelet tersebut.
2.6.2 Wavelet Transform (DWT)
Teknik transformasi ini membagi data image ke dalam bagian-bagian tertentu sesuai dengan tingkat kepentingan yang ada (classifying), dengan mencari frekuensi nilai pixel masing-masing kemudian menggabungkannya menjadi satu dan mengelompokkannya menjadi subband-subband atau suatu citra dapat dianggap sebagai suatu matriks dua dimensi. Kemudian transformasi dilakukan terhadap baris-baris pada citra, dan dilanjutkan dengan transformasi terhadap kolom-kolom pada citra, seperti pada Gambar 8 dibawah ini.
Citra
Lowpass terhadap Baris
Lowpass terhadap Kolom = LL
Highpass terhadap Baris
Highpass terhadap Kolom = LH Lowpass terhadap Kolom = HL
Highpass terhadap Kolom = HH
Gambar 8. Bagian transformasi wavelet
Selain itu, transformasi akan mempermudahkan kita dalam pemetaan daerah seperti pada Gambar 9 dan dapat dianalisa menjadi subband-subband yang akan diolah lebih lanjut.
Gambar 9. Pembagian frekuensi dan pengelompokkannya Dimana:
LL = Low Low Frequency (most importance)
LH = Low High Frequency (more lesser importance) HL = High Low Frequency (lesser importance) HH = High High Frequency (most less importance)
Karena bersifat multiresolusi, maka model wavelet dapat dengan mudah digeneralisasi ke ukuran dimensi lain. Suatu sinyal seperti suara ditransformasikan dengan Transformasi Wavelet Diskrit satu dimensi (1D-DWT), sedangkan pengolahan citra dua dimensi, menuntut model wavelet juga diturunkan dalam bentuk dua dimensi (2D-DWT). Berikut ini persamaan 2 dan persamaan 3 adalah rumus DWT 2 dimensi[9]: ...(2) ………...………...(3) Keterangan: = approximation coefficients = detail coefficients
i = horizontal, vertical, dan diagonal
N = M = 2J maka j = 0,1,2,…,J-1 dan m,n = 0,1,2,…,2j-1
2.6.3 Inverse Discreate Wavelet Transform (IDWT)
Sesudah melalui dekomposisi maka koefisien-koefisien wavelet tersebut akan dibentuk kembali melalui proses inverse discreate wavelet transform. Rumus 4 merupakan rumus wavelet untuk melakukan proses dekomposisi (invers) [9].
...(4)
2.6.4 Lifting Scheme
Lifting Scheme adalah teknik untuk melakukan dua hal, yaitu merancang wavelet dan melakukan transformasi wavelet diskrit. Lifting scheme ini dimanfaatkan untuk menggabungkan langkah-langkah dan desain filter wavelet, sementara itu dapat tetap melakukan transformasi wavelet. Maka, karena hal inilah lifting scheme disebut sebagai transformasi wavelet generasi kedua . Teknik ini diperkenalkan oleh Wim Sweldens [1].
Teknik ini mempermudah dalam proses Forward Lifting Scheme (DWT) dan Inverse Lifting Scheme (IDWT) karena memiliki nilai integer. Pada teknik ini terjadi dua proses yaitu Forward Lifting Scheme (DWT) dan Inverse Lifting Scheme (IDWT). Gambar 10 menggambarkan bagaimana skema kerja pada lifting scheme berlangsung [8].
X
Split
P(z)
s(z)
+γ
λ
Merge
P(z)
s(z)
+Y
Forward Lifting Schme
Inverse Lifting Schme
Gambar 10. Skema kerja pada lifting schemeLifting scheme pada proses Forward Lifting Scheme memiliki 3 tahapan dalam memproses suatu citra. Yaitu tahap Split, tahap Predict, dan tahap update.
1. Split
Split adalah tahap memisahkan data sesuai dengan algoritma. Sebelum memasuki filter, data yang akan diproses, dibagi-bagi menjadi 2 bagian, yaitu Even (ganjil) dan Odd (genap).
Tahapan split pada Gambar 11 ini biasa dikenal dengan istilah Lazy Wavelet [1].
Even
Odd
Gambar 11. Penggambaran Tahap Split
2. Predict
Predict merupakan tahap memprediksi. Prediksi dilakukan untuk menentukan data odd dari data even. Pembuatan predict even dapat dijjelaskan pada Gambar 12. Setelah mendapatkan predict even, kita dapat melakukan tahap predict dengan menggunakan rumus no 5.
Rumus:
dn-1=oddn - P(evenn) ...(5)
Even Odd
P(even)
Gambar 12. Penggambaran Predict Even
Keterangan : P(evenn) diperoleh dari predict, yang merupakan sample even
yang diambil dari sample odd yang disebelahnya (left neighbouring even sample) [1].
3. Update
Konsep dari update, melanjutkan dari proses predict yang sebelumnya. Pada proses update, akan dilakukan perata-rataan dari hasil difference perhitungan sebelumnya (hasil pada proses predict). Hasil perata-rataan tersebut akan dijumlahkan dengan data sample even (data asli). Sehingga proses tersebut digambarkan dalam perhitungan rumus ke 6 berikut:
...(6)
Dari hasil perhitungan tersebut, akan didapat hasil update. Hasilnya sebenarnya akan berupa bilangan real (memungkinkan hasilnya bilangan decimal), karena akibat dari proses perata-rataan (average). Pada proses inilah dilakukan pembulatan pada averagenya, sehingga dapat dihasilkan bilangan yang integer. Bilangan integer inilah yang dapat membantu proses wavelet agar tetap menghasilkan gambar dengan bilangan integer. Pembulatan yang dilakukan untuk menghasilkan bilangan integer, harus dilakukan pembulatan ke bawah (floor). Setelah dilakukan ketiga proses tersebut, maka gambar yang diproses dengan menggunakan metode lifting scheme ini, akan menghasilkan gambar dalam wavelet. Gambar wavelet inilah yang selanjutnya akan dilakukan proses watermarking.
Pada proses pembalikan citra menjadi citra seutuhnya, kita dapat menggunakan Inverse Lifting Scheme. Proses inverse ini tetap dilakukan dalam 3 tahap, sama seperti proses forward-nya hanya saja pada prosesnya dibalik.
1. Undo Update
Undo Update merupakan tahap untuk mengembalikan sample data even, berdasarkan hasil dari averaging (perata-rataan) pada proses update (proses update di bagian forward).
Masih menggunakan rumus pada proses update, hanya yang dicari sekarang adalah sample data even-nya
Undo Update dinyatakan dalam persamaan ke 7 berikut ini [9]:
...(7) Atau dapat pula dinyatakan dalam persamaan ke 8 berikut ini [9]:
evenj,i = Sn-1-U(dn-1) ...(8) 2. Undo Predict
Undo Predict merupakan tahap untuk merecover sample data odd, dengan menambahkan info dari prediction (tahap predict pada forward lifting scheme).
Persamaan ke 9 digunakan masih menggunakan persamaan pada tahap predict, hanya yang dicari kali ini adalah sample data odd-nya.
Rumus [9]: oddn =dn-1 + P(evenn) ...(9)
3. Merge
Merge merupakan tahap menggabungkan sample data even yang didapat dari tahap undo update dan sample data odd yang didapat dari tahap undo predict. Pada tahap merge digunakan rumus ke 10, hal itu akan mengembalikan bentuk sinyal aslinya, atau disebut dengan istilah Inverse Lazy Wavelet. Rumus [9]:
Sn=Merge(evenn-1,oddn-1) ...(10)
Setelah selesai dilakukan ketiga proses tersebut, maka gambar inverse wavelet yang telah dihasilkan dari forward lifting scheme atau dari gambar yang telah diberikan watermark. Hasil dari proses pengembalian citra gambar tersebut akan menghasilkan gambar yang menyerupai gambar asli. Gambar inilah yang selanjutnya akan menjadi indicator untuk menetukan kualitasnya jika dibandingkan dengan gambar aslinya.
2.7 Metode Least Significant Bit (LSB)
Metode LSB ini banyak digunakan untuk steganografi dan watermarking, karena pada implementasinya sangat mudah untuk digunakan. Dasar dari metode ini adalah pengetahuan tentang 2 nilai biner, yang terdiri dari ’1’ dan ’0’. Kedua bilangan tersebut menjadi dasar dari kerja komputer kedua bilangan ini sering disebut bit. Susunan dari beberapa bit akan membentuk informasi berupa data byte, 1 byte terdiri dari 8 bit.
Satu byte data, bit yang paling berpengaruh terhadap informasi yang dikandungnya yaitu bit paling kiri, yang dikenal dengan MSB (Most Significant Bit). Semakin kekanan bit memiliki pengaruh yang kecil dalam keutuhan suatu informasi, bit yang paling kanan disebut LSB (Least Significant Bit). Teknik watermarking dengan metode LSB terdapat pada gambar 13 dilakukan dengan mengganti LSB pada pixel yang terdapat pada citra asli dengan bit-bit pesan di dalamnya. Pengubahan bit pada setiap pixel citra asli tentunya akan berpengaruh pada setiap frekuensi di dalamnya, akan tetapi hal ini tidak akan terlihat perubahannya karena pengubahan pixel dilakukan pada LSB.
Untuk ilustrasi penyisipan pesan dengan metode LSB terdapat di Gambar 13 di bawah ini.
0 1 0 0 1 0 0 0
Setelah disisipkan
Gambar 13. Penggambaran metode LSB
Penggambaran diatas dilakukan dengan mengganti pixel LSB yang dilakukan secara berurutan.
Watermarking dengan metode LSB ini dapat menampung cukup besar informasi. Misal, seperti kita ketahui untuk file bitmap 24 bit maka setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian pada setiap pixel file bitmap 24 bit kita dapat menyisipkan 3 bit data, apabila kita akan menyisipkan data sebesar 100 bit, setidaknya wadah harus berukuran 34 pixel atau 34x3x8=816 bit. Jadi suatu citra dengan 24-bit dapat menampung maksimal data 1/8 dari ukuran citra tersebut, tentunya ini cukup maksimum kapasitasnya.
2.8 Pengacakan
2.8.1 Linear Congruential Generator (LCG)
Bilangan acak (random) banyak digunakan di dalam berbagai aplikasi, misalnya untuk pembangkitan elemen-elemen kunci, pembangkitan kunci di dalam sistem kriptografi kunci pembangkit dan sebagainya. Yang dimaksud dengan acak di sini adalah bilangan yang tidak mudah diperdiksi oleh pihak lain. Bilangan acak yang dihasilkan dengan rumus-rumus matematika adalah bilangan acak semu (pseudo), karena bilangan acak yang dibangkitkan dapat berulang kembali secara periodik.
Pembangkit deret bilangan acak semacam itu disebut pseudo random number generator (PRNG).
Pembangkit bilangan acak (linier congruential generator atau LCG) adalah salah satu pembangkit bilangan acak yang sangat terkenal. Linier Congruential Generator (LCG) didefinisikan dalam relasi rekurensi [7]. Persamaan ke 11 digunakan untuk mendapatkan bilangan acak.
...(11) dengan: = bilangan acak ke-n dari deretnya
= bilangan acak sebelumnya = faktor pengendali
= increment = modulus
Kunci pembangkit adalah yang disebut bilangan awal (seed).
2.8.2 Permutasi RC-4
Ada banyak cara untuk membangkitkan watermark privat dari watermark publik yang saling berkorelasi satu sama lain. Algoritma RC4 termasuk ke dalam kelompok stream cipher. Algoritma RC4 menggunakan larik S [0..255] yang diinisialisasi dengan 0, 1, 2, …, 255. Selanjutnya larik S dipermutasi berdasarkan kunci eksternal U yang panjangnya variabel. Jika panjang U < 256, maka lakukan padding sehingga panjangnya menjadi 256 byte [4]. Permutasi terhadap nilai-nilai di dalam larik S dilakukan dengan cara sebagai berikut:
j ← 0
for i ← 0 to 255 do
j ← (j + S[i] + U[i]) mod 256
swap(S[i], S[j])
end
Misalkan panjang watermark adalah n, maka larik S[0..n] yang diinisialisasi dengan 0, 2, …, n – 1. U adalah sebuah larik integer sepanjang n yang elemen-elemennya dibangkitkan dengan logistic map (nilai algoritma pengacakan yang riil terlebih dahulu dikalikan dengan n dan dibulatkan ke integer terdekat).
2.9 Indikator Kualitas Citra Gambar
a. Mean Square Error (MSE)
MSE (Mean Square Error) merupakan selisih nilai koefisien-koefisien gambar asli dengan koefisien-koefisien gambar setelah mengalami dekomposisi. Nilai MSE yang lebih banyak berarti terdapat error yang lebih banyak dan sebaliknya bila nilai MSE lebih sedikit berarti nilai eror lebih sedikit.
Kualitas gambar yang memiliki nilai MSE lebih sedikit maka kualitasnya pun dikatakan baik.
MSE dinyatakan dalam persamaan ke 12 berikut ini [9]:
... (12) Dimana,
M = N = Ukuran pixel gambar
Iij = Data gambar asli sebelum proses kompresi I’ij = Data gambar setelah proses dekompresi
b. Peak Signal to Noise Ratio (PSNR)
PNSR merupakan pembanding antara kualitas citra hasil rekonstruksi dengan citra asal. Nilai PSNR yang tinggi menunjukan bahwa perbandingan sinyal terhadap rasio noise tinggi.
Rumus ke 13 dibawah ini dapat digunakan untuk mendapatkan nilai Peak Signal Noise to Ratio (PSNR).
... (13)
2.10 Bahasa Pemprograman Matlab
Matlab adalah sebuah program untuk analisis dan komputasi numerik dan merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk dengan dasar pemikiran menggunkan sifat dan bentuk matriks. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman dalam suatu model yang sangat mudah
untuk pakai dimana masalah-masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang familiar.
Gambar 14. Program Matlab
Pada gambar 14 menunjukkan tampilan pertama saat menjalankan program Matlab itu sendiri. Matlab telah berkembang menjadi sebuah environment pemrograman yang canggih yang berisi fungsifungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis fungsi baru untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan tidak terlalu sulit bila Anda telah memiliki pengalaman dalam pemrograman bahasa lain seperti C, PASCAL, atau FORTRAN.