BAB II DASAR TEORI Watermarking

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI. 2.1 Citra Analog

BAB Kriptografi

BAB II LANDASAN TEORI. Citra digital sebenarnya bukanlah sebuah data digital yang normal,

BAB II DASAR TEORI. 1. Citra diam yaitu citra tunggal yang tidak bergerak. Contoh dari citra diam adalah foto.

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

DAFTAR ISI. DAFTAR ISI... vii. DAFTAR GAMBAR... x. DAFTAR TABEL... xii I. PENDAHULUAN Latar Belakang Rumusan Masalah...

BAB 2 TINJAUAN TEORETIS

BAB 2 LANDASAN TEORI

BAB I. PENDAHULUAN 1.1 LATAR BELAKANG

BAB II TINJAUAN PUSTAKA

Stenografi dan Watermarking. Esther Wibowo Erick Kurniawan

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL

ANALISIS METODE MASKING-FILTERING DALAM PENYISIPAN DATA TEKS

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Steganografi

Studi Digital Watermarking Citra Bitmap dalam Mode Warna Hue Saturation Lightness

BAB II LANDASAN TEORI

Grafik yang menampilkan informasi mengenai penyebaran nilai intensitas pixel-pixel pada sebuah citra digital.

Pertemuan 2 Representasi Citra

BAB II LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

Watermarking dengan Metode Dekomposisi Nilai Singular pada Citra Digital

BAB 2 LANDASAN TEORI. dari sudut pandang matematis, citra merupakan fungsi kontinyu dari intensitas cahaya

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

IV. RANCANG BANGUN SISTEM. Perangkat lunak bantu yang dibuat adalah perangkat lunak yang digunakan untuk

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB II. DASAR TEORI 2.1 CITRA DIGITAL

APLIKASI PENGAMANAN DATA TEKS PADA CITRA BITMAP DENGAN MENERAPKAN METODE LEAST SIGNIFICANT BIT (LSB)

BAB IV ANALISA DAN PERANCANGAN

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. 1 Universitas Kristen Maranatha

STUDI DAN IMPLEMENTASI WATERMARKING CITRA DIGITAL DENGAN MENGGUNAKAN FUNGSI HASH

Suatu proses untuk mengubah sebuah citra menjadi citra baru sesuai dengan kebutuhan melalui berbagai cara.

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS MASALAH

STEGANOGRAFI DENGAN METODE PENGGANTIAN LEAST SIGNIFICANT BIT (LSB)

BAB II TINJAUAN PUSTAKA

Kata Kunci : Steganografi, Fragile watermarkin, watermarking, Linear Congruential Generator, Blum Blum Shub

Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi(arjana, et al. 2012):

BAB I PENDAHULUAN. 1 Universitas Kristen Maranatha

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

* Kriptografi, Week 13

BAB II. TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

Analisa Hasil Perbandingan Metode Low-Pass Filter Dengan Median Filter Untuk Optimalisasi Kualitas Citra Digital

BAB 2 LANDASAN TEORI

Pada tugas akhir ini citra yang digunakan adalah citra diam.

Analisis dan Implementasi Watermark untuk Copyright Image Labelling

BAB III ANALISIS DAN DESAIN SISTEM

PEMBERIAN TANDA AIR PADA CITRA DIGITAL DENGAN SKEMA TANDA AIR BERDASARKAN KUANTITASI WARNA DAN MENGGUNAKAN STANDARD ENKRIPSI TINGKAT LANJUT

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

Analisis Beberapa Teknik Watermarking dengan Domain Spasial pada Citra Digital

Model Citra (bag. 2)

STEGANOGRAPHY CHRISTIAN YONATHAN S ELLIEN SISKORY A. 07 JULI 2015

SAMPLING DAN KUANTISASI

BAB 1 PENDAHULUAN. Bab 1 Pendahuluan

Percobaan Perancangan Fungsi Pembangkit Bilangan Acak Semu serta Analisisnya

TUGAS AKHIR. Watermarking Citra Digital dengan Metode Skema Watermarking Berdasarkan Kuantisasi Warna

IMPLEMENTASI ALGORITMA ADAPTIVE WATERMARKING PADA PELABELAN IDENTITAS FILE CITRA DIGITAL

BAB V. IMPLEMENTASI DAN PENGUJIAN

Teknik Penyisipan Pesan pada Kanal Citra Bitmap 24 bit yang Berbeda-beda

Modifikasi Least Significant Bit dalam Steganografi Wawan Laksito YS 1)

