Post on 27-Dec-2019
9
BAB II
TINJAUAN PUSTAKA
II.1. Pengertian Citra
Citra adalah representasi dari sebuah objek. Citra sebagai keluaran suatu
sistem perekaman data dapat bersifat analog, berupa sinyal-sinyal video, seperti
gambar pada monitor televisi atau yang bersifat digital yang dapat langsung
disimpan pada suatu pita magnetic.
Menurut presisi yang digunakan untuk menyatakan titik-titik kordinat pada
domain spatial (bidang), dan untuk menyatakan nilai keabuan atau warna dari
suatu citra, maka secara teoritis citra dapat dikelompokkan menjadi empat kelas,
yaitu : citra kontinu-kontinu, kontinu-diskrit, diskrit-kontinu, dan diskrit-diskrit.
Dimana label pertama menyatakan presisi dari titik-titik koordinat pada bidang
citra, sedangkan label kedua menyatakan presisi nilai keabuan atau warna.
Kontinu dinyatakan dengan presisi angka tak terhingga, sedangkan diskrit
dinyatakan dengan presisi angka terhingga. Komputer digital bekerja dengan
angka-angka presisi terhingga. Dengan demikian, hanya citra dari kelas diskrit
yang dapat diolah oleh komputer. Citra dari kelas tersebut lebih dikenal dengan
citra digital. (Sumber : BN Budi Priyanto, 1992).
Citra dalam format BMP lebih bagus dari pada citra dalam format JPEG, yang
pada umumnya tidak dimampatkan sehingga tidak ada informasi yang hilang.
Terjemahan bebas dari bitmap adalah pemetaan bit. Artinya, nilai intensitas pixel
di dalam citra dipetakan ke sejumlah bit tertentu. Peta bit yang umum adalah 8,
10
artinya setiap pixel panjangnya 8 bit. Delapan bit ini merepresentasikan nilai
intensitas pixel. Dengan demikian ada sebanyak 28 = 256 derajat keabuan, mulai
dari 0 sampai 255.
Citra dalam format BMP ada tiga macam : citra biner, citra berwarna, dan
citra hitam-putih (grayscale). Citra biner hanya mempunyai dua nilai keabuan,
yaitu 0 dan 1. Oleh karena itu, 1 bit sudah cukup untuk merepresentasikan nilai
pixel. Citra berwarna adalah citra yang lebih umum. Warna yang terlihat pada
citra bitmap merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau, dan
biru. Setiap pixel disusun oleh tiga komponen warna : R (red), G (green), dan B
(blue). Kombinasi dari tiga warna RGB tersebut menghasilkan warna yang khas
untuk pixel yang bersangkutan.
Nilai setiap pixel tidak menyatakan derajat keabuan secara langsung, tetapi
nilai pixel menyatakan indeks tabel RGB yang membuat nilai keabuan merah (R),
nilai keabuan hijau (G), dan nilai keabuan biru (B) untuk pixel yang bersangkutan.
Pada citra hitam-putih, nilai R = G = B untuk menyatakan bahwa citra hitam-putih
hanya mempunyai satu kanal warna. Citra hitam-putih umumnya adalah citra 8-
bit.
Citra yang lebih kaya warna adalah citra 24-bit. Setiap pixel panjangnya 24
bit, karena setiap pixel langsung menyatakan komponen warna merah, komponen
warna hijau, dan komponen warna biru. Masing-masing komponen panjangnya 8
bit. Citra 24-bit disebut juga citra 16 juta warna, karena ia mampu menghasilkan
16.777.216 kombinasi warna. (Sumber : BN Budi Priyanto, 1992).
11
II.1.1 Pengertian Citra Digital
Secara umum, pengolahan citra digital menunjuk pada pemrosesan gambar 2
dimensi menggunakan komputer. Dalam konteks yang lebih luas, pengolahan citra
digital mengacu pada pemrosesan setiap data 2 dimensi. Citra digital merupakan
sebuah larik (array) yang berisikan nilai-nilai real maupun komplek yang
direpresentasikan dengan deretan bit tertentu. (Sumber : Darma Putra 2010 : 19)
Suatu citra dapat didefenisikan sebagai fungsi f(x,y) berukuran M baris dan N
kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat
(x,y) dinamakan intensitas atau tingkat keaban dari citra pada titik tersebut.
Apabila nilai x,y dan nilai aplitudo f secara keseluruhan berhingga (finite) dan
bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital.
(Sumber : Darma Putra 2010 : 19)
II.2 Format Citra
Format file citra standart yang digunakan saat ini terdiri dari beberapa jenis.
Format-format ini digunakan dalam menyimpan citra dalam sebuah file. Setiap
format memiliki karakteristik masing-masing. Berikut adalah penjelasan beberapa
format umum digunakan saat ini. (Sumber : Darma Putra 2010 : 58)
II.2.1 Format Bitmap (.bmp)
Format .bmp adalah format penyimpanan standart tanpa kompresi yang umum
dapat digunakan untuk menyimpan citra biner hingga citra warna. Format ini
terdiri dari beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang
digunakan untuk menyimpan nilai sebuah pixel. (Sumber : Darma Putra 2010 :
58)
12
II.2.2 Tagged Image Format (.tif, .tiff)
Format .tif merupakan format penyimpanan citra yang digunakan untuk
menyimpan citra bitmap hingga citra dengan warna palet terkompresi. Format ini
dapat digunakan untuk menyimpan citra yang tidak terkompresi dan juga citra
terkompresi. (Sumber : Darma Putra 2010 : 58)
II.2.3 Format Portable Network Graphics (.png)
Format .png adalah format penyimpanan citra terkompresi. Format ini
dapat digunakan pada citra grayscale. Citra dengan palet warna, dan juga citra
fullcolor. Format .png juga mampu menyimpan informasi hingga kanal alpha
dengan penyimpanan sebesar 1 hingga 16 bit per kanal. (Sumber : Darma Putra
2010 : 59)
II.2.4 Format JPEG (.jpg)
Format .jpg adalah format sangat umum digunakan saat ini khususnya
untuk transmisi citra. Format ini digunakan untuk menyimpan citra hasil kompresi
dengan metode JPEG. (Sumber : Darma Putra 2010 : 59)
II.2.5 Graphics Interchange Format (.gif)
Format .gif digunakan pada citra warna dengan palet 8 bit. Penggunaan
umumnya pada aplikasi web. Kualitas yang rendah menyebabkan format tidak
terlalu populer di kalangan peneliti pengolahan citra digital. (Sumber : Darma
Putra 2010 : 59)
II.3 Jenis Citra
Nilai suatu pixel memiliki nilai dalam rentang tertentu, dari nilai minimum
sampai nilai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari
13
jenis warnanya. Namun secara umum jangkauannya adalah 0-255. Citra dengan
penggambaran seperti ini digolongkan kedalam citra integer. Berikut ini jenis-
jenis citra berdasarkan nilai pixelnya. (Sumber : Darma Putra 2010 : 39)
II.3.1 Citra Biner
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai
pixel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (Black
and White) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai
setiap pixel dari citra biner. (Sumber : Darma Putra 2010 : 40)
Citra biner sering kali muncul sebagai hasil dari proses pengolahan seperti
segmentasi, pengambangan, morfologi, ataupun dithering. (Sumber : Darma
Putra 2010 : 40)
II.3.2 Citra Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki suatu nilai
kanal pada setiap pixelnya, dengan kata lain nilai bagian RED=GREEN=BLUE.
Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang
dimiliki adalah warna dari hitam, keabuan, dan putuh. Tingkatan keabuan disini
merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekatii
ptih. Citra grayscale berikut memiliki kedalaman warna 8 bit (256 kombinasi
warna keabuan). (Sumber : Darma Putra 2010 : 40)
II.3.3 Citra Warna (8 bit)
Setiap pixel dari citra warna (8bit) hanya diwakili oleh 8 bit dengan jumlah
warna maksimum yang dapat digunakan adalah 256 warna. (Sumber : Darma
Putra 2010 : 41)
14
II.3.4 Citra Warna (16 bit)
Citra warna 16 bit (biasanya disebut sebagai citra highcolor) dengan setiap
pixelnya diwakili dengan 2 byte memory (16 bit). Warna 16 bit memiliki 65.536
warna. Dalam formasi bitnya, nilai merah dan biru mengambil tempat di 5 bit
dikanan dan kiri. Komponen hijau memiliki 5 bit ditambah 1 bit ekstra. Pemilihan
komponen hijau dengan deret 6 bit dikarenakan penglihatan manusia lebih sensitif
terhadap warna hijau. (Sumber : Darma Putra 2010 : 42)
II.3.5 Citra Warna (24 bit)
Setiap pixel dari citra warna 24 bit diwakili dengan 24 bit sehingga total
16.777.216 variasi warna. Variasi ini sudah lebih dari cukup untuk
memvisualisasikan seluruh warna yang dapat dilihat penglihatan manusia.
Penglihatan manusia dipercaya hanya dapat membedakan hingga 10 juta warna.
Setiap informasi pixel (RGB) disimpan ke dalam 1 byte data. 8 bit pertama
menyimpan nilai biru, kemudian diikuti dengan nilai hijau pada 8 bit kedua dan
pada 8 bit terakhir merupakan nilai merah. (Sumber : Darma Putra 2010 : 44)
II.4. Steganografi
II.4.1.Sejarah Steganografi
Catatan pertama tentang steganografi ditulis oleh seorang sejarawan
Yunani, Herodotus, yaitu ketika Histaeus seorang raja kejam Yunani dipenjarakan
oleh Raja Darius di Susa pada abad 5 Sebelum Masehi. Histaeus harus mengirim
pesan rahasia kepada anak laki-lakinya, Aristagoras, di Militus. Histaeus menulis
pesan dengan cara mentato pesan pada kulit kepala seorang budak dan ketika
15
rambut budak itu mulai tumbuh, Histaeus mengutus budak itu ke Militus untuk
mengirim pesan di kulit kepalanya tersebut kepada Aristogoras.
Cerita lain tentang steganografi datang juga dari sejarawan Yunani,
Herodotus, yaitu dengan cara menulis pesan pada papan kayu yang ditutup dengan
lilin. Demeratus, seorang Yunani yang akan mengabarkan berita kepada Sparta
bahwa Xerxes bermaksud menyerbu Yunani. Agar tidak diketahui pihak Xerxes,
Demaratus menulis pesan dengan cara mengisi tabung kayu dengan lilin dan
menulis pesan dengan cara mengukirnya pada bagian bawah kayu, lalu papan
kayu tersebut dimasukkan ke dalam tabung kayu, kemudian tabung kayu ditutup
kembali dengan lilin.
Pada abad 20, steganografi benar-benar mengalami perkembangan. Selama
berlangsung perang Boer, Lord Boden Powell (pendiri gerakan kepanduan) yang
bertugas untuk membuat tanda posisi sasaran dari basis artileri tentara Boer.
Untuk alasan keamanan, Boden Powell menggambar peta-peta posisi musuh pada
sayap kupu-kupu agar gambar - gambar peta sasaran tersebut terkamuflase.
Perang Dunia II adalah periode pengembangan teknik-teknik baru steganografi.
Pada awal Perang Dunia II walaupun masih digunakan teknik tinta yang tak
terlihat, namun teknik-teknik baru mulai dikembangkan seperti menulis pesan
rahasia ke dalam kalimat lain yang tidak berhubungan langsung dengan isi pesan
rahasia tersebut, kemudian teknik menulis pesan rahasia ke dalam pita koreksi
karbon mesin ketik, dan juga teknik menggunakan pin berlubang untuk menandai
kalimat terpilih yang digunakan dalam pesan, teknik terakhir adalah microdots
yang dikembangkan oleh tentara Jerman pada akhir Perang Dunia II.
16
Dari contoh-contoh steganografi konvensional tersebut dapat dilihat bahwa
semua teknik steganografi konvensional berusaha merahasiakan komunikasi
dengan cara menyembunyikan pesan ataupun mengkamuflase pesan.
Seiring dengan perkembangan teknologi terutama teknologi
komputerisasi, steganografi merambah juga ke media digital, walaupun
steganografi dapat dikatakan mempunyai hubungan erat dengan kriptografi, tetapi
kedua metode ini sangat berbeda
II.4.2.Pengertian Steganografi
Steganografi adalah seni dan ilmu menulis atau menyembunyikan pesan
tersembunyi dengan suatu cara sehingga selain si pengirim dan si penerima, tidak
ada seorang pun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia.
Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak
menyembunyikan bahwa ada suatu pesan. Kata steganografi (steganography)
berasal dari bahasa Yunani steganos, yang artinya “tersembunyi atau
terselubung”, dan graphein, “menulis” sehingga kurang lebih artinya "menulis
(tulisan) terselubung". Teknik ini meliputi banyak sekali metode komunikasi
untuk menyembunyikan pesan rahasia. Metode ini termasuk tinta yang tidak
tampak, microdots, pengaturan kata, tanda tangan digital, jalur tersembunyi dan
komunikasi spektrum lebar.( sumber : Munir, 2006 )
Pengertian lain dari Steganografi, yaitu sebuah teknik penyembunyian
pesan rahasia, yang biasanya sebuah pesan yang disisipi (diekstrak) kedalam suatu
media sebagai pembawa pesan. ( sumber : Long Truong, 2002 ).
17
Kini, istilah steganografi termasuk penyembunyian data digital dalam file-
file komputer. Contohnya, si pengirim mulai dengan file gambar biasa, lalu
mengatur warna setiap pixel ke-100 untuk menyesuaikan suatu huruf dalam
alphabet (perubahannya begitu halus sehingga tidak ada seorangpun yang
menyadarinya jika ia tidak benar-benar memperhatikannya).
Pada umumnya, pesan steganografi muncul dengan rupa lain seperti
gambar, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini
merupakan tulisan yang menyelubungi atau menutupi. Contohnya, suatu pesan
bisa disembunyikan dengan menggunakan tinta yang tidak terlihat diantara garis-
garis yang kelihatan.
II.4.3. cara kerja Steganografi
Steganografi merupakan salah satu cara untuk menyembunyikan suatu
pesan / data rahasia di dalam data atau pesan lain yang tampak tidak mengandung
apa-apa, kecuali bagi orang yang mengerti kuncinya . Dalam bidang keamanan
komputer, steganografi digunakan untuk menyembunyikan data rahasia saat
enkripsi tidak dapat dilakukan atau bersamaan dengan enkripsi. Jadi, walaupun
enkripsi berhasil dipecahkan (decipher) pesan / data rahasia tetap tidak terlihat.
Selain itu, pada kriptografi pesan disembunyikan dengan “diacak” sehingga pada
kasus-kasus tertentu dapat dengan mudah mengundang kecurigaan, sedangkan
pada steganografi pesan “disamarkan” dalam bentuk yang relatif “aman” sehingga
tidak terjadi kecurigaan itu. Steganografi dapat digunakan pada berbagai macam
bentuk media, seperti image, audio, dan video.
18
Teknik steganografi meliputi banyak sekali metode komunikasi untuk
menyembunyikan pesan rahasia (teks atau gambar) didalam file-file lain yang
mengandung teks, image, bahkan audio tanpa menunjukkan ciri-ciri perubahan
yang nyata atau terlihat dalam kualitas dan struktur dari file semula. Metode ini
termasuk tinta yang tidak tampak, pengaturan kata, tanda tangan digital, jalur
tersembunyi dan komunikasi spektrum lebar. Tujuan dari steganografi adalah
merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi
atau sebuah informasi. Dalam prakteknya kebanyakan diselesaikan dengan
membuat perubahan tipis terhadap data digital lain yang isinya tidak akan menarik
perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat
tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada kriptografi) dan
pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat
menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar
kedalam algoritma yang digunakan.
Pada metode steganografi cara ini sangat berguna jika digunakan pada cara
steganografi komputer karena banyak format file digital yang dapat dijadikan
media untuk menyembunyikan pesan. Format yang biasa digunakan diantaranya :
1. Format image : bitmap (bmp), gif, pcx, jpeg, dll.
2. Format audio : wav, voc, mp3, dll.
3. Format lain : teks file, html, pdf, dll.
Kelebihan steganografi dari pada kriptografi adalah pesan-pesannya tidak
menarik perhatian orang lain. Pesan-pesan berkode dalam kriptografi yang tidak
disembunyikan, walaupun tidak dapat dipecahkan, akan menimbulkan kecurigaan.
19
Seringkali, steganografi dan kriptografi digunakan secara bersamaan untuk
menjamin keamanan pesan rahasianya.
Sebuah pesan steganografi (plaintext), biasanya pertama-tama
dienkripsikan dengan beberapa arti tradisional, yang menghasilkan ciphertext.
Kemudian, covertext dimodifikasi dalam beberapa cara sehingga berisi ciphertext,
yang menghasilkan stegotext. Contohnya, ukuran huruf, ukuran spasi, jenis huruf,
atau karakteristik covertext lainnya dapat dimanipulasi untuk membawa pesan
tersembunyi; hanya penerima (yang harus mengetahui teknik yang digunakan)
dapat membuka pesan dan mendekripsikannya.
Perbedaan antara steganografi dengan watermarking terlihat pada pesan
yang disembunyikan. Jika pada steganografi pesan rahasia disembunyikan di
dalam media penampung dimana media penampung tersebut tidak berarti apa-apa
(hanya sebagai pembawa), maka pada watermark justru media penampung
tersebut dilindungi kepemilikannya dengan pemberian label hak cipta
(watermark). Selain itu, jika pada steganografi kekokohan (robustness) data tidak
terlalu penting, maka pada watermarking kekokohan watermark merupakan
properti utama seba watermark tidak boleh rusak atau hilang meskipun media
penampungnya dimanipulasi. (sumber : Munir, 2006).
II.4.4. Kriteria Steganografi yang Bagus
Steganografi yang dibahas di sini adalah penyembunyian data di dalam citra
digital. Meskipun demikian, penyembunyian data dapat juga dilakukan pada
wadah berupa suara digital, teks, ataupun video.
20
Penyembunyian data rahasia ke dalam citra digital akan mengubah kualitas
citra tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah:
1. Mutu citra penampung tidak jauh berubah. Setelah penambahan data
rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak
mengetahui kalau di dalam citra tersebut terdapat data rahasia.
2. Data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan
pada citra penampung. Bila pada citra dilakukan operasi pengolahan citra,
maka data yang disembunyikan tidak rusak.
3. Data yang disembunyikan harus dapat diungkapkan kembali (recovery).
II.4.5. Teknik Penyembunyian Data
Penyembunyian data dilakukan dengan mengganti bit-bit data di dalam
segmen citra dengan bit-bit data rahasia. Salah satu metode penyembunyian data
yang sederhana adalah LSB Modification.
Perhatikan contoh sebuah susunan bit pada sebuah byte:
11010010
LSB = Least Significant Bit
MSB = Most Siginificant Bit
MSB LSB
Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut
hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai
sebelumnya. Misalkan byte tersebut menyatakan warna keabuan tertentu, maka
21
perubahan satu bit LSB tidak mengubah warna keabuan tersebut secara berarti.
Lagi pula, mata manusia tidak dapat membedakan perubahan yang kecil.
Misalkan segmen data citra sebelum perubahan:
0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1
Segmen data citra setelah „ 0 1 1 1 „ disembunyikan:
0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1
Untuk memperkuat teknik penyembunyian data, bit-bit data rahasia tidak
digunakan mengganti byte-byte yang berurutan, namun dipilih susunan byte secara
acak. Misalnya jika terdapat 50 byte dan 6 bit data yang akan disembunyikan,
maka maka byte yang diganti bit LSB-nya dipilih secara acak, misalkan byte
nomor 36, 5, 21, 10, 18, 49.
Bilangan acak dibangkitkan dengan pseudo-random-number-generator
(PRNG) kriptografi. PRNG kriptografi sebenarnya adalah algoritma kriptografi
yang digunakan untuk enkripsi. PRNG dibangun dengan algoritma DES (Data
Encryption Standard), algoritma hash MD5, dan mode kriptografi CFB (Chiper-
Feedback Mode). Tujuan dari enkripsi adalah menghasilkan sekumpulan bilangan
acak yang sama untuk setiap kunci enkripsi yang sama. Bilangan acak dihasilkan
dengan cara memilih bit-bit dari sebuah blok data hasil enkripsi
22
Teknik penyembunyian data untuk citra 8-bit berbeda dengan citra 24-bit.
Seperti diketahui berkas citra bitmap terdiri atas bagian header, palet RGB, dan
data bitmap.
Pada citra 8-bit, setiap elemen data bitmap menyatakan indeks dari peta
warnanya di palet RGB.
Format citra 8-bit (256 warna)
<header>
<palet RGB>
R G B
1 20 45 24
2 14 13 16
3 12 17 15
…
256 46 78 25
<data bitmap>
2 2 1 1 1 3 5 …
Pada citra 24-bit, tidak terdapat palet RGB, karena nilai RGB langsung diuraikan
dalam data bitmap. Setiap elemen data bitmap panjangnya 3 byte, masing-masing
byte menyatakan komponen R, G, dan B.
23
Format citra 24-bit (16 juta warna)
<header>
<data bitmap>
2 2 1 1 1 3 5 …
Pada contoh format citra 24-bit di atas, pixel pertama mempunyai R = 2, G = 2, B
= 1.
1. Teknik penggantian bit pada citra bukan 24-bit.
Sebelum melakukan penggantian bit LSB, semua data citra yang bukan tipe
24-bit diubah menjadi format 24-bit. Jadi, setiap data pixel sudah mengandung
komponen RGB.
Setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data
yang akan disembunyikan. Jika byte tersebut merupakan komponen hijau (G),
maka penggantian 1 bit LSB-nya hanya mengubah sedikit kadar warna hijau, dan
perubahan ini tidak terdeteksi oleh mata manusia.
2. Teknik penggantian bit pada citra 24-bit.
Karena data bitmap pada citra 24-bit sudah tersusun atas komponen RGB,
maka tidak perlu dilakukan perubahan format.
Setiap byte di dalam data bitmap diganti satu bit LSB-nya dengan bit data yang
akan disembunyikan.
24
3. Perubahan Jumlah Warna
Pada citra 8-bit, jumlah warna terbatas, hanya 256 warna. Pengubahan format
citra 8-bit menjadi 24-bit akan menghasilkan warna baru (yang semula tidak
terdapat di dalam palet RGB). Setiap elemen RGB pada tabel palet berpotensi
menjadi 8 warna berbeda setekah proses penggantian bit LSB. Hal ini karena
setiap data bitmap terdiri atas 3 byte, maka tersedia 3 bit LSB untuk penggantian.
Penggantian 3 bit LSB menghasilkan 23 = 8 kombinasi warna. Dengan demikian,
steganografi pada citra 256 warna berpotensi menghasilkan 256 8 = 2048 warna.
Untuk menghindari kelebihan warna dari 256, maka sebelum proses
penyembunyian data, warna citra 8-bit diturunkan terlebih dahulu menjadi 32
warna (jika jumlah warnanya kurang dari 32, tidak perlu dilakukan penurunan
warna). Dengan demikian, jika setiap warna menghasilkan 8 warna baru, jumlah
warna seluruhnya maksimum 32 8 = 256 warna.
Penurunan jumlah warna dilakukan dengan cara kuantisasi warna (color
quantization). Penurunan jumlah warna harus tetap menghasilkan citra yang
tampak persis seperti citra semula. Algoritma kuantisasi warna ada beberapa buah,
antara lain algoritma diversity. Prinsip algoritma diversity adalah
memaksimumkan perbedaan warna.
Algoritma Diversity
1. Buat histogram citra. Warna yang frekuensi kemunculannya 0 dibuang
karena tidak akan digunakan.
2. Pilih warna dengan frekuensi kemunculan tertinggi sebagai warna patokan.
Masukkan warna ini ke dalam senarai warna terpilih.
25
3. Cari warna yang mempunyai perbedaan terjauh dengan warna patokan.
Masukkan warna tersebut ke dalam senarai warna terpilih. Perbedaan dua
buah warna dihitung dengan rumus jarak Euclidean:
d = { (r1 – r2)2 + (g1 – g2)
2 + (b1 – b2)
2 }
1/2
yang dalam hal ini, r1, g1, dan b1 adalah komponen RGB dari warna
pertama, dan r2, g2, dan b2 adalah komponen RGB dari warna kedua.
4. Untuk setiap warna yang tersisa di dalam list, hitung jaraknya dari masing-
masing warna di dalam senarai warna terpilih. Ambil warna yang paling
jauh berbeda dengan warna yang sudah dipilih. Lakukan langkah 4 ini
berulang kali sampai k warna sudah terpilih.
4. Ukuran Data Yang Disembunyikan
Ukuran data yang akan disembunyikan bergantung pada ukuran citra
penampung. Pada citra 8-bit yang berukuran 256 256 pixel terdapat 65536 pixel,
setiap pixel berukuran 1 byte. Setelah diubah menajdi citra 24-bit, ukuran data
bitmap menjadi 65536 3 = 196608 byte. Karena setiap byte hanya bisa
menyembunyikan satu bit di LSB-nya, maka ukuran data yang akan
disembunyikan di dalam citra maksimum 196608/8 = 24576 byte. Ukuran data ini
harus dikurangi dengan panjang nama berkas, karena penyembunyian data rahasia
tidak hanya menyembunyikan isi data tersebut, tetapi juga nama berkasnya.
26
Semakin besar data disembunyikan di dalam citra, semakin besar pula
kemungkinan data tersebut rusak akibat manipulasi pada citra penampung.
5. Teknik Pengungkapan Data
Data yang disembunyikan di dalam citra dapat dibaca kembali dengan cara
pengungkapan (reveal atau extraction). Posisi byte yang menyimpan bit data dapat
diketahui dari bilangan acak yang dibangkitkan oleh PRNG. Karena algoritma
kriptografi yang digunakan menggunakan kunci pada proses enkripsi, maka kunci
yang sama digunakan untuk membangkitkan bilangan acak. Bilangan acak yang
dihasilkan sama dengan bilangan acak yang dipakai pada waktu penyembunyian
data. Dengan demikian, bit-bit data rahasia yang bertaburan di dalam citra dapat
dikumpulkan kembali.
II.5. Watermaking
Watermarking merupakan suatu bentuk dari steganography (ilmu yang
mempelajari bagaimana menyembunyikan suatu data pada data yang lain), dalam
mempelajari teknik-teknik bagaimana penyimpanan suatu data (digital) kedalam
data host digital yang lain (istilah host digunakan untuk data atau sinyal digital
yang ditumpangi)”. (sumber : Scheineider, 1994).
II.5.1. Definisi Watermark Digital
Ada beberapa pengertian mengenai watermark digital yang dapat diperoleh
dari berbagai referensi, baik itu dari paper-paper ilmiah maupun dari sumbe-
rsumber lain yang penulis dapatkan dari Internet. Watermarking World (2002)
mendefinisikan watermark sebagai data tersembunyi yang ditambahkan pada
sinyal pelindung (cover signal), sedemikian rupa sehingga penambahan tersebut
27
tidak terlihat. Watermark dapat juga merupakan suatu pola yang terbentuk oleh
kumpulan bit data tertentu, yang disisipkan kedalam file citra, audio ataupun
video yang mengidentifikasikan informasi hakcipta file tersebut (sumber :
Webopedia, 2003). Lebih jauh lagi watermark bisa juga berupa kode yang
membawa informasi mengenai pemilik hak cipta, pencipta, pembeli yang sah dan
segala sesuatu yang diperlukan untuk menangani hak kepemilikan media digital.
Watermark sengaja ditanamkan secara permanen pada data digital sedemikian
hingga pengguna yang berwenang dapat dengan mudah membacanya, disisi lain
watermark tersebut haruslah tidak mengubah isi media kecuali sedikit atau
perubahan tersebut tidaklah tampak atau kurang begitu tampak bagi indera
manusia (sumber : Barni et al, 1998).
Dari beberapa definisi diatas ada benang merah yang dapat ditarik untuk
memberikan definisi watermark digital, yaitu sebuah watermark merupakan
sebuah pola/kode/data tertentu yang membawa informasi tertentu sesuai dengan
tujuannya dan sengaja ditanamkan secara permanen kedalam data media
induknya.
II.5.2. Framework Watermarking Digital
Jika watermark merupakan sesuatu yang ditanamkan, maka watermarking
merupakan proses penanaman watermark tersebut. Secara umum framework
sebuah algoritma watermarking tersusun atas tiga bagian, yaitu [(sumber : Duan
and King, 1999) dan (sumber Mohanty, 1999)] :
1. Watermark,
2. Algoritma penyisipan watermark (enkoder), dan
28
3. Algoritma pendeteksian watermark (dekoder).
Watermark dapat berupa representasi identitas kepemilikan media
digital,maupun informasi lain yang dipandang perlu untuk ditanamkan kedalam
media yang bersangkutan. Algoritma penyisipan watermark menangani
bagaimana sebuah watermark ditanamkan pada media induknya. Algoritma
pendeteksian watermark menentukan apakah didalam sebuah media digital
terdeteksi watermark yang sesuai atau tidak.
II.5.3. Karakteristik Watermark Digital
Ada beberapa karakteristik atau sifat khusus tertentu yang harus dimiliki
oleh sebuah watermark. Sifat-sifat tersebut sangat bergantung kepada aplikasi
watermarking yang akan dibuat, atau dengan kata lain tidak ada sekelompok sifat
tertentu yang harus dipenuhi oleh semua teknik watermarking. Meskipun
demikian ada beberapa sifat yang secara umum dipunyai aplikasi watermarking.
Sifat-sifat tersebut diantaranya adalah sebagai berikut [(sumber Swanson et al,
1998) dan
(sumber : Langelaar et al, 2000) :
a. Perceptual transparency
Sebagian besar aplikasi watermarking mengharuskan algoritma watermarking
digital menanamkan watermark sedemikian hingga ia tidak mempengaruhi
kualitas media yang disisipi watermark. Media yang telah ditanami watermak
haruslah sulit dibedakan dengan media aslinya oleh indera manusia. Atau dengan
kata lain penanaman watermark pada citra haruslah tidak terdeteksi oleh indera
29
penglihatan manusia dan penanaman watermark pada audio haruslah tidak
dikenali oleh indera pendengaran.
b. Robustness
Untuk watermark yang memang ditujukan untuk membuktikan keotentikan media
induk, atau yang disebut dengan fragile watermark, tidak disyaratkan memiliki
sifat ini. Tetapi jika watermark digunakan untuk aplikasi yang lain, diperlukan
watermark yang selalu tertanam didalam media induk, meskipun media induknya
mengalami penurunan kualitas akibat serangan.
c. Security
Dalam banyak aplikasi watermarking, proses penanaman watermark haruslah
aman sedemikian hingga pihak yang tidak berhak harus tidak dapat mendeteksi
keberadaan data yang ditanamkan, dan mampu menghilangkan data tersebut.
Sekali lagi keamanan disini juga sangat bergantung pada
aplikasinya. Sebuah prosedur penanaman watermark dikatakan aman jika ia tidak
dapat dipecahkan kecuali pihak yang tidak berhak tersebut memiliki akses
terhadap kunci yang mengendalikan proses penyisipan data pada media induk.
d. Public vs Private Watermarking
Dalam beberapa aplikasi, seperti copyright protection, pengekstrakan watermark
bisa saja membutuhkan media aslinya. Teknik ini disebut dengan private atau
nonoblivious watermarking. Sedangkan pada aplikasi yang lain, seperti copy
protection dan indexing, proses pendeteksian watermark seharusnya tidak
memiliki akses terhadap media asli yang belum terwatermak. Teknik ini sering
disebut sebagai public, blind, atau oblivious watermarking.
30
Klasifikasi Teknik Watermarking Digital Dalam satu dasawarsa terakhir
ini cukup banyak teknik-teknik watermarking yang sudah diusulkan oleh para
peneliti. Teknik-teknik tersebut berdasarkan domain kerjanya, dapat
diklasifikasikan menjadi tiga kelompok, yaitu:
1. Teknik watermarking yang bekerja pada domain spasial (spatial domain
watermarking).
2. Teknik watermarking yang bekerja pada domain transform / frekuensi
(transform domain watermarking)
3. Teknik yang bekerja pada kedua domain diatas (hybrid techniques
watermarking).
II.6. Definisi Spread Spectrum
Sebuah teknik transmisi dimana kode pseudo noise, independent dari data
informasi, yang digunakan sebagai gelombang modulasi untuk “menyebarkan”
energi sinyal melalui sebuah bandwidth jauh lebih besar dari pada bandwidth
sinyal informasi. Pada penerima, sinyal di-“kumpulkan” menggunakan replika
kode pseudo-noise yang telah disinkronisasikan.
II.6.1. Prinsip Dasar Sistem Spread Spectrum
II.6.1.1. Direct Sequence Spread
Sebuah pseudo noise sequence pnt dibuat pada modulator, yang digunakan
sebagai konjungsi dengan sebuah modulasi PSK M-ary untuk menggeser fase dari
PSK secara psudorandom pada chipping rate Rc (=1/Tc), yaitu sebuah frekuensi
yang berupa perkalian integer dari Rs (=1/Ts). bandwidth yang ditransmisikan
31
ditentukan oleh chip rate dan baseband filtering. Modulasi PSK memerlukan
demodulasi yang koheren.
Gambar II.1. Direct Sequence Spread
(Sumber: Jurnal Spread Spectrum,Wicaksono. Muhammad.A Jurusan Teknik Elektro FT UGM,Yogyakarta)
II.6.1.2. Frequency Hopping Spread Spectrum
Sebuah pseudo noise sequence pnt dibuat pada modulator, yang digunakan
sebagai konjungsi dengan sebuah modulasi FSK M-ary untuk menggeser
frekuensi pembawa dari PSK secara psudorandom pada hopping rate Rh. Sinyal
yang ditransmisikan melingkupi beberapa frekuensi dalam satu waktu, masing-
masing untuk satu periode Th (=1/Rh), disebut sebagai dwell time. FHSS
membagi bandwidth yang ada ke dalam N kanal dan hop diantara kanal-kanal
tersebut menurut PN sequence. Transmitter dan receiver mengikuti pola frekuensi
hop yang sama.
32
Gambar II.2. Frequency Hopping Spread Spectrum
(Sumber: Jurnal Spread Spectrum,Wicaksono. Muhammad.A Jurusan Teknik Elektro FT UGM,Yogyakarta)
II.6.1.3. Prinsip dasar dari Direct Sequence Spread Spectrum (DSSS)
Untuk modulasi BPSK building block dari system DSSS sebagai berikut :
Gambar II.3. Direct Sequence Spread Spectrum (DSSS)
(Sumber: Jurnal Spread Spectrum,Wicaksono. Muhammad.A Jurusan Teknik Elektro FT UGM,Yogyakarta)
Input :
- Binary data dt dengan rate Rs = 1/Ts (= bitrate Rb untuk BPSK )
- Pseudo-noise code pnt dengan chip rate Rc = 1/Tc ( sebuah integer dari
Rs)
33
II.6.1.3.1 Spreading
Pada transmitter, binary data dt ( untuk BPSK,I dan Q untuk QPSK)
adalah “secara langsung” dikalikan dengan PN sequence pnt yang terpisah dari
baseband yang binary data,untuk memproduksi sinyal baseband yang
ditransmisikan txb.txb = dt.pnt.efek dari perkalian dt dengan PN sequence adalah
untuk menyebarkan baseband bandwidth Rb dari Dt ke baseband bandwidth Rc.
II.6.1.3.2 Despreading
Sinyal spread spectrum tidak bias dideteksi dengan penerima narrowband
konvensional.pada receiver,sinyal baseband rxb yang diterima dikalikan dengan
PN sequence pnt.
1. Jika pnt = pnt dan disinkronisasi ke PN sequence pada data yang
diterima,kemudian binary data yang dipulihkan diproduksi pada
dt.akibat perkalian dari sinyal spread spectrum rxb dengan PN
sequence pnt digunakan pada transmitter adalah untuk despread
bandwidth rxb ke Rs.
2. Jika pnr ≠ pnt,kemudian tidak terjadi despread.sinyal dr memiliki
spread spectrum.penerima tidak mengetahui PN sequence dari
transmitter sehingga tidak bias memproduksi kembali data yang telah
dikirim.
II.7. Sekilas Sejarah Java
Bahasa pemrograman java dimulai dari sebuah tim pengembangan
software dari Sun Microsystem yang dipimpin oleh james Gosling dan Patrick
34
Naughton. Pada tahun 1991, Sun Microsystem mengembangkan sebuah bahasa
pemrograman yang berukuran kecil untuk diimplementasikan pada alat elektronik
rumah tangga seperti switchbox TV kabel. Berhubungan alat tersebut tidak
memiliki banyak memori, maka bahasa yang digunakan harus sangat kecil dan
menghasilkan kode yang kecil pula. Permasalahan lainnya adalah alat-alat
tersebut memiliki CPU yang berbeda-beda karena dibuat oleh manufactur yang
berbeda. Jadi sangatlah diharuskan bahasa pemrograman tersebuttidak terikat pada
sebuah arsitektur mesin tertentu saja. (Sumber: Sulistiani, Sri. Membangun GUI
dengan JAVA Netbean 6.5 : 2010:1)
Oleh karena itu adanya keharusan sebuah pemrograman yang kecil,
menghasilkan kode yang kecil pula dan harus platform independen (tidak terikat
pada platform) membuat tim pada proyek tersebut terinspirasi oleh ide
pemrograman yang sama yang telah ditemukan oleh Niklaus Wirth, Penemu
pascal. Jadi penemu pascal memiliki pemikiran tentang sebuah software bahasa
pemrograman portable dan tidak tergantung pada sebuah platform atau mesin.
Bahasa pemrogaman komersial yang disebut UCSD pascal tersebut menghasilkan
kode intermediate yang diperuntukkan bagi sebuah mesin virtual. Jadi, kode asli
dari bahasa pemrograman tersebut tidak tergantung pada mesin ataupun platform
sistem operasi karena USCD pascal menghasilkan intermediate code yang
selanjutnya akan dikompilasi atau diterjemahkan oleh mesin virtual ke kode mesin
dimana kode tersebut dijalankan. (Sumber: Sulistiani, Sri. Membangun GUI
dengan JAVA Netbean 6.5 : 2010:2)
35
Pada tahun-tahun tersebut sangat pesat. Namun saat itu browser juga masih
jarang ditemui. Pada tahun 1994 kebanyakan orang menggunakan mosaic, yaitu
sebuah browser nonkomersial yang dibuat oleh Marc Anderseen pada tahun 1993
di supercomputing center universitas illinois. Pada pertengahan tahun 1994 para
pengembang java menyadari bahwa mereka dapat saja membangun sebuah
browser yang lebih flexibel dari pada yang lainnya. Selanjutnya dibuatlah HotJava
browser yang dikerjakan oleh patrick Naughton dan Jonathan Payne. Tujuan
utama dari pembuatan browser tersebut tidak lain adalah untuk mempromosikan
bahasa java dan memamerkan kekuatannya. Java juga memiliki kekuatan pada
aplikasi yang disebut applet yang disebut juga berhubungan dengan browser.
(Sumber: Sulistiani, Sri. Membangun GUI dengan JAVA Netbean 6.5 : 2010:2)
Booming bahasa java dimulai pada tahun 1995 ketika Netscape memutuskan
untuk menggunakan java pada web browsernya, yaitu Netscape Navigator apada
tahun 1996. Hal ini kemudian diikuti oleh raksasa – raksasa software seperti IBM,
Symantec, Inprise dan masih banyak yang lain termasuk Microsoft dengan
internet explorernya.
Sun sendiri merilis java pertama kalinya pada tahun 1996, kemudian diikuti
dengan versi 1.02 beberapa bulan kemudian. Pada awalnya java masi mampu
memenuhi kebutuhan para pengembang untuk membangun software secara
profesional. Baru pada tahun 1998 muncul versi java 1.2 yang dirilis pada bulan
Desember dan beberapa hari kemudian namanya diganti dengan java 2. (Sumber:
Sulistiani, Sri. Membangun GUI dengan JAVA Netbean 6.5 : 2010:3)
36
II.7.1. Java Language Spesification, API, JDK dan IDE
Java language spesification adalah teknis dari bahasa pemrograman java
yang didalamnya terdapat aturan penulisan sintaks dan semantik java. Referensi
lengkap tentang java language spesification dapat dilihat pada website resmi java,
yaitu http://java.sun.com/docs/books/jl.
Api adalah Aplication Programming Interface yaitu sebuah layer yang
berisi class-class yang sudah didefinisikan dan antarmuka pemrograman yang
akan membantu para pengembangan aplikasi dalam perancangan sebuah aplikasi.
Pada saat ini dikenal ada tiga macam API dari java, yaitu:
a. J2SE, yaitu Java 2 Standard Edition adalah sebuah API yang dapat digunakan
untuk mengembangkan aplikasi-aplikasi yang bersifat client – side standalone
atau applet.
b. J2EE, yaitu Java 2 Enterprise Edition adalah API yang digunakan untuk
melakukan pengembangan aplikasi-aplikasi yang bersifat server-side seperti
Java Servlet, dan Java Server Pages.
c. J2ME, yaitu Java 2 Micro Edition adalah API yang merupakan subset dari
J2SE tetapi memiliki kegunaan untuk mengembangkan aplikasi pada
handheld device seperti Smart Phone atau PDA tentu saja yang didalamnya
telah ditanamkaninterpreter java.
(Sumber: Sulistiani, Sri. Membangun GUI dengan JAVA Netbean 6.5 :
2010:4)
IDE (Integreted Development Environment), yaitu sebuah lingkungan
pengembangan aplikasi lengkap dan dapt membantu proses pengembangan
37
sebuah aplikasi menjadi lebih cepat. Berikut ini situs web download java dan
netbeans.
Gambar II.3. Situs Resmi Java
(Sumber: Sulistiani, Sri. Membangun GUI dengan JAVA Netbean 6.5 :
2010:5)
Gambar II.4. Website Untuk Mendownload NetBeans Terbaru
(Sumber: Sulistiani, Sri. Membangun GUI dengan JAVA Netbean 6.5 :
2010:5)