Analisis Kombinasi Algoritma Watermarking Modified Least Significant Bit Dengan Least Significant Bit +1

(1)

ANALISIS KOMBINASI ALGORITMA

WATERMARKING

MODIFIED LEAST SIGNIFICANT BIT

DENGAN

LEAST SIGNIFICANT BIT +1

TESIS

RIFKI RESPATI ASHARI LUBIS

117038009

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN


(2)

ANALISIS KOMBINASI ALGORITMA

WATERMARKING

MODIFIED LEAST SIGNIFICANT BIT

DENGAN

LEAST SIGNIFICANT BIT +1

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika

RIFKI RESPATI ASHARI LUBIS

117038009

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN


(3)

PERSETUJUAN

Judul : ANALISIS KOMBINASI ALGORITMA

WATERMARKING MODIFIED LEAST SIGNIFICANT BIT DENGAN LEAST SIGNIFICANT BIT +1

Nama : RIFKI RESPATI ASHARI LUBIS

Nomor Induk Mahasiswa : 117038009

Program Studi : MAGISTER TEKNIK INFORMATIKA

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2, Pembimbing 1,

Dr. Zakarias Situmorang Prof. Dr. Muhammad Zarlis

Diketahui/disetujui oleh

Program Studi S2 Teknik Informatika Ketua,

Prof. Dr. Muhammad Zarlis NIP. 19570701 198601 1 003


(4)

PERNYATAAN

ANALISIS KOMBINASI ALGORITMA WATERMARKING MODIFIED LEAST

SIGNIFICANT BIT DENGAN LEAST SIGNIFICANT BIT +1

TESIS

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

Medan, 15 April 2015

Rifki Respati Ashari Lubis 117038009


(5)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertandatangan dibawah ini:

Nama : Rifki Respati Ashari Lubis

NIM : 117038009

Program Studi : Teknik Informatika

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:

ANALISIS ALGORITMA WATERMARKING MODIFIED LEAST SIGNIFICANT BIT DENGAN LEAST SIGNIFICANT BIT +1

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/ atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, 15 April 2015

Rifki Respati Ashari Lubis 117038009


(6)

Telah diuji pada

Tanggal: 15 April 2015

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Muhammad Zarlis Anggota : 1. Dr. Zakarias Situmorang

2. Prof. Dr. Tulus

3. Dr. Syahril Efendi, S.Si., M.IT 4. Dr.Erna Budhiarti Nababan, M.IT


(7)

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap : Rifki Respati Ashari Lubis, S.Kom Tempat dan Tanggal Lahir : Medan, 2 Maret 1989

Alamat Rumah : Jl. Pimpinan No. 62 Medan Telepon/ Faks/ HP : -/ -/ 0821681018308

E-mail : rifkiashari@gmail.com

Instansi Tempat Bekerja : PT. Bank Sumut

Alamat Kantor : Jl Imam Bonjol No. 18 Medan

DATA PENDIDIKAN

SD : SD Swasta Taman Harapan Medan TAMAT: 2000

SMP : SMP Negeri 13 Medan TAMAT: 2003

SMA : SMA Negeri 8 Medan TAMAT: 2006

S1 : Ilmu Komputer Universitas Sumatera Utara TAMAT: 2010 S2 : Teknik Informatika Universitas Sumatera Utara TAMAT: 2015


(8)

UCAPAN TERIMA KASIH

Alhamdulillah penulis ucapkan kepada Sang Khaliq Allah SWT yang melimpahkan rahmat dan karunia-Nya sehingga tesis ini berhasil diselesaikan dengan baik.Dalam menyelesaikan tesis ini, penulis banyak mendapati kesulitan dan kendala. Namun berkat bantuan, dorongan dan nasehat dari berbagai pihak, maka kesulitan dan kendala tersebut dapat diatasi dengan baik.

Untuk itu penulis ingin menyampaikan ucapan terima kasih sebesar-besarnya kepada: 1. Bapak Prof. Dr. Muhammad Zarlis, selaku Ketua Program Studi Pascasarjana

Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara sekaligus Dosen Pembimbing I yang telah bersedia memberikan bimbingan dan panduan padat serta professional hingga selesainya penulisan tesis ini.

2. Bapak Dr. Zakarias Situmorang, selaku Dosen Pembimbing II yang telah bersedia memberikan bimbingan dan pengarahan padat dan professional kepada penulis hingga selesainya penulisan tesis ini.

3. Bapak Prof. Dr. Tulus, Bapak Dr. Syahril Efendi, S.Si, M.IT dan Ibu Dr. Erna Budhiarti Nababan, M.IT, selaku Dosen Pembanding yang telah bersedia memberikan pengarahan, saran dan koreksi hingga selesainya penulisan tesis ini. 4. Segenap sivitas akademika Program Studi Pascasarjana Teknik Informatika

Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara yang telah bersedia memberikan ilmu pengetahuan yang menjadi dasar pemikiran penulisan tesis ini.

5. Orang tua tercinta, Ayahanda dan Ibunda, Drs. H. Syafaruddin Lubis, M.Sp dan Hj. Elfinda Lolosari Nasution, yang telah memberikan kasih sayangnya, doa yang tak pernah putus serta dorongan moril maupun materil kepada penulis sehingga dapat menyelesaikan tesis ini dengan baik.

6. Adik-adik tersayang, Adinda Meidina Lubis, S.Ikom dan Alya Fadillah Lubis yang telah memberikan dukungan moril kepada penulis untuk dapat menyelesaikan tesis ini.


(9)

7. Seluruh rekan kerja di Administrasi Kredit Bank Sumut Cabang Utama dan Payment Center dan ATM Bank Sumut Kantor Pusat yang telah memberikan dukungan moril dan kesempatan kepada penulis untuk menyelesaikan pendidikan. 8. Kepada Khairina, yang telah memberikan dukungan moril serta membangkitkan

kembali semangat penulis untuk menyelesaikan tesis ini.

Penulis menyadari masih terdapat kekurangan dalam penulisan tesis ini. Untuk itu penulis mengharapkan koreksi dan saran dari pembaca demi kesempurnaan penelitian selanjutnya. Akhir kata, penulis berharap semoga penelitian ini dapat bermanfaat.

Medan, 15 April 2015 Penulis,

Rifki Respati Ashari Lubis 117038009


(10)

ABSTRAK

Untuk melindungi hak cipta seseorang pada media digital seperti citra digital dapat dilakukan dengan teknik watermarking, yaitu teknik menyisipkan tanda hak cipta kedalam media digital. Algoritma yang umum digunakan dalam melakukan penyisipan watermark adalah Least Significant Bit (LSB). Penyisipan watermark

dengan algoritma LSB bukanlah tidak memiliki kekurangan. Algoritma LSB membutuhkan satu byte pixel citra untuk menyisipkan satu bit watermark. Semakin banyak byte pixel yang disisipkan maka semakin tinggi perbedaan citra yang

ber-watermark dengan citra aslinya. Watermark yang disisipkan juga dapat dengan mudah diketahui dikarenakan diletakkan sudah pasti pada bit LSB dari pixel citra. Dari permasalahan tersebut, pada penelitian ini dilakukan analisa untuk mengkombinasikan algoritma Modified Least Significant Bit (MLSB) dengan algoritma Least Significant Bit +1 (LSB+1) dimana MLSB mempunyai keunggulan dalam memampatkan

watermark yang akan disisipkan dari delapan bit per karakter menjadi lima bit per karakter watermark. Algoritma LSB +1 akan menutupi kekurangan MLSB yang mudah diketahui letak bit watermark-nya, dengan menyisipkan bit watermark pada pixel yang acak. Hasil analisa ini diujikan dengan menggunakan lima sampel citra yang berbeda ukuran dan dimensi, disisipkan dengan lima sampel watermark dalam bentuk teks yang berbeda panjang teks untuk mencari tiga parameter perbandingan yaitu nilai Mean Squared Error (MSE), ukuran hasil dan waktu proses. Dari pengujian ini didapatkan kesimpulan bahwa terhadap ketiga parameter tersebut algoritma kombinasi MLSB-LSB+1 lebih baik dari algoritma LSB+1 tetapi sedikit lebih buruk dari algoritma MLSB. Hal ini terjadi dikarenakan algoritma kombinasi MLSB-LSB+1 selain mewarisi kelebihan masing-masing algoritma, juga mewarisi kekurangan dari algoritma LSB+1 dimana akibat dari penyisipan dilakukan pada satu bit sebelum bit teakhir dari pixel citra, maka perubahan nilai pixelnya lebih besar satu dibandingkan dengan penyisipan pada bit terakhir.

Kata Kunci : Algoritma Watermarking, Algoritma Kombinasi, Modified Least Significant Bit, Least Significant Bit +1


(11)

ANALYSIS OF COMBINED WATERMARKING ALGORITHM MODIFIED LEAST SIGNIFICANT BIT WITH LEAST SIGNIFICANT BIT +1

ABSTRACT

To protect someone's copyright on digital media such as digital image watermarking technique can be done, which is a technique to insert copyright marks into digital media. Algorithms commonly used in the watermark insertion is the Least Significant Bit (LSB).Insertion LSB algorithm is not no shortage. LSB algorithm requires one byte pixel image to insert a watermark bit. The more bytes pixels are inserted, the higher the difference watermarked image with the original image. Embedded watermark can also easily be known because it is definitely placed on the LSB bits of the pixel image. From these problems, in this research analysis algorithms to combine Modified Least Significant Bit (MLSB) algorithm +1 Least Significant Bit (LSB + 1) where MLSB have the advantage in placing the watermark to be inserted from eight bits per character into five bits per character watermark. +1 LSB algorithm will cover the shortfall MLSB easy-known location of the watermark bit, by inserting a watermark bits at random pixels. The results of this analysis of five samples tested by using different image sizes and dimensions, with five samples inserted watermark in the form of different text length to find three parameters comparison Mean Squared Error value (MSE), the size of the result and processing time. From this test it was concluded that the three parameters of the algorithm is a combination of MLSB-LSB + 1 better than the algorithm LSB + 1 but slightly worse than the algorithm MLSB. This happens due to a combination algorithm MLSB-LSB + 1 besides inheriting the advantages of each algorithm, also inherited deficiency of the algorithm LSB + 1 where the effect of the insertion is done at the bit before the last bit of the pixel image, the pixel value change is greater than the insertion of the last bit.

