• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI 2.1 Citra Analog - Watermarking Menggunakan Algoritma Discrete Cosine Transform (DCT) pada Penyisipan ke dalam Citra

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 LANDASAN TEORI 2.1 Citra Analog - Watermarking Menggunakan Algoritma Discrete Cosine Transform (DCT) pada Penyisipan ke dalam Citra"

Copied!
31
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1Citra Analog

Citra analog adalah citra yang terdiri dari sinyal – sinyal frekuensi elektromagnetis yang belum dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya. Analog berhubungan dengan hal yang kontinu dalam satu dimensi, contohnya adalah bunyi diwakili dalam bentuk analog, yaitu suatu getaran gelombang udara yang kontinu dimana kekuatannya diwakili sebagai jarak gelombang. Hampir semua kejadian alam boleh diwakili sebagai perwakilan analog seperti bunyi, cahaya, air, elektrik, angin dan sebagainya (Putra, 2010).

2.2Citra Digital

Suatu citra adalah fungsi intensitas 2 dimensi f(x,y), dimana x dan y adalah koordinat spasial dan f pada titik (x,y) merupakan tingkat kecerahan (brightness) suatu citra pada suatu titik. Suatu citra diperoleh dari penangkapan kekuatan sinar yang dipantulkan oleh objek. Citra digital tersusun atas sejumlah berhingga elemen, masing-masing memiliki lokasi dan nilai atau intensitas tertentu. Elemen-elemen ini disebut elemen gambar, elemen citra, dan juga piksel yang dinyatakan dalam bilangan bulat. Tingkat ketajaman atau resolusi warna pada citra digital tergantung pada jumlah ”bit” yang digunakan oleh komputer untuk merepresentasikan setiap piksel tersebut. Tipe yang sering digunakan untuk merepresentasikan citra adalah ”8-bit citra” (256 colors (0 untuk hitam - 255 untuk putih)), tetapi dengan kemajuan teknologi perangkat keras grafik, kemampuan tampilan citra di komputer hingga32 bit (232 warna) (Sutoyo, 2009).

(2)

grafik citra dan koordinat pada grafik matematika terdapat perbedaan. Hal yang berlawanan untuk arah vertikal berlaku pada kenyataan dan juga pada sistem grafik dalam matematika yang sudah lebih dulu dikenal. Gambar 2.1 dan 2.2 berikut memperlihatkan perbedaan kedua sistem ini.

Gambar 2.1 Koordinat pada grafik matematika(Sumber: Sutoyo, 2009)

Gambar 2.2 Koordinat pada citra (Sumber: Sutoyo, 2009)

2.3Format File Citra

Sebuah format citra harus dapat menyatukan kualitas citra, ukuran file dan kompatibilitas dengan berbagai aplikasi. Saat ini tersedia banyak format grafik dan format baru tersebut yang sudah dikembangkan, diantaranya yang terkenal adalah BMP, JPEG, dan GIF. Setiap program pengolahan citra biasanya memiliki format citra tersendiri. Format dan metode dari suatu citra yang baik juga sangat bergantung pada jenis citranya. Setiap format file citra memiliki kelebihan dan kekurangan masing – masing dalam hal citra yang disimpan. Citra tertentu dapat disimpan dengan baik (dalam arti ukuran file lebih kecil dan kualitas gambar tidak berubah) pada format file citra tertentu, apabila disimpan pada format lain kadang kala dapat menyebabkan ukuran file menjadi lebih besar dari aslinya dan kualitas citra dapat menurun oleh karena itu, untuk menyimpan suatu citra harus diperhatikan citra dan format file citra apa yang sesuai. Misalnya format citra GIF sangat tidak cocok untuk citra fotografi karena biasanya citra fotografi kaya akan warna, sedangkan format GIF hanya mendukung sejumlah warna sebanyak 256 (8 bit) saja. Format JPEG

Titik original (0,0)

(3)

merupakan pilihan yang tepat untuk citra – citra fotografi karena JPEG sangat cocok untuk citra dengan perubahan warna yang halus (Sutoyo, 2009).

2.3.1 Format Data Bitmap

Pada format bitmap, citra disimpan sebagai suatu matriks di mana masing-masing elemennya digunakan untuk menyimpan informasi warna untuk setiap piksel. Jumlah warna yang dapat disimpan ditentukan dengan satuan bit-per-piksel. Semakin besar ukuran bit-per-piksel dari suatu bitmap, semakin banyak pula jumlah warna yang dapat disimpan. Format bitmap ini cocok digunakan untuk menyimpan citra digital yang memiliki banyak variasi dalam bentuknya maupun warnanya, seperti foto, lukisan, dan frame video. Format file yang menggunakan format bitmap ini antara lain adalah BMP, DIB, PCX, GIF, dan JPG. Format yang menjadi standar dalam system operasi Microsoft Windows adalah format bitmap BMP atau DIB.

Karakteristik lain dari bitmap yang juga penting adalah jumlah warna yang dapat disimpan dalam bitmap tersebut. Ini ditentukan oleh banyaknya bit yang digunakan untuk menyimpan setiap titik dari bitmap yang menggunakan satuan bpp (bit per piksel). Dalam Windows dikenal bitmap dengan 1, 4, 8, 16, dan 24 bit per piksel. Jumlah warna maksimum yang dapat disimpan dalam suatu bitmap adalah sebanyak 2n, dimana n adalah banyaknya bit yang digunakan untuk menyimpan satu titik dari bitmap (Sutoyo et al, 2009).

Berikut ini tabel yang menunjukkan hubungan antara banyaknya bit per piksel dengan jumlah warna maksimum yang dapat disimpan dalam bitmap, dapat dilihat pada Tabel 2.1.

Tabel 2.1 Hubungan antara bitper piksel dengan jumlah warna maksimum pada bitmap

No Jumlah bit per piksel Jumlah warna maksimum

1 1 2

2 4 16

3 8 256

4 16 65536

(4)

2.3.2 Format JPEG

JPEG adalah suatu desain untuk mengkompresi citra baik gray-level maupun citra

