2. bab 2 - thesis.binus.ac.idthesis.binus.ac.id/asli/bab2/2011-1-00589-mtif 2.pdf · titik...

24
BAB 2 LANDASAN TEORI Di bab ini akan dibahas teori-teori dasar dan langkah-langkah yang diperlukan dalam penyusunan skripsi ini, seperti langkah untuk melakukan penyisipan dan langkah untuk melakukan pengekstraksian. 2.1 Gambar Digital Gambar atau image atau citra ialah benda buatan manusia, biasanya berbentuk dua dimensi, yang mempunyai kemiripan dengan suatu obyek, biasanya obyek-obyek fisik atau manusia. Gambar dapat berupa dua dimensi, seperti foto atau tampilan pada layar, dan dapat pula berbentuk tiga dimensi seperti patung. Gambar dapat ditangkap dengan alat optik seperti kamera, cermin, lensa, teleskop, mikroskop, dan objek atau fenomena alami seperti mata atau permukaan air. Menurut Darma Putra (2010,p19), gambar digital ialah representasi dari gambar dua dimensi di dalam komputer. Gambar digital merupakan sebuah larik (array) yang berisi nilai-nilai riil atau kompleks yang direpresentasikan dengan deretan bit tertentu. Suatu gambar dapat didefinisikan sebagai fungsi (x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan f di titik koordinat (x,y) sebagai intensitas dari gambar tersebut dengan nilai x, y, dan f berhingga.

Upload: dinhcong

Post on 06-Mar-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

BAB 2

LANDASAN TEORI

Di bab ini akan dibahas teori-teori dasar dan langkah-langkah yang diperlukan

dalam penyusunan skripsi ini, seperti langkah untuk melakukan penyisipan dan langkah

untuk melakukan pengekstraksian.

2.1 Gambar Digital

Gambar atau image atau citra ialah benda buatan manusia, biasanya

berbentuk dua dimensi, yang mempunyai kemiripan dengan suatu obyek, biasanya

obyek-obyek fisik atau manusia. Gambar dapat berupa dua dimensi, seperti foto

atau tampilan pada layar, dan dapat pula berbentuk tiga dimensi seperti patung.

Gambar dapat ditangkap dengan alat optik seperti kamera, cermin, lensa, teleskop,

mikroskop, dan objek atau fenomena alami seperti mata atau permukaan air.

Menurut Darma Putra (2010,p19), gambar digital ialah representasi dari

gambar dua dimensi di dalam komputer. Gambar digital merupakan sebuah larik

(array) yang berisi nilai-nilai riil atau kompleks yang direpresentasikan dengan

deretan bit tertentu. Suatu gambar dapat didefinisikan sebagai fungsi (x,y)

berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan f di

titik koordinat (x,y) sebagai intensitas dari gambar tersebut dengan nilai x, y, dan f

berhingga.

6  

Gambar 2.1 Koordinat Gambar Digital

Sumber: Putra, Darma (2010,p20)

Bagian terkecil dari sebuah gambar disebut dengan piksel (pixel). Nilai suatu

piksel memiliki nilai dalam rentang tertentu, dari nilai minimum sampai nilai

maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari jenis

warnanya. Berdasarkan nilai pikselnya, gambar dapat dibedakan menjadi:

a. Citra Biner

Citra yang hanya memiliki dua kemungkinan nilai piksel yaitu hitam dan

putih.

b. Citra Grayscale

Citra grayscale merupakan citra digital yang hanya memiliki satu nilai

kanal pada setiap pikselnya. Warna yang dimiliki adalah warna dari

hitam, keabuan, dan putih.

7  

c. Citra Warna (8 bit)

Citra yang setiap piksel dari citra warna hanya diwakili oleh 8 bit dengan

jumlah warna maksimum yang dapat digunakan 256 warna.

d. Citra Warna (16 bit)

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

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

65.536 warna.

e. Citra Warna (24 bit)

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

memiliki total 16.777.216 warna. Setiap poin informasi piksel

(Red,Green,Blue) disimpan ke dalam 1 byte data. 8 bit menyimpan nilai

biru, 8 bit menyimpan nilai hijau, dan 8 bit menyimpan nilai merah.

Gambar digital juga memiliki sistem ruang warna. Sistem warna yang

umumnya digunakan ialah:

a. RGB (Red Green Blue) yang terdiri dari tiga buah warna utama yaitu

merah, hijau, dan biru.

b. YCbCr yang merupakan merupakan domain yang berbeda dengan

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

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

tingkat kecerahan. Sedangkan chrominance membawa informasi tentang

kekuatan warna.

8  2.2 JPEG Image

Gambar JPEG (Joint Photographic Experts Group) biasa digunakan sebagai

metode kompresi gambar. Algoritma kompresi dari JPEG berupa lossy

compresion yang bekerja dengan cara menghilangkan beberapa komponen-

komponen asli yang dianggap sebagai elemen-elemen redundan dari gambar

sehingga kita dapat mendapatkan gambar yang sangat mirip dengan gambar

originalnya akan tetapi dengan ukuran yang lebih kecil. Semakin besar kompresi,

maka semakin banyak informasi yang dihilangkan.

2.3 Steganografi

Menurut Budi (2004,p1) definisi steganografi adalah seni untuk

menyembunyikan pesan di dalam pesan lainnya sedemikian rupa sehingga orang

lain tidak menyadari ada sesuatu di dalam pesan tersebut. Pesan tersembunyi

tersebut hanya diketahui oleh si pengirim dan penerima pesan. Berbeda dengan

kriptografi, kriptografi menyamarkan arti dari suatu pesan, tapi tidak

menyembunyikan bahwa ada suatu pesan. Kata "steganografi" berasal dari bahasa

Yunani steganos, yang artinya “tersembunyi atau terselubung”, dan graphein,

“menulis”.

Salah satu penggunaan steganografi klasik yang pernah dipakai adalah

menyembunyikan pesan rahasia pada kepala seseorang yang telah dibotaki,

kemudian mengirimnya setelah kepala orang tersebut ditumbuhi rambut kembali.

Kini, steganografi modern menggunakan berkas digital sebagai penampung

pesannya. Berkas digital tersebut dapat bervariasi, mulai dari berkas teks, gambar,

suara (audio), atau video. Media penampung berupa gambar yang belum disisipi

9  

data disebut cover-image, sedangkan gambar yang telah disisipi data disebut

stego-image. Penambahan key atau kunci dapat dilakukan untuk meningkatkan

keamanan data. Langkah-langkah steganografi secara umum dapat dilihat pada

gambar 2.2.

Gambar 2.2 Langkah steganografi secara umum

Keuntungan penggunaan steganografi adalah memungkinkan pengiriman

data secara rahasia tanpa diketahui bahwa data sedang dikirim. Ini membuat pihak

ketiga tidak menyadari keberadaan data tersebut. Sebaliknya, penggunaan

kriptografi akan menarik kecurigaan pihak ketiga bahwa ada sesuatu yang

disembunyikan dalam data yang sedang dikirim.

2.3.1 Kriteria Steganografi

Dalam menyembunyikan data, ada beberapa kriteria yang harus dipenuhi.

a. Impercepbility. Keberadaan pesan tidak dapat dipersepsi oleh indrawi.

Jika pesan disisipkan ke dalam sebuah suara, suara yang telah disisipi

pesan harus tidak dapat dibedakan dengan suara asli oleh telinga. Begitu

pula dengan gambar, mata akan sulit mendapati perbedaan antara gambar

asli dan gambar yang telah disisipi pesan.

10  

b. Fidelity. Mutu media penampung tidak berubah banyak akibat

penyisipan. Perubahan yang terjadi harus tidak dapat dipersepsi oleh

indrawi.

c. Recovery. Pesan yang disembunyikan harus dapat diungkap kembali.

Tujuan steganografi adalah menyembunyikan informasi, maka sewaktu-

waktu informasi yang disembunyikan ini harus dapat diambil kembali

untuk dapat digunakan lebih lanjut sesuai keperluan.

2.3.2 Jenis Steganografi

Dalam pemakaiannya, steganografi dapat digolongkan menjadi dua jenis,

yaitu:

a. Non-blind steganografi, dimana gambar asli yang digunakan sebagai

cover-image dibutuhkan untuk mengekstraksi data yang disisipkan.

b. Blind steganografi, dimana untuk proses pengekstraksian data yang

disisipkan tidak dibutuhkan gambar asli yang digunakan sebagai cover-

image.

2.4 Metode-Metode Steganografi

2.4.1 Least Significant Bit (LSB)

Metode Least Significant Bit (LSB) bekerja dengan cara menyembunyikan

pesan pada bit rendah atau bit yang terletak paling kanan pada data piksel yang

menyusun file sebuah gambar. Seperti kita ketahui untuk file bitmap 24 bit maka

setiap piksel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah,

hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit dari 0

sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan

11  

demikian pada setiap piksel file bitmap 24 bit kita dapat menyisipkan 3 bit data.

Untuk menjelaskan metode ini, digunakan gambar digital sebagai cover-object.

Pada setiap byte terdapat bit yang paling kurang berarti (Least Significant Bit atau

LSB). 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 piksel pada cover-image 24-bit.

(00100111 11101001 11001000)

(00100111 11001000 11101001)

(11001000 00100111 11101001)

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

10000001, maka akan dihasilkan stego-image dengan urutan bit sebagai berikut:

(00100111 11101000 11001000)

(00100110 11001000 11101000)

(11001000 00100111 11101001)

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 pojok kanan bawah gambar. Sedangkan acak berarti

penyisipan pesan rahasia dilakukan secara acak pada gambar, dengan masukan

kata kunci (stego-key).

12  

Gambar 2.3 Least Significant Bit

Sumber: Wohlgemuth, Sven (2002,p10)

2.4.2 Transformasi dan Algoritma

Metode steganografi yang lain adalah menyembunyikan data dalam fungsi

matematika yang disebut algoritma compression. Terdapat beberapa metode

seperti Discrete Cosine Transformation (DCT), Discrete Fourier Transformation

(DFT), dan Discrete Wavelet Transformation (DWT). Fungsi DCT

mentransformasi data dari domain spasial (spatial domain) ke domain frekuensi

(frequency domain) dengan membagi piksel-piksel ke dalam 8 x 8 blok piksel dan

mentransformasikannya.

13  2.4.2.1 Discrete Cosine Transformation (DCT)

Discrete Cosine Transformation (DCT) dimensi dua mempunyai rumus

umum sebagai berikut:

Di mana D(i,j) adalah hasil dari transformasi DCT di koordinat (i,j). Adapun

i dan j, mereka sediri adalah koordinat di domain frekuensi. Dan untuk C(n), akan

bernilai akar seperdua (1/(2)^0,5) untuk n = 0, dan C(n) akan bernilai satu untuk

yang lainnya. C(n) sendiri adalah fungsi penormalisasi. Lalu p(x,y) adalah nilai

salah satu komponen dari Y, Cb, atau Cr di koordinat (x,y). Sedangkan M dan N

merupakan jumlah blok piksel yang digunakan.

Sedangkan Inverse Discrete Cosine Transformation (IDCT) memiliki rumus

umum sebagai berikut:

2.4.3 Spread Spectrum Image Steganography

Metode spread spectrum pertama kali dikenalkan pada sekitar pertengahan

tahun 1950. Spread spectrum adalah sebuah teknik pentransmisian dengan

menggunakan pseudo-noise code, sebagai modulator bentuk gelombang untuk

menyebarkan energi sinyal dalam sebuah jalur komunikasi (bandwidth) yang lebih

besar daripada sinyal jalur komunikasi informasi. Oleh penerima, sinyal

dikumpulkan kembali menggunakan replika pseudo-noise code tersinkronisasi.

14  

Spread spectrum menggunakan pita lebar, noise-like sinyal. Karena sifatnya yang

noise-like, spread spectrum sulit untuk terdeteksi, dipotong, atau ter-demodulasi.

Hal – hal inilah yang menyebabkan spread spectrum digunakan untuk komunikasi

militer selama bertahun-tahun.

Dalam penerapan spread spectrum ke dalam steganografi gambar, spread

spectrum bekerja dengan cara menyimpan data yang ingin disembunyikan sebagai

gaussian noise di dalam sebuah gambar (Marvel, Boncelet, and Retter 1998,

Marvel et al. 1999). Noise tersebut merupakan noise yang melekat pada proses

akuisisi gambar, dan jika kita menyimpannya pada tingkat frekuensi rendah, maka

perubahan tersebut tidak akan terdeteksi oleh mata manusia ataupun oleh analisis

komputer jika tidak disertai akses ke gambar asli.

2.5 Metode Spread Spectrum dengan Pseudorandom Chaos Theorem

2.5.1 Encoding Metode Spread Spectrum

Metode spread spectrum ini memanfaatkan domain frekuensi dari suatu

gambar. Langkah yang pertama kali dilakukan dalam steganografi dengan metode

spread spectrum ini adalah mentransformasikan gambar ke domain frekuensi.

Selanjutnya, bit data disisipkan pada koefisien transformasi (misalnya koefisien

DCT, DFT, atau DWT). Gambar 2.4 Menunjukkan langkah-langkah dalam

melakukan encoding dengan metode spread spectrum.

15  

Gambar 2.4 Encoding Metode Spread Spectrum

Sumber: Cox, Ingermar J. et al (1997,p5)

2.5.1.1 Transformasi Domain Frekuensi

Cara kerja transformasi domain frekuensi JPEG yaitu pertama, JPEG

membagi gambar menjadi blok-blok yang besar setiap blok-nya 8 x 8 piksel

sehingga tidak ada variasi warna yang cukup berarti dalam ukuran seperti ini.

Kemudian, format gambar RGB (Red Green Blue) yang dimiliki oleh gambar pada

umumnya dikonversi menjadi YCbCr.

Manusia memiliki sensitifitas yang lebih tinggi terhadap luminance

dibandingkan terhadap chrominance sehingga kita dapat memanfaatkan

perbedaan-perbedaan yang terdapat pada chrominance tersebut untuk melakukan

perubahan. Setelah itu, masing-masing nilai YCbCr tersebut dikurangi dengan 128

agar kita mendapatkan interval nilai dari -128 sampai dengan 127, hal ini

dilakukan karena transformasi ke domain frekuensi DCT yang didesain untuk

16  

bekerja pada piksel dengan interval tersebut. Kemudian dilakukan perubahan

terhadap blok 8 x 8 piksel tersebut menjadi domain frekuensi menggunakan DCT

(Discrete Cosine Transform) tipe kedua untuk dua dimensi sehingga kita

memperoleh representasi warna dari YCbCr dalam bentuk domain frekuensi. Jika

DCT diterapkan blok 8 x 8 maka dengan N = 8 dan x dan y bernilai 0 sampai 7,

rumus tersebut akan menjadi:

Koefisien pertama pada DCT dua dimensi yang terletak pada D(0,0) disebut

koefisien DC. Sedangkan koefisien lainnya disebut koefisien AC. Pada

transformasi DCT, terdapat juga istilah low frequency (koefisien frekuensi rendah),

mid frequency (koefisien frekuensi menengah), dan high frequency (koefisien

frekuensi tinggi).

Gambar 2.5 Pembagian frekuensi koefisien DCT pada blok 8 x 8

17  2.5.1.2 Modulasi Data

Setelah dilakukan transformasi domain, kemudian dilakukan penyusunan

data yang akan disisipkan. Penyusunan data menurut Cox et al.(1997) dilakukan

dengan cara mula-mula data informasi yang akan disisipkan ke dalam cover-image

ditransformasikan menjadi sebuah deretan bilangan biner. Deret tersebut

dinotasikan dengan w (wi,....,wn).

Kemudian dilakukan proses pengacakan data dengan bilangan chaos yang

dibangkitkan menggunakan persamaan logistik dengan nilai awal xo. Panjang dari

barisan bilangan chaos (S1) ini disesuaikan dengan panjang dari deret data. Jika

panjang data lebih kecil dari panjang bilangan chaos, bilangan chaos tersebut akan

dipotong sesuai dengan ukuran data. Sebaliknya, jika panjang data lebih besar dari

panjang bilangan chaos, maka bilangan tersebut akan diulang sampai panjangnya

sama dengan panjang data. Setelah panjang bilangan chaos tersebut sama dengan

panjang deret data, barisan bilangan chaos yang merupakan bilangan riil tersebut

ditransformasikan menjadi nilai biner dengan fungsi:

 

Dimana Tw merupaka nilai rata-rata dari seluruh barisan bilangan chaos yang

telah dibangkitkan dengan persamaan logistik. Kemudian barisan bilangan

pseudonoise tersebut di XOR-kan dengan pesan yang akan disisipkan.

Data hasil XOR (dinotasikan dengan w’) tersebut yang mempunyai elemen-

elemen bilangan 0 dan 1 diubah menjadi nilai bipolar dengan cara mengubah nilai

bit 0 menjadi -1, sedangkan nilai bit 1 tidak dilakukan perubahan.

18  

Dengan persamaan logistik, dibuat kembali sebuah barisan bilangan y

dengan nilai awal yo (xo≠yo). Barisan ini kemudian dikalikan dengan w’.

Nilai dari w’’ digunakan untuk melakukan penyisipan data pada matriks

frekuensi.

2.5.1.3 Penentuan Lokasi Penyisipan Data

Penentuan lokasi penyisipan pada domain frekuensi dilakukan dengan

memperhatikan fidelity dan robustness (ketahanan data). Penyisipan pada

koefisien bernilai kecil yang normalnya terletak pada frekuensi tinggi tidak

mengakibatkan perubahan gambar yang signifikan akan tetapi rentan terhadap

modifikasi gambar, sedangkan penyisipan pada koefisien bernilai besar yang

normalnya terletak pada frekuensi rendah relatif mengakibatkan perubahan pada

gambar akan tetapi lebih kuat terhadap modifikasi gambar. Maka dari itu, dengan

memperhatikan karakteristik fidelity dan robustness, data akan disisipkan di daerah

yang memiliki koefisien-koefisien bernilai besar dari matriks transformasi dengan

melakukan pengecualian kepada koefisien DC (Koefisien pertama pada DCT dua

dimensi yang terletak pada D(0,0)).

Penentuan koefisien-koefisien bernilai besar yang akan disisipi dari matriks

transformasi tersebut dilakukan dengan melakukan penelusuran terhadap setiap

blok-blok matriks tersebut. Semua koefisien nilai yang terdapat pada setiap blok

matriks transformasi tersebut dianggap positif sehingga tanda negatif tidak

mempengaruhi besar kecilnya nilai.

19  2.5.1.4 Penyisipan Data Pada Matriks Frekuensi

Langkah selanjutnya pada proses penyisipan data menggunakan rumus

mengacu pada metode yang dikembangkan oleh Cox et al. yang mempunyai rumus

sebagai berikut:

Di’ = Di (1 + αwi”)

Dimana Di’ adalah koefisien transformasi frekuensi setelah dimodifikasi , Di

adalah koefisien transformasi frekuensi sebelum dimodifikasi, dan wi” adalah nilai

bit dari data yang disisipkan yang merupakan bagian dari deretan bilangan riil w”

= wi”,...,wn”. Data tersebut diacak sehingga setiap bilangan riil wi” bersifat

independen terhadap bilangan riil lainnya. Dalam pengimplementasian spread

spectrum, nilai bilangan riil acak tersebut diproses sehingga berada antara 0 dan 1

agar tidak terlalu jauh mengubah gambar asli namun tetap kuat terhadap

pengolahan atau manipulasi. Sedangkan nilai α merupakan bilangan bulat positif.

Penggunaan nilai α mempengaruhi kekuatan gambar, α berfungsi sebagai ukuran

relatif seberapa banyak Di akan diubah. Nilai α yang besar dapat mengakibatkan

terjadinya perubahan pada gambar dan melemahkan gambar terhadap pengolahan

lanjutan dibandingkan dengan nilai α yang kecil. Oleh karena itu dipilih α = 0.1

pada skripsi ini. Setelah proses penyisipan selesai, dilakukan invers transformasi

domain frekuensi untuk mendapatkan stego-image.

20  

Gambar 2.6 Proses penyisipan data

Sumber: Munir, Rinaldi et al. (2007,p3)

2.5.1.5 Invers Transformasi Domain Frekuensi

Invers transformasi domain frekuensi merupakan langkah yang berkebalikan

dengan transformasi domain frekuensi. Setelah diperoleh matriks dari perhitungan

invers transformasi domain frekuensi tersebut, nilai dari setiap blok matriks

tersebut kemudian ditambahkan dengan 128 untuk mendapatkan interval dari 0

sampai 255 kembali. Kemudian matriks YCbCr tersebut diubah kembali menjadi

matriks RGB.

2.5.2 Decoding Metode Spread Spectrum

Proses decoding merupakan proses untuk mengambil / mengekstraksi

kembali data yang telah disisipkan ke dalam sebuah gambar. Proses ini dilakukan

dengan membandingkan domain frekuensi dari cover-image dan stego-image.

21  

Gambar 2.7 Proses Decoding Metode Spread Spectrum

Sumber: Cox, Ingermar J. et al (1997,p6)

Dengan membandingkan koefisien hasil transformasi domain frekuensi dari

kedua gambar tersebut, didapatkan nilai selisih koefisien-koefisien tersebut yang

menandakan adanya proses penyisipan pada gambar tersebut.

Gambar 2.8 Ilustrasi perbandingan domain frekuensi cover-image dan stego-image

22  

Kemudian koefisien-koefisien yang didapatkan tersebut digunakan untuk

menghitung kembali deret data yang disisipkan dengan rumus:

wi * : nilai data dari deret ke – i

: koefisien pada stego-image

: koefisien pada cover-image

Setelah nilai wi * didapatkan. wi * di XOR-kan barisan bilangan yo, sehingga

kita memperoleh informasi data yang disisipkan dan dapat disusun kembali

menjadi bentuk gambar.

2.5.3 Pseudorandom

Pada steganografi, pembangkitan bilangan acak dapat digunakan untuk

menentukan kunci penyisipan dan ekstraksi data dari berkas media. Komputer

mampu menghasilkan bilangan semu acak (pseudorandom). Deret bilangan

pseudorandom adalah sejumlah bilangan besar yang bersifat seperti noise akan

tetapi bersifat deterministik dan dapat diproduksi ulang.

2.5.3.1 Chaos Theorem

Chaos theorem atau teori chaos dapat digunakan sebagai pseudorandom.

Teori chaos merupakan teori yang memiliki tingkat pengacakan yang tinggi

namun bersifat deterministik (dimungkinkan membangkitkan nilai-nilai dengan

kepastian tertentu). Karakteristik yang umum di dalam teori chaos adalah

23  

kepekaannya terhadap perubahan kecil nilai awal (sensitive dependence on initial

condition). Kepekaan ini berarti bahwa perbedaan kecil pada nilai awal fungsi,

setelah fungsi diiterasi sejumlah kali, akan menghasilkan perbedaan yang sangat

besar pada nilai fungsinya.

Salah satu fungsi chaos sederhana ialah persamaan logistik (logistic map)

yang biasa dipakai di dalam ekologi untuk mensimulasikan pertumbuhan spesies

di dalam ekosistem. Persamaan logistik dinyatakan sebagai:

Dimana 0 ≤ µ ≤ 4, dengan xo sebagai nilai awal iterasi. Daerah asal x adalah

0 sampai 1. Konstanta µ menyatakan laju pertumbuhan fungsi. Jika µ bernilai 4

maka iterasi akan bergantung sepenuhnya pada nilai awal xo dan nilai yang

dihasilkan akan bersifat acak. Nilai-nilai chaos yang dihasilkan bertipe bilangan

riil dan berada di dalam rentang yang lengkap antara 0 dan 1.

2.6 Pengukuran Kualitas Gambar

Penilaian kualitas gambar terkompresi JPEG dilakukan secara subjektif dan

objektif. Penilaian subjektif dilakuan dengan cara melihat gambar secara kasat

mata. Penilaian objektif dilakukan dengan cara menghitung nilai PSNR (Peak

Signal to Noise Ratio). Nilai PSNR dalam satuan desibel (dB) dihitung berdasarkan

persamaan:

Dimana:

MAXI : Nilai maksimum piksel

24  

Dengan:

1

3 , , , ,

Dimana:

MSE : nilai Mean Square Error dari gambar

M : panjang gambar dalam piksel

N : lebar gambar dalam piksel

i,j : koordinat masing-masing piksel

F : gambar pertama

K : gambar kedua

2.7 Rekayasa Piranti Lunak

Menurut Pressman (2005), dalam pembuatan sebuah program untuk

memecahkan sebuah masalah, diperlukan tahap-tahap perencanaan agar program

yang dibuat menghasilkan hasil yang sesuai dengan tujuan. Terdapat beberapa

model yang dapat digunakan sebagai dasar tahap-tahap perencanaan pembuatan

sebuah program. Pemilihan model-model tersebut disesuaikan dengan kebutuhan

dan metode yang digunakan. Metode yang akan digunakan pada perancangan

program aplikasi non-blind steganografi ini adalah :

Linear Sequencial Model (waterfall model)

Model linear sequencial model atau waterfall model adalah model klasik yang

bersifat sistematis, berurutan dalam tahapan pembangunan sebuah program.

25  

Gambar 2.9 Waterfall Model

a. Requirements analysis and definition: Mengumpulkan kebutuhan

secara lengkap kemudian kemudian dianalisis dan didefinisikan

kebutuhan yang harus dipenuhi oleh program yang akan dibangun.

Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan

desain yang lengkap.

b. System and software design: Desain dikerjakan setelah kebutuhan

selesai dikumpulkan secara lengkap.

c. Implementation and unit testing: desain program diterjemahkan ke

dalam kode-kode dengan menggunakan bahasa pemrograman yang

sudah ditentukan. Program yang dibangun langsung diuji baik secara

unit.

d. Integration and system testing: Penyatuan unit-unit program

kemudian diuji secara keseluruhan (system testing).

26  

e. Operation and maintenance: mengoperasikan program

dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian

atau perubahan karena adaptasi dengan situasi sebenarnya.

2.8 Unified Modelling Languange

UML (Unified Modeling Language) adalah sebuah standarisasi untuk

menetukan, visualisasi, kontruksi, dan mendokumentasikan sistem perangkat

lunak. UML merupakan sekumpulan simbol dan diagram untuk memodelkan

sebuah software. Dengan menggunakan UML, desain software dapat diwujudkan

dalam bentuk simbol dan diagram yang kemudian dapat diterjemahkan ke dalam

bahasa pemrograman apapun. UML mendeskripsikan OOP (Object-Oriented

Programming) menjadi beberapa diagram, yaitu:

a. Class Diagram

Class diagram mendekripsikan kelompok obyek-obyek dengan properti,

perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class

diagram dapat memberikan pandangan global atas sebuah sistem. Class

diagram menunjukkan hubungan antar class dalam sistem yang sedang

dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu

tujuan.

b. Object Diagram

Diagram yang menjelaskan tentang nama obyek, atribut dan metode yang

dipakai.

27  

c. Component Diagram

Component diagram menggambarkan struktur dan hubungan antar komponen

piranti lunak, termasuk ketergantungan (dependency) di antaranya.

d. Deployment Diagram

Menggambarkan tata letak sebuah system secara fisik, menampakkan bagian-

bagian software yang berjalan pada bagian-bagian hardware, menunjukkan

hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis

hubungannya. Di dalam nodes, executeable component dan object yang

dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh

node tertentu dan ketergantungan komponen.

e. Use Case Diagram

Use-case diagram menjelaskan manfaat dari aplikasi jika dilihat dari sudut

pandang orang yang berada diluar sistem (actor). Diagram ini menunjukkan

fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi

dengan dunia luar. Use-case diagram dapat digunakan selama proses analisa

untuk menangkap requirements atau permintaan terhadap sistem dan untuk

memahami bagaimana sistem tersebut harus berkerja.Selama tahap desain,

use-case diagram menetapkan perilaku dari aplikasi saat implementasi. Dalam

sabuah model memungkinkan terdapat satu atu beberapa use-case diagram.

f. Sequence Diagram

Sequence diagram menjelaskan interaksi objek yang disusun dalam suatu

urutan waktu. Kegunaannya untuk menunjukkan rangkaian pesan yang

dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada

titik tertentu dalam eksekusi sistem.

28  

g. Collaboration Diagram

Collaboration diagram juga menggambarkan interaksi antar objek seperti

sequence diagram, tetapi lebih menekankan pada peran masing-masing objek

dan bukan pada waktu.

h. Flow Diagram

Flow diagram menggambarkan aliran data informasi dan transformasi

(proses) dari data, dimulai dari pemasukan data sampai menghasilkan

keluaran (output) data.

i. Activity Diagram

Activity diagram memodelkan berbagai alur kerja yang menunjukkan urutan

aliran suatu aktifitas. Activity diagram paling cocok untuk memodelkan urutan

aktifitas dalam suatu sistem karena dapat juga menggambarkan aktfitas

parallel yang mungkin terjadi dalam suatu sistem.

Hal-hal yang telah dijelaskan di atas akan menjadi dasar teori dalam penulisan

skripsi ini dan menjadi acuan dalam membuat bab selanjutnya.