Jurnal Teknika Vol. 5 No.1 Maret 2013
ISSN No. 2085 - 0859
Aplikasi Enkripsi Pengiriman Informasi Untuk Sistem Pengamanan Dengan Menggunakan Metode Steganography Sugiono*) *)
Dosen Program Studi Elektro Universitas Islam Malang
ABSTRAK Dengan semakin populernya media digital, perhatian pada tingkat keamanan dukumen akan menjadi semakin penting. Salah satu isu penting adalah tingkat keamanan informasi. Hal ini dapat dilakukan dengan menggunakan enkripsi atau steganography yaitu suatu media untuk menyisipkan sebuah informasi rahasia dalam suatu objek media lain. Metode yang digunakan berupa gambar,warna sebagai data masukan yang dibatasi dengan mengguanakn pesan. Untuk membutikannya adalah dengan menyembunyikan pesan rahasia dalam gambar atau warna tersebut. Hasil yang dibuat dapat dimanfaatkan di segala lingkungan yang berhubungan dengan keamanan dukumen. Kata kunci: Steganography, Decoder, Encoder, Gambar, Warna
1. PENDAHULUAN 1. 1 Latar Belakang Steganography merupakan seni dalam menyembunyikan informasi dengan memasukkan informasi tersebut ke dalam pesan lain ( Gambar,Voice,Video). Dengan demikian keberadaan informasi tersebut tidak diketahui oleh orang lain. Media yang digunakan umumnya merupakan media yang berbeda dengan media pembawa informasi, fungsi dari teknik steganography yaitu sebagai teknik penyamaran menggunakan gambar sebagai media lain yang berbeda sehingga informasi rahasia dalam media awal tidak terlihat secara jelas. Keamanan suatu informasi pada zaman sekarang ini makin menjadi sebuah kebutuhan penting dalam berbagai aspek kehidupan sehari-hari. Suatu informasi akan memiliki nilai lebih tinggi apabila menyangkut dengan keamanan dan pertahanan dokumen. Dimana informasi – informasi tersebut banyak diminati oleh berbagai pihak yang mempunyai kepentingan didalamnya. Saat sekarang ini telah tersedia berbagai macam layanan komunikasi di internet, diantaranya adalah web, e-mail, face book, freindster dan sebagainya. Dengan semakin maraknya orang memanfaatkan layanan komunikasi di internet tersebut, maka permasalahan pun bermunculan, apalagi ditambah dengan adanya orang atau sekelompok orang yang memberikan sumbangan bermanfaat untuk dunia jaringan dan sistem operasi, membuat program bantuan untuk dunia jaringan dan komputer ( hacker ) dan orang yang mencari kelemahan system dan memasukinya untuk kepentingan pribadi dan mencari keuntungan dari system yang di masuki seperti: pencurian data, penghapusan, dan lainnya (
cracker ). Banyak orang kemudian menyiasati bagaimana cara mengamankan informasi yang dikomunikasikannya, bagaimana cara mendeteksi keaslian dari informasi yang diterima. Seiring dengan perkembangan teknologi yang semakin pesat maka untuk mengatasi permasalahan di atas peneliti mempunyai ide untuk membuat suatu sistem pengiriman berita yang berupa gambar dan suara (voice) yang jauh lebih murah dan lebih aman, murah karena media pengirimannya tidak tergantung pada salah satu jaringan telekomunikasi yang ada, jadi bisa menggunakan seluruh jaringan komunikasi yang ada, baik jaringan komunikasi yang bersifat umum maupun jaringan komunikasi yang bersifat khusus. Aman karena data yang berupa gambar terlebih dahulu di enkripsi / diacak dengan menggunakan kunci / key yang bersifat rahasia, selaini itu metode ini masih sangat jarang digunakan. Dengan demikian pengiriman gambar dan suara (voice) yang biasanya berupa perintahperintah dengan klasifikasi dapat dilakukan melalui jaringan komunikasi yang bersifat umum tanpa perlu mengkhawatirkan isi berita tersebut diatas ditambah lagi dengan biaya yang sangat murah karena menggunakan jaringan komunikasi yang bersifat umum sehingga biaya operasional dalam hal pengiriman gambar dan suara (voice) dapat di tekan semaksimal mungkin. 1. 2 Maksud dan Tujuan Penelitian a. Adapun maksud dari penelitian ini adalah untuk merencanakan dan membuat sistem pengaman pengiriman gambar dan suara (voice) dan data dengan memanfaatkan teknologi steganography. 435
Jurnal Teknika Vol. 5 No.1 Maret 2013
b. Memberi ide dan masukan pengiriman gambar dan suara atau tukar menukar data menjadi lebih aman. 2. 3 MANFAAT PENELITIAN Digunakan dalam proses penyembunyian data, desain proses tahap penyisipan dan tahap pengembalian data, dan desain antar muka yang digunakan sebagai interaksi antara perangkat lunak dan pengguna. 2.
TINJAUAN PUSTAKA
1. Sistem penyandian sangat sering dilaksanakan dalam rangka menyampaikan perintah dari satuan yang lebih tinggi ke satuan-satuan dibawahnya, namun sistem penyandian yang dilaksanakan masih menggunakan sistem konvensional, yaitu dengan menggunakan alat yang lebih mengandalkan sistem mekanik dalam menyandikan suatu berita. Hal tersebut diatas memiliki banyak kelemahan. Salah satu kelemahan dari sistem penyandian konvensional yang lebih mengandalkan atau menitik beratkan pada sistem mekanik adalah jika alat tersebut dapat dimiliki oleh musuh maka dalam waktu yang relatif singkat musuh akan segera dapat menguasai alat tersebut sehingga berita tersandi yang kita kirimkan akan segera terbongkar. Pada sistem penyandian sekarang ini, sistem penyandian lebih dikembangkan melalui sofware. Selain karena kemudahan dalam proses pembuatannya, juga karena biaya yang dikeluarkan lebih sedikit untuk membuat suatu sistem penyandian serta waktu yang digunakan oleh pihak musuh untuk membongkar kunci dan algoritma dari sistem penyandian yang kita buat sangat lama. Penulis memilih membuat suatu sistem penyandian dengan menggunakan software, yang diharapkan dapat lebih menambah sistem penyandian. 2. Steganography. Steganography merupakan suatu cara yang digunakan untuk mengirimkan informasi rahasia kepada pihak lain dengan menggunakan suatu media gambar,fungsi dari teknik steganography yaitu sebagai teknik penyamaran menggunakan gambar sebagai media lain yang berbeda sehingga informasi rahasia dalam media awal tidak terlihat secara jelas. 1
1
www.outguess.org
ISSN No. 2085 - 0859
Teknik Steganography ini telah banyak digunakan dalam strategi peperangan dan pengiriman sandi rahasia sejak jaman dahulu kala. Dalam perang Dunia II, teknik steganography umum digunakan oleh tentara Jerman dalam mengirimkan pesan rahasia dari atau menuju Jerman. Semakin pentingnya nilai dari sebuah informasi, maka semakin berkembang pula metodemetode yang dapat digunakan untuk melakukan penyisipan informasi yang didukung pula dengan semakin berkembangnya media elektronik. Berbagai macam media elektronik kini telah dapat digunakan untuk melakukan berbagai fungsi steganography dengan berbagai macam tujuan dan fungsi yang diharapkan oleh penggunanya. Sebagai fungsi yang umum, steganography digunakan untuk memberikan cap khusus dalam sebuah karya yang dibuat dalam format media elektronik sebagai identifikasi. 2. 3 Microsoft Visual Basic 6.0. Visual basic merupakan salah satu bahasa pemrograman yang berorientasi pada obyek (OOP). Salah satu kehandalan visual basic adalah pembuatan aplikasi Graphical User Interface (GUI). a. Gambar Tampilan Editor Visual Basic. Menu bar Toolba Jendela form Jendela designer code editor
Jendela Jendela toolbox Jendela immidiate Jendela watch
locals
Gambar 1. Tampilan Editor Visual Basic. (Sumber: www.ilmukomputer.com
rs Project explorer Jendel a propert Objek ies aktif yg & daftar properti Penjela es sandarittg Form objek properti layout, tersebut es menent ukan posisi form
1. Menu bar. Menampilkan menu perintah untuk pengembangan aplikasi. Selain perintah standart windows seperti file, edit, view, terdapat juga menu-menu khusus seperti project, format, debug.
436
Jurnal Teknika Vol. 5 No.1 Maret 2013
2. Tool bars. Menyediakan akses cepat (grafis) pada perintah-perintah yang populer. Untuk memilih tool bar yang aktif (ditampilkan), digunakan perintah view / toolbars pada menu bar. 3. Toolbox. Jendela tempat ikon-ikon kontrol yang tersedia untuk membuat antar muka dengan cara drag-drop. Selain versi standar (default), disediakan juga versi enterprise, active-x, maupun kontrol-kontrol buatan pihak ketiga. 4. Jendela properties. Menampilkan daftar properti dan nilainya dari form atau kontrol yang sedang dipilih. 5. Jendela form layout. Memperlihatkan posisi relatif form terhadap layar monitor, untuk mengubahnya gunakan cara drag-drop. 6. Jendela code editor. Berfungsi sebagai program pengolah kata untuk menuliskan baris-baris kode pemrograman pada aplikasi yang sedang dibuat. 7. Jendela project explorer. Untuk mengetahui dan mengolah file-file yang digunakan dalam program. Dalam jendela tersebut akan ditampilkan nama project, nama-nama object form dan nama module. 8 Jendela form designer. Berfungsi sebagai jendela untuk mendesain antar muka (interface) dari aplikasi yang akan dibuat. Bekerja Dengan Form. Object form (selanjutnya disebut form saja) berbentuk seperti jendela (windows) atau kotak dialog dan menjadi kerangka dasar dari setiap aplikasi visual yang dibuat dengan VB, dimana object kontrol atau kode pemrograman dapat disimpan dalam form. Form pada aplikasi yang dijalankan akan terlihat sebagai jendela tempat terjadinya interaksi antara pemakai dengan komputer. Form adalah object juga, sehingga punya properti untuk mengubah tampilan (ukuran, warna). Form bereaksi terhadap event (kejadian) dan mempunyai metode yaitu kemampuan menerima perintah (melalui program) untuk melakukan tugas spesifik. Untuk lebih jelasnya perhatikan tabel 1 sebagai berikut : Tabel 1. Metode Pada Form. Metode
Keterangan
ISSN No. 2085 - 0859
Hide
Menyembunyikan form dari layar komputer tetapi tetap ada di memori. Menampilkan form dilayar.
Show, Print Line,Circle, Refresh
Digunakan untuk mengolah teks dan grafik di form
Kontrol adalah object yang ditempatkan pada form untuk membentuk aplikasi visual windows. Kontrol yang tersedia untuk visual basic sangat banyak, untuk menghemat sumber daya komputer dan juga agar tidak membingungkan, program VB membatasi jumlah kontrol yang ditampilkan pada jendela toolbox.
Pointer Label Frame CheckBox ComboBox
CommandButton OptionButton ListBox
HscrollBar Timer DirListBox
VscrollBAr DriveListBox FileListBox
Shape Image
PictureBox TextBox
Line Data
OLE Gambar 2. Tampilan General. (Sumber: www.ilmukomputer.com). Tidak semua kontrol yang ada pada microsoft visual basic 6.0 kita gunakan pada pembuatan sistem pengaman data ini, beberapa kontrol yang akan digunakan adalah sebagai berikut : 1. Icon Label. Icon ini digunakan untuk membuat tampilan text (keterangan pada form). 2. Icon CommandButton. Icon ini digunakan untuk menentukan aksi apa yang akan dilakukan sesuai dengan program yang dibuat oleh pengguna. 3. Icon TextBox. Icon ini digunakan untuk mendapatkan masukan data dari keyboard, disamping itu kotak edit dapat digunakan untuk menampilkan keluaran atau hasil data, baik secara satu baris atau beberapa baris tampilan.
437
Jurnal Teknika Vol. 5 No.1 Maret 2013
4. Icon OptionBox. Icon ini digunakan bila terdapat beberapa pilihan tetapi hanya satu pilihan saja yang harus dipilih. 5. Icon Frame. Icon ini digunakan untuk memisahkan kontrol sesuai dengan fungsinya. Winsock.: Adalah kompenen Visual Basic yang digunakan untuk mengirim dan menerima pesan, pesan dikirim dan diterima melalui port yang telah ditentukan/melalui IP Address
Algoritma Steganography. Algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan steganograpys. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon) a) Difusi/peleburan (difusion), dari pesan asli sehingga karakteristik dari pesan asli tersebut hilang dan mencegah agar orang-orang yang tidak berhak, menyisipkan atau mengahapus data. Dengan demikian diharapkan steganography dapat digunakan untuk mengamankan informasi. Pada umumnya sebuah algoritma sandi harus memperhatikan kualitas layanan / quality of service atau QoS dari keseluruhan sistem. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa. Kunci yang digunakan adalah kunci-simetris / symetric-key. Skema enkripsi akan disebut symmetric-key apabila pasangan kunci untuk proses enkripsi dan dekripsinya sama. Tipe Media Steganography. Dalam membahas steganography, maka tidak lepas pembahasan pula terhadap tipe – tipe media yang dapat digunakan untuk menyisipkan pesan rahasia. Tipe – tipe media ini dapat berfungsi sebagai media pembawa pesan rahasia, yang disebut dengan host message, maupun bentuk dari pesan rahasia itu sendiri. Terdapat beberapa media dalam data digital yang dapat digunakan sebagai media steganography, diantarannya adalah File Sistem Komputer, Dokumen Text. a. File Sistem Komputer. Sebagaimana penyimpanan data secara normal, sebuah file sistem komputer juga dapat digunakan untuk menyembunyikan informasi diantara file yang tidak terlihat penting. Sebagai contoh sebuah hard drive ketika menampakkan partisi dalam komputer pemakai dapat berisi partisi tersembunyi yang dapat membawa informasi tersembunyi didalamnya. Sebagai contoh
ISSN No. 2085 - 0859
sfspatch adalah sebuah potongan kernel, yang dapat berfungsi untuk memasukkan modul pendukung file steganography. Sfspatch menggunakan enkripsi secara bersamaan dengan tehnik steganography untuk menyembunyikan informasi rahasia di dalam disk sehingga tidak akan terlihat oleh pemakai awam. Sistem FAT 16 pada Microsoft Windows menyediakan 32 kilobytes disk space untuk masing-masing file. Apabila ukuran file hanya menghabiskan beberapa kilobytes saja, maka sisa dari disk space dapat digunakan untuk menyembunyikan informasi. b Carrier File (File Pembawa). Carrier file adalah suatu file yang digunakan oleh file stegano untuk menyembunyikan data. Sekarang ini ada empat tipe dari carrier file yang mendukung. Tergantung dari masing-masing tipe, ada beberapa pedoman yang harus diikuti. c. Bitmap images. Yang paling penting dari kriteria ini adalah kedalaman warna (berapa banyak bit per pixel yang didefinisikan dari sebuah warna). Bitmap dengan mengikuti kriteria tadi maka dapat dilihat : 4 bit = 16 warna (16 gray scales). 8 bit = 256 warna (256 gray scales). 24 bit = 16.777.216 warna. Secara umum dapat dikatakan : Semakin banyaknya warna, maka akan diperlukan keamanan yang ketat atau tinggi dikarenakan bitmap memiliki area yang sangat luas dalam sebuah warna yang seharusnya dihindarkan. Manipulasi pada bitmap tidak dapat dikonvert atau diubah ke dalam bentuk format grafik yang lain karena data tersembunyi dalam file tersebut akan hilang. d. Text files. File stegano dapat memproses text file (*.TXT) sebaik ASCII (dalam DOS) dan GDI (dalam Windows). menawarkan dua perbedaan metode dalam encoding data dalam text file : 1. Metode standard : Ukuran dari file tetap tidak berubah. Ketika mengimport manipulasi carrier file ke dalam word processor (terutama dalam Window), disana akan muncul karakter khusus dalam sebuah text. 2. Metode Compatible : File semakin bertambah. Tidak akan ada kemungkinan ketika manipulasi carrier file diimport ke aplikasi lain. Kapasitas dari text file dalam menyembunyikan data sangat tergantung pada file content tetapi dapat dikalkukasi sebagai berikut (dalam byte) : a. Metode Standard : jumlah dari kalimat. b. Metode Compatible : jumlah dari garis. Teknik Pengambilan Citra. Ada beberapa teknik pengambilan digital yang bisa dilakukan 438
Jurnal Teknika Vol. 5 No.1 Maret 2013
antara lain dengan menggunakan kamera digital (atau boleh juga web-cam) atau menggunakan scanner (bisa scanner umum, finger-print scanner atau bar-code scanner. Hasil dari citra dengan menggunakan teknik kamera atau scanner berupa citra raster (atau citra dengan model matrik) dan disimpan dalam array piksel dua dimensi ( jika terdapat dalam memori komputer). 2 Pengolahan Citra. Pengolahan citra (image processing) merupakan suatu sistem dimana proses dilakukan dengan masukan berupa citra (image) dan hasilnya juga berupa citra (image) atau gambaran nyata yang digital maupun tidak digital. Citra digital diasumsikan dengan persamaan f(x,y) dimana x menyatakan nomor baris, y menyatakan nomor kolom, dan f menyatakan nilai derajat keabuan dari citra. Sehingga (x,y) adalah posisi dari piksel dan f adalah nilai derajat keabuan pada titik (x,y). Kecerahan setiap citra disimpan dengan cara pemberian nomor pada setiap piksel. Makin tinggi nomor piksel maka makin gelap (hitam) piksel tersebut. Begitu juga sebaliknya makin rendah nilai piksel tersebut maka makin terang. Sistem yang umum memiliki 256 tingkat kecerahan untuk setiap piksel, yang paling terang adalah 255 dan yang paling gelap adalah 0. Citra atau gambar terbagi dalam tiga tipe adalah sebagai berikut: a. Citra Grey-scale. Citra yang terdiri dari satu layer warna dengann derajat keabuan tertentu. Dinyatakan dalam suatu fungsi : f(x,y) Σ [0…255] (1) b. Gambar Biner . Citra yang hanya memiliki dua nilai yaitu 1 dan 0. Dinyatakan dalam suatu fungsi : f(x,y) Σ {0,1} (2) c. Gambar berwarna. Citra yang terdiri dari tiga layer warna yaitu RGB (Red-Green-Blue) dimana R-layer adalah matrik yang menyatakan derajat kecerahan untuk warna merah, G-layer adalah matrik yang menyatakan derajat kecerahan untuk warna hijau, dan B-layer adalah matrik yang menyatakan derajat kecerahan untuk warna biru. Representasi dalam citra digital dinyatakan dalam persamaan : fR(x,y) Σ [0…255] fG(x,y) Σ [0…255] (3)
fB(x,y) Σ [0…255] Proses pengolahan citra digital dengan menggunakan komputer digital adalah terlebih dahulu mentransformasikan citra ke dalam bentuk besaran-besaran diskrit dari nilai tingkat keabuan 2
Achmad Basuki,Jozua F.Palandi,Faturrochman Pengolahan Citra Digital menggunakan Visual Basic Graha ilmu Yogjakarta 2004
ISSN No. 2085 - 0859
pada titik-titik elemen citra. Bentuk citra ini disebut citra digital. Elemen-elemen citra digital apabila ditampilkan dalam layar monitor akan menempati sebuah ruang yang disebut dengan pixel (picture elemen/pixel). g. Operasi Terhadap Citra. Proses pengambilan citra merupakan suatu langkah awal guna memberikan inputan terhadap langkah selanjutnya untuk melakukan modifikasi terhadap citra masukan dan menghasilkan suatu citra keluaran yang sesuai dengan sistem yang telah dibangun. Langkah utama yang dilakukan dalam operasi terhadap citra ini adalah: Binerisasi Proses binerisasi adalah proses mengkonversi citra greyscale ke dalam bentuk citra biner yaitu citra dalam warna hitam dan putih. Tiap-tiap piksel dalam citra levelnya dirubah melalui suatu thresholding tertentu apabila piksel tersebut nilainya diatas nilai thresholding maka piksel tersebut akan diubah ke warna putih, dan apabila nilai piksel tersebut berada pada level di bawah nilai thresholding maka piksel tersebut di ubah ke warna hitam. Nilai dari thresholding untuk citra dalam derajat keabuan 256 maka nilai threshodingnya adalah 128 sehingga untuk mengubah menjadi citra biner dapat dituliskan dalam bentuk pengandaian yaitu : jika nilai point < 128 maka isi dari nilai x = 0 , namun jika tidak maka nilai x = 255. 2.Penyembunyian pesan. Bentuk penyembunyian text atau informasi dalam Steganography: Penyembunyian informasi dalam dokumen text. Menurut Bender et al softcopy text merupakan salah satu tempat yang paling menarik untuk melakukan penyembunyian data. Karena kurangnya informasi redundan di dalam data text. Bender et al mendiskusikan tiga cara berbeda untuk melakukan penyembunyian di dalam data text. Metode – metode tersebut adalah : Metode Spasi Terbuka, Syntactic,Semantic. 13.
Metode yang digunakan. Terdapat banyak metode yang digunakan dalam melakukan penyembunyian data ke dalam data lainnya. Berikut adalah penjelasan mengenai beberapa metode yang banyak digunakan dalam steganografi. a. Metode Spasi Terbuka Terdapat beberapa cara untuk memanfaatkan spasi terbuka dalam data text guna menyembunyikan informasi. Metode ini dapat berhasil karena buku bacaan pada umumnya menambahkan satu spasi tambahan pada akhir baris atau diantara dua kata sehingga tidak terbaca aneh. Bagaimanapun, 439
Jurnal Teknika Vol. 5 No.1 Maret 2013
metode spasi terbuka hanya dapat digunakan dengan memakai ASCII (American Standard Character Interchange) format. Bender et al memberikan tiga metode untuk mengungkap white space dalam proses penyembunyian. Spasi terbuka antar kalimat akan menghasilkan nilai “0” apabila hanya terdapat sebuah spasi yang ditambahkan diantara kalimat tersebut. Dengan menambahkan dua spasi akan menghasilkan nilai “1”. Metode ini dapat berhasil, tetapi membutuhkan data dalam jumlah besar untuk menyembunyikan sebuah informasi kecil. Dan juga terdapat banyak software word–processing yang akan secara otomatis membetulkan spasi antara kalimat, sehingga metode ini seringkali gagal. Metode spasi end-of-line (EOL) mengutarakan white space pada akhir dari masing-masing baris. Data disembunyikan menggunakan jumlah spasi yang telah ditentukan sebelumnya dari akhir untuk masing-masing kalimat. Sebagai contoh dua spasi akan menyembunyikan satu bit, empat spasi akan menyembunyikan dua bit dan delapan spasi akan menghasilkan tiga bit dan seterusnya. Tehnik ini lebih baik dibandingkan metode spasi terbuka antar kalimat, karena dengan meningkatkan jumlah spasi akan dapat menyembunyikan lebih banyak data. Salah satu kekurangan dari tehnik ini adalah dapat hilangnya informasi tersembunyi jika hard copy data yang diberikan. Pada akhirnya, pemerataan kanan dari text dapat digunakan pula untuk menyembunyikan informasi rahasia pada data text. Penghitungan dan pengontrolan spasi diantara kata dapat menyembunyikan informasi dalam data text yang terlihat tidak penting. Sebuah spasi antara kata akan menghasilkan nilai “0” dan dua buah spasi akan menghasilkan nilai “1”. Bagaimanapun, pendekatan ini akan mempersulit untuk mengeluarkan informasi dari media data text tersebut karena akan semakin tidak mungkin untuk membedakan sebuah spasi biasa dengan spasi yang berfungsi untuk penyembunyian data. Untuk mewujudkan hal ini, Bender et al menggunakan Manchester coding untuk mengelompokkan bit-bit. Sehingga “01” diinterpretasikan sebagai “1” dan “10” diinterpretasikan sebagai “0”. Dimana “00” dan “11” akan dianggap sebagai null bit string. b. Metode Syntactic. Sebagaimana yang telah di sarankan oleh Bender et al, mengutarakan penggunaan punktuasi dan struktur text untuk menyembunyikan informasi tanpa secara signifikan mengubah arti dari pesan pembawa. Sebagai contoh terdapat dua frase "bread, butter, and milk" dan "bread, butter and milk" secara gramatikal benar tetapi berbeda dalam
ISSN No. 2085 - 0859
penggunaan koma. Salah satu dapat digunakan secara alternatif dalam pesan text guna mengintepretasikan nilai "1" apabila salah satu metode dipakai dan nilai "0" untuk metode lain yang dipakai. c. Metode Semantic. Metode ini menggunakan dua sinonim sebagai nilai primer atau sekunder. Nilai tersebut akan diterjemahkan kedalam biner "1" atau "0". Bender et al menggunakan sebuah contoh dimana kata "big" berfungsi sebagai primer dan "large" berfungsi sebagai sekunder. Oleh karena itu, dalam menguraikan isi sebuah pesan akan menterjemahkan atas penggunaan primer sebagai "1" dan sekunder sebagai "0". Bender et al menyebutkan masalah yang dapat muncul dengan penggunaan metode ini adalah ketika sinonim tidak dapat digantikan karena dapat mengubah arti dari struktur kalimat. Sebagai contoh dalam memanggil seseorang dalam bahasa Inggris dengan "cool" mempunyai arti berbeda dibandingkan dengan memanggilnya "chilly". d. Penyisipan Least Significant Bit Cara paling umum untuk menyembunyikan pesan adalah dengan memanfaatkan Least-Significant Bit (LSB). Walaupun banyak kekurangan pada metode ini, tetapi kemudahan implementasinya membuat metode ini tetap digunakan sampai sekarang. Metode ini membutuhkan syarat, yaitu jika dilakukan kompresi pada stego, harus digunakan format lossless compression, karena metode ini menggunakan bit-bit pada setiap pixel pada image. Jika digunakan format lossy compression, pesan rahasia yang disembunyikan dapat hilang. Jika digunakan image 24 bit color sebagai cover, sebuah bit dari masing-masing komponen Red, Green, dan Blue, dapat digunakan sehingga 3 bit dapat disimpan pada setiap pixel. Sebuah image 800 x 600 piksel dapat digunakan untuk menyembunyikan 1.440.000 bit (180.000 bytes) data rahasia. Misalnya, di bawah ini terdapat 3 piksel dari image 24 bit color : ( 00100111 11101001 11001000 ) ( 00100111 11001000 11101001 ) ( 11001000 00100111 11101001 ) jika diinginkan untuk menyembunyikan karakter A (10000001b) 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 440
Jurnal Teknika Vol. 5 No.1 Maret 2013
dapat disembunyikan secara efektif. Jika digunakan image 8 bit color sebagai cover, hanya 1 bit saja dari setiap piksel warna yang dapat dimodifikasi sehingga pemilihan image harus dilakukan dengan sangat hati-hati, 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 masing-masing piksel pada stego secara berurutan dan menuliskannya ke output file yang akan berisi pesan tersebut. Kekurangan dari metode modifikasi LSB ini adalah bahwa metode ini membutuhkan "tempat penyimpanan" yang relatif besar. Kekurangan lain adalah bahwa stego yang dihasilkan tidak dapat dikompress dengan format lossy compression. e. Masking dan Filtering 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 tahan terhadap kompresi (terutama lossy compression), cropping, dan beberapa image processing lain, bila dibandingkan dengan metode modifikasi LSB. Namun kekurangan dari metode ini adalah hanya dapat menyimpan pesan dengan hanya beberapa karakter saja, apabila diberikan pesan yang banyak maka akan berubah tampilan gambarnya. 3.
HASIL DAN PEMBAHASAN Pengujian Pada Form Login. Seperti telah dijelaskan sebelumnya form login ini berfungsi untuk memastikan bahwa program pengiriman dan penerimaan data teracak hanya dapat dilakukan oleh orang yang berhak sesuai dengan yang telah diatur oleh komandan satuan. Jika user ID dan password yang dimasukkan benar maka program untuk pengiriman dan penerimaan data teracak akan terbuka dan siap untuk digunakan, sekaligus mengaktifkan menu admin yaitu menu yang dapat menambah, merubah dan menghapus user ID dan password.
ISSN No. 2085 - 0859
Pada saat pertama kali program dijalankan maka hal pertama yang harus dilaksanakan adalah mengisi user ID dan Password sesuai dengan yang telah diatur oleh komandan satuan. Pada form login ini juga disertakan program untuk membatasi jumlah kesalahan pengguna pada saat memasukkan user ID dan password. Jika pengguna melaksanakan kesalahan tiga kali berturut-turut maka secara otomatis program login akan tertutup, hal ini dilaksankan untuk memperkecil celah yang dapat digunakan oleh pengguna yang tidak berhak untuk dapat menggunakan program ini. Bentuk tampilannya adalah sebagai berikut : ]
Gambar 3. Tampilan Login. (Sumber : Pengujian) Pada saat pertama kali program ini dibuat, penulis menggunakan user ID Admin dan Password Admin, jika user ID dan password ini dimasukkan maka yang terjadi adalah sebagai berikut :
Gambar 4. Tampilan Menu Utama. (Sumber : Pengujian) Berikut adalah listing program pada saat pengguna menekan tombol “log in” Dim adoLogin As Recordset Dim lDb As Connection 441
Jurnal Teknika Vol. 5 No.1 Maret 2013
Private Sub cmdCancel_Click() Logins = False Me.Hide End End Sub Private Sub cmdOK_Click() AmbilData adoLogin, lDb, "select * from pas where kode='" & txtUserName.Text & "'" If adoLogin.RecordCount > 0 And txtPassword = adoLogin!password Then aKode = adoLogin!kode aNama = adoLogin!nama aPkt = adoLogin!pangkat aNrp = adoLogin!nrp If adoLogin!Admin = "1" Then Admins = True Users = False Fmenu.Show ElseIf adoLogin!Admin = "0" Then Users = True Admins = False Fmenu.Show Else Users = False Admins = False End End If Logins = True Me.Hide Else MsgBox "Password tidak benar, !" & vbCrLf & "Silahkan coba lagi !", , "Login" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End Sub Private Sub Form_Load() Koneksi lDb End Sub Private Sub txtPassword_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cmdOK.SetFocus End If End Sub Private Sub txtUserName_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtPassword.SetFocus End If End Sub
ISSN No. 2085 - 0859
Pengujian Pada Form Utama. Dari pengujian yang dilaksanakan pada form utama ini, seluruh sub menu yang telah direncanakan dapat bekerja dengan baik, hal ini ditandai dengan berpindahnya form atau tampilan dari menu utama ke sub menu yang dipilih. Adapun listing program pada form utama sebagai berikut : Private Sub dec_Click() hideS ("deco") End Sub Private Sub duser_Click() If Admins = True Then hideS ("user") Else MsgBox "Maaf .... " & vbCrLf & "Hanya admin yang berhak mengakses halaman ini" & vbCrLf & "Terimakasih ... !", vbCritical + vbOKOnly, "Perhatian .... !" End If End Sub Private Sub enc_Click() hideS ("enco") End Sub Private Sub Form_GotFocus() hideS (tamPil) End Sub Private Sub Form_Load() Explode Me, 1 End Sub Private Sub Form_Unload(Cancel As Integer) Me.WindowState = 0 Cancel = 1: Explode Me, 0 End Sub Private Sub mnabout_Click() hideS ("ttg") End Sub Private Sub mnexit_Click() Me.WindowState = 0 End End Sub Private Sub mnout_Click() hideS ("xx") Fmenu.Hide frmLogin.Show End Sub Private Sub Explode(ByRef frm As Form, ByRef efek As Boolean) With frm .Width = 0 .Height = 0 .Show If efek Then For x = 0 To 10000 Step 100
442
Jurnal Teknika Vol. 5 No.1 Maret 2013
.Move (Screen.Width - .Width) / 2, (Screen.Height - .Height) / 2, x, x DoEvents Next .WindowState = 2 Else For x = 10000 To 0 Step -100 .Move (Screen.Width - .Width) / 2, (Screen.Height - .Height) / 2, x, x DoEvents Next End End If End With End Sub Private Sub mUser_Click() hideS ("setting") End Sub Sub hideS(aa As String) tamPil = aa Enco.Hide Program form utama Deco.Hide frmSetting.Hide frmUser.Hide Ftentang.Hide If aa = "enco" Then Enco.Show ElseIf aa = "deco" Then Deco.Show ElseIf aa = "setting" Then frmSetting.Show ElseIf aa = "user" Then frmUser.Show ElseIf aa = "ttg" Then Ftentang.Show 'ElseIf aa = "" Then End If End Sub Pengujian Pada Form Encoder. Encoder ini berfungsi untuk memastikan bahwa program pengiriman dan penerimaan data teracak.
ISSN No. 2085 - 0859
Gambar 5. Tampilan Form Encoder. (Sumber : Pengujian) Pengujian Form utama Decoder. Decoder adalah sama dengan Form dasar Encoder yang dimana hanya penggunaan dan fungsinya saja yang berbeda, yaitu gambar yang sudah dikirim lewat email,face book atau lainnya akan dimasukan kedalam file ini, dan akan dilanjutkan dengan pembukaan berita atau data yang sudah diterima. Untuk dapat menggunakan Form yang ada pada sistem pengaman data digital ini pengguna tinggal memilih kemudian menekan tombol kiri mouse pada tombol pada kanan bawah form untuk membuka berita yang sudah disisipkan, dengan tidak lupa mengisi password yang sudah disepakati, apabila password sudah dimasukan maka akan ada tanda atau peringatan yang tampil di form. Adapun listing program pada form utama decoder adalah sebagai berikut : Private Sub Command1_Click() On Error GoTo shit Dim sFile As String With CommonDialog1 .DialogTitle = "Open" .CancelError = False .Filter = "All JPEG Files (*.jpg)|*.jpg|All Bitmap Files (*.bmp)|*.bmp|All GIF Files (*.gif)|*.gif" .ShowOpen If Len(.FileName) = 0 Then Exit Sub End If sFile = .FileName End With Text2.Text = sFile Image1.Picture = LoadPicture(Text2.Text) GoTo kko shit: MsgBox "File gambar tidak valid ... !", , "Error.........!" Text2.Text = "" kko: End Sub Private Sub Command2_Click() Dim head As String Dim ridall As String Dim checkjpglen As String Dim fylelen As String Dim sss As Long Dim ridjpeg As String Dim ridkey As String Dim ridmsg As String Dim ridlen As String 443
Jurnal Teknika Vol. 5 No.1 Maret 2013
Dim msgkey As String Dim decmsg As String Dim checkmark As String Dim ridmark As String Dim checkjpeglen As String Dim rrkey As String Dim ass2 As String Dim xxkey As String Dim msgkeyenc As String If Text2.Text = "" Then MsgBox "Anda belum memilih gambar", , "Maaf!" ElseIf passtxt.Text = "" Then MsgBox "Password 16 karakter belum dimasukkan", , "Maaf!" Else Open Text2.Text For Binary Access Read As #1 ridall = Space(LOF(1)) Get #1, , ridall Close #1 checkmark = Right(ridall, 8) If checkmark = "^6ML3@" Then checkjpglen = Right(ridall, 16) checkjpeglen = Mid(checkjpglen, 1, 8) fylelen = RTrim(checkjpeglen) rrkey = q("÷ûâúùÓòõ£££ÕÂïÃÆÁ¯¡ÿý£óúàùÞÏâú𧤣¯ ® ÆÓáúâ £âñþ¯ÃßÆÀ£¦£¯äýÿðÄóòÔþÜãßùý") ass2 = r(fylelen, rrkey) sss = CLng(ass2) Open Text2.Text For Binary Access Read As #2 ridjpeg = Space(sss) ridkey = Space(16) ridmsg = Space(LOF(2) - (sss + 16 + 8 + 8)) ridlen = Space(8) ridmark = Space(8) Get #2, , ridjpeg Get #2, , ridkey Get #2, , ridmsg Get #2, , ridlen Get #2, , ridmark Close #2 xxkey = g("=-:ia$&'hexchxey--*+ 20)usU#%'a9aw") msgkeyenc = r(ridkey, xxkey) msgkey = passtxt.Text decmsg = r(ridmsg, msgkey) Text1.Text = decmsg Else Text1.Text = "Tidak ada pesan .. !" End If End If End Sub Private Function x(sText) On Error Resume Next
ISSN No. 2085 - 0859
Dim ekey As Long, i As Long, hash As Long, crbyte As String ekey = 1059483 For i = 1 To Len(sText) hash = Asc(Mid(sText, i, 1)) crbyte = Chr(hash Xor (ekey Mod 255)) x = x & crbyte Next i End Function Private Function q(sText) On Error Resume Next Dim ekey As Long, i As Long, hash As Long, crbyte As String ekey = 6059460 For i = 1 To Len(sText) hash = Asc(Mid(sText, i, 1)) crbyte = Chr(hash Xor (ekey Mod 255)) q = q & crbyte Next i End Function Private Function g(sText) On Error Resume Next Dim ekey As Long, i As Long, hash As Long, crbyte As String ekey = 921074 For i = 1 To Len(sText) hash = Asc(Mid(sText, i, 1)) crbyte = Chr(hash Xor (ekey Mod 255)) g = g & crbyte Next i End Function Public Function r(inp As String, Key As String) As String Dim Sbox(0 To 255) As Long Dim Sbox2(0 To 255) As Long Dim j As Long, i As Long, t As Double Dim K As Long, temp As Long, Outp As String Dim x For i = 0 To 255 'Buat SBox #1 Sbox(i) = i 'dan isi dgn Next i 'nilai successive j=1 For i = 0 To 255
'Buat SBox
#2 If j > Len(Key) Then j = 1 'dan isi dg key Sbox2(i) = Asc(Mid(Key, j, 1)) j=j+1 Next i j=0 For i = 0 To 255 444
Jurnal Teknika Vol. 5 No.1 Maret 2013
j = (j + Sbox(i) + Sbox2(i)) Mod 256 temp = Sbox(i) Sbox(i) = Sbox(j) Sbox(j) = temp Next i i=0 j=0 For x = 1 To Len(inp) i = (i + 1) Mod 256 j = (j + Sbox(i)) Mod 256 temp = Sbox(i) Sbox(i) = Sbox(j) Sbox(j) = temp t = (Sbox(i) + Sbox(j)) Mod 256 K = Sbox(t) Outp = Outp + Chr(Asc(Mid(inp, x, 1)) Xor K) Next x r = Outp End Function Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) tamPil = "xx" Unload Me End Sub Private Sub Form_Unload(Cancel As Integer) tamPil = "xx" Unload Me End Sub
ISSN No. 2085 - 0859
2. Fadlisyah,S.Si, ”Computer Vision dan Pengolahan Citra”,Andi Yogjakarta,2007 3. Achmad Basuki,Jozua F.Palandi,Faturrochman, “ Pengolahan Citra Digital menggunakan Visual Basic”, Graha Ilmu,Yogjakarta,2005. 4 http://www.total.or.id/info.php?kk=Stega ography (diakses tanggal 12 Juni 2009 ). 5. www.outguess.org, (diakses tanggal,18 Juni 2009 ). 6.Gonzales,Rafael C., dan Wintz,paul,” Digital image Prossecing” , Addison Wesley.paul 1987 7.www.Ilmu computer.com, ( diakses tanggal, 13 juni 2009
Kesimpulan Dari hasil penelitian dapat diambil kesimpulan, antara lain: 1. Sistem ini memiliki tingkat keamanan yang cukup tinggi, karena menggunakan password sebagai kata kunci untuk mengambil informasi dari dalam file pembawa. 2. Steganografi merupakan suatu metode dimana sesuatu pesan (teks atau image) boleh dirahasiakan di dalam file-file lain yang mengandung teks image, bahkan suara tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari file semula. 3. Hasil pengujian program steganoraphy yang dilaksanakan sesuai dengan yang di harapkan DAFTAR PUSTAKA 1.Abdul Razaq, “ Belajar Praktis Pemograman Visual Basic” , Indah,Surabaya,2004 445
Jurnal Teknika Vol. 5 No.1 Maret 2013
ISSN No. 2085 - 0859
Halaman ini sengaja dikosongkan
446