Anda di halaman 1dari 39

BAB 2

LANDASAN TEORI

2.1 Teori Umum


2.1.1 Model Incremental Process

Gambar Error! No text of specified style in document..1 Model Incremental


Process
Menurut (S.Pressman, 2010, P.41- 42) Model Incremental Process memakai
urutan-urutan linear yang berulang dalam membangun suatu perangkat lunak. Seiring
berjalan waktu pengerjaan, setiap urutan linear akan menghasilkan perkembangan
dalam pengerjaan perangkat lunak yang kemudian dapat digunakan oleh pengguna.
Pada model incremental yang pertama sering disebut sebagai core product.
Core product adalah dasar kebutuhan yang diperlukan oleh pengguna, terkadang
banyaknya tambahan fitur yang diperlukan dapat menyebabkan tidak semuanya
dapat tersampaikan. Oleh karena itu, hasil evaluasi dari core product dapat dijadikan
sebagai rencana perkembangan untuk incremental selanjutnya dengan cara
memodifikasi core product agar menjadi lebih baik untuk memenuhi kebutuhan
pengguna (fitur dan fungsi). Proses ini dilakukan berulang hingga menghasilkan
produk yang lengkap.
Sebagai contoh, pembentukan perangkat lunak word processing dengan
menggunakan model incremental process. Pada incremental pertama hanya
memberikan fungsi inti (basic file management, editing, dan document production

7
8

function), pada incremental kedua memberikan tambahan agar menjadi lebih


baik (advance editing dan document production capabilities) dan pada incremental
ketiga memberikan tambahan selanjutnya (spelling dan grammar checking) proses
ini dilakukan berulang hingga menghasilkan produk yang lengkap.
Model Incremental Process dapat digunakan untuk project yang memiliki
waktu pasti serta tidak memerlukan banyak orang dalam pengembangannya.

Tahapan-tahapan yang terdapat dalam model incremental process :


1. Communication
Pada tahap ini akan dilakukan pengumpulan informasi-informasi yang terkait
dengan pembentukan perangkat lunak. Maka pada tahap ini akan menghasilkan
bagian yang akan diteliti serta menentukan batasan masalah yang diperlukan.
2. Planning
Pada tahap ini akan membentuk rancangan jadwal meliputi perkiraan waktu yang
diperlukan, tugas-tugas teknis yang akan dilakukan dan sumber-sumber yang
diperlukan dalam membangun perangkat lunak.
3. Modeling
Pada tahap ini akan membentuk rancangan dalam membangun perangkat lunak
berupa rancangan algoritma, struktur data, rancangan perangkat lunak dan desain
rancangan layar perangkat lunak.
4. Construction
Pada tahap ini akan dilakukan pemrograman berdasarkan model yang telah
terbentuk. Setelah pemrograman selesai, maka testing dapat dilakukan untuk
menguji kesesuain atas keinginan pengguna dan menentukan kesalahan-
kesalahan yang terjadi agar dapat diperbaiki.
5. Deployment
Pada tahap ini developer akan menyediakan dokumentasi atas fitur yang telah
dibangun dan developer akan menerima umpan balik dari pengguna sebagai
bentuk informasi untuk perbaikan dan penambahan fitur dari perangkat lunak
yang telah terbentuk.
9

2.1.2 Unified Modeling Language (UML)


Unified Modeling Language (UML) merupakan bahasa standar untuk
perancangan perangkat lunak. UML dapat digunakan untuk mendeskripsikan atau
menggambarkan perangkat lunak (S.Pressman, 2010, P.841).

2.1.2.1 Use Case Diagram


Use Case Diagram merupakan diagram yang digunakan untuk
menggambarkan fungsi dan fitur – fitur perangkat lunak terhadap keinginan
pengguna (S.Pressman, 2010, P.847).

Gambar Error! No text of specified style in document..2 Contoh Use Case Diagram
Berikut ini adalah istilah yang terdapat dalam Use Case Diagram :
a. Actor
Actor menggambarkan pelaku yang beriteraksi dengan sistem. Actor dapat
memberikan input atau menerima informasi dari sistem.

Gambar Error! No text of specified style in document..3 Contoh Actor


10

b. Use Case
Use Case menggambarkan apa yang dapat dilakukan oleh actor terhadap sistem,
baik secara otomatis maupun manual.

Gambar Error! No text of specified style in document..4 Contoh Use Case

2.1.2.2 Use Case Narrative


Use Case Narrative merupakan deskripsi mengenai urutan-urutan proses dari
setiap interaksi yang berguna untuk mempercepat pemahaman tentang sistem
(Whitten & Bentley, 2007, P.256 – P.260).
Tabel Error! No text of specified style in document..1 Contoh Use Case Narrative

Nama Use Case Backup Data


Actor Admin
Use Case ini mendeskripsikan tentang proses
Backup data.
Deskripsi
Precondition Actor telah membuka aplikasi.
Flow of Event Actor Action System Response
Step 1. Actor menekan Step 2. Sistem akan
tombol backup data. melakukan proses
Backup data.

Postcondition Actor melakukan proses Backup data.


11

2.1.2.3 Activity Diagram


Activity Diagram merupakan diagram yang digunakan untuk menggambarkan
perilaku dinamis dari sistem yang terjadi melalui tindakan yang dilakukan terhadap
sistem. Activity Diagram dapat dibagi berdasarkan partisipasi untuk memberikan
penjelasan terhadap setiap aksi yang dilakukan (S.Pressman, 2010, P.853).

Gambar Error! No text of specified style in document..5 Contoh Activity


Diagram
Berikut ini adalah istilah yang terdapat dalam Activity Diagram :
a. Initial State
Menggambarkan mulainya proses.

Gambar Error! No text of specified style in document..6 Contoh Initial State


b. Action State
Menggambarkan proses yang sedang berjalan.

Gambar Error! No text of specified style in document..7 Contoh Action State


12

c. Control Flow
Menggambarkan jalur komunikasi antar state.

Gambar Error! No text of specified style in document..8 Contoh Control Flow


d. Control Flow
Menyatakan suatu kondisi tertentu untuk memilih.

Gambar Error! No text of specified style in document..9 Contoh Decision


e. Final State
Menggambarkan bahwa proses sudah selesai.

Gambar Error! No text of specified style in document..10 Contoh Final State

2.1.2.4 Class Diagram


Class Diagram merupakan diagram yang dapat memberikan pandangan
struktural dari sistem. Class diagram digunakan untuk memodelkan kelas-kelas yang
berisikan atribut, operasi dan hubungan relasi antar kelas yang terdapat dalam sistem
(S.Pressman, 2010, P.842).

Class2
-Attribute
1..* +Operation()

Class1
-Attribute
+Operation() 1

Class3
-Attribute
0..* +Operation()

Gambar Error! No text of specified style in document..11 Contoh Class Diagram


13

Berikut ini adalah istilah yang terdapat dalam Class Diagram :

a. Class
Class merupakan template atau blueprint yang berisikan atribut dan operasi yang
menggambarkan kumpulan objek yang sama. Attribut merupakan gambaran data
dari suatu kelas. Sedangkan operasi digunakan untuk mengakses attribut yang
terdapat dalam kelas.