Keywords : Watermarking Algorithm, Combined Algorithm, Modified Least Significant Bit, Least Significant Bit +1


(12)

DAFTAR ISI

Halaman

HALAMAN JUDUL i

PERSETUJUAN ii

PERNYATAAN ORISINALITAS iii

PERSETUJUAN PUBLIKASI iv

PANITIA PENGUJI v

RIWAYAT HIDUP vi

UCAPAN TERIMA KASIH vii

ABSTRAK ix

ABSTRACT x

DAFTAR ISI xi

DAFTAR GAMBAR xiv

DAFTAR TABEL xvi

BAB 1 PENDAHULUAN 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 3

1.3. Tujuan Penelitian 3

1.4. Batasan Masalah 4

1.5. Manfaat Penelitian 4

BAB 2 LANDASAN TEORI 5

2.1. Watermarking 5

2.1.1. Digital Watermarking 6

2.1.2. Aplikasi Watermarking 9

2.1.3. KlasifikasiWatermarking 10

2.2. Citra Digital 11

2.2.1. Citra RGB 13

2.2.2 Citra YcbCr 14


(13)

2.2.4. Citra Intensitas Keabuan 14 2.2.5. Citra Format PNG (Portable Network Graphics) 15

2.3. Metode LSB (Least Significant Bit) 17

2.3.1. Metode Penyisipan LSB (Least Significant Bit) 17 2.3.2 Metode Ekstraksi LSB (Least Significant Bit) 18 2.4. Metode LSB +1 (Least Significant Bit +1) 18 2.4.1 Metode Penyisipan LSB +1 (Least Significant Bit+1) 18 2.4.2 Metode Ekstraksi LSB +1 (Least Significant Bit+1) 19 2.5. Algoritma MLSB (Modified Least Significant Bit) 20

2.6. Mean Squared Error (MSE) 24

2.7. Pembangkit Bilangan Acak (Random Number Generator) 24

2.7.1 Pembangkit Bilangan Acak Semu 25

2.7.2 Linier Congruential Generator (LCG) 27

BAB 3 METODOLOGI PENELITIAN 30

3.1. Metodologi Penelitian 30

3.2. Algoritma Kombinasi MLSB-LSB+1 30

3.3. Melakukan Penentuan Pixel Penampung Watermark 35

3.4. Menghitung Nilai MSE Citra 36

3.5. Diagram Flowchart Penelitian 37

3.5.1. Flowchart Penyisipan Algoritma LSB +1 38 3.5.2. Flowchart Ekstraksi Algoritma LSB +1 39 3.5.3. Flowchart Penyisipan Algoritma MLSB 40 3.5.4. Flowchart Ekstraksi Algoritma MLSB 42 3.5.5. Flowchart Penyisipan Algoritma Kombinasi

MLSB – LSB+1

44 3.5.6. Flowchart Ekstraksi Algoritma Kombinasi

MLSB – LSB+1

46

BAB 4 HASIL DAN PEMBAHASAN 50

4.1. Tampilan Perangkat Lunak 50

4.1.1. Modul Watermarking Algoritma Least Significant Bit +1 (LSB+1)


(14)

4.1.3. Modul Watermarking Algoritma Kombinasi MLSB-LSB+1

57

4.2. Pembahasan dan Hasil Perbandingan 61

4.2.1. Hasil Perbandingan Nilai MSE 70

4.2.2. Hasil Perbandingan Waktu Proses 71

4.2.3. Hasil Perbandingan Ukuran File 71

BAB 5 KESIMPULAN DAN SARAN 73

5.1. Kesimpulan 73

5.2. Saran 74


(15)

DAFTAR GAMBAR

Halaman

Gambar 2.1. Penyisipan Watermark 7

Gambar 2.2. Ekstraksi Watermark 7

Gambar 2.3. Proses Sampling dan Kuantisasi 12

Gambar 2.4. Nilai Warna RGB Dalam Hexadesimal 13

Gambar 2.5. Citra RGB 13

Gambar 2.6. Dekomposisi Citra RGB ke Dalam Komponen Luminance dan Chrominance

14

Gambar 2.7. Citra Grayscale 15

Gambar 2.8. Skema Dasar PRNG 27

Gambar 3.1. Menghitung Selisih Nilai Piksel Citra 35

Gambar 3.2. Daftar Pixel Setelah Pengacakan 36

Gambar 3.3. Flowchart Penelitian 37

Gambar 3.4. Flowchart Penyisipan Algoritma LSB +1 38

Gambar 3.5. Flowchart Ekstraksi Algoritma LSB +1 39

Gambar 3.6. Flowchart Ekstraksi Algoritma LSB +1 (Lanjutan) 40

Gambar 3.7. Flowchart Penyisipan Algoritma MLSB 41

Gambar 3.8. Flowchart Ekstraksi Algoritma MLSB 42

Gambar 3.9. Flowchart Ekstraksi Algoritma MLSB (Lanjutan) 43 Gambar 3.10. Flowchart Penyisipan Algoritma Kombinasi MLSB dan

LSB +1

45 Gambar 3.11. Flowchart Penyisipan Algoritma Kombinasi MLSB dan LSB

+1 (Lanjutan)

46 Gambar 3.12. Flowchart Ekstraksi Algoritma MLSB dan LSB +1 47 Gambar 3.13. Flowchart Ekstraksi Algoritma MLSB dan LSB +1

(Lanjutan)

48

Gambar 4.1. Tampilan Menu Utama 51

Gambar 4.2. Tampilan Awal Modul Watermarking Algoritma LSB +1 53 Gambar 4.3. Tampilan Penyisipan Modul Watermarking Algoritma

LSB +1

53 Gambar 4.4. Tampilan Ekstraksi Modul Watermarking Algoritma LSB +1 54 Gambar 4.5. Tampilan Awal Modul Watermarking Algoritma MLSB 56


(16)

Gambar 4.7. Tampilan Ekstraksi ModulWatermarking Algoritma MLSB 57 Gambar 4.8. Tampilan Awal Modul Watermarking Algoritma

MLSB-LSB+1

59 Gambar 4.9. Tampilan Penyisipan Modul Watermarking Algoritma

MLSB-LSB+1

60 Gambar 4.10. Tampilan Ekstraksi Modul Watermarking Algoritma

MLSB-LSB+1

60 Gambar 4.11. Grafik Perbandingan Algoritma untuk Watermark Pesan1.txt 65 Gambar 4.12. Grafik Perbandingan Algoritma untuk Watermark Pesan2.txt 66 Gambar 4.13. Grafik Perbandingan Algoritma untuk Watermark Pesan3.txt 67 Gambar 4.14. Grafik Perbandingan Algoritma untuk Watermark Pesan4.txt 68 Gambar 4.15. Grafik Perbandingan Algoritma untuk Watermark Pesan5.txt 69


(17)

DAFTAR TABEL

Halaman

Tabel 2.1. Jenis Mode Warna 12

Tabel 2.2. Perubahan LSB dan LSB + 1 Bit dengan Bit PesanRahasia File

20 Tabel2.4. Hasil Pembangkitan Bilangan Acak dengan Metode LCG 29

Tabel 3.1. Control Symbol MLSB-LSB+1 31

Tabel 4.1. Object Pada Modul Watermarking LSB+1 dan Kegunaannya 51 Tabel 4.2. Object Pada Modul Watermarking LSB+1 dan Kegunaannya

(Lanjutan)

52 Tabel 4.3. Object pada Modul Watermarking MLSB dan Kegunaannya 55 Tabel 4.4. Object pada Modul Watermarking MLSB-LSB+1 dan

Kegunaannya

58 Tabel 4.5. Hasil Penyisipan Watermark Algoritma LSB+1 61 Tabel 4.6. Hasil Penyisipan Watermark Algoritma LSB+1 (Lanjutan) 62

Tabel 4.7. Hasil Penyisipan Watermark Algoritma MLSB 62

Tabel 4.8. Hasil Penyisipan Watermark Algoritma Kombinasi MLSB-LSB+1

63 Tabel 4.9. Perbandingan pada Penyisipan Watermark dengan Watermark

Berbeda


(18)

ABSTRAK

Untuk melindungi hak cipta seseorang pada media digital seperti citra digital dapat dilakukan dengan teknik watermarking, yaitu teknik menyisipkan tanda hak cipta kedalam media digital. Algoritma yang umum digunakan dalam melakukan penyisipan watermark adalah Least Significant Bit (LSB). Penyisipan watermark

dengan algoritma LSB bukanlah tidak memiliki kekurangan. Algoritma LSB membutuhkan satu byte pixel citra untuk menyisipkan satu bit watermark. Semakin banyak byte pixel yang disisipkan maka semakin tinggi perbedaan citra yang

ber-watermark dengan citra aslinya. Watermark yang disisipkan juga dapat dengan mudah diketahui dikarenakan diletakkan sudah pasti pada bit LSB dari pixel citra. Dari permasalahan tersebut, pada penelitian ini dilakukan analisa untuk mengkombinasikan algoritma Modified Least Significant Bit (MLSB) dengan algoritma Least Significant Bit +1 (LSB+1) dimana MLSB mempunyai keunggulan dalam memampatkan

watermark yang akan disisipkan dari delapan bit per karakter menjadi lima bit per karakter watermark. Algoritma LSB +1 akan menutupi kekurangan MLSB yang mudah diketahui letak bit watermark-nya, dengan menyisipkan bit watermark pada pixel yang acak. Hasil analisa ini diujikan dengan menggunakan lima sampel citra yang berbeda ukuran dan dimensi, disisipkan dengan lima sampel watermark dalam bentuk teks yang berbeda panjang teks untuk mencari tiga parameter perbandingan yaitu nilai Mean Squared Error (MSE), ukuran hasil dan waktu proses. Dari pengujian ini didapatkan kesimpulan bahwa terhadap ketiga parameter tersebut algoritma kombinasi MLSB-LSB+1 lebih baik dari algoritma LSB+1 tetapi sedikit lebih buruk dari algoritma MLSB. Hal ini terjadi dikarenakan algoritma kombinasi MLSB-LSB+1 selain mewarisi kelebihan masing-masing algoritma, juga mewarisi kekurangan dari algoritma LSB+1 dimana akibat dari penyisipan dilakukan pada satu bit sebelum bit teakhir dari pixel citra, maka perubahan nilai pixelnya lebih besar satu dibandingkan dengan penyisipan pada bit terakhir.

