7
  
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  I ncremental Process memakai 
urutan-urutan linear yang berulang dalam membangun suatu perangkat lunak. Seiring 
berjalan  waktu  pengerjaan,  setiap  urutan  linear  akan  men gh asilkan  perkembangan 
dalam pengerjaan perangkat lunak yang kemudian dapat digunakan oleh p engguna. 
Pada  model  incremental  yang  pertama  sering  disebut  sebagai  core  product. 
Core  product  adalah  dasar  kebutuhan  yang  diperlukan  oleh  pengguna,   terkadan g 
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  berulan g  hingga  men ghasilkan 
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 
  
  
function), pada  incremen tal  kedua memberikan  tambahan  agar  menjadi lebih
baik  (advance  editing  dan  document  production  capabilities)  dan  pada  in cremental 
ketiga  memb erikan  tambahan  selanjutn ya  (spelling  dan  grammar  checking)  proses 
ini dilakukan berulang hingga menghasilkan produk yang lengkap. 
Model  Incremental  Process  dapat  digunakan  untuk  project  yan g  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 yan g 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  yan g  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  dokumenta
atas  fitur  yang  telah 
dibangun  dan  developer akan  menerima  umpan  balik  da
pengguna  sebagai 
bentuk  informasi  untuk  perbaikan  dan  penambahan  fitur  da
perangkat  lunak 
yang telah terbentuk.     
  
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  fun gsi  dan  fitur  –  fitur  per angkat  lunak  terhad ap  keinginan 
pengguna (S.Pressman, 2010, P.847).
Gambar Error! No tex t 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.
Ga mbar Error! No text of specified style in document..3 Contoh Actor
 
  
10 
  
b.  Use Case 
Use  Case menggamb arkan  apa  yan g  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 C ase  Narrative merupakan  deskripsi  mengenai  urutan-urutan p roses  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 C ase 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  yan g  dilakukan  terhadap 
sistem.  Activity  Diagram  dapat  dibagi  berdasarkan  partisipasi  untuk  memberikan 
penjelasan terhadap setiap aksi yang dilakukan (S.Pressman, 2010, P.853).   
Ga mbar 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. 
Ga mbar 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  yan g  dapat  memberikan  pandangan
struktural  dari sistem. Class  diagram digunakan  untuk memodelkan kelas-kelas yan g 
berisikan  atribut, operasi dan hubungan  relasi antar kelas  yang terdapat dalam  sistem 
(S.Pressman, 2010, P.842).  
Class2
+Operation()
-Attribute
1..*
Class1
+Operation()
-Attribute
1
Class3
+Operation()
-Attribute
0..*
  
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 blu eprint  yang berisikan  atribut dan operasi yan g 
menggambarkan  kumpulan  objek  yang  sama.  Attribut  merupakan  gambaran data 
dari  suatu  kelas.  Sedangkan  operasi  digunakan  untuk  mengakses  attribut  yan g 
terdapat dalam kelas.
Gambar Error! No tex t 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 tex t of specified style in document..2 Deskripsi Visibility
Visibility  Simbol
Keterangan
Private  -  Atribut  dan  operasin ya  hanya  dapat  diakses  oleh  kelas
yang mendefinisikannya. 
Public  +  Atribut dan operasinya dapat diakses oleh kelas lainnya.
Protected   #  Atribut  dan  operasin ya  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  menyataka
jumlah  instance  dari  suatu  class  yan g 
dihubungkan ke class lainn ya (S.Pressman, 201
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
ban yak data. 
Zero or many  0…*  Instance  yang  dihubungkan  dapat  mempunyai
ban yak 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 docu ment..14 Conto
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). 
Ga mbar 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 yan g  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.  
Ga mbar Error! No text of specified style in document..17 Contoh Actor
b.  Class roles 
Menggambarkan class yang berkaitan dengan proses yang sedan g b erjalan.  
  
   
 
  
   
  
   
   
 