Gambar Error! No text of specified style in document..12 Contoh Class


b. Visibility
Visibility digunakan untuk menggambarkan informasi hak akses dari suatu atribut
dan operasi yang terdapat dalam kelas (S.Pressman, 2010, P.843).

Tabel Error! No text of specified style in document..2 Deskripsi Visibility

Visibility Simbol Keterangan


Private - Atribut dan operasinya hanya dapat diakses oleh kelas
yang mendefinisikannya.
Public + Atribut dan operasinya dapat diakses oleh kelas lainnya.
Protected # Atribut dan operasinya hanya dapat diakses oleh kelas
yang mendefinisikan dan turunannya.

c. Association dan Multiplicity


Association digunakan untuk mewakili hubungan antara kelas dan menyatakan
apa yang perlu diketahui dari suatu instance terhadap lainnya. Sedangkan
Multiplicity digunakan untuk menyatakan jumlah instance dari suatu class yang
dihubungkan ke class lainnya (S.Pressman, 2010, P.844 - 845).
14

Tabel Error! No text of specified style in document..3 Deskripsi Multiplicity

Multiplicity Simbol Keterangan

No more than one 1 Instance yang dihubungkan dapat mempunyai


tepat satu data.

Zero or one 0…1 Instance yang dihubungkan dapat mempunyai


tepat satu data atau tidak sama sekali.

Many * Instance yang dihubungkan dapat mempunyai


banyak data.

Zero or many 0…* Instance yang dihubungkan dapat mempunyai


banyak data atau tidak sama sekali.

One or many 1…* Instance yang dihubungkan dapat mempunyai


satu atau banyak data.

d. Aggregation dan Composition


Aggregation digunakan untuk menghubungkan antara dua class yang menyatakan
bagian dari suatu relasi. Artinya, class ini (B) akan tetap ada walupun class induknya
(A) tidak ada (S.Pressman, 2010, P.845).

Gambar Error! No text of specified style in document..13 Contoh Aggregation


Sedangkan Composition digunakan untuk menghubungkan antara dua class yang
menyatakan bagian kuat dari suatu relasi. Artinya, class ini (B) akan ada jika class
induknya (A) ada (S.Pressman, 2010, P.845).
15

Gambar Error! No text of specified style in document..14 Contoh Composition

e. Generalization
Generalization digunakan untuk menggambarkan hubungan turunan antar class
(inheritance). Artinya, class turunannya akan mewarisi sifat yang dimiliki oleh class
induknya (S.Pressman, 2010, P.843).

Gambar Error! No text of specified style in document..15 Contoh Generalization

2.1.2.5 Sequence Diagram


Sequence Diagram merupakan diagram yang dapat menunjukan komunikasi
dinamis antara objek dengan sistem. Sequence Diagram digunakan untuk
mendeskripsikan interaksi yang terjadi dalam sebuah use case ke dalam urutan waktu
yang digambarkan ke dalam bentuk diagram (S.Pressman, 2010, P.848).
16

Gambar Error! No text of specified style in document..16 Contoh Sequence


Diagram

Berikut ini adalah istilah yang terdapat dalam Sequence Diagram :


a. Actor
Menggambarkan pelaku yang beriteraksi dengan sistem.

Gambar Error! No text of specified style in document..17 Contoh Actor


b. Class roles
Menggambarkan class yang berkaitan dengan proses yang sedang berjalan.
17

Class

Gambar Error! No text of specified style in document..18


document. Contoh Class Roles
c. Activation bar
Menggambarkan waktu yang diperlukan untuk menyelesaikan suatu proses yang
sedang berjalan.

Gambar Error! No text of specified style in document..19


document. Contoh Activation bar
d. Lifelines
Menggambarkan garis kehidupan dari suatu class roles.

Gambar Error! No text of specified style in document..20


document. Contoh Lifelines

e. Messages
Menggambarkan jalur komunikasi antar class.

Message

Gambar Error! No text of specified style in document..21


document. Contoh Messages
f. Destroying Object
Menggambarkan bahwa proses sudah selesai.

Gambar Error! No text of specified


spe style in document..22 Contoh Destroying
Object
18

2.1.3 Flow Chart


Sebuah diagram simbol yang digunakan untuk menggambarkan urutan
langkah-langkah yang terdapat dalam suatu sistem (H.Bodnar & S.Hopwood, 2010,
P.41).
Berikut ini adalah istilah yang terdapat dalam Flow Chart (H.Bodnar &
S.Hopwood, 2010, P.41 - 43) :
Tabel Error! No text of specified style in document..4 Deskripsi Flow Chart

Simbol Nama Arti

Flow Line Menyatakan jalannya suatu


proses.
Terminal Menyatakan langkah awal
atau akhiran.
Process Menyatakan suatu proses dari
sebuah alogritma.
Decision Menyatakan suatu kondisi
tertentu untuk memilih.
Input/Ouput Menyatakan suatu input atau
output yang terjadi dalam
suatu algoritma.
Disk Storage Menyatakan input berasal dari
disk atau output disimpan ke
dalam disk.
Magnetc Disk Menyatakan data disimpan
secara permanen dan
digunakan untuk
menyimbolkan data induk.

2.1.4 Interaksi Manusia Komputer


2.1.4.1 Pengertian Interaksi Manusia Komputer
Interaksi Manusia Komputer adalah ilmu yang mempelajari hubungan antara
manusia dengan komputer yang berkaiatan dengan perancangan, evaluasi dan
implementasi antarmuka agar dapat digunakan secara mudah (Shneiderman &
Plaisant, 2005, P.74).
19

2.1.4.2 Delapan Aturan Emas


Menurut (Shneiderman & Plaisant, 2010, P.88-89) terdapat 8 aturan yang
dapat digunakan dalam perancangan user interface, 8 aturan ini sering dikenal
dengan istilah eight golden rule, yaitu sebagai berikut:
1. Berusaha konsisten
Konsistensi dalam perancangan user interface dapat berupa layout, warna,
ukuran dan jenis tulisan.
2. Menyediakan kegunaan yang universal
Sebaiknya sebuah user interface dapat dengan mudah digunakan oleh
berbagai aspek, yaitu mulai dari anak-anak hingga pakar komputer.
3. Memberikan umpan balik yang informatif
Sebaiknya sebuah user interface dapat memberikan umpan balik terdapat aksi
yang dilakukan oleh pengguna, sehingga pengguna mendapatkan informasi
yang sesuai dengan kondisi.
4. Merancang dialog yang memberikan penutupan
Dialog dapat memberikan indikasi bahwa cara yang dilakukan sudah benar
dan dapat dilakukan ketindakan selanjutnya.
5. Memberikan pencegahan kesalahan yang sederhana
Sebaiknya sebuah user interface dapat mendeteksi kesalahan dan
memberikan mekanisme yang sederhana terhadap aksi yang dilakukan oleh
pengguna.

6. Memungkinkan kembali ke tindakan sebelumnya


