You are on page 1of 40

KEAMANAN INFORMASI MELALUI IMAGE STEGANOGRAFI MENGGUNAKAN LEAST SIGNIFICANT BIT ALGORITHM

TEKNIK KOMPUTASI DOSEN : Dr., Ir. Nazori Az, M.T

Disusun oleh : A.SYAIFUL BAHRI AGUSTINUS SIRUMAPEA Kelompok : XC 1211600786 1211600687

UNIVERSITAS BUDI LUHUR FAKULTAS TEKNOLOGI INFORMASI JURUSAN MAGISTER ILMU KOMPUTER JAKARTA 2013

DAFTAR ISI

DAFTAR ISI ......................................................................................................... 1 ABSTRACT .......................................................................................................... 3 BAB I PENDAHULUAN....................................................................................... 4 1.1 1.2 1.3 1.4 1.5. Latar Belakang ..................................................................................................... 4 Rumusan Masalah ................................................................................................ 5 Tujuan .................................................................................................................. 5 Batasan Masalah .................................................................................................. 6 Metode Penelitian ................................................................................................ 6

BAB II LANDASAN TEORI .................................................................................. 8 2.1 Definisi Steganografi ............................................................................................... 8 2.2 Sejarah Steganografi ................................................................................................ 9 2.3 Kriteria Steganografi yang Bagus ............................................................................ 9 2.4 Kriteria Steganografi yang Bagus .......................................................................... 10 2.5 Metode Steganografi Least Significant Bit (LSB)................................................. 11 BAB III PERANCANGAN DAN IMPLEMENTASI ............................................... 16 3.1 Perancangan Umum ................................................................................................ 16 3.2 Perancangan Sistem ................................................................................................ 16 3.3 Uraian Perancangan Sistem Aplikasi ...................................................................... 17 3.4 Perancangan Graphical User Interface (GUI)......................................................... 21 3.5 Script Program ........................................................................................................ 26 DAFTAR PUSTAKA ........................................................................................... 39

ABSTRAK Pesatnya perkembangan transfer data melalui internet membuat lebih mudah untuk mengirim data yang akurat dan lebih cepat ke tujuan. Ada banyak media transmisi untuk mentransfer data ke tujuan seperti e-mail, pada saat yang sama itu mungkin lebih mudah untuk memodifikasi dan menyalahgunakan informasi berharga melalui hacking. Jadi, dalam rangka untuk mentransfer data dengan aman ke tujuan tanpa modifikasi, ada banyak pendekatan seperti kriptografi dan steganografi. Steganografi sebuah kata yang berasal dari bahasa Yunani yang berarti tulisan rahasia adalah suatu metode penyembunyian pesan rahasia dalam pesan lainnya sehingga tidak bias dideteksi oleh sembarang orang. Steganografi juga merupakan satu metode yang popular, dimana sesuatu pesan teks atau image boleh dirahasiakan di dalam file-file lain yang menggandung teks, image bahkan suara tanpa menunjukan cirri-ciri perubahan yang nyata atau terliohat dalam kualitas dan struktur dari file semula. Teknik steganography dengan menggunakan metode LSB (Least Significant Bit) adalah teknik yang paling sederhana. Oleh karena itu steganography dengan metode ini sangat sesuai bagi para pemula dibidang steganography. Metode LSB melakukan penyimpanan data dengan cara mengganti bit bit yang tidak signifikan (least significant pixel) pada berkas (file), wadah (cover) dengan bit bit berkas yang akan disimpan. Tulisan ini berkaitan dengan steganografi citra serta dengan isuisu keamanan yang berbeda, gambaran umum kriptografi, steganografi dan watermarking digital dan pendekatan tentang algoritma steganografi yang berbeda seperti Least Significant Bit (LSB) algoritma. Kata kunci : Steganografi, LSB, Image

ABSTRACT
The rapid development of data transfer over the Internet makes it easier to transmit data more quickly and accurately to the destination. There are many transmission medium for transferring data to a destination such as e-mail, at the same time it may be easier to modify and misuse of valuable information through hacking. So, in order to transfer data safely to the destination without modification, there are many approaches such as cryptography and

steganography. Steganography is a word derived from the Greek word meaning hieroglyph is a method of hiding a secret message within another message so that no bias was detected by anyone. Steganography is also a popular method, which is something a text message or image may be concealed within other files that menggandung text, image noise even without showing a characteristic or terliohat real change in the quality and structure of the original file. Steganography technique using LSB (Least Significant Bit) is the simplest technique. Therefore steganography with this method is very suitable for the beginners in the field of steganography. LSB perform data storage method by replacing bits - the bits that are not significant (least significant pixels) on the file (file), container (cover) by bit - bit file to be saved. This paper deals with image steganography as well as the security issues are different, an overview of cryptography, steganography and digital watermarking and steganography approaches of different algorithms such as Least Significant Bit (LSB) algorithm.

Kata Kunci : Steganography , LSB, Image

BAB I PENDAHULUAN
1.1 Latar Belakang Dalam tren dunia saat ini, teknologi telah maju. Sebagian besar orang lebih suka menggunakan internet sebagai media utama untuk mentransfer data dari satu ujung ke ujung lain di seluruh dunia. Ada banyak cara yang mungkin untuk mengirimkan data menggunakan internet: melalui e-mail, chatting, dll. Data transisi dibuat sangat sederhana, cepat dan akurat menggunakan internet. Namun, salah satu masalah utama dengan mengirim data melalui internet adalah "ancaman keamanan" itu pose yaitu data pribadi atau rahasia dapat dicuri atau hack dalam banyak cara. Oleh karena itu menjadi sangat penting untuk keamanan data menjadi pertimbangan, karena merupakan salah satu faktor yang paling penting yang perlu diperhatikan selama proses mentransfer data. Keamanan data pada dasarnya berarti perlindungan data dari pengguna yang tidak sah atau hacker dan menyediakan keamanan yang tinggi untuk mencegah modifikasi data. Keamanan data telah

