2. bab 2 - thesis.binus.ac.idthesis.binus.ac.id/asli/bab2/2011-1-00589-mtif 2.pdf · titik...
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.