SlideShare a Scribd company logo
1 of 39
Download to read offline
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 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
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
Deskripsi
Use Case ini mendeskripsikan tentang proses
Backup data.
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).
+Operation()
-Attribute
Class1
+Operation()
-Attribute
Class2
+Operation()
-Attribute
Class3
1
1..*
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 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.
Gambar Error! No text of specified style in document.
c. Activation bar
Menggambarkan waktu yang diperlukan untuk menyelesaikan suatu proses yang
sedang berjalan.
Gambar Error! No text of specified style in document.
d. Lifelines
Menggambarkan garis kehidupan dari suatu
Gambar Error! No text of specified style in document.
e. Messages
Menggambarkan jalur komunikasi antar
Gambar Error! No text of specified style in document.
f. Destroying Object
Menggambarkan bahwa proses sudah selesai.
Gambar Error! No text of spe
Class
Error! No text of specified style in document..18 Contoh
Menggambarkan waktu yang diperlukan untuk menyelesaikan suatu proses yang
Error! No text of specified style in document..19 Contoh
Menggambarkan garis kehidupan dari suatu class roles.
Error! No text of specified style in document..20 Contoh
Menggambarkan jalur komunikasi antar class.
Message
Error! No text of specified style in document..21 Contoh
Destroying Object
Menggambarkan bahwa proses sudah selesai.
Error! No text of specified style in document..22 Contoh
Object
17
Contoh Class Roles
Menggambarkan waktu yang diperlukan untuk menyelesaikan suatu proses yang
Contoh Activation bar
Contoh Lifelines
Contoh Messages
Contoh Destroying
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
 = log8  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 :
!, !
  1!2  3
245
2
6 , !2  3
245
2
67
11. Jika P’(x)  255 atau P’(y)  255 maka :
!, !
  1!2  3
245
2
6 , !2  3
245
2
67
12. Karena !  32 / !  35 -   5 .   3 maka didapat
nilai P’(x) dan P’(y) :
!, !
  32  8
2
2
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  :
    =
  5  0  5
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
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) :
Input Simbol
a 00
b 01
ab 10
r 11
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 :
MOS =
∑@AB CDBAB4BE FBGHBI J KDGABL MNEOPQN
∑ @AB CDBA4BE FBGHBI
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

More Related Content

Similar to Terapan Terapi

Analisa dan Perancangan Sistem Informasi
Analisa dan Perancangan Sistem InformasiAnalisa dan Perancangan Sistem Informasi
Analisa dan Perancangan Sistem Informasi
RAHASIA
 
Tugas 03 0916-gunawan suyanto-1512510205
Tugas 03 0916-gunawan suyanto-1512510205Tugas 03 0916-gunawan suyanto-1512510205
Tugas 03 0916-gunawan suyanto-1512510205
Gunawandul
 
Debbiemistikaweni 1412510982 tugas3
Debbiemistikaweni 1412510982 tugas3Debbiemistikaweni 1412510982 tugas3
Debbiemistikaweni 1412510982 tugas3
debbie95
 

Similar to Terapan Terapi (20)

Uml
UmlUml
Uml
 
12655598.ppt
12655598.ppt12655598.ppt
12655598.ppt
 
Uml
UmlUml
Uml
 
Tugas 3 rekayasa web
Tugas 3 rekayasa webTugas 3 rekayasa web
Tugas 3 rekayasa web
 
Tugas 3 rekayasaweb
Tugas 3 rekayasawebTugas 3 rekayasaweb
Tugas 3 rekayasaweb
 
Tugas 3 rekayasa web
Tugas 3 rekayasa webTugas 3 rekayasa web
Tugas 3 rekayasa web
 
yang dimaksud dengan Unified Modeling Language (UML)
yang dimaksud dengan Unified Modeling Language (UML)yang dimaksud dengan Unified Modeling Language (UML)
yang dimaksud dengan Unified Modeling Language (UML)
 
Bab II Use Case Diagram
Bab II Use Case DiagramBab II Use Case Diagram
Bab II Use Case Diagram
 
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
Bab 2  Dasar Teori perancangan sistem informasi pendaftaran online be smart i...Bab 2  Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
 
Analisa dan Perancangan Sistem Informasi
Analisa dan Perancangan Sistem InformasiAnalisa dan Perancangan Sistem Informasi
Analisa dan Perancangan Sistem Informasi
 
Bab ii isolehfix 1
Bab ii isolehfix 1Bab ii isolehfix 1
Bab ii isolehfix 1
 