PENGOLAHAN CITRA DIGITAL

BAB II TINJUAN PUSTAKA DAN LANDASAN TEORI

IMPLEMENTASI METODE SPEED UP FEATURES DALAM MENDETEKSI WAJAH

Digital Watermarking

BAB II TINJAUAN PUSTAKA. pesan di dalam media tersebut. Kata steganografi (steganography) berasal

Perancangan Perangkat Lunak untuk Penyembunyian Data Digital Menggunakan 4-Least Significant Bit Encoding dan Visual Cryptography

Pengamanan Data Teks dengan Kriptografi dan Steganografi Wawan Laksito YS 5)

PENYISIPAN WATERMARK MENGGUNAKAN METODE DISCRETE COSINE TRANSFORM PADA CITRA DIGITAL

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB III ANALISIS SISTEM

BAB 1 PENDAHULUAN. 1.1 Latarbelakang

BAB 1 PENDAHULUAN Latar belakang

IMPLEMENTASI TEKNIK STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) DAN KOMPRESI UNTUK PENGAMANAN DATA PENGIRIMAN SURAT ELEKTRONIK

TEKNIK PENYEMBUNYIAN PESAN TEKS PADA MEDIA CITRA GIF DENGAN METODE LEAST SIGNIFICANT BIT (LSB)

BAB 2 LANDASAN TEORI

LANDASAN TEORI. 2.1 Citra Digital Pengertian Citra Digital

Citra Digital. Petrus Paryono Erick Kurniawan Esther Wibowo

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. menggunakan digital watermarking. Watermarking bekerja dengan menyisipkan

Perbandingan Steganografi Metode Spread Spectrum dan Least Significant Bit (LSB) Antara Waktu Proses dan Ukuran File Gambar

DIGITAL WATERMARKING PADA CITRA DIGITAL FOTOGRAFI METODE DISCRETE WAVELET TRANSFORM

BAB I PENDAHULUAN. mengirim pesan secara tersembunyi agar tidak ada pihak lain yang mengetahui.

BAB 2 LANDASAN TEORI

Tanda Tangan Digital Untuk Gambar Menggunakan Kriptografi Visual dan Steganografi

Implementasi Algoritma Kompresi Shannon Fano pada Citra Digital

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. kecepatan koneksi menggunakan saluran yang aman ini cenderung lambat.

ANALISIS STEGANOGRAFI METODE TWO SIDED SIDE MATCH

BAB 2 TINJAUAN TEORITIS

Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan

Transkripsi:

5 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,

6 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 masingmasing 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.

7 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 Watermark sequence W Original Watermarked Citra (I) Embedding Citra (I w ) (E mb ) 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. Key (K) Test Extracted Extraction Citra (I I ) (D tc ) Watermark (W e ) Detection Original Citra Original Watermark (W) Gambar 2.2. Ekstraksi Watermark (Sugiono, 2008)

8 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 Watermark yang berada pada suatu media bergantung pada isi dari media tersebut.

9 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.

10 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. Selain itu, watermark juga dikategorikan berdasarkan kekuatan watermark yang ada pada media. Berikut penjelasannya:

11 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.

12 Sampling Kuantisasi 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. Masingmasing 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 2 3 = 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 8 bit depth 2 8 = 256 variasi Red, Green, Blue yang masing masing warna 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 Monokrom Warna yang hanya terdiri dari hitam dan 1 bit 2 1 = 2 variasi RGB CMYK putih Warna yang disusun oleh 3 channel, yaitu Red, Green, Blue yang masing masin memiliki 8 bit depth Warna yang terdiri dari 4 channel, yaitu Cyan, Magenta, Yellow, Black yang masing masing memiliki 8 bit depth warna 8 x 3 =24 2 24 = 16.777.216 variasi warna 8 x 4 = 32 2 32 = 4.294.967.296 variasi warna

13 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. 0x00 xx xx xx Nilai B Nilai G Nilai R 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)

14 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 2.7.

15 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.

16 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 diplace 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) Dukungan terhadap profile colour, gamma, dan metadata. Mempunyai fitur transparansi serta dukungan penuh terhadap alpha channel. Dukungan luas bagi software menipulasi grafis dan web browser.

17 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 byte cover 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 11001000 00100111 11101001

18 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

19 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 berturutturut 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.