Sebaiknya sebuah user interface dapat membatalkan sebuah aksi yang
dilakukan oleh pengguna, sehingga pengguna dapat mengeksplorasi pilihan-
pilihan tanpa adanya kecemasan melakukan kesalahan.
7. Mendukung pusat kendali internal
Sebaiknya sebuah user interface dirancang sedemikian rupa menjadi inisiator
daripada responden, sehingga user interface dapat mengarahkan pengguna
dan memberikan langkah-langkah proses tahapan hingga bagian penutup.
8. Mengurangi beban ingatan jangka pendek
Sebaiknya sebuah user interface dapat mengurangi beban ingatan jangka
pendek karena setiap daya ingat manusia memiliki keterbatasan. Oleh karena
20

itu, dalam merancang layar user interface harus dapat terlihat jelas atau
menggunakan drop-down menu dengan ikon.

2.2 Teori Khusus


2.2.1 Kriptografi
2.2.1.1 Pengertian Dasar Kriptografi
Kriptografi adalah suatu algoritma yang bertujuan untuk menyembunyikan
makna pesan dengan cara mengubah atau mengacak pesan menjadi kode-kode yang
tidak bermakna (ciphertext) (Paar & Pelzl, 2010, P.3). Kemudian hasil ciphertext
tersebut harus dapat diungkapkan kembali ke dalam bentuk awal pesan (plaintext)
yang menggunakan sebuah kunci yang hanya diketahui oleh penerima pesan.

2.2.1.2 Sejarah Kriptografi


Kriptografi berasal dari bahasa Yunani, yaitu κρυπτο (hidden atau secret)
yang berarti rahasia dan γραøη (writing) yang berarti tulisan, sehingga kriptografi
dapat diartikan menjadi “tulisan rahasia” (Munir, 2013).
Kriptografi sudah terdapat sejak 4000 tahun yang lalu, tepatnya di Mesir yang
menggunakan tulisan Hieroglyph yaitu menggunakan simbol-simbol untuk
menuliskan suatu pesan (Munir, 2013).
Pada abad 400 SM kriptografi juga digunakan oleh bangsa Yunani yaitu
dengan menggunakan scytale, merupakan penyandian dengan menggunakan daun
papyrus yang dililitkan pada batang pohon. Pesan asli (plaintext) ditulis secara
horisontal pada daun papyrus, selanjutnya setelah daun dilepas, maka yang akan
terlihat pada daun papyrus yang panjang itu hanyalah rangkaian kode-kode yang
tidak mengandung suatu makna (ciphertext).
Pada zaman raja Yunani Kuno, Julius Caesar mengirimkan suatu pesan
rahasia dengan cara menggeserkan semua susunan alphabet, dengan menggeser
susunan alphabet maka pesan asli (plaintext) dapat diubah menjadi susunan alphabet
yang telah teracak (ciphertext).
Pada perang dunia kedua, Jerman menggunakan kriptografi dalam keperluan
militernya, yaitu dengan menggunakan mesin enigma atau disebut juga dengan mesin
rotor, mesin ini dapat digunakan untuk mengenkripsi dan mendekripsi pesan rahasia.
21

2.2.1.3 Properti Kriptografi


Terdapat properti yang perlu diperhatikan dalam kriptografi (Stallings, 2010,
P.33) diantaranya :
1. Pesan (plaintext)
Suatu pesan asli yang tidak disandikan, sehingga dapat dibaca dan
dimengerti.
2. Ciphertext
Suatu pesan yang telah disandikan atau kode-kode yang tidak memiliki
makna.
3. Enkripsi
Suatu proses yang merubah plaintext menjadi ciphertext dengan
menggunakan suatu kunci.
4. Dekripsi
Suatu proses yang merubah ciphertext menjadi plaintext dengan
menggunakan suatu kunci.
5. Kunci
Kode yang ditetapkan dan dapat digunakan dalam proses enkripsi maupun
dekripsi.

2.2.1.4 Kriptografi Simetrik dan Kriptografi Asimetrik


Pada kriptografi simetrik, menggunakan kunci yang sama dalam proses
enkripsi maupun proses dekripsi, kriptografi simetrik ini memiliki sifat kunci yang
tertutup (private), maka keamanan kriptografi ini terletak pada kerahasiaan kuncinya
(Stallings, 2010, P.32).
22

Gambar Error! No text of specified style in document..23 Kriptografi Simetrik


Sedangkan pada kriptografi asimetrik, menggunakan kunci yang berbeda
dalam proses enkripsi maupun proses dekripsi, dalam proses enkripsinya
menggunakan kunci yang sifatnya terbuka (public) sehingga dapat diketahui oleh
orang lain, sedangkan dalam proses dekripsinya hanya menggunakan kunci yang
sifatnya tertutup (private) yang hanya diketahui oleh penerima pesan (Stallings,
2010, P.267).

Gambar Error! No text of specified style in document..24 Kriptografi Asimetrik

2.2.1.5 Metode Kriptografi


2.2.1.5.1 Vigenere Cipher
Vigenere Cipher merupakan algoritma kriptografi simetrik yang bertujuan
untuk menjaga keamanan data dengan cara menyandikan suatu pesan (plaintext)
melalui deretan sandi Caesar berdasarkan berbagai kunci yang berbeda (Ramadhan,
2008). Sehingga setiap plaintext yang sama dapat direpresentasikan ke dalam
ciphertext yang berbeda (poly alphabetic) (Hoffstein, Pipher, & H.Silverman, 2008,
P.199).

Untuk menyandikan pesan teks, Vigenere Cipher dapat dinyatakan sebagai


berikut :

dimana :
p adalah plaintext yang ke-i.
23

c adalah ciphertext yang ke-i.


k adalah kunci yang ke-i.
Sebagai contoh :
p (plaintext) = BINUS
k (kunci) = TESTE
c (ciphertext) = UMFNW
Untuk menyandikan pesan yang berupa input-an keyboard (huruf, angka, dan
simbol). Maka secara sistematis, Vigenere Cipher dapat dinyatakan sebagai berikut :

Kelebihan Vigenere Cipher adalah dapat menghilangkan kemungkinan untuk


dipecahkan secara analisis frekuensi (Pamungkas, 2007), namun Vigenere Cipher
tidak menjadi optimal pada panjang pesan yang melebihi panjang kuncinya, sehingga
kunci akan dilakukan perulangan hingga mencapai panjang pesan.
Vigenere Cipher telah banyak mengalami perkembangan dalam menjaga
keamanan data (Abhirama, 2009), sehingga dalam penelitian ini akan menggunakan
modifikasi Vigenere Cipher berdasarkan fungsi chaos yang bertujuan untuk
meningkatkan keamanan pesan.

2.2.1.5.2 Fungsi Chaos


Fungsi chaos merupakan suatu fungsi matematika yang dapat
membangkitkan bilangan secara acak dan mempunyai sifat sensitif terhadap nilai
awal (initial condition). Sehingga apabila terjadi perubahan kecil pada nilai awal
fungsi maka dapat memberikan perubahan yang besar pada nilai fungsi tersebut
(Susanto, 2009).