Rekayasa Perangkat Lunak
Rekayasa Perangkat LunakRekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
 
UML
UMLUML
UML
 
Tugas umll
Tugas umllTugas umll
Tugas umll
 
Tugas 3
Tugas 3Tugas 3
Tugas 3
 
Tugas 03 0916-gunawan suyanto-1512510205
Tugas 03 0916-gunawan suyanto-1512510205Tugas 03 0916-gunawan suyanto-1512510205
Tugas 03 0916-gunawan suyanto-1512510205
 
Tugas 3 ki-0316-alvin yosua-1411510454
Tugas 3 ki-0316-alvin yosua-1411510454Tugas 3 ki-0316-alvin yosua-1411510454
Tugas 3 ki-0316-alvin yosua-1411510454
 
10. unified modeling language
10. unified modeling language10. unified modeling language
10. unified modeling language
 
Modul uml
Modul umlModul uml
Modul uml
 
Debbiemistikaweni 1412510982 tugas3
Debbiemistikaweni 1412510982 tugas3Debbiemistikaweni 1412510982 tugas3
Debbiemistikaweni 1412510982 tugas3
 

More from rindaaulutamii (20)

Restikim Vertum
Restikim VertumRestikim Vertum
Restikim Vertum
 
Integral Entrasif
Integral EntrasifIntegral Entrasif
Integral Entrasif
 
Integral Retrim
Integral RetrimIntegral Retrim
Integral Retrim
 
Identer Center
Identer CenterIdenter Center
Identer Center
 
Identer Vettum
Identer VettumIdenter Vettum
Identer Vettum
 
Pre Post Intern
Pre Post InternPre Post Intern
Pre Post Intern
 
Sertum Termik
Sertum TermikSertum Termik
Sertum Termik
 
Termik Stream
Termik StreamTermik Stream
Termik Stream
 
Restik Termal
Restik TermalRestik Termal
Restik Termal
 
PrePost Restik
PrePost RestikPrePost Restik
PrePost Restik
 
Propost Sertik
Propost SertikPropost Sertik
Propost Sertik
 
Restorn Wern
 Restorn Wern Restorn Wern
Restorn Wern
 
Prepost Retrum
Prepost RetrumPrepost Retrum
Prepost Retrum
 
Pre Retmik
Pre RetmikPre Retmik
Pre Retmik
 
Prepost Rail
Prepost RailPrepost Rail
Prepost Rail
 
Standar Restrim
Standar RestrimStandar Restrim
Standar Restrim
 
Sertifik Sistem
Sertifik SistemSertifik Sistem
Sertifik Sistem
 
Sertifik Tretum
Sertifik TretumSertifik Tretum
Sertifik Tretum
 
Pretermik Dertik
Pretermik DertikPretermik Dertik
Pretermik Dertik
 
Prepost Termik
Prepost TermikPrepost Termik
Prepost Termik
 

Recently uploaded

BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
FORTRESS
 
PREMIUM!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Kamar Mandi di ...
PREMIUM!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Kamar Mandi di ...PREMIUM!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Kamar Mandi di ...
PREMIUM!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Kamar Mandi di ...
FORTRESS
 
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di IndonesiaPerkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
langkahgontay88
 
ESTETIK!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Coklat di Denpa...
ESTETIK!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Coklat di Denpa...ESTETIK!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Coklat di Denpa...
ESTETIK!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Coklat di Denpa...
FORTRESS
 
PPT - PSAK 109 TENTANG INSTRUMEN KEUANGAN
PPT - PSAK 109 TENTANG INSTRUMEN KEUANGANPPT - PSAK 109 TENTANG INSTRUMEN KEUANGAN
PPT - PSAK 109 TENTANG INSTRUMEN KEUANGAN
dewihartinah
 
04 AKMEN new.pdf........................
04 AKMEN new.pdf........................04 AKMEN new.pdf........................
04 AKMEN new.pdf........................
rendisalay
 
2. PRINSIP KEUANGAN HIJAU- PELATIHAN GREEN FINANCE.pptx
2. PRINSIP KEUANGAN HIJAU- PELATIHAN GREEN FINANCE.pptx2. PRINSIP KEUANGAN HIJAU- PELATIHAN GREEN FINANCE.pptx
2. PRINSIP KEUANGAN HIJAU- PELATIHAN GREEN FINANCE.pptx
erlyndakasim2
 

Recently uploaded (20)

BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
 