mendapatkan perhatian lebih selama periode baru-baru ini karena peningkatan besar dalam kecepatan transfer data melalui internet. Dalam rangka meningkatkan fitur keamanan di transfer data melalui internet, banyak teknik yang telah dikembangkan seperti: Kriptografi, Steganografi dan watermarking digital. Kriptografi adalah suatu metode untuk menyembunyikan informasi dengan enkripsi untuk "cipher text" dan mengirimkannya ke penerima yang dituju menggunakan password,.Steganografi memberikan keamanan lebih lanjut dengan menyembunyikan teks cipher menjadi gambar tampaknya tak terlihat atau format lainnya. Menurut Johnson et al., (2001), "Steganografi adalah seni menyem-bunyikan dan mengirimkan data melalui operator tampaknya tidak berbahaya untuk menyembunyikan keberadaan data". Tingkat visibilitas berkurang menggunakan banyak teknik bersembunyi di 4

"Gambar

Modelling"

seperti

LSB

"Manipulasi",

"Masking

dan

penyaringan". Teknik ini dilakukan oleh algoritma steganografi seperti F5, LSB, Jsteg dll. Tindakan mendeteksi informasi tersembunyi melalui algoritma ini disebut "Steganalysis". Kriptografi adalah seni ilmu yang digunakan untuk mencapai keamanan dengan pengkodean data untuk mengubah mereka menjadi format tidak dapat dibaca sehingga pengguna yang tidak sah tidak dapat mendapatkan akses ke data yang dikirim[1]. Proses penyisipan pesan pada steganography membutuhkan dua buah masukan, yaitu pesan yang ingin disembunyikan, dan media penyisipan. Hasil dari proses ini dinamakan dengan stegoobject, yaitu suatu media yang mirip dengan media pada masukan, yang sudah terdapat pesan tersembunyi di dalamnya. Kebanyakan media yang merupakan stegoobject tidak dapat dikembalikan lagi seperti semula, karena data dari media stegoobject sudah dirubah. Teknik steganography yang digunakan adalah LSB (Least Significant Bit), metode ini banyak digunakan karena metode ini paling sederhana dan mudah diimplementasikan. Media penampung yang paling sering digunakan dalam melakukan steganography adalah citra digital karena jumlahnya yang besar di internet. Kehandalan penggunaan citra dibandingkan dengan media lain adalah kualitas citra yang telah disisipi pesan rahasia tidak berbeda jauh dengan kualitas citra aslinya. 1.2 Rumusan Masalah Berdasarkan latar belakang di atas, maka timbul suatu masalah diantaranya bagaimana membangun suatu aplikasi steganography yang dapat menyembunyikan pesan dengan menggunakan metode LSB (Least Significant Bit) dimana informasi rahasia (teks) yang disembunyikan ke dalam media digital (image) tersebut benar-benar terjaga

kerahasiaannya. 1.3 Tujuan Tujuan yang hendak dicapai dalam pembuatan tugas ini yaitu membuat aplikasi penyembunyian informasi yang berupa teks ke dalam

citra digital yaitu image, serta dapat memanipulasi citra digital yang didalamnya terdapat informasi rahasia sehingga pesan rahasia tersebut tidak dapat diketahui keberadaannya dan secara kasat mata tidak terjadi perubahan pada citra digital hasil manipulasi. 1.4 Batasan Masalah Adapun batasan pada tugas ini hanya membahas masalahmasalah sebagai berikut : a. Format file citra digital yang dapat digunakan untuk

menyimpan pesan rahasia adalah berformat *.jpg dan *.bmp. b. Teknik steganography yang digunakan hanya dapat

menyimpan pesan rahasia berupa teks dan file. c. Metode steganography yang digunakan adalah LSB (Least

Significant Bit). d. Tidak menganalis lebih lanjut perihal karakteristik image

yang akan disisipkan. 1.5. Metode Penelitian Metode penelitian yang digunakan untuk menyelesaikan royek paper ini meliputi : a. Studi pustaka meliputi : 1. Pencarian referensi semua materi yang ada sangkut

pautnya dengan tugas ini.. 2. Pendalami materi tentang steganography, metode

LSB, teknik penyembunyian dan pengungkapan data serta semua hal yang berhubungan dengan tugas ini. b. Pembuatan aplikasi merupakan tahap pembuatan aplikasi

steganography dengan metode LSB pada citra digital. c. Pengujian aplikasi merupakan tahap pengujian aplikasi

yang telah dibuat berjalan sesuai dengan yang diinginkan atau tidak.

d.

Penyusunan

laporan

terhadap

keseluruhan

kegiatan

pembuatan paper yang menjelaskan secara detail tentang tahaptahap penyususnan.

BAB II LANDASAN TEORI


2.1 Definisi Steganografi Steganografi (steganography) adalah ilmu dan seni nyembunyikan pesan rahasia (hiding message) sedemikian sehingga keberadaan

