KAJIAN STEGANOGRAFI DENGAN METODE
( ) PADA DOKUMEN CITRA TERKOMPRESI
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
PRISKILLA BR GINTING 060803038
PROGRAM STUDI S1 MATEMATIKA DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
Judul : KAJIAN STEGANOGRAFI DENGAN METODE
( ) PADA DOKUMEN CITRA TERKOMPRESI
Kategori : SKRIPSI
Nama : PRISKILLA BR GINTING
Nomor Induk Mahasiswa : 060803038
Program Studi : SARJANA (S1) MATEMATIKA
Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 2010
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Syahril Efendi, S.Si, M.IT Drs. Sawaluddin, M.IT NIP. 196711101996021001 NIP. 195912311998021001
Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU Ketua,
KAJIAN STEGANOGRAFI DENGAN METODE
( ) PADA DOKUMEN CITRA TERKOMPRESI
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa karena kasih dan karuniaNya yang selalu menyertai penulis sehingga penulis dapat menyelesaikan tulisan ini.
!
Halaman
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Gambar ix
Bab 1 Pendahuluan 1
1.1 Latar Belakang 1
1.2 Perumusan Masalah 3
1.3 Pembatasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 4
1.6 Metode Penelitian 4
Bab 2 Landasan Teori 5
2.1 Citra Digital 5
2.1.1 Representasi Citra Digital 5
2.1.2 Warna pada Citra Digital 6
2.2 Kompresi pada Citra Digital 8
2.2.1 Teknik Kompresi 9
2.3 ! $ # % ( ) 12
2.3.1 Struktur 12
2.3.2 Spesifikasi % "# pada 14
2.4 Steganografi 17
2.4.1 Sejarah Steganografi 17
2.4.2 Konsep dan Terminologi Steganografi 18
2.4.3 Teknik Steganografi 20
2.5 ! " ! ( ' " " ( ) 21
2.5.1 ! " 22
2.5.2 Kompleksitas Citra Biner 22
2.5.3 Konjugasi Citra Biner 24
2.5.4 ") & " dan # & " 25 2.5.5 " ' ( ) dan " " ! ' ( ) 25
2.5.6 Algoritma 26
Bab 3 Pembahasan 30
3.1 Sistem " " ! ' ( ) 30
3.2 Blok Rahasia dan Operasi Konjugasi 31
3.3 Penerapan pada Dokumen Citra 33
3.3.1 Penyisipan Pesan 35
3.2.2 Ekstraksi Pesan 45
3.3.4 Analisis Perubahan Ukuran Dokumen Citra 68
3.4 Aplikasi pada 68
3.4.1 Proses Penyisipan Pesan 69
3.4.2 Proses Ekstraksi Pesan 70
3.4.3 Hasil Pengujian 73
Bab 4 Kesimpulan dan Saran 75
4.1 Kesimpulan 75
4.2 Saran 75
Halaman
Gambar 2.1 Representasi Citra Digital dalam Matriks dan Gambar Biner 6 Gambar 2.2 Contoh Tabel Warna pada Penggunaan " ( ! 7
Gambar 2.3 Penyisipan Pesan dan Ekstraksi Pesan 19
Gambar 2.4 (a) Gambar biner dengan nilai perubahan warna 4 dan (b) Gambar
biner dengan nilai perubahan warna 20 23
Gambar 2.5 Contoh Konjugasi dan Pola Biner 24
Gambar 2.6 Gambar Biner dengan Sistem dan 25
Gambar 2.7 Proses Pengubahan Citra Menjadi Segmen-Segmen ! " 27 Gambar 2.8 Representasi Blok Pesan dalam Gambar Biner 28
Gambar 3.1 Contoh Blok Pesan Rahasia 31
Gambar 3.2 Kompleksitas maksimum blok 8x8 32
Gambar 3.3 Proses Segmentasi Citra 8-bit Menjadi Blok 8x8 36 Gambar 3.4 Pergantian Nilai Bit pada ! " dengan Blok Pesan Rahasia 41
Gambar 3.5 Proses Penyisipan Pesan 43
Gambar 3.6 Proses Ekstraksi Pesan 48
Gambar 3.7 Pesan Rahasia 49
Gambar 3.8 Gambar Asli 67
Gambar 3.9 Gambar Berisi Pesan Rahasia 67
Gambar 3.10 Jendela Menu * % + & , $ 69
Gambar 3.11 Komponen ") " " 69
Gambar 3.12 Proses Penyisipan 70
Gambar 3.13 Komponen ") " ( " 71
Gambar 3.14 Proses Ekstraksi 72
Gambar 3.15 ( ketika Nilai % % ! Berbeda 72
Gambar 3.16 Hasil Ekstraksi Pesan 73
Gambar 3.17 Perbandingan gambar sebelum (a) dan sesudah (b) disisipi Pesan
!
" #$#% &'#(#)*
Saat ini, teknologi komunikasi dan informasi berkembang dengan pesat dan
memberikan pengaruh besar bagi kehidupan manusia. Contoh dari perkembangan ini
adalah jaringan internet, yang pada saat ini telah memungkingkan banyak orang untuk
saling bertukar data secara bebas melalui jaringan tersebut. Karena kemudahan yang
dimilikinya, internet sudah berkembang menjadi salah satu media yang paling populer
di dunia. Namun, kemudahan ini juga dimanfaatkan oleh sebagian pihak yang
mencoba untuk melakukan kejahatan. Dengan berbagai teknik banyak yang mencoba
untuk mengakses informasi yang bukan haknya. Oleh karena itu, sejalan dengan
berkembangnya media internet ini harus juga dibarengi dengan perkembangan
keamanan sistem informasi.
Untuk berbagai alasan, keamanan dan kerahasiaan sangat dibutuhkan dalam
komunikasi data. Terdapat beberapa usaha untuk menangani masalah keamanan data
rahasia yang dikirimkan melalui internet, di antaranya adalah menggunakan teknik
kriptografi dan steganografi. Kriptografi adalah ilmu dan seni untuk menjaga
kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat
dimengerti lagi maknanya (Munir, 2006, hal: 2). Teknik kriptografi dapat
menimbulkan kecurigaan pada pihak ketiga yang tidak berhak menerima informasi
karena pesan disamarkan dengan cara mengubah pesan yang asli menjadi seolah-olah
tidak terbaca. Selanjutnya pihak ketiga tersebut akan memiliki keinginan untuk
mengetahui isi pesan rahasia tersebut dan berusaha memecahkan informasi yang
Sedangkan steganografi lebih mengurangi kecurigaan karena pesan yang
disamarkan disembunyikan ke dalam pesan lainnya (Cachin, 2005). Steganografi
dapat menyamarkan pesan ke dalam suatu media tanpa orang lain menyadari bahwa
media tersebut telah disisipi suatu pesan, karena hasil keluaran steganografi adalah
data yang memiliki bentuk persepsi yang sama dengan data aslinya apabila dilihat
menggunakan indera manusia, sedangkan perubahan pesan dalam kriptografi dapat
dilihat dan disadari langsung oleh indera manusia. Pada steganografi, data rahasia
disisipkan pada data lain yang disebut - dan menghasilkan
-(hasil steganografi). Media penampung yang umum digunakan pada teknik
steganografi adalah gambar, suara, video, atau teks. Adapun data yang disimpan juga
dapat berupa gambar, suara, video, teks, atau pesan lain. Pada tugas akhir ini,
steganografi yang diterapkan adalah steganografi pada dokumen citra (gambar). Ada
banyak metode yang digunakan untuk steganografi pada dokumen citra seperti metode
" ) " . /0 " %' dan ! "
! ( ' " " . /.
Metode steganografi yang digunakan pada tugas akhir ini adalah metode
! " ! ( ' " " ( ). Metode ini ditemukan oleh Eiji Kawaguchi
dan R. O. Eason pada tahun 1998. Metode ini memanfaatkan perhitungan
kompleksitas pada tiap ! " dalam menyisipkan data rahasia (Kawaguchi dan
Eason, 1998). Segmen ! " yang dianggap " ! # pada dapat
diganti dengan data rahasia yang ingin disisipkan. Metode ini memiliki kapasitas
penyisipan data rahasia yang lebih besar dari pada metode lain, yaitu 30% sampai
50% dari ukuran (Spaulding !, 2002) . Pada tugas akhir ini, dokumen
citra yang digunakan sebagai penampung adalah dokumen citra terkompresi berformat
( ! $ # % ). Untuk penyimpanan dan pengiriman citra akan
lebih baik jika digunakan citra terkompresi daripada citra yang tidak terkompresi.
Ukuran citra akan menjadi lebih kecil setelah dikompresi sehingga waktu
pengirimannya menjadi lebih cepat. Format dipilih karena teknik kompresi yang
digunakan pada merupakan teknik kompresi yang ! ! (Boutell, 1997). Hal
ini berarti tidak ada nilai bit yang berubah pada saat proses kompresi dan dekompresi
sehingga kemungkinan hilang atau rusaknya pesan rahasia tidak ada pada penerapan
" &%+,+-#) #-#'#.
Permasalahan yang terdapat dalam tugas akhir ini adalah sebagai berikut:
1. Bagaimana proses penyisipan dan ekstraksi pesan pada dokumen citra terkompresi
dengan menggunakan teknik steganografi dengan metode .
2. Apakah terjadi perubahan ukuran data pada dokumen citra setelah disisipkan
pesan jika dibandingkan dengan dokumen citra aslinya.
" &,/#$#-#) #-#'#.
Agar pembahasan penelitian ini lebih terarah maka diberikan batasan-batasan masalah
sebagai berikut:
1. Format dokumen citra terkompresi yang digunakan sebagai penampung adalah
( ! $ # % ).
2. Pengujian teknik steganografi dengan metode dilakukan dengan
menggunakan ) $ * % + & , $.
3. Pesan yang disisipkan ke dalam gambar berupa pesan teks.
"0 +1+#) &)&'2$2#)
Tujuan yang ingin dicapai dalam tugas akhir ini adalah:
1. Memahami cara kerja steganografi dengan metode pada dokumen citra
terkompresi.
2. Membandingkan ukuran data pada dokumen citra sebelum dan sesudah pesan
"3 #)4##$ &)&'2$2#)
Manfaat dari penulisan tugas akhir ini adalah untuk menambah pengetahuan dan
wawasan penulis tentang steganografi khususnya menggunakan metode ! "
! ( ' " "( ) untuk pengamanan pesan pada dokumen citra.
" &$56& &)&'2$2#)
Metodologi penelitian yang digunakan pada studi ini adalah:
1. Studi Literatur dan Pemahaman
Penulisan ini dimulai dengan studi kepustakaan yaitu mengumpulkan dan
mempelajari bahan-bahan referensi berupa buku ( ( #), jurnal dan artikel
ilmiah, serta $ yang membahas tentang steganografi, dokumen citra
berformat dan metode .
2. Analisis
Pada tahap ini dilakukan analisis dari hasil studi pustaka yang meliputi algoritma
yang akan digunakan untuk penyisipan dan ekstraksi pesan rahasia pada dokumen
citra terkompresi menggunakan metode serta untuk mengetahui apakah
terjadi perubahan pada dokumen citra setelah disisipi pesan rahasia.
3. Penyusunan laporan dan kesimpulan akhir
Penyusunan laporan hasil analisis ke dalam format penulisan tugas akhir dengan
" 2$%# 2*2$#'
Citra digital merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan
suatu titik pada citra tersebut dan elemen matriksnya menyatakan tingkat keabuan
pada titik tersebut (Sutoyo, 2009). Piksel merupakan elemen terkecil dari suatu citra,
yakni berupa titik-titik warna yang membentuk citra.
Pada citra digital berbagai macam pengolahan citra dapat dilakukan terhadap
citra tersebut. Salah satu operasi pada pengolahan citra yang diterapkan pada citra
adalah menyembunyikan data rahasia pada citra sehingga keberadaan data rahasia
tersebut tidak diketahui (steganografi). Komputer digital hanya dapat memproses citra
dalam bentuk digital.
" " &7%&-&)$#-2 2$%# 2*2$#'
Sebuah citra digital dapat direpresentasikan dalam bentuk matriks yang terdiri dari
kolom dan baris, di mana perpotongan antara kolom dan baris disebut piksel
(Sutoyo !, 2009). Piksel mempunyai dua parameter, yaitu koordinat dan intensitas
atau warna. Nilai yang terdapat pada koordinat ((0') adalah )((0'), yaitu besar
intensitas atau warna dari piksel di titik itu. Oleh sebab itu , sebuah citra digital dapat
Berdasarkan gambaran tersebut, secara matematis citra digital dapat dituliskan sebagai
fungsi intensitas )((0'), di mana harga ( (baris) dan ' (kolom) merupakan koordinat
posisi dan )((0') adalah nilai fungsi pada setiap titik ((0') yang menyatakan besar
intensitas citra atau tingkat keabuan atau warna dari piksel di titik tersebut.
Jika pada sebuah citra digital dengan warna hitam-putih dan berukuran 5 x 5
piksel. Didefinisikan bahwa bit 0 menandakan warna piksel hitam dan bit 1
merupakan representasi warna piksel putih, maka contoh representasi matriks dan
gambar dari citra digital tersebut dapat dilihat pada Gambar 2.1.
#,/#% " &7%&-&)$#-2 2$%# 2*2$#' 6#'#, #$%2(- 6#) #,/#% 2)&%
" " 8#%)# 7#6# 2$%# 2*2$#'
Citra digital memiliki beberapa jenis cara pewarnaan. Tiap jenis pewarnaan ini
memiliki karakteristik masing-masing. Jenis pewarnaan ini memberikan pengaruh
pada citra digital sehingga memiliki jumlah warna yang berbeda (perbedaan kualitas
warna) dan pengaruh pada ukuran dokumen. Berikut adalah jenis-jenis pewarnaan
pada citra digital (Sutoyo !, 2009):
1. " % .+ " %/
" % ini disebut juga dengan warna 1-bit, karena setiap piksel hanya
membutuhkan 1 bit untuk menyimpan warna piksel tersebut. Karena mode warna
ini hanya menyimpan informasi kedalaman bit ( %) warna sebesar 1 bit,
maka warna yang bisa ditampilkan hanya dua warna saja. Warna yang akan
ditampilkan adalah warna hitam dan putih. Dengan penggunaan warna 1-bit, maka
menggunakan warna 1-bit sangat sederhana karena memiliki ukuran file yang jauh
lebih kecil dibandingkan dengan penggunaan sistem warna lainnya.
2. ' !
' ! adalah warna–warna piksel yang berada dalam rentang gradasi warna
hitam dan putih. ' ! menyimpan informasi % warna sebesar 8 bit.
Jadi warna yang bisa ditampilkan pada mode warna ' ! berjumlah sampai
256, dalam hal ini nilai 0 menyatakan hitam dan 255 menyatakan putih, nilai
antara 0 sampai 255 menyatakan warna keabuan yang terletak antara hitam dan
putih. Dengan penggunaan warna 8-bit ini maka ukuran dokumennya pun otomatis
menjadi semakin besar dibandingkan dengan warna 1-bit.
3. " ( !
" ( ! merupakan citra digital berwarna yang menghasilkan gambar
dengan warna maksimal terdiri atas 256 warna dan 256 warna tersebut
didefenisikan ke dalam tabel warna. Nilai bit pada " ( ! merupakan
penunjuk ( " ) menuju tabel warna. Gambar 2.2 merupakan contoh tabel
warna pada penggunaan " ( ! .
#,/#% " 5)$5. #/&' 9#%)# 7#6# &)**+)##)
4. & " ! .& /
Dengan menggunakan pewarnaan ini, bit-bit pembentuk piksel merupakan
perwakilan dari setiap elemen pembentuk warna yaitu merah, hijau dan biru.
Jumlah bit yang digunakan pada warna & sangat beragam, di antaranya adalah
16-bit, 24-bit dan 32-bit. Semakin banyak jumlah bit yang merepresentasikan
warna, maka kualitas warna tersebut semakin baik.
" 5,7%&-2 7#6# 2$%# 2*2$#'
Kompresi citra bertujuan untuk meminimalkan jumlah bit yang diperlukan untuk
efisien. Citra yang belum dikompresi akan membutuhkan tempat penyimpanan yang
jauh lebih besar bila dibandingkan dengan citra yang sudah dikompresi. Demikian
juga dengan waktu pengiriman, citra yang belum dikompresi akan membutuhkan
waktu yang lebih lama. Untuk itulah diperlukan kompresi citra sehingga ukuran citra
tersebut menjadi lebih kecil dan waktu pengiriman citra menjadi lebih cepat.
Teknik kompresi yang ada sekarang memungkinkan citra dikompresi sehingga
ukurannya menjadi jauh lebih kecil daripada ukuran asli. Ada dua tipe utama kompresi
data, yaitu kompresi tipe ! ! dan kompresi tipe ! '. Jika sebuah dokumen citra
dikompresi dengan teknik kompresi ! ! dan di ( " kembali, maka akan
menghasilkan bit-bit asli yang persis sama dengan bit-bit sebelum dilakukan kompresi
(Miano, 1999). Sedangkan teknik kompresi ! ' akan menghasilkan gambar yang
mendekati bit-bit asli tetapi terjadi perubahan sehingga tidak tepat sama dengan bit-bit
yang ada pada gambar asli namun sangat mirip (Miano, 1999). Pada kompresi tipe
! ' ini akan terdapat data yang hilang selama proses kompresi. Akibatnya kualitas
data yang dihasilkan akan lebih rendah daripada kualitas data asli. Ukuran dokumen
yang dihasilkan kompresi tipe ! ' lebih kecil dibandingkan dengan hasil kompresi
! ! .
Parameter-parameter citra yang penting dalam proses kompresi di antaranya
adalah sebagai berikut:
1. Resolusi
Resolusi citra menyatakan ukuran panjang kali lebar dari sebuah citra. Resolusi
citra biasanya dinyatakan dalam satuan piksel. Semakin tinggi resolusi sebuah
citra, semakin baik kualitas citra tersebut. Namun, tingginya resolusi
menyebabkan semakin banyaknya jumlah bit yang diperlukan untuk menyimpan
dan mentransmisikan data citra tersebut.
2. Kedalaman Bit ( 1 %)
Kedalaman bit menyatakan jumlah bit yang diperlukan untuk merepresentasikan
satuan bit2piksel. Semakin banyak jumlah bit yang digunakan untuk
merepresentasikan sebuah citra, maka semakin baik kualitas citra tersebut.
3. Konsep Redundansi
Redundansi merupakan suatu keadaan dimana representasi suatu elemen data tidak
bernilai signifikan dalam merepresentasikan keseluruhan data. Keadaan ini
menyebabkan data keseluruhan dapat direpresentasikan secara lebih baik dengan
cara menghilangkan representasi dari sebuah elemen data yang redundan.
" " &()2( 5,7%&-2
Teknik kompresi yang umum digunakan dalam pengolahan dokumen citra ada 4, yaitu
& , 3, + )) " dan 1 (Miano, 1999). Berikut keterangan singkat mengenai
teknik-teknik kompresi pada dokumen citra tersebut:
1. & .& " " % " " /
Pada teknik & , piksel berurutan dengan nilai yang sama akan dikodekan
menggunakan " ! " % dan pasangan nilai (Miano, 1999). Sebagai contoh, jika
piksel bernilai 8 muncul 9 kali berturut-turut, maka piksel tersebut tidak
direpresentasikan dengan 9 buah piksel bernilai 8, namun menjadi 2- ' yang
merepresentasikan jumlah kemunculan piksel tersebut beserta nilainya.
2. 3 " "
Pada 3 " " , kompresor membuat kamus yang memuat nilai piksel yang ada
dalam dokumen, hasil kompresi akan memuat kode yang berisi kamus yang dibuat
sebelumnya (Miano, 1999). 377 dan 378 merupakan 3 " " yang
dikembangkan oleh Jacob Ziv dan Abraham Lempel pada tahun 1977 dan 1978.
3. + )) " "
Pada teknik ini, penyimpanan tidak menggunakan jumlah pasti bit yang
merepresentasikan nilai komponen, namun menggunakan ! ! " %
(Miano, 1999). Semakin banyak nilai yang sama keluar, maka semakin kecil
ukuran dokumen karena semakin pendeknya kode yang merepresentasikan gambar
tersebut. Sebagai contoh, dalam kode string “ABBABABACAACDDD”
ditulis:
01000001 01000010 01000010 01000001 01000010 01000001 01000010
A C A A C D D
01000001 01000011 01000001 01000001 01000011 01000100 01000100
D
01000100
Bila dikodekan menggunakan kode + )) "0 langkah-langkahnya adalah sebagai
berikut:
1) Buat daftar frekuensi kemunculan tiap-tiap karakter dan urutkan dari yang
terkecil hingga terbesar.
C : 2 D : 3 B : 4 A :6
2) Gabung dua buah pohon yang mempunyai frekuensi kemunculan terkecil dan
urutkan kembali.
B : 4 C,D : 5 A : 6
C : 2 D : 3
3) Gabung dua buah pohon yang mempunyai frekuensi kemunculan terkecil dan
urutkan kembali.
A : 6 B,C,D : 9
C,D : 5 B :4
C : 2 D : 3
4) Gabung dua buah pohon yang mempunyai frekuensi kemunculan terkecil dan
urutkan kembali.
Karakter Frekuensi
A 6
B 4
C 2
A,B,C,D : 15
A : 6 B,C,D : 9
C,D : 5 B : 4
C : 2 D : 3
5) Beri label dari akar ke daun, sebelah kiri = 0, kanan = 1
A,B,C,D : 15
0 1
A : 6 B,C,D : 9
0 1
C,D : 5 B : 4
0 1
C : 2 D : 3
Penelusuran dari akar ke daun (dari atas ke bawah) menghasilkan kode
+ )) "berikut:
A = 0, B = 11, C = 100, D = 101
Dalam kode + )) ", string “ABBABABACAACDDD” ditulis:
0 11 11 0 11 0 11 0 100 0 0 100 101 101 101
Ukuran string sebelum pemampatan (dalam kode ) adalah 15 ( 8 bit =
120 bit.
Ukuran string setelah pemampatan (dalam kode + )) ") adalah:
6 (1 bit + 4 (2 bit + 2 ( 3 bit + 3 ( 3 bit = 29 bit.
4. 1 .1 " " ) /
Teknik ini mengubah representasi blok piksel menggunakan fungsi kosinus
dengan frekuensi berbeda. Frekuensi yang besar, yang tidak memberikan banyak
kontribusi pada dokumen akan dihilangkan (Miano, 1999). Teknik kompresi 1
" !"
! $ # % ( ) diperkenalkan untuk menggantikan format citra
4. Format file ini digunakan untuk menampilkan objek dalam halaman web.
Kelebihan dibandingkan dengan 4 adalah kemampuannya menyimpan citra
& dengan kedalaman bit hingga 48 bit dan citra ' ! dengan kedalaman bit
hingga 16 bit, dan memiliki ! % % "" ! untuk mengontrol " " ' (Boutell,
1997).
Format menyediakan portabilitas, tidak memerlukan hak paten, dan
merupakan citra kompresi yang baik karena menggunakan teknik kompresi yang
! ! sehingga tidak ada data yang hilang (Boutell, 1997). Teknik kompresi
menggunakan algoritma 355 dan + )) ". Format mendukung jenis
pewarnaan yang sangat beragam karena dapat menampung piksel dengan warna & ,
' ! serta " ( ! (Miano, 1999).
" " $%+($+%
Format menyimpan data byte dengan " ) " di bagian awal (
" ") (Miano, 1999). Ini berarti bahwa urutan penulisan byte pada diawali
oleh bit yang paling berpengaruh pada byte tersebut. Sebuah dokumen selalu
diawali oleh tanda ( ) ! " ) sepanjang 8 byte (Miano, 1999). Kedelapan
byte " tersebut selalu memiliki nilai yang sama sebagai penanda bahwa
dokumen tersebut adalah dokumen . Nilai kedelapan byte tersebut jika dituliskan
dalam desimal secara berurutan adalah 137 80 78 71 13 10 26 10 (Boutell, 1997).
Setelah " , dokumen memiliki beberapa informasi dokumen yang
disimpan dalam rangkaian % "#. % "# merupakan suatu urutan blok biner yang
terdiri atas empat bagian, yaitu 4 byte panjang data (! " %), 4 byte tipe % "#, data
% "#, dan 32 bit ' ! " " ' % # ( & ) (Salomon, 2007)6 Setiap dokumen
harus diawali dengan % "# IHDR dan diakhiri dengan % "# IEND (Boutell,
Pada penamaan % "#, terdapat 4 byte yang menentukan nama dan sifat dari
% "# tersebut. Byte pertama dari % "# menentukan apakah % "# tersebut adalah
! % "# atau " !! ' % "# (Boutell, 1997). Jika byte pertama tersebut
merupakan huruf kapital ASCII, maka % "# tersebut merupakan ! % "#yang
berarti merupakan % "# yang wajib dimiliki oleh setiap dokumen . Lain halnya
dengan " !! ' % "#yang berarti % "#tersebut merupakan % "#yang tidak wajib
ada dalam sebuah dokumen .
Byte kedua dari penamaan % "#menentukan sifat dari % "#tersebut apakah
bersifat ! atau % "# (Boutell, 1997). Jika byte kedua merupakan huruf
kapital pada representasi ASCII, maka % "#tersebut bersifat ! 6Sebaliknya, jika
merupakan huruf kecil maka % "#tersebut bersifat .
Byte ketiga dari nama % "# harus merupakan huruf kapital. Hal ini
dikarenakan byte ketiga ini belum memiliki arti apapun yang dapat digunakan untuk
dokumen . Byte % "# ketiga ini diproyeksikan untuk digunakan dalam
merepresentasikan sesuatu yang mungkin akan dikembangkan dalam (Boutell,
1997).
Byte terakhir dari nama % "# mengindikasikan karakteristik % "# tersebut
dalam hal keamanan saat dilakukan editing pada % "#tersebut. Dengan byte keempat
merupakan huruf kapital, maka % "# tersebut tidak bebas untuk di- ' atau diubah
dan sebaliknya jika byte keempat merupakan huruf kecil maka % "# tersebut dapat
di- ' atau dimodifikasi (Boutell, 1997).
" " 7&-242(#-2 # 7#6#
Ada beberapa jenis % "# yang dapat dimiliki oleh dokumen . Setiap % "#
memiliki sifat dan karakteristik masing-masing dilihat dari 32-bit penamaanya.
Berikut dijelaskan semua % "#yang dapat dimiliki oleh dokumen .
+1& merupakan % "# yang berisi header dari dokumen . Byte pertama
menunjukkan bahwa % "# ini bersifat !, artinya wajib dimiliki oleh setiap
dokumen . +1& harus muncul di bagian paling awal dari sebuah dokumen
setelah " (Boutell, 1997). IHDR terdiri dari:
a. Lebar gambar: 4 byte
Menunjukkan lebar dari gambar pada dokumen
b. Tinggi gambar: 4 byte
Menunjukkan tinggi dari gambar pada dokumen
c. Kedalaman bit: 1 byte
Menunjukkan jumlah bit per ! . Dapat bernilai 1, 2, 4, 8 atau 16.
Kedalaman bit yang digunakan bergantung pada pewarnaan yang digunakan.
d. Pewarnaan: 1 byte
Menunjukkan pewarnaan yang digunakan. Merupakan hasil penjumlahan dari
beberapa nilai yaitu 1( ! ), 2(& ) dan 4( ! % % "" !). Nilai
penjumlahan yang valid adalah 0, 2, 3, 4 dan 6.
e. Metode kompresi: 1 byte
Menunjukkan metode kompresi yang digunakan. Saat ini hanya bernilai 0,
artinya menggunakan )! 2 ")! "dengan 32K ! " $ " $.
f. Metode filter: 1 byte
Merepresentasikan metode filter yang digunakan dalam dokumen
g. Metode " ! : 1 byte
Mengindikasikan metode interlace pada dokumen . Nilai 0 tidak
menggunakan interlace, nilai 1 menggunakan Adam7-" ! .
2. ( ! )
% "# ! merupakan ! % "#, namun tidak selalu harus ada dalam
dokumen . % "#ini harus muncul apabila pewarnaan yang digunakan adalah
jenis 3 (penggunaan " ( ! ) (Boutell, 1997). Jika warna yang digunakan
adalah & , maka % "# ini boleh muncul namun tidak wajib. % "# ini akan
digunakan apabila aplikasi tidak mendukung penggunaan ! . Sementara
pada penggunaan warna ' ! , % "# ini tidak boleh ada dalam dokumen
(Boutell, 1997). Data pada % "# ! terdiri dari 1 hingga 256 data
! yang masing masing berisi 3 byte. Masing-masing byte merepresentasikan
3. 1 ( 1 )
% "# 1 adalah tempat penyimpanan data gambar yang sesungguhnya. Data
yang disimpan disini berupa byte yang merupakan data mentah yang telah
dikompresi dan difilter sebelumnya (Boutell, 1997). Ukuran data mentah yang
belum dikompresi dan difilter tersebut sangat bergantung dengan data % yang
didefinisikan sebelumnya.
4. 1 ( ! )
% "# ini harus muncul di bagian paling akhir dari dokumen . % "# ini
adalah penanda akhir dari sebuah dokumen . Tidak ada data pada % "#ini.
5. 7 1 ( # " ! )
% "# 7 1 harus muncul sebelum % "# IDAT dan sesudah % "# PLTE
(Boutell, 1997). % "# ini menspesifikasikan warna latar belakang ) ! yang
digunakan dalam dokumen (Boutell, 1997). % "# ini tidak harus selalu
muncul pada setiap dokumen ( " !! ' % "#). Pada penggunaan ! ,
% "#ini berisi 1 byte yang merupakan pointer menuju ! . Pada penggunaan
warna ' ! , % "#ini berisi 2 byte intensitas warna. Pada penggunaan warna
! , % "# ini berisi data berupa 6 byte yang merepresentasikan intensitas
warna. Masing-masing warna & direpresentasikan dalam 2 byte.
6. +& ( ' % " 8% ")
% "# ini merupakan " !! ' % "# yang harus muncul sebelum % "# IDAT
dan sebelum % "#PLTE. % "#ini menyatakan nilai % 'pada dokumen
(Boutell, 1997).
7. ( )
% "#ini berisi informasi sepanjang 4 byte yang menyatakan gamma dari kamera
yang memproduksi gambar(Boutell, 1997). Dengan penggunaan gamma maka
dapat ditampilkan warna yang sesuai dengan warna asli dengan adanya informasi
dari kamera yang mengambil gambar tersebut. % "# ini bersifat " !! ' dan
harus muncul sebelum % "# 1 dan (Boutell, 1997).
8. % ( + )
% "# ini tidak wajib dimiliki oleh setiap dokumen karena merupakan
" !! ' % "#. % "# ini hanya muncul jika pewarnaan yang digunakan adalah
warna. % "#ini terdiri dari 2 byte data dari masing-masing warna yang ada pada
! (tabel warna) (Boutell, 1997).
9. + ( %' ! ( ! 1 " " )
% "# ini menspesifikasikan ukuran piksel atau aspek rasio untuk menampilkan
gambar. Berupa 9 byte dimana 1 byte menunjukkan spesifikasi unit, 4 byte
menyatakan jumlah piksel per unit pada sumbu x dan 4 byte menyatakan jumlah
piksel per unit pada sumbu y (Boutell, 1997).
10. ( ( ! 1 )
% "# ini menyimpan data tekstual yang dimasukkan oleh " untuk
informasi yang ingin dimasukkan. % "#tEXT mengandung # '$ sepanjang 1
hingga 79 byte, 1 byte " !! dan " byte teks informasi berupa karakter
" (Boutell, 1997).
11. ( ) " )
% "#yang merupakan " !! ' % "#ini menyimpan informasi mengenai waktu
modifikasi dokumen terakhir kali (Boutell, 1997). % "# ini terdiri atas 2
byte informasi tahun, 1 byte bulan, 1 byte tanggal, 1 byte jam, 1 byte menit dan 1
byte detik. Waktu yang digunakan adalah GMT, bukan waktu lokal pada
komputer.
12. & ( " " ')
% "# ini menandakan bahwa suatu dokumen menggunakan transparansi
warna yang simpel (Boutell, 1997). % "# ini merupakan " !! ' % "# yang
tidak wajib ada dalam dokumen . % "# ini jarang digunakan karena pada
jenis pewarnaan sudah terdapat pewarnaan dengan ! % (Boutell, 1997). ! %
ini menunjukkan tingkat transparansi warna suatu piksel.
13.9 ( ( ! 1 )
% "# 9 tidak ubahnya % "# yang berfungsi menyimpan data tekstual.
Perbedaannya adalah bahwa % "# ini menggunakan kompresi saat akan
menyisipkan pesan tekstual. Pesan tekstual tersebut disimpan dengan spesifikasi
# '$ sepanjang 1-79 byte, " !! , metode kompresi dan pesan tekstual
"0 $&*#)5*%#42
Steganografi adalah ilmu dan seni untuk menyembunyikan informasi dengan
menyisipkan pesan kedalam pesan lainnya (Cachin, 2005). Kata " %'
berasal dari bahasa Yunani, yaitu dari kata " yang artinya tersembunyi dan
% "yang artinya tulisan.
Steganografi biasanya sering disamakan dengan kriptografi karena keduanya
sama-sama bertujuan untuk melindungi informasi yang berharga dan rahasia.
Perbedaan yang mendasar antara keduanya terletak pada proses merahasiakan data
dan hasil akhir dari proses tersebut. Kriptografi melakukan proses pengacakan data
asli sehingga dihasilkan data terenkripsi yang benar-benar acak dan berbeda dengan
aslinya. Sementara itu, steganografi menyembunyikan data ke dalam data lain dengan
cara menumpanginya tanpa mengubah data yang ditumpanginya tersebut sehingga
tampilan data tetap terlihat sama.
"0" &1#%#. $&*#)5*%#42
Sejarah steganografi cukup panjang. Awalnya adalah penggunaan % !' % oleh
bangsa Mesir, yakni menulis menggunakan karakter-karakter dalam wujud gambar.
Tulisan Mesir kuno tersebut menjadi ide untuk membuat pesan rahasia saat ini. Oleh
karena itulah, tulisan mesir kuno yang menggunakan gambar dianggap sebagai
steganografi pertama di dunia (Ariyus, 2007).
Menurut penelitian para ahli, Yunani termasuk bangsa yang menggunakan
steganografi setelah bangsa Mesir. Herodotus mendokumentasikan konflik antara
Persia dan Yunani pada abad ke-50 sebelum masehi. Dokumentasi pada masa Raja
Xerxes, raja dari Persia, disimpan di Yunani menggunakan steganografi. Berikut
adalah beberapa contoh penggunaan teknik steganografi klasik (Bakshi, 2007):
1. Abad ke-15 orang Italia menggunakan tawas dan cuka untuk menulis pesan
meresap dan tidak terlihat pada kulit telur. Penerima pesan cukup mengupas kulit
telur tersebut untuk membaca pesan.
2. Selama terjadinya Perang Dunia ke-2, tinta yang tidak tampak (" ! "#) telah
digunakan untuk menulis informasi pada lembaran kertas sehingga saat kertas
tersebut jatuh di tangan pihak lain hanya akan tampak seperti lembaran kertas
kosong biasa.
3. Pada sejarah Yunani kuno, masyarakatnya biasa menggunakan seorang pembawa
pesan sebagai perantara pengiriman pesan. Pengirim pesan tersebut akan dicukur
rambutnya, untuk kemudian dituliskan suatu pesan pada kepalanya yang sudah
botak. Setelah pesan dituliskan, pembawa pesan harus menunggu hingga
rambutnya tumbuh kembali sebelum dapat mengirimkan pesan kepada pihak
penerima. Pihak penerima kemudian akan mencukur rambut pembawa pesan
tersebut untuk melihat pesan yang tersembunyi.
4. Metode lain yang digunakan oleh masyarakat Yunani kuno adalah dengan
menggunakan lilin sebagai media penyembunyi pesan mereka. Pesan dituliskan
pada suatu lembaran, dan lembaran tersebut akan ditutup dengan lilin untuk
menyembunyikan pesan yang telah tertulis. Pihak penerima kemudian akan
menghilangkan lilin dari lembaran tersebut untuk melihat pesan yang disampaikan
oleh pihak pengirim.
"0" 5)-&7 6#) &%,2)5'5*2 $&*#)5*%#42
Terdapat beberapa istilah yang berkaitan dengan steganografi (Munir, 2006), yaitu:
1. + " ( atau : pesan yang disembunyikan.
2. - : pesan yang digunakan untuk menyembunyikan .
Pada tugas akhir ini akan digunakan istilah karena yang digunakan
sebagai cover-object adalah gambar ( ).
3. - : pesan yang sudah berisi . Pada tugas akhir ini
akan digunakan istilah .
Di dalam steganografi digital, baik maupun
- dinamakan " " , sedangkan ekstraksi pesan dari
-dinamakan " . Kedua proses ini mungkin memerlukan kunci rahasia ( # ')
agar hanya pihak yang berhak saja yang dapat melakukan penyisipan pesan dan
ekstraksi pesan sehingga menambah tingkat keamanan data. Proses umum penyisipan
pesan dan ekstraksi pesan dapat dilihat pada Gambar 2.3
-
-
# ' # '
#,/#% " &):2-27#) &-#) 6#) (-$%#(-2 &-#)
Tiga aspek berbeda yang mempengaruhi sifat sistem " atau
penyisipan pada gambar adalah kapasitas, keamanan, dan ketahanan (Ariyus,2007).
Kapasitas merujuk pada jumlah informasi yang bisa disembunyikan ke dalam media
penampung ( - ). Keamanan adalah ketidakmampuan pengamat untuk
mendeteksi pesan yang tersembunyi. Ketahanan adalah jumlah modifikasi
- yang bisa bertahan sebelum musuh merusak pesan rahasia yang tersembunyi
tersebut.
Kriteria yang harus diperhatikan dalam penyembunyian data adalah:
(Cummins !, 2004)
1. 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. Data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan pada
citra penampung. Bila pada citra dilakukan operasi pengolahan citra, maka data
yang disembunyikan tidak rusak.
3. Data yang disembunyikan harus dapat diungkapkan kembali ( '). Karena
tujuan steganografi adalah % " , maka sewaktu-waktu pesan rahasia di
dalam - harus dapat diambil kembali untuk digunakan lebih lanjut.
" (
"0" &()2( $&*#)5*%#42
Pada dasarnya, terdapat tujuh teknik yang digunakan dalam steganografi (Ariyus,
2007), yaitu:
1. "- ", merupakan suatu teknik menanamkan pesan rahasia secara langsung ke
suatu media. Salah satu masalah dari teknik ini adalah ukuran media yang diinjeksi
menjadi lebih besar dari ukuran normalnya sehingga mudah dideteksi.
2. Teknik substitusi ( " %" : ), pada teknik ini data asli digantikan
dengan data rahasia. Biasanya, hasil teknik ini tidak terlalu mengubah ukuran data
asli, tetapi tergantung pada file media dan data yang akan disembunyikan. Teknik
substitusi ini bisa menurunkan kualitas media penampung.
3. Teknik Domain Transformasi (1 " " ) %" : ), yaitu dengan cara
menyimpan informasi rahasia pada transformasi ruang (misalnya domain
frekuensi) dari media penampung ( ). Akan lebih efektif jika teknik ini
diterapkan pada file berekstensi ; (gambar).
4. Teknik ( %" : ), merupakan sebuah
teknik pentransmisian menggunakan " , yang independen
terhadap data informasi sebagai modulataor bentuk gelombang untuk
menyebarkan energi sinyal dalam sebuah jalur komunikasi ( " $ %) yang
lebih besar dari pada sinyal jalur komunikasi informasi. Penerima mengumpulkan
kembali sinyal dengan menggunakan replica " tersinkronisasi.
5. Teknik Statistik ( ! %" : ), dengan teknik ini data diencoding
melalui pengubahan beberapa informasi statistik dari media penampung ( ).
Media penampung di bagi dalam blok-blok dimana setiap blok tersebut
menyimpan satu pixel informasi rahasia yang disembunyikan. Perubahan statistik
ditunjukkan dengan indikasi 1 dan jika tidak ada perubahan, terlihat indikasi 0.
Sistem ini bekerja berdasarkan kemampuan penerima dalam membedakan antara
informasi yang dimodifikasi dan yang belum.
6. Teknik Distorsi (1 " %" : ), informasi yang hendak disembunyikan
disimpan berdasarkan distorsi sinyal. Teknik ini menciptakan perubahan atas
7. Teknik Pembangkitan Wadah ( " " %" : ), Teknik ini
menyembunyikan informasi rahasia sejalan dengan pembangkitan 6
"3 $ % &$
! " ! ( ' " " ( ) merupakan teknik steganografi yang
diperkenalkan oleh Eiji Kawaguchi dan Richard O. Eason pada tahun 1998. Teknik ini
merupakan teknik steganografi yang memiliki kapasitas besar, karena dapat
menampung data rahasia dengan kapasitas yang relatif besar jika dibandingkan
dengan metode steganografi lain seperti . " ) " /. Teknik ini
adalah teknik steganografi yang tidak berdasarkan teknik pemrograman, tetapi teknik
yang menggunakan sifat penglihatan manusia. Sifat penglihatan manusia yang
dimanfaatkan yaitu ketidakmampuan manusia menginterpretasi pola biner yang sangat
rumit.
Eiji Kawaguchi dan R. O. Eason memperkenalkan teknik ini untuk
digunakan pada dokumen citra berwarna yang tidak terkompresi dengan format .
Dokumen citra tersebut dibagi menjadi beberapa segmen dengan ukuran 8x8 piksel
setiap segmennya (Kawaguchi dan Eason, 1998). Pada dokumen citra 8-bit, setiap satu
segmen akan memiliki 8 buah ! " yang merepresentasikan piksel-piksel dari
setiap bit tersebut. Proses pembagian segmen 8x8 piksel menjadi 8 buah ! "
disebut proses ! " 6Representasi kedelapan ! " ini merupakan '
. " ' /. Pada , proses penyisipan dilakukan pada ! " dengan
sistem . " " ! ' / karena proses ! " pada cenderung
lebih baik dibandingkan pada (Kawaguchi dan Eason, 1998). Sehingga pada
proses penyisipan, ! " dengan representasi diubah menjadi ! "
dengan representasi .
Proses penyisipan pesan dilakukan pada segmen yang memiliki kompleksitas
yang tinggi. Segmen yang memiliki kompleksitas tinggi ini disebut " ! # " .
Pada segmen-segmen ini penyisipan dilakukan tidak hanya pada ! " ) " ,
teknik , kapasitas data yang disisipkan dapat mencapai 50% dari ukuran
nya (Kawaguchi dan Eason, 1998).
"3"
Sebuah citra ! ! dengan kedalaman n bit dapat diuraikan menjadi n-gambar
biner ( ! " ) dengan operasi ! " (Kawaguchi dan Eason, 1998). Sebagai
contoh, misalkan ada citra dengan kedalaman n-bit, dapat ditunjukkan
= ( <, =,…, ") (2.1)
merupakan ! " ke-i, dengan i = 1, 2, …, n.
Jika citra terdiri dari 3 warna0 0 "0 ! , maka dapat ditunjukkan
= ( &<, &=, …, &", <, =, …, ", <, =, …, ") (2.2)
&: ! " ke-i untuk
: ! " ke-i untuk "
: ! " ke-i untuk !
"3" 5,7'&(-2$#- 2$%# 2)&%
Kompleksitas citra biner adalah suatu parameter kerumitan dari suatu citra biner.
Tidak ada definisi standar tentang nilai kompleksitas suatu citra biner. Pada tugas
akhir ini, ukuran kompleksitas yang digunakan adalah ! # " $%
! ( ' yang diadopsi dari paper Eiji Kawaguchi dan R.O.Eason. Perubahan warna
hitam dan putih dalam gambar biner adalah ukuran yang baik untuk menghitung nilai
kompleksitas. Jika perubahan warna yang terjadi banyak, maka gambar tersebut
memiliki tingkat kompleksitas tinggi. Jika sebaliknya, maka gambar tersebut
#,/#% "0 # #,/#% /2)&% 6&)*#) )2'#2 7&%+/#.#) 9#%)# 0 6#) / #,/#%
/2)&% 6&)*#) )2'#2 7&%+/#.#) 9#%)# "
Perubahan warna hitam-putih adalah jumlah dari perubahan warna yang terjadi pada
setiap baris dan kolom dalam citra. Sebagai contoh, sebuah piksel hitam yang
dikelilingi piksel putih memiliki nilai perubahan warna 4. Gambar 2.4 menunjukkan
nilai perubahan warna pada suatu gambar biner.
Rumus penghitungan kompleksitas citra biner yang akan digunakan adalah
(Kawaguchi dan Eason, 1998):
(2.3)
Dengan sebagai nilai kompleksitas, # adalah jumlah perubahan warna hitam-putih
dan " adalah kemungkinan maksimal perubahan warna dalam citra. Untuk sebuah
citra biner persegi dengan ukuran 2 x 2 , kemungkinan maksimal perubahan
warnanya adalah 2*2 *(2 -1) dan kemungkinan minimum perubahan warnanya
adalah 0, diperoleh untuk gambar semua putih atau semua hitam (Srinivasan, 2003).
Jadi, nilai α berkisar antara:
(2.4)
"3" 5)1+*#-2 2$%# 2)&%
Konjugasi dari suatu gambar biner adalah sebuah gambar biner lainnya yang
memiliki nilai kompleksitas sebesar satu dikurangi nilai kompleksitas . Misalkan
sebuah gambar hitam-putih berukuran 8x8 piksel memiliki warna # " putih
adalah pola dengan semua piksel berwarna hitam. 8 dan adalah pola papan
catur, dengan piksel pada bagian kiri atas berwarna putih pada 8 dan hitam pada .
>adalah konjugasi dari gambar yang ditunjukan pada Gambar 2.5.
#,/#% "3 5)$5. 5)1+*#-2 6#) 5'# 2)&% #9#*+;.2 6#) #-5)< ==
Dari Gambar 2.5 dapat dilihat bahwa adalah gambar yang memiliki piksel
# " dengan pola 8dan piksel ) " dengan pola . >yang merupakan
konjugasi dari memiliki spesifikasi sebagai berikut (Kawaguchi dan Eason,1998):
1) Memiliki bentuk area ) " sama dengan .
2) Memiliki pola area ) " sama dengan pola .
3) Memiliki pola area # " sama dengan pola 8 .
Untuk membangun sebuah konjugasi >dari sebuah gambar , dapat dilakukan
dengan rumus berikut, dimana “⊕” menandakan operasi ( ! OR (XOR).
> = ⊕8 (2.5)
( >)* = (2.6)
> (2.7)
Jika ( ) adalah kompleksitas dari , maka:
( >) = 1 - ( ) (2.8)
"3"0 ' $ ( ) & 6#) " ) &
") berarti gambar yang simpel, sedangkan " ! # " berarti
gambar yang kompleks. Hal ini hanya berlaku pada kasus dimana sebuah gambar
biner merupakan bagian dari sebuah gambar yang natural (Kawaguchi dan Eason,
1998). Kompleksitas sebuah area ! " adalah parameter yang digunakan dalam
[image:36.595.107.530.162.258.2]+%& 2)#%: 56& #)5)2;#' %#: 56&
Parameter kompleksitas ini harus memiliki batas yang merupakan pemisah keduanya
yang disebut % % ! ( ).
Sebuah ! " tergolong sebagai ") " apabila memiliki nilai
kompleksitas lebih kecil dibandingkan dengan nilai % % ! ( ) dan apabila
memiliki nilai kompleksitas yang lebih besar dibandingkan dengan nilai % % !
( ) akan dianggap sebagai " ! # ".
"3"3 # % 6#) ! %
adalah sandi yang digunakan untuk menyajikan setiap digit dalam bilangan
desimal dengan ekuivalen binernya (Widodo, 2007). termasuk sandi dengan
perubahan minimum yang berarti setiap bilangannya hanya berbeda satu bit dari
bilangan sebelumnya dan sistem sesuai untuk devais masukan/keluaran
(Widodo, 2007). Sebagai contoh, penyajian angka desimal 9 dalam sistem
adalah 1001 sedangkan dalam sistem adalah 1101. Gambar 2.6 menunjukkan
perbedaan antara dan .
#,/#% " #,/#% 2)&% 6&)*#) 2-$&, 6#)
Berikut adalah rumus persamaan antara gambar biner dan (dengan
⊕ adalah ( ! &):
1= 1 (2.9)
i? <⊕ i , > 1 (2.10)
1= 1 (2.11)
dengan gi : nilai bit ke- pada sistem
bi : nilai bit ke- pada sistem
"3" '*5%2$,#
Langkah-langkah yang dilakukan pada algoritma pada saat menyisipkan data
adalah sebagai berikut: (Kawaguchi dan Eason, 1998)
1. dengan sistem diubah menjadi sistem , kemudian gambar
tersebut di ! menjadi ! " dalam bentuk gambar biner. Setiap ! "
mewakili bit dari setiap piksel pada gambar.
2. Segmentasi setiap ! " pada menjadi ") dan " ! #
"dengan menggunakan nilai batas/% % ! ( ). Nilai umum dari =0,3.
3. Kelompokkan byte-byte pesan rahasia menjadi rangkaian blok pesan rahasia.
4. Jika blok( ) kurang kompleks dibandingkan dengan nilai batas, maka lakukan
konjugasi terhadap untuk mendapatkan > yang lebih kompleks. Blok
konjugasi( *) pasti lebih kompleks dibandingkan dengan nilai batas.
5. Sisipkan setiap blok pesan rahasia ke ! " yang merupakan " ! # "
(atau gantikan semua bit pada " ! # "). Jika blok dikonjugasi, maka
simpan data pada “ "- " ”.
6. Sisipkan juga "- " seperti yang dilakukan pada blok pesan rahasia.
7. Ubah dari sistem menjadi sistem .
Proses ekstraksi pesan rahasia dapat dilakukan dengan menerapkan langkah-langkah
penyisipan secara terbalik.
Sebagai contoh, sebuah dokumen citra akan disisipi sebuah pesan rahasia .
Pertama-tama piksel pada citra tersebut ( ) dibagi menjadi segmen-segmen
gambar biner seperti ditunjukkan pada Gambar 2.7. Kemudian pesan rahasia dibagi
menjadi blok yang masing-masing berukuran 64 bit, dan direpresentasikan pada
#,/#% "> %5-&- &)*+/#.#) 2$%# &)1#62 &*,&) &*,&)
Pada ! " tersebut dihitung nilai kompleksitasnya. Jumlah pergantian
warna hitam-putih pada ! " @ adalah sebanyak 47 kali. Jumlah maksimum
perubahan warna pada gambar biner dengan ukuran 8x8 adalah 112 kali, sehingga
nilai #=47 dan " = 112. Melalui persamaan 2.3 didapatkan nilai kompleksitas dari
! " @ tersebut, yaitu = 0,42.
Dengan menggunakan nilai % % ! = 0,3 maka ! " @dikategorikan
sebagai " ! # " karena sehingga penyisipan dilakukan didalamnya.
Jika < , maka tidak dilakukan penyisipan karena segmen tersebut merupakan
") ". Selanjutnya bit pesan rahasia dibagi menjadi segmen-segmen yang
masing-masing berukuran 64 bit. Jika bit pesan rahasia tersebut adalah maka blok
pertama pesan rahasia adalah @dan blok berikutnya adalah <.
= 0100111010011100110101011111100101010000010100100010101000011001
0000111010001111100111100011111001111110010111001111100011110000
@ = 0100111010011100110101011111100101010000010100100010101000011001
Representasi blok pesan dalam gambar biner dapat dilihat pada Gambar 2.8. Blok
pesan @ akan disisipkan pada blok gambar yaitu ! " @ (karena tergolong
" ! # "), dan blok < akan disisipkan pada ! " berikutnya yang
tergolong " ! # "juga.
- ? - ?
#,/#% " &7%&-&)$#-2 '5( &-#) 6#'#, #,/#% 2)&%
Sebelum melakukan penyisipan, gambar biner yang merupakan representasi
blok pesan tersebut dihitung nilai kompleksitasnya terlebih dahulu. Pada blok pesan
pertama ( @), jumlah perubahan warna adalah 57 kali, sehingga dengan persamaan
2.3 diperoleh @ = 0,51. Karena blok pesan ini memiliki kompleksitas @ > ,
maka blok ! " pada citra diganti oleh 64 bit pesan ini.
Pada blok kedua pesan rahasia, jumlah perubahan warna adalah 30, sehingga
didapatkan nilai < = 0,27. Nilai kompleksitas << menunjukkan bahwa blok
kedua pesan tidak cukup kompleks untuk disisipkan, karena itu blok pesan tersebut
harus dikonjugasi terlebih dahulu. Hasil konjugasi, yaitu <* akan memiliki
kompleksitas 0,73 menurut persamaan 2.8. Hasil konjugasi inilah yang kemudian
disisipkan pada " ! # " berikutnya pada citra dijital.
Saat proses ekstrasi pesan, yang perlu dilakukan hanyalah mengambil segmen
bit yang memiliki kompleksitas diatas % % ! . Jika nilai kompleksitas segmen
pesan rahasia. Tabel konjugasi yang disisipkan juga dibaca untuk melihat proses
" 2-$&, ! %
Setiap gambar dengan ukuran 8x8 piksel yang menggunakan warna ' ! dengan
kedalaman 8 bit dapat dibagi menjadi 8 ! " . Operasi pembagian gambar menjadi
! " disebut dengan ! " ! " . ! " ! " dapat dilakukan pada
sistem " ' ( ) dimana setiap nilai intensitas direpresentasikan
sebagai 8 bit angka biner. Pada kenyataannya nilai intensitas piksel pada gambar
relatif rata. Perhatikan bila piksel yang berdampingan pada gambar memiliki nilai
intensitas yang berdekatan yaitu 127 dan 128, yang dalam format biner adalah
01111111 dan 10000000. Pada kasus ini terlihat bahwa nilai intensitas yang hanya
berbeda satu level abu-abu saja memiliki representasi biner yang sangat berbeda
bahkan setiap bit yang bersesuain berbeda. Dua angka yang memiliki nilai yang
hampir mirip tetapi sangat berbeda dalam representasi binernya, atas dasar bit per bit,
disebut dengan + " ! )) (Kawaguchi dan Eason, 1998). Karena pada teknik
ini seluruh nilai ! " diganti, maka kemungkinan nilai " ) "
( ) juga akan berubah. Sehingga setelah proses penyisipan, 01111111 (127) dapat
menjadi 11111111 (255) dan 10000000 (128) dapat menjadi 00000000 (0). Gambar
yang sebelumnya hanya memiliki perbedaan intensitas 1 level abu-abu saja dan
perbedaan warnanya tidak terlalu kentara, sekarang memiliki perbedaan intensitas
yang sangat jauh yaitu 256 (putih) dan 0 (hitam). Jika hal ini terjadi, maka akan
nampak perbedaan pada gambar sebelum dilakukan penyisipan dan sesudah
penyisipan.
Masalah ini dapat diatasi dengan menggunakan sistem " " ! ' "
satu bit dalam representasinya. Dua angka pada contoh diatas, 127 dan 128,
direpresentasikan sebagai 01000000 dan 11000000. Jika dilakukan penyisipan
01000000 dapat menjadi 11000000 (128) dan 11000000 dapat menjadi 01000000
(127), perbedaan intensitasnya tetap hanya 1 level abu-abu saja. Sistem ini
cocok digunakan untuk proses penyisipan. Oleh sebab itu, pada teknik
diubah terlebih dahulu dari sistem menjadi sebelum proses
penyisipan dilakukan.
" '5( &-#) #.#-2# 6#) 7&%#-2 5)1+*#-2
Pesan rahasia dibagi menjadi beberapa bagian dengan ukuran 8 byte yang dibentuk
menjadi blok pesan rahasia berukuran 8x8. Setiap byte pada pesan rahasia akan
membentuk baris pada blok 8x8. Pesan rahasia dibaca sebagai string pada karakter
dan direpresentasikan dengan nilai binernya. Sebagai contoh, sebuah rangkaian
dari 8 karakter dari sebuah dokumen ‘Blok ini’ (8 karakter termasuk spasi) akan
membentuk blok pesan rahasia 8x8 yang ditunjukkan pada Gambar 3.1 dengan ‘B’
sama dengan 01000010 (66 dalam karakter ), ‘l’ sama dengan 01101100 (108
dalam karakter ), spasi sama dengan 00100000 (32 dalam karakter ) dan
seterusnya.
#,/#% " 5)$5. '5( &-#) #.#-2#
Blok-blok pesan rahasia dibentuk menjadi gambar biner yang merupakan pola
papan catur berukuran 8x8, di mana warna hitam menunjukkan nilai bit ‘0’ dan warna
putih menunjukkan nilai bit ‘1’. Gambar biner tersebut yang akan mengganti ! "
' 5 (
yang kompleks pada gambar pada saat penyisipan. Namun sebelumnya harus
dipastikan bahwa gambar biner dari blok-blok pesan rahasia tersebut sudah kompleks.
Apabila gambar biner tersebut kurang kompleks dibandingkan dengan nilai % % ! ,
maka akan terjadi masalah pada proses ekstraksi, blok pesan rahasia tersebut tidak
akan diambil kembali karena hanya blok yang memiliki kompleksitas diatas nilai
% % ! saja yang diambil. Untuk mengatasi masalah ini, maka diperkenalkan
operasi konjugasi.
Gambar 3.2 menunjukkan blok 8x8 yang paling kompleks dengan nilai
kompleksitas 1. Blok ini dilambangkan dengan 8 , dengan nilai kiri atas adalah 1.
Sebuah pola papan catur dengan nilai kompleksitas 1 juga dapat dibentuk dengan
membuat pola yang sama dengan 8 tetapi nilai kiri atasnya adalah 0 yang
dilambangkan dengan . Untuk penjelasan seterusnya yang digunakan sebagai blok
yang paling kompleks adalah 8 . Blok 8 jika di- XOR-kan dengan blok yang
tidak kompleks (kompleksitasnya < ) akan menghasilkan blok * yang kompleks
(kompleksitasnya > ). Blok * di-XOR-kan lagi dengan 8 untuk mendapatkan
blok kembali. Operasi mengganti kompleksitas dari sebuah blok dengan
meng-XOR-kan dengan Wc disebut # "- dan dilambangkan dengan ‘*’.
*! !
#,/#% " 5,7'&(-2$#- ,#(-2,+, /'5( @
Dua properti penting pada operasi konjugasi dapat dituliskan sebagai berikut:
1. α(P*) = 1- α(P)
[image:44.595.105.542.466.645.2]Properti pertama digunakan pada proses penyisipan untuk membuat gambar biner
yang tidak kompleks menjadi kompleks, sedangkan properti kedua digunakan pada
proses ekstraksi untuk mengambil kembali gambar biner yang asli.
Tidak semua blok pesan rahasia harus dikonjugasi karena kebanyakan blok
pesan rahasia sudah kompleks. Oleh karena itu, penting dibuat catatan untuk blok
pesan rahasia yang telah dikonjugasi. Hal ini dapat dilakukan dengan menggunakan
peta konjugasi. Untuk setiap blok pesan rahasia berukuran 8 byte, 1 bit ditambahkan
ke peta konjugasi untuk menunjukkan apakah blok tersebut telah dikonjugasi atau
tidak. Jika nilai bit ‘1’ yang ditambahkan ke peta konjugasi tersebut, maka hal itu
menunjukkan bahwa blok tersebut telah dikonjugasi sedangkan nilai ‘0’ menunjukkan
blok tersebut tidak dikonjugasi. Peta konjugasi akan disisipkan ke dalam gambar
setalah semua blok pesan rahasia disisipkan.
Peta konjugasi juga akan dibentuk menjadi blok berukuran 8x8. Peta konjugasi
mungkin tidak akan membentuk blok yang kompleks sehingga perlu dibuat peta
konjugasi untuk peta konjugasi. Peta konjugasi untuk peta konjugasi dapat dibuat
dengan cara membentuk peta konjugasi ke dalam blok berukuran 63 bit. Jika panjang
blok tersebut tidak sampai 63 bit, maka lakukan " yaitu dengan menambahkan
‘0’ pada bit-bit terakhir. Tambahkan nilai ’0’ pada bit pertama (bit kiri atas) peta
konjugasi sehingga ukuran peta konjugasi menjadi 64 bit dan dapat dibentuk menjadi
gambar biner 8x8. Jika gambar biner tersebut kompleks, maka lakukan penyisipan
seperti biasa. Jika tidak kompleks, maka konjugasi blok peta konjugasi tersebut.
Proses konjugasi akan membuat bit pertama menjadi ‘1’. Jadi, pada saat proses
ekstraksi dapat diketahui jika bit pertama pada peta konjugasi bernilai ‘0’ maka peta
konjugasi tersebut tidak dikonjugasi tetapi jika bit pertama bernilai ‘1’ maka peta
konjugasi tersebut telah dikonjugasi.
" &)&%#7#) 7#6# 5(+,&) 2$%#
Teknik kompresi yang digunakan yaitu teknik kompresi )! dengan
(Miano, 1999). Hal ini berarti pada saat proses kompresi dan dekompresi tidak ada
nilai bit yang berubah, data yang telah dimampatkan akan direkonstruksi kembali
secara utuh sehingga menghasilkan nilai bit yang tidak berubah setelah proses
dekompresi. Sifat kompresi ! ! yang digunakan ini sangat cocok untuk
metode steganografi . Ketika sebuah pesan rahasia akan disisipkan pada
dengan teknik , maka data gambar akan didekompresi terlebih
dahulu. Proses dekompresi dilakukan untuk mendapatkan representasi piksel yang
sebenarnya dari gambar sehingga gambar dapat disegmentasi dengan baik menjadi
blok-blok gambar biner. Setelah pesan rahasia disisipkan ke dalam blok-blok gambar
biner tersebut, gambar dikompresi kembali untuk menghasilkan data gambar yang
telah dimampatkan. Karena pada proses kompresi dan dekompresi tidak terjadi
perubahan nilai bit, maka kemungkinan rusak atau hilangnya pesan rahasia yang
disisipkan tidak akan terjadi sehingga pada proses ekstraksi tidak akan terjadi
masalah.
Format mendukung jenis pewarnaan yang sangat beragam karena dapat
menampung piksel dengan warna & 24 dan 48 bit, ' ! 8 dan 16 bit serta
" ( ! dengan kedalaman 1 hingga 8 bit (Boutell, 1997). Teknik dalam
menyisipkan pesan bekerja dengan memanfaatkan perubahan intensitas warna. Setiap
perubahan nilai bit yang terjadi pada saat penyisipan pesan berarti intensitas warna
pada piksel yang bersangkutan akan berubah dan perubahan tersebut bisa sedikit
ataupun banyak. Penerapan pada citra berformat yang menggunakan
warna & atau ' ! tidak memiliki masalah karena & dan ' !
membaca bit sebagai representasi piksel dalam bentuk intensitas warna. Namun
masalah akan muncul jika menggunakan pewarnaan " ( ! karena nilai bit
pada " ( ! bukan merupakan nilai intensitas warna, tetapi sebagai penunjuk
( " ) menuju tabel warna. Dengan penggunaan tabel warna ini maka perubahan
warna piksel tidak dapat diterka dengan perubahan nilai bit yang terjadi. Perubahan 1
bit saja pada penggunaan tabel warna kemungkinan bisa menyebabkan perubahan
warna yang cukup jauh. Pada tabel warna, biasanya beberapa warna yang mirip
diletakkan berdekatan, namun tidak menutup kemungkinan bahwa dua warna yang
bersebelahan merupakan dua warna yang sangat berbeda, biru dan merah misalnya.
warna yang sangat signifikan. Sementara jika menggunakan intensitas warna,
perubahan 1 bit tidak akan menyebabkan perubahan warna yang signifikan,
warna tersebut akan terlihat sama. Perubahan bit saja pada tabel warna ini bisa
menyebabkan perubahan warna yang sangat signifikan, apalagi bila terjadi perubahan
pada yang akan membuat nilai indeks berubah sangat jauh sehingga warna piksel
akan berubah drastis. Padahal pada teknik , perubahan bit tidak hanya pada ,
tetapi bisa saja terjadi pada . Perubahan warna yang sangat signifikan dapat
menyebabkan gambar yang dihasilkan menjadi rusak. Oleh sebab itu, jika teknik
diterapkan pada dokumen yang menggunakan jenis pewarnaan " (
! , kemungkinan besar menghasilkan kualitas yang kurang baik atau
rusak. Untuk mengatasi masalah kerusakan pada ini, dokumen yang
mengunakan jenis pewarnaan " ( ! dikonversi ke format & sebelum
dilakukan penyisipan pesan.
" " &):2-27#) &-#)
Data yang ada pada dokumen citra berformat merupakan data yang terkompresi.
Oleh sebab itu, dokumen citra berformat tersebut harus didekompresi terlebih
dahulu untuk mendapatkan bit-bit gambar yang membentuk nilai intensitas setiap
piksel yang sesungguhnya. Kemudian nilai intensitas tersebut dikonversi dari sistem
menjadi . Proses konversi dilakukan seperti yang telah dijelaskan pada
bagian 2.5.5. Setelah itu, dokumen citra tersebut dibagi menjadi beberapa segmen
dengan ukuran 8x8 piksel setiap segmennya, segmentasi gambar ditunjukkan oleh
Gambar 3.3. Supaya proses segmentasi dapat dilakukan dengan benar, %
dokumen dari citra harus dibaca terlebih dahulu untuk mengetahui jenis pewarnaan
dan kedalaman bit yang digunakan oleh dokumen citra . Hal itu diperlukan
karena merupakan format citra yang mendukung penggunaan warna lebih dari
satu yaitu & , ' ! dan " ( ! serta menggunakan kedalaman bit yang
cukup bervariasi untuk setiap elemen warna. Apabila dokumen citra
menggunakan jenis pewarnaan " ( ! , maka dokumen citra tersebut dikonversi
menjadi format & 6 Kemudian setiap segmen dari gambar di- ! " atau diuraikan
#,/#% " %5-&- &*,&)$#-2 2$%# /2$ &)1#62 '5( @
Representasi biner dari nilai intesitas setiap piksel pada segmen gambar berukuran 8x8
ditunjukkan sebagai berikut:
b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b
b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b
b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b
b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b
b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b
b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b
b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b
b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b4b5b6b7b8 b1b2b3b
Di mana, bi merupakan nilai bit ke- dari nilai intensitas setiap piksel pada citra. Nilai
bi adalah 0 atau 1. Citra dengan kedalaman 8 bit atau sering disebut citra 8-bit akan
memiliki 8 buah ! " pada setiap segmennya. Hasil ! " dari citra 8-bit
adalah sebagai berikut:
I1 I2 I3 I4 I5 I6 I7 I8
I9 I10 I11 I12 I13 I14 I15 I6
I17 I18 I19 I20 I21 I22 I23 I24
I25 I26 I27 I28 I29 I30 I31 I32
I33 I34 I35 I36 I37 I38 I39 I40
I41 I42 I43 I44 I45 I46 I47 I48
I49 I50 I51 I52 I53 I54 I55 I56
I57 I58 I59 I60 I61 I62 I63 I64
1. ! " 1
2. ! " 2
b2 b2 b2 b2 b2 b2 b2 b2
b2 b2 b2 b2 b2 b2 b2 b2
b2 b2 b2 b2 b2 b2 b2 b2
b2 b2 b2 b2 b2 b2 b2 b2
b2 b2 b2 b2 b2 b2 b2 b2
b2 b2 b2 b2 b2 b2 b2 b2
b2 b2 b2 b2 b2 b2 b2 b2
b2 b2 b2 b2 b2 b2 b2 b2
3. ! " 3
b3 b3 b3 b3 b3 b3 b3 b3
b3 b3 b3 b3 b3 b3 b3 b3
b3 b3 b3 b3 b3 b3 b3 b3
b3 b3 b3 b3 b3 b3 b3 b3
b3 b3 b3 b3 b3 b3 b3 b3
b3 b3 b3 b3 b3 b3 b3 b3
b3 b3 b3 b3 b3 b3 b3 b3
b3 b3 b3 b3 b3 b3 b3 b3 b1 b1 b1 b1 b1 b1 b1 b1
b1 b1 b1 b1 b