BAB II TINJAUAN PUSTAKA -...

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

Transcript of BAB II TINJAUAN PUSTAKA -...

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)