(eksistensi) pesan tidak terdeteksi oleh indera manusia. Kata steganorafi berasal dari Bahaya 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. Data rahasia yang disembunyikan juga dapat berupa citra, suara, teks, atau video. Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika pada kriptografi, data yang telah disandikan (ciphertext) tetap tersedia, maka dengan steganografi cipherteks dapat disembunyikan sehingga pihak ketiga tidak mengetahui keberadaannya. Di negara-negara yang melakukan penyensoran informasi, steganografi sering digunakan untuk menyembunyikan pesan-pesan melalui gambar (images), video, atau suara (audio). Ilustrasi mengenai perbedaan kriptography dan

steganography dapat dilihat pada gambar 1, sedangkan Ilustrasi mengenai proses steganography dapat dilihat pada gambar dibawah ini :

Gambar 1. Ilustrasi kriptography dan steganography

Gambar 2. Diagram Sistem Steganography 2.2 Sejarah Steganografi Steganografi sudah dikenal oleh bangsa Yunani. Herodatus, penguasa Yunani, mengirim pesan rahasia dengan menggunakan kepala budak atau prajurit sebagai media. Dalam hal ini, rambut budak dibotaki, lalu pesan rahasia ditulis pada kulit kepala budak. Ketika rambut budak tumbuh, budak tersebut diutus untuk membawa pesan rahasia di balik rambutnya. Bangsa Romawi mengenal steganografi dengan menggunakan tinta tak-tampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis maka tulisannya tidak tampak. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut.

2.3 Kriteria Steganografi yang Bagus Steganografi yang dibahas di sini adalah penyembunyian data di dalam citra digital saja. Meskipun demikian, penyembunyian data dapat juga dilakukan pada wadah berupa suara digital, teks, ataupun video. Penyembunyian data rahasia ke dalam citra digital akan mengubah

kualitas

citra

tersebut.

Kriteria

yang

harus

diperhatikan

dalam

penyembunyian data antara lain sebagai berikut : a. Fidelity. Mutu citra penampung tidak jauh berubah. Setelah

penambahan data rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia.

b. Robustness. Data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan pada citra penampung (seperti

pengubahan kontras, penajaman, pemampatan, rotasi, perbesaran gambar, pemotongan (cropping), enkripsi, dan sebagainya). Bila pada citra dilakukan operasi pengolahan citra, maka data yang

disembunyikan tidak rusak.

c. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu data rahasia di dalam citra penampung harus dapat diambil kembali untuk digunakan lebih lanjut.

2.4 Teknik Steganografi Berbagai jenis teknik steganografi yang tersedia antara lain sebagai berikut [1]: a. b. c. Pure steganography Public key steganography Secret key steganography

Pure steganography adalah proses embedding data keobjektanpa menggunakankunci pribadi. Jenis steganografi sepenuhnya tergantung pada kerahasiaan. Jenis steganografi menggunakang ambar coverdi mana datayang akantersembunyi, informasi pribadi yang akan dikirim, dan algoritma dekripsi enkripsi untuk menanamkan pesan ke dalam gambar.

10

Cover Messege Embedding

Stego-Objek Extracting

Messege

Gambar 1. Pure steganography process (Zaidoon, 2010). Steganografi kunci publik menggunakan dua jenis kunci satu untuk enkripsi dan satu lagi untuk dekripsi. Kunci yang digunakan untuk enkripsi kunci pribadi dan untuk dekripsi, itu adalah kunci publik dan disimpan di database publik (Zaidoon, 2010).

Public Key Cover Messege Encryption

Public Key Stego-Objek Decryption

Messege

Gambar 2. Public key steganography (Zaidoon, 2010). Secret key steganography adalah steganografi yang

menggunakan prosedur yang sama selain menggunakan kunci aman. Ia menggunakan kunci individu untuk menanamkan data ke dalam obyek yang mirip dengan kunci simetris. Untuk dekripsi menggunakan kunci yang sama yang digunakan untuk enkripsi.

Key Cover Messege Embedding Stego-Objek

Key Messege Extracting

Gambar 3. Secret key steganography (Zaidoon, 2010).

2.5 Metode Steganografi Least Significant Bit (LSB) LSB merupakan sebuah cara yang sering digunakan untuk memasukkan informasi pada coverfile. LSB termasuk kedalam teknik

11

image domain (karena terpengaruh jenis file dan jenis kompresinya). Teknik steganography LSB dilakukan dengan memodifikasi bit-bit yang tergolong LSB pada setiap byte dari sebuah file. Bit-bit LSB ini akan dimodifikasi dengan menggantikan setiap LSB yang ada dengan bit-bit informasi lain yang ingin disembunyikan. Setelah semua bit informasi lain menggantikan bit LSB dalam file tersebut maka informasi telah berhasil disembunyikan. Ketika informasi rahasia tersebut ingin dibuka kembali, maka bit-bit LSB yang sekarang diambil satu per satu dan disatukan kembali menjadi sebuah informasi. Dengan menggunakan teknik ini, terkadang kualitas file yang ditumpangi akan terpengaruh [2].

Misalnya, di bawah ini terdapat 3 piksel dari image 24bit color : (00100111 11101001 11001000) (00100111 11001000 11101001) (11001000 00100111 11101001) jika diinginkan untuk menyembunyikan karakter A (10000001) dihasilkan : (00100111 11101000 11001000) (00100110 11001000 11101000) (11001000 00100111 11101001) dapat dilihat bahwa hanya 3 bit saja yang perlu diubah untuk menyembunyikan karakter A ini. Perubahan pada LSB ini akan terlalu kecil untuk terdeteksi oleh mata manusia sehingga pesan dapat disembunyikan secara efektif. Jika digunakan image 8bit color sebagai cover, hanya 1bit saja dari setiap piksel warna yang dapat dimodifikasi sehingga pemilihan image harus dilakukan dengan sangat hatihati, karena perubahan LSB dapat menyebabkan terjadinya perubahan warna yang ditampilkan pada citra. Akan lebih baik jika image berupa image grayscale karena perubahan warnanya akan lebih sulit dideteksi oleh mata manusia. Proses ekstraksi pesan dapat dengan mudah dilakukan dengan mengekstrak LSB dari masingmasing piksel pada stego secara berurutan dan menuliskannya ke output file yang akan berisi pesan tersebut. Kekurangan dari metode LSB ini adalah bahwa metode ini membutuhkan 12

