108
Berbagai macam teknik dapat digunakan untuk melindungi kerahasiaan informasi dari orang yang tidak berhak. Salah satu teknik yang populer adalah teknik
steganography . Teknik ini sudah dipakai lebih dari 2500 tahun yang lalu untuk
menyembunyikan pesan
rahasia. Berbeda
dengan teknik
cryptography ,
steganography digunakan untuk menyembunyikan pesan rahasia dan orang awam
tidak menyadari keberadaan bahwa terdapat pesan yang disembunyikan. Teknik ini sering digunakan untuk menghindari kecurigaan orang dan menghindari keinginan
orang untuk mengetahui isi pesan rahasia tersebut.
Pada umumnya, teknik steganography dikenakan pada file-file multimedia. Bentuk- bentuk file multimedia yang sering digunakan adalah video, audio dan gambar.
2. Tujuan
Tujuan dari pembuatan artikel ini adalah : 1. Memberikan pandangan bahwa steganography memiliki tingkat keamanan yang
cukup tinggi. 2. Menerapkan teknik steganography dalam file audio, video, gambar dan file
lainnya seperti exe dan pdf. 3. Memaparkan cara kerja dari aplikasi steganography, serta menunjukkan
sebagaimana kuat ketahanan dari file hasil proses steganography.
3. Pembatasan Masalah Aplikasi
Aplikasi yang akan dibuat mempunyai batasan–batasan sebagai berikut: 1. Objek penelitian difokuskan pada kualitas dari file dan besar ukuran file yang
telah disisipkan. Dengan kata lain apabila kualitas gambar pada gambar asli adalah 100 dengan ukuran file 65 kb dan file pesan yang akan disisipkan
adalah 22,7 kb maka hasil file yang telah disisipkan mengalami kemunduran kualitas kurang lebih menjadi 88.5 dengan ukuran file akan menjadi besar.
2. Kecepatan dalam pemrosesan encoding dan decoding belum menjadi pokok penelitian pada paper ini.
4. Mekanisme JNI Java Native Interface
Dalam framework JNI, fungsi native diimplementasikan secara terpisah .C atau .CPP file. C++ menyediakan antarmuka yang sedikit baik dengan JNI. Berikut
adalah contoh JNI:
JNIEXPORT void JNICALL Java_ClassName_MethodName JNIEnv env, jobject obj
{ Implement Native Method Here
}
Menggunakan Teknik Low Bit Encoding dan Least Significant Bit Hendra Bunyamin, Andrian
109
Env pointer merupakan struktur yang berisi antarmuka ke JVM. Termasuk semua
fungsi yang diperlukan untuk berinteraksi dengan JVM dan untuk bekerja dengan objek-objek JAVA. Contoh fungsi-fungsi JNI mengkonversi native array ke JAVA
array , mengkonversi native string ke java string, instantiating objects, throwing
exceptions , etc. Pada dasarnya, apapun yang dapat dilakukan oleh kode JAVA
dapat dilakukan dengan menggunakan JNIEnv, walaupun tidak mudah. Berikut adalah contoh mengkonversi JAVA string ke native string:
Perlu diketahui bahwa C++ JNI adalah sintak yang lebih baik daripada C JNI disebabkan lebih cocok pada pemrograman JAVA, C++ menggunakan object
method invocation semantics . Dalam C++, yang merupakan parameter env dan
parameter adalah mutlak sebagai bagian dari metode obyek invocation semantics.
Jenis data native dapat dipetakan dari jenis data JAVA. Untuk jenis kompleks seperti objek array dan string native harus secara eksplisit mengkonversi data
dengan memanggil methods pada JNIEnv.
Untuk menjalankan mekanisme JNI JAVA Native Interface, terdapat beberapa hal yang harus dilakukan terlebih dahulu. Pada saat instalasi JDK, Netbeans IDE
dan Netbeans CC++ pack harus dimasukkan. Selain itu dibutuhkan juga Cygwin
C++ code JNIEXPORT void JNICALL Java_ClassName_MethodName
JNIEnv env, jobject obj, jstring javaString {
Get the native string from javaString const char nativeString =
env-GetStringUTFCharsjavaString, 0; Do something with the nativeString
env-ReleaseStringUTFCharsjavaString, nativeString; }
C code JNIEXPORT void JNICALL Java_ClassName_MethodName
JNIEnv env, jobject obj, jstring javaString {
Get the native string from javaString const char nativeString =
env-GetStringUTFCharsenv, javaString, 0; Do something with the nativeString
env-ReleaseStringUTFCharsenv, javaString, nativeString;
}
110
sebagai complier dari CC++ tersebut. Setelah perangkat lunak tersebut di-install, diperlukan sebagian kecil perubahan pada konfigurasi sistem harus dilakukan.
5. Pengujian Aplikasi