BAB III ANALISIS DAN PERANCANGAN
III.1. Analisis Steganografi Steganografi merupakan suatu teknik menyembunyikan pesan yang telah dienkripsi sedemikian rupa menggunakan metoda kriptografi untuk kemudian pesan tersebut diletakkan di dalam cover carrier sehingga pesan tersebut tidak dapat dilihat walaupun dipancarkan pada komunikasi public seperti jaringan komputer. Dalam penelitian ini membahas tentang pemecahan masalah commoncover-carrier attack dengan menggunakan penyisipan variable-size dan penambahan redundant Gaussian Noise, stego-images dibuat sebagai metoda yang digunakan agar dapat mencakup baik dalam hal sistem visualisasi pada manusia maupun common-cover-carrier attack. Teknik steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) didalam file-file lain yang mengandung teks, image, bahkan audio tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari file semula. Metode ini termasuk tinta yang tidak tampak, pengaturan kata, tanda tangan digital, jalur tersembunyi dan komunikasi spektrum lebar. Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya kebanyakan diselesaikan dengan membuat perubahan tipis terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat
38
39
tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada kriptografi) dan pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar kedalam algoritma yang digunakan. Pada metode steganografi cara ini sangat berguna jika digunakan pada cara steganografi komputer karena banyak format file digital yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan diantaranya : 1. Format image : bitmap (bmp), gif, pcx, jpeg, dll. 2. Format audio : wav, voc, mp3, dll. 3. Format lain : teks file, html, pdf, dll.
III.2. Analisis Kebutuhan Sistem Pembuatan aplikasi teknik penyembunyian citra ini membutuhkan serangkaian peralatan yang dapat mendukung kelancaran proses pembuatan dan pengujian aplikasi. Berikut ini aspek-aspek yang di butuhkan dalam pembuatan aplikasi : III.2.1. Perangkat Keras (Hardware) Hardware merupakan komponen yang terlihat secara fisik, yang saling bekerjasama dalam pengolahan data. Perangkat keras (hardware) yang digunakan meliputi : a. Monitor 15 “ b. Processor Pentium IV c. Harddisk 80GB
40
d. Memori 1 GB e. VGA Card ATI 1 GB f. Keyboard dan mouse III.2.2. Perangkat Lunak (Software) Software adalah instruksi atau program-program komputer yang dapat digunakan oleh komputer dengan memberikan fungsi serta penampilan yang diinginkan. Dalam hal ini, perangkat lunak yang digunakan penulis untuk aplikasi perancangan aplikasi penyembunyian pesan citra adalah: a. Sistem Operasi Windows XP b. Netbeans 7 c. Bahasa Pemrograman Java III.2.3. Unsur Manusia (Brainware) Brainware adalah manusia yang terlibat dalam mengoperasikan serta mengatur sistem di dalam komputer. Diartikan juga sebagai perangkat intelektual yang mengoperasikan dan mengeksplorasi kemampuan dari Hardware maupun Software.
III.3. Perancangan Perancangan program merupakan desain program perangkat lunak message hidding pada citra terkompresi menggunakan metode spread spectrum. Perancangan berisi tentang perancangan JFrame, tampilan program dan perancangan flowchart.
41
III.3.1 Perancangan Aplikasi Steganografi Adapun
perancangan
JFrame
pada
program
steganografi
citra
menggunakan metode spread specturm adalah sebagai berikut: 1.
Perancangan Jframe Login Pada perancangan Jframe login ini berfungsi untuk memberikan verifikasi terhadap user yang akan menggunakan aplikasi stegnography ini. Gambar hasil dari Jframe login seperti pada gambar III.1.
Gambar III.1. Tampilan JFrame Login 2.
Perancangan JFrame Utama Pada Jframe utama ini berfungsi sebagai tampilan utama dari program aplikasi stegnography. Di dalam Jframe utama ini menyediakan tombol stegano dan ekstraksi. Dimana tombol stegano ini berfungasi untuk menyisipkan file gambar citra kedalam teks. Sedangkan tombol ekstraksi ini
42
berfungsi untuk mengekstrak file gambar yang sudah disisipkan teks. Gambar hasil dari Jframe Utama seperti pada gambar III.2.
Gambar III.2. JFrame Utama
3.
Perancangan Jframe Stegano Pada rancangan Jframe stegano ini berfungsi untuk menyisipkan file gambar ke dalam teks. Dimana setelah user sudah memilih gambar, maka user harus menyisipkan teks terlebih dahulu, setelah itu user baru sisipkan pesan. Gambar hasil dari Jframe stegano seperti pada gambar III.3.
43
Gambar III.3. Tampilan Perancangan Jframe Stegano 4.
Perancangan Jframe Ekstraksi Pada JFrame ekstraksi ini befungsi untuk mengekstrak file gambar yang sudah di stegano/disisipkan pesan. Untuk mengetest file gambar ekstraksi user harus terlebih dahulu membuka file citra yang sudah di stegano dan kemudian user mengekstrak gambar yang sudah di stegano, setelah itu munculah gambar citra yang sudah disisipkan pesan. Gambar hasil dari Jframe ekstraksi seperti pada gambar III.4.
44
Gambar III.4. Tampilan Perancangan Ekstraksi
III.3.2 Perancangan Flowchart Flowchart merupakan untaian simbol gambar (chart) yang menunjukkan aliran (flow) dari proses terhadap data. Berikut ini adalah flowchart dari program aplikasi segmentasi citra yang akan dibuat:
45
1. Flowchart Utama Mulai A T
Login: Username & Password
Masuk Aplikasi?
Lengkap dan Valid ?
T
Pesan Kesalahan
Y
Pilih Menu Aplikasi T
Stegano
Y
H1
T
Ekstraksi
Y
T
Z
Keluar
Y
H2
End
T A
Gambar III.5. Flowchart Utama Flowchart pada gambar III.5 diatas dapat dijelaskan pada narasi-narasi dibawah ini: 2. Saat user menggunakan aplikasi pertama kalinya, user harus melewati autentikasi terlebih dahulu dengan memasukkan username dan password yang valid.
46
3. Jika autentikasi berhasil maka user akan disajikan antar muka aplikasi dan diberikan pilihan untuk melakukan steganografi, ekstraksi atau keluar dari aplikasi. 4. Jika user memilih steganografi maka dilanjutkan pada flowchart dengan referensi H1 5. Jika user memilih ekstraksi maka dilanjutkan pada flowchart dengan referensi H2. 6. Jika user memilih keluar maka aplikasi akan dihentikan.
2. Flowchart Steganografi dengan Spread Spectrum H1
Pilih Gambar dan Buat Pesan
Ubah Matrix Gambar menjadi deret linear
Spreading pengalamatan lokasi pesan
Ubah Pesan menjadi code hexa
Modulasi Deret Linear Gambar
Embedding Pesan Ke dalam Gambar
Simpan Gambar
A
Gambar III.6. Flowchart Steganografi
47
Flowchart pada gambar III.6 diatas dapat dijelaskan pada narasi-narasi dibawah ini: 1. User memilih gambar yang ingin dijadikan media penyembunyian pesan dan menuliskan pesan yang akan disembunyikan. 2. Kemudian buffer gambar yang dipilih, ubah matrix menjadi deret linear agar mudah dalam melakukan embedding. 3. Pada proses spreading, aplikasi akan membangkitkan bilangan acak yang nantinya akan menjadi kunci penyebaran lokasi setiap karakter kode pesan pada pada deret linear gambar. 4. Kemudian modulasikan deret linear gambar, maksudnya aplikasi akan membuat
sebuah
hashtable
yang
akan
mengalamatkan
lokasi
penyembunyian pesan yang dihasilkan dari proses spreading diatas. 5. Selanjutnya pada proses embedding pesan ke gambar dilakukan dengan membuat header information tambahan pada gambar untuk memudahkan aplikasi dalam mengenali apakah suatu gambar memiliki pesan didalamnya atau tidak. Isi header information tambahan tersebut diantaranya kunci pembangkit dan panjang spectrum. 6. Setelah proses penyisipan pesan selesai, kemudian simpan gambar tersebut kedalam format aslinya.
48
3. Flowchart Ekstraksi
H2
Input Gambar
Get File () Get Gambar ()
Baca Gambar () Convert Ke Biner (Byte Gambar, Biner Gambar)
Modulasi Biner Pesan (Biner Teks)
Keluarkan dari gambar
Tampilkan Pesan
Z
Gambar III.7. Flowchart Ekstraksi Flowchart pada gambar III.6 diatas dapat dijelaskan pada narasi-narasi dibawah ini: 1. User diminta untuk memilih gambar yang ingin diekstrak.
49
2. Berdasarkan header information tambahan yang telah disisipkan sebelumnya kemudian aplikasi akan menelusuri lokasi-lokasi yang menjadi titik penyisipan pesan. Kumpulkan setiap pesan yang telah ditemui titiknya. 3. Ubah code pesan yang didapat menjadi karakter unicode standar. 4. Tampilkan isi pesan yang telah dikonversi.
III.4. Algoritma atau Langkah-langkah Penyisipan Pesan Algoritma atau langkah-langkah sistematis pada proses penyisipan pesan kedalam matriks citra diterangkan pada algoritma berikut ini: 1. Hitung panjang karakter yang akan disisipkan. 2. Hitung panjang matriks gambar yang akan dijadikan media penyisipan pesan. 3. Jika panjang karakter pesan melebihi pajang matriks maka penyisipan tidak dapat dilanjutkan, jika tidak lanjutkan ke langkah 4. 4. Hitung Pseudorandom untuk membangkitkan frekuensi penyebaran, rumus untuk mencari Pseudorandom adalah: ( Dimana: Zi: bilangan pseudorandom bulat ke-i a: bilangan pengali c: bilangan penambah m: nilai modulus m
)
50
Z0: nilai awal berupa bilangan bulat positif 5. Setelah mendapatkan pseudorandom dengan langkah diatas, ambil nilai RGB dengan melakukan repetisi posisi x=0 sampai dengan tinggi citra, dan posisi y=0 sampai dengan lebar citra. 6. Ekstrak nilai r, g dan b dengan melakukan operasi bitwise seperti dibawah ini: R= (RGB>>16)&0xff G= (RGB>>8)&0xff B= (RGB)&0xff 7. Pilih salah satu warna yang akan dijadikan wadah embeding pesan. 8. Untuk setiap indeks karakter pesan, konversi karakter menjadi nilai decimal. 9. Sebelum mengeset pixel dari RGB yang telah dimanipulasi, ubah terlebih dahulu nilai r, g dan b menjadi kesatuan RGB dengan operator logika or dan operator left bitwise seperti dibawah ini: RGB=((R<<16)&0xff | (G<<8)&0xff | (B)&0xff) Setelah langkah diatas baru diset pixel pada koordinat (x,y) untuk setiap repetisi pada nomor 5 diatas.