Kata Kunci : Algoritma Watermarking, Algoritma Kombinasi, Modified Least Significant Bit, Least Significant Bit +1


(19)

ANALYSIS OF COMBINED WATERMARKING ALGORITHM MODIFIED LEAST SIGNIFICANT BIT WITH LEAST SIGNIFICANT BIT +1

ABSTRACT

To protect someone's copyright on digital media such as digital image watermarking technique can be done, which is a technique to insert copyright marks into digital media. Algorithms commonly used in the watermark insertion is the Least Significant Bit (LSB).Insertion LSB algorithm is not no shortage. LSB algorithm requires one byte pixel image to insert a watermark bit. The more bytes pixels are inserted, the higher the difference watermarked image with the original image. Embedded watermark can also easily be known because it is definitely placed on the LSB bits of the pixel image. From these problems, in this research analysis algorithms to combine Modified Least Significant Bit (MLSB) algorithm +1 Least Significant Bit (LSB + 1) where MLSB have the advantage in placing the watermark to be inserted from eight bits per character into five bits per character watermark. +1 LSB algorithm will cover the shortfall MLSB easy-known location of the watermark bit, by inserting a watermark bits at random pixels. The results of this analysis of five samples tested by using different image sizes and dimensions, with five samples inserted watermark in the form of different text length to find three parameters comparison Mean Squared Error value (MSE), the size of the result and processing time. From this test it was concluded that the three parameters of the algorithm is a combination of MLSB-LSB + 1 better than the algorithm LSB + 1 but slightly worse than the algorithm MLSB. This happens due to a combination algorithm MLSB-LSB + 1 besides inheriting the advantages of each algorithm, also inherited deficiency of the algorithm LSB + 1 where the effect of the insertion is done at the bit before the last bit of the pixel image, the pixel value change is greater than the insertion of the last bit.

Keywords : Watermarking Algorithm, Combined Algorithm, Modified Least Significant Bit, Least Significant Bit +1


(20)

BAB I

PENDAHULUAN

1.1. Latar Belakang

Pada era informasi dan teknologi saat ini, data dan informasi disajikan dalam format digital, baik berupa teks, citra, audio maupun video. Produk digital ini mempunyai beberapa karakteristik antara lain: mudah digandakan, mudah didistribusikan dan perubahan tidak dapat dipersepsi oleh indera penglihatan. Masalah muncul ketika produk digital ini merupakan karya yang dilindungi misalnya tulisan electronic book, citra hasil seni fotografi, audio hasil seni musik, dan video peristiwa penting seseorang (Munir, 2006).

Permasalahan diatas dapat diatasi dengan menggunakan metode watermarking.

Watermarking adalah teknik untuk menyisipkan informasi tertentu disebut watermark

ke dalam media digital. Penyisipan watermark dilakukan sedemikian rupa sehingga

watermark tidak merusak data digital yang dilindungi. Watermark yang disisipkan tidak dapat dipersepsi oleh indera manusia, namun dapat dideteksi oleh komputer dengan menggunakan kunci yang benar (Munir, 2006).

Algoritma yang umum digunakan dalam melakukan penyisipan watermark ke dalam media digital adalah Least Significant Bit (LSB). Prinsip dasar metode ini adalah dengan mengganti bit terakhir setiap data dengan bit-bit penyisip. Dengan kata lain setiap satu bit pesan penyisip membutuhkan satu byte data cover media, sehingga untuk setiap satu karakter teks penyisip membutuhkan delapan byte data cover media karena satu byte penyisip terdiri dari delapan bit data (Seyyedi, 2013). Pesan yang disembunyikan dengan algoritma ini juga dapat mudah diketahui, karena bit-bit pesan sudah pasti berada pada bit LSB dari media digital tersebut (Utami, 2009).


(21)

Algoritma Modified Least Significant Bit (MLSB) merupakan modifikasi dari algoritma LSB. Algoritma ini bekerja dengan mengganti bit-bit pesan teks yang seharusnya 1 karakter memiliki nilai 8 bit kode ASCII (American Standard Code for Information Interchange) akan dimodifikasi menjadi 5 bit. Modifikasi dilakukan dengan mengkonversi bit-bit penyisip dengan nilai ASCII. Setelah bit-bit penyisip dikode dengan ASCII, maka digabung dengan kode ASCII simbol kontrolnya (Control Symbols). Selanjutnya dilakukan pengurangan semua bit penyisip dengan nilai bit yang paling rendah. Sebelum disisipkan ke dalam citra, bit-bit penyisip di konversi ke dalam biner yang menghasilkan 5 bit setiap nilai pesan. Algoritma MLSB lebih efisien, karena jumlah bit karakter penyisip dimodifikasi menjadi lima bit saja, sehingga untuk satu karakter penyisip hanya membutuhkan lima byte cover media (Zaher, 2011). Tetapi metode MLSB pada penelitian tersebut, memiliki kekurangan yaitu posisi bit yang disisipkan pada media cover mudah dibaca karena diletakkan pada posisi bit terakhir dan tidak acak.

Untuk memperkuat teknik penyisipan watermark dengan MLSB, dapat dilakukan dengan menyisipkan bit-bit penyisip ke bit nomor 2 terakhir. Metode ini disebut dengan Least Significant Bit +1 (LSB +1) (Nath, 2011). Proses penyisipan juga dapat dilakukan secara acak. Pada penelitian Saefullah (2012) misalnya, jika terdapat 50 byte dan 6 bit data yang akan disembunyikan, maka byte yang diganti bit LSB +1-nya dipilih secara acak, misalkan byte nomor 36, 5, 21, 10, 18, 49. Bilangan acak ini dapat dibangkitkan dengan Pseudo-Random-Number-Generator (PRNG). Penelitian Laskar (2013), penyisipan dilakukan secara acak ke pixel citra dengan Random Number Generator. setelah ditentukan pixel yang akan disisipkan, bit pesan akan disisipkan di byte RED pixel. Dengan menerapkan algoritma Least Significant Bit +1 dan metode PRNG untuk menentukan byte yang akan disisip pada proses

watermarking, maka keberadaan penyisip sulit ditemukan karena bit-bit penyisip diletakkan pada bit LSB nomor dua untuk setiap byte cover dan letaknya diacak.


(22)

Atas latar belakang tersebut, maka penulis berniat melakukan kombinasi dari kedua algoritma dengan mengambil kelebihan dari masing-masing algoritma diatas dan memberi judul penelitian tesis ini dengan Analisis Kombinasi Algoritma

WatermarkingModified Least Significant Bit (MLSB) dengan Least Significant Bit +1 (LSB +1).

1.2. Rumusan Masalah

Algoritma LSB memiliki kekurangan yaitu membutuhkan banyak piksel citra untuk menampung watermark yang akan disisipkan. Sedangkan kekurangan algoritma MLSB pesan yang disembunyikan dapat dengan mudah diketahui, dikarenakan bit

watermark diletakkan pada bit LSB setiap piksel citra cover secara terurut tetapi memiliki kelebihan dimana hanya dibutuhkan sedikit piksel citra untuk menampung

watermark.

Berdasarkan hal tersebut, maka akan dilakukan analisa untuk melakukan kombinasi algoritma yang memiliki keunggulan dari algoritma Modified Least Significant Bit (MLSB) dengan diperkuat dengan konsep Algoritma Least Significant Bit +1 (LSB+1). Untuk mengetahui kehandalan algoritma tersebut, maka akan dilakukan perhitungan nilai Mean Squared Error (MSE), waktu proses serta besar file yang diperoleh.

1.3. Tujuan Penelitian

Tujuan penelitian adalah melakukan analisis untuk mengkombinasikan algoritma

Modified Least Significant Bit (MLSB) dengan Least Significant Bit +1 (LSB +1) sehingga diharapkan dapat menutupi kekurangan masing-masing algoritma jika berdiri sendiri serta mendapatkan algoritma watermarking yang lebih mangkus dibandingkan jika tanpa dilakukan kombinasi


(23)

1.4. Batasan Masalah

Adapun batasan masalah pada tesis ini adalah:

1. File citra yang di-watermarking berformat *.png sedangkan data penyisip berformat .txt.

2. Data penyisip berupa huruf besar dan kecil, tanda spasi serta angka antara 0 sampai 9.

3. Untuk mengetahui hasil dan performa algoritma kombinasi yang diukur adalah nilai MSE, waktu proses dan ukuran file hasil.

1.5. Manfaat Penelitian

Manfaat yang didapatkan dari penelitian ini adalah sebagai berikut:

1. Untuk mengetahui apakah dengan mengkombinasi Modified Least Significant Bit

(MLSB) dengan Least Significant Bit +1 (LSB +1) dapat diperoleh metode

watermarking yang lebih mangkus dibandingkan tanpa dilakukannya kombinasi. 2. Diharapkan dapat menjadi metode baru dalam melakukan pengamanan media

digital.

3. Sumbangan pemikiran bagi berbagai pihak yang ingin melakukan penelitian lebih lanjut mengenai watermarking.


(24)

BAB II

DASAR TEORI

2.1. Watermarking

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

merupakan cara untuk menyisipkan watermark atau proses penambahan kode secara permanen ke dalam citra digital yang ingin dilindungi hak ciptanya dengan tidak merusak citra aslinya dan tahan terhadap serangan (Munir, 2006).

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,


(25)

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. 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 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.1.1. Digital Watermarking

Teknik watermarking digital memiliki prinsip yang sama dengan watermarking 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.


(26)

Secara umum proses watermarking pada file citra ditunjukkan pada Gambar 2.1 dimana file citra disisipi dengan watermark menggunakan kunci sebagai sarana kepemilikan untuk dapat membuka watermark yang disisipkan ke dalam citra digital.