full-color. JPEG tidak hanya menangani data dalam bentuk citra, tetapi juga dapat berhubungan dengan gambar yang disebut dengan motion picture (MPEG). JPEG merupakan singkatan dari Joint Photographic Experts Group, merupakan suatu komite yang menyusun standar citra pada akhir tahun 80-an dan awal tahun 90-an. Kata “Joint” pada JPEG melambangkan status data di dalam kerja sama panitia ISO dan ITU_T. Format yang dihasilkan merupakan standar ISO IS-10918. Format file ini dikembangkan oleh C-Cube Microsystems untuk memberikan sebuah metode yang efisien untuk menyimpan citra dengan jumlah warna yang sangat banyak seperti foto kamera.

Perbedaan utama antara format JPEG dengan format citra yang lainnya adalah bahwa file JPEG menggunakan metode lossy untuk proses pemampatannya. Pemampatan secara lossy akan membuang sebagian data citra untuk memberikan hasil kompresi yang baik. Hasil file JPEG yang di-dekompres tidak begitu sesuai dengan citra aslinya, tetapi perbedaan ini sangat sulit dideteksi oleh mata manusia (Putra, 2010).

2.4Pembacaan Cover Image

Sebelum dilakukan penyisipan, pada cover image dilakukan pembacaan nilai piksel untuk memperoleh tiga komponen warna (RGB) yang akan disisipin oleh biner

embed. Diberikan cuplikan cover image dengan nilai piksel dalam bilangan hexa

seperti pada Gambar 2.3 dengan nilai pixel berada dibawah data bitmap yang terdiri dari bilangan hexadecimal (0 sampai F). Selanjutnya nilai pixel tersebut diubah ke dalam bilangan biner dengan persamaan:

(5)

Gambar 2.3 ContohCover Image dengan Nilai Piksel

Sebagai contoh diambil cuplikan citra pada Gambar 2.3 yang menjadi cover image

dengan nilai pixel(f) berada di bawah data bitmap:

f (0,0) = 90B4F1

f (0,1) = 90B4F1 f (0,2) = 93B4F1

f (0,3) = 10B491

Dengan nilai biner pixel di atas adalah:

f (0,0) = 90B4F1 = 100100001011010011110001

f (0,1) = 90B4F1 =100100001011010011110001 f (0,2) = 93B4F1 = 100100001011010011110001 f (0,3) = 10B491 = 000100001011010010010001

Dari nilai bitmap di atas dapat dihitung nilai komponen RGB citra dengan menggunakan persamaan (2.1), (2.2) dan (2.3).

f (0,0):

Nilai R = c and 255

= 90B4F1and 255

= 100100001011010011110001and 11111111 = 11110001 = 241 (desimal)

Nilai G = (c and 65,280)/256

= (90B4F1and 65,280)/256

= (100100001011010011110001and1111111100000000)/100000000 = 1011010000000000/100000000

= 10110100 = 180 (desimal)

Header> <data bitmap>

(6)

Nilai B = ((c and 16,711,680)/256)/256

= ((90B4F1 and 16,711,680)/256)/256

= ((100100001011010011110001and111111110000000000000000)/ 100000000)/100000000

= (100100000000000000000000/100000000)/100000000 = 1001000000000000/100000000

= 10010000 = 144 (desimal)

f (0,1):

Nilai R = c and 255

= 90B4F1and 255

= 100100001011010011110001and 11111111 = 11110001

= 241 (desimal)

Nilai G = (c and 65,280)/256

= (90B4F1and 65,280)/256

= (100100001011010011110001and1111111100000000)/100000000 = 1011010000000000/100000000

= 10110100 = 180 (desimal)

Nilai B = ((c and 16,711,680)/256)/256

= ((90B4F1 and 16,711,680)/256)/256

= ((100100001011010011110001and111111110000000000000000)/ 100000000)/100000000

= (100100000000000000000000/100000000)/100000000 = 1001000000000000/100000000

(7)

f (0,2):

Nilai R = c and 255

= 90B4F1and 255

= 100100001011010011110001and 11111111 = 11110001=241 (desimal)

Nilai G = (c and 65,280)/256

= (90B4F1and 65,280)/256

= (100100001011010011110001and1111111100000000)/100000000 = 1011010000000000/100000000

= 10110100 = 180 (desimal)

Nilai B = ((c and 16,711,680)/256)/256

= ((90B4F1 and 16,711,680)/256)/256

= ((100100001011010011110001and111111110000000000000000)/ 100000000)/100000000

= (100100000000000000000000/100000000)/100000000 = 1001000000000000/100000000

= 10010000 = 144 (desimal)

f (0,3):

Nilai R = c and 255

= 10B491and 255

= 100001011010010010001and 11111111 = 10010001 =145 (desimal)

Nilai G = (c and 65,280)/256 = (10B491and 65,280)/256

= (100001011010010010001and1111111100000000)/100000000 = 1011010000000000/100000000

(8)

Nilai B = ((c and 16,711,680)/256)/256

= ((10B491 and 16,711,680)/256)/256

= ((100001011010010010001and111111110000000000000000)/ 100000000)/100000000

= (100000000000000000000/100000000)/100000000 = 1000000000000/100000000

= 10000= 16 (desimal)

Langkah di atas dilakukan sampai pixel (3,3) dan nilai RBG dimasukkan ke dalam matriks RGB cover image seperti pada Tabel 2.2 berikut.

(x,y) 0 1 2 3

0 241,180,144 241,180,144 241,180,144 145, 180, 16 1 145,180,150 17,180,144 145,180,152 241,52,144 2 21,180,200 209,180,244 240,36,128 55,104,148 3 199,150,111 193,244,144 249,183,144 241,180,144

Tabel 2.2 Matriks RGB Cover Image

2.4.1 Pembacaan Embed Image

Sebelum dilakukan penyisipan, pada embed image dilakukan pembacaan nilai piksel untuk memperoleh tiga komponen warna (RGB) yang akan disisipkan ke dalam cover image. Diberikan cuplikan embed image dengan nilai piksel dalam bilangan hexa