"tempat penyimpanan" yang relatif besar. Kekurangan lain adalah bahwa stego yang dihasilkan tidak dapat dikompress dengan format lossy compression. Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya, pada berkas image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (LSB) pada data pixel yang menyusun file tersebut. Pada berkas bitmap 24 bit, setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian, pada setiap pixel berkas bitmap 24 bit kita dapat menyisipkan 3 bit data. Kekurangan dari LSB Invertion adalah dapat di ambil kesimpulan dari contoh 8 bit pixel, menggunakan LSB Insertion dapat secara drastis mengubah unsur pokok warna dari pixel. Ini dapat menunjukkan perbedaan yang nyata dari cover image menjadi stego image, sehingga tanda tersebut menunjukkan keadaan dari steganografi. Variasi warna kurang jelas dengan 24 bit image, bagaimanapun file tersebut sangatlah besar. Antara 8 bit dan 24 bit image mudah diserang dalam pemrosesan image, seperti cropping (kegagalan) dan compression (pemampatan). Keuntungan dari LSB Insertion, adapun keuntungan yang paling besar dari algoritma LSB ini adalah cepat dan mudah. Dan juga algoritma tersebut memiliki software steganografi yang mendukung dengan bekerja di antara unsur pokok warna LSB melalui manipulasi pallete (lukisan). Sistem Steganografi akan menyembunyikan sejumlah informasi dalam suatu berkas dan akan mengembalikan informasi tersebut kepada pengguna yang berhak. Terdapat dua langkah dalam sistem Steganografi yaitu proses penyembunyian dan recovery data dari berkas penampung. Penyembunyian data dilakukan dengan mengganti bit bit data di dalam segmen citra dengan bit-bit data rahasia. Metode yang paling sederhana adalah metode modifikasi LSB (Least Significant Bit Modification). Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling

13

berarti (most significant bit atau MSB) dan bit yang paling kurang berarti (least significant bit atau LSB). Contoh :

Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut menyatakan warna merah, maka perubahan satu bit LSB tidak mengubah warna merah tersebut secara berarti. Lagi pula, mata manusia tidak dapat

membedakan perubahan yang kecil. Untuk memperkuat teknik penyembunyian data, bit-bit data rahasia tidak digunakan mengganti byte-byte yang berurutan, namun dipilih susunan byte secara acak. Misalnya jika terdapat 50 byte dan 6 bit data yang akan disembunyikan, maka byte yang diganti bit LSBnya dipilih secara acak, misalkan byte nomor 36, 5, 21, 10, 18, 49. Bilangan acak dapat dibangkitkan dengan algoritma pseudo random number generator. Pseudo random number generator

menggunakan kunci rahasia untuk membangkitkan posisi pixel yang akan digunakan untuk menyembunyikan bit-bit. Pseudorandom number

generator dibangun dalam sejumlah cara, salah satunya dengan menggunakan algoritma kriptografi berbasis blok (block cipher). Tujuan dari enkripsi adalah menghasilkan sekumpulan bilangan acak yang sama untuk setiap kunci enkripsi yang sama. Bilangan acak dihasilkan dengan cara memilih bit-bit dari sebuah blok data hasil enkripsi. Ukuran data yang akan disembunyikan bergantung pada ukuran citra penampung. Pada citra 24 bit yang berukuran 256 pixel terdapat 65536 pixel, setiap pixel berukuran 3 byte (komponen RGB), berarti seluruhnya ada 65536 X 3 = 196608 byte. Karena setiap byte hanya bisa menyembunyikan satu bit di LSBnya, maka ukuran data yang akan disembunyikan di dalam citra maksimum. 196608/8 = 24576 byte. Ukuran

14

data ini harus dikurangi dengan panjang nama berkas, karena penyembunyian data rahasia tidak hanya menyembunyikan isi data tersebut, tetapi juga nama berkasnya. Semakin besar data

disembunyikan di dalam citra, semakin besar pula kemungkinan data tersebut rusak akibat manipulasi pada citra penampung.

15

BAB III PERANCANGAN DAN IMPLEMENTASI


3.1 Perancangan Umum Perancangan umum di dalam bab ini akan dibahas mengenai perancangan dan pembuatan perangkat lunak Proyek Akhir yang berjudul Steganography dengan Metode LSB (Least Significant Bit) pada Citra Digital. Citra Digital yang dimaksud di dalam Proyek Akhir ini yaitu file image yang berfungsi sebagai wadah penampung teks yang akan dirahasiakan di dalam image tersebut. Steganography merupakan suatu teknik berkomunikasi dimana informasi disembunyikan pada media pembawa seperti citra, suara atau video tanpa memberikan perubahan yang berarti pada media tersebut. Perangkat lunak yang akan dirancang ini meggunakan teknik image steganography dengan metode LSB yang membutuhkan image yang berformat (.bmp) digunakan sebagai wadah penampung pesan yang akan dirahasiakan dan pesan yang akan diharasiakan dalam image yang berupa teks yang format filenya (.txt). Proses modifikasi perubahan yang terjadi antara media penampung dengan hasil modifikasi media penampung tersebut secara kasat mata tidak ada perubahan yang mencolok. Sehingga untuk menghasilkan sebuah objek digital yang telah dimodifikasi yang di dalamnya terdapat suatu pesan rahasia yang sering disebut dengan istilah stego image, membutuhkan suatu inputan yaitu media penampung berupa file image, pesan rahasia berupa teks. Input USER Output APLIKASI

