analisis metode masking-filtering dalam penyisipan data teks

advertisement
Volume : IV, Nomor : 1, September 2014
Majalah Ilmiah
Informasi dan Teknologi Ilmiah (INTI)
ISSN : 2339-210X
ANALISIS METODE MASKING-FILTERING
DALAM PENYISIPAN DATA TEKS
Efriawan Safa (12110754)
Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma Medan
Jl. Sisimangaraja No. 338 Simpang Limun
www.inti-budidarma.com // Email: [email protected]
ABSTRAK
Agar pesan rahasia hanya dapat dibaca dan dimengerti oleh orang tertentu saja, diperlukan cara untuk
menyembunyikan pesan tersebut, yaitu dengan steganografi. Steganografi adalah penyembunyian pesan rahasia
pada media lain, seperti image, audio atau video sehingga secara kasat mata media yang telah disisipi pesan
tampak seperti biasa. Pada skripsi ini, steganografi diterapkan pada gambar digital. Gambar digital
merupakan salah satu media penampung yang banyak digunakan untuk penyembunyian data. Namun, saat
pengolahan gambar seperti kompresi, rotasi, noise, dan lain sebagainya, pesan rahasia dalam gambar rentan
rusak atau hilang. Maka diperlukan metoda steganografi yang tepat untuk menyembunyikan pesan rahasia
kedalam gambar agar pesan tetap aman, tidak rusak walaupun gambar penampung dimanipulasi, dan pesan
yang disembunyikan tersebut dapat diekstraksi kembali. Pada skripsi ini, diterapkan metode masking – filtering.
Masking-filtering termasuk dalam spatial domain. Penyembunyian pesan dilakukan dengan memanipulasi nilai
luminance gambar. Penggunaannya diterapkan pada gambar berwarna atau grayscale. Masking berfungsi
sebagai penandaan tempat pada gambar yang bisa disisipkan pesan. Filtering melewatkan nilai pada bagian
yang telah ditandai tersebut. Hasilnya adalah stego image dimana pesan terintegrasi dengan gambar
penampungnya, lebih robust terhadap pengolahan gambar jika dibandingkan dengan metoda yang juga
tergolong dalam spatial domain seperti Least Significant Bit.
Kata kunci: Steganografi, masking – filtering, Citra
1.
Pendahuluan
Steganografi
adalah
ilmu
dan
seni
menyembunyikan pesan rahasia (hiding message)
sedemikian sehingga keberadaan (eksistensi) pesan
tidak terdeteksi oleh indera manusia. Kata steganorafi
berasal dari bahasa Yunani yang berarti “tulisan
tersembunyi” (covered writing). Steganografi
membutuhkan dua properti: wadah penampung dan
data rahasia yang akan disembunyikan. Steganografi
digital menggunakan media digital sebagai wadah
penampung, misalnya citra, suara, teks, dan video.
Pengamanan data sangat perlu dilakukan, karena
data-data tersebut adalah data yang sangat rahasia.
Data rahasia yang disembunyikan juga dapat berupa
citra, suara, teks, atau video. Jika pada kriptografi,
data yang telah disandikan (ciphertext) tetap
tersedia, maka dengan steganografi ciphertext
dapat disembunyikan sehingga pihak ketiga tidak
mengetahui keberadaannya.
Masking-filtering termasuk dalam spatial
domain. Penyembunyian pesan dilakukan dengan
memanipulasi
nilai
luminance
gambar.
Penggunaannya diterapkan pada gambar berwarna
atau grayscale. Masking berfungsi sebagai penandaan
tempat pada gambar yang bisa disisipkan pesan
sedangkan filtering melewatkan nilai pada bagian
yang telah ditandai tersebut.
Metode masking-filtering ini biasanya dibatasi
pada gambar dengan 24 bit warna atau gambar
bermode grayscale. Metode ini mirip dengan
watermark, dimana suatu image diberi tanda
(marking) untuk menyembunyikan pesan rahasia. Hal
ini dapat dilakukan, misalnya dengan memodifikasi
tingkat luminance beberapa bagian pada gambar.
Metode masking jauh lebih baik dari pada LSB
karena memungkinkan adanya kompresi, cropping,
dan beberapa pemrosesan terhadap gambar lainnya.
Teknik masking memasukkan informasi ke area
tertentu
yang
signifikan
sehingga
pesan
tersembunyi itu lebih dapat terselubung daripada
hanya sekedar menutupi tingkatan noise pada
gambar. Hal inilah yang membuat masking lebih
baik daripada LSB, misalnya saja pada gambar
dengan format JPEG yang dikompresi secara lossy.
1.1 Perumusan Masalah
Adapun perumusan masalah dalam penelitian
ini adalah:
1. Bagaimana proses penyisipan data teks ke
dalam file citra agar data tersebut tidak dapat
diketahui keberadaanya oleh orang lain?
2. Bagaimana menerapkan metode Masking-Filtering
dalam penyisipan data teks?
3. Bagaimana merancang suatu aplikasi yang
mampu menyisipkan data teks dalam file citra
dengan menggunakan Visual Basic.Net 2008?
1.2 Batasan Masalah
Agar pembahasan tidak menyimpang, maka
perlu dibuat suatu batasan masalah sebagai
berikut:
Analisis Metode Masking-Filtering Dalam Penyisipan Data Teks. Oleh : Efriawan
53
Volume : IV, Nomor : 1, September 2014
Majalah Ilmiah
Informasi dan Teknologi Ilmiah (INTI)
ISSN : 2339-210X
1.
2.
3.
4.
5.
File citra penampung (cover image) berformat
.JPG.
Pesan yang disisipkan merupakan file berformat
teks (.txt).
Ukuran file yang disisipkan harus sebanding
dengan ukuran penampungnya.
Tools
atau
bahasa
pemrograman yang
digunakan adalah Visual Basic.Net 2008
Parameter untuk analisis adalah:
a. Perbandingan ukuran (size) file citra
sebelum dan sesudah penyisipan.
b. Perbandingan panjang teks penyisip
dalam ukuran byte.
c. Perbandingan nilai red, green dan blue
(RGB) citra sebelum dan sesudah penyisipan.
1.3 Tujuan Dan Manfaat Penelitian
Adapun tujuan penelitian pada skripsi ini
adalah:
1. Mengetahui proses penyisipkan pesan ke dalam
file citra serta parameter yang optimum agar
aplikasi dapat berjalan dengan baik.
2. Menerapkan metode Masking-Filtering dalam
penyisipan data teks.
3. Merancang suatu aplikasi penyisipan data teks
dengan menggunakan bahasa pemrograman
Visual Basic.Net 2008.
Adapun manfaat penelitian pada skripsi ini
adalah:
1. Dapat mempermudah user dalam menyisipkan
pesan-pesan rahasia yang penting.
2. Dengan adanya penelitian ini maka penulis dapat
mengetahui parameter yang optimum dalam
menyisipkan pesan rahasia dengan metode
Masking-Filtering.
1.4 Metode Penelitian
Dalam penelitian ini, tahapan-tahapan yang akan
dilalui adalah sebagai berikut:
a. Studi Literatur
Metode ini dilaksanakan dengan melakukan
studi kepustakaan yang relevan serta buku-buku
maupun artikel-artikel atau e-book dan juga
journal international yang didapatkan melalui
internet.
b. Analisis
Pada tahap ini digunakan untuk mengolah data
yang ada dan kemudian melakukan analisis
terhadap hasil studi literatur yang diperoleh
sehingga menjadi suatu informasi.
c. Perancangan Perangkat Lunak
Pada tahap ini, digunakan seluruh hasil analisa
terhadap studi literatur yang dilakukan untuk
merancang perangkat lunak yang akan
dihasilkan. Dalam tahapan ini juga dilakukan
perancangan model antarmuka serta proses kerja
sistem untuk memudahkan dalam proses
implementasi.
d. Implementasi Dan Pengujian Sistem
Pada tahap ini dilakukan pemasukan data data
serta memproses data untuk mendapatkan hasil
apakah sudah sesuai dengan yang diharapkan.
Pengujian
adalah
dengan
melakukan
perbandingan hasil sebelum dan sesudah
penyisipan pesan.
2. Landasan Teori
2.1 Steganografi
Menurut Jonathan Cummins dalam buku
terjemahan Hapsari Muthi, (2005:135) steganografi
adalah salah satu cara untuk menyembunyikan
suatu pesan/data rahasia di dalam data atau pesan
lain yang tampak tidak mengandung apa-apa,
kecuali bagi orang yang mengerti kuncinya. Selain
itu, pada kriptografi pesan disembunyikan dengan
“diacak” sehingga pada kasus-kasus tertentu dapat
dengan mudah mengundang kecurigaan, sedangkan
pada steganografi pesan “disamarkan” dalam bentuk
yang relatif “aman” sehingga tidak terjadi
kecurigaan itu. Steganografi dapat digunakan pada
berbagai macam bentuk data, yaitu image, audio,
dan video.
2.2 Masking-Filtering
Menurut Susanti, (2007:107) teknik masking
dan filtering ini biasanya dibatasi pada image 24 bit
color atau image grayscale. Metode ini mirip
dengan watermark, dimana suatu image diberi tanda
(marking) untuk menyembunyikan pesan rahasia.
Hal ini dapat dilakukan, misalnya dengan
memodifikasi luminance beberapa bagian dari
image. Walaupun metode ini akan mengubah
tampilan dari image, dimungkinkan untuk
melakukannya dengan cara tertentu sehingga mata
manusia tidak melihat perbedaannya. Karena metode
ini menggunakan aspek image yang memang terlihat
langsung, metode ini akan lebih ”robust” terhadap
kompresi (terutama lossy compression), cropping,
dan beberapa image processing lain, bila
dibandingkan dengan metode modifikasi LSB.
Teknik masking dan filtering, hanya terbatas ke
gambar
24-bit
dan
grayscale,
informasi
disembunyikan dengan menandai suatu image
dengan cara seperti paper stego. Teknik
steganografi dapat di aplikasikan dengan resiko
rusaknya gambar dalam kaitannya dengan lossy
compression, karena bit-bit penyisip menyatu ke
dalam image.
2.3 Algoritma Penyisipan
Berikut ini merupakan langkah-langkah untuk
menyisipkan pesan dari sebuah citra JPG
menggunakan algoritma Masking Filter:
1. Tentukan pesan yang akan disisipkan, kemudian
ubahlah pesan itu ke bentuk biner.
2. Tambahkan angka 1 di depan rangkaian bilangan
biner tersebut kemudian konversikan rangkaian
tersebut ke desimal. Biasanya bilangan tersebut
merupakan bilangan yang besar. Sebut bilangan
ini sebagai m .
Analisis Metode Masking-Filtering Dalam Penyisipan Data Teks. Oleh : Efriawan
54
Volume : IV, Nomor : 1, September 2014
Majalah Ilmiah
Informasi dan Teknologi Ilmiah (INTI)
ISSN : 2339-210X
3.
4.
5.
6.
7.
8.
Kemudian tentukan citra JPG tempat pesan akan
disisipkan. Hitunglah jumlah warna pada gambar
tersebut. Sebut jumlah ini sebagai n . Jika m >n!1 maka pesan terlalu panjang dan proses
penyisipan tidak dapat dilakukan.
Urutkan warna pada palet warna berdasarkan
urutan naturalnya. Setiap warna dengan format
RGB dikonversikan dengan rumus berikut:
(Nilai merah * 65536) + (nilai hijau * 256) +
(nilai biru) Palet warna kemudian diurutkan
berdasarkan besar bilangan integer yang
mewakili warna tersebut.
Lakukan iterasi terhadap variable i dengan nilai i
dari 1 sampai n . Setiap warna pada urutan n – 1
dipindahkan ke posisi baru yaitu m mod i ,
kemudian m dibagi dengan i .
Palet warna baru hasil iterasi pada langkah kelima
dimasukkan ke dalam palet warna berkas JPG .
Apabila ada sebuah tempat yang diisi oleh 2
buah warna maka warna yang sebelumnya
menempati tempat tersebut akan digeser satu
tempat ke posisi berikutnya.
Apabila ternyata besar palet warna yang baru
lebih kecil dari 256 maka palet warna urutan
terakhir akan diisi dengan warna terakhir dari
palet warna sebelumnya.
Berkas JPG kemudian akan dikompresi ulang
dengan palet warna yang baru untuk
menghasilkan berkas yang baru dengan ukuran
dan gambar yang sama namun telah disisipi
pesan.
Susunan palet warna setelah diurutkan berdasarkan
nilai di atas adalah:
5.
Untuk i=2
Warna indeks ke-4 dipindahkan ke indeks
ke-1.
m=321, m=321/2=160
Untuk i=3
Warna indeks ke-3 dipindahkan ke indeks
ke-1.
m=160, m=160/3=53
Untuk i=4
Warna indeks ke-2 dipindahkan ke indeks
ke-1.
m=53, m=53/4=53=13
3.
Analisa Masalah
Proses masking terhadap citra bertujuan sebagai
penandaan tempat pada citra yang akan disisipkan
pesan sedangkan filtering bertujuan untuk
melewatkan nilai pada bagian yang telah ditandai
tersebut. Sistem yang dirancang pada skripsi ini
terdiri dari dua proses utama, yaitu proses penyisipan
pesan dan proses pengekstrakan pesan.
3.1 Contoh Kasus
Berikut ini merupakan contoh sederhana
penyisipan pesan “A” ke dalam sebuah berkas JPG
dengan jumlah warna pada palet warna sebanyak 6
buah.
1. Pesan yang akan disisipkan adalah “A” yang
apabila diubah ke dalam bentuk biner
berdasarkan pengkodean ASCII menghasilkan
bilangan biner: 01000001 dimana nilai biner
diperoleh dari pengkonversian A kedalam bentuk
desimal yang bernilai 65 dan kemudian nilai 65
dikonversikan ke biner yang menghasilkan =
01000001.
2. m=1010000012=32110
3. Jumlah warna palet warna adalah 6. 6!>3211Maka penyisipan dapat dilakukan
4. Urutan warna pada palet warna citra tersebut
adalah:
Iterasi variabel i dari mulai 1 sampai n : Warna
indeks ke- (n-1) dipindahkan ke indeks ke- (m
mod i), m=m/i
Untuk i=1
Warna indeks ke 5 dipindahkan ke 0
m=321, m=321/1=321
Untuk i=5
Warna indeks ke-1 dipindahkan ke indeks
ke-3.
m=13, m=13/5=2
6.
Untuk i=6
Warna indeks ke-0 dipindahkan ke indeks
ke-2.
Pada tahap kelima, ada beberapa warna yang
menempati indeks yang sama. Setiap ada warna
yang menempati indeks yang telah terisi, maka
warna yang sebelumnya menempati indeks
tersebut akan bergeser sekali ke indeks
berikutnya.
Analisis Metode Masking-Filtering Dalam Penyisipan Data Teks. Oleh : Efriawan
55
Volume : IV, Nomor : 1, September 2014
Majalah Ilmiah
Informasi dan Teknologi Ilmiah (INTI)
ISSN : 2339-210X
iterasi ke n
Gambar dikonversi ulang dengan
warna palet baru
4.1.2
Algoritma Pengekstrakan (Decoding)
Masking-Filtering
Proses ini merupakan proses mengekstrak
gambar yang telah disisipi oleh teks sehingga dapat
diketahui apa teks yang tersisip pada gambar
tersebut. Adapun algoritmanya adalah sebagai
berikut:
Input :
n
m
7.
8.
Urutan palet warna ini kemudian dimasukkan
kembali ke berkas citra JPG
untuk
menghasilkan citra yang telah disisipi pesan.
Gambar yang telah disisipi pesan
4. ALGORITMA DAN IMPLEMENTASI
4.1 Algoritma
Algoritma adalah urutan langkah-langkah
logika yang diperlukan untuk penyelesaian masalah
dan penyusunan program. Algoritma digunakan
untuk menganalisa serta menjelaskan urutan dan
hubungan antara kegiatan yang akan ditempuh.
Penyusunan algoritma ini sangat penting dalam
perancangan suatu program. Selain itu algoritma juga
berfungsi untuk menyelesaikan suatu permasalah
hingga tercapai suatu tujuan.
4.1.1
Algoritma
Penyisipan
(Encoding)
Masking-Filtering
Proses ini merupakan proses menyisipkan isi
pesan (teks) kedalam sebuah gambar. Adapun
algoritmanya adalah sebagai berikut:
Input :
m
n
Pesan
Gambar
Output:
Gambar yang disisipi pesan
Proses:
n
rubah kedalam bentuk
biner
m
rubah kedalam bentuk
biner
Hitung jumlah warna RGB
m > n! – 1
Urutkan warna kedalam palet
warna
Setiap warna RGB dikonversikan
kedalam bilangan integer (merah *
65536 + hijau * 256 + biru)
Iterasi:
i
1 to n
dimana
n–1
n!
m mod i
gambar
pesan
Output:
Pesan Asli
Proses:
Setiap palet warna JPG diberi
penomoran sesuai posisinya
Urutkan warna (nilai merah *
65536 + nilai hijau * 256 + nilai
biru)
m=0
iterasi:
i
0 to n - 1
dimana
m = m (n-1) + warna ke 1
i
1 to n – 1
iterasi ke n
if m > n! – 1 maka
keluar
if j > nilai warna posisi ke
maka
j–1
m dikonversikan kedalam
bentuk biner
4.1.3 Algoritma Menu Utama
Proses ini merupakan proses untuk memilih
menu sisip dan ekstra. Adapun algoritma menu utama
sebagai berikut:
Input:
Sisip
Ekstrak
Output:
Sistem masking-filtering
Proses:
Sisip
Sistem maskingfiltering
Ekstrak Sistem masking-filtering
4.1.4 Algoritma Menu Sisip
Proses ini merupakan proses penyisipan pesan
ke dalam gambar. Adapun algoritmanya sebagai
berikut:
Input:
m
Pesan
n
Gambar
Analisis Metode Masking-Filtering Dalam Penyisipan Data Teks. Oleh : Efriawan
56
Volume : IV, Nomor : 1, September 2014
Majalah Ilmiah
Informasi dan Teknologi Ilmiah (INTI)
ISSN : 2339-210X
Output:
n
Gambar
Adapun tampilannya dapat di lihat pada gambar 2
sebagai berikut:
Proses:
Input n dan m
Sisip teks
Proses
4.1.5 Algoritma Proses Penyimpanan
Proses ini merupakan proses penyimpanan file
gambar yang disisipi pesan. Adapun algoritmanya
sebagai berikut:
Input:
Nama file gambar
Output:
Gambar
Proses:
Pilih drive
Simpan
4.1.6 Algoritma Menu Ekstrak
Proses ini merupakan proses pengekstraan
pesan di dalam gambar. Adapun algoritmanya
sebagai berikut:
Input:
n
Gambar
Output:
m
Pesan
Proses:
Input n
Ekstrak teks
Proses
Gambar 2 Menu Sisip
4.2 Menu Ekstrak
Untuk melakukan pengekstrakan pesan, lakukan
langkah-langkah seperti berikut:
1. Pada menu utama pilih “ekstrak” pada gambar
1.
2. Kemudian klik tombol Load Image untuk
menampilkan file gambar yang sudah di-encode
pesan sebelumnya.
3. Setelah itu pilih Ekstrak Teks dan klik tombol
proses untuk menampilkan pesan. Seperti pada
gambar 3 sebagai berikut:
4.2. Implementasi
Pada saat program dijalankan maka akan muncul
tampilan menu utama. Klik menu “Sisip” maka akan
muncul form yang digunakan untuk menyisipkan
pesan terhadap gambar. Klik menu ekstrak maka
akan muncul menu untuk mengekstrak oesan dari
gambar. Adapun tampilannya dapat di lihat pada
gambar 1 sebagai berikut:
Gambar 3 Menu Ekstrak
Gambar 1 Menu Utama
4.1 Menu Sisip
Menu “Sisip” digunakan untuk menyisipkan
pesan terhadap gambar. Setelah itu klik tombol Load
Image untuk menampilkan gambar yang akan
digunakan untuk menampung teks yang akan disisip.
Kemudian, masukkan pesan yang ingin disisipkan di
dalam gambar dan pilih Sisip Teks. Selanjutnya klik
tombol proses untuk melakukan penyisipan gambar
dan teks sekaligus menyimpan hasil proses tersebut.
5.
Kesimpulan Dan Saran
5.1 Kesimpulan
Setelah melakukan studi literature, analisis,
perancangan, implementasi dan pengujian pada
algoritma masking-filtering maka dapat di ambil
kesimpulan sebagai beruikut:
1. Melakukan penyisipan data teks ke dalam file
citra agar data tersebut tidak dapat diketahui
keberadaanya oleh orang lain. Hal ini di
sebabkan adanya perbedaan susunan warna palet
pada warna citra asli dengan stego image.
2. Proses penyisipan menggunakan metode
masking-filtering. Karena metode ini cukup
mudah untuk diterapkan sebab metode ini hanya
mengandung langkah-langkah singkat yang tidak
rumit.
3. Proses decoding pada algoritma maskingfiltering tidak mengembalikan stego image
menjadi gambar asli. Penyisipan data teks pada
Analisis Metode Masking-Filtering Dalam Penyisipan Data Teks. Oleh : Efriawan
57
Volume : IV, Nomor : 1, September 2014
Majalah Ilmiah
Informasi dan Teknologi Ilmiah (INTI)
ISSN : 2339-210X
aplikasi ini menggunakan bahasa pemgrograman
visual basic.Net 2008
5.2 Saran
Penulis ingin memberikan beberapa saran yang
mungkin berguna untuk perkembangan lebih lanjut
pada perancangan perangkat lunak steganografi.
Adapun saran-saran untuk pengembangan dan
perbaikan adalah sebagai berikut:
1. Algoritma penyisipan pada aplikasi ini dapat
diganti dengan algoritma penyisipan lain yang
lebih baik dan lebih sulit dipecahkan untuk
meningkatkan keamanan pesan.
2. Untuk memperbesar panjang pesan yang dapat
disisipkan pada citra berformat JPG, aplikasi ini
dapat di tambahkan algoritma kompresi.
3. Algoritma masking-filtering bukan satu-satunya
algoritma
yang
dipakai
dalam
sistem
steganografi, akan tetapi banyak algoritmaalgoritma
yang
dipakai
dalam
sistem
steganografi.
6. DAFTAR PUSTAKA
[1] Rinaldi Munir, Pengolahan Citra Digital, 2004,
Bandung: Informatika.
[2] Hapsari Muthi, Steganografi, Studi Steganografi
Pada Image File, 2005, Teknik Informatika,
Bandung.
[3] Kamus Besar Webster
[4] Sutoyo. T, Pengolahan Citra Digital, 2009,
Yogyakarta, Andi
[5] Susanti, Steganografi Image Digital Dengan
Masking dan Filtering, Bandung.
[6] Jogiyanto H.M, Analisis dan Desain Sistem
Informasi, 2004, Bandung
[7] Rahmat Priyanto, Langsung Bisa VB.Net, 2008,
Jakarta
[8] Ir. Yuniar Supardi, Teknik Pemrograman, 2009,
Bandung
Analisis Metode Masking-Filtering Dalam Penyisipan Data Teks. Oleh : Efriawan
58
Download