seperti pada Gambar 2.5 dengan nilai pixel berada dibawah data bitmap yang terdiri dari bilangan hexadecimal (0 sampai F). Selanjutnya nilai pixel tersebut diubah ke dalam bilangan biner dengan persamaan 2.1, 2.2 dan 2.3 yaitu:

Nilai R = c and 255,Nilai G = (c and 65,280)/256 dan nilai B = ((c and 16,711,680)/256)/256.

Gambar 2.4 Embed Image

<Header> <data bitmap>

(9)

Sebagai contoh diambil cuplikan embed image pada Gambar 3.2 dengan nilai pixel:

f (0,0) = FF

f (0,1) = FF f (0,2) = FF

f (0,3) = FF

Dengan nilai biner pixel di atas adalah:

f (0,0) = FF = 111111111111111111111111

f (0,1) = FF =111111111111111111111111 f (0,2) = FF = 111111111111111111111111 f (0,3) = FF = 111111111111111111111111

Dari nilai piksel di atas dapat dihitung nilai komponen RGB embed imagesama dengan cover image dan diperoleh matrik embed image seperti pada Tabel 2.3.

(x,y) 0 1 2 3

0 255,255,255 255,255,255 255,255,255 255,255,255 1 255,255,255 255,255,255 255,255,255 255,255,255 2 255,255,255 255,255,255 255,255,255 255,255,255 3 255,255,255 255,255,255 255,255,255 255,255,255

Tabel 2.3 Matriks RGB Embed Image

2.5Watermarking

Watermarking merupakan sebuah proses penambahan kode secara permanen ke dalam citra digital. Penyisipan kode ini harus memiliki ketahanan (robustness) yang cukup baik dari berbagai manipulasi, seperti pengubahan, transformasi, kompresi, maupun enkripsi. Kode yang disisipkan juga tidak merusak citra digital sehingga citra digital terlihat seperti aslinya. Watermarking dapat juga merupakan cara untuk menyisipkan

watermark kedalam media yang ingin dilindungi hak ciptanya. Watermarking

merupakan proses penanaman watermark. Digital Watermarking merupakan cara yang digunakan untuk menyisipkan informasi atau watermark pada suatu dokumen digital. Dari defenisi-definisi diatas dapat penulis simpulkan bahwa watermarking

(10)

Watermark merupakan sebuah pola atau kode atau data tertentu yang membawa informasi tertentu sesuai dengan tujuannya dan sengaja ditanamkan secara permanen kedalam data media induknya. Watermark dalam citra digital tersebut tidak dapat diketahui keberadaannya oleh pihak lain yang tidak mengetahui rahasia skema penyisipan watermark. Watermark tersebut juga tidak dapat diidentifikasi dan dihilangkan. Penggunaan watermarking sangat diperlukan untuk melindungi karya intelektual digital seperti gambar, teks, musik, video, dan termasuk perangkat lunak. Penggandaan atas produk digital yang dilakukan oleh pihak-pihak yang tidak bertanggung jawab semakin merajalela tanpa ada ikatan hukum yang pasti sehingga merugikan pemegang hak cipta akan produk digital tersebut. Oleh karena itu, penyisipan watermark memiliki peran yang cukup signifikan untuk mencegah terjadinya penggandaan terhadap produk digital.

Label watermark adalah sesuatu data atau informasi yang akan dimasukkan kedalam data digital yang ingin dilakukan proses watermarking. Ada 2 jenis label

watermark yang dapat digunakan:

1. Teks biasa

Label watermark dari teks biasanya menggunakan nilai-nilai ASCII dari masing-masing karakter dalam teks yang kemudian dipecahkan atas bit per bit. Kelemahan dari label ini adalah kesalahan pada satu bit saja akan menghasilkan hasil yang berbeda dari teks sebenarnya.

2. Citra atau suara

Berbeda dengan teks, kesalahan pada beberapa bit masih dapat memberikan persepsi yang sama dengan aslinya, baik oleh pendengaran maupun penglihatan kita.

Oleh karena itu, penyisipan logo sebagai label watermark dirasakan lebih efektif dibandingkan teks, citra, ataupun suara karena selain tidak sensitif terhadap kesalahan bit, ukuran file juga tidak terlalu besar. Logo yang dipakai berupa logo biner atau hitam putih karena komputasi yang dibutuhkan tidak terlalu rumit namun tetap menjamin visualisasi yang cukup baik.

2.5.1 Digital Watermarking

(11)

pada media lainnya. Secara umum, watermarking terdiri dari dua tahapan, yaitu penyisipan watermark dan ekstraksi/verifikasi atau pendeteksian watermark. Pengekstraksian dan pendeteksian sebuah watermark sebenarnya tergantung pada algoritma yang digunakan untuk watermarking. Pada beberapa algoritma

watermarking, watermark dapat diekstraksi dalam bentuk yang eksak, sedangkan pada algoritma yang lain, hanya dapat dilakukan pendeteksian watermark pada media digitalnya (Halim, 2010).

Secara umum proses watermarking pada file video ditunjukkan pada Gambar 2.5 dimana file video disisipi dengan watermark menggunakan kunci sebagai sarana kepemilikan untuk dapat membuka watermark yang disisipkan melalui encoder yang berisi algoritma penyisipan watermark kedalam video digital seperti pada Gambar 2.5.

Key K

Original Watermarked Video (I) Video (Iw)

Watermark sequence W

Gambar 2.5. Penyisipan watermark (Sugiono, 2008).

Video ber-watermark yang dihasilkan dari proses watermarking tidak berbeda jauh secara visual dengan aslinya. Hal ini disebabkan karena pengubahan dari video digital asli ke video ber-watermark hanya berpengaruh sedikit terhadap perubahan warna dan suara. Proses watermarking perlu didukung dengan proses ekstraksi

watermark. Proses ekstraksi atau verifikasi ini bertujuan untuk mendapatkan kembali video digital asli dan watermark yang disisipkan dalam video digital tersebut. Umumnya proses ekstraksi atau verifikasi melibatkan proses pembandingan video asli dengan video ber-watermark untuk mendapatkan watermark yang disisipkan, seperti yang digambarkan pada Gambar 2.6.