Key K

Original Watermarked

Citra (I) Citra (Iw)

Watermark

sequence W

Gambar 2.1. Penyisipan Watermark (Sugiono et al, 2008)

Media ber-watermark yang dihasilkan dari proses watermarking tidak berbeda jauh secara visual dengan aslinya. Hal ini disebabkan karena pengubahan dari citra digital asli ke ber-watermark hanya berpengaruh sedikit terhadap perubahan warna. Proses watermarking perlu didukung dengan proses ekstraksi watermark. Proses ekstraksi/verifikasi ini bertujuan untuk mendapatkan kembali citra asli dan watermark

yang disisipkan dalam citra digital tersebut. Umumnya proses ekstraksi/verifikasi melibatkan proses pembandingan citra asli dengan citra ber-watermark untuk mendapatkan watermark yang disisipkan, seperti yang digambarkan pada Gambar 2.2.

Gambar 2.2. Ekstraksi Watermark(Sugiono, 2008)

Key (K)

Test Extracted

Citra (II) Watermark (We)

Original Citra

Embedding

(Emb)

Extraction (Dtc)

Detection

Original


(27)

Pengkategorian watermarking berdasarkan proses ekstraksi/verifikasi

watermark terbagi 2 jenis, yaitu: 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.

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


(28)

2.1.2. Aplikasi Watermarking

Watermark telah diterapkan secara luas untuk mengatasi berbagai tindak kejahatan yang berkaitan dengan 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. 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

Seperti halnya bukti kepemilikan, watermark juga dapat digunakan sebagai pemeriksaan hak akses atau penanda (sidik jari) dari suatu media digital.

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 diketahui domain mana yang menyebarkannya.


(29)

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.1.3. Klasifikasi Watermarking

Klasifikasi terhadap watermarking dapat 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

Sesuai namanya, watermark pada invisible watermarking yang disisipkan pada media 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.


(30)

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.

2.2. Citra Digital

Citra terbentuk dari kumpulan intensitas cahaya yang tersusun dalam bidang dua dimensi. Kumpulan intensitas cahaya tersebut dinyatakan dalam suatu fungsi kontinyu

f(x,y) dimana x dan y menyatakan koordinat ruang dan nilai intensitas cahaya tersebut memberi informasi warna dan kecerahan citra (Putra, 2010).

Citra digital merupakan yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses sampling. Gambar analog dibagi menjadi N baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris dan kolom tertentu disebut dengan pixel. Contohnya adalah gambar/titik diskrit pada baris m dan kolom n disebut dengan pixel [m,n]. Sampling adalah proses untuk menentukan warna pada pixel tertentu pada citra dari sebuah gambar yang kontinu. Pada proses sampling biasanya dicari warna rata-rata dari gambar analog yang kemudian dibulatkan (Rana, 2012). Proses sampling sering juga disebut proses digitisasi seprti pada Gambar 2.3.


(31)

Gambar 2.3. Proses Sampling dan Kuantisasi (Sutoyo, 2009)

Sampling menyatakan banyaknya pixel (blok) untuk mendefinisikan suatu gambar. Sedangkan kuantisasi meunjukkan banyaknya derajat nilai pada setiap pixel

(menunjukkan jumlah bit pada gambar digital, misal b/w dengan dua bit, grayscale

dengan delapan bit, true color dengan 24 bit).

Citra atau umumnya dikenal gambar merupakan kumpulan titik-titik penyusun citra itu sendiri. Titik-titik tersebut dikenal dengan pixel. Banyaknya titik-titik penyusun citra tersebut disebut resolusi. Jadi resolusi merupkan MxN pixel. Masing-masing pixel yang menyusun suatu citra dapat memiliki warna yang berbeda-beda, yang disebut dengan bit depth. Bit depth dinyatakan dengan angka yang bersatuan bit. Sebagai contoh bit depth = 3, artinya terdapat 23 = 8 variasi yang mungkin untuk setiap pixelnya. Semakin besar nilai bit depth, maka semakin besar pula ukuran fungsi citra tersebut. Ada beberapa jenis mode warna seperti yang terlihat pada Tabel 2.1.

Tabel 2.1 Jenis Mode Warna

Mode Warna Keterangan bit depth Variasi Warna

Grayscale Warna keabuan, disusun oleh warna dasar

Red, Green, Blue yang masing – masing

memiliki nilai dasar yang sama. Misal = Red = 67, Green = 67, dan Blue = 67. Dari suatu nilai yang sama akan membentuk satu warna kebuan yang berbeda pada rentang gradasi hitam dan putih

8 bit depth 28 = 256 variasi warna

Monokrom Warna yang hanya terdiri dari hitam dan

putih

1 bit 21 = 2 variasi

warna

RGB Warna yang disusun oleh 3 channel, yaitu

Red, Green, Blue yang masing – masin

memiliki 8 bit depth

8 x 3 =24 224 = 16.777.216

variasi warna

CMYK Warna yang terdiri dari 4 channel, yaitu 8 x 4 = 32 232 =

Sampling


(32)

Dalam pengolahan citra warna dipresentasikan dengan nilai hexadesimal dari 0x00000000 sampai 0x00ffffff. Warna hitam adalah 0x00000000 dan warna putih adalah 0x00ffffff. Variabel 0x00 menyatakan angka dibelakangnya adalah

hexadecimal. Nilai warna dalam hexadecimal dapat dilihat seperti pada Gambar 2.4.

Gambar 2.4. Nilai Warna RGB Dalam Hexadecimal

2.2.1. Citra RGB

Citra RGB disebut juga citra truecolor. Citra RGB merupakan citra digital yang terdiri dari tiga layer yang mengandung matriks data berukuran m x n x 3 yang merepresentasikan warna merah, hijau, dan biru untuk setiap pixel-nya. Tiap layer

juga memiliki intensitas kecerahan warna yang nantinya saat ketiga layer digabungkan akan membentuk suatu kombinasi warna baru tergantung besarnya tingkat kecerahan warna yang disumbangkan tiap layer.

Tiap layer berukuran 8 bit, berarti memiliki tingkat kecerahan warna sampai 256 level. Artinya tiap layer warna dapat menyumbang tingkat kecerahan warnanya dari rentang level 0 sampai level 255. Dimana 0 merepresentasikan warna hitam dan 255 merepresentasikan warna putih seperti pada Gambar 2.5.

Gambar 2.5. Citra RGB (Angraini, 2007)

0x00 xx xx xx


(33)

2.2.2. Citra YcbCr

YcbCr merupakan standar internasional bagi pengkodean digital gambar televisi. Y merupakan komponen luminance, Cb dan Cr adalah komponen chrominance. Pada monitor monokrom nilai luminance digunakan untuk merepresentasikan warna RGB.

Chrominance merepresentasikan corak warna dan saturasi (saturation). Nilai komponen ini juga mengindikasikan banyaknya komponen warna biru dan merah pada warna seperti pada Gambar 2.6.

Gambar 2.6. Dekomposisi Citra RGB ke Dalam Komponen Luminance dan Chrominance (Angraini, 2007)

2.2.3. Citra Biner

Citra biner adalah representasi citra dengan hanya dua intensitas warna pada tiap

pixel-nya yaitu 1 dan 0, dimana nilai 0 mewakili warna hitam dan nilai 1 warna putih. Citra biner merupakan tingkat abu-abu terendah yang dicapai dalam pembentukan citra. Alasan masih digunakannya citra biner dalam pengolahan citra digital karena prosesnya lebih cepat karena jumlah bit untuk tiap pixel-nya lebih sedikit.

2.2.4. Citra Intensitas Keabuan

Citra Intensitas disebut juga citra grayscale. Citra grayscale merupakan citra digital yang hanya terdiri dari satu layer saja dari layer yang dimiliki citra RGB. Citra ini mempunyai kedalaman 8 bit dengan rentang dari 0 sampai 255 seperti pada Gambar


(34)

Gambar 2.7. Citra Grayscale (Angraini, 2007) 2.2.5. Citra Format PNG (Portable Network Graphics)

Citra format PNG (Portable Network Graphics) adalah salah satu format penyimpanan citra yang menggunakan metode pemadatan yang tidak menghilangkan bagian dari citra tersebut (lossless compression). Format PNG ini diperkenalkan untuk menggantikan format penyimpanan citra GIF. Secara umum PNG dipakai untuk Citra Web (Jejaring jagat Jembar - en:World Wide Web). Untuk Web, format PNG mempunyai 3 keuntungan dibandingkan format GIF:

1. Channel Alpha (transparansi)

2. Gamma (pengaturan terang-gelapnya citra “brightness”) 3. Penayangan citra secara progresif (progressive display)

