• Tidak ada hasil yang ditemukan

Analisis Ketahanan Watermarking Citra dengan Algoritma Modified Least Significant Bit (MLSB)

N/A
N/A
Protected

Academic year: 2016

Membagikan "Analisis Ketahanan Watermarking Citra dengan Algoritma Modified Least Significant Bit (MLSB)"

Copied!
83
0
0

Teks penuh

(1)

ANALISIS KETAHANAN WATERMARKING CITRA DENGAN ALGORITMA MODIFIED LEAST SIGNIFICANT BIT (MLSB)

SKRIPSI

YUSUF DZAKI SARAAN 081401020

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(2)

ANALISIS KETAHANAN WATERMARKING CITRA DENGAN ALGORITMA MODIFIED LEAST SIGNIFICANT BIT (MLSB)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat untuk mencapai gelar Sarjana Komputer

YUSUF DZAKI SARAAN 081401020

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : ANALISIS KETAHANAN WATERMARKING CITRA

DENGAN ALGORITMA MODIFIED LEAST SIGNIFICANT BIT (MLSB)

Kategori : SKRIPSI

Nama : YUSUF DZAKI SARAAN

Nomor Induk Mahasiswa : 081401020

Program Studi : S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, November 2012

Komisi Pembimbing

Pembimbing II Pembimbing I

Drs. James Piter Marbun, M.Kom Drs. Partano Siagian, Msc NIP.195806111986031002 NIP. 130877994

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

DR. Poltak Sihombing, M.Kom NIP. 196203171991031001

(4)

ANALISIS KETAHANAN WATERMARKING CITRA DENGAN ALGORITMA MODIFIED LEAST SIGNIFICANT BIT (MLSB)

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan beberapa sumbernya.

Medan, November 2012

YUSUF DZAKI SARAAN NIM 081401020

PENGHARGAAN

(5)

Dalam penulisan skripsi ini, penulis telah bekerja semaksimal mungkin untuk berusaha agar lebih baik dan sempurna, namun penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Oleh karena itu, penulis mengharapkan saran dan kritik yang sifatnya membangun, sehingga skripsi ini dapat bermanfaat sebagai pengetahuan dan referensi bagi para peneliti berikutnya.

Skripsi ini penulis persembahkan untuk kedua orang tua penulis, ayah penulis Syafaruddin Saraan, SE, M.Si, dan mama penulis Nurhayani Angkat, dan juga abang penulis Rohkaseana Biiznilah Saraan, yang selama ini sudah memberikan doa, motivasi, serta kasih sayang yang dan pengorbanan yang tidak ternilai harganya, hingga skripsi ini dapat diselesaikan.

Selama mengikuti perkuliahan dan juga penyusunan skripsi ini penulis banyak mendapat bimbimgan, pengarahan dan motivasi baik langsung maupun tidak langsung. Oleh karena itu penulis mengucapkan terima kasih kepada:

1. Bapak Drs. Partano Siagian, M.Sc selaku Dosen Pembimbing I yang telah banyak meluangkan waktu untuk tenaga dan juga pikiran selama membimbing penulis hingga skripsi ini terselesaikan.

2. Bapak Dr. James Piter Marbun, M.Kom selaku Dosen pemimbing II yang telah meluangkan waktunya memberikan masukan dan bimbingan kepada penulis hingga skripsi ini dapat di selesaikan.

3. Bapak Prof. Dr. Iryanyo, M.Si Selaku Dosen Pembanding I yang telah memberikan saran dan masukan yang sangat berguna kepada penulis dalam menyelesaikan skripsi ini.

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc Selaku Sekretaris Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi USU dan juga sebagai Pembanding II yang telah memberikan saran dan masukan yang sangat berguna kepada penulis dalam menyelesaikan skripsi ini.

5. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

6. Bapak Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

7. Seluruh Dosen yang telah mendidik penulis selama mengikuti perkuliahan di S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi USU.

8. Seluruh staf tata usaha dan pegawai Program S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi USU yang telah membantu penulis dalam pengurusan adminstrasi selama mengikuti perkuliahan, seminar, dan ujian sarjana.

(6)

10.Senior dan Junior penulis di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi USU.

Semoga Allah SWT memberikan balasan yang setimpal atas segala amal dan budi yang di berikan dan senantiasa memberikan kita kemudahan dan kelapangan untuk mendapatkan ridhoNya.

Penulis

Medan, November 2012

(7)

ABSTRAK

Citra yang diambil dengan menggunakan kamera digital merupakan sebuah karya digital yang harus dilindungi. Dengan kemajuan teknologi memungkinkan penggandaan citra sangat mudah dilakukan dan dengan mudah dapat disebarluaskan. Dengan teknik watermarking, file citra hasil capture maupun karya digital lainnya dapat dilindungi. Teknik watermarking yang digunakan dalam penelitian ini adalah metode Modified Least Significant Bit (MLSB) yang merupakan pengembangan dari metode Least Significant Bit (LSB). Metode watermarking ini merupakan metode yang tidak terlalu sulit untuk dikembangkan. File yang dilindungi dengan metode ini tidak akan mengalami perubahan warna yang berarti, karena metode MLSB ini file penyisip citra akan disisipkan kedalam LSB ke-1 dan LSB ke-2 nilai blue secara bergantian dalam Citra Asli yang akan dilindungi. Dengan metode ini file citra yang dilindungi masih tahan terhadap beberapa serangan yang umum diberikan kepada citra, seperti menambah Noise dan juga Gaussian Blur karena citra penyisip hasil ekstraksi masih dapat dikenali. Untuk mengetahui tingkat kerusakan file citra penyisip dilakukan penghitungan Bit Error Ratio (BER) pada citra penyisip asli dan citra penyisip ekstraksi.

(8)

ANALYSIS OF IMAGE WATERMARKING ROBUSTNESS WITH MODIFIED LEAST SIGNIFICANT BIT (MLSB) ALGORITHM

ABSTRACT

The image which taken using a digital camera is a digital artwork that should be protected. With technology advances can allow doubling of image is very easy to do and can easily be share. With using watermarking technique, image capture files result or other digital works can be protected. Watermarking technique used in this research is method of Modified Least Significant Bit (MLSB), which is the development of the method of Least Significant Bit (LSB). This watermarking method is a method that is not too difficult to be develop. File that is protected with this method will not change the color which means, because with MLSB method image will be inserted into the first LSB and second LSB value blue interchangeably in the original image will be protected. With this method, the protected image file still resistant to several attacks commonly given to image, such as adding Noise and Gaussian Blur because extraction watermark image result can still be identified. To find out the level of damage image file inserted must be conducted calculated Bit Error Ratio (BER) on the original image and the image inserted extraction.

(9)

DAFTAR ISI

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metode Penulisan 3

1.7 Sistematika penulis 4

Bab 2 Landasan Teori 5

2.1 Citra Digital 5

2.1.1 Format File Citra Bitmap 8

2.1.2 Format BMP 8

2.2 Watermarking 10

2.2.1 Sejarah Watermarking 11

2.2.2 Perbedaan Watermarking dan Steganografi 12

2.2.3 Digital Watermarking 12

2.2.4 Klasifikasi Image Watermarking 14

2.2.5 Aplikasi Watermark 15

2.3 Serangan Terhadap Citra Ber-watermark 17

2.3.1 Standart Attact 17

2.4 Algoritma Least Significant Bit (LSB) 19

2.5 Bit Error Rate (BER) 20

Bab 3 Analisis Dan Perancangan 22

3.1 Analisis 22

3.1.1 Menghitung Nilai Piksel Citra Asli 23 3.1.2 Menghitung Nilai RGB Citra Asli 24 3.1.3 Menghitung Nilai Piksel Citra Penyisip 30 3.1.4 Menghitung Nilai RGB Penyisip 31

3.1.5 Menghitung Posisi Piksel 32

(10)

3.1.7 Menampilkan Citra ter-Watermarking 35

3.1.8 Flow Chart 39

3.1.9 DFD Level 1 42

3.1.10 DFD Level 1 Penyisipan MLSB 43

3.1.11 DFD Level 1 Ekstraksi 44

3.2 Perancangan Antarmuka (Interface) 45

3.2.11 Rancangan Menu Utama 45

3.2.12 Rancangan Ekstraksi 46

Bab 4 Implementasi Dan Pengujian Sistem 47

4.1 Implementasi 47

4.2 Tampilan Antarmuka Aplikasi 48

4.2.1 Tampilan Menu Utama 48

4.2.2 Tampilan Proses Ekstraksi 49

4.2.3 Tampilan Menghitung Bit Error Ratio 51

4.3 Pengujian Sistem 51

4.3.1 Lingkungan Pengujian 51

4.3.2 Tujuan Uji 51

4.3.3 Data Pengujian 52

4.3.4 Proses Watermarking 54

4.3.5 Proses Pemberian Serangan 56

4.3.6 Proses Ekstraksi Citra 57

4.4 Hasil Pengujian 58