(12)

Gambar 2.6. Ekstraksi Watermark (Sugiono, 2008).

Pengkategorian watermarking berdasarkan proses ekstraksi/verifikasi

watermark terbagi 2 jenis, yaitu (Munir, 2007): a. Blind Watermarking

Verifikasi watermark tanpa membutuhkan media yang asli. b. Non-Blind Watermarking

Verifikasi watermark dengan membutuhkan media asli.

Sebuah teknik watermarking yang bagus harus memenuhi persyaratan sebagai berikut: 1. Fidelity

Penyisipan suatu watermark pada media seharusnya tidak mempengaruhi nilai media tersebut. Watermark pada media idealnya tidak dapat dipersepsi oleh indera dan tidak dapat dibedakan dengan media yang asli.

2. Robustness

Watermark dalam media digital harus memiliki ketahanan yang cukup terhadap pemrosesan digital yang umum.

3. Security

Watermarking memiliki daya tahan terhadap usaha sengaja untuk memindahkan

watermark dari suatu media ke media yang lain. 4. Imperceptibility

Keberadaan watermark tidak dapat dipersepsi secara langsung oleh penglihatan manusia.

Key (K)

TestExtracted

Video (II)Watermark (We)

Original VIDEO

Extraction

(Dtc) Detection

Original

(13)

5. Key Uniqueness

Kunci yang digunakan pada proses dan penyisipan dan ekstraksi adalah sama dan tidak ada kunci lain yang bisa digunakan untuk membukanya. Perbedaan kunci seharusnya menghasilkan watermark yang berbeda pula.

6. Non-Invertibility

Proses untuk mendeteksi apakah media tersebut ber-watermark atau tidak akan sangat sulit jika hanya diketahui media ber-watermark saja.

7. Image Dependency

Watermark yang berada pada suatu media bergantung pada isi dari media tersebut.

2.5.2 Aplikasi Watermark

Watermark telah diterapkan secara luas untuk mengatasi berbagai tindak kejahatan yang berkaitan dengan dokumen digital (Munir, 2007). Fungsi penggunaan watermark

tersebut antara lain adalah sebagai: 1. Identifikasi kepemilikan

Sebagai identitas dari pemilik dokumen digital, identitas ini disisipkan dalam dokumen digital dalam bentuk watermark. Biasanya identitas kepemilikan seperti ini diterapkan melalui visible watermarking. Contohnya url halaman web tempat suatu gambar di-download.

2. Bukti kepemilikan

Watermark merupakan suatu bukti yang sah yang dapat dipergunakan di pengadilan. Banyak kasus pemalsuan foto yang akhirnya terungkap karena penggunaan watermark ini.

3. Memeriksa keaslian isi karya digital

Watermark juga dapat digunakan sebagai teknik untuk mendeteksi keaslian dari suatu karya. Suatu image yang telah disisipi watermark dapat dideteksi perubahan yang dilakukan terhadapnya dengan memeriksa apakah watermark yang disisipkan dalam image tersebut rusak atau tidak.

4. User authentication atau fingerprinting

(14)

5. Transaction tracking

Fungsi transaction tracking ini dapat dilakukan pada image yang mengandung

watermark. Pengimplementasiannya dilakukan dengan memberikan watermark

yang berbeda pada sejumlah domain atau kelompok pengguna. Sehingga bila

image tersebar diluar domain tersebut, dapat diketahui domain mana yang menyebarkannya.

6. Piracy protection/copy

Untuk dapat melakukan ini, perancang watermark harus bekerjasama tidak hanya pada masalah software, tetapi juga dengan vendor yang membuat hardware. Sehingga sebelum dilakukan peng-copy-an, terlebih dahulu dilakukan pemeriksaan apakah image tersebut boleh di-copy atau tidak.

7. Broadcast monitoring

Dalam dunia broadcasting/television news channel, watermark biasanya disisipkan sebagai logo dari perusahaan broadcasting yang bersangkutan. Hal ini dilakukan untuk menandai berita yang mereka siarkan. Sehingga bila pihak lain merekam berita tersebut, maka watermark-nya akan otomatis terbawa.

2.5.3 Klasifikasi Watermarking

Klasifikasi terhadap watermarkingdapat dikelompokkan dalam beberapa kategori. Kategori yang pertama berdasarkan kenampakan dari watermark.

1. Visible Watermarking

Pada visible watermarking ini, watermark yang disisipkan pada suatu media terlihat dengan jelas. Watermark biasanya berbentuk logo atau teks baik transparan atau tidak yang diletakkan tidak mengganggu atau menutupi media asal. Jenis watermarking ini biasanya diterapkan pada media yang memang dimaksudkan untuk disebar secara umum bersama dengan identitas pemilik asal media tersebut.

2. Invisible Watermarking

(15)

Selain itu, watermark juga dikategorikan berdasarkan kekuatan watermark yang ada pada media. Berikut penjelasannya:

1. Fragile Image Watermarking

Fragile image watermarking merupakan jenis watermark yang ditujukan untuk menyisipkan label kepemilikan media digital. Pada fragile watermarking ini,

watermark mudah sekali berubah atau bahkan hilang jika dilakukan perubahan terhadap media digital. Dengan begitu, media digital sudah tidak lagi memiliki

watermark yang asli. Fragile image watermarking ini biasanya digunakan agar dapat diketahui apakah suatu image sudah berubah atau masih sesuai aslinya. Jenis watermark inilah yang banyak diterapkan pada suatu media digital.

2. Robust Image Watermarking

Robust image watermarking adalah teknik penggunaan watermark yang ditujukan untuk menjaga integritas atau orisinalitas media digital. Watermark

yang disisipkan pada media akan sangat sulit sekali dihapuskan atau dibuang. Dengan Robust Image, proses penggandaan media digital yang tidak memiliki izin dapat dihalangi. Kebanyakan aplikasi dari robust watermarking ini bukan pada sebuah media digital, melainkan pada sistem proteksi CD atau DVD (Aliwa, et al. 2009)

2.6Algoritma Watermarking DCT

(16)