Selain itu, citra dengan format PNG mempunyai faktor kompresi yang lebih baik dibandingkan dengan GIF (5%-25% lebih baik dibanding format GIF). Satu fasilitas dari GIF yang tidak terdapat pada PNG format adalah dukungan terhadap penyimpanan multi-citra untuk keperluan animasi. Untuk keperluan pengolahan citra, meskipun format PNG bisa dijadikan alternatif selama proses pengolahan citra - karena format ini selain tidak menghilangkan bagian dari citra yang sedang diolah (sehingga penyimpanan berulang ulang dari citra tidak akan menurunkan kualitas citra) namun format JPEG masih menjadi pilihan yang lebih baik. PNG (Format berkas grafik yang didukung oleh beberapa web browser. PNG mendukung transparansi gambar seperti GIF, berkas PNG bebas paten dan merupakan gambar bitmap yang terkompresi.


(35)

PNG diciptakan untuk menggantikan keberadaan GIF karena masalah lisensi. Format PNG lebih baik daripada GIF. Masalahnya ada pada kurangnya dukungan yang dimampukan oleh web browser. Format ini dibuat sebagai alternatif lain dari format GIF. Format ini digunakan untuk menyimpan berkas dengan kedalaman 24 bit serta memiliki kemampuan untuk menghasilkan background transparan dengan pinggiran yang halus.

Format PNG menggunakan metode kompresi lossless untuk menampilkan gambar 24-bit atau warna-warna solid pada media daring (online). Format ini mendukung transparansi di dalam alpha channel. Format PNG sangat baik digunakan pada dokumen daring (online), dan mempunyai dukungan warna yang lebih baik saat dicetak daripada format GIF. Akan tetapi pada warna PNG akan di-place pada dokumen InDesign sebagai gambar bitmap RGB, sehingga hanya dapat dicetak sebagai gambar komposit bukan pada gambar separasi.

PNG (diucapkan “ping”) namun biasanya dieja apa adanya - untuk menghindari kerancuan dengan istilah "ping" pada jaringan komputer. PNG adalah merupakan standar terbuka format image raster yang didukungoleh W3C dan IETF. Pada dasarnya, format PNG bukan merupakan format baru karena telah dikembangkan pada tahun 1995 untuk mengganti format GIF dan format TIFF. Format ini tidak digunakan lagi secara luas oleh browser dan perangkat lunak aplikasi pengolah gambar, sehingga dukungan terhadap format tidak begitu besar hingga tahun 2003, di mana format PNG semakin dikenal dan dipergunakan untuk aplikasi manipulasi gambar.

Secara garis besar, format PNG mempunyai fitur sebagai berikut:  Sebagai pengganti format GIF dan TIFF.

 Format terbuka atau open, efisien, gratis, dan kompresi jenis lossless.

 Tiga mode warna, yaiut : paletted (8 bit), greyscale (16 bit), truecolour (hinga 48 bit)


(36)

Citra berformat PNG dikembangkan sebagai alternatif lain untuk GIF, yang menggunakan paten dari LZW–algoritma kompresi. PNG adalah format citra yang sangat baik untuk grafis internet, karena mendukung transparansi didalam perambah (browser) dan memiliki keindahan tersendiri yang tidak bisa diberikan GIF atau bahkan JPG. Format PNG menggunakan teknik kompresi Loseless dan mendukung kedalaman warna 48 bit dengan tingkat ketelitian sampling: 1,2,4,8, dan 16 bit. Format ini memiliki alpha channel untuk mengkontrol transparency (Sutoyo, 2009).

2.3. Metode LSB (Least Significant Bit)

Metode LSB merupakan metode penyembunyian informasi dengan memodifikasi LSB file carrier/cover. Modifikasi LSB dilakukan dengan memodifikasi bit terakhir dalam satu byte data dengan bit informasi yang akan disembunyikan (Utami, 2009).

2.3.1. Metode Penyisipan LSB (Least Significant Bit)

Metode penyisipan LSB adalah penyisipan data pada setiap bytecover image pada bit yang paling kurang berarti (Least Significant Bit atau LSB) (Jajoo, 2011). Misalnya pada byte 00011001, maka bit LSB-nya adalah 1. Untuk melakukan penyisipan pesan, bit yang paling cocok untuk diganti dengan bit pesan adalah bit LSB, sebab pengubahan bit tersebut hanya akan mengubah nilai byte-nya menjadi satu lebih tinggi atau satu lebih rendah. Sebagai contoh, urutan bit berikut ini menggambarkan 3 pixel

pada cover image 24-bit (Krisnawati, 2008).

00100111 11101001 11001000 00100111 11001000 11101001 11001000 00100111 11101001

Pesan yang akan disisipkan adalah karakter “A”, yang nilai biner-nya adalah

01000001, maka akan dihasilkan watermarking image dengan urutan bit sebagai berikut:

00100110 11101001 11001000

00100110 11001000 11101000


(37)

Ada dua jenis teknik yang dapat digunakan pada metode LSB, yaitu penyisipan pesan secara sekuensial dan secara acak. Sekuensial berarti pesan rahasia disisipkan secara berurutan dari data titik pertama yang ditemukan pada file gambar, yaitu titik pada sudut kanan bawah gambar. Sedangkan acak berarti penyisipan pesan rahasia dilakukan secara acak pada gambar, dengan masukan kata kunci (Laskar, 2013).

2.3.2. Metode Ekstraksi LSB (Least Significant Bit)

Metode ekstraksi LSB adalah pengambilan data penyisip dari setiap byte watermarking image pada bit LSB) (Jajoo, 2011). Misalnya pada byte 00011001, maka bit LSB-nya adalah 1.

00100110 11101001 11001000

00100110 11001000 11101000

11001000 00100111 11101001

Hasil pengambilan bit LSB di atas adalah 01000001, dan selanjutnya setiap 8 bit (1 byte) dikonversikan ke dalam ASCII menjadi karakter “A”. Demikian

selanjutnya sampai seluruh byte citra habis diproses.

2.4. Metode LSB +1 (Least Significant Bit +1)

Metode LSB +1 merupakan metode penyembunyian informasi dengan memodifikasi LSB +1 file carrier/cover. Modifikasi LSB +1 dilakukan dengan memodifikasi bit satu sebelum terakhir dalam satu byte data dengan bit informasi yang akan disembunyikan.

2.4.1. Metode Penyisipan LSB+1 (Least Significant Bit+1)

Metode penyisipan LSB+1 adalah menyisipkan data pada setiap byte cover pada bit nomor 2 setelah bit terakhir atau bit nomor kedua paling kanan (Nath, 2011). Sebagai contoh, urutan bit berikut ini menggambarkan 3 pixel pada cover image 24-bit


(38)

00100111 11101001 11001000 00100111 11001000 11101001 11001000 00100111 11101001

Pesan yang akan disisipkan adalah karakter “A”, yang nilai biner-nya adalah

01000001, maka akan dihasilkan watermarking image dengan urutan bit sebagai berikut:

00100101 11101011 11001000 00100101 11001000 11101001 11001000 00100111 11101001

2.4.2. Metode Ekstraksi LSB+1 (Least Significant Bit +1)

Metode ekstraksi LSB+1 adalah pengambilan data penyisip dari setiap byte watermarking image pada bit kedua paing akhir atau kedua paling kanan (Nath, 2011). Misalnya pada byte 00011001, maka bit LSB+1-nya adalah 0.

00100101 11101011 11001000 00100101 11001000 11101001 11001000 00100111 11101001

Hasil pengambilan bit LSB+1 di atas adalah 01000001, dan selanjutnya setiap 8 bit (1 byte) dikonversikan ke dalam ASCII menjadi karakter “A”. Demikian

selanjutnya sampai seluruh byte citra habis diproses.

Pada penelitian Nath (2011), bit penyisip disisipkan pada Least Significant Bit

(LSB) dan LSB +1 bit file cover. Adapun langkah penyisipan pada penelitian tersebut: a. Untuk menyembunyikan satu (1) byte pesan rahasia kita memilih 4 byte

berturut-turut dari file cover dan kemudian masukkan bit di LSB dan LSB + 1 posisi. b. Untuk menanamkan 1 byte informasi yang kita butuhkan 4 byte dari file penutup.

Sebagai contoh suatu file cover yang berisi 4 byte: 00101111 00011101 11011101 10100110. Misalkan ingin menanamkan nomor 245 dalam pola bit di atas. Representasi biner dari 245 adalah 11110101.


(39)

Sebagai contoh untuk menanamkan bit ini, pola di atas 4 byte digunakan untuk menanamkan 11110101 dan dipilih LSB + 1 bit di atas 4 byte dari file penutup. Tabel 2.2 menunjukkan hasil bagaimana bit disisipkan (Nath et al, 2011).

Tabel 2.2. Perubahan LSB dan LSB + 1 Bit dengan Bit Pesan Rahasia File Sebelum Diganti Sesudah Diganti Bit Disisip Keterangan

00101111 00101111 1,1 No change in bit Pattern

00011101 000111111 1,1 Change in bit pattern(i)

11011101 110111010 0,1 Change in bit pattern(i)

2.5. Algoritma MLSB (Modified Least Significant Bit)

Modified Least Significant Bit (MLSB) atau modifikasi dari Algoritma LSB digunakan untuk meng-encode sebuah identitas ke dalam citra asli. MLSB menggunakan manipulasi beberapa tingkat bit-bit penyisip sebelum meng-encode

pesan tersebut (Zaher, 2011).

Modifikasi pesan dengan algoritma MLSB dimana bit pesan yang seharusnya 1 karakter memiliki nilai 8 bit ASCII code akan dimodifikasi menjadi 5 bit. Pada algoritma ini karakter dan angka direpresentasikan dalam 5 bit yang akan disisipkan ke dalam citra asli dengan teknik LSB. Penyisipan dilakukan dengan proses-proses : 1. Proses mengubah data penyisip dengan kode ASCII. Misalnya pesan “STEGO with

05 bits” yang jika diubah ke biner membutuhkan memori sebesar 18 x 8 bit = 144 bit. Pada algoritma MLSB pesan di atas diubah menjadi ASCII (hex) menjadi: 5316,

5416, 4516, 4716, 4F16, 2016, 7716, 6916, 7416, 6816, 2016, 3016, 3516, 2016, 6216, 6916,

7416,7316. Kemudian dilakukan normalisasi dengan tabel Control Symbol seperti

Tabel 2.3.

Tabel 2.3 Control Symbol

Hex Representation Operation

1B16 Define Small Letter

1C16 Define Capital Letter

1D16 Define Space


(40)

2. Baca data penyisip (ASCII) sampai tanda spasi (2016) yaitu 5316, 5416, 4516, 4716,

4F16.

3. Semua nilai di-XOR-kan dengan nilai puluhan terendah dari {5316, 5416, 4516,

4716}, yaitu 4016 menjdi 5316 4016= 1316, 5416 4016= 1416, 4516 4016= 0516,

4716 4016 = 0716, 4F16 4016 = 0F16.

4. Sehingga didapatkan data penyisip kelompok pertama adalah 1C16, 1316, 1416,

0516, 0716, 0F16 dimana 1C16 adalah Control Symbol untuk huruf besar (capital).

5. Data penyisip kelompok kedua adalah 7716, 6916,7416, 6816 dikurangi dengan nilai

puluhan terendah (6016) menjadi 7716 6016= 1716, 6916 6016= 0916, 7416

6016= 1416, 6816 6016= 0816.

6. Data kelompok ke dua ini digabung dengan kelompok pertama dan diberi nilai