17 
Class
Gambar Error! No text of specified style in document.
Error! No text of specified style in document..18 Contoh
Contoh Class Roles
c.  Activation bar 
Menggambarkan waktu yang diperlukan untuk  menyelesaikan  suatu  proses  yang 
sedang berjalan. 
Menggambarkan waktu yang diperlukan untuk  menyelesaikan  suatu  proses  yang 
Menggambarkan waktu yang diperlukan untuk  menyelesaikan  suatu  proses  yang 
Gambar Error! No text of specified style in document.
Error! No text of specified style in document..19 Contoh
Contoh Activation bar
d.  Lifelines 
Menggambarkan garis kehidupan dari suatu 
Menggambarkan garis kehidupan dari suatu class roles.  
Ga mbar Error! No text of specified style in document.
Error! No text of specified style in document..20 Contoh
Contoh Lifelines
e.  Messages 
Menggambarkan jalur komunikasi antar 
Menggambarkan jalur komunikasi antar class.  
Message
Ga mbar Error! No text of specified style in document.
Error! No text of specified style in document..21 Contoh
Contoh Messages
f.  Destroying Object
Destroying Object 
Menggambarkan bahwa proses sudah selesai. 
Menggambarkan bahwa proses sudah selesai.  
Gambar Error! No text of spe
Error! No text of specified style in document..22 Contoh
Contoh Destroying
Object
  
18 
  
2.1.3 Flow Chart
Sebuah  diagram  simbol  yang  digun akan  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 lan gk ah awal 
atau akhiran.   
  Process  Menyatakan su atu proses dari 
sebuah alo gritma. 
  Decision  Menyatakan su atu kondisi 
tertentu untuk memilih. 
  Input/Ouput  Menyatakan su atu input atau 
output yan g terjadi dalam 
suatu algo ritma.
  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 yan g mempelajari  hubungan  antara 
manusia  dengan  komputer  yang  berkaiatan  dengan  perancangan,  evaluasi  dan 
implementasi  antarmuka  agar  dapat  digunakan  secara  mudah  (Shneid erman  & 
Plaisant, 2005, P.74). 
  
19 
2.1.4.2 Delapan Aturan Emas
Menurut  (Shneiderman  &  Plaisant,  2010,  P.88-89)  terdapat  8  aturan  yang 
dapat  digunak an  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  dap at  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  p engguna,  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  mendetek
kesalahan  dan 
memberikan  mekanisme  yang  sederhana  terhadap  aksi  yan
dilakukan  oleh 
pengguna. 
6.  Memungkinkan kembali ke tindakan sebelumnya 
Sebaiknya  sebuah  user  interface  dapat  memb atalkan  sebuah  aksi  yang 
dilakukan  oleh  pengguna,  sehingga  pengguna  dapat  mengeksplorasi  pilihan-
pilihan tanpa adanya kecemasan melakuk an kesalahan.  
7.  Mendukung pusat kendali internal 
Sebaiknya  sebuah user interface dirancang sedemikian rupa menjadi inisiator 
daripada  responden,  sehingga  user  interface  dapat  men garahkan  pengguna 
dan memberikan langkah-langkah proses tahapan hingga bagian penutup. 
8.  Mengurangi beban ingatan jangka pendek 
Sebaiknya  sebu ah  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  men gubah  atau mengacak  pesan  menjadi  kode-kode  yang 
tidak  bermakna  (ciphertext)  (Paar  &  Pelzl,  2010,  P.3).  Kemudian  h asil  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     pt   (hidden  atau  secret) 
yang  b erarti  rahasia  dan    aø   (writing)  yan g  berarti  tulisan,  sehingga  kriptografi 
dapat diartikan menjadi “tulisan rahasia” (Munir, 2013).  
Kriptografi sudah terdapat sejak 4000 tahun  yang lalu, tepatn ya 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   pen yandian  dengan  menggunakan  daun 
papyrus  yang  dililitkan  pada  batang  pohon.  Pesan  asli  (plaintext)  ditulis  secara 
horisontal  pada  daun  pap yrus,  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,  den gan  menggeser 
susunan  alphab et  maka pesan  asli (plaintext)  dapat diubah menjadi susunan  alphabet 
yang telah teracak (ciphertext). 
Pada  perang  dunia kedua,  Jerman  menggunakan  kriptogr afi  dalam  keperluan 
militern ya, 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 p erlu  diperhatikan  dalam  kriptografi  (Stallings, 20 10, 
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  digunaka
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)  yan g  hanya  diketahui  oleh  penerima  pesan  (Stallings, 
2010, P.267). 
  
Gambar Error! No tex t of specified style in docu ment..24 Kriptografi Asimetrik
2.2.1.5 Metode Kriptograf i
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  yan g  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. 
  
       c adalah ciphertext yang ke-i.   k adalah kunci yang ke-i.