dengan diberi tanda khusus sebagai pengenal start dari data tersebut dan pengenal akhir dari data tersebut (Krisnawati, 2008).

Watermark pada citra dengan DCT dilakukan dengan cara terlebih dahulu melakukan transformasi terhadap citra yang akan disisipi watermark. Setelah dilakukan transformasi, kemudian dilakukan modifikasi terhadap koefisien-koefisien DCT sesuai dengan bit watermark yang akan disisipkan. Setelah dilakukan modifikasi, dilakukan inverse DCT untuk mengembalikan data citra ke domain spasial agar dapat direpresentasikan (Winarso, 2007).

Misalkan data media cover seperti pada Tabel 2.4.

196 10 97 182 101 40 67 200 100 50 90 50 25 150 45 200 75 28 176 56 77 100 25 200 101 34 250 40 100 60 44 66 99 125 190 200

Tabel 2.4. Data Media Cover (Sukrisno, 2007)

2.6.1 Menghitung Koefisien DCT Citra

Koefisien DCT citra dihitung dengan menggunakan DCT satu dimensi didefenisikan pada persamaan berikut:

( ) ( ) ∑ ( ) [ ( ) ]

(2.4)

untuk 0

C(u) menyatakan koefisien ke-u dari himpunan hasil transformasi DCT. ( ) menyatakan anggota ke- dari himpunan asal. menyatakan banyaknya suku himpunan asal dan himpunan hasil transformasi. ( ) dinyatakan oleh persamaan berikut:

Untuk

(17)

( ) √ (2.6) a. Menghitung Matriks Transform

( ) ( ) ∑ ( ) [ ( ) ]

dimana (u) =

√ (u=0) (u) = √ ( )

Karena u=0 maka digunakan rumus (u) = √

b. Menghitung Matriks Transpose

A’ (matrikstranspose) yaitu perubahan kolom menjadi baris dari matriks hasil transform.

2.6.2 Discrete Cosine Transform(DCT)

DCT adalah sebuah teknik untuk mengubah sebuah sinyal kedalam komponen frekuensi dasar. Sifat dari DCT adalah mengubah informasi citra yang signifikan dikonsentrasikan hanya pada beberapa koefisien DCT dimana blok-blok citra di transformasikan dari domain spasial ke domain frekuensi spasial yang disebut dengan koefisien DCT. Frekuensi koefisien DCT yang lebih rendah muncul pada kiri atas dari sebuah matriks DCT dan frekuensi koefisien DCT yang lebih tinggi berada pada kanan bawah dari matriks DCT. DCT bekerja dengan memisahkan gambar ke bagian frekuensi yang berbeda. Proses penyisipan dilakukan pada bagian frekuensi yang tinggi karena penglihatan manusia tidak begitu sensitive dengan error-error yang ada pada frekuensi tinggi dibanding dengan yang ada pada frekuensi rendah (Jiansheng, et al.

2009).

(18)

Proses perhitungan koefisien DCT yaitu: 1. Buat matriks transform yaitu matriks A. 2. Buat matriks citra original yaitu matriks X. 3. Perkalian matriks A dengan X

Yaitu matriks A baris ke-nol kolom ke-nol di kalikan dengan matriks X kekolom ke-nol pada matriks X.

4. Lakukan penjumlahan antara A (matriks transform) terhadap matriks X (matriks citra original) dari matriks kolom ke-nol dan pada baris ke-nol, sampai A baris ke N-1 dan X kolom ke N-1, di mana N adalah banyaknya

pixel citra. Sehingga perkalian matriks A (matriks transform) terhadap X (matriks citra original) di hasilkan nilai Y’ dari baris ke N-1 sampai M-1.

Untuk lebih jelasnya langkah-langkah penyisipan citra dengan algoritma DCT dapat dilihat seperti pada Gambar 2.7.

Gambar 2.7. Flow Chart DCT Keterangan:

Matriks A = Matriks transform Matriks X = Matriks citra asli Matriks A’ = Matriks transpose

Start

Matriks A,X,A’

DCT=A * X * A’

Koefisien DCT

(19)

Pada pembentukan matriks transform dapat dilihat seperti pada Gambar 2.8.

Gambar 2.8. Flow Chart Matriks Transform

Keterangan:

Pada Gambar 2.8 dihasilkan matriks transform yang akan diubah menjadi matriks transpose dengan merubah posisi baris menjadi kolom seperti pada Gambar 2.9.

Start

Input Matriks Citra

End i = 0

T = Sqrt (1/N)

A = t cos ( 𝑗 )𝑖𝜋 𝑁

(20)

Gambar 2.9. Flow Chart Matriks Transpose

Setelah pembentukan matriks transpose, maka dilakukan perkalian antara matriks transform dengan matriks citra asli seperti pada Gambar 2.10.

Gambar 2.10. Flow Chart Pembentukan matriks DCT Start

Matriks Transform (A)

Baris A  Colum A’

Matriks Transpose (A’)

End

Start

Matriks A, matriks X

Matriks A *MatriksX

Matriks Y’

(21)

Gambar 2.10 Flow Chart Pembentukan matriks DCT (Lanjutan)

2.6.3 Perhitungan Matriks Transform

Untuk sebuah matriks citra n x m, 2-D DCT dapat dihitung dengan cara 1-D DCT diterapkan pada setiap baris dari colomdan kemudian hasilnya dihitung DCT untuk setiap kolomnya.

( ) ( ) (2.7)

( ) √

( ) √

( ) √ ( )

A(0,0) = 0.5

( ) √ ( )

A(0,1) = 0.5

( ) √ ( )

A(0,2) = 0.5

MatriksY’*MatriksA’

Matriks DCT (Y)

(22)

( ) √ ( )

A(0,3) = 0.5

( ) √ ( )

A(1,0) = 0.653

( ) √ ( )

A(1,1) = 0.271

( ) √ ( ) A(1,2) = -0.271

( ) √ ( )

A(1,3) = -0.653

( ) √ ( )

A(2,0) = 0.5

( ) √ ( )

A(2,1) = -0.5

( ) √ ( )

A(2,2) = -0.5

( ) √ ( )