Penerapan fungsi chaos dalam Vigenere Cipher tentu menguntungkan, karena


fungsi chaos memiliki sifat sensitif pada nilai awal dan dapat memberikan deretan
nilai chaos secara acak, maka dapat digunakan sebagai pembangkit kunci yang
diharapkan dapat meningkatkan keamanan data (Lestari & Riyanto, 2012).
24

Fungsi chaos ini akan dilakukan sedikit modifikasi agar dapat digabungkan
dengan algoritma Vigenere Cipher, yaitu dengan cara pengambilan nilai dua digit
dibelakang koma.
Sebagai contoh, diberikan nilai r = 3 dan x0 = 0,51, maka fungsi chaos yang
dapat terbentuk :
Tabel Error! No text of specified style in document..5 Contoh Fungsi Chaos

xi Nilai Kunci
0.51 51
0.7497 74
0.56295 56
0.738112 73
0.579908 57
0.730844 73
0.590133 59
0.725628 72

Nilai kunci tersebut yang akan dipakai dalam algoritma modifikasi Vigenere
Cipher berdasarkan fungsi chaos.

2.2.2 Steganografi
2.2.2.1 Pengertian Dasar Steganografi
Steganografi merupakan ilmu untuk menyamarkan keberadaan informasi ke
dalam suatu media, sehingga orang lain tidak dapat menyadari adanya informasi
yang terkandung dalam media tersebut, karena media yang sebelum dan sesudah
25

disisipi pesan dapat terlihat sangat mirip apabila dilihat secara langsung oleh indra
penglihatan manusia (Arryawan, 2010), steganografi biasanya dilakukan dengan
menggunakan media seperti teks, gambar, suara dan video.
Steganografi dapat dipandang sebagai kelanjutan kriptografi. Dalam
kriptografi, pesan akan dirubah menjadi kode-kode yang tidak bermakna (ciphertext).
Dalam steganografi, ciphertext tersebut dapat disembunyikan ke dalam suatu media
sehingga pihak luar tidak dapat menyadari keberadaan pesan tersebut (Munir, 2004).

2.2.2.2 Sejarah Steganografi


Steganografi berasal dari bahasa Yunani, yaitu steganos (στεγανός) yang
berarti tertutupi atau terlindungi, dan graphein (γράυειν) yang berarti menulis.
Sehingga steganografi dapat diartikan menjadi “tulisan tersembunyi”. Steganografi
membutuhkan dua unsur terpenting yaitu pesan yang akan disisipkan dan tempat
penampung pesan tersebut (Junior, 2010).
Steganografi pertama kali diperkenalkan oleh zaman Yunani, yaitu dengan
cara menulis pesan diatas kulit kepala seorang pengirim pesan dan pesan tersebut
dikirimkan ketika rambut seorang pengirim pesan mulai tumbuh, sehingga pesan
yang terdapat dalam kulit kepala disamarkan melalui rambut yang sudah tumbuh.
Steganografi lainnya dikenal dengan menggunakan "invisible ink" (tinta yang
tidak tampak), yaitu pesan terlebih dahulu ditulis dengan menggunakan invisible ink,
tinta ini hanya dapat dibaca dengan cara diletakan di atas lampu atau diarahakan ke
sinar matahari.
Pada abad 20, steganografi terus berkembang pesat, salah satu contohnya
dalam berlangsungnya perang Boer, Lord Boden Powell, yaitu dengan cara
menggambar peta-peta posisi musuh pada sayap kupu-kupu agar gambar – gambar
peta sasaran tersebut terkamuflase.
Pada perang dunia pertama, Jerman menggunakan steganografi untuk
mengirimkan pesan dengan cara menyembunyikan pesan dengan microdot, yaitu
mengecilkan ukuran tulisan hingga menyerupai titik tulisan di buku.

2.2.2.3 Properti Steganografi


Terdapat properti yang perlu diperhatikan dalam steganografi diantaranya :
1. Embedded message (hiddentext)
Pesan rahasia yang akan disisipkan ke dalam suatu media penampung.
2. Cover-object (covertext)
26

Informasi yang terdapat dalam suatu media penampung, yang digunakan


untuk menyamarkan keberadaan hiddentext.
3. Stego-object (stegoimage)
Media yang sudah disisipi pesan, merupakan hasil akhir bagi proses
steganografi.
4. Stego-key
Kunci yang digunakan untuk penyisipan pesan dan mengekstraksi pesan dari
stego-object.
5. Embedding
Proses untuk menyisipkan pesan rahasia (hiddentext) ke dalam suatu media
penampung.
6. Extraction
Proses untuk pengambilan pesan rahasia (hiddentext) yang telah disisipkan
pada suatu media.

Gambar Error! No text of specified style in document..25 Proses Steganografi

2.2.2.4 Kriteria Steganografi


Dalam penyembunyian pesan dalam steganografi, terdapat kriteria yang harus
di perhatikan (Iza, 2013) :
1. Fidelity
Kualitas media tidak jauh berubah ketika sebelum dan sesudah disisipi
pesan. Sehingga tidak menimbulkan sifat kecurigaan.
2. Robustness
27

Data yang disembunyikan dalam suatu media harus dapat bertahan


terhadap manipulasi, seperti perubahan ukuran atau pemotongan.
3. Recovery
Data yang disembunyikan dalam suatu media harus dapat dibangun
kembali. Sehingga data tersebut dapat digunakan lebih lanjut.

Point Robustness dalam steganografi, tidak terlalu penting karena sifat dari
steganografi adalah untuk menghindari kecurigaan dan apabila terjadi manipulasi,
maka keberadaan informasi tetap terjaga (Munir, 2006).

2.2.2.5 Metode Steganografi


2.2.2.5.1 Least Significant Bit (LSB)
Least Significant Bit merupakan salah satu algoritma steganografi pada media
gambar yang digunakan untuk menyembunyikan data rahasia dengan cara mengganti
bit-bit terakhir pada pixel gambar dengan bit-bit data rahasia (Abraham, Mauri,
Buford, & Suzuki, 2011, P.621).
Pada umumnya, setiap pixel dalam gambar dapat terdiri dari satu hingga tiga
byte (1 byte = 8 bit), yang terdiri dari bit penting (Most Significant Bit atau MSB) dan
bit kurang penting (Least Significant Bit atau LSB).

Gambar Error! No text of specified style in document..26 MSB dan LSB


Algoritma Least Significant Bit menggunakan pergantian bit yang kurang
penting (Least Significant Bit atau LSB) dengan bit pesan yang akan disembunyikan,
karena hanya mengubah satu byte lebih tinggi atau satu byte lebih rendah. Sehingga
tidak terjadi perubahan warna secara berarti, maka gambar yang sebelum dan
sesudah disisipi pesan dapat terlihat sama karena indra penglihatan manusia tidak
dapat membedakan perubahan sekecil ini.
Sebagai contoh, diberikan sembarang 3 pixel dari suatu gambar bewarna 24-
bit, sebagai berikut (Setyawan, Muchallil, & Arnia, 2009) :
00110101 10101100 11010011
00110001 10001000 11001001
28