Control Symbol 1D16 (spasi) dan 1B16 (huruf kecil) menjadi 1D16, 1B16, 1716, 0916,

1416, 0816.

7. Data kelompok ketiga adalah: 3016, 3516 dikurangi dengan nilai terendah menjadi:

3016 3016= 0, 3516 3016= 0516.

8. Data tersebut digabung dengan kelompok sebelumnya ditambah dengan Control Symbol 1D16 (spasi), 1E16 (nomor) menjadi 1D16, 1E16, 0016, 0516.

9. Data kelompok keempat adalah: 6216, 6916,7416,7316 dikurangi dengan nilai

terendah menjadi: 6216 6016= 0216, 6916 6016= 0916, 7416 6016= 1416, 7316

6016= 1316.

10. Data tersebut digabung dengan kelompok sebelumnya ditambah dengan Control Symbol 1B16 (huruf kecil), menjadi 1D16, 1B16, 0216, 0916, 1416, 1316 dan akhir

data (1F16).

Sehingga pesan menjadi:

1C16, 1316, 1416, 0516, 0716, 0F16, 1D16, 1B16, 1716, 0916, 1416, 0816, 1D16, 1E16, 0016,

0516, 1D16, 1B16, 0216, 0916, 1416, 1316, 1F16.

Pesan diatas membutuhkan 23 x 5 bit = 115 bit dan diubah menjadi biner menjadi: 11100, 10011, 10100, 00101, 00111, 01111, 11101, 11011, 10111, 01001, 10100, 01000, 11101, 11110, 00000, 00101, 11101, 11011, 00010, 01001, 10100, 10011, 11111.


(41)

52 49 46 46 28

08 00 00 57 41

56 45 44 15 2F

3D 1D 2A 00 4D

01 7C 01 12 45

68 00 01 11 05

Nilai piksel citra di atas dikonversikan ke dalam biner menjadi sebagai berikut: 01010010 01001001 01000110 01000110 00101000 00001000 00000000 00000000 01010111 01000001 01010110 01000101 01000100 00010101 00101111 00111101 00011101 00101010 00000000 01001101 00000001 01111100 00000001 00010010 01000101 01101000 00000000 00000001 00010001 00000101

Penyisipan dilakukan pada setiap byte pada nilai biner paling belakang dimana pesan yang disisipkan adalah 11100, 10011, 10100, 00101, 00111, 01111 seperti yang diperlihatkan sebagai berikut:

01010011 01001001 01000111 01000110 00101000

00001001 00000000 00000000 01010111 01000001

01010111 01000100 01000101 00010100 00101110

00111100 00011100 00101011 00000000 01001101

00000000 01111100 00000001 00010011 01000101

01101000 00000001 00000001 00010001 00000101

Setelah penyisipan, representasi nilai piksel citra ter-watermark (grayscale) diperliahtkan sebagai berikut:

53 49 47 46 28

09 00 00 57 41

57 44 45 14 2E

3C 1C 2B 00 4D

00 7C 01 13 45

68 01 01 11 05

Pada proses ekstraksi dengan algoritma MLSB dilakukan dengan cara: 1. Input citra ter-watermarking.


(42)

3. Pisahkan 1 bit terakhir dari setiap byte piksel citra kemudian dikelompokkan menjadi 5 bit per blok.

4. Konversikan setiap blok ke dalam ASCII (hexadecimal).

5. Blok pertama dibandingkan dengan Control Symbol untuk mendefenisikan jenis karakter berikutnya:

- Jika Control Symbol 1B16 maka setiap blok berikutnya yang bukan Control

Symbol di-XOR-kan 60.

- Jika Control Symbol 1C16 maka setiap blok berikutnya yang bukan Control

Symbol di-XOR-kan 40.

- Jika Control Symbol 1E16 maka setiap blok berikutnya yang bukan Control

Symbol di-XOR-kan 30.

- Jika Control Symbol 1Dh maka menyatakan spasi.

6. Langkah ke 3 sampai ke 5 diulangi sampai ditemukannya Control Symbol end of the text (1F16).

7. Rekonstruksikan setiap blok data sebagai pesan rahasia.

Berikut contoh dari proses extraction pada citra ter-watermarking:.

01010011 01001001 01000111 01000110 00101000

00001001 00000000 00000000 01010111 01000001

01010111 01000100 01000101 00010100 00101110

00111100 00011100 00101011 00000000 01001101

00000000 01111100 00000001 00010011 01000101

01101000 00000001 00000001 00010001 00000101

1. Pisahkan 1 bit terakhir dari setiap byte piksel citra kemudian dikelompokkan menjadi 5 bit per blok yang diperlihatkan sebagai berikut:

11100 10011 10100 00101 00111 01111

2. Konversikan setiap blok ke dalam ASCII (hexadecimal) menjadi: 1C16, 1316, 1416, 0516, 0716, 0F16


(43)

3. Blok pertama yaitu 1C16 dibandingkan dengan Control Symbol yang merupakan

menandakan huruf kapital maka setiap blok berikutnya yang bukan Control Symbol di-ZOR-kan 40 menjadi : 5316, 5416, 4516, 4716, 4F16.

4. Data yang terakhir inilah kemudian direkonstruksi sebagai teks penyisip (embed) menjadi : S T E G O.

2.6. Mean Squared Error (MSE)

Mean Squared Error (MSE) digunakan untuk mengukur kinerja dari algoritma

steganografi/watermaking pada citra (Sutoyo, 2009). Citra asli dibandingkan dengan citra tersisip (stego image/ watermark image) dengan memeriksa selisih nilai. Perhitungan nilai MSE dari citra digital berukuran N x M piksel, dilakukan sesuai dengan rumus pada persamaan (1).

... (1)

f(i,j) : menyatakan nilai piksel citra yang asli. f’(i,j) : merupakan nilai piksel citra hasil penyisipan. N.M : dimensi citra (piksel)

Nilai MSE yang besar, menyatakan bahwa penyimpangan atau selisih antara citra hasil penyisipan dengan citra aslinya cukup besar.

2.7. Pembangkit Bilangan Acak (Random Number Generator)

Pembangkit Bilangan Acak atau Random Number Generator (RNG) adalah suatu peralatan komputasional yang dirancang untuk menghasilkan suatu urutan nilai yang tidak dapat ditebak polanya dengan mudah, sehingga urutan nilai tersebut dapat dianggap sebagai suatu keadaan acak (random). RNG ini tidak dapat diterapkan dalam prakteknya. Bilangan acak yang dihasilkan oleh komputer sekalipun tidak benar-benar acak dan kebanyakan bilangan acak yang diterapkan dalam kriptografi juga tidak


(44)

bilangan acak sering dibangkitkan dengan menggunakan pembangkit bilangan acak semu atau Pseudo Random Number Generator (PRNG) (Haahr, 2009).

2.7.1. Pembangkit Bilangan Acak Semu

Pembangkit Bilangan Acak Semu atau Pseudo Random Number Generator (PRNG) merupakan suatu algoritma yang menghasilkan suatu urutan nilai dimana elemen-elemennya bergantung pada setiap nilai yang dihasilkan. Output dari PRNG tidak betul-betul acak, tetapi hanya mirip dengan properti dari nilai acak. Hal inididukung oleh penelitian sebelumnya. menyimpulkan dari beberapa algoritma untuk membangkitkan bilangan acak semu, tidak ada yang benar-benar dapat menghasilkan bilangan acak secara sempurna dalam arti benar-benar acak dan tanpa ada perulangan selama pembangkit yang digunakan adalah komputer yang memiliki sifat deterministik dan bilangan yang benar-benar acak hanya dapat dihasilkan oleh perangkat keras (hardware). Menurut, pembangkit bilangan acak yang cocok untuk kriptografi dinamakan Cryptographically Secure Pseudorandom Number Generator

(CSPRNG) (Dodis, 2010).

Persyaratan CSPRNG adalah:

1. Terlihat acak. Artinya mampu melewati uji statistik keacakan.

2. Tidak dapat diprediksi. Perhitungan secara komputasional tidak dapat mempengaruhi prediksi bilangan acak selanjutnya yang telah diberikan algoritma secara menyeluruh ataupun dari dibangkitkan dari mesin (komputer).

3. Tidak mampu diproduksi kembali. Jika pembangkit bilangan acak mampu dibangkitkan dua kali dengan input yang sama akan memperoleh hasil acak yang berbeda satu dengan lainnya.

Meskipun demikian, pada dasarnya bilangan acak yang diperoleh bukanlah bilangan acak yang sesungguhnya, maka supaya lebih menyerupai bilangan acak, mengatakan beberapa syarat penting yang harus dipenuhi olehbilangan acak adalah seperti berikut ini:


(45)

1. Dapat diulang. Sekumpulan (barisan) bilangan yang sama harus bisa diperoleh (diulang) dengan menggunakan seed yang sama, hal ini kadang-kadang diperlukan untuk pemeriksaan dan penelusuran program (debugging).

2. Keacakan. Barisan bilangan harus memenuhi syarat keacakan secara seragam (uniform) yang dapat diuji melalui uji statistika.

3. Periode panjang. Karena pada dasarnya bilangan acak itu merupakan barisan berulang dengan berbagai periode, maka periode pengulangan harus sangat besar atau lama melebihi banyaknya bilangan acak yang diperlukan. Tidak peka seed. Sekalipun barisan bilangannya bergantung pada seed tetapi sifat keacakan dan periodisasi sedapat mungkin tidak bergantung pada seed-nya.

Secara umum, sebuah PRNG didefinisikan sebagai algoritma kriptografi yang digunakan untuk menghasilkan bilangan secara acak. Pengertian acak sendiri adalah bilangan yang dihasilkan dalam setiap waktu tidaklah sama. Sebuah PRNG memiliki sebuah kondisi awal K yang rahasia. Saat digunakan, PRNG harus membangkitkan output acak yang tidak dapat diidentifikasi oleh kriptanalis yang tidak tahu dan tidak dapat menebak kondisi awal K. Dalam hal ini, PRNG memiliki kesamaan dengan cipher aliran. Akan tetapi, sebuah PRNG harus mampu mengubah kondisi awalnya dengan memproses input sehingga tidak dapat diprediksi oleh kriptanalis.