Bab 5 Kesimpulan dan Saran 59

5.1 Kesimpulan 59

5.2 Saran 60

Daftar Pustaka 61

(11)

DAFTAR TABEL

Halaman

2.1 Tabel Format File BMP 9

2.2 Tabel Nilai Biner Blue Sebelum Penyisipan 20 2.3 Tabel Nilai Biner Blue Setelah Penyisipan 20 3.1 Tabel hasil perhitungan posisi piksel 32

3.2 Tabel Penyisipan bit-bit penyisip 34

3.3 Tabel Nilai RGB 37

4.1 Tabel Citra Digital yang digunakan untuk pengujian 52

4.2 Tabel Citra Penyisip 53

4.3 Tabek Preview citra ter-watermark 56

(12)

DAFTAR GAMBAR

2.1 Koordinat Pixel 5

2.2 Ruang Warna RGB 7

2.3 Format citra 24-bit (16 juta warna) 10

2.4 Penyisipan watermark 12

2.5 Ekstraksi Watermark 13

2.6 Gambar dengan Random Pick Noise 18

2.7 Gambar dengan efek Gaussian Blur 19

2.8 Matriks Citra Penampung 4 x 2 19

2.9 Perubahan Nilai Biner Citra 20

3.1 Citra Asli 23

3.2 Citra Penyisip 23

3.3 Contoh Data Bitmap File Citra Asli 24

3.4 Matriks Citra Asli 24

3.5 Contoh data bitmap file citra penyisip 30 3.6 Contoh data bitmap file citra penyisip 31

3.7 Data Bit citra asli 36

3.8 Data Bit citra asli sesudah penyisipan 36

3.9 Flow Chart Watermarking 39

3.10 Flow Chart Ekstraksi 40

3.11 Diagram Konteks watermarking 41

3.12 Diagram Konteks ekstraksi 42

3.13 DFD Perangkat Lunak Tingkat 1 42

3.14 DFD Level 1 43

3.15 DFD Level 1 Ekstraksi 44

3.16 Rancangan Menu Utama 45

3.17 Rancangan menu Ekstraksi 46

4.1 Tampilan Menu Utama 48

4.2 Proses Watermarking 49

4.3 Tampilan Menu Ekstraksi 50

4.4 Tampilan Hitung BER 51

4.5 Kotak Pesan batas piksel citra penyisip 53

4.6 Proses Watermarking Citra Pertama 54

4.7 Proses Watermarking Citra Ke dua 54

4.8 Proses Watermarking Citra ke tiga 55

(13)

ABSTRAK

Citra yang diambil dengan menggunakan kamera digital merupakan sebuah karya digital yang harus dilindungi. Dengan kemajuan teknologi memungkinkan penggandaan citra sangat mudah dilakukan dan dengan mudah dapat disebarluaskan. Dengan teknik watermarking, file citra hasil capture maupun karya digital lainnya dapat dilindungi. Teknik watermarking yang digunakan dalam penelitian ini adalah metode Modified Least Significant Bit (MLSB) yang merupakan pengembangan dari metode Least Significant Bit (LSB). Metode watermarking ini merupakan metode yang tidak terlalu sulit untuk dikembangkan. File yang dilindungi dengan metode ini tidak akan mengalami perubahan warna yang berarti, karena metode MLSB ini file penyisip citra akan disisipkan kedalam LSB ke-1 dan LSB ke-2 nilai blue secara bergantian dalam Citra Asli yang akan dilindungi. Dengan metode ini file citra yang dilindungi masih tahan terhadap beberapa serangan yang umum diberikan kepada citra, seperti menambah Noise dan juga Gaussian Blur karena citra penyisip hasil ekstraksi masih dapat dikenali. Untuk mengetahui tingkat kerusakan file citra penyisip dilakukan penghitungan Bit Error Ratio (BER) pada citra penyisip asli dan citra penyisip ekstraksi.

(14)

ANALYSIS OF IMAGE WATERMARKING ROBUSTNESS WITH MODIFIED LEAST SIGNIFICANT BIT (MLSB) ALGORITHM

ABSTRACT

The image which taken using a digital camera is a digital artwork that should be protected. With technology advances can allow doubling of image is very easy to do and can easily be share. With using watermarking technique, image capture files result or other digital works can be protected. Watermarking technique used in this research is method of Modified Least Significant Bit (MLSB), which is the development of the method of Least Significant Bit (LSB). This watermarking method is a method that is not too difficult to be develop. File that is protected with this method will not change the color which means, because with MLSB method image will be inserted into the first LSB and second LSB value blue interchangeably in the original image will be protected. With this method, the protected image file still resistant to several attacks commonly given to image, such as adding Noise and Gaussian Blur because extraction watermark image result can still be identified. To find out the level of damage image file inserted must be conducted calculated Bit Error Ratio (BER) on the original image and the image inserted extraction.

(15)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Dalam era modern sekarang ini penyebaran data digital berupa citra berlangsung sangat cepat mengingat perkembangan internet dan dunia digital yang semakin berkembang seiring berjalannya waktu. Tentu saja, hal ini banyak membawa keuntungan bagi para penggunanya. Namun, tidak sedikit pula bahaya dan kerugian yang ditimbulkan akibat penyebaran citra digital tersebut, seperti penggandaan file citra tanpa izin dari pemiliknya, klaim kepemilikan atas sebuah karya, dan pengubahan keaslian dari sebuah karya digital. Oleh karena itu, diperlukan adanya suatu cara untuk menangani masalah ini.

Teknik watermarking dapat dijadikan solusi untuk melindungi media digital sebagai

bukti kepemilikan media digital. Watermarking adalah proses menyisipkan informasi seperti

tanda digital ke dalam inti dari objek multimedia secara permanen. Watermark dalam media

digital tidak dapat diketahui keberadaannya oleh pihak lain yang tidak mengetahui metode

watermarking yang digunakan. Informasi ini dapat digunakan untuk bermacam-macam

aplikasi seperti autentikasi, perlindungan hak cipta, pemantauan data, bukti kepemilikan

intelektual dan lain-lain. Pada umumnya watermark dapat dikelompokkan menjadi dua

kelompok utama menurut cara kerjanya. Teknik domain spasial menanamkan data langsung

dengan cara memodifikasi nilai pixel citra, sedangkan teknik domain frekuensi memodifikasi

nilai koefisien transformasinya [3].

Pada penelitian ini digunakan pengujian ketahanan watermark dengan cara

melakukan proses pemberian Gaussian Blur dan random Noise pada citra hasil

watermarking. Teknik watermarking yang dilakukan pada citra digital adalah dengan

algoritma Modified Least Significant Bit (MLSB).

(16)

penyisipan pesan Steganografi. Untuk memperkuat penyembunyian pesan dilakukan modifikasi teknik LSB. Modifikasi dilakukan dengan teknik penyisipan bit yang hanya di lakukan di LSB ke-1 dan LSB ke-2 nilai Blue pada piksel citra. Pada metode ini penyisipan pada LSB ke-1 dan LSB ke-2 dilakukan secara bergantian.

Citra digital dapat diwatermark, pada penelitian yang dilakukan Zaki Rahmatullah, watermarking citra digital ditransformasikan menggunakan Discrete Cosine Transform (DCT). Pada proses penanaman watermark, citra ditransformasikan menggunakan DCT menjadi domain frekuensi yang menghasilkan tiga area yaitu Low Frequency (FL), Medium Frequency (FM), dan High Frequency (FH). Bit-bit watermark ditanam pada area FM dengan menggunakan nilai Koefisien Selisih (K). Kualitas citra ber-watermark diukur dengan Peak Signal of Noise Ratio (PSNR). Semakin besar nilai K diperoleh nilai PSNR yang semakin kecil[9].

Pada penelitian lain, segmentasi citra menggunakan teknik pemetaan warna (color mapping). Pada penelitian ini metode yang digunakan dalam segmentasi citra adalah teknik pemetaan warna. Teknik ini adalah merupakan metode klasterisasi yang menggunakan algoritma K-Means.

Berdasarkan latar belakang masalah diatas maka penulis memberi judul penelitian ini dengan “Analisis Ketahanan Watermark Citra Dengan Algoritma Modified Least Significant Bit (MLSB)”.

1.2 Rumusan Masalah

(17)

1.3 Batasan Masalah

Dalam penelitian ini penulis membuat batasan masalah yaitu:

1. File citra yang di-watermarking adalah citra digital berformat bitmap (bmp).

2. File penyisip berupa citra digital berformat bmp dimensi maximum100 x 75 piksel, atau sesuai daya tampung citra asli.

3. Bahasa pemrograman menggunakan Microsoft Visual Basic.Net

4. Parameter ketahanan yang digunakan adalah nilai Bit Error Ratio (BER).

5. Serangan pada citra ber-watermark menggunakan perangkat lunak pengolah citra Gimp 2.82.

1.4 Tujuan Penelitian