3.2 Perancangan Sistem Perancangan sistem secara umum untuk pembangunan aplikasi data steganography dengan metode LSB pada file image ini terdiri atas beberapa tahap, meliputi perancangan : 16

a.

Perancangan

Proses,

perancangan

proses

yang

dimaksudkan adalah bagaimana sistem akan bekerja, prosesproses yang digunakan, mulai dari user melakukan input kemudian diproses oleh aplikasi sehingga dapat mengeluarkan output berupa stegoimage. b. Perancangan Antar Muka, perancangan antarmuka

mengandung penjelasan tentang desain dan implementasi sistem yang digunakan dalam sistem yang dibuat. Dibawah ini merupakan gambar umum diagram dari sistem aplikasi yang akan di bangun.

Gambar 4. Gambaran Umum Apilikasi 3.3 Uraian Perancangan Sistem Aplikasi Perancangan aplikasi ini terdiri dari dua proses yaitu proses embedded data merupakan proses penyembunyian pesan rahasia ke dalam suatu wadah penampung yaitu file gambar yang format filenya dan proses retrieve merupakan proses pengungkapan pesan rahasia yang disembunyikan disuatu file gambar tersebut. 3.3.1 Proses Embedded Data Penyembunyian data dilakukan dengan mengganti bit-bit data di dalam segmen citra dengan bit-bit data rahasia. Hingga saat ini sudah banyak dikemukakan oleh para ilmuwan metodemetode penyembunyian data. Metode yang paling sederhana adalah metode modifikasi LSB. Pada susunan bit di dalam sebuah

17

byte (1byte = 8bit), ada bit yang paling berarti (most significant bit atau MSB) dan bit yang paling kurang berarti yaitu LSB. Misalnya pada byte 11010010, bit 1 yang pertama (digaris bawahi) adalah bit MSB dan bit 0 yang terakhir (digaris bawahi) adalah bit LSB. Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut hanya mengubah nilai byte tersebut satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut menyatakan warna tertentu, maka perubahan satu bit LSB tidak mengubah warna keabuan tersebut secara berarti. Selain itu, mata manusia tidak dapat membedakan perubahan yang kecil.

Gambar 5. Penyembunyian Data

18

Tahap embeded data merupakan tahap penyisipan atau penyamaran suatu data teks ke dalam suatu media image yang bertujuan untuk menyembunyikan data agar tidak terlihat oleh orang yang tidak berhak melihatnya. Gambar di bawah ini menunjukkan proses embeded data. Start

Input file gambar

Input pesan

Embeded data

Stego image

Stop

Gambar 6. Proses Embeded Data Proses penyembunyian pesan rahasia ke dalam suatu wadah file yaitu berupa image secara umum dapat dilihat seperti gambar di atas yang diuraikan sebagai berikut : a. Inputkan file image yang format filenya bertipe jpg

atau bmp. b. Inputkan pesan rahasia yang akan disisipkan pada

media gambar. c. Proses Embedded Data dengan menggunakan

metode LSB. 19

d.

Dari proses Embedded tersebut akan menghasilkan

sutu outputan yaitu steogoimageyang di dalamnya terdapat suatu pesan rahasia. 3.3.2. Proses Retrieve Data Data yang disembunyikan di dalam citra dapat dibaca kembali dengan cara pengungkapan (reveal atau extraction). Dengan cara mengumpulkan kembali bitbit data rahasia yang bertaburan di dalam citra.

Gambar 7. Pengungkapan Data

Tahap Retrieve Data merupakan tahap mengungkapan pesan rahasia dari stegoimage yang akan manampilkan pesan harasia yang ada di dalam file image tersebut. Gambar ini merupakan proses Retrieve Data.

20

Start

Input stego image

Retrieve data

Pesan rahasia

Stop

Gambar 8. Proses Retrieve Data Proses pengungkapan pesan rahasia dari stegoimage dapat dilakukan seperti gambar di atas yang diuraikan sebagai berikut : a. Ambil stegoimage dari Proses Embeddeddata yang

dilakukan. b. Proses Retrieve data dimana dilakukan proses

pengungkapan pesan rahasia. c. Dari Proses Retrieve data tersebut menghasilkan

outputan pesan. 3.4 Perancangan Graphical User Interface (GUI) Graphical User Interface (GUI) mempunyai fungsi mempermudah user untuk mengoperasikan programnya melalui grafis secara interaktif terdiri dari : 3.4.1 Menu Utama Merupakan realisasi dari rancangan antarmuka pengguna untuk menu utama. Menu utama ini adalah tampilan utama yang 21

muncul ketika aplikasi ini dijalankan yang terdiri dari menu image, edit dan help.

Gambar 9. Tampilan Menu Utama Aplikasi

22

3.4.2 Sub Menu Image. Merupakan realisasi dari rancangan antarmuka pengguna untuk Sub menu image, sub menu image ini adalah tampilan dari menu image yang terdiri dari Select, Extraction, Embedded, Erase Print Setup, Print dan Exit.

Gambar 10. Tampilan Sub Menu Image

23

