BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Model Incremental Process
Gambar Error! No text of specified style in document..1 Model Incremental Process Menurut (S.Pressman, 2010, P.41- 42) Model Incremental Process memakai urutan-urutan linear yang berulang dalam membangun suatu perangkat lunak. Seiring berjalan waktu pengerjaan, setiap urutan linear akan menghasilkan perkembangan dalam pengerjaan perangkat lunak yang kemudian dapat digunakan oleh pengguna. Pada model incremental yang pertama sering disebut sebagai core product. Core product adalah dasar kebutuhan yang diperlukan oleh pengguna, terkadang banyaknya tambahan fitur yang diperlukan dapat menyebabkan tidak semuanya dapat tersampaikan. Oleh karena itu, hasil evaluasi dari core product dapat dijadikan sebagai rencana perkembangan untuk incremental selanjutnya dengan cara memodifikasi core product agar menjadi lebih baik untuk memenuhi kebutuhan pengguna (fitur dan fungsi). Proses ini dilakukan berulang hingga menghasilkan produk yang lengkap. Sebagai contoh, pembentukan perangkat lunak word processing dengan menggunakan model incremental process. Pada incremental pertama hanya memberikan fungsi inti (basic file management, editing, dan document production
7
8 function), pada incremental kedua memberikan tambahan agar menjadi lebih baik (advance editing dan document production capabilities) dan pada incremental ketiga memberikan tambahan selanjutnya (spelling dan grammar checking) proses ini dilakukan berulang hingga menghasilkan produk yang lengkap. Model Incremental Process dapat digunakan untuk project yang memiliki waktu pasti serta tidak memerlukan banyak orang dalam pengembangannya. Tahapan-tahapan yang terdapat dalam model incremental process : 1. Communication Pada tahap ini akan dilakukan pengumpulan informasi-informasi yang terkait dengan pembentukan perangkat lunak. Maka pada tahap ini akan menghasilkan bagian yang akan diteliti serta menentukan batasan masalah yang diperlukan. 2. Planning Pada tahap ini akan membentuk rancangan jadwal meliputi perkiraan waktu yang diperlukan, tugas-tugas teknis yang akan dilakukan dan sumber-sumber yang diperlukan dalam membangun perangkat lunak. 3. Modeling Pada tahap ini akan membentuk rancangan dalam membangun perangkat lunak berupa rancangan algoritma, struktur data, rancangan perangkat lunak dan desain rancangan layar perangkat lunak. 4. Construction Pada tahap ini akan dilakukan pemrograman berdasarkan model yang telah terbentuk. Setelah pemrograman selesai, maka testing dapat dilakukan untuk menguji kesesuain atas keinginan pengguna dan menentukan kesalahankesalahan yang terjadi agar dapat diperbaiki. 5. Deployment Pada tahap ini developer akan menyediakan dokumentasi atas fitur yang telah dibangun dan developer akan menerima umpan balik dari pengguna sebagai bentuk informasi untuk perbaikan dan penambahan fitur dari perangkat lunak yang telah terbentuk.
9 2.1.2 Unified Modeling Language (UML) Unified Modeling Language (UML) merupakan bahasa standar untuk perancangan perangkat lunak. UML dapat digunakan untuk mendeskripsikan atau menggambarkan perangkat lunak (S.Pressman, 2010, P.841). 2.1.2.1 Use Case Diagram Use
Case
Diagram
merupakan
diagram
yang
digunakan
untuk
menggambarkan fungsi dan fitur – fitur perangkat lunak terhadap keinginan pengguna (S.Pressman, 2010, P.847).
Gambar Error! No text of specified style in document..2 Contoh Use Case Diagram Berikut ini adalah istilah yang terdapat dalam Use Case Diagram : a. Actor Actor menggambarkan pelaku yang beriteraksi dengan sistem. Actor dapat memberikan input atau menerima informasi dari sistem.
Gambar Error! No text of specified style in document..3 Contoh Actor
10 b. Use Case Use Case menggambarkan apa yang dapat dilakukan oleh actor terhadap sistem, baik secara otomatis maupun manual.
Gambar Error! No text of specified style in document..4 Contoh Use Case 2.1.2.2 Use Case Narrative Use Case Narrative merupakan deskripsi mengenai urutan-urutan proses dari setiap interaksi yang berguna untuk mempercepat pemahaman tentang sistem (Whitten & Bentley, 2007, P.256 – P.260). Tabel Error! No text of specified style in document..1 Contoh Use Case Narrative Nama Use Case
Backup Data
Actor
Admin Use Case ini mendeskripsikan tentang proses
Deskripsi
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). Class2 -Attribute 1..*
+Operation()
Class1 -Attribute +Operation()
1 Class3 -Attribute 0..*
+Operation()
Gambar Error! No text of specified style in document..11 Contoh Class Diagram
13
Berikut ini adalah istilah yang terdapat dalam Class Diagram : a. Class Class merupakan template atau blueprint yang berisikan atribut dan operasi yang menggambarkan kumpulan objek yang sama. Attribut merupakan gambaran data dari suatu kelas. Sedangkan operasi digunakan untuk mengakses attribut yang terdapat dalam kelas.
Gambar Error! No text of specified style in document..12 Contoh Class b. Visibility Visibility digunakan untuk menggambarkan informasi hak akses dari suatu atribut dan operasi yang terdapat dalam kelas (S.Pressman, 2010, P.843).
Tabel Error! No text of specified style in document..2 Deskripsi Visibility Visibility Private
Simbol -
Keterangan 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 No more than one
Simbol 1
Keterangan Instance yang dihubungkan dapat mempunyai tepat satu data.
Zero or one
0…1
Instance yang dihubungkan dapat mempunyai tepat satu data atau tidak sama sekali.
Many
*
Instance yang dihubungkan dapat mempunyai banyak data.
Zero or many
0…*
Instance yang dihubungkan dapat mempunyai banyak data atau tidak sama sekali.
One or many
1…*
Instance yang dihubungkan dapat mempunyai satu atau banyak data.
d. Aggregation dan Composition Aggregation digunakan untuk menghubungkan antara dua class yang menyatakan bagian dari suatu relasi. Artinya, class ini (B) akan tetap ada walupun class induknya (A) tidak ada (S.Pressman, 2010, P.845).
Gambar Error! No text of specified style in document..13 Contoh Aggregation Sedangkan Composition digunakan untuk menghubungkan antara dua class yang menyatakan bagian kuat dari suatu relasi. Artinya, class ini (B) akan ada jika class induknya (A) ada (S.Pressman, 2010, P.845).
15
Gambar Error! No text of specified style in document..14 Contoh Composition e. Generalization Generalization digunakan untuk menggambarkan hubungan turunan antar class (inheritance). Artinya, class turunannya akan mewarisi sifat yang dimiliki oleh class induknya (S.Pressman, 2010, P.843).
Gambar Error! No text of specified style in document..15 Contoh Generalization 2.1.2.5 Sequence Diagram Sequence Diagram merupakan diagram yang dapat menunjukan komunikasi dinamis antara objek dengan sistem. Sequence Diagram digunakan untuk mendeskripsikan interaksi yang terjadi dalam sebuah use case ke dalam urutan waktu yang digambarkan ke dalam bentuk diagram (S.Pressman, 2010, P.848).
16
Gambar Error! No text of specified style in document..16 Contoh Sequence Diagram
Berikut ini adalah istilah yang terdapat dalam Sequence Diagram : a. Actor Menggambarkan pelaku yang beriteraksi dengan sistem.
Gambar Error! No text of specified style in document..17 Contoh Actor b. Class roles Menggambarkan class yang berkaitan dengan proses yang sedang berjalan.
17
Class Gambar Error! No text of specified style in document..18 document. Contoh Class Roles c. Activation bar Menggambarkan waktu yang diperlukan untuk menyelesaikan suatu proses yang sedang berjalan.
Gambar Error! No text of specified style in document..19 document. Contoh Activation bar d. Lifelines Menggambarkan garis kehidupan dari suatu class roles.
Gambar Error! No text of specified style in document..20 document. Contoh Lifelines
e. Messages Menggambarkan jalur komunikasi antar class. Message
Gambar Error! No text of specified style in document..21 document. Contoh Messages f. Destroying Object Menggambarkan bahwa proses sudah selesai.
Gambar Error! No text of specified spe style in document..22 Contoh Destroying Object
18 2.1.3 Flow Chart Sebuah diagram simbol yang digunakan untuk menggambarkan urutan langkah-langkah yang terdapat dalam suatu sistem (H.Bodnar & S.Hopwood, 2010, P.41). Berikut ini adalah istilah yang terdapat dalam Flow Chart (H.Bodnar & S.Hopwood, 2010, P.41 - 43) : Tabel Error! No text of specified style in document..4 Deskripsi Flow Chart Simbol
Nama Flow Line
Arti 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 pilihanpilihan 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
plaintext
dengan
menggunakan suatu kunci. 4. Dekripsi Suatu
proses
yang
merubah
ciphertext
menjadi
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 0.51 0.7497 0.56295 0.738112 0.579908 0.730844 0.590133 0.725628
Nilai Kunci 51 74 56 73 57 73 59 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 24bit, 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 24bit, 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 R1 R2 R3 R4 R5
lj 0 8 16 32 64
uj 7 15 31 63 127
31 R6
128
255
2. Mengitung perbedaan pixel : | | |32 35| 3
3. Tentunkan nilai lj dan uj sesuai dengan nilai , karena = 3. Maka nilai terdapat dalam selang R1 sehingga nilai lj = 0 dan uj = 7.
4. Tentunkan nilai wj dan : wj =uj – lj + 1
wj = 7 – 0 + 1 = 8 = log
= log 8 3
5. Diambil pesan sebanyak nilai , karena = 3. Maka diambil pesan sebanyak tiga digit, sehingga pesan yang didapat ialah “101”.
6. Tentukan nilai dengan cara mengubah pesan biner menjadi nilai desimal :
Nilai biner “101” setara dengan nilai 5 desimal, maka = 5.
7. Tentukan nilai : = + lj
= 5 + 0 = 5
8. Tentukan nilai m :
| |
|5 3| 2
9. Tentukan nilai P’(x) dan P’(y) melalui kriteria embed :
!" , !" $! % & , ! ' (), 2 2
*+ ! , ! - .
!" , !" $! ' ( , ! % &), 2 2 *+ ! / ! - .
32
!" , !" $! % & , ! ' (), 2 2 *+ ! , ! - 0
!" , !" $! % & , ! ' (), 2 2 *+ ! / ! - 0
10. Jika P’(x) < 0 atau P’(y) < 0 maka :
245 245 !" , !" 1!2 3 6 , !2 3 67 2 2
11. Jika P’(x) > 255 atau P’(y) > 255 maka : !
12. Karena
" ,
245 245 ! 1!2 3 6 , !2 3 67 2 2 "
! 32 / ! 35 - 5 . 3 maka
didapat
nilai P’(x) dan P’(y) :
2 2 !" , !" 32 8 9 , 35 : ; 2 2 !" , !" 31, 36
Setelah dilakukan proses embed, nilai pixel P(x) = 32 dan P(y) = 35 dapat diubah menjadi P’(x) =31 dan P’(y) = 36. Sedangkan untuk proses pengambilan pesannya dapat dilakukan sebagai berikut :
1. Diketehui nilai P’(x) =31 dan P’(y) = 36. 2. Bentuk tabel kriteria : Tabel Error! No text of specified style in document..7 Kriteria PVD Rj R1 R2 R3
lj 0 8 16
uj 7 15 31
33
3. Tentukan nilai :
R4 R5 R6
32 64 128
63 127 255
|!" !" | |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 Input a b ab r
Simbol 00 01 10 11
Pesan yang akan dikompresi ialah “abr”, maka hasil kompresinya adalah 1011. Dalam penelitian ini akan menggabungkan algoritma Dictionary Based Compression dengan tujuan untuk menekan banyaknya data yang disisipkan dan menjaga kualitas gambar dalam proses steganografi, yaitu dengan cara merubah input-an dua huruf yang terdapat kamus menjadi representasi 8 bit (satu huruf). 2.2.4.3.2 Pembentukan Kamus Dictionary Based Compression Aplikasi dapat menerima input-an keyboard (huruf, angka, tanda baca dan simbol). Sehingga input-an harus dirubah ke dalam American Standard Code for Information Interchange (ASCII) agar dapat dilakukan proses enkripsi dan penyisipan pesan. American Standard Code for Information Interchange (ASCII) terdiri dari 256 karakter, yaitu sebagai berikut (sumber : http://www.ascii-code.com, diakses maret 2014) :
36 1. ASCII control characters (0 - 31) Terdiri dari 32 karakter yang tidak dapat dicetak dan digunakan untuk proses peripherals. 2. ASCII printable characters (32 - 127) Terdiri dari 96 karakter yang biasanya terdapat dalam keyboard (huruf, angka, tanda baca dan simbol). 3. ASCII The extended ASCII codes (128 - 255) Terdiri dari 128 karakter yang merepresentasikan simbol-simbol khusus yang terdapat dalam Microsoft Windows (ISO Latin-1).
ASCII printable characters (32 – 127), digunakan dalam penelitian untuk representasi input-an keyboard (huruf, angka, tanda baca dan simbol) ke dalam nilai desimal dan biner, sebagai bagian dari proses enkripsi dan penyisipan pesan : Tabel Error! No text of specified style in document..9 ASCII Printable Characters Desimal 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Biner 00100000 00100001 00100010 00100011 00100100 00100101 00100110 00100111 00101000 00101001 00101010 00101011 00101100 00101101 00101110 00101111 00110000 00110001 00110010 00110011 00110100 00110101 00110110 00110111 00111000
ASCII spasi ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8
Desimal 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
Biner 01010000 01010001 01010010 01010011 01010100 01010101 01010110 01010111 01011000 01011001 01011010 01011011 01011100 01011101 01011110 01011111 01100000 01100001 01100010 01100011 01100100 01100101 01100110 01100111 01101000
ASCII P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h
37 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
00111001 00111010 00111011 00111100 00111101 00111110 00111111 01000000 01000001 01000010 01000011 01000100 01000101 01000110 01000111 01001000 01001001 01001010 01001011 01001100 01001101 01001110 01001111
9 : ; < = > ? @ A B C D E F G H I J K L M N O
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
01101001 01101010 01101011 01101100 01101101 01101110 01101111 01110000 01110001 01110010 01110011 01110100 01110101 01110110 01110111 01111000 01111001 01111010 01111011 01111100 01111101 01111110 01111111
i j k l m n o p q r s t u v w x y z { | } ~ 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 a n e i k r u t s d m p b
Frekuensi 22,719 % 8,786 % 8,678 % 5,996 % 5,521 % 5,274 % 4,937 % 4,848 % 4,700 % 4,541 % 4,136 % 3,156 % 3,097 %
Karakter Frekuensi h 2,701 % l 2,533 % y 1,632 % o 1,197 % g 0,979 % j 0,682 % w 0,385 % c 0,316 % f 0,128 % v 0,019 %
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 0 1 2 3 4 5 6 7 8 11 12 14 15 16 17 18 19 20 21
Biner Simbol 00000000 aa 00000001 an 00000010 ae 00000011 ai 00000100 ak 00000101 ar 00000110 au 00000111 at 00001000 as 00001011 ad 00001100 am 00001110 ap 00001111 ab 00010000 na 00010001 nn 00010010 ne 00010011 ni 00010100 nk 00010101 nr
Desimal 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
Biner Simbol 10110001 ua 10110010 un 10110011 ue 10110100 ui 10110101 uk 10110110 ur 10110111 uu 10111000 ut 10111001 us 10111010 ud 10111011 um 10111100 up 10111101 ub 10111110 ta 10111111 tn 11000000 te 11000001 ti 11000010 tk 11000011 tr
40 22 23 24 25 26 27 28 29 30 31 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
00010110 00010111 00011000 00011001 00011010 00011011 00011100 00011101 00011110 00011111 10000000 10000001 10000010 10000011 10000100 10000101 10000110 10000111 10001000 10001001 10001010 10001011 10001100 10001101 10001110 10001111 10010000 10010001 10010010 10010011 10010100 10010101 10010110 10010111 10011000 10011001 10011010 10011011 10011100 10011101
nu nt ns nd nm np nb ea en ee ei ek er eu et es ed em ep eb ia in ie ii ik ir iu it is id im ip ib ka kn ke ki kk kr ku
196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
11000100 11000101 11000110 11000111 11001000 11001001 11001010 11001011 11001100 11001101 11001110 11001111 11010000 11010001 11010010 11010011 11010100 11010101 11010110 11010111 11011000 11011001 11011010 11011011 11011100 11011101 11011110 11011111 11100000 11100001 11100010 11100011 11100100 11100101 11100110 11100111 11101000 11101001 11101010 11101011
tu tt ts td tm tp tb sa sn se si sk sr su st ss sd sm sp sb da dn de di dk dr du dt ds dd dm dp db ma mn me mi mk mr mu
41 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
10011110 10011111 10100000 10100001 10100010 10100011 10100100 10100101 10100110 10100111 10101000 10101001 10101010 10101011 10101100 10101101 10101110 10101111 10110000
kt ks kd km kp kb ra rn re ri rk rr ru rt rs rd rm rp rb
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254
11101100 11101101 11101110 11101111 11110000 11110001 11110010 11110011 11110100 11110101 11110110 11110111 11111000 11111001 11111010 11111011 11111100 11111101 11111110
mt ms md mm mp mb pa pn pe pi pk pr pu pt ps pd pm pp 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 coverimage 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 5 4 3 2 1
Kualitas Gambar Sangat Bagus Bagus Sedang Buruk Sangat Buruk
Keterangan MOS Kemiripan gambar (90 % - 100 %) Kemiripan gambar (70 % - 90 %) Kemiripan gambar (60 % - 70 %) Kemiripan gambar (40 % - 60 %) 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 halamanhalaman 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