Tujuan penelitian ini adalah untuk menghasilkan suatu perangkat lunak watermarking citra dengan menggunakan algoritma Modified Least Significant Bit.

1.5 Manfaat Penelitian

Manfaat penelitian adalah untuk mengetahui ketahanan watermark citra dengan

menggunakan algoritma Modified Least Significant Bit.

1.6 Metode Penelitian

Dalam penelitian ini, tahapan-tahapan yang akan dilalui adalah sebagai berikut: 1. Studi Literatur

Metode ini dilaksanakan dengan melakukan studi kepustakaan yang relevan serta

buku-buku maupun artikel-artikel atau e-book dan juga journal international yang didapatkan

(18)

2. Analisis

Pada tahap ini digunakan untuk mengolah data yang ada dan kemudian melakukan

analisis terhadap hasil studi literatur yang diperoleh sehingga menjadi suatu informasi.

3. Perancangan Perangkat Lunak

Pada tahap ini, digunakan seluruh hasil analisa terhadap studi literatur yang dilakukan

untuk merancang perangkat lunak yang akan dihasilkan. Dalam tahapan ini, dilakukan

perancangan terhadap bentuk antarmuka sistem serta proses kerja sistem untuk

memudahkan dalam proses implementasi berikutnya.

4. Implementasi dan Pengujian Sistem

Pada tahap ini dilakukan pemasukan data serta pengolah data untuk mendapatkan

hasilnya apakah sudah sesuai dengan yang diharapkan.

1.7Sistematika Penulisan

Dalam penulisan skripsi ini penulis membuat sistematika sebagai berikut:

BAB 1 PENDAHULUAN membahas Latar Belakang, Perumusan Masalah, Batasan

Masalah, Tujuan penelitian, Manfaat Penelitian, Metodologi Penelitian yang

dilakukan serta Sistematika penulisan.

BAB 2 LANDASAN TEORI berisi penjelasan mengenai beberapa hal mendasar

yang berkaitan dengan topik tugas akhir yang di kerjakan diantaranya

membahas tentang citra watermarking, algoritma Modified Least Significant

Bit, serta flow chart.

BAB 3 ANALISIS DAN PERANCANGAN membahas mengenai Algoritma

Modified Least Significant Bit, flow chart sistem serta perancangan antar

muka pengguna.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM membahas tentang

implementasi dan pengujian sistem.

(19)

BAB 2

LANDASAN TEORI

2.1Citra Digital

Citra digital merupakan citra yang berbentuk array dua dimensi yang terdiri dari blok-blok

kecil yang disebut dengan pixel. Pixel merupakan elemen pembentuk warna terkecil yang

menyusun suatu citra. Citra dibentuk dari kotak-kotak persegi yang teratur sehingga jarak

horizontal dan vertikal antara piksel sama pada seluruh bagian citra. Setiap piksel diwakili

oleh bilangan bulat (integer) untuk menunjukkan lokasinya dalam bidang citra. Sebuah

bilangan bulat juga digunakan untuk menunjukkan cahaya atau keadaan terang gelap piksel

tersebut.

Citra digital dapat didefinisikan secara matematis sebagai fungsi intensitas dalam dua

variabel x dan y yang dapat dituliskan f(�,�), dimana (�,�) merepresentasikan koordinat spasial pada bidang dua dimensi dan f(�,�) merupakan intensitas cahaya pada koordinat tersebut. Intensitas f dari gambar hitam putih pada titik(�,�) disebut derajat keabuan (grey level) yang bergerak dari hitam ke putih sedangkan citranya disebut citra skala-abu

(grayscale image) atau citra monokrom (monochrome image).

Gambar 2.1 Koordinat Pixel.

(20)

1. Citra Biner

Citra biner adalah citra yang hanya memiliki dua kemungkinan nilai piksel yaitu

hitam dan putih.

2. Citra Grayscale

Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada

setiap pikselnya. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih.

3. Citra Warna (8 bit)

Citra yang setiap piksel citranya hanya diwakili oleh 8 bit dengan jumlah warna

maksimum yang dapat digunakan 256 warna.

4. Citra Warna (16 bit)

Citra warna 16 bit biasanya disebut sebagai citra highcolor , setiap piksel nya

diwakili dengan 2 byte memory (16 bit). Warna 16 bit memiliki 65.536 warna.

5. Citra Warna (24 bit)

Setiap piksel dari citra warna 24 bit diwakili dengan 24 bit sehingga memiliki total

16.777.216 warna. Setiap piksel memiliki warna (Red,Green,Blue) disimpan ke

dalam 1 byte data. 8 bit menyimpan nilai RED, 8 bit menyimpan nilai Green, dan 8

bit menyimpan nilai Blue.

Citra digital juga memiliki beberapa ruang warna. Sistem warna yang umumnya

digunakan adalah:

1. RGB (Red, Green, Blue)

RGB (Red Green Blue) yang terdiri dari tiga buah warna utama yaitu merah,

hijau, dan biru, Ruang warna RGB dapat divisualisasikan sebagai sebuah kubus

seperti pada Gambar 2.2, dengan tiga sumbunya yang mewakili komponen warna

merah (red) R, hijau (Green) G dan biru (blue) B. Salah satu pojok alas kubus ini

menyatakan warna hitam ketika R = G = B = 0, sedangkan pojok atasnya yang

berlawanan menyatakan warna putih ketika R = G = B = 255 (untuk sistem warna

8 bit bagi setiap komponennya), RGB sering digunakan didalam sebagian besar

(21)

untuk menampilkan informasi di layar monitor. Alasan diatas juga menyebabkan

RGB banyak dimanfaatkan sebagai ruang warna dasar bagi sebagian besar

aplikasi[10].

Gambar 2.2 Ruang Warna RGB[10].

2. YCbCr (Luminance – Chrominance)

YCbCr (Luminance – Chrominance) merupakan merupakan domain yang berbeda

dengan domain warna RGB yang terdiri dari luminance (Y), chrominance biru

(Cb), chrominance merah (Cr). Luminance membawa informasi tentang tingkat

kecerahan. Sedangkan chrominance membawa informasi tentang kekuatan warna.

YCbCr merupakan standar internasional bagi pengkodean digital gambar televisi

yang didefinisikan di CCIR Recommendation 601. Y merupakan komponen

luminance, Cb dan Cr adalah komponen chrominance. Pada monitor monokrom

nilai luminance digunakan untuk merepresentasikan warna RGB, secara

psikologis ia mewakili intensitas sebuah warna RGB yang diterima oleh mata.

3. Hue-Saturation-Brightness (HSB)

Dalam model HSB terdapat tiga karakteristik utama pada warna yaitu:

a. Hue adalah warna yang dipantulkan dari suatu objek atau yang dipancarkan

melalui suatu objek dan sering dinyatakan dengan lingkaran warna standar

dari 0 sampai 360 derajat. Pada pemakaian umum sering disebut dengan

warna seperti merah, oranye atau hijau.

b. Saturation atau yang biasa disebut chroma adalah kekuatan warna dan

(22)

warna standar, saturation meningkat dari pusat lingkaran menuju ke tepi

lingkaran.

c. Brightness adalah nilai relatif dari gelap-terang dari warna dan biasanya dinyatakan dengan persentase dari 0 (hitam) sampai dengan 100 (putih).

2.1.1 Format File Citra Bitmap

Citra Bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data kode itra

secara digital dan lengkap ( cara penyimpanannya adalah per piksel). Citra bitmap

dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner

atau sistem bilangan lain. Citra ini memiliki kelebihan untu memanipulasi warna, tetapi untuk

mngubah objek lebih sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi

bayangan dan warna dari sebuah citra[7].

2.1.2 Format BMP

Format file bmp merupakan format standar sistem operasi Windows dalam IBM OS/2.

Format ini mendukung mode warna dari bitmap mode hingga RGB mode. BMP mudah

dibuka dan disimpan, tetapi ada beberapa aturan khusus yang harus dicermati, diantaranya

[8]:

1. Format file ini menyimpan datanya secara terbalik, yaitu dari bawah ke atas.

2. Citra dengan resolusi warna 8-bit, lebar citra harus merupakan kelipatan dari 4, bila

tidak maka pada saat penyimpanan akan ditambahkan beberapa byte pada data hingga

merupakan kelipatan dari 4.

3. Citra dengan resolusi warna 24-bit, urutan penyimpanan tiga warna dasar adalah biru,

hijau, merah (B, G, R). Lebar citra dikalikan dengan 3 harus merupakan kelipatan dari

4, bila tidak maka pada saat penyimpanan akan ditambahkan beberapa byte pada data

hingga merupakan kelipatan dari 4.

(23)

Tabel 2.1 Format File BMP.

Name Size Description

Header 14 byte

Signature 2 byte ‘BM’

File Size 4 byte File Size byte

Reserved 4 byte Unused (=0)

Data Offset 4 byte File Offset to Raster

Info Header 40 byte Windows Structure:

BITMAP INFO HEADER