A(2,3 = 0.5

( ) √ ( )

(23)

( ) √ ( )

A(3,1) = -0.653

( ) √ ( )

A(3,2) = -0.653

( ) √ ( )

A(3,3) = -0.271

Nilai koefisien DCT dari hasil perhitungan di atas dimasukkan ke dalam matriks transform seperti pada Gambar 2.12.

0.5 0.5 0.5 0.5 0.653 0.271 -0.271 -0.653

0.5 -0.5 -0.5 0.5 0.271 -0.653 0.653 -0.271 Gambar 2.12. Matriks Transform

2.6.3.1 Perhitungan Matriks Transpose (A’)

Matriks transpose yaitu perubahan kolom menjadi baris dan baris menjadi kolom dari matriks transform (A) seperti pada Gambar 2.13.

0.5 0.653 0.5 0.271 0.5 0.271 -0.5 -0.653 0.5 -0.271 -0.5 0.653 0.5 -0.653 0.5 -0.271

Gambar 2.13 Matriks Transpose

(24)

Untuk memperoleh koefisien DCT citra, maka dilakukan perkalian matriks Transform dengan matriks cover image(Y’=A*X) seperti pada Gambar 2.14.

0.5 0.5 0.5 0.5 10 10 10 30

0.653 0.271 -0.271 -0.653 X 30 40 200 200

0.5 -0.5 -0.5 0.5 40 40 10 30

0.271 -0.653 0.653 -0.271 10 200 30 10

Gambar 2.14 Perkalian Matriks Transform dengan matriks cover image

Y’(0,0) = (0.5*10) + (0.5*30) + (0.5*40) + (0.5*10) Y’(0,0) = 45

Y’(0,1) = (0.5*10) + (0.5*40) + (0.5*40) + (0.5*200) Y’(0,1) = 145

Y’(0,2) = (0.5*10) + (0.5*200) + (0.5*10) + (0.5*30) Y’(0,2) = 125

Y’(0,3) = (0.5*30) + (0.5*200) + (0.5*30) + (0.5*10) Y’(0,3) = 135

Y’(1,0) = (0.653*10) + (0.271*30) + ((-0.271)*40) + ((-0.653)*10) Y’(1,0) = -2.71

Y’(1,1) = (0.653*10) + (0.271*40) + (-0.271*40) + (-0.653*200) Y’(1,1) = -124.07

Y’(1,2) = (0.653*10) + (0.271*200) + (-0.271*10) + (-0.653*30) Y’(1,2) = 38.43

Y’(1,3) = (0.653*30) + (0.271*200) + (-0.271*30) + (-0.653*10) Y’(1,3) = 59.13

Y’(2,0) = (0.5*10) + (0.5*30) + (0.5*40) + (0.5*10) Y’(2,0) = 45

Y’(2,1) = (-0.5*10) + (-0.5*40) + (-0.5*40) + (-0.5*200) Y’(2,1) = -145

Y’(2,2) = (-0.5*10) + (-0.5*200) + (-0.5*10) + (-0.5*30) Y’(2,2) = -125

(25)

Y’(2,3) = 135

Y’(3,0) = (0.271*10) + (-0.653*30) + (0.653*40) + (-0.271*10) Y’(3,0) = 6.53

Y’(3,1) = (0.271*10) + (-0.653*40) + (0.653*40) + (-0.271*200) Y’(3,1) = -51.49

Y’(3,2) = (0.271*10) + (-0.653*200) + (0.653*10) + (-0.271*30) Y’(3,2) = -129.49

Y’(3,3) = (0.271*30) + (-0.653*200) + (0.653*30) + (-0.271*10) Y’(3,3) = -105.59

Hasil perhitungan di atas dimasukkan pada Matriks Y’ seperti pada Gambar 2.15.

45 145 125 135

-2.71 -124.07 38.43 59.13

45 -145 -125 135

6.53 -51.49 -129.49 -105.59 Gambar 2.15 Matriks Y’

Selanjutnya hitung matriks Y dengan cara perkalian matriks Y’ dengan matriks Transpose (Y=Y’*A’) seperti pada Gambar 2.16.

45 145 125 135 0.5 0.653 0.5 0.271

-2.71 -124.07 38.43 59.13 X 0.5 0.271 -0.5 -0.653

45 -145 -125 135 0.5 -0.271 -0.5 0.653

6.53 -51.49 -129.49 -105.59 0.5 -0.653 0.5 -0.271 Gambar 2.16 Perkalian Matriks Y dengan Transpose

Y(0,0) = (45*0.5) + (145*0.5) + (125*0.5) + (135*0.5) Y(0,0) = 225

Y(0,1) = (45*0.653) + (145*0.271) + (125*(-0.271)) + (135*(-0.653)) Y(0,1) = -53.35

Y(0,2) = (45*0.5) + (145*(-0.5)) + (125*(-0.5)) + (135*0.5) Y(0,2) = -45

(26)

Y(1,0) = (-2.71*0.5) + (-124.07*0.5) + (38.43*0.5) + (59.13*0.5) Y(1,0) = -14.61

Y(1,1) = (-2.71*0.653) + (-124.07*0.271) + (38.43*(-0.271)) + (59.13*(-0.653)) Y(1,1) = -84.41

Y(1,2) = (-2.71*0.5) + (-124.07*(-0.5)) + (38.43*(-0.5)) + (59.13*0.5) Y(1,2) = 71.03

Y(1,3) = (2.71*0.271) + (-124.07*(-0.653)) + (38.43*0.653) + (59.13*(-0.271)) Y(1,3) = 90.82

Y(2,0) = (45*0.5) + (-145*0.5) + (-125*0.5) + (135*0.5) Y(2,0) = -45

Y(2,1) = (45*0.653) + (-145*0.271) + (-125*(-0.271)) + (135*(-0.653)) Y(2,1) = -64.19

Y(2,2) = (45*0.5) + (-145*(-0.5)) + (-125*(-0.5)) + (135*0.5) Y(2,2) = 225

Y(2,3) = (45*0.271) + (-145*(-0.653)) + (-125*0.653) + (135*(-0.271)) Y(2,3) = -11.33

Y(3,0) = (6.53*0.5) + (-51.49*0.5) + (-129.49*0.5) + (-105.59*0.5) Y(3,0) = -140.02

Y(3,1) = (6.53*0.653) + (-51.49*0.271) + (-129.49*(-0.271)) + (-105.59*(-0.653)) Y(3,1) = 94.35

Y(3,2) = (6.53*0.5) + (-51.49*(-0.5)) + (-129.49*(-0.5)) + (-105.59*0.5) Y(3,2) = 40.96

Y(3,3) = (6.53*0.271) + (-51.49*(-0.653)) + (-129.49*0.653) + (-105.59*(-0.271)) Y(3,3) = -20.54

Hasil perhitungan di atas dimasukkan pada Matriks Y seperti pada Gambar 2.17.

(27)

Sekarang matriks DCT cover image berisi koefisien-koefisien, dan untuk melakukan penyisipan pada piksel pada daerah frekuensi tinggi, juga jika hendak melakukan ekstraksi dengan membaca piksel-piksel pada frekuensi tersebut seperti berikut.

1. Koefisien 94.35 dengan nilai piksel xx sebagai piksel embed 1 2. Koefisien 225 dengan nilai piksel xx sebagai piksel embed 2 3. Koefisien 90.82 dengan nilai piksel xx sebagai piksel embed 3 4. Koefisien 40.96 dengan nilai piksel xx sebagai piksel embed 4 5. Koefisien -11.33 dengan nilai piksel xx sebagai piksel embed 5 6. Koefisien -20.54 dengan nilai piksel xx sebagai piksel embed 6

2.6.3.3 Invers DCT (IDCT)

Invers DCT adalah proses mengembalikan cover image dari domain frekuensi menjadi domain spasialnya agar dapat direpresentasikan secara visual. Perhitungan IDCT dilakukan dengan cara mengalikan matriks transpose(A’) dengan matriks DCT (Y).

X’=A’*Y seperti pada Gambar 2.18.

0.5 0.653 0.5 0.271 225 -53.35 -45 -37.45 0.5 0.271 -0.5 -0.653 X -14.61 -84.41 71.03 40.82 0.5 -0.271 -0.5 0.653 -45 -64.19 175 -61.33 0.5 -0.653 0.5 -0.271 -140.02 44.35 -9.04 -70.54 Gambar 2.18. Perkalian Matriks Transpose (A’) dengan Matriks DCT Q50 (Y’)

X’(0,0) = 0.5*225 + 0.653*(-14.61) + 0.5*(-45) + 0.271*(-140.02) X’(0,0) = 42.51

X’(0,1) = 0.5*(-53.35) + 0.653*(-84.41) + 0.5*(-64.19) + 0.271*44.35 X’(0,1) = -101.87

X’(0,2) = 0.5*(-45) + 0.653*71.03 + 0.5*175 + 0.271*(-9.04) X’(0,2) = 108.93

(28)

X’(1,0) = 0.5*225 + 0.271*(-14.61) + (-0.5)*(-45) + (-0.653)*(-140.02) X’(1,0) = 222.47

X’(1,1) = (0.5*(-53.35)) + (0.271*(-84.41)) + ((-0.5)*(-64.19)) + ((-0.653)*44.35) X’(1,1) = -46.41

X’(1,2) = (0.5*(-45)) + (-0.271)*71.03 + ((-0.5)*175) + ((-0.653)*(-9.04)) X’(1,2) = -123.34

X’(1,3) = (0.5*(-35.45)) + (0.271*40.82) + ((-0.5)*38.67) + ((-0.653)*(-29.46)) X’(1,3) = -6.76

X’(2,0) = (0.5*(225) + ((-0.271)*(-14.61)) + ((-0.5)*(-45)) + (0.653*(-140.02)) X’(2,0) = 222.47

X’(2,1) = (0.5*(-53.35)) + ((-0.271)*(-84.41)) + ((-0.5)*(-64.19)) + (0.653*44.35) X’(2,1) = 57.25

X’(2,2) = (0.5*(-45)) + ((-0.271)*71.03) + ((-0.5)*175) + (0.653*(-29.35))= -148.41 X’(2,3) = (0.5*(-35.45)) + ((-0.271)*40.82)+((-0.5)*38.67)+(0.653*(-29.46))= -67.35

X’(3,0) = (0.5*(225) + ((-0.653)*(-14.61)) + (0.5*(-45)) + ((-0.271)*(-140.02)) X’(3,0) = 137.48

X’(3,1) = (0.5*(-53.35)) + ((-0.653)*(-84.41)) + (0.5*(-64.19)) + ((-0.271)*44.35) X’(3,1) = -15.66

X’(3,2) = (0.5*(-45)) + ((-0.653)*71.03) + (0.5*175) + ((-0.271)*(-29.35)) X’(3,2) = 26.57

X’(3,3) = (0.5*(-35.45)) + ((-0.653)*40.82) + (0.5*38.67) + ((-0.271)*(-29.46)) X’(3,3) = -17.06

Hasil perhitungan di atas dimasukkan pada matriks X’ seperti pada Gambar 2.19.

42.51 -101.87 103.42 20.28 222.47 -46.41 -71.58 -6.76 222.47 57.25 -148.41 -67.35 137.48 -15.66 26.57 -17.06

(29)

Selanjutnya matriks X’ dikalikan dengan matriks A (transform) X=X’*A seperti pada Gambar 2.20

42.51 -101.87 103.42 20.28 0.5 0.5 0.5 0.5

222.47 -46.41 -71.58 -6.76 X 0.653 0.271 -0.271 -0.653 222.47 57.25 -148.41 -67.35 0.5 -0.5 -0.5 0.5 137.48 -15.66 26.57 -17.06 0.271 -0.653 0.653 -0.271

Gambar 2.20 Perkalian Matriks X’ dengan Matriks Transform X’(0,0) = 42.51*0.5 + (-101.87)*0.653 + 103.42*0.5 + 20.28*0.271 X’(0,0) = 11.93

X’(0,1) = 42.51*0.5 + (-101.87)*0.271 + 103.42*(-0.5) + 20.28*(-0.653) X’(0,1) = -71.30

X’(0,2) = 42.51*0.5 + (-101.87)*(-0.271) + 103.42*(-0.5) + 20.28*0.653 X’(0,2) = 10.39

X’(0,3) = 42.51*0.5 + (-101.87)*(-0.653) + 103.42*0.5 + 20.28*(-0.271) X’(0,3) = 133.99

X’(1,0) = 222.47*0.5 + (-46.41)*0.653 + (-71.58)*0.5 + (-6.76)*0.271 X’(1,0) = 43.30

X’(1,1) = 222.47*0.5 + (-46.41)*0.271 + (-71.58)*(-0.5) + (-6.76)*(-0.653) X’(1,1) = 138.86

X’(1,2) = 222.47*0.5 + (-46.41)*(-0.271) + (-71.58)*(-0.5) + (-6.76)*0.653 X’(1,2) = 155.18

X’(1,3) = 222.47*0.5 + (-46.41)*(-0.653) + (-71.58)*0.5 + (-6.76)*(-0.271) X’(1,3) = 107.58

X’(2,0) = 222.47*0.5 + 57.25*0.653 + (-148.41)*0.5 + (-67.35)*0.271 X’(2,0) = 56.16

X’(2,1) = 222.47*0.5 + 57.25*0.271 + (-148.41)*(-0.5) + (-67.35)*(-0.653) X’(2,1) = 244.93

X’(2,2) = 222.47*0.5 + 57.25*(-0.271) + (-148.41)*(-0.5) + (-67.35)*0.653 X’(2,2) = 125.94

(30)

X’(3,0) = 137.48*0.5 + (-15.66)*0.653 + 26.57*0.5 + (-17.06)*0.271 X’(3,0) = 67.17

X’(3,1) = 137.48*0.5 + (-15.66)*0.271 + 26.57*(-0.5) + (-17.06)*0.653 X’(3,1) = 40.07

X’(3,2) = 137.48*0.5 + (-15.66)*(-0.271) + 26.57*(-0.5) + (-17.06)*(-0.653) = 70.83 X’(3,3) = 137.48*0.5 + (-15.66)*(-0.653) + 26.57*0.5 + (-17.06)*(-0.271) = 96.87 Hasil perhitungan di atas dimasukkan pada matriks X sebagai citra hasil penyisipan seperti pada Gambar 2.21.

11.93 -71.30 10.39 133.99 43.30 138.86 155.18 107.58 56.16 244.93 125.94 17.89 67.17 40.07 70.83 96.87

Gambar 2.21 Matriks X

2.7Pengukuran Fidelity

Pengukuran fidelity steganografi dapat dihitung dengan menghitung nilai MSE (Mean Squared Error) dan PSNR (Peak Signal to Noise Ratio). PSNR adalah perbandingan antara nilai maksimum dari sinyal yang diukur dengan besarnya derau yang berpengaruh pada sinyal tersebut(Megalingam, 2010). PSNR biasanya diukur dalam satuan desibel. PSNR digunakan untuk mengetahui kualitas (validasi) citra hasil kompresi. Untuk menentukan PSNR, terlebih dahulu harus ditentukan nilai rata-rata kuadratdari error (MSE - Mean Square Error) (Munir, 2004).

MSE dan PSNR dapat dihitung dengan persamaan (1) dan (2). Pada persamaan (1), I(x,y) adalah nilai grey-level citra asli di posisi (x,y), I’ adalah nilai derajat keabuan citra yang telah diberi watermark atau penyisip diposisi (x,y), X dan Y adalah ukuran panjang dan lebar. Pada persamaan (2), m adalah nilai maksimum yang mungkin dimiliki oleh sebuah pixel. Sebagai contoh, untuk data citra 8 bit, nilai maksimumnya adalah 255(Munir, 2004).

MSE =

∑ ∑ [ ( ) ( )] (1)

PSNR = 10 log

(31)

2.8 Penelitian Terdahulu

2008 Least Significant Bit (LSB) Dan data tersebut di-load ke text

area, akan muncul karakter-sehingga besarnya citra harus menyesuaikan disisipkan tidak terbatas jumlahnya.

Gambar

Gambar 2.1 Koordinat pada grafik matematika(Sumber: Sutoyo, 2009)
Tabel 2.1 Hubungan antara bitper piksel dengan jumlah warna maksimum pada
Gambar 2.3 ContohCover Image dengan Nilai Piksel
Gambar 2.5. Penyisipan watermark (Sugiono, 2008).
+7

Referensi

Dokumen terkait

Event Kejuaraan Dunia Paralayang sebagai salah satu kegiatan olahraga internasional merupakan cara yang potensial sebagai sarana diplomasi kebudayaan

Dengan mengacu pada indikator yang telah ditetapkan sebelumnya dapat disimpulkan bahwa penerapan metode pembelajaran Inkuiri Terbimbing pada pokok bahasan kalor dapat

untuk meningkatkan proses pembelajaran kemampuan berkomunikasi lisan dengan menggunakan teknik sosiodrama pada siswa kelas V SD Negeri 3 Banjarejo Puring

Secara teoritis, dalam penandaan senyawa dengan suatu radionuklida, volume dan radioaktivitas yang digunakan dapat mempengaruhi kemurnian radiokimia senyawa bertanda tersebut.

Pengaplikasian patah kata yang mampu mendukung kepelbagaian makna dalam puisi-puisi Usman Awang, menjadikan puisi beliau bukan sahaja indah pada indera dengar pembaca tetapi

Dengan demikian Manajemen Keuangan merupakan suatu proses dalam kegiatan keuangan perusahaan yang berhubungan dengan upaya untuk mendapatkan dana perusahaan

organik yang cukup tinggi, dan dapat diolah dengan proses pengolahan secara biologis, sedangkan untuk air limbah rumah sakit yang berasal dari laboratorium biasanya banyak

Hasil analisis sub elemen berdasarkan matriks drver power – dependence elemen pendukung pengembangan, penghambat pengembangan pelaku pengembangan dan kebutuhan