PREMIUM!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Kamar Mandi di ...
PREMIUM!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Kamar Mandi di ...PREMIUM!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Kamar Mandi di ...
PREMIUM!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Kamar Mandi di ...
 
tugas kelompok Analisis bisnis aplikasi bukalapak
tugas kelompok Analisis bisnis aplikasi bukalapaktugas kelompok Analisis bisnis aplikasi bukalapak
tugas kelompok Analisis bisnis aplikasi bukalapak
 
Tajuk: SV388: Platform Unggul Taruhan Sabung Ayam Online di Indonesia
Tajuk: SV388: Platform Unggul Taruhan Sabung Ayam Online di IndonesiaTajuk: SV388: Platform Unggul Taruhan Sabung Ayam Online di Indonesia
Tajuk: SV388: Platform Unggul Taruhan Sabung Ayam Online di Indonesia
 
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di IndonesiaPerkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
 
"Mitos dan Kemenangan: Zeus Slot dan Dunia Yunani"
"Mitos dan Kemenangan: Zeus Slot dan Dunia Yunani""Mitos dan Kemenangan: Zeus Slot dan Dunia Yunani"
"Mitos dan Kemenangan: Zeus Slot dan Dunia Yunani"
 
Bab 11 Liabilitas Jangka Pendek dan Penggajian.pptx
Bab 11 Liabilitas Jangka Pendek dan   Penggajian.pptxBab 11 Liabilitas Jangka Pendek dan   Penggajian.pptx
Bab 11 Liabilitas Jangka Pendek dan Penggajian.pptx
 
ESTETIK!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Coklat di Denpa...
ESTETIK!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Coklat di Denpa...ESTETIK!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Coklat di Denpa...
ESTETIK!!! WA 0821 7001 0763 (FORTRESS) Bahan Pintu Aluminium Coklat di Denpa...
 
abortion pills in Kuwait City+966572737505 get Cytotec
abortion pills in Kuwait City+966572737505 get Cytotecabortion pills in Kuwait City+966572737505 get Cytotec
abortion pills in Kuwait City+966572737505 get Cytotec
 
ASKEP WAHAM KELOMPOK 4 vvvvvvvvvPPT.pptx
ASKEP WAHAM KELOMPOK 4 vvvvvvvvvPPT.pptxASKEP WAHAM KELOMPOK 4 vvvvvvvvvPPT.pptx
ASKEP WAHAM KELOMPOK 4 vvvvvvvvvPPT.pptx
 
CALL/WA: 0822 348 60 166 ( TSEL ) Jasa Digital Marketing Solo
CALL/WA: 0822 348 60 166 ( TSEL ) Jasa Digital Marketing SoloCALL/WA: 0822 348 60 166 ( TSEL ) Jasa Digital Marketing Solo
CALL/WA: 0822 348 60 166 ( TSEL ) Jasa Digital Marketing Solo
 
PPT - PSAK 109 TENTANG INSTRUMEN KEUANGAN
PPT - PSAK 109 TENTANG INSTRUMEN KEUANGANPPT - PSAK 109 TENTANG INSTRUMEN KEUANGAN
PPT - PSAK 109 TENTANG INSTRUMEN KEUANGAN
 
04 AKMEN new.pdf........................
04 AKMEN new.pdf........................04 AKMEN new.pdf........................
04 AKMEN new.pdf........................
 
Nilai-Waktu-Uang.pptx kdgmkgkdm ksfmkdkmdg
Nilai-Waktu-Uang.pptx kdgmkgkdm ksfmkdkmdgNilai-Waktu-Uang.pptx kdgmkgkdm ksfmkdkmdg
Nilai-Waktu-Uang.pptx kdgmkgkdm ksfmkdkmdg
 
UNIKBET : Agen Slot Resmi Pragmatic Play Ada Deposit Sesama Linkaja
UNIKBET : Agen Slot Resmi Pragmatic Play Ada Deposit Sesama LinkajaUNIKBET : Agen Slot Resmi Pragmatic Play Ada Deposit Sesama Linkaja
UNIKBET : Agen Slot Resmi Pragmatic Play Ada Deposit Sesama Linkaja
 
Manajemen_Risiko_PT_Murni_Sadar_Tbk.pdf man
Manajemen_Risiko_PT_Murni_Sadar_Tbk.pdf manManajemen_Risiko_PT_Murni_Sadar_Tbk.pdf man
Manajemen_Risiko_PT_Murni_Sadar_Tbk.pdf man
 