Umumnya PRNG memiliki kondisi awal yang tidak sengaja dapat ditebak oleh kriptanalis dan harus mengalami banyak proses sebelum kondisinya rahasia dan aman. Patut dipahami bahwa sebuah input untuk PRNG memiliki informasi rahasia yang tidak diketahui oleh kriptanalis. Input-input ini umumnya diperoleh dari proses-proses fisik, interaksi user dengan mesin, atau proses eksternal lain yang sulit diprediksi. Dalam desain dan implementasi harus dapat dipastikan bahwa input-input ini memiliki cukup jaminan keamanan dan kerahasiaan.

Kebanyakan algoritma dari PRNG ditujukan untuk menghasilkan suatu sampel yang secara seragam terdistribusi. PRNG ini sering digunakan dalam kriptografi pada proses pembentukan kunci dari metode kriptografi. Tingkat kerumitan dari PRNG ini


(46)

digunakan maka semakin tinggi tingkat keamanan dari metoda kriptografi. Skema Dasar PRNG dapat dilihat seperti pada Gambar 2.8.

Gambar 2.8 Skema Dasar PRNG (Dodis, 2010)

Semua deretan bilangan acak yang dibangkitkan dari rumus matematika, serumit apapun, dianggap sebagai deret acak semu, karena dapat diulang pembangkitannya. Sementara itu, banyak produk software yang dinyatakan sebagai produk yang aman karena menggunakan bilangan acak semacam OTP (One Time Pad). Namun karena OTP ini dibangkitkan dari bilangan acak semu, maka keamanan yang diperoleh juga semu. Pembangkit bilangan acak yang sering diimplementasikan adalah Linier Congruential Generator (LCG) dan Linear Feedback Shift Register (LFSR).

2.7.2. Linear Congruential Generator(LCG)

Linear Congruential Generator (LCG) mewakili salah satu algoritma pseudo random number yang tertua dan paling populer. Algoritma ini diciptakan oleh D. H. Lehmer pada tahun 1951. Teori dari algoritma ini mudah dipahami dan dapat diimplementasikan secara cepat, hal ini didukung oleh penelitian sebelumnya. (Munir, 2011) yang menyimpulkan hasil analisis yang diperoleh bahwa dari segi kecepatan LCG membutuhkan waktu yang paling pendek dalam menghasilkan bilangan acak dibandingkan dengan metode lain. Keuntungan dari LCG adalah operasinya yang sangat cepat. LCG dapat didefinisikan dengan rumusan berikut:

= (a. +1 + b) mod m

PRNG

Input Seed Rahasia Bilangan acak semu


(47)

Dimana :

= bilangan acak ke-n dari deretnya −1 = bilangan acak sebelumnya a = faktor pengali

b = increment

m = modulus (batas maksimum bilangan acak) (a,b, dan m semuanya konstanta LCG)

Penentuan nilai awal 0 atau −1 dan konstanta (a, b, dan m) akan

menentukan kualitas bilangan acak yang dihasilkan. Bilangan acak yang baik (pada umumnya) apabila terjadinya perulangan atau munculnya bilangan acak yang sama, dapat terjadi setelah sekian banyak pembangkitan bilangan acak (semakin banyak akan semakin baik) serta tidak bisa diprediksi kapan terjadi perulangannya. Periode dari LCG umumnya adalah sebesar nilai m. Masalah pada LCG adalah lower order bit yang digenerasi mempunyai periode yang lebih pendek dari deretan secara keseluruhan jika m di-set menjadi pangkat 2. Tanpa desain yang benar, dengan m yang sangat besar, bisa jadi periode bilangan acak yang dihasilkan tidak akan maksimal, bahkan mungkin jauh lebih pendek daripada periode maksimalnya.

Kunci pembangkit adalah 0 yang disebut umpan (seed). LCG mempunyai

periode tidak lebih besar dari m. Jika a, b, dan m dipilih secara tepat (misalnya b seharusnya relatif prima terhadap m dan b < m ), maka LCG akan mempunyai periode maksimal, yaitu m – 1. Sebagai contoh : Untuk membangkitkan bilangan acak sebanyak 10 kali dengan a=13, b=7, m=11, dan 0 = 2. Dengan menggunakan rumus


(48)

Tabel 2.4. Hasil Pembangkitan Bilangan Acak dengan Metode LCG (Munir, 2011)


(49)

BAB III

METODOLOGI PENELITIAN

3.1. Metodologi Penelitian

Pada penelitian ini akan dilakukan beberapa tahapan yaitu melakukan studi pustaka yang berkaitan dengan permasalahan, melakukan analisis dalam mengkombinasikan algoritma MLSB dengan LSB+1 dan terakhir melakukan uji coba terhadap algoritma kombinasi dengan membandingkannya dengan algoritma MLSB dan LSB+1 yang berdiri sendiri dalam melakukan penyisipan watermark pada citra. Hasil uji coba nantinya akan mengukur nilai Mean Squared Error (MSE), waktu proses dan ukuran citra ber-watermark.

3.2. Analisis Algoritma Kombinasi MLSB-LSB +1

Algoritma Kombinasi Algoritma Watermarking Modified Least Significant Bit

(MLSB) dengan Least Significant Bit +1 (LSB +1) adalah mengkonversi bit-bit penyisip dengan nilai ASCII. Setelah bit-bit penyisip dikode dengan ASCII, maka digabung dengan kode ASCII simbol kontrolnya (Control Symbols). Selanjutnya dilakukan pengurangan semua bit penyisip dengan nilai bit yang paling rendah. Sebelum disisipkan ke dalam citra, bit-bit penyisip di konversi ke dalam biner yang menghasilkan 5 bit setiap nilai pesan.

Pada proses penyisipan dilakukan dengan menggantikan bit-bit penyisip ke bit nomor 2 terakhir dari byte-byte cover citra yang disebut dengan metode Least Significant Bit +1 (LSB +1). Proses penyisipan dilakukan secara acak, misalnya jika


(50)

acak ini dapat dibangkitkan dengan Pseudo-Random-Number-Generator (PRNG). Selanjutnya nomor acak tersebut disimpan dalam format teks (.txt) untuk digunakan pada saat ekstraksi. Penyisipan dilakukan dengan proses sebagai berikut:

11. Proses mengubah data penyisip dengan kode ASCII. Misalnya pesan “STEGO with 05 bits” yang jika diubah ke biner membutuhkan memori sebesar 18 x 8 bit = 144 bit. Pada algoritma MLSB pesan di atas diubah menjadi ASCII (hex) menjadi: 5316, 5416, 4516, 4716, 4F16, 2016,7716, 6916,7416, 6816, 2016, 3016, 3516, 2016, 6216,

6916,7416,7316. Kemudian dilakukan normalisasi dengan tabel Control Symbol

seperti Tabel 3.1.

Tabel 3.1 Control Symbol MLSB-LSB+1

Hex Representation Operation

1B16 Define Small Letter

1C16 Define Capital Letter

1D16 Define Space

1E16 Define Number

1F16 Define end of text

12. Baca data penyisip (ASCII) sampai tanda spasi (2016) yaitu 5316, 5416, 4516,

4716, 4F16.

13. Semua nilai di-XOR-kan dengan nilai puluhan terendah dari {5316, 5416, 4516,

4716}, yaitu 4016 Dapat dihitung: 5316 4016 = 1316, 5416 4016 = 1416, 4516

4016 = 0516, 4716 4016 = 0716, 4F16 4016 = 0F16. Sehingga didapatkan Data

penyisip kelompok pertama adalah 1C16, 1316, 1416, 0516, 0716, 0F16 dimana 1C16

adalah Control Symbol untuk huruf besar (capital).

14. Data penyisip kelompok ke dua adalah 7716, 6916,7416, 6816 di-XOR-kan

dengan nilai puluhan terendah (6016) menjadi 7716 6016 = 1716, 6916 6016 =

0916, 7416 6016 = 1416, 6816 6016= 0816.

15. Data kelompok ke dua ini digabung dengan kelompok pertama dan diberi nilai

Control Symbol 1D16 (spasi) dan 1B16 (huruf kecil) menjadi 1D16, 1B16, 1716, 0916,

1416, 0816.

16. Data kelompok ketiga adalah: 3016, 3516 di-XOR-kan dengan nilai puluhan


(51)

17. Data tersebut digabung dengan kelompok sebelumnya ditambah dengan

Control Symbol 1D16 (spasi), 1E16 (numerik) menjadi 1D16, 1E16, 0016, 0516.

18. Data kelompok keempat adalah: 6216, 6916,7416, 7316 dikurangi dengan nilai

puluhan terendahnya menjadi: 6216 6016 = 0216, 6916 6016 = 0916, 7416 6016

= 14, 7316 6016 = 1316.

19.Data tersebut digabung dengan kelompok sebelumnya ditambah dengan Control Symbol 1B16 (huruf kecil), menjadi 1D16, 1B16, 0216, 0916, 1416, 1316 dan akhir data

(1F16).

Sehingga pesan menjadi:

1C16, 1316, 1416, 0516, 0716, 0F16, 1D16, 1B16, 1716, 0916, 1416, 0816, 1D16, 1E16, 0016,

0516, 1D16, 1B16, 0216, 0916, 1416, 1316, 1F16.

Pesan diatas membutuhkan 23 x 5 bit = 115 bit dan diubah menjadi biner menjadi: 11100, 10011, 10100, 00101, 00111, 01111, 11101, 11011, 10111, 01001, 10100, 01000, 11101, 11110, 00000, 00101, 11101, 11011, 00010, 01001, 10100, 10011, 11111.

Pesan biner disisipkan ke dalam sebuah file cover seperti yang diperlihatkan sebagai berikut:

52 49 46 46 28

08 00 00 57 41

56 45 44 15 2F

3D 1D 2A 00 4D

01 7C 01 12 45

68 00 01 11 05

Nilai piksel citra di atas dikonversikan ke dalam biner menjadi seperti yang diperlihatkan sebagai berikut:

01010010 01001001 01000110 01000110 00101000 00001000 00000000 00000000 01010111 01000001 01010110 01000101 01000100 00010101 00101111 00111101 00011101 00101010 00000000 01001101 00000001 01111100 00000001 00010010 01000101


(1)

Dari grafik diatas penulis melakukan penarikan kesimpulan terhadap uji coba dengan menggunakan algoritma LSB+1, MLSB dan Kombinasi MLSB-LSB+1 kedalam tiga bagian yaitu dari parameter Nilai MSE, Waktu Proses dan Ukuran File.

4.2.1. Hasil Perbandingan Nilai MSE

Pada grafik diatas dapat dilihat bahwa algoritma Modified Least Significant Bit (MLSB) unggul dalam perbandingan parameter MSE. Hal ini disebabkan karena algoritma MLSB memapatkan biner watermark menjadi lima bit setiap karakter dan kemudian menyisipkan bit pesan pada posisi Least Significant Bit. Perubahan bit pada posisi least significant bit, tidak memiliki pengaruh yang besar terhadap citra yang disisipkan sehingga didapatkanlah nilai MSE yang tidak terlalu besar.

Hal ini tidak didapatkan pada penggunaan algoritma LSB+1. Pada algoritma LSB+1 biner watermark terdiri dari 8 bit setiap karakter sehingga membutuhkan lebih banyak pixel untuk menampung biner watermark tersebut. Selain itu dikarenakan disisipkan pada bit satu sebelum least significant bitpixel yang menyebabkan saat disisipkan data,pixel berubah lebih banyak dibandingkan jika disisipkan pada least significant bit,yang menyebabkan nilai MSE didapat lebih besar dibandingkan dengan menggunakan MLSB.

Untuk algoritma kombinasi MLSB-LSB+1 berada posisi kedua. Nilai MSE yang didapatkan algoritma ini tidak terlalu buruk dibandingkan dengan algoritma MLSB dan sangat lebih baik dibandingkan dengan algoritma LSB+1. Hal ini disebabkan karena algoritma MLSB-LSB+1 memiliki kemampuan untuk memampatkan watermark menjadi lima bit per karakter sehingga pixel yang dibutuhkan lebih sedikit dibandingkan dengan LSB+1. Nilai MSE yang lebih tinggi dibandingkan MLSB didapatkan karena algoritma kombinasi ini memiliki kemampuan untuk menyisipkan pesan pada bit satu sebelum least significant bit pixel. Tetapi hal ini dilakukan dikarenakan untuk menyulitkan pihak tertentu dalam melakukan ekstraksi pesan dan merubah watermark.


(2)

4.2.2. Hasil Perbandingan Waktu Proses

Pada grafik diatas, untuk parameter waktu proses setiap algoritma terpaut sedikit. Hal ini dikarenakan setiap algoritma memiliki kelebihan dan kekurangannya yang mempengaruhi waktu proses selain setiap algoritma yang diujikan melakukan pengacakan angka untuk menentukan posisi pixel yang akan disisipkan watermark. Kelebihan algoritma MLSB yang membutuhkan lebih sedikit pixel untuk menyisipkan watermarkdibandingkan dengan algoritma LSB+1 mempersingkat waktu proses dari algoritma ini. Tetapi Kelebihan algoritma LSB+1 yang tidak perlu melakukan proses pemampatan watermark menjadi lima bit per karakter tetapi langsung menyisipkan bit watermark ke pixel juga mempersingkat waktu proses.

Algoritma kombinasi MLSB-LSB+1 juga tidak membutuhkan waktu proses yang lebih besar dari kedua algoritma diatas. MLSB-LSB+1 menggunakan waktu hampir sama dengan algoritma MLSB dikarenakan hanya memerlukan sedikit pixel untuk disisipkan dibandingkan algoritma LSB+1.

4.2.3. Hasil Perbandingan Ukuran File

Pada grafik diatas, untuk parameter ukuran file algoritma MLSB memiliki ukuran file citra ber-watermark yang paling kecil. Hal ini disebabkan karena algoritma MLSB membutuhkan lebih sedikit pixel dan perubahan nilai pixel saat disisipkan bit watermark hanya bertambah atau berkurang satu karena disisipkan pada posisi least significant bit pixel. Algoritma LSB+1 memiliki ukuran file citra ber-watermark yang terbesar. Hal ini disebabkan algoritma LSB+1 membutuhkan lebih banyak pixel dibandingkan MLSB dan perubahan nilai pixel saat disisipkan bit watermark bertambah atau berkurang dua karena disisipkan pada posisi satu setelah least significant bit pixel.


(3)

Ukuran file citra ber-watermark algoritma kombinasi MLSB-LSB+1 lebih besar sedikit dengan algoritma MLSB tetapi lebih kecil dibandingkanalgoritma LSB+1. Hal ini disebabkan algoritma MLSB-LSB+1 walaupun membutuhkan sedikit pixel untuk menyisipkan watermark tetapi perubahan nilai pixel saat disisipkan akan bertambah atau berkurang dua karena disisipkan pada posisi satu setelah least significant bit pixel.


(4)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut:

a. Berdasarkan perbandingan algoritma LSB+1, MLSB dan kombinasi MLSB-LSB+1 terhadap tiga parameter perbandingan yaitu: MSE citra, waktu proses dan ukuran citra diperoleh bahwa pada parameter MSE dan ukuran citra, algoritma MLSB memiliki citra dengan MSE dan ukuran berkas yang paling kecildibandingkan dengan algoritma LSB+1 yang memiliki citra dengan MSE dan ukuran berkas yang paling besar. Untuk parameter waktu proses, disimpulkan bahwa setiap algoritma memiliki waktu proses yang hampir sama dikarenakan selain bergantung pada ukuran citra dan pesan yang akan disisipkan, setiap algoritma mempunyai kelebihan dan kekurangannya yang mempengaruhi waktu prosesnya.

b. Algoritma kombinasi MLSB-LSB+1 secara data menunjukkan bahwa berdasarkan parameter MSE citra, waktu proses dan ukuran citra berada diatas algoritma LSB+1 dan tidak begitu berbeda jauh dengan algoritma MLSB.

c. Algoritma kombinasi MLSB-LSB+1 mewarisi keunggulan serta menutupi kekurangan yang dimiliki masing-masingalgoritma MLSB dan LSB+1. Kelebihan algoritma MLSB yang memampatkan pesan yang akan disisipi menutup kekurangan algoritma LSB+1 yang membutuhkan jumlah pixel citra untuk menampung pesan yang besar. Kelebihan algoritma LSB+1 dalam sulitnya mengekstraksi pesan menutupi kelemahan algoritma MLSB yang mudah diekstraksi jika tabel simbolnya telah diketahui.


(5)

DAFTAR PUSTAKA

Angraini, E.U. 2007. Analisis Penyisipan Data Pada Citra Bitmap Menggunakan metodeBit Plane Complexcity Segmentation. Seminar Nasional Teknologi Yogyakarta.

Dodis, Y., et al. 2013. Security Analysis Of Pseudo-Random Number Generators With Input: /Dev/Random Is Not Robust. Proceedings of the 2013 ACM SIGSAC Conference On Computer & Communications Security. New York, USA. Haahr, Mads, Introduction to Randomness and Random

Numbers,https://www.random.org/randomness/, diakses tgl 15-12-2014. Jajoo, P., Sharma, S., Bhadu, A. & Sharma, V.. 2011. Hiding Information by using

Image Steganography.3rd International Conference on Machine Learning and Computing (ICMLC 2011).

Krisnawati.2008.Metode Least Significant Bit (LSB) dan End Of File (EOF) untuk Menyisipkan Teks ke Dalam Citra Grayscale. Seminar Nasional Informatika

2008 (semnasIF 2008) UPN “Veteran” Yogyakarta, 24 Mei 2008.

Laskar, S.A & Hemachandran, K. 2013. Steganography Based On Random Pixel Selection For Efficient Data Hiding. International Journal of Computer Engineering and Technology (IJCET), Volume 4, Issue 2, March –2013. Munir, Rinaldi. 2006. Kriptografi. Bandung. Penerbit : Informatika.

Nath, Joyshree, Sankar Das, Shalabh Agarwal & Asoke Nath. 2011. A Challenge in Hiding Encrypted Message in LSB dan LSB+1 Bit Position in Various Cover Style. Journal of Global Research in Computer Science. ISSN: 2229-371X Vol. 2 No. 4April 2011.

Putra, D. 2010. Pengolahan Citra Digital. Yogyakarta. Penerbit: ANDI.

Rana, M.S, Sangwan, B.S. & Jangir, J.S. 2012. Art of Hiding: An Introduction to Steganography. International Journal Of Engineering And Computer Science.Volume 1 Issue 1 Oct 2012 Page No. 11-22.


(6)

Sutoyo, T. S.Si., M.Kom., Mulyanto. E., SSi., K.Kom., Suhartono, V., Dr., Nurhayati, O.D. & Wijanarto, M.Kom. 2009. Teori Pengolahan Citra Digital. Penerbit ANDI. Yogyakarta.

Utami, E. 2009. Pendekatan Metode Least Bit Modification Untuk Merancang Aplikasi Steganography Pada File Audio Digital Tidak Terkompresi. Jurnal Dasi ISSN: 1411-3201 Vol. 10 No. 1 Maret 2009. STMIK AMIKOM Yogyakarta

Saefullah, A., Himawan & Agani, N. 2012. Aplikasi Steganografi Untuk Menyembunyikan Teks dalam Media Image dengan Dengan Menggunakan Metode LSB. Seminar Nasional Teknologi Informasi & Komunikasi Terapan 2012 (Semantik 2012). Semarang, 23 Juni 2012

Sugiono, etal. 2008. Watermarking Pada File Audio PCM WAVE Dengan Metode Echo Data Hiding. Konferensi Nasional Sistem dan Informatika 2008. Bali, Nopember 15, 2008.

Zaher, Mazen Abu. 2011. Modified Least Significant Bit (MLSB). Jurnal Computer and Information Science Vol. 4, No. 1, Januari 2011. www.ccsenet.org/cis. Diakses tanggal 15 Maret 2012 : 60-67.