1 = monochrome pallette, NumColor = 1 4 = 4 bit palletized, NumColors = 16 8 = 8 bit palletized, NumColors = 256 16 = 16 bit RGB, NumColors = 65536 24 =24 bit RGB, NumColors = 16 M

Compression 4 byte Type of Compression

0 = BI_RGB (no compression) 1 = BI_RLE8 (8 bit RLE encoding) 2 = BI_RLE4 (4 bit RLE encoding)

ImageSize 4 byte (compressed) Size of Image

It is valid to ser this = 0 if compressed = 0

XpixelsPerm 4 byte Horizontal Resolution: Pixel/meter

YpixelPerm 4 byte Vertical Resolution: Pixel/meter

ColorsUsed 4 byte Number of actually used colors

ColorImportant 4 byte Number of important color = 0 all

Color Tabel 4 * NumColors

(bytes)

Present only if info. BitsPerpixel ≤ 8 Color should be ordered by importance

Red 1 byte Red Intensity

Green 1 byte Green Intensity

Blue 1 byte Blue Intensity

Reserved 1 byte Unused (= 0)

Repeated NumColors Times

Raster Data Info.ImageSize

(bytes) The Pixel Data

File citra bitmap terdiri atas bagian header, nilai RGB, dan data bitmap. Pada citra

8-bit, setiap elemen data bitmap menyatakan indeks dari peta warnanya di palet RGB. Header

adalah merupakan informasi dari struktur daripada sebuah file citra. Header merupakan

