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
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.
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
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.
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
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
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).
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).
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).
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
Contoh Class Roles
Menggambarkan waktu yang diperlukan untuk menyelesaikan suatu proses yang
Contoh Activation bar
Contoh Lifelines
Contoh Messages
Contoh Destroying
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).
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
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.
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).
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.
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).
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
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)
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
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
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
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
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
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 &), *+ ! / ! - .
!", !" $! %
2 & , ! ' 2 (),
*+ ! , ! - 0
!", !" $! %
2 & , ! ' 2 (),
*+ ! / ! - 0 10. Jika P’(x) < 0 atau P’(y) < 0 maka :
!", !" 1!2 3245
2 6 , !2 3245 2 67 11. Jika P’(x) > 255 atau P’(y) > 255 maka :
!", !" 1!2 3245
2 6 , !2 3245 2 67
12. Karena ! 32 / ! 35 - 5 . 3 maka didapat nilai P’(x) dan P’(y) :
!", !" 32 82
29 , 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
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
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
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
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
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
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
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
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
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).
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 %)
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.
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.