23 
Sebagai contoh : 
           p (plaintext)    = BINUS 
           k (kunci)      = TESTE 
           c (ciphertext)   = UMFNW  
Untuk  men yandikan  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  (Pamun gkas,  2007),  namun  Vigenere  Cipher 
tidak  menjadi optimal pada panjang pesan yang melebihi panjang kuncin ya, 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 fun gsi  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  yan g 
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  oran g  lain  tidak  dapat  men yadari  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  dipandan g  sebagai  kelanjutan  kriptografi.  Dalam 
kriptografi, pesan akan dirubah menjadi kode-kode yang tidak bermakna (ciphertext). 
Dalam  steganografi,  ciphertext  tersebut  dapat  disembun yikan  ke  dalam  suatu  media 
sehingga pihak luar tidak dapat menyadari keberadaan pesan tersebut  (Mu nir, 2004).  
2.2.2.2 Sejarah Steganografi
Steganografi  berasal  dari  bahasa  Yunani,  yaitu  steganos  (ste a   )  yang 
berarti  tertutupi  atau  terlindungi,  dan  graphein  (    e  )  yang  berarti  menulis. 
Sehingga  stegano grafi  dapat  diartikan  menjadi  “tulisan  tersembunyi”.  Steganografi 
membutuhkan  dua  unsur  terpenting  yaitu  pesan  yan g  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 yan g sudah tumbuh. 
Steganografi lainnya  dikenal  dengan  menggunakan "invisible ink" (tinta yang 
tidak  tampak),  yaitu  pesan  terlebih  dahulu  ditulis dengan menggunakan  invisible  ink, 
tinta  ini  han ya  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  den gan  cara 
menggambar  peta-peta  posisi  musuh  pada  sayap  kupu-kupu  agar  gambar  –  gambar 
peta sasaran tersebut terkamuflase. 
Pada  perang  dunia  pertama,  Jerman  menggunakan  stegano grafi  untuk 
mengirimkan  pesan  dengan  car a  men yembunyikan  pesan  dengan  microdot,  yaitu 
mengecilkan ukuran tulisan hingga men yerupai 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  yan g  terd apat  dalam  suatu  media  penampung,  yang  digunakan 
untuk men yamarkan keberadaan hiddentext. 
3.  Stego-object (stegoimage) 
Media  yang  sudah  disisipi  pesan,  merupakan  hasil  akhir  bagi  proses 
steganografi. 
4.  Stego-key 
Kunci  yang digunakan  untuk  pen yisipan  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)  yan g  telah  disisipkan 
pada suatu media. 
  
Gambar Error! No tex t of specified style in docu ment..25 Proses Stegano grafi
2.2.2.4 Kriteria Steganografi 
Dalam penyembun yian 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  yan g  disembunyikan  dalam  suatu  media  haru
dapat  dibangun 
kembali. Sehingga data tersebut dapat digunakan lebih lanjut. 
Point  Robustness  dalam  steganografi,  tidak  terlalu  penting  karen a  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 stegano grafi pada media
gambar  yang digun akan untuk menyembunyikan data rahasia  dengan cara  mengganti 
bit-bit  terakhir  pada  pixel  gambar  den gan  bit-bit  data  rahasia  (Abraham,  Mauri, 
Buford, & Suzuki, 2011, P.621).
Pada umumnya,  setiap  pixel  dalam  gambar dap at  terdiri  dari satu  hin gga 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  han ya 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  karen a  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  yan g  ak an  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  sederh ana  dalam  menyembunyikan
keberadaan  (existence)  p esan  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 den gan 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  pen yembunyian  pesan,  diberikan 
kunci  dengan  kata  “binus”  dan  pesan  yang  ingin  disisipkan  adalah  “coba”  dengan 
representasi biner “0110 0011 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 
  
            00010000  s =  01110011        01100011 => 99 (Nilai Angk a Desimal)