01100101 10001010 10010001


Pesan yang akan disisipkan ialah “B” dengan nilai biner 01000010, maka stego
image yang akan didapat sebagai berikut :
00110100 10101101 11010010
00110000 10001000 11001000
01100101 10001010 10010001
Least Significant Bit memiliki sifat sederhana dalam menyembunyikan
keberadaan (existence) pesan dan hanya merubah satu nilai, maka dalam penelitian
ini akan menggabungkan algoritma Least Significant Bit untuk menghindari rasa
kecurigaan terhadap orang lain.

2.2.2.5.2 Spread Spectrum


Spread Spectrum merupakan salah satu algoritma steganografi dengan tujuan
meningkatkan keamanan dalam proses penyembunyian informasi, melalui operasi
XOR antara pesan yang telah ter-spreaded dengan deretan bilangan acak berdasarkan
sebuah kunci, dan pada tahap akhir dilakukan proses penyisipan ke dalam suatu
media penampung (Pratiarso, Yuliana, Hadi, Bari, & Brahim, 2012).
Sebagai contoh, untuk melakukan proses penyembunyian pesan, diberikan
kunci dengan kata “binus” dan pesan yang ingin disisipkan adalah “coba” dengan
representasi biner “01100011 01101111 01100010 01100001”. Kemudian dari pesan
biner tersebut dilakukan penyebaran dengan besaran skalar pengalinya empat, yaitu
sebagai berikut (Pakereng, Beeh, & Endrawan, 2010) :
00001111111100000000000011111111
00001111111100001111111111111111
00001111111100000000000011110000
00001111111100000000000000001111

Selanjutnya menghitung nilai desimal melalui kunci “binus”, yaitu sebagai berikut :
b = 01100010
i = 01101001
= 00001011
n = 01101110
= 01100101
u = 01110101
29

00010000
s = 01110011
01100011 => 99 (Nilai Angka Desimal)

Setelah mendapatkan nilai kunci ke dalam angka desimal, selanjutnya melakukan


perhitungan untuk pembangkit bilangan acak dengan rumus sebagai berikut :
    256
dimana :
a = 17
c =7
 = 99

Sehingga nilai yang di dapat ialah :


x1 = (17 * 99) + 7 mod 256 = 154 (10011010)
x2 = (17 * 154) + 7 mod 256 = 65 (01000001)
x3 = (17 * 65) + 7 mod 256 = 88 (01011000)
Demikian seterusnya untuk x4, x5, x6,….,xn.
Untuk mendapatkan hasil modulasi, dilakukan proses XOR antara pesan yang
telah ter-spreaded dengan deretan bilangan acak, yaitu sebagai berikut :
pesan yang telah ter-spreaded :
00001111111100000000000011111111
00001111111100001111111111111111
00001111111100000000000011110000
00001111111100000000000000001111
Deretan bilangan acak :
100110100100000101011000

Hasil modulasi :
10010101101100010101100011111111
00001111111100001111111111111111
00001111111100000000000011110000
00001111111100000000000000001111

Hasil modulasi inilah yang selanjutnya dilakukan proses penyembunyian


pesan dalam suatu media penampung. Sebagai contoh, hasil modulasi ini akan
30

disembunyikan ke dalam media gambar dengan cara menggunakan algoritma Least


Significant Bit.
Sebagai contoh, diberikan sembarang 3 pixel dari suatu gambar bewarna 24-
bit, yaitu sebagai berikut :
00110101 10101100 11010011
00110001 10001000 11001001
01100101 10001010 10010001
diambil barisan biner modulasi “10010101”, maka stego image yang akan didapat
sebagai berikut :
00110101 10101100 11010010
00110001 10001000 11001001
01100100 10001011 10010001
Demikian seterusnya dilakukan hingga seluruh barisan biner modulasi
tersisipkan dalam pixel gambar. Sedangkan untuk proses pengambilan pesannya
dilakukan proses kebalikannya dari proses penyembuyian pesan.

2.2.2.5.3 Pixel Value Differencing (PVD)


Pixel Value Differencing (PVD) merupakan algoritma steganografi pada
media gambar dengan menghitung perbedaan selisih antara dua pixel yang
berdekatan dan menentukan besarnya kapasitas pesan yang dapat disisipkan (Rojali,
Guritman, & Natalisa, 2009).
Sebagai contoh, diberikan pesan dalam bentuk biner “101” dan dua pixel
yang berdekatan (P(x) = 32 dan P(y) = 35), maka untuk melakukan proses
penyembunyian pesan dalam suatu media gambar, dapat dilakukan proses sebagai
berikut (Wang, Wu, Tsai, & Hwang, 2007) :

1. Bentuk tabel kriteria :


Tabel Error! No text of specified style in document..6 Kriteria PVD

Rj lj uj
R1 0 7
R2 8 15
R3 16 31
R4 32 63
R5 64 127
31

R6 128 255

2. Mengitung perbedaan pixel :


  |  |
  |32  35|  3
3. Tentunkan nilai lj dan uj sesuai dengan nilai , karena = 3. Maka nilai
 terdapat dalam selang R1 sehingga nilai lj = 0 dan uj = 7.
4. Tentunkan nilai wj dan  :
wj =uj – lj + 1
wj = 7 – 0 + 1 = 8

 = log  
 = log  8  3
5. Diambil pesan sebanyak nilai  , karena  = 3. Maka diambil pesan
sebanyak tiga digit, sehingga pesan yang didapat ialah “101”.
6. Tentukan nilai  dengan cara mengubah pesan biner menjadi nilai
desimal :
Nilai biner “101” setara dengan nilai 5 desimal, maka  = 5.
7. Tentukan nilai  :

 =  + lj
 = 5+0=5
8. Tentukan nilai m :
 |   |

 |5  3|  2

9. Tentukan nilai P’(x) dan P’(y) melalui kriteria embed :

!" , !"   $!  % & , !  ' (),


2 2
*+ ! , ! -  . 

!" , !"   $!  ' ( , !  % &),


2 2
*+ ! / ! -  . 
32

!" , !"   $!  % & , !  ' (),


2 2
*+ ! , ! -  0 

!" , !"   $!  % & , !  ' (),


2 2
*+ ! / ! -  0 

10. Jika P’(x) < 0 atau P’(y) < 0 maka :


245 245
!" , !"   1!2  3 6 , !2  3 67
2 2

11. Jika P’(x) > 255 atau P’(y) > 255 maka :

" ,
245 245
! !   1!2  3 6 , !2  3 67
"
2 2

12. Karena !  32 / !  35 -  5.   3 maka didapat


nilai P’(x) dan P’(y) :
2 2
!" , !"   32  8 9 , 35  : ; 
2 2
!" , !"   31, 36

Setelah dilakukan proses embed, nilai pixel P(x) = 32 dan P(y) = 35 dapat
diubah menjadi P’(x) =31 dan P’(y) = 36. Sedangkan untuk proses pengambilan
pesannya dapat dilakukan sebagai berikut :