Slide tentang Akuntansi Perpajakan Indonesia
Slide tentang Akuntansi Perpajakan IndonesiaSlide tentang Akuntansi Perpajakan Indonesia
Slide tentang Akuntansi Perpajakan Indonesia
 
Memaksimalkan Waktu untuk Mendapatkan Kampus Impian melalui SBMPTN (1).pptx
Memaksimalkan Waktu untuk Mendapatkan Kampus Impian melalui SBMPTN (1).pptxMemaksimalkan Waktu untuk Mendapatkan Kampus Impian melalui SBMPTN (1).pptx
Memaksimalkan Waktu untuk Mendapatkan Kampus Impian melalui SBMPTN (1).pptx
 
2. PRINSIP KEUANGAN HIJAU- PELATIHAN GREEN FINANCE.pptx
2. PRINSIP KEUANGAN HIJAU- PELATIHAN GREEN FINANCE.pptx2. PRINSIP KEUANGAN HIJAU- PELATIHAN GREEN FINANCE.pptx
2. PRINSIP KEUANGAN HIJAU- PELATIHAN GREEN FINANCE.pptx
 
MODUL PEGAJARAN ASURANSI BELUM KOMPLIT 1
MODUL PEGAJARAN ASURANSI BELUM KOMPLIT 1MODUL PEGAJARAN ASURANSI BELUM KOMPLIT 1
MODUL PEGAJARAN ASURANSI BELUM KOMPLIT 1
 

Terapan Terapi

  • 1. 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 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
  • 2. 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.
  • 3. 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
  • 4. 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 Deskripsi Use Case ini mendeskripsikan tentang proses Backup data. 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.
  • 5. 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
  • 6. 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). +Operation() -Attribute Class1 +Operation() -Attribute Class2 +Operation() -Attribute Class3 1 1..* 0..* Gambar Error! No text of specified style in document..11 Contoh Class Diagram
  • 7. 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).
  • 8. 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).
  • 9. 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).
  • 10. 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.
  • 11. Gambar Error! No text of specified style in document. c. Activation bar Menggambarkan waktu yang diperlukan untuk menyelesaikan suatu proses yang sedang berjalan. Gambar Error! No text of specified style in document. d. Lifelines Menggambarkan garis kehidupan dari suatu Gambar Error! No text of specified style in document. e. Messages Menggambarkan jalur komunikasi antar Gambar Error! No text of specified style in document. f. Destroying Object Menggambarkan bahwa proses sudah selesai. Gambar Error! No text of spe Class Error! No text of specified style in document..18 Contoh Menggambarkan waktu yang diperlukan untuk menyelesaikan suatu proses yang Error! No text of specified style in document..19 Contoh Menggambarkan garis kehidupan dari suatu class roles. Error! No text of specified style in document..20 Contoh Menggambarkan jalur komunikasi antar class. Message Error! No text of specified style in document..21 Contoh Destroying Object Menggambarkan bahwa proses sudah selesai. Error! No text of specified style in document..22 Contoh Object 17 Contoh Class Roles Menggambarkan waktu yang diperlukan untuk menyelesaikan suatu proses yang Contoh Activation bar Contoh Lifelines Contoh Messages Contoh Destroying
  • 12. 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).
  • 13. 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
  • 14. 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.
  • 15. 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).
  • 16. 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.
  • 17. 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).
  • 18. 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
  • 19. 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)
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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 = log8 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 ), *+ ! / ! - .
  • 26. 32 !, ! $! % 2 , ! ' 2 (), *+ ! , ! - 0 !, ! $! % 2 , ! ' 2 (), *+ ! / ! - 0 10. Jika P’(x) 0 atau P’(y) 0 maka : !, ! 1!2 3 245 2 6 , !2 3 245 2 67 11. Jika P’(x) 255 atau P’(y) 255 maka : !, ! 1!2 3 245 2 6 , !2 3 245 2 67 12. Karena ! 32 / ! 35 - 5 . 3 maka didapat nilai P’(x) dan P’(y) : !, ! 32 8 2 2 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
  • 27. 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 : = 5 0 5 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
  • 28. 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
  • 29. 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 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) : Input Simbol a 00 b 01 ab 10 r 11
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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).
  • 36. 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 %)
  • 37. 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 : MOS = ∑@AB CDBAB4BE FBGHBI J KDGABL MNEOPQN ∑ @AB CDBA4BE FBGHBI 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.
  • 38. 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.
  • 39. 45