29 
Setelah  mendapatkan  nilai  kunci  k e  dalam  angka  desimal,  selanjutnya  melakukan 
perhitungan untuk pembangkit bilangan acak dengan rumus sebagai berikut :  
dimana : 
a   = 17  
c   = 7  
= 99 
Sehingga nilai  yang di dapat ialah : 
x 1 = (17 * 99)   + 7 mod 256 = 154 (10011010)  
x 2 = (17 * 154) + 7 mod 256 = 65   (01000001) 
x 3 = (17 * 65)   + 7 mod 256 = 88   (01011000) 
Demikian seterusnya untuk  x4, x5, x6,….,xn. 
Untuk  mendapatkan h asil 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  med ia  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  seterusn ya  dilakukan  hingga  seluruh  barisan  biner  modulasi 
tersisipkan  dalam  pixel  gambar.  Sedan gkan  untuk  proses  pengambilan  pesannya 
dilakukan proses kebalikannya dari proses penyembuyian pesan. 
2.2.2.5.3 Pixel Value Differencing (PVD)
Pixel  Value  Differencin g  (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  berd ekatan  (P(x)  =  32  dan  P(y)  =  35),  maka  untuk  melakukan  proses 
penyembun yian  pesan  dalam  suatu  media  gamb ar,  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 : 
  
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 
=    
=    
5.  Diambil  pesan  sebanyak  nilai  ,  karena    =  3.  Maka  diambil  pesan 
sebanyak tiga digit, sehingga pesan yang didapat ialah “101”. 
6.  Tentukan  nilai    den gan  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 : 
   
  
9.  Tentukan nilai P’(x) dan P’(y) melalui kriteria embed : 
  
  
  
32 
  
  
  
10. Jika P’(x) < 0 atau P’(y) < 0 maka : 
  
11. Jika P’(x) > 255 atau P’(y) > 255 maka : 
  
12. Karena 
maka  didapat 
nilai P’(x ) dan P’( y) : 
  
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  : 
  
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   : 
  
7.  Ubah nilai   = 5 menjadi nilai biner = 101. 
Setalah dilakukan proses extract, maka pesan yan g didapat adalah “101”.   
2.2.3 Perbedaan Kriptografi Dengan Steganograf i
Hasil  dari  kriptografi  adalah  berupa  data  yan g  b erbeda  dari  bentuk  aslinya
atau  serangkaian  kode-kode  yang  tidak  memiliki  makna,  sehingga  oran g  lain  tidak 
dapat  mengetahui  informasi  apa  yang  terkandu ng  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  aslin ya  (Sukianto,  2008).  Stegano grafi  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  yan g  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  p ada  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  dekompresin ya  menghasilkan 
data  yang  sesuai  dengan  data  awalnya,  n amun  hasil  kompresi  ini  menghasilkan 
  
35 
ukuran file  lebih  besar  jika  dibandingk an  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 menggun akan  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 ad alah 1 011. 
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 k amus menjadi representasi 8 bit (satu huruf).
2.2.4.3.2 Pembentukan Kamus Dictionary Based Compression
Aplikasi  dapat  menerima  input-an  keyboard  (huruf,  angka,  tan da  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  biasan ya  terdap at  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 pen yisipan 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 ASC II khusus yang digunakan dalam penelitian ini : 
1.  DEL (ASCII 127) digunakan  untuk command DEL, sehingga ASC II  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)  d igunakan  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 k amus  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  freku ensi  huruf  yang  sering 
muncul dalam bahasa Indonesia untuk membangun kamus tersebut. 
Frekuensi  huruf   yang  sering  muncul  dalam  bahasa  Indonesia  (sumber  : 
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  men gevaluasi  kualitas  stego-image  b erdasarkan 
perhitungan  matematika.  Sehingga  semakin  tinggi  nilai  PSNR  maka  perbedaan 
antara  cover-imag e  dan  stego-image  semakin  kecil  (Pan,  Huang,  C.Jain,  &  Zaho, 
2013, P.9).  
  
42 
  
Untuk  men ghitung 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 yan g  digunakan untuk  mengukur MOS, 
yaitu sebagai berikut : 
Tabel Error! No text of specified style in document..13 Kriteria Nilai MOS
Nilai MOS  Kualitas Ga mbar  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 %) 
  
      Pengujian ini dilakukan dengan cara kuesioner melalui teknik Simple Random
43 
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 : 
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  dekomp resinya  akan 
menghasilkan  data  yang  sama  dengan  data  awalnya.  PNG  mempun yai  faktor 
kompresi  yang lebih baik  dibandingkan den gan 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  (R achdian  &  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  hasiln ya  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 digunak an secara gratis. 
2.  PHP  bersifat  multiplatform,  artinya  dapat  dijalankan  di  berbagai  sistem 
operasi. 
3.  PHP dapat mengakses database, seperti : MySQL, Oracle, dan lainnya. 
  
45