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