20 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: 53 16, 54 16, 45 16, 47 16, 4F 16, 20 16, 77 16, 69 16, 74 16, 68 16, 20 16, 30 16, 35 16, 20 16, 62 16, 69 16, 74 16,73 16. Kemudian dilakukan normalisasi dengan tabel Control Symbol seperti Tabel 2.3. Tabel 2.3 Control Symbol Hex Representation Operation 1B 16 1C 16 1D 16 1E 16 Define Small Letter Define Capital Letter Define Space Define Number 1 Fh Define end of text

21 2. Baca data penyisip (ASCII) sampai tanda spasi (20 16 ) yaitu 53 16, 54 16, 45 16, 47 16, 4F 16. 3. Semua nilai di-xor-kan dengan nilai puluhan terendah dari {53 16, 54 16, 45 16, 47 16 }, yaitu 40 16 menjdi 53 16 40 16 = 13 16, 54 16 40 16 = 14 16, 45 16 40 16 = 05 16, 47 16 40 16 = 07 16, 4F 16 40 16 = 0F 16. 4. Sehingga didapatkan data penyisip kelompok pertama adalah 1C 16, 13 16, 14 16, 05 16, 07 16, 0F 16 dimana 1C 16 adalah Control Symbol untuk huruf besar (capital). 5. Data penyisip kelompok kedua adalah 77 16, 69 16,74 16, 68 16 dikurangi dengan nilai puluhan terendah (60 16 ) menjadi 77 16 60 16 = 17 16, 69 16 60 16 = 09 16, 74 16 60 16 = 14 16, 68 16 60 16 = 08 16. 6. Data kelompok ke dua ini digabung dengan kelompok pertama dan diberi nilai Control Symbol 1D 16 (spasi) dan 1B 16 (huruf kecil) menjadi 1D 16, 1B 16, 17 16, 09 16, 14 16, 08 16. 7. Data kelompok ketiga adalah: 30 16, 35 16 dikurangi dengan nilai terendah menjadi: 30 16 30 16 = 0, 35 16 30 16 = 05 16. 8. Data tersebut digabung dengan kelompok sebelumnya ditambah dengan Control Symbol 1D 16 (spasi), 1E 16 (nomor) menjadi 1D 16, 1E 16, 00 16, 05 16. 9. Data kelompok keempat adalah: 62 16, 69 16,74 16,73 16 dikurangi dengan nilai terendah menjadi: 62 16 60 16 = 02 16, 69 16 60 16 = 09 16, 74 16 60 16 = 14 16, 73 16 60 16 = 13 16. 10. Data tersebut digabung dengan kelompok sebelumnya ditambah dengan Control Symbol 1B 16 (huruf kecil), menjadi 1D 16, 1B 16, 02 16, 09 16, 14 16, 13 16 dan akhir data (1F 16 ). Sehingga pesan menjadi: 1C 16, 13 16, 14 16, 05 16, 07 16, 0F 16, 1D 16, 1B 16, 17 16, 09 16, 14 16, 08 16, 1D 16, 1E 16, 00 16, 05 16, 1D 16, 1B 16, 02 16, 09 16, 14 16, 13 16, 1F 16. 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 sebagai berikut:

22 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. 2. Setiap byte piksel citra diubah ke dalam bentuk biner.

23 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 1B 16 maka setiap blok berikutnya yang bukan Control Symbol di-xor-kan 60. - Jika Control Symbol 1C 16 maka setiap blok berikutnya yang bukan Control Symbol di-xor-kan 40. - Jika Control Symbol 1E 16 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 (1F 16 ). 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: 1C 16, 13 16, 14 16, 05 16, 07 16, 0F 16

24 3. Blok pertama yaitu 1C 16 dibandingkan dengan Control Symbol yang merupakan menandakan huruf kapital maka setiap blok berikutnya yang bukan Control Symbol di-zor-kan 40 menjadi : 53 16, 54 16, 45 16, 47 16, 4F 16. 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 benar-benar acak, tetapi hanya berupa acak semu. Ini berarti bahwa bilangan acak yang dihasilkan itu dapat ditebak susunan atau urutan nilainya. Dalam kriptografi,

25 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 elemenelemennya 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:

26 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 menentukan tingkat keamanan dari metode kriptografi. Semakin rumit PRNG yang

27 digunakan maka semakin tinggi tingkat keamanan dari metoda kriptografi. Skema Dasar PRNG dapat dilihat seperti pada Gambar 2.8. PRNG Bilangan acak semu Input Seed Rahasia 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

28 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 pada metode LCG di atas, akan diperoleh hasil sesuai Tabel 2.4.

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