2012-1-00554-mtif 2
DESCRIPTION
mantapTRANSCRIPT
BAB 2
LANDASAN TEORI
2.1 Pengenalan Steganografi
2.1.1. Sejarah Steganografi
Steganografi merupakan seni penyembunyian pesan ke dalam pesan lainnya
sedemikian rupa sehingga orang lain tidak menyadari ada sesuatu di dalam pesan
tersebut. Kata steganografi (steganography) berasal dari bahasa Yunani yaitu steganos
yang artinya tersembunyi atau terselubung dan graphein, yang artinya menulis, sehingga
kurang lebih artinya adalah “menulis tulisan yang tersembunyi atau terselubung”
(Sellars, 1996). Teknik ini meliputi banyak sekali metoda komunikasi untuk
menyembunyikan pesan rahasia. Metoda ini termasuk tinta yang tidak tampak,
microdots, pengaturan kata, tanda tangan digital, jalur tersembunyi dan komunikasi
spektrum lebar.
Catatan pertama tentang steganografi ditulis oleh seorang sejarawan Yunani,
Herodotus,yaitu ketika Histaeus seorang raja kejam Yunani dipenjarakan oleh Raja
Darius di Susa pada abad 5Sebelum Masehi. Histaeus harus mengirim pesan rahasia
kepada anak laki-lakinya, Aristagoras, di Militus. Histaeus menulis pesan dengan cara
mentato pesan pada kulit kepala seorang budak dan ketika rambut budak itu mulai
tumbuh, Histaeus mengutus budak itu ke Militus untuk mengirim pesan di kulit
kepalanya tersebut kepada Aristagoras.
9
Cerita lain tentang steganografi datang juga dari sejarawan Yunani, Herodotus,
yaitu dengan cara menulis pesan pada papan kayu yang ditutup dengan lilin. Demeratus,
seorang Yunani yang akan mengabarkan berita kepada Sparta bahwa Xerxes bermaksud
menyerbu Yunani. Agar tidak diketahui pihak Xerxes, Demaratus menulis pesan dengan
cara mengisi tabung kayu dengan lilin dan menulis pesan dengan cara mengukirnya pada
bagian bawah kayu, lalu papan kayu tersebut dimasukkan ke dalam tabung kayu,
kemudian tabung kayu ditutup kembali dengan lilin.
Teknik steganografi yang lain adalah tinta yang tak terlihat. Teknik ini pertama
digunakan pada zaman Romawi kuno yaitu dengan menggunakan air sari buah jeruk,
urine atau susu sebagai tinta untuk menulis pesan. Cara membacanya adalah dengan
dipanaskan di atas nyala lilin, tinta yang sebelumnya tidak terlihat, ketika terkena panas
akan berangsur-angsur menjadi gelap, sehingga pesan dapat dibaca. Teknik ini pernah
juga digunakan pada Perang Dunia II.
Pada abad 20, steganografi benar-benar mengalami perkembangan. Selama
berlangsung perang Boer, Lord Boden Powell (pendiri gerakan kepanduan) yang
bertugas untuk membuat tanda posisi sasaran dari basis artileri tentara Boer, untuk
alasan keamanan, Boden Powell menggambar peta-peta posisi musuh pada sayap kupu-
kupu agar gambar-gambar peta sasaran tersebut terkamuflase.
Perang Dunia II adalah periode pengembangan teknik-teknik baru steganografi.
Pada awal Perang Dunia II walaupun masih digunakan teknik tinta yang tak terlihat,
namun teknik-teknik baru mulai dikembangkan seperti menulis pesan rahasia ke dalam
kalimat lain yang tidak berhubungan langsung dengan isi pesan rahasia tersebut,
kemudian teknik menulis pesan rahasia ke dalam pita koreksi karbon mesin ketik, dan
juga teknik menggunakan pin berlubang untuk menandai kalimat terpilih yang
10
digunakan dalam pesan, teknik terakhir adalah microdots yang dikembangkan oleh
tentara Jerman pada akhir Perang Dunia II.
Dari contoh-contoh steganografi konvensional tersebut dapat dilihat bahwa
semua teknik steganografi konvensional berusaha merahasiakan komunikasi dengan cara
menyembunyikan pesan ataupun mengkamuflase pesan. Maka sesungguhnya prinsip
dasar dalam steganografi lebih dikonsentrasikan pada kerahasian komunikasinya bukan
pada datanya (Johnson, 1995).
Seiring dengan perkembangan teknologi terutama teknologi komputasi,
steganografi merambah juga ke media digital, walaupun steganografi dapat dikatakan
mempunyai hubungan erat dengan kriptografi, tetapi kedua metode ini sangat berbeda.
2.1.2.Definisi Steganografi.
Setelah mengamati runtutan sejarah dan perkembangan pengertian serta
penggunaan, maka dapat disimpulkan bahwa steganografi merupakan ilmu yang
mempelajari, meneliti, dan mengembangkan seni menyembunyikan sesuatu informasi.
Steganografi dapat dipandang atau dikelompokkan sebagai salah satu bagian atau
cabang dari ilmu komunikasi. Pada era informasi digital, steganografi merupakan teknik
dan seni menyembunyikan informasi dan data digital dibalik informasi digital lain,
sehingga informasi digital yang sesungguhnya tidak kelihatan atau dapat tersamarkan.
Secara teori, semua file umum yang ada di dalam komputer dapat digunakan
sebagai media, seperti file gambar berformat JPG, GIF, BMP, atau di dalam musik MP3,
atau bahkan di dalam sebuah film dengan format WAV atau AVI. Semua dapat
dijadikan tempat bersembunyi, asalkan file tersebut memiliki bit-bit data yang dapat
dimodifikasi. Setelah dimodifikasi file media tersebut tidak akan banyak terganggu
11
fungsinya dan kualitasnya tidak akan jauh berbeda dengan aslinya. Proses penyimpanan
dengan memanfaatkan bit-bit ini sangatlah dikembangkan karena lebih mudah dilakukan
dan lebih sulit dicurigai atau lebih baik dalam masalah keamananya. Media digital
sendiri merupakan media yang sudah umum digunakan karena kemudahannya dalam
melakukan perpindahan antar file data ke dalam berbagai macam perangkat keras.
2.1.3 Kegunaan Steganografi
Seperti perangkat keamanan lainnya, steganografi dapat digunakan untuk
berbagai macam alasan, beberapa diantaranya untuk alasan yang baik, namun dapat juga
untuk alasan yang tidak baik. Untuk tujuan legitimasi dapat digunakan pengamanan
seperti citra dengan watermarking dengan alasan untuk perlindungan copyright. Digital
watermark (yang juga dikenal dengan fingerprinting, yang dikhususkan untuk hal-hal
menyangkut copyright) sangat mirip dengan steganografi karena menggunakan metode
penyembunyian dalam arsip, yang muncul sebagai bagian asli dari arsip tersebut dan
tidak mudah dideteksi oleh kebanyakan orang. Steganografi dapat digunakan sebagai
tag-notes untuk citra online, untuk menempelkan pesan ke dalam media file yang sudah
tersedia di internet dan umumnya diketahui khalayak umum.
Steganografi juga dapat digunakan untuk melakukan perawatan atas kerahasiaan
informasi yang berharga, untuk menjaga data tersebut dari kemungkinan sabotasi,
pencuri, atau dari pihak yang tidak berwenang. Sayangnya, steganografi juga dapat
digunakan untuk alasan yang ilegal. Sebagai contoh, jika seseorang telah mencuri data,
mereka dapat menyembunyikan arsip curian tersebut ke dalam arsip lain dan
mengirimkannya keluar tanpa menimbulkan kecurigaan siapapun karena tampak seperti
email atau arsip normal. Begitu pula dengan masalah terorisme, teknik steganografi
12
dapat digunakan oleh para teroris untuk menyamarkan komunikasi mereka dari pihak
luar.
2.2 Pengenalan Kriptografi
2.2.1. Sejarah Kriptografi
Asal mula kata Kriptografi berasal dari bahasa Yunani, kyriptos yang artinya
tersembunyi atau tidak kelihatan dan kata grafia yang dapat diartikan sebagai sesuatu
yang tertulis. Sehingga kriptografi dapat disebut sebagai pesan yang tertulis dengan
maksud tersembunyi atau rahasia.
Kriptografi memiliki sejarah yang panjang dan mengagumkan. Penulisan rahasia
ini dapat dilihat kembali ke 3000 tahun SM saat digunakan oleh bangsa Mesir. Mereka
menggunakan hieroglyphcs untuk menyembunyikan tulisan dari mereka yang tidak
diharapkan. Hieroglyphcs berasal dari bangsa Yunani, kata hieroglyphica yang berarti
ukiran rahasia. Hieroglyphs berevolusi menjadi hieratic, yaitu stylized script yang lebih
mudah untuk digunakan.
Pada tahun 50 SM, Julius Caesar, kaisar Roma, menggunakan cipher substitusi
untuk mengirim pesan ke Marcus Tullius Cicero. Tujuan awal pembuatan pesan dengan
kode chipher oleh Julius Caesar agar pesan yang dibawa kurir pada saat perang tidak
dapat dibaca andai pesan tersebut jatuh ke tangan musuh. Oleh karena ide pemikiran
Julius Caesar dianggap awal dari kriptografi, kemudian kode sandi mulai banyak
dipergunakan dan terkenal serta berkembang hingga sekarang ini. Pada cipher ini, huruf-
huruf alfabet disubstitusi dengan huruf-huruf yang lain pada alfabet yang sama. Karena
hanya satu alfabet yang digunakan, cipher ini merupakan substitusi monoalfabetik.
13
Cipher semacam ini berkonsep penggeseran alfabet dengan 3 huruf dan
mensubstitusikan huruf tersebut, substitusi ini kadang dikenal dengan C3.
Sebagaimana banyak teknologi lainnya, selama bertahun-tahun kriptografi
menjadi bidang khusus yang hanya dipelajari oleh pihak militer. Agen Keamanan
Nasional Amerika (NSA = National Security Agency), Uni Soviet, Inggris, Perancis,
Israel dan negara lainnya telah membelanjakan miliaran dolar untuk mengamankan
komunikasi mereka dan pada saat yang bersamaan mereka pun berusaha memecahkan
kode rahasia negara saingannya.
Namun pada kurun waktu 30 tahun terakhir, penelitian akademik di bidang
kriptografi meledak dengan dahsyatnya. Kemajuan teknologi komputasi komputer
menambah cepatnya perkembangan kriptografi. Sekarang, kriptografi bukan lagi
monopoli militer, setiap individu berhak mengamankan informasi data komunikasinya
tanpa kuatir dimata-matai oleh pihak lain. Setiap individu berhak melindungi
komunikasi yang berisi rahasia keluarganya, bisnisnya, pekerjaannya, dan pendapat-
pendapatnya.
2.1.2. Definisi Kriptografi.
Definisi kriptografi secara singkat adalah ilmu yang mempelajari bagaimana
caranya menyamarkan pesan dan mengembalikannya ke bentuk semula. Penyamaran
pesan dapat dilakukan dengan kunci atau kata sandi yang ditetapkan. Ini akan
menambah tingkat keamanan pengiriman data informasi, karena jika informasi berhasil
diperoleh baik dengan sengaja maupun dengan tidak sengaja oleh oleh pihak manapun
yang bukan pemilik atau yang tidak berkepentingan maka tidak akan mendapatkan
informasi atau data asli karena data asli telah disamarkan. Dalam dunia teknologi seperti
14
ini, keamanan data adalah sesuatu yang mutlak dimana semua data disimpan dalam
bentuk digital. Teknik penyamaran data seperti ini disebut enkripsi dan teknik untuk
mengembalikannya disebut dekripsi.
Dalam sebuah algoritma kriptografi, terdapat tiga unsur yaitu:
a. Enkripsi, yaitu proses mengubah pesan awal menjadi teks chiper.
b. Dekripsi, yaitu proses mengubah teks chiper menjadi pesan awal .
c. Kunci (key), merupakan kode sandi yang ditetapkan yang akan digunakan untuk
proses enkripsi maupun proses dekripsi.
Dalam kriptografi modern, selain menggunakan algoritma dalam
pengimplementasiannya juga menggunakan kunci (key) untuk memecahkan masalah
tersebut. Proses enkripsi dan dekripsi hanya bisa dilakukan dengan menggunakan kunci
ini. Setiap adegan enkripsi yang akan dilakukan memiliki kuncinya masing-masing
yang digunakan untuk proses enkripsi dan dekripsi. Mekanismenya akan dilampirkan
pada gambar 2.1 berikut ini
Gambar 2.1. Proses Enkripsi-Dekripsi sederhana
kunci
Pesan awal Chiper teks Pesan awal
Enkripsi Dekripsi
kunci
15
Mekanisme kriptografi seperti ini dinamakan kriptografi berbasis kunci. Dengan
demikian kriptosistemnya akan terdiri atas algoritma dan kunci, beserta segala pesan
awal (plaintext) dan teks chipernya (ciphertext).
Maka akan terbentuk persamaan matematisnya yaitu,
Ee(m) = c
Dd(c) = m
Dd(Ee(m)) = m
Dengan arti sebagai berikut :
e = kunci enkripsi
d = kunci dekripsi
2.3. Relasi Serta Manfaat Penggabungan Teknik Steganografi dan Kriptografi
Secara umum, kriptografi adalah ilmu yang mempelajari teknik-teknik
matematika yang berhubungan dengan aspek keamanan informasi seperti keabsahan,
integritas data, serta autentifikasi data. Kriptografi tidak berarti hanya memberikan
keamanan informasi saja, namun lebih kearah metode-metode yang digunakan.
Sedangkan steganografi merupakan seni untuk menyembunyikan pesan di dalam pesan
lainnya sedemikian rupa sehingga orang lain tidak menyadari ada sesuatu di dalam
pesan tersebut. Teknik ini meliputi banyak sekali metode komunikasi untuk
menyembunyikan pesan rahasia.
Walaupun steganografi dapat dikatakan mempunyai hubungan yang erat dengan
kriptografi, tapi metoda ini sangat berbeda dengan kriptografi. Kriptografi mengacak
pesan sehingga tidak dimengerti, sedangkan steganografi menyembunyikan pesan
16
sehingga tidak terlihat. Pesan dalam cipherteks mungkin akan menimbulkan kecurigaan
sedangkan pesan yang dibuat dengan steganografi tidak akan menimbulkan kecurigaan.
Kedua teknik ini dapat digabungkan untuk mendapatkan metode pengiriman rahasia
yang sulit dilacak. Pertama pesan dienkrip, kemudian cipherteks disembunyikan dengan
cara steganografi pada media yang kelihatannya tidak mencurigakan. Cara ini sangat
berguna jika digunakan pada steganografi komputer karena banyak format file digital
yang dapat dijadikan media untuk menyembunyikan pesan.
Steganografi merupakan salah satu cara yang sangat efektif untuk mengurangi
rasa curiga dari pihak-pihak lain (selain pengirim dan penerima yang sah). Kebanyakan
algoritma steganografi menggunakan sebuah kombinasi dari bidang jenis teknik untuk
melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam sebuah selubung
file. Pada steganografi, penyembunyian atau penyamaran pesan ini dibuat sedemikian
rupa sehingga pihak lain tidak mengetahui bahwa ada pesan lain di dalam pesan yang
dikirim. Pesan inti tersebut tetap dipertahankan, hanya dalam penyampaiannya
dikaburkan atau disembunyikan dengan berbagai cara. Hanya pihak penerima yang sah
saja yang dapat mengetahui pesan lain tersebut. Sedang pada kriptografi, karakter pesan
diubah atau diacak menjadi bentuk lain yang tidak bermakna. Pesan yang disampaikan
dalam kriptografi menjadi mencurigakan karena ketidak bermaknaannya tersebut.
Sedang pesan dalam steganografi, terlihat seperti pesan biasa sehingga kecil
kemungkinan untuk dicurigai. Namun demikian, bukan berarti tidak ada kekurangan
pada steganografi ini. Kelemahan pada steganografi ini terjadi apabila kita mengubah
format pesan yang dikirimkan, maka pesan rahasianyapun menjadi hilang. Keduanya
digunakan secara bersamaan untuk menjamin keamanan pesan rahasianya.
17
2.4. Kriteria Steganografi dan Kriptografi yang baik.
Kriteria yang harus diperhatikan dalam penyembunyian data adalah:
1. Fidelity.
Mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia,
citra hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui
kalau di dalam citra tersebut terdapat data rahasia.
2. Robustness.
Data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan pada
citra penampung (seperti pengubahan kontras, penajaman, pemampatan, rotasi,
perbesaran gambar, pemotongan (cropping), enkripsi, dan sebagainya). Bila pada
citra dilakukan operasi pengolahan citra, maka data yang disembunyikan tidak
rusak.
3. Recovery.
Data yang disembunyikan harus dapat diungkapkan kembali(recovery). Karena
tujuan steganografi adalah data hiding, maka sewaktu waktu data rahasia di
dalam citra penampung harus dapat diambil kembali untuk digunakan lebih
lanjut.
4. Security.
Data rahasia harus resisten terhadap deteksi pembajakan dan juga diharapkan
bisa menyulitkan dari usaha steganalisis. Ketika kerahasiaan itu ingin dibuka,
dibutuhkan kunci untuk digunakan dalam proses penyisipan dan ekstraksi.
18
Adapun kriptografi sangat dibutuhkan dalam proses pengiriman pesan yang
membutuhkan kerahasiaan, berikut ini akan dijelaskan secara garis besar ke dalam
empat aspek tinjauan :
1. Confidentiality.
Kerahasiaan adalah kebutuhan utama untuk menjaga isi informasi dari setiap
pihak yang tidak berwenang untuk mengaksesnya. Dengan demikian informasi
hanya akan dapat diakses oleh pihak-pihak yang berhak saja.
2. Data Integrity.
Integritas data bertujuan untuk mencegah terjadinya pengubahan informasi oleh
pihak-pihak yang tidak berwenang. Untuk menyatakan kebenaran integritas data
ini harus dipastikan agar sistem informasi mampu mendeteksi terjadinya
manipulasi atau perubahan data. Manipulasi data meliputi penyisipan,
penghapusan, maupun penggantian data.
3. Authentication.
Otentifikasi atau keaslian bertujuan untuk mengidentifikasi terhadap pengguna
yang ingin mengakses sistem informasi maupun keaslian data dari sistem
informasi itu sendiri agar pihak yang tidak berhak tidak dapat menerima atau
membaca atau mengartikan pesan rahasia tersebut. Banyak cara yang dapat
dilakukan untuk menjaga dan meningkatkan kerahasiaan informasi data, baik
dari penjagaan secara khusus dengan menyipan data fisik di tempat rahasia
hingga penggunaan algoritma matematika untuk mengubah bentuk informasi
tersebut menjadi tidak terbaca.
19
4. Non-repudiation.
Non-repudiation berfungsi untuk mencegah terjadinya pengingkaran terhadap
aksi yang telah dilakukan baik pada saat mengirim atau pun menerima data
informasi. Penerima pesan dapat membuktikan bahwa pesan dikirim oleh
pegirim yang seharusnya, begitu pun sebaliknya.
2.5. Metoda Steganografi.
Kebanyakan algoritma steganografi menggunakan sebuah kombinasi dari bidang
jenis teknik untuk melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam
sebuah selubung file. Sebuah program steganografi dibutuhkan untuk melakukan hal-hal
berikut (baik implisit melalui suatu perkiraan maupun eksplisit melalui sebuah
perhitungan), menemukan kelebihan bits dalam selubung file yang dapat digunakan
untuk menyelubungi pesan rahasia didalamnya, memilih beberapa diantaranya untuk
digunakan dalam menyelubungi data dan penyelubungan data dalam bits dipilih
sebelumnya.
Ada beberapa jenis metode Steganografi yang sudah dikenal umum, yaitu :
1. Algoritma dan Transformasi.
Algoritma compression adalah metode steganografi dengan menyembunyikan
data dalam fungsi matematika. Dua fungsi tersebut adalah Discrete Cosine
Transformation (DCT) dan Wavelet Transformation.
20
2. Redundant Pattern Encoding
Redundant Pattern Encoding adalah menggambar pesan kecil pada kebanyakan
gambar. Keuntungan dari metode ini adalah dapat bertahan dari cropping
(kegagalan), kerugiannya yaitu tidak dapat menggambar pesan yang lebih besar.
3. Spread Spectrum method
Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak
(encrypt) melalui gambar.Untuk membaca suatu pesan, penerima memerlukan
algoritma yaitu crypto-key dan stego-key.
4. Metode FLOW (First Letter Of Words)
Metode ini menyisipkan pesan kedalam huruf pertama yang ada di dalam kata.
Sehingga hanya perlu membaca huruf-huruf awalnya saja dalam membaca isi pesan
tersembunyi.
5. Metode White Space.
Metode whitespace menggunakan karakter ”spasi” dan ”tab” untuk
menggambarkan bit-bit pesan yang akan disembunyikan, karena ”spasi” dan ”tab”
merupakan karakter yang tidak tampak pada text viewer maka pesan akan dapat
tersembunyi dengan baik, dan apabila ditambahkan metode kriptografi maka pesan
akan semakin aman walaupun dapat dideteksi.
21
6. Metode LSB (Least Significant Bit).
Cara paling umum untuk menyembunyikan pesan adalah dengan memanfaatkan
Least-Significant Bit (LSB). Walaupun banyak kekurangan pada metode ini, tetapi
kemudahan implementasinya membuat metode ini tetap digunakan sampai sekarang.
Jika digunakan image 24 bit color sebagai cover, sebuah bit dari masing-masing
komponen Red, Green, dan Blue, dapat digunakan sehingga 3 bit dapat disimpan
pada setiap piksel. Perubahan pada LSB ini akan terlalu kecil untuk terdeteksi oleh
mata manusia sehingga pesan dapat disembunyikan secara efektif. Jika digunakan
image 8 bit color sebagai cover, hanya 1 bit saja dari setiap piksel warna yang dapat
dimodifikasi sehingga pemilihan image harus dilakukan dengan sangat hati-hati,
karena perubahan LSB dapat menyebabkan terjadinya perubahan warna yang
ditampilkan pada citra. Kekurangan dari metode modifikasi LSB ini adalah bahwa
metode ini membutuhkan tempat penyimpanan yang relatif besar dan pesan yang
ingin dimasukkan harus memiliki panjang data yang lebih sedikit daripada media
penampung datanya.
7. Metode End Of File (EOF)
Metode EOF (End Of File) merupakan salah satu teknik yang menyisipkan data
pada akhir file dan pengembangan daripada metode LSB. Teknik ini dapat
digunakan untuk menyisipkan data yang ukurannya sama dengan ukuran file
sebelum disisipkan data ditambah dengan ukuran data yang disisipkan kedalam file
tersebut. Dalam teknik EOF, data yang disisipkan pada akhir diberi tanda khusus
sebagai pengenal start dari data tersebut dan pengenal akhir dari data tersebut,
Teknik inilah yang akan digunakan penulis dalam tugas akhir ini. Dalam teknik ini,
22
data disisipkan pada akhir file dengan diberi tanda khusus sebagai pengenal start dari
data tersebut dan pengenal akhir dari data tersebut.
Teknik EOF tidak akan mengubah isi awal dari file yang disisipi. Sebagai
contoh, jika akan menyisipkan sebuah pesan kedalam sebuah file dokumen, isi dari
dokumen tersebut tidak akan berubah. Ini yang menjadi salah satu keunggulan
metode EOF dibandingkan metode steganografi yang lain. Karena disisipkan pada
akhir file, pesan yang disisipkan tidak akan bersinggungan dengan isi file, hal ini
menyebabkan integritas data dari file yang disisipi tetap dapat terjaga. (Sukrisno,
2007). Namun, metode EOF akan mengubah besar ukuran file sesuai dengan ukuran
pesan yang disisipkan kedalam file awal namun tidak mengubah citra daripada
media yang dipakai sebagai tempat penyisipan pesan tersebut.
2.6 Format File
Hampir semua file digital yang dapat digunakan dalam proses steganografi, tapi
format yang lebih cocok adalah format file dengan tikat redudansi yang tinggi.
Redudansi dapat diartikan sebagai bit dari objek yang memberikan selang yang jauh
lebih besar dari yang diperlukan untuk menggunakan dan menampilkan objek. Data
dengan tingkat redudansi yang sudah dikenal baik yaitu gambar dan file audio.
Gambar 2.2. Empat Kategori Utama Format File Steganografi.
23
Format yang penulis gunakan dalam pembuatan aplikasi meliputi:
• Format image: bitmap (bmp), gif, tif, jpg, png.
• Format audio: wav, mp3, wma.
• Format video : mpg, flv, 3gp.
Dalam pengujian data setganografi dan proses enkripsi penulis hanya akan mengambil
sampel dari tiap-tiap kelompok data dan penjelasannya berikut ini:
1 Bitmap (.BMP)
• Merupakan format citra yang baku di lingkungan sistem Microsoft Windows dan
IBM OS/2.
• Kualitas BMP dianggap lebih baik dari format JPG/ JPEG dan GIF.
• Format File Bitmap versi terbaru dari Microsoft Windows, setiap berkas/file
terdiri dari : header file, header bitmap, informasi palet, dan data bitmap.
• Data bitmap diletakkan setelah informasi palet. Penyimpanan data bitmap di
dalam file berkas disusun terbalik dari bawah ke atas dalam bentuk matriks yang
berukuran Height x Width.
2. Joint Photographic Experts Group (JPEG)
• Dikembangkan oleh para ahli pencitraan fotografi untuk mendapatkan citra yang
berukuran rasional tapi tetap menyimpan persepsi citra yang baik.
• Bersifat lossy dengan tingkat lossness yang dapat diatur.
24
• Bagus untuk mengkompresi foto-foto natural tetapi kurang cocok untuk
computer-generated images (CGI)
• Banyak digunakan oleh kamera digital.Filenya disebut JFIF
• Dalam sebuah file JPEG dapat tersimpan berbagai informasi yang masing -
masing diawali oleh sebuah marker untuk penanda, masing-masing berukuran 2
bytes.
3. MP3
MPEG (Moving Picture Expert Group) audio layer 3 atau yang lebih dikenal dengan
MP3, adalah salah satu dari pengkodean dalam digital audio. MP3 adalah
pengembangan dari teknologi sebelumya sehingga dengan ukuran yang lebih kecil dapat
menghasilkan kualitas yang setara dengan kualitas CD.
Spesifikasi dari layer-layer sebagai berikut:
• Layer 1: paling baik pada 384 kbit/s
• Layer 2: paling baik pada 256...384 kbit/s, sangat baik pada 224...256 kbit/, baik
pada 192...224 kbit/s
• Layer 3: paling baik pada 224...320 kbit/s, sangat baik pada 192...224 kbit/s, baik
pada 128...192 kbit/s
4. FLV (Flash Video)
FLV streaming media format adalah format video baru yang dikembangkan oleh
Macromedia, itu adalah solusi media streaming yang baik. Karena rasio kompresinya
25
lebih tinggi dan kecepatan download unggul, video apapun / file audio dapat dikompresi
atau dikonversi ke format Flash Video, dan kemudian FLV bisa dimainkan di website.
2.7. Kriptoanalisis dan Setegaanalisis.
2.7.1. Steganalisis
Steganalysis merupakan suatu teknik atau yang digunakan untuk
mengungkapkan keberadaan pesan tersembunyi atau tersamar daristeganografi.
Steganalysis menjadi suatu misteri tersendiri untuk dapat diketahui bagaimana teknik
untuk melakukan proses dekripsi atau pemecahan atau penemuan pesan tersebut.
Terdapat beberapa software yang dapat melakukan analisa adanya penggunaan teknik
steganografi. Dalam praktiknya cara pemecahan teknik apa yang digunakan dalam
steganalysis sendiri secara empirik berkisar diantara :
• Menganalisa dari perubahan yang dilakukan terhadap meta data file tersebut.
• Menganalisa dari ciri-ciri file telah menggunakan software tertentu untu
steganografi.
• Membandingkan file asli, lalu dicari perbedaannya dan pola yang digunakan
sehingga dengan cara ini bukan saja dapat diketahui file telah mengalami psoses
steganografi dapat pula diketahui pesan yang disembunyikan.
Tetapi teknik steganalysis tidak dapat digunakan untuk mengetahui pesan yang
disembunyikan bila ternyata pesan tersebut mengalami kriptografi atau pengkodean
pesan lagi. Jadi cara yang baik untuk melakukan steganografi adalah dengan melakukan
asumsi bahwa orang akan tahu bahwa ada pesan yang disembunyikan sehingga
26
dilakukan pengamanan lagi dengan kriptografi. Gunakan teknik kriptografi yang sudah
teruji, apanila perlu dapat digunakan teknik enkripsi bertingkat.
Penggunaan steganografi khususnya digital watermarking biasanya digunakan
untuk menyimpan informasi yang rahasia. Karena ukuran pesan yang dapat disimpan
menggunakan digital watermarking relatif kecil, maka informasi yang disimpan juga
sesuatu yang rahasia namun dalam ukuran kecil. Contoh penggunaannya adalah untuk
nomor PIN, nomor rekening, nomor kunci publik, dan sebagainya. Selain itu
penggunaan steganografi juga dapat digunakan untuk untuk memberikan tanda copyright
terhadap file gambar, audio (seperti mp3), dan video.
Dalam sudut pandang yang lebih negatif lagi kita bisa memandang steganografi
sebagai teknologi yang berdampak buruk bagi kehidupan masyarakat. Steganografi
tenyata digunakan juga untuk melakukan tindakan kriminal. Terdapat dugaan juga
bahwa steganografi digunakan oleh para teroris untuk menjalankan aksinya. Dengan
steganografi, peta, sasaran , dan rencana tindakan teroris disamarkan dalam situs-situs
jejaring sosial atau pada situs-situs jaringan internet lainnya. Maka dari itu kelebihan
dari steganografi sangat disayangkan bila dipakai untuk tujuan kejahatan. Tindakan
kejahatan lainnya yang mungkin difasilitasi oleh steganografi yaitu untuk perjudian,
penipuan, virus, dan lain-lain.
2.7.2. Kriptografi.
Keamanan suatu sistem kriptografi merupakan masalah yang paling fundamental.
Dengan menggunakan sistem standar terbuka, maka keamanan suatu sistem kriptografi
akan lebih mudah dan lebih cepat dianalisa. Mengingat kenyataan inilah maka sekarang
tidak digunakan lagi algoritma rahasia yang tidak diketahui tingkat keamanannya.
27
Sebuah sistem kriptografi dirancang untuk menjaga pesan awal dari kemungkinan
dibaca oleh pihak-pihak yang tidak berwenang, yang secara umum dinamakan sebagai
penyerang (attacker). Tipe serangan paling umum terhadap suatu sistem kriptografi
adalah serangan kriptanalisis (cryptanalysis attack).
Secara umum kriptanalisis dapat didefinisikan sebagai sebuah studi mengenai
cipher, ciphertext atau cyrptosystems yang bertujuan menemukan kelemahan dalam
sistem penyandian, sehingga dimungkinkan untuk memperoleh pesan awal dari teks
cipher yang ada, tanpa perlu mengetahui kunci ataupun algoritma pembangun teks
cipher tersebut.
Sebuah algoritma kriptografi dapat dikatakan aman bila ia memenuhi syarat berikut:
1. Persamaan matematis yang menggambarkan operasi algoritma kriptografi sangat
kompleks sehingga algoritma tidak mungkin dipecahkan secara analisis.
2. Biaya untuk memecahkan cipherteks melampaui nilai informasi yang terkandung di
dalam teks cipher tersebut.
3. Waktu yang diperlukan untuk memecahkan teks cipher melampaui lamanya waktu
informasi tersebut harus dijaga kerahasiaannya.
2.8. Proses Perancangan Software
Model Incremental diperkenalkan oleh Mills. Model ini sering digunakan dalam
rekayasa perangkat lunak, menerapkan rekayasa perangkat lunak perbagian, hingga
menghasilkan perangkat lunak yang lengkap. Proses membangun berhenti jika produk
telah mencapai seluruh fungsi yang diharapkan. Pada awal tahapan dilakukan penentuan
28
kebutuhan dan spesifikasi. Kemudian dilakukan perancangan arsitektur software yang
terbuka, agar dapat diterapkan pembangunan per-bagian pada tahapan selanjutnya.
Tahapan Incremental Model adalah :
1. Requirement
2. Specification
3. Architecture Design
Tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang sudah
selesai dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan. Pada
incremental model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum
sebelum tahap membangun tiap modal. Produk hasil increment pertama biasanya produk
inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut
digunakan oleh pengguna atau menjalani review/pengecekan detil. Hasil review tersebut
menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini terus dikerjakan
sampai program yang sempurna dihasilkan.
Alasan mengapa menggunakan incremental model dalam pembuatan aplikasi ini :
• Model ini cocok jika jumlah anggota tim pengembang/pembangun perangkat
lunak tidak cukup.
• Mampu mengakomodasi perubahan secara fleksibel.
• Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk
yang sudah bisa berfungsi dengan spesifikasi dasar.
29
• Cocok untuk proyek aplikasi berukuran kecil (tidak lebih dari 200.000 baris
coding)
Gambar 2.3. Proses Incremetal Model.
2.9. Bahasa Pemrograman Java
Java adalah suatu teknologi di dunia software komputer. Selain merupakan suatu
bahasa pemrograman, Java juga merupakan suatu platform. Sebagai bahasa
pemrograman, Java adalah salah satu bahasa pemrograman berorientasi objek (OOP –
Object Oriented Programming). Paradigma OOP menyelesaikan masalah dengan
merepresentasikan masalah ke model objek. Karakterisitik OOP di antaranya adalah
Enkapsulation, Inheritance dan Polimorfism.
Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :
1. Simple
30
Bahasa pemrograman Java menggunakan Sintaks mirip dengan C++ namun sintaks
pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang
rumit dan multiple inheritance. Java juga menggunakan automatic memory
allocation dan memory garbage collection.
2. Object Oriented
Java mengunakan pemrograman berorientasi objek yang membuat program dapat
dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi
objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-
objek tersebut.
3. Distributed
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya
libraries networking yang terintegrasi pada Java.
4. Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine
(JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java
bytecodes dapat dijalankan pada platform yang berbeda-beda.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan
mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java
mempunyai runtime-Exception handling untuk membantu mengatasi error pada
pemrograman.
31
6. Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki
beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk
merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu
buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual
Machine.
8. Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang
berbeda-beda tanpa harus dikompilasi ulang.
9. Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java
dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan J.E.N.I.
Pengenalan Pemrograman Inprise, Microsoft ataupun Symantec yang menggunakan
Just In Time Compilers (JIT).
10. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan
beberapa pekerjaan secara sekaligus dan simultan.
11. Dynamic
32
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada
suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa
menggangu program yang menggunakan class tersebut.
Tabel 2.1. Keunggulan Java dibanding dengan bahasa pemograman lainnya.
Keuntungan menggunakan Java sebagai bahasa pemrograman dalam pembuatan
aplikasi ini adalah karena Java itu sendiri sederhana dan termasuk ke dalam bahasa
tingkat tinggi yang berorientasi objek dan Java bersifat tidak bergantung pada platform,
artinya, java dapat dijalankan pada sembarang hardware maupun sistem operasi yang
diterapkan didalamnya. Java ini mendukung fungsi-fungsi algoritma dan GUI (Graphic
User Interface), sehingga pada pengaplikasiannya hanya tinggal memanggil fungsi yang
telah ada. Java telah mengakomodasi hampir seluruh fitur penting bahasa – bahasa
pemrograman yang ada semenjak perkembangan komputasi modern manusia :
• Dari SIMULA, bahasa pada tahun 65-an, bahasa yang paling mempengaruhi Java
sekaligus C++. Dari bahasa ini diadopsi bentukan – bentukan dasar dari
pemrograman berorientasi objek.
33
• Dari LISP – bahasa tahun 55-an. Diadopsi fasilitas garbage collection, serta
kemampuan untuk meniru generic list processing, meski fasilitas ini jarang yang
memanfaatkannya.
• Dari Algol – bahasa pada tahun 60-an, diambil struktur kendali yang dimilikinya.
• Dari C++, diadopsi sintaks, sebagian semantiks dan exception handling
• Dari bahasa Ada, diambil strongly type, dan exception handling.
• Dari Objective C, diambil fasilitas interface.
• Dari bahasa SmallTalk, diambil pendekatan single-root class hiérarchie, dimana
objek adalah satu kesatuan hirarki pewarisan
• Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK 1.4.