tempat memberikan informasi tentang nama file, ukuran, dimensi, resolusi (horizontal atau

(24)

Pada citra 24-bit, tidak terdapat palet RGB, karena nilai RGB langsung diuraikan

dalam data bitmap. Setiap elemen data bitmap panjangnya 3 byte, masing-masing byte

menyatakan komponen R, G, dan B [2].

<Header> <data bitmap>

100100000101101001111000 01100101101100010111011

Gambar 2.3 Format citra 24-bit (16 juta warna).

2.2Watermarking Citra

Watermarking adalah salah satu teknik dari bidang ilmu steganografi, yaitu suatu bidang ilmu

yang mempelajari cara menyisipkan suatu objek ke dalam objek lainnya. Pada awal

kemunculannya, watermarking digunakan untuk dapat menyisipkan suatu objek yang untuk

menunjukkan kepemilikan, tujuan, atau data lain, pada materi tanpa mempengaruhi

kualitasnya.

Watermark merupakan sebuah objek atau data tertentu yang membawa informasi

tertentu sesuai dengan tujuannya dan sengaja disisipkan secara permanen kedalam data media

induknya. Watermark dalam citra digital tersebut tidak dapat diketahui keberadaannya oleh

pihak lain yang tidak mengetahui metode penyisipan watermark yang digunakan. Watermark

tersebut juga tidak dapat diidentifikasi dan dihilangkan. Penggunaan watermarking sangat

diperlukan untuk melindungi hasil karya intelektual dalam bentuk digital seperti software,

produk multimedia seperti teks, musik (MP3 atau WAV), gambar/citra (image), dan video

digital (VCD). Selama ini penggandaan produk digital tersebut dilakukan secara bebas dan

leluasa. Hasil penggandaan persis sama dengan aslinya. Pemegang hak cipta atas produk

digital tersebut tentu dirugikan karena ia tidak mendapat royalti dari usaha penggandaan

tersebut. Oleh karena itu, penyisipan watermark pada produk digital memiliki peran yang

(25)

Label watermark adalah sesuatu data atau informasi yang akan ditanamkan kedalam data

digital yang ingin dilindungi untuk dilakukan proses watermarking. Ada dua 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. logo atau citra atau suara

Berbeda dengan teks, kesalahan pada beberapa bit masih dapat memberikan persepsi yang

sama dengan aslinya, baik oleh pendengaran maupun penglihatan manusia.

Oleh karena itu, penyisipan logo sebagai label watermark bisa dikatakan lebih efektif

dibandingkan teks, citra, ataupun suara karena selain tidak sensitif terhadap kesalahan bit,

ukuran file juga tidak terlalu besar. Untuk label watermark yang berupa logo atau citra biner

(tidak berwarna/hitam putih), maka terlebih dahulu logo tersebut harus dikonversikan

menjadi deretan bilangan biner {0,1} untuk kemudian diubah menjadi deretan bilangan yang

berisi −1 dan 1. Selanjutnya, deretan bilangan ini nantinya akan dikali dengan bilangan real acak antara 0 dan 1. Bilangan-bilangan tersebut kemudian ditanamkan pada n koefisien DCT

yang penting atau besar [5].

2.2.1 Sejarah Watermarking

Watermarking sudah ada sejak 700 tahun yang lalu. Pada akhir abad 13, pabrik kertas di

Fabriano, Italia, membuat kertas yang diberi watermark atau tanda air dengan cara menekan

bentuk cetakan gambar atau tulisan pada kertas yang baru setengah jadi. Ketika kertas

dikeringkan terbentuklah suatu kertas yang berwatermark. Kertas ini biasa digunakan oleh

seniman atau sastrawan untuk menulis karya mereka. Kertas yang sudah dibubuhi tanda air

tersebut sekaligus dijadikan identifikasi bahwa karya seni diatasnya adalah milik mereka.

(26)

Watermarking merupakan aplikasi dari steganografi, namun ada perbedaan diantara

keduanya. Pada steganografi, media penampung pesan rahasia hanya pembawa atau dengan

kata lain, tidak berarti apa-apa. Hal ini jauh berbeda dengan watermarking karena pada

watermarking, justru media penampung tersebut dilindungi kepemilikannya dengan

memberikan label hak citra [3].

2.2.3 Digital Watermarking

Teknik digital watermarking pada dasarnya memiliki prinsip yang sama dengan

watermarking pada media selain citra. Secara umum, watermarking terdiri dari dua tahapan,

yaitu penyisipan watermark dan ekstraksi/verifikasi atau pendeteksian watermark [3].

Pengekstrakan dan pendeteksian sebuah watermark sebenarnya tergantung pada algoritma

yang dipakai untuk watermarking.

Secara umum proses watermarking pada citra digital menggunakan kunci sebagai sarana

kepemilikan untuk dapat membuka watermark yang disisipkan melalui encoder yang berisi

algoritma penyisipan watermark kedalam citra digital. Skema penyisipan watermarking dapat

dilihat pada Gambar 2.4.

Gambar 2.4 Penyisipan Watermark[4].

Citra ber-watermark yang dihasilkan dari proses watermarking tidak jauh berbeda

citra digital asalnya. Hal ini disebabkan karena pengubahan dari citra digital asal ke citra

ber-watermark hanya berpengaruh sedikit terhadap perubahan warna dari citra digital, sehingga

sistem penglihatan manusia tidak dapat memberi persepsi terhadap perubahan tersebut.

(27)

ber-watermark. Proses ekstraksi/verifikasi ini bertujuan untuk mendapatkan kembali citra

watermark yang disisipkan dalam citra digital tersebut. Umumnya proses ekstraksi/verifikasi

melibatkan proses pembandingan citra digital asal dengan citra ber-watermark untuk

mendapatkan watermark yang disisipkan, seperti yang digambarkan pada Gambar 2.5.

Gambar 2.5 Ekstraksi Watermark[4].

Pengkategorian watermarking berdasarkan proses ekstraksi/verifikasi watermark

terbagi dua jenis, yaitu [2]:

1. Blind Watermarking yaituverifikasi watermark tanpa membutuhkan citra yang asli.

2. Non-Blind Watermarking yaitu Verifikasi watermark dengan membutuhkan citra asli.

Sebuah teknik watermarking yang bagus harus memenuhi persyaratan sebagai

berikut:

1. Fidelity

Penyisipan suatu watermark pada citra seharusnya tidak mempengaruhi nilai citra tersebut.

Watermark pada citra idealnya tidak dapat dipersepsi oleh indera dan tidak dapat

dibedakan dengan citra yang asli.

2. Robustness

Watermark dalam citra digital harus memiliki ketahanan yang cukup terhadap pemrosesan

digital yang umum.

3. Security

Watermarking memiliki daya tahan terhadap usaha sengaja untuk memindahkan

(28)

4. Imperceptibility

Keberadaan watermark tidak dapat di persepsi oleh indra visual. Hal ini bertujuan untuk

menghindari pengamatan visual

5. Key Uniqueness

Sebuah kunci harus identik terhadap sebuah watermark. Hal ini berarti kunci yang berbeda

seharusnya menghasilkan watermark yang berbeda. Pegggunaan kunci yang salah dapat

mengakibatkan hasil ekstraksi/deteksi watermark yang salah pula.

6. Non-Invertibility

Proses untuk mendeteksi apakah citra tersebut ber-watermark atau tidak akan sangat sulit

jika hanya diketahui citra ber-watermark saja.

7. Image Dependency

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

2.2.4 Klasifikasi Image Watermarking

Klasifikasi terhadap image watermarking dapat dikelompokkan dalam beberapa kategori [4]

yaitu:

1. Kategori berdasarkan kenampakan dari watermark.

a. Visible Watermarking

Pada visible watermarking ini, watermark yang disisipkan pada suatu image terlihat

dengan jelas. Watermark biasanya berbentuk logo atau teks baik transparan atau tidak

yang diletakkan tidak mengganggu atau menutupi image asal. Jenis watermarking ini

biasanya diterapkan pada image yang memang dimaksudkan untuk disebar secara

umum bersama dengan identitas pemilik asal image tersebut.

b. Invisible Watermarking

Sesuai namanya, watermark pada invisible watermarking yang disisipkan pada image

tidak lagi dapat dipersepsi dengan indera. Namun, keberadaannya tetap dapat dideteksi.

Penerapan teknik invisible watermarking ini lebih sulit dari pada teknik yang digunakan

pada visible watermarking.

2. Kategori berdasarkan kekuatan watermark yang ada pada image.

Kategori berdasarkan kekuatan watermark adalah:

a. Fragile Image Watermarking

Fragile image watermarking merupakan jenis watermark yang ditujukan untuk

(29)

mudah sekali berubah atau bahkan hilang jika dilakukan perubahan terhadap image.

Dengan begitu, image 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 image.

b. Robust Image Watermarking

Robust image watermarking adalah teknik penggunaan watermark yang ditujukan

untuk menjaga integritas atau orisinalitas image. Watermark yang disisipkan pada

media akan sangat sulit sekali dihapuskan atau dibuang. Dengan Robust Image, proses

penggandaan image yang tidak memiliki izin dapat dihalangi. Kebanyakan aplikasi dari

robust watermarking ini bukan pada sebuah image, melainkan pada sistem proteksi CD

atau DVD.

2.2.5 Aplikasi Watermark

Watermark telah gunakan secara luas untuk mengurangi berbagai tindak kejahatan yang

berkaitan dengan penggandaan dokumen digital. 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.

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 cara untuk mendeteksi keaslian dari suatu

karya digital. Suatu image yang telah disisipi watermark dapat dideteksi perubahan

yang dilakukan terhadapnya dengan memeriksa apakah watermark yang disisipkan

dalam image tersebut rusak atau tidak.

(30)

Seperti halnya bukti kepemilikan, watermark juga dapat digunakan sebagai

pemeriksaan hak akses atau penanda (sidik jari) dari suatu image.

5. Transaction tracking

Fungsi transaction tracking ini dapat dilakukan pada image yang mengandung

watermark. Pengimplementasiannya dilakukan dengan memberikan watermark yang

berbeda pada sejumlah domain/kelompok pengguna. Sehingga bila image tersebar

diluar domain tersebut, dapat di ketahui domain mana yang menyebarkannya.

6. Piracy protection/copy

Untuk dapat melakukan ini, perancang teknik 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.3Serangan Terhadap Citra Ber-watermark

Serangan terhadap citra ber-watermark umumnya bertujuan untuk menghilangkan watermark

yang disisipkan di dalam citra digital tersebut. Serangan ini disebut sebagai serangan yang

disengaja. Serangan yang tidak disengaja biasanya berhubungan dengan pengubahan citra

digital. Secara umum jenis serangan terhadap citra ber-watermark dibagi menjadi dua, yaitu

standard attack dan malicious attack [3].

2.3.1 Standard Attact

Standard attack biasanya merupakan serangan yang tidak disengaja untuk merusak atau

(31)

1. Cropping

Cropping merupakan serangan yang umum karena banyak orang sering menginginkan

bagian tertentu dari sebuah citra saja. Untuk dapat mengatasi serangan ini dapat

dilakukan dengan cara menyebarkan watermark pada tempat-tempat yang

memungkinkan terjadinya serangan.

2. Geometrical Attack

Geometrical attack sering tidak secara sengaja bertujuan untuk menghilangkan

watermark pada citra yang sudah ber-watermark. Geometrical attack ini menyebabkan

pendeteksi watermark kehilangan sinkronisasinya dengan citra ber-watermark.

3. Kompresi

Serangan ini juga merupakan serangan yang sering dilakukan secara tidak sengaja.

Kompresi sering dilakukan pada file multimedia seperti audio, video, dan citra.

Watermark yang disisipkan biasanya lebih tahan terhadap kompresi yang memiliki

domain sama dengan domain yang dipakai pada saat watermarking. Misalnya citra

yang disisipi watermark menggunakan DCT (Discrete Cosine Transform) lebih tahan

terhadap kompresi JPEG dari pada citra yang disisipi watermark dalam domain spasial.

Atau citra yang disisipi watermark menggunakan DWT (Discrete Wavelet Transform)

lebih kuat terhadap kompresi JPEG2000.

4. Penambahan Random Noise

Random noise adalah gangguan pada citra yang ditandai dengan perubahan intensitas

warna pada gambar. Perubahan ini terjadi secara random dan lokasinya tidak dapat

diprediksi. Jenis-jenis random noise diantaranya adalah random hurl, random slur dan

random pick. Random hurl mengubah warna pada piksel citra secara acak, sehingga

menghasilkan ganggauan acak (random noise). Random Slur memberikan efek seperti

gambar yang mencair ke bawah. Random Pick mengubah setiap piksel citra yang

terkena dengan nilai piksel yang dipilih secara acak dari delapan nilai piksel

tetangganya dan dirinya sendiri. HVS noise memberikan gangguan pada layer yang

(32)

Gambar 2.6 Gambar citra asli dan gambar dengan Random Pick Noise[12].

5. Filterisasi

Filterisasi umum digunakan pada citra. Untuk menangani jenis serangan filterisasi,

watermark dapat disisipkan pada frekuensi yang paling sedikit berubah jika terjadi

kompresi, dengan memperkirakan filterisasi apa saja yang umum digunakan.

6. Gaussian Blur

Gaussian blur adalah efek yang digunakan untuk mengurangi noise, penghalusan

(smoothing), pengaburan (blur) dan mengurangi detail pada gambar digital. Secara

visual gangguan tekni ini dapat dilihat oleh mata, karena terlihat berbeda dengan piksel

aslinya[1].

Gambar 2.7 Gambar citra asli dan gambar dengan efek Gaussian Blur[13].

2.4Algoritma Modified Least Significant (MLSB)

Algoritma yang digunakan dalam merancang perangkat lunak ini adalah modifikasi dari

Algoritma Least Significant Bit (LSB). Modifikasi dilakukan dengan teknik penyisipan bit yang hanya di lakukan di LSB ke-1 dan LSB ke-2 nilai Blue pada piksel citra. Pada metode ini penyisipan pada LSB ke-1 dan LSB ke-2 dilakukan secara bergantian dengan menggunakan citra bitmap 24bit sebagai penampung.

Cara kerja Algoritma Modified Least Significant Bit (MLSB) dapat dijelaskan melalui

contoh di bawah ini.

(33)

<larik data piksel>

000001100000110000011000 001101000001000000010100 101000000110111000101011 100000011000000010110000 010001100101100010010001 100010001010010110000001 001000111111000100100010 010011001000110000000000

Gambar 2.8 Biner Citra Penampung 4 x 2.

Misalkan penyisip yang di gunakan adalah karakter “S” dengan nilai biner 01110011

maka penyisipan hanya di lakukan di LSB ke-1 dan LSB ke-2 nilai Blue pada piksel citra,

nilai biner blue sebelum dan sesudah penyipan dapat dilihat pada tabel 2.2 dan 2.3.

.

Tabel 2.2 Nilai Biner Blue Sebelum Penyisipan.

Posisi Piksel Nilai Biner Blue Nilai Biner Karakter S

0 00000110

Tabel 2.3 Nilai Biner Blue Setelah Penyisipan.

Posisi Piksel Nilai Biner Blue Nilai Biner Karakter S

(34)

Pada tabel di atas dapat dilihat perubahan nilai biner blue pada citra setelah penyisipan.

<header file bitmap> <header bitmap info> <larik data piksel>

000001100000110000011000 001101100001000000010100 101000010110111000101011 100000111000000010110000 010001100101100010010001 100010001010010110000001 001000111111000100100010 010011101000110000000000

Gambar 2.9 Perubahan Nilai Biner Citra.

2.5Bit Error Ratio (BER)

Bit Error Ratio adalah salah satu cara untuk melakukan perbandingan antara bit yang salah

dengan banyaknya bit keseluruhan. Persamaan BER dapat di jabarkan sebagai berikut:

BER(W, W′) =∑ Pi N

dimana:

w adalah watermark asli

w′ adalah watermark yang dieksraksi.

N adalah banyaknya bit

nilai pi didefinisikan sebagai berikut:

pi= 1untukwiwi, pi = 0untukwi=wi,

Cara lain untuk melakukan perbandingan watermark adalah dengan menghitung koefisien dan

(35)

BAB 3

ANALISIS DAN PERANCANGAN

3.1Analisis

Pada aplikasi ini dilakukan penyisipan dengan pemberian citra penyisip berupa citra logo

kepada citra asli yang berformat Bitmap (.bmp) identitas kepemilikannya. Penyisipan

dilakukan dengan teknik watermarking dengan metode Modified LSB. Tahap-tahap yang

dilakukan adalah:

1. Proses Watermarking

a. Menghitung nilai RGB piksel citra asli 24-bit.

b. Merubah nilai RGB piksel citra asli ke bentuk biner 24-bit

c. Menghitung nilai RGB piksel citra penyisip 24-bit.

d. Merubah nilai RGB piksel citra penyisip ke bentuk biner 24-bit

e. Menghitung posisi piksel dengan menggunakan persamaan:

PosisiPiksel = Posisi_x_piksel*HEIGHT_CITRA_ASLI+posisi_y_piksel...(3.1)

f. Menyisipkan tiap bit-bit citra penyisip ke dalam bit LSB ke-n komponen warna Blue

dari piksel citra asli dengan persamaan:

n =posisi_piksel mod 2...(3.2) g. Menampilkan citra watermarking.

2. Proses Ekstraksi

a. Menghitung nilai RGB piksel citra ber-watermarking.

b. Menghitung dimensi citra penyisip.

c. Merubah nilai RGB piksel citra ber-watermarking ke bentuk biner 24-bit

d. Membaca bit-bit bilangan biner untuk warna Blue (bit ke-17 hingga ke-24)

e. Menghitung posisi piksel dengan menggunakan persamaan 3.1.

f. Mengambil bit LSB ke-n bilangan biner komponen warna Blue dari citra

ber-watermarking dan nilai n dicari dengan menggunakan persamaan 3.2

g. Merekonstruksi penyisip dari bit-bit LSB yang diambil dari langkah ke-6.

(36)

Pada penelitian ini digunakan citra asli dengan mode warna 24 bit sebagai citra digital

yang hendak dilindungi dengan dimensi 300 x 200 piksel dan citra penyisip dengan format

BMP yang berdimensi 40 x 53 piksel. Contoh citra asli dapat dilihat pada Gambar 3.1.

Gambar 3.1 Citra Asli[13].

Contoh citra penyisip berdimensi 40 x 53 piksel dengan nama bmw.bmp. Citra

penyisip dapat dilihat pada Gambar 3.2.

Gambar 3.2 Citra Penyisip[13].

3.1.1 Menghitung Nilai Piksel Citra Asli

Citra asli 24-bit merupakan informasi watermark yang akan menampung file citra penyisip

terdiri dari piksel dan setiap piksel terdiri dari tiga komposisi warna yaitu, Red, Green, Blue

(RGB). Tiap warna memiliki nilai 0 <= Red <= 255, 0<= Green <=255, 0<= Blue <=255.

Sehingga suatu warna akan berukuran 8 (delapan) bit dan setiap piksel berukuran 24-bit.

Proses pertama adalah membaca header yang berisi informasi dimensi citra asli. Pada

citra asli berupa citra 24-bit, dimana nilai piksel langsung diuraikan dalam data bitmap.

Sebagai contoh diberikan cuplikan data bitmap file citra asli dengan dimensi 4x24piksel

(37)

<header file bitmap> <header bitmap info> <larik data piksel>

000001100000110000011000 001101000001000000010100 101000000110111000101011 100000011000000010110000 010001100101100010010001 100010001010010110000001 001000111111000100100010 010011001000110000000000

Gambar 3.3 Contoh Data Bitmap File Citra Asli.

Pada citra asli di atas, data pertama adalah header yang berisi informasi pengenal file,

ukuran file, data kedalaman warna, dan data dimensi citra. Di bawah data bitmap terdapat

piksel pertama yang bernilai 000001100000110000011000 (24 bit) dan selanjutnya sampai

piksel ke n.

3.1.2 Menghitung Nilai RGB Citra Asli

Setiap piksel RGB citra asli 24-bit mengandung tiga komponen warna 8-bit untuk

masing-masing warna dasar (R, G, dan B), dengan kisaran nilai kandungan antara 0 (00000000)

sampai 255 (11111111) untuk tiap warna. Sebagai contoh sebuah matriks citra asli dengan

dimensi 4x12 piksel dengan nilai piksel seperti pada Gambar 3.4.

<header file bitmap> <header bitmap info> <larik data piksel>

000001100000110000011000 001101000001000000010100 101000000110111000101011 100000011000000010110000 010001100101100010010001 100010001010010110000001 001000111111000100100010 010011001000110000000000 001000101100000010110111 010000101010000010100001 010010100100101111000011 010100110000101000000001 000001010010000000100000 101101000000111000000100 100100100011000000000000 000000001001000000010111 010100111000110000000110 000110000110000000110001 100011010010011011000000 010000001000101010000000 000010010000010101010010 100100000001110000011000 100011001001010000111110 010101011000100000101010 011010100000001011010110 011100000000001100000110 010000000101010100100100 101001000001000111001001 110010011011001101000011 011001100001000100001101 111000000100010000001110 101010010000000000101010 001000110000000001000000 100000000010110100001010 010001000001100101011000 000010001000010110110111 010001101111011000000000 000010001011101000010101 000000000100001010001110 101000000001101010000100 001110000111000000000100 100010000000000000100001 110000100010100111101010 101110010011110101010100 101101100111001110000001 000010010000001100001001 110011001000000000001000 110101000000100110010000

Gambar 3.4 Matriks Citra Asli.

Rumusan nilai warna:

Nilai Red dimulai dari ke-1 s/d bit ke-8, untuk mencari nilai Red digunakan persamaan:

�������� = �2(�−1) 8

�=1

(38)

Dari persamaan 3.3 diperoleh nilai range_Red:

range_Red = 2(1-1) + 2(2-1) + 2(3-1) + 2(4-1) + 2(5-1) + 2(6-1) + 2(7-1) + 2(8-1) range_Red = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1

range_Red = 255

nilai_piksel_red = (nilai_piksel AND 255)...(3.4)

Nilai Green dimulai dari bit ke-9 s/d bit ke-16, untuk mencari nilai Green digunakan persamaan:

���������� = �2(�−1) 16

�=9

. . . … . . . (3.5)

Dari persamaan 3.5 diperoleh nilai range_green:

range_Green = 2(16 - 1) + 2(15 - 1) + 2(14 - 1) + 2(13 - 1) + 2(12 - 1) + 2(11 - 1) + 2(10 - 1) + 2(9 - 1) range_Green = 32768 + 16384 + 8192 + 4096 + 2048 + 1024 + 512 + 256

range_Green = 65280

nilai_piksel_green = (nilai_piksel AND 65.280)/(2561)...(3.6)

Nilai Blue dimulai dari bit ke-17 s/d bit ke-24, untuk mencari nilai Blue digunakan persamaan:

��������� = �2(�−1) 24

�=17

. . . … … . (3.7)

Dari persamaan 3.7 diperoleh nilai range_blue:

range_blue = 2(24 - 1) + 2(23 - 1) + 2(22 - 1) + 2(21 - 1) + 2(20 - 1) + 2(19 - 1) + 2(18 - 1) + 2(17 - 1)

range_blue = 8388608 + 4194304 + 2097152 + 1048576 + 524288 + 262144 + 131072 + 65536

range_blue = 16711680

(39)

Dari <larik data piksel> citra Gambar 3.4 diperoleh:

1. Nilai piksel (0,0) adalah 000001100000110000011000 biner atau 396.312 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 396.312 AND 255

Nilai Red = 24 (desimal) = 00011000 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (396.312 AND 65.280)/256 Nilai Green = 3.072 /256

Nilai Green = 12 (desimal) = 00001100 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (396.312 AND 16.711.680)/65536 Nilai Blue = 396.312 /65536

Nilai Blue = 6 (desimal) = 00000110 (biner)

Sehingga diperoleh nilai RGB pada piksel (0,0): R = 24 (desimal) = 00011000 (biner)

G = 12 (desimal) = 00001100 (biner) B = 6 (desimal) = 00000110 (biner)

2. Nilai piksel (0,1) adalah 010001100101100010010001 biner atau 4.610.193 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 4.610.193 AND 255

Nilai Red = 145 (desimal) = 10010001 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (4.610.193 AND 65.280)/256 Nilai Green = 22.528 /256

Nilai Green = 88 (desimal) = 01011000 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (4.610.193 AND 16.711.680)/65536 Nilai Blue = 4.610.193 /65536

Nilai Blue = 70 (desimal) = 01000110 (biner)

Sehingga diperoleh nilai RGB pada piksel (1,0): R = 145 (desimal) = 10010001 (biner)

G = 88 (desimal) = 01011000 (biner) B = 70 (desimal) = 01000110 (biner)

3. Nilai piksel (0,2) adalah 101000000110111000101011 biner atau 10.513.963 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 10.513.963 AND 255

Nilai Red = 43 (desimal) = 00101011 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (10.513.963 AND 65.280)/256 Nilai Green = 28.160 /256

(40)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (10.513.963 AND 16.711.680)/65536 Nilai Blue = 10.513.963 /65536

Nilai Blue = 160 (desimal) = 10100000 (biner)

Sehingga diperoleh nilai RGB pada piksel (0,2): R = 43 (desimal) = 00101011 (biner)

G = 110 (desimal) = 01101110 (biner) B = 160 (desimal) = 10100000 (biner)

4. Nilai piksel (0,3) adalah 000001010010000000100000 biner atau 335.904 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 335.904 AND 255

Nilai Red = 32 (desimal) = 00100000 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (335.904 AND 65.280)/256 Nilai Green = 8.192 /256

Nilai Green = 32 (desimal) = 00100000 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (335.904 AND 16.711.680)/65536 Nilai Blue = 335.904 /65536

Nilai Blue = 5 (desimal) = 00000101 (biner)

Sehingga diperoleh nilai RGB pada piksel (3,0): R = 32 (desimal) = 00100000 (biner)

G = 32 (desimal) = 00100000 (biner) B = 5 (desimal) = 00000101 (biner)

5. Nilai piksel (0,4) adalah 010100111000110000000110 biner atau 5.475.334 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 5.475.334 AND 255

Nilai Red = 6 (desimal) = 00000110 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (5.475.334 AND 65.280)/256 Nilai Green = 35.840 /256

Nilai Green = 140 (desimal) = 10001100 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (5.475.334 AND 16.711.680)/65536 Nilai Blue = 5.475.334 /65536

Nilai Blue = 83 (desimal) = 01010011 (biner)

Sehingga diperoleh nilai RGB pada piksel (4,0): R = 6 (desimal) = 00000110 (biner)

(41)

6. Nilai piksel (0,5) adalah 000010010000010101010010 biner atau 591.186 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 591.186 AND 255

Nilai Red = 82 (desimal) = 01010010 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (591.186 AND 65.280)/256 Nilai Green = 1.280 /256

Nilai Green = 5 (desimal) = 00000101 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (591.186 AND 16.711.680)/65536 Nilai Blue = 591.186 /65536

Nilai Blue = 9 (desimal) = 00001001 (biner)

Sehingga diperoleh nilai RGB pada piksel (5,0): R = 82 (desimal) = 01010010 (biner)

G = 5 (desimal) = 00000101 (biner) B = 9 (desimal) = 00001001 (biner)

7. Nilai piksel (0,6) adalah 011010100000001011010110 biner atau 6.947.542 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 6.947.542 AND 255

Nilai Red = 214 (desimal) = 11010110 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (6.947.542 AND 65.280)/256 Nilai Green 512 /256

Nilai Green = 2 (desimal) = 00000010 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (6.947.542 AND 16.711.680)/65536 Nilai Blue = 6.947.542 /65536

Nilai Blue = 106 (desimal) = 01101010 (biner)

Sehingga diperoleh nilai RGB pada piksel (6,0): R = 214 (desimal) = 11010110 (biner)

(42)

8. Nilai piksel (0,7) adalah 110010011011001101000011 biner atau 13.218.627 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 13.218.627 AND 255

Nilai Red = 67 (desimal) = 01000011 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (13.218.627 AND 65.280)/256 Nilai Green = 45.824 /256

Nilai Green = 179 (desimal) = 10110011 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (13.218.627 AND 16.711.680)/65536 Nilai Blue = 13.218.627 /65536

Nilai Blue = 201 (desimal) = 11001001 (biner)

Sehingga diperoleh nilai RGB pada piksel (7,0): R = 67 (desimal) = 01000011 (biner)

G = 179 (desimal) = 10110011 (biner) B = 201 (desimal) = 11001001 (biner)

9. Nilai piksel (0,8) adalah 001000110000000001000000 biner atau 2.293.824 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 2.293.824 AND 255

Nilai Red = 64 (desimal) = 01000000 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (2.293.824 AND 65.280)/256 Nilai Green 000 /256

Nilai Green = 0 (desimal) = 00000000 (biner)

10. Nilai piksel (0,9) adalah 010001101111011000000000 biner atau 4.650.496 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 4.650.496 AND 255

Nilai Red = 0 (desimal) = 00000000 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (4.650.496 AND 65.280)/256 Nilai Green = 62.976 /256

Nilai Green = 246 (desimal) = 11110110 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (4.650.496 AND 16.711.680)/65536 Nilai Blue = 4.650.496 /65536

Nilai Blue = 70 (desimal) = 01000110 (biner)

Sehingga diperoleh nilai RGB pada piksel (9,0): R = 0 (desimal) = 00000000 (biner)

G = 246 (desimal) = 11110110 (biner) B = 70 (desimal) = 01000110 (biner)

(43)

3.1.3 Menghitung Nilai Piksel Citra Penyisip

Citra penyisip 24-bit merupakan informasi watermark yang akan disisipkan ke file citra

penyisip terdiri dari piksel dan setiap piksel terdiri dari 3 (tiga) komposisi warna yaitu, Red,

Green, Blue (RGB). Tiap warna memiliki nilai 0 <= Red <= 255, 0<= Green <=255, 0<=

Blue <=255. Sehingga suatu warna akan berukuran 8 (delapan) bit dan setiap piksel

berukuran 24-bit.

Proses pertama adalah membaca header yang berisi informasi dimensi citra penyisip.

Dimensi citra yang akan dijadikan penyisip harus berukuran maksimal 1/24 dari citra asli.

Hal ini dikarenakan setiap bit dari citra penyisip di tampung pada 1 (satu) bit dari tiap

piksel citra asli 24-bit sehingga untuk menampung 1 piksel citra penyisip 24-bit dibutuhkan

24 piksel citra asli 24-bit, nilai piksel langsung diuraikan dalam data <larik data bitmap>.

Sebagai contoh diberikan cuplikan data bitmap file citra asli dengan dimensi 2x2 piksel

seperti pada Gambar 3.5.

<header file bitmap> <header bitmap info> <larik data piksel>

000010010000001100001001 100000001100010001100010

Gambar 3.5 Contoh data bitmap file citra penyisip.

Pada citra asli di atas, data pertama adalah header yang berisi informasi pengenal file,

ukuran file, data kedalaman warna, dan data dimensi citra. Di bawah data bitmap terdapat

piksel pertama yang bernilai 000010010000001100001001 (24 bit) dan selanjutnya sampai

piksel ke n.

3.1.4 Menghitung Nilai RGB Penyisip

Menghitung nilai RGB citra penyisip adalah sama dengan citra asli. Sebagai contoh sebuah

matriks citra penyisip dengan dimensi 2x1 piksel dengan nilai piksel seperti pada Gambar 3.6

<header file bitmap> <header bitmap info> <larik data piksel>

(44)

Gambar 3.6 Contoh data bitmap file citra penyisip.

Rumusan nilai warna:

Nilai Red dimulai dari ke-1 s/d bit ke-8, untuk mencari nilai Red dapat menggunakan persamaan 3.3.

Nilai Green dimulai dari bit ke-9 s/d bit ke-16, untuk mencari nilai Green dapat menggunakan persamaan 3.5.

Nilai Blue dimulai dari bit ke-17 s/d bit ke-24, untuk mencari nilai Blue dapat menggunakan persamaan 3.7.

Dari <larik data piksel> citra Gambar 3.6 diperoleh:

1. Nilai piksel (0,0) adalah 000010010000001100001001 biner atau 590.601 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 590.601 AND 255

Nilai Red = 9 (desimal) = 00001001 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (590.601 AND 65.280)/256 Nilai Green 768 /256

Nilai Green = 3 (desimal) = 00000011 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (590.601 AND 16.711.680)/65536 Nilai Blue = 590.601 /65536

Nilai Blue = 9 (desimal) = 00001001 (biner)

Sehingga diperoleh nilai RGB pada piksel (0,0): R = 9 (desimal) = 00001001 (biner)

(45)

2. Nilai piksel (0,1) adalah 100000001100010001100010 biner atau 8.438.882 (desimal)

Nilai komponen Red dengan persamaan (3.4): Nilai Red = 8.438.882 AND 255

Nilai Red = 98 (desimal) = 01100010 (biner)

Nilai komponen green dengan persamaan (3.6): Nilai Green = (8.438.882 AND 65.280)/256 Nilai Green = 50.176 /256

Nilai Green = 196 (desimal) = 11000100 (biner)

Nilai komponen blue dengan persamaan (3.8): Nilai Blue = (8.438.882 AND 16.711.680)/65536 Nilai Blue = 8.438.882 /65536

Nilai Blue = 128 (desimal) = 10000000 (biner)

Sehingga diperoleh nilai RGB pada piksel (1,0): R = 98 (desimal) = 01100010 (biner)

G = 196 (desimal) = 11000100 (biner) B = 128 (desimal) = 10000000 (biner)

3.1.5 Menghitung Posisi Piksel

Penyisipan bit-bit citra penyisip dengan algoritma MLSB dilakukan dengan cara menyisipkan

bit-bit citra penyisip ke LSB ke-n sesuai dengan persamaan 3.2. Posisi piksel dari citra asli

4x24 piksel diambil dari Gambar 3.4 yang kemudian dihitung dengan persamaan 3.1 dapat

dilihat pada tabel berikut:

Tabel 3.1 Tabel hasil perhitungan posisi piksel.

Posisi X Posisi Y Height Citra Asli Posisi Piksel

(46)
(47)

Keterangan:

Posisi X: Nilai X dari piksel(X,Y) Posisi Y: Nilai Y dari piksel(X,Y)

Heigth Citra Asli: Dimensi Y dari citra berukuran (X,Y)

Posisi Piksel: hasil perhitungan dengan menggunakan persamaan 3.1

3.1.6 Menyisipkan tiap bit-bit citra penyisip

Posisi penyisipan tiap bit-bit citra penyisip dilakukan dengan menggunakan persamaan 3.2, selanjutnya nilai bit-bit citra penyisip mengantikan nilai bit LSB ke-n dari komponen warna Blue citra asli. Posis penyisipan bit-bit citra penyisip pada bit ke-n dari komponen warna Blue citra asli dapat dilihat pada Tabel 3.2.

Tabel 3.2 Tabel Penyisipan bit-bit penyisip

No.

Nilai Biner Piksel Citra Asli Posisi Piksel

Nilai Biner Akhir Piksel (X,Y)

1 000001100000110000011000 0 0 0 000001 1 0 0000110000011000

11 010010100100101111000011 10 0 0 010010 1 0 0100101111000011 12 010100110000101000000001 11 0 1 010100 0 1 0000101000000001

13 000001010010000000100000 12 0 0 000001 0 0 0010000000100000

14 101101000000111000000100 13 0 1 101101 0 0 0000111000000100

15 100100100011000000000000 14 1 0 100100 1 1 0011000000000000

16 000000001001000000010111 15 1 1 000000 1 0 1001000000010111

17 010100111000110000000110 16 0 0 010100 1 0 1000110000000110

18 000110000110000000110001 17 0 1 000110 0 0 0110000000110001

(48)

Lanjutan Tabel 3.2

21 000010010000010101010010 20 1 0 000010 0 1 0000010101010010

22 100100000001110000011000 21 0 1 100100 0 0 0001110000011000

23 100011001001010000111110 22 0 0 100011 0 0 1001010000111110

24 010101011000100000101010 23 1 1 010101 1 1 1000100000101010

25 011010100000001011010110 24 1 0 011010 1 1 0000001011010110

26 011100000000001100000110 25 1 1 011100 1 0 0000001100000110

27 010000000101010100100100 26 0 0 010000 0 0 0101010100100100

28 101001000001000111001001 27 0 1 101001 0 0 0001000111001001

29 110010011011001101000011 28 1 0 110010 0 1 1011001101000011

30 011001100001000100001101 29 1 1 011001 1 0 0001000100001101

31 111000000100010000001110 30 0 0 111000 0 0 0100010000001110

32 101010010000000000101010 31 0 1 101010 0 1 0000000000101010

33 001000110000000001000000 32 1 0 001000 1 1 0000000001000000

34 100000000010110100001010 33 0 1 100000 0 0 0010110100001010

35 010001000001100101011000 34 0 0 010001 0 0 0001100101011000

36 000010001000010110110111 35 0 1 000010 0 0 1000010110110111

37 010001101111011000000000 36 0 0 010001 1 0 1111011000000000

38 000010001011101000010101 37 0 1 000010 0 0 1011101000010101

39 000000000100001010001110 38 0 0 000000 0 0 0100001010001110

40 101000000001101010000100 39 0 1 101000 0 0 0001101010000100

41 001110000111000000000100 40 0 0 001110 0 0 0111000000000100

42 100010000000000000100001 41 0 1 100010 0 0 0000000000100001

43 110000100010100111101010 42 0 0 110000 1 0 0010100111101010

44 101110010011110101010100 43 0 1 101110 0 1 0011110101010100

45 101101100111001110000001 44 1 0 101101 1 1 0111001110000001

46 000010010000001100001001 45 0 1 000010 0 1 0000001100001001

47 110011001000000000001000 46 0 0 110011 0 0 1000000000001000

48 110101000000100110010000 47 0 1 110101 0 0 0000100110010000

3.1.7 Menampilkan Citra ber-Watermarking

(49)

Perubahan nilai pada komponen warna Blue tidak memberikan perubahan warna yang significant karena sentifitas mata manusia terhadap warna biru sangat kecil, sehingga memungkinkan untuk melakukan perubahan nilai tanpa bisa dideteksi secara kasat mata.

<header file bitmap> <header bitmap info> <larik data piksel>

000001100000110000011000 001101000001000000010100 101000000110111000101011 100000011000000010110000 010001100101100010010001 100010001010010110000001 001000111111000100100010 010011001000110000000000 001000101100000010110111 010000101010000010100001 010010100100101111000011 010100110000101000000001 000001010010000000100000 101101000000111000000100 100100100011000000000000 000000001001000000010111 010100111000110000000110 000110000110000000110001 100011010010011011000000 010000001000101010000000 000010010000010101010010 100100000001110000011000 100011001001010000111110 010101011000100000101010 011010100000001011010110 011100000000001100000110 010000000101010100100100 101001000001000111001001 110010011011001101000011 011001100001000100001101 111000000100010000001110 101010010000000000101010 001000110000000001000000 100000000010110100001010 010001000001100101011000 000010001000010110110111 010001101111011000000000 000010001011101000010101 000000000100001010001110 101000000001101010000100 001110000111000000000100 100010000000000000100001 110000100010100111101010 101110010011110101010100 101101100111001110000001 000010010000001100001001 110011001000000000001000 110101000000100110010000

Gambar 3.7 Data Bit citra asli.

<header file bitmap> <header bitmap info> <larik data piksel>

000001100000110000011000 001101000001000000010100 101000000110111000101011 100000011000000010110000 010001110101100010010001 100010001010010110000001 001000101111000100100010 010011101000110000000000 001000101100000010110111 010000001010000010100001 010010100100101111000011 010100010000101000000001 000001000010000000100000 101101000000111000000100 100100110011000000000000 000000101001000000010111 010100101000110000000110 000110000110000000110001 100011000010011011000000 010000001000101010000000 000010010000010101010010 100100000001110000011000 100011001001010000111110 010101111000100000101010 011010110000001011010110 011100100000001100000110 010000000101010100100100 101001000001000111001001 110010011011001101000011 011001100001000100001101 111000000100010000001110 101010010000000000101010 001000110000000001000000 100000000010110100001010 010001000001100101011000 000010001000010110110111 010001101111011000000000 000010001011101000010101 000000000100001010001110 101000000001101010000100 001110000111000000000100 100010000000000000100001 110000100010100111101010 101110010011110101010100 101101110111001110000001 000010010000001100001001 110011001000000000001000 110101000000100110010000

Gambar

gambar yang mencair ke bawah. Random Pick mengubah setiap piksel citra yang
Tabel 2.2 Nilai Biner Blue Sebelum Penyisipan.
Gambar 3.1 Citra Asli[13].
Gambar 3.5 Contoh data bitmap file citra penyisip.
+7

Referensi

Dokumen terkait

Hasil penelitian ini menunjukkan bahwa karakteristik ibu hamil berdasarkan tingkat pengetahuan dalam kategori tinggi yaitu 24 orang (42,9%), jumlah bayi yang di lahirkan

manajemen dalam menjalankan tugasnya. salah satu alat yang dapat digunakan oleh manajemen dalam membantu menjalankan tugasnya, adalah akuntansi manajemen. Akuntansi

Untuk mengetahui perubahan skor tingkat pengetahuan dan sikap pada kelompok kontrol dengan tanpa adanya intervensi, bila data tersebut normal rumus yang digunakan

Oleh sebab itu, metode penjadwalan yang lebih tepat untuk diterapkan pada perusahaan adalah penjadwalan menggunakan prinsip Theory of Constraint (TOC), karena penjadwalan

permasalahan yang terjadi sebelumnya di DPP Partai Golkar sudah memakan Selain keputusan untuk mundurnya salah satu calon dalam pemilihan Ketua. DPD Partai Golkar Kabupaten Karo,

Melakukan Stock Opname secara berkala dan menganalisa jumlah dan jenis persediaan produk di gudang Logistik untuk mengontrol akurasi data persediaan dan tingkat

Hasil dari algoritma tersebut adalah apabila dalam ruangan tersebut tidak ada gas berbahaya yang terdeteksi maka akan dianggap aman dengan indicator LED warna hijau

pekerjaan.Macro di Excel dibuat dalam macrosheet atau dengan bahasa Visual. Basic