3.4.3 Sub Menu Edit. Merupakan realisasi dari rancangan antarmuka pengguna untuk Sub menu edit, sub menu edit ini adalah tampilan dari menu edit yang terdiri dari Undo, Cut, Copy, Paste, Delete, Select All, All to Cliboard, Clear dan Insert File.

Gambar 11. Tampilan Sub Menu Edit

24

3.4.4 Sub Menu Help. Merupakan realisasi dari rancangan antarmuka pengguna untuk Sub menu help, sub menu help ini adalah tampilan dari menu help yang terdiri dari Help Topics dan About.

Gambar 12. Tampilan Sub Menu Help

25

3.5 Script Program rivate Sub mnuClearAll_Click() If gblnTextHasChanged = True Then retVal = MsgBox("The changes to the text are not saved." & vbCrLfLf & "Do you want to clear image and text anyway?", vbQuestion + vbYesNo) If retVal = vbNo Then Exit Sub End If gstrImageName = "" gstrFileName = "" gstrActiveKey = "" gblnTextHasChanged = False With Me .txtMain.Text = "" .imgPreview.Picture = Nothing .lblImageFile.Caption = "Drag and drop carrier image into the black field..." .lblImageInfo.Caption = "" .imgIcon.Picture = Nothing End With Call GetFile Call CheckMenus End Sub Private Sub mnuClearFile_Click() gstrFileName = "" Call GetFile End Sub Private Sub mnuClearImage_Click() gstrImageName = "" Call GetImage End Sub Private Sub mnuClearText_Click() If gblnTextHasChanged = True Then retVal = MsgBox("The changes to the text are not saved." & vbCrLfLf & "Do you want to clear the text anyway?", vbQuestion + vbYesNo) If retVal = vbNo Then Exit Sub End If Me.txtMain.Text = "" End Sub Private Sub mnuErase_Click() If gstrImageName = "" Then Exit Sub retVal = MsgBox("Are you sure you want to erase all data in """ & CutFilePath(gstrImageName) & """ ?", vbYesNo + vbExclamation) If retVal = vbNo Then Exit Sub Me.picProgBar.Visible = True 26

Call ControlsBlock Call EraseImage Me.picProgBar.Visible = False Call ControlsFree End Sub Private Sub mnuInsertFile_Click() Dim fName As String On Error Resume Next With frmMain.ComDlg .DialogTitle = "Insert File..." .Flags = CMDLG_FILEMUSTEXIST Or CMDLG_NOCHECK .FileName = "" .InitDir = gstrCurDir .Filter = "All Files (*.*)|*.*" .ShowOpen If Err = 32755 Then Exit Sub gstrFileName = .FileName End With Call GetFile End Sub Private Sub mnuRead_Click() If gstrImageName = "" Then Exit Sub frmRead.Show (vbModal) If gstrActiveKey = "" Or gblnCancelKey = True Then Exit Sub Me.picProgBar.Visible = True Me.lblProgress.Caption = "Reading data..." Call ControlsBlock Call LoadDataPicture Me.picProgBar.Visible = False Me.lblProgress.Caption = "" Call ControlsFree End Sub Private Sub mnuSelectImage_Click() Dim fName As String On Error Resume Next With frmMain.ComDlg .DialogTitle = "Select Carrier Image..." .Flags = CMDLG_FILEMUSTEXIST Or CMDLG_NOCHECK .FileName = "" .InitDir = gstrCurDir .Filter = "Image Files (*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif" .ShowOpen If Err = 32755 Then Exit Sub gstrImageName = .FileName 27

End With Call GetImage End Sub Private Sub mnuWrite_Click() If gstrImageName = "" Then Exit Sub frmWrite.Show (vbModal) If gstrActiveKey = "" Or gblnCancelKey = True Then Exit Sub Me.picProgBar.Visible = True Me.lblProgress.Caption = "Writing data..." Call ControlsBlock Call SaveDataPicture Me.lblProgress.Caption = "" Me.picProgBar.Visible = False Call ControlsFree End Sub Private Sub mnuAbout_Click() frmAbout.Show (vbModal) End Sub Private Sub mnuExit_Click() Unload Me End Sub Private Sub mnuHelp_Click() Call ShowHelpFile("") End Sub Private Sub mnuPageSetup_Click() frmPrintSetup.Show (vbModal) End Sub Private Sub mnuPrint_Click() If gblnPrinterPresent = False Then Exit Sub frmPrintProgress.Show (vbModal) End Sub Private Sub mnuCut_Click() SendKeys "^{x}" frmMain.Refresh Exit Sub Clipboard.SetText Me.txtMain.SelText Me.txtMain.SelText = "" frmMain.Refresh Call CheckMenus End Sub 28

Private Sub mnuCopy_Click() 'SendKeys "^{c}" Clipboard.SetText Me.txtMain.SelText frmMain.Refresh Call CheckMenus End Sub Private Sub mnuPaste_Click() SendKeys "^{v}" frmMain.Refresh Call CheckMenus End Sub Private Sub mnuDelete_Click() SendKeys "{del}" frmMain.Refresh Call CheckMenus End Sub Private Sub mnuUndo_Click() SendKeys "^{z}" frmMain.Refresh Call CheckMenus End Sub Private Sub mnuSelectAll_Click() frmMain.txtMain.SelStart = 0 frmMain.txtMain.SelLength = Len(frmMain.txtMain.Text) Call CheckMenus End Sub Private Sub mnuCopyAll_Click() Clipboard.Clear Clipboard.SetText frmMain.txtMain Call CheckMenus End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 'test buttons toolbar Select Case Button.Key Case "new" mnuClearAll_Click Case "read" mnuRead_Click Case "write" mnuWrite_Click 29

Case "print" mnuPrint_Click Case "cut" mnuCut_Click Case "copy" mnuCopy_Click Case "paste" mnuPaste_Click Case "undo" SendKeys "^{z}" frmMain.Refresh End Select Call CheckMenus End Sub '-----------------------------------------------------------------Private Sub imgIcon_Click() 'run, open or start file If gstrFileName <> "" Then StartFile (gstrFileName) End Sub Private Sub picInfo_GotFocus() If Me.txtMain.Enabled = True And Me.txtMain.Visible = True Then Me.txtMain.SetFocus End Sub Private Sub picFileContainer_GotFocus() If Me.txtMain.Enabled = True And Me.txtMain.Visible = True Then Me.txtMain.SetFocus End Sub Private Sub picPreview_GotFocus() If Me.txtMain.Enabled = True And Me.txtMain.Visible = True Then Me.txtMain.SetFocus End Sub Private Sub picStatus_GotFocus() If Me.txtMain.Enabled = True And Me.txtMain.Visible = True Then Me.txtMain.SetFocus End Sub Private Sub txtMain_Change() gblnTextHasChanged = True Me.lblBytes.Caption = Format(Len(Me.txtMain), "###,##0") & " Bytes Text" End Sub

30

Private Sub txtMain_KeyDown(KeyCode As Integer, Shift As Integer) Call CheckMenus End Sub Private Sub txtMain_KeyUp(KeyCode As Integer, Shift As Integer) Call CheckMenus End Sub Private Sub txtMain_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) Call CheckMenus End Sub Private Sub txtMain_KeyPress(KeyAscii As Integer) Dim a As String 'controle input textbox Call CheckMenus If KeyAscii = 1 Then ' ctrl+A = select all frmMain.txtMain.SelStart = 0 frmMain.txtMain.SelLength = Len(frmMain.txtMain) KeyAscii = 0 End If If Len(frmMain.txtMain.Text) > 31999 Then Select Case KeyAscii Case 3, 8, 24 'allow deleting and stuff Case Else KeyAscii = 0 'Maximum lenghte text reached MsgBox "Maximum lenght of text is reached.", vbExclamation Exit Sub End Select End If End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 'cancel write or read process If KeyCode = 27 Then gblnCancelProcces = True End Sub Private Sub Form_Resize() Call ChangeWindowSize End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) 'if running, cancel exit If gblnIsRunning = True Then Cancel = True: Exit Sub 31

'warn if text is changed If gblnTextHasChanged = True Then retVal = MsgBox("The changes to the text are not saved." & vbCrLfLf & "Do you want to close the program anyway?", vbQuestion + vbYesNo) If retVal = vbNo Then Cancel = True: Exit Sub End If Call SaveWindowPos Unload frmAbout Unload frmRead Unload frmWrite Unload frmPrintProgress Unload frmPrintSetup Clipboard.Clear End End Sub '------------------------ Get rnd seed values ---------------------------Private Sub txtMain_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) Call RandomFeed(x, y) End Sub Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) Call RandomFeed(x, y) End Sub Private Sub imgPreview_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) Call RandomFeed(x, y) End Sub Private Sub picFileContainer_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) Call RandomFeed(x, y) End Sub Private Sub picInfo_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) Call RandomFeed(x, y) End Sub '------------------------ Drag and Drop---------------------------Private Sub imgIcon_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) 32

Dim tmpFile As String If Not Data.GetFormat(vbCFFiles) Then Exit Sub gstrFileName = Data.Files(1) Call GetFile End Sub Private Sub imgIcon_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer) Dim tmp As String If Data.GetFormat(vbCFFiles) Then Effect = vbDropEffectCopy Else Effect = vbDropEffectNone End If End Sub Private Sub picFileContainer_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) Dim tmpFile As String If Not Data.GetFormat(vbCFFiles) Then Exit Sub gstrFileName = Data.Files(1) Call GetFile End Sub Private Sub picFileContainer_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer) Dim tmp As String If Data.GetFormat(vbCFFiles) Then Effect = vbDropEffectCopy Else Effect = vbDropEffectNone End If End Sub Private Sub lblFile_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) Dim tmpFile As String If Not Data.GetFormat(vbCFFiles) Then Exit Sub gstrFileName = Data.Files(1) Call GetFile End Sub Private Sub lblFile_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer) Dim tmp As String If Data.GetFormat(vbCFFiles) Then Effect = vbDropEffectCopy 33

Else Effect = vbDropEffectNone End If End Sub Private Sub lblFileInfo_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) Dim tmpFile As String If Not Data.GetFormat(vbCFFiles) Then Exit Sub gstrFileName = Data.Files(1) Call GetFile End Sub Private Sub lblFileInfo_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer) Dim tmp As String If Data.GetFormat(vbCFFiles) Then Effect = vbDropEffectCopy Else Effect = vbDropEffectNone End If End Sub Private Sub imgPreview_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) Dim tmpFile As String If Not Data.GetFormat(vbCFFiles) Then Exit Sub gstrImageName = Data.Files(1) Call GetImage End Sub Private Sub imgPreview_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer) Dim tmp As String If Data.GetFormat(vbCFFiles) Then tmp = Right(Data.Files(1), 4) If tmp = ".bmp" Or tmp = ".jpg" Or tmp = ".gif" Then Effect = vbDropEffectCopy Else Effect = vbDropEffectNone End If End Sub Private Sub picPreview_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) Dim tmpFile As String If Not Data.GetFormat(vbCFFiles) Then Exit Sub gstrImageName = Data.Files(1) 34

Call GetImage End Sub Private Sub picPreview_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer) Dim tmp As String If Data.GetFormat(vbCFFiles) Then tmp = Right(Data.Files(1), 4) If tmp = ".bmp" Or tmp = ".jpg" Or tmp = ".gif" Then Effect = vbDropEffectCopy Else Effect = vbDropEffectNone End If End Sub '------------------- Set Carrier Image Preview -------------------Private Sub GetImage() Dim picFactor Dim x Dim y On Error GoTo errHandle Screen.MousePointer = 11 With frmMain 'set image .picStegano.AutoSize = True .picStegano.Picture = LoadPicture(gstrImageName) .picStegano.Refresh .picStegano.AutoSize = False Screen.MousePointer = 0 'warn on bmp files, larger than 1 MB DataPicX = .picStegano.ScaleWidth DataPicY = .picStegano.ScaleHeight BmpSize = (DataPicX * DataPicY * 3) / 1024 If BmpSize > 1024 And GetFileExt(gstrImageName) <> "bmp" Then MsgBox "StegaNote will save this image as bitmap (bmp)." & vbCrLfLf & _ "The new file size will be " & Format(BmpSize, "###,##0") & " Kb.", vbInformation 'set the image preview picture .imgPreview.Visible = False .imgPreview.Stretch = False .imgPreview.Picture = .picStegano.Picture picFactor = .imgPreview.Width / .imgPreview.Height x = .picPreview.Width 35

y = .picPreview.Height If Int(x / picFactor) <= y Then .imgPreview.Width = x .imgPreview.Height = Int(x / picFactor) .imgPreview.Top = (.picPreview.Height - .imgPreview.Height - 75) / 2 .imgPreview.Left = 0 Else .imgPreview.Height = y .imgPreview.Width = Int(y * picFactor) .imgPreview.Left = (.picPreview.Width - .imgPreview.Width - 75) / 2 .imgPreview.Top = 0 End If .imgPreview.Stretch = True .imgPreview.Visible = True If gstrImageName <> "" Then .lblImageFile.Caption = TrimPath(gstrImageName, Me.lblImageFile.Width) .lblImageInfo.Caption = Format(FileLen(gstrImageName) / 1024, "###,##0") & " Kb" If GetAttr(gstrImageName) And 1 Then .lblImageInfo.Caption = .lblImageInfo.Caption & " (Read-Only)" gblnReadOnly = True Else gblnReadOnly = False If Right(gstrImageName, 4) <> ".bmp" Then .lblImageInfo.Caption = Format(BmpSize, "###,##0") & " Kb when converted to bitmap" End If End If Call CheckMenus End If End With Exit Sub errHandle: Screen.MousePointer = 0 'Failed loading image MsgBox "Failed loading" & CutFilePath(gstrImageName) & vbCrLf & vbCrLf & Err.Description, vbCritical End Sub

36

BAB IV PENUTUP 5.1. Kesimpulan Kesimpulan dari paper tentang aplikasi steganografi dengan menggunakan metode Least Significant Bit (LSB) yang dibuat adalah sebagai berikut : a. Aplikasi Steganography dengan metode LSB pada paper ini

berhasil digunakan untuk menyembunyikan pesan rahasia ke dalam image dengan format (jpg atau bmp) hal ini telah dibuktikan melalui hasil penyisipan pesan. b. Pesan rahasia yang disisipkan ke dalam image dapat

diungkapkan kembali sama persis dengan bentuk asli dan tidak mengalami kerusakan sedikitpun. Hal ini telah dibuktikan melalui proses pengungkapan pesan. c. Dari segi kualitas image, tidak ada perbedaan antara dengan image asli. Hal ini telah dibuktikan

stegoimage

menggunakan pengujian Teknik MOS. Tetapi ketika pesan rahasia disisipkan pada image yang berlatar belakang putih polos, Stegoimage mengalami perubahan warna menjadi abuabu. Hal ini dikarenakan image putih polos terdiri dari 8bit tiap pikselnya sehingga mampu menampilkan 256 perubahan warna abuabu; disamping itu, karena warna putih mendominasi posisi Least Significant Bit (LSB), dibandingkan warna hitam, yang

mendominasi posisi Most Significant Bit (MSB). d. Dari segi ukuran file tidak mengalami perubahan significant

berarti, walaupun pada beberapa kasus saat sebelum dan sesudah proses penyisipan, selisih ukuran <1KB. Ini dikarenakan adanya factor pembiasan dari aplikasi yang dibuat. 5.2. Saran Akibat faktor pembiasan dari aplikasi steganography, disarankan untuk menghasilkan suatu stegoimage yang ukurannya tidak terlalu besar dapat dikembangkan lagi sebuah aplikasi steganography yang memiliki 37

kapabilitas untuk memperkecil ukuran file citra setelah disisipi suatu pesan rahasia. Pesan yang dapat disisipkan ke dalam image tidak hanya teks saja masih ada beberapa media yang dapat disisipkan ke dalam image diantaranya yaitu image, suara dan video.

38

DAFTAR PUSTAKA
[1] Zaidoon Kh, A. Zaidan,A.A. Zaidan,B.B & Alanazi.H.O., 2010. Overview: main fundamentals for steganography. Journal of Computing, 2(3), pp.40-43. [2] Wen Chen. 2000. Study Of Steganalysis Methods. [3] Munir, Rinaldi. 2004. Steganography dan Watermaking . Departeman Teknik Informatika ITB. [4] Ana Sapta Rindi. 2010. Steganography Dengan Metode LSB Pada Citra Digital. Journal of Computing.

39

You might also like