1. Diketehui nilai P’(x) =31 dan P’(y) = 36.


2. Bentuk tabel kriteria :
Tabel Error! No text of specified style in document..7 Kriteria PVD

Rj lj uj
R1 0 7
R2 8 15
R3 16 31
33

R4 32 63
R5 64 127
R6 128 255
3. Tentukan nilai :

  |!"   !" |


  |31  36|  5
4. Tentunkan nilai lj dan uj sesuai dengan nilai , karena = 5. Maka nilai
 terdapat dalam selang R1 sehingga nilai lj = 0 dan uj = 7.
5. Tentukan nilai wj :
wj = uj – lj +1
wj = 7 – 0 + 1 = 8
6. Tentukan nilai  :
    =
 505
7. Ubah nilai  = 5 menjadi nilai biner = 101.

Setalah dilakukan proses extract, maka pesan yang didapat adalah “101”.

2.2.3 Perbedaan Kriptografi Dengan Steganografi


Hasil dari kriptografi adalah berupa data yang berbeda dari bentuk aslinya
atau serangkaian kode-kode yang tidak memiliki makna, sehingga orang lain tidak
dapat mengetahui informasi apa yang terkandung di dalamnya (Sukianto, 2008).
Kriptografi melakukan penekanan pada menyembunyikan isi (content) pesan dengan
tujuan untuk menjaga keamanan suatu informasi (Munir, 2006).

Gambar Error! No text of specified style in document..27 Hasil Kriptografi


Sedangkan hasil dari steganografi adalah berupa media yang sudah disisipi
pesan dan apabila dilihat secara langsung maka akan memiliki bentuk yang sangat
mirip dengan media aslinya (Sukianto, 2008). Steganografi melakukan penekanan
34

pada menyembunyikan keberadaan (existence) pesan, dengan tujuan untuk


menghindari adanya kecurigaan (Munir, 2006).

Gambar Error! No text of specified style in document..28 Hasil Steganografi


2.2.4 Kompresi Data
2.2.4.1 Pengertian Kompresi Data
Kompresi data merupakan proses perubahan input data ke dalam output data
dengan ukuran yang lebih kecil (Salomon, 2007, P.2). Kompresi ini dapat berupa
text, gambar, suara dan video.
Terdapat dua unsur yang terdapat dalam kompresi data (Salomon, 2007, P.7),
yaitu sebagai berikut :
1. Compressor atau encoder
Program yang melakukan proses kompresi data sehingga membentuk output
data yang memiliki ukuran lebih kecil.
2. Decompressor, decoder, atau dekompresi
Program yang melakukan proses penguraian dari output data yang sudah
dilakukan proses compressor atau encoder ke dalam bentuk aslinya.

2.2.4.2 Kompresi Lossless dan Kompresi Lossy


Kompresi lossy merupakan metode kompresi yang mehilangkan beberapa
informasi yang terdapat dalam file, sehingga menghasilkan ukuran file menjadi relatif
lebih kecil. Sedangkan proses dekompresinya menghasilkan data yang tidak sesuai
dengan data awalnya. Jenis kompresi ini biasanya dilakukan pada media gambar
(JPEG), suara dan video (Salomon, 2007, P.8).
Kompresi lossless merupakan metode kompresi yang tidak menghilangkan
informasi yang terdapat dalam file. Sedangkan proses dekompresinya menghasilkan
data yang sesuai dengan data awalnya, namun hasil kompresi ini menghasilkan
35

ukuran file lebih besar jika dibandingkan dengan kompresi lossy. Jenis kompresi ini
biasanya dilakukan pada media text dan gambar (PNG) (Salomon, 2007, P.8).

2.2.4.3 Metode Kompresi


2.2.4.3.1 Dictionary Based Compression
Dictionary Based Compression merupakan algoritma kompresi yang tidak
menggunakan metode statistik, tetapi menggunakan representasi simbol-simbol yang
terdapat dalam kamus, yaitu dengan cara menggantikan input data dengan simbol
yang terdaftar dalam kamus (Salomon, 2007, P.171).
Dictionary Based Compression menggunakan kamus dalam proses kompresi
dan dekompresi data. Algoritma ini bersifat statik, yaitu semua simbol yang terdapat
di dalam kamus dapat digunakan sebagai acuan untuk berbagai input-an data,
sehingga kamus ini dapat diimplementasikan ke dalam aplikasi.
Sebagai contoh, diberikan kamus sebagai berikut :
Tabel Error! No text of specified style in document..8 Kamus Dictionary Based
Compression

Input Simbol
a 00
b 01
ab 10
r 11

Pesan yang akan dikompresi ialah “abr”, maka hasil kompresinya adalah 1011.
Dalam penelitian ini akan menggabungkan algoritma Dictionary Based
Compression dengan tujuan untuk menekan banyaknya data yang disisipkan dan
menjaga kualitas gambar dalam proses steganografi, yaitu dengan cara merubah
input-an dua huruf yang terdapat kamus menjadi representasi 8 bit (satu huruf).

2.2.4.3.2 Pembentukan Kamus Dictionary Based Compression


Aplikasi dapat menerima input-an keyboard (huruf, angka, tanda baca dan
simbol). Sehingga input-an harus dirubah ke dalam American Standard Code for
Information Interchange (ASCII) agar dapat dilakukan proses enkripsi dan
penyisipan pesan.
American Standard Code for Information Interchange (ASCII) terdiri dari
256 karakter, yaitu sebagai berikut (sumber : http://www.ascii-code.com, diakses
maret 2014) :
36

1. ASCII control characters (0 - 31)


Terdiri dari 32 karakter yang tidak dapat dicetak dan digunakan untuk proses
peripherals.
2. ASCII printable characters (32 - 127)
Terdiri dari 96 karakter yang biasanya terdapat dalam keyboard (huruf,
angka, tanda baca dan simbol).
3. ASCII The extended ASCII codes (128 - 255)
Terdiri dari 128 karakter yang merepresentasikan simbol-simbol khusus yang
terdapat dalam Microsoft Windows (ISO Latin-1).

ASCII printable characters (32 – 127), digunakan dalam penelitian untuk


representasi input-an keyboard (huruf, angka, tanda baca dan simbol) ke dalam nilai
desimal dan biner, sebagai bagian dari proses enkripsi dan penyisipan pesan :
Tabel Error! No text of specified style in document..9 ASCII Printable Characters

Desimal Biner ASCII Desimal Biner ASCII


32 00100000 spasi 80 01010000 P
33 00100001 ! 81 01010001 Q
34 00100010 " 82 01010010 R
35 00100011 # 83 01010011 S
36 00100100 $ 84 01010100 T
37 00100101 % 85 01010101 U
38 00100110 & 86 01010110 V
39 00100111 ' 87 01010111 W
40 00101000 ( 88 01011000 X
41 00101001 ) 89 01011001 Y
42 00101010 * 90 01011010 Z
43 00101011 + 91 01011011 [
44 00101100 , 92 01011100 \
45 00101101 - 93 01011101 ]
46 00101110 . 94 01011110 ^
47 00101111 / 95 01011111 _
48 00110000 0 96 01100000 `
49 00110001 1 97 01100001 a
50 00110010 2 98 01100010 b
51 00110011 3 99 01100011 c
52 00110100 4 100 01100100 d
53 00110101 5 101 01100101 e
54 00110110 6 102 01100110 f
55 00110111 7 103 01100111 g
56 00111000 8 104 01101000 h
37

57 00111001 9 105 01101001 i


58 00111010 : 106 01101010 j
59 00111011 ; 107 01101011 k
60 00111100 < 108 01101100 l
61 00111101 = 109 01101101 m
62 00111110 > 110 01101110 n
63 00111111 ? 111 01101111 o
64 01000000 @ 112 01110000 p
65 01000001 A 113 01110001 q
66 01000010 B 114 01110010 r
67 01000011 C 115 01110011 s
68 01000100 D 116 01110100 t
69 01000101 E 117 01110101 u
70 01000110 F 118 01110110 v
71 01000111 G 119 01110111 w
72 01001000 H 120 01111000 x
73 01001001 I 121 01111001 y
74 01001010 J 122 01111010 z
75 01001011 K 123 01111011 {
76 01001100 L 124 01111100 |
77 01001101 M 125 01111101 }
78 01001110 N 126 01111110 ~
79 01001111 O 127 01111111 DEL

Terdapat ASCII khusus yang digunakan dalam penelitian ini :


1. DEL (ASCII 127) digunakan untuk command DEL, sehingga ASCII ini dapat
digunakan untuk penanda akhiran dalam proses steganografi.
2. \t (ACII 9) digunakan untuk tab.
3. \n (ASCII 10) digunakan untuk membuat baris baru (enter).
4. \r (ASCII 13) digunakan untuk untuk meletakkan kursor diawal baris
bersangkutan (carriage return).
5. ASCII control characters (0 - 31) digunakan untuk membentuk simbol
kamus (29 karakter), kecuali ASCII (9, 10 dan 13).
6. ASCII The extended ASCII codes (128 - 255) digunakan untuk membentuk
simbol kamus (128 karakter).

Sehingga terdapat 157 karakter (29 + 128) yang dapat digunakan untuk
membangun simbol kamus dalam algoritma Dictionary Based Compression.
Terbentuknya kamus ini digunakan untuk merubah input-an dua huruf yang terdapat
kamus menjadi representasi 8 bit (satu huruf), karena terdapat 157 simbol yang dapat
38

disusun, maka dalam peneltian ini akan menggunakan frekuensi huruf yang sering
muncul dalam bahasa Indonesia untuk membangun kamus tersebut.
Frekuensi huruf yang sering muncul dalam bahasa Indonesia (sumber :
http://www.cryptogram.org/cdb/words/frequency.html, diakses maret 2014) :
Tabel Error! No text of specified style in document..10 Frekuensi Huruf Indonesia

Karakter Frekuensi Karakter Frekuensi


a 22,719 % h 2,701 %
n 8,786 % l 2,533 %
e 8,678 % y 1,632 %
i 5,996 % o 1,197 %
k 5,521 % g 0,979 %
r 5,274 % j 0,682 %
u 4,937 % w 0,385 %
t 4,848 % c 0,316 %
s 4,700 % f 0,128 %
d 4,541 % v 0,019 %
m 4,136 %
p 3,156 %
b 3,097 %

Sehingga 156 simbol kamus dalam algoritma Dictionary Based Compression


dapat dibentuk dengan cara perkalian dot product (12 X 13) antara frekuensi huruf
yang sering muncul dalam bahasa Indonesia :

Tabel Error! No text of specified style in document..11 Perkalian Dot Product


Huruf Indonesia
39

Sehingga hasil dari dot product tersebut dapat dibentuk menjadi kamus untuk
algoritma Dictionary Based Compression, yaitu sebagai berikut :
Tabel Error! No text of specified style in document..12 Hasil Perkalian Dot
Product

Desimal Biner Simbol Desimal Biner Simbol


0 00000000 aa 177 10110001 ua
1 00000001 an 178 10110010 un
2 00000010 ae 179 10110011 ue
3 00000011 ai 180 10110100 ui
4 00000100 ak 181 10110101 uk
5 00000101 ar 182 10110110 ur
6 00000110 au 183 10110111 uu
7 00000111 at 184 10111000 ut
8 00001000 as 185 10111001 us
11 00001011 ad 186 10111010 ud
12 00001100 am 187 10111011 um
14 00001110 ap 188 10111100 up
15 00001111 ab 189 10111101 ub
16 00010000 na 190 10111110 ta
17 00010001 nn 191 10111111 tn
18 00010010 ne 192 11000000 te
19 00010011 ni 193 11000001 ti
20 00010100 nk 194 11000010 tk
21 00010101 nr 195 11000011 tr
40

22 00010110 nu 196 11000100 tu


23 00010111 nt 197 11000101 tt
24 00011000 ns 198 11000110 ts
25 00011001 nd 199 11000111 td
26 00011010 nm 200 11001000 tm
27 00011011 np 201 11001001 tp
28 00011100 nb 202 11001010 tb
29 00011101 ea 203 11001011 sa
30 00011110 en 204 11001100 sn
31 00011111 ee 205 11001101 se
128 10000000 ei 206 11001110 si
129 10000001 ek 207 11001111 sk
130 10000010 er 208 11010000 sr
131 10000011 eu 209 11010001 su
132 10000100 et 210 11010010 st
133 10000101 es 211 11010011 ss
134 10000110 ed 212 11010100 sd
135 10000111 em 213 11010101 sm
136 10001000 ep 214 11010110 sp
137 10001001 eb 215 11010111 sb
138 10001010 ia 216 11011000 da
139 10001011 in 217 11011001 dn
140 10001100 ie 218 11011010 de
141 10001101 ii 219 11011011 di
142 10001110 ik 220 11011100 dk
143 10001111 ir 221 11011101 dr
144 10010000 iu 222 11011110 du
145 10010001 it 223 11011111 dt
146 10010010 is 224 11100000 ds
147 10010011 id 225 11100001 dd
148 10010100 im 226 11100010 dm
149 10010101 ip 227 11100011 dp
150 10010110 ib 228 11100100 db
151 10010111 ka 229 11100101 ma
152 10011000 kn 230 11100110 mn
153 10011001 ke 231 11100111 me
154 10011010 ki 232 11101000 mi
155 10011011 kk 233 11101001 mk
156 10011100 kr 234 11101010 mr
157 10011101 ku 235 11101011 mu
41

158 10011110 kt 236 11101100 mt


159 10011111 ks 237 11101101 ms
160 10100000 kd 238 11101110 md
161 10100001 km 239 11101111 mm
162 10100010 kp 240 11110000 mp
163 10100011 kb 241 11110001 mb
164 10100100 ra 242 11110010 pa
165 10100101 rn 243 11110011 pn
166 10100110 re 244 11110100 pe
167 10100111 ri 245 11110101 pi
168 10101000 rk 246 11110110 pk
169 10101001 rr 247 11110111 pr
170 10101010 ru 248 11111000 pu
171 10101011 rt 249 11111001 pt
172 10101100 rs 250 11111010 ps
173 10101101 rd 251 11111011 pd
174 10101110 rm 252 11111100 pm
175 10101111 rp 253 11111101 pp
176 10110000 rb 254 11111110 pb

Sebagai contoh, diberikan kalimat “binus” maka kalimat ini dapat dirubah
menjadi :
“bi” tidak terdapat dalam kamus maka dirubah menjadi :
b => 98 (nilai desimal ASCII).
i => 105 (nilai desimal ASCII).
“nu” terdapat dalam kamus maka dirubah menjadi 22 (nilai desimal kamus).
“s” dirubah menjadi 115 (nilai desimal ASCII).
Maka kalimat “binus” dapat direpresentasikan menjadi “98 105 22 115”.

2.2.5 Metode Evaluasi


2.2.5.1 Peak Signal to Noise Ratio (PSNR)
Peak Signal to Noise Ratio (PSNR) merupakan metode pengujian secara
objektif yang digunakan untuk mengevaluasi kualitas stego-image berdasarkan
perhitungan matematika. Sehingga semakin tinggi nilai PSNR maka perbedaan
antara cover-image dan stego-image semakin kecil (Pan, Huang, C.Jain, & Zaho,
2013, P.9).
42

Untuk menghitung nilai PSNR, terlebih dahulu harus menentukan nilai Mean
Square Error (MSE). MSE merupakan nilai error kuadrat rata-rata antara cover-
image dengan stego-image.
Menurut (Pan, Huang, C.Jain, & Zaho, 2013, P.9). PSNR dan MSE dapat
didefinisikan sebagai berikut :

Karena dalam penelitian ini menggunakan media gambar berwarna RGBA


(Red, Green, Blue, Alpha) maka MSE dapat dinyatakan sebagai berikut :

dimana :
W = Lebar gambar.
H = Tinggi gambar.
I = Cover-image.
I’ = Stego-image.
Menurut (Salomon, 2007, P.281) nilai PSNR dikatakan baik jika mencapai
nilai 25 atau lebih, artinya tidak terjadi perbedaan besar antara cover-image dengan
stego-image.

2.2.5.2 Mean Opinion Score (MOS)


Mean Opinion Score (MOS) merupakan metode pengujian secara subjektif
yang digunakan untuk menganalisa kualitas gambar berdasarkan penglihatan
manusia (Piarsa, 2011).
Menurut (Piarsa, 2011) terdapat tabel yang digunakan untuk mengukur MOS,
yaitu sebagai berikut :
Tabel Error! No text of specified style in document..13 Kriteria Nilai MOS

Nilai MOS Kualitas Gambar Keterangan MOS


5 Sangat Bagus Kemiripan gambar (90 % - 100 %)
4 Bagus Kemiripan gambar (70 % - 90 %)
3 Sedang Kemiripan gambar (60 % - 70 %)
2 Buruk Kemiripan gambar (40 % - 60 %)
1 Sangat Buruk Kemiripan gambar (< 40 %)
43

Pengujian ini dilakukan dengan cara kuesioner melalui teknik Simple Random
Sampling. Simple Random Sampling merupakan teknik pengambilan sampel secara
acak sehingga tiap unit sampel mempunyai peluang yang sama untuk diambil sebagai
sampel (Kazmier, 2005, P.3).
Untuk menentukan nilai MOS dalam penelitian ini. Maka MOS dapat
dinyatakan sebagai berikut :
∑@AB CDBAB4BE FBGHBI J KDGABL MNEOPQN
∑ @AB CDBA4BE FBGHBI
MOS =

2.2.6 Portable Network Graphics (PNG)


Portable Network Graphics (PNG) merupakan salah satu format gambar yang
memiliki sifat lossless, yaitu menggunakan metode kompresi yang tidak
menghilangkan bagian informasi dari gambar dan proses dekompresinya akan
menghasilkan data yang sama dengan data awalnya. PNG mempunyai faktor
kompresi yang lebih baik dibandingkan dengan GIF (5% - 25% lebih baik dibanding
format GIF).
Kelebihan PNG adalah terdapatnya tambahan alpha channel yaitu gambar
dapat memiliki transparansi. Karena sifat transparannya yang tidak pecah-pecah
maka PNG masuk ke dalam 24-bit yang cocok untuk membuat screenshoot dan
sangat baik untuk grafis internet.
Format PNG dapat dijadikan media penampung yang baik dalam proses
steganografi, karena :
1. PNG memiliki sifat lossless, sehingga pesan yang telah disisipkan dalam
format PNG dapat diambil atau diungkapkan kembali.
2. PNG memiliki tambahan alpha channel, sehingga dapat meningkatkan
jumlah pesan yang dapat disisipkan.

2.2.7 Website
Menurut (Hidayat, 2010, P.2) website merupakan kumpulan halaman-
halaman yang digunakan untuk menampilkan informasi teks, gambar, suara, animasi
atau gabungan dari semuanya yang saling berhubungan antara satu dengan lainnya.
44

2.2.7.1 Hyper Text Markup Language (HTML)


Menurut (Rachdian & Sikumbang, 2006, P.2) Hyper Text Markup Language
merupakan sebuah bahasa markup (tag) yang digunakan untuk membuat sebuah
halaman web. Bahasa ini berguna untuk mengatur struktur dan isi dari suatu halaman
web.

2.2.7.2 Cascading Style Sheets (CSS)


Menurut (Ollie, 2008, P.50) CSS merupakan bahasa yang digunakan untuk
mengatur bentuk tampilan atau style dari suatu halaman web. Sehingga CSS dapat
memungkinkan sebuah halaman web menjadi menarik dan interaktif.

2.2.7.3 Server side dengan Clinet side


Menurut (Parsons & Oja, 2012, P.372) server side melakukan eksekusi script
di dalam server dan mengirimkan hasilnya ke web browser menjadi HTML.
Sedangkan clinet side melakukan eksekusi script di komputer local dan
menampilkan informasinya melalui web browser.
Keuntungan server-side programming :
1. Cross-platfom : tidak tergantung pada web browser, karena script hanya
dapat dieksekusi di sever.
2. Optimasi dan pemeliharaan dilakukan di server.
3. Script aman, karena client tidak dapat mengakses script.

2.2.7.3.1 Hypertext Preprocessor (PHP)


Menurut (Oktavian, 2010, P.31) PHP merupakan bahasa server-side
programming yang digunakan untuk mengelola suatu data dan mengirimkan hasilnya
ke web browser menjadi HTML. PHP memungkinkan halaman web menjadi dinamis
dan interaktif.
PHP memiliki ciri-ciri sebagai berikut :
1. PHP bersifat open source, artinya dapat digunakan secara gratis.
2. PHP bersifat multiplatform, artinya dapat dijalankan di berbagai sistem
operasi.
3. PHP dapat mengakses database, seperti : MySQL, Oracle, dan lainnya.
45

Anda mungkin juga menyukai