Aplikasi Steganografi pada Citra Digital Menggunakan...

12
77 ISSN 2356 - 4393 I. PENDAHULUAN Perkembangan teknologi komputer, informasi dan komunikasi menjadikan kegiatan penyampaian informasi maupun data menjadi lebih mudah dan cepat. Pertukaran pesan maupun data tidak hanya dilakukan antar teman (secara pribadi atau informal), tetapi juga antara rekan bisnis, atasan dengan bawahan, maupun sebaliknya (legal dan formal). Data atau pesan yang dikirim melalui internet dapat diretas (disadap) selama dalam proses pengiriman. Perkembangan komunikasi data membuat aspek keamanan dan kerahasiaan data menjadi sangat penting. Dalam membangun aplikasi ini, penulis menggunakan teknik steganografi, di mana pesan rahasia yang akan dikirim disisipkan ke dalam media lain, bisa berupa file gambar maupun audio, sehingga orang lain tidak mengetahui bahwa di dalam file tersebut terdapat pesan rahasia. Steganografi adalah ilmu yang mempelajari teknik penyembunyian pesan rahasia didalam pesan yang lain [1]. Steganografi membutuhkan dua properti, yaitu media penampung (media untuk menyembunyikan pesan) dan data rahasia yang akan disembunyikan. Steganografi digital menggunakan media digital sebagai wadah penampung, misalnya citra (gambar), suara (audio), teks, dan video. Data rahasia yang disembunyikan juga dapat berupa citra, suara, teks, atau video [2]. Aplikasi steganografi yang dibangun digunakan untuk menyisipkan pesan rahasia ke dalam media gambar dengan menggunakan algoritma Discrete Cosine Transform (DCT) [3]. Algoritma DCT Aplikasi Steganografi pada Citra Digital Menggunakan Algoritma Discrete Cosine Transform Viki Miyagina Amal 1) , Alfa Ryano Yohannis 2) Informatika, Institut Teknologi dan Bisnis Kalbis, Jakarta Jl. Pulomas Selatan Kav.22, Jakarta Timur 1) Email: [email protected] 2) Email: [email protected] Abstract: Nowadays, the advancement of technology has grown rapidly. With the existence of internet technology, exchange of information is getting convenient than before. The increasing growth of data communication makes safety and confidentiality of data become more sensitive. Therefore, researchers have developed steganography applications to conceal secret messages inside digital images. The steganography application developed is constructed by using Discrete Cosine Transform (DCT) and F5 algorithm to insert and extract the secret messages in images. The application serves to embed textual message into a JPEG image, which then the result can be saved as a new image file of the same type, and the extracted message can be saved as a text file in the same type. The steganography applications, able to insert at least one byte (character) into an 8x8 pixel sized image. Keywords: discrete cosine transform, f5 algorithm, image, steganography Abstrak: Perkembangan teknologi pada saat ini sudah berkembang dengan pesat. Dengan adanya teknologi internet, pertukaran informasi semakin mudah dilakukan. Semakin meningkatnya perkembangan komunikasi data membuat aspek keamanan dan kerahasiaan data menjadi penting. Untuk itu peneliti membuat aplikasi steganografi untuk menyembunyikan pesan rahasia di dalam sebuah gambar. Aplikasi steganografi yang dibangun menggunakan metode Discrete Cosine Transform (DCT) dan algoritma yang digunakan adalah Algoritma F5 untuk proses menyisipkan dan mengekstrak pesan rahasia dalam gambar. Aplikasi ini berfungsi menyisipkan pesan ke dalam media gambar JPEG yang hasilnya dapat disimpan sebagai file gambar baru dengan tipe yang sama. Aplikasi juga dapat mengekstrak pesan yang disisipkan dalam gambar JPEG di mana pesan hasil ekstraksi dapat disimpan sebagai file baru berekstensi.txt. Aplikasi steganografi ini, paling sedikit mampu menyisipkan 1 byte (karakter) ke dalam gambar berukuran 8x8 pixel. Kata kunci: algoritma f5, discrete cosine transform, gambar, steganografi

Transcript of Aplikasi Steganografi pada Citra Digital Menggunakan...

Page 1: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Aplikasi Steganografi Pada Citra Digital Menggunakan ....

77

ISSN 2356 - 4393

I. PENDAHULUAN

Perkembangan teknologi komputer, informasi dan komunikasi menjadikan kegiatan penyampaian informasi maupun data menjadi lebih mudah dan cepat. Pertukaran pesan maupun data tidak hanya dilakukan antar teman (secara pribadi atau informal), tetapi juga antara rekan bisnis, atasan dengan bawahan, maupun sebaliknya (legal dan formal). Data atau pesan yang dikirim melalui internet dapat diretas (disadap) selama dalam proses pengiriman.

Perkembangan komunikasi data membuat aspek keamanan dan kerahasiaan data menjadi sangat penting. Dalam membangun aplikasi ini, penulis menggunakan teknik steganografi, di mana pesan rahasia yang akan dikirim disisipkan ke dalam media

lain, bisa berupa file gambar maupun audio, sehingga orang lain tidak mengetahui bahwa di dalam file tersebut terdapat pesan rahasia. Steganografi adalah ilmu yang mempelajari teknik penyembunyian pesan rahasia didalam pesan yang lain [1]. Steganografi membutuhkan dua properti, yaitu media penampung (media untuk menyembunyikan pesan) dan data rahasia yang akan disembunyikan. Steganografi digital menggunakan media digital sebagai wadah penampung, misalnya citra (gambar), suara (audio), teks, dan video. Data rahasia yang disembunyikan juga dapat berupa citra, suara, teks, atau video [2].

Aplikasi steganografi yang dibangun digunakan untuk menyisipkan pesan rahasia ke dalam media gambar dengan menggunakan algoritma Discrete Cosine Transform (DCT) [3]. Algoritma DCT

Aplikasi Steganografi pada Citra Digital Menggunakan Algoritma Discrete Cosine Transform

Viki Miyagina Amal1), Alfa Ryano Yohannis2)

Informatika, Institut Teknologi dan Bisnis Kalbis, JakartaJl. Pulomas Selatan Kav.22, Jakarta Timur

1)Email: [email protected] 2)Email: [email protected]

Abstract: Nowadays, the advancement of technology has grown rapidly. With the existence of internet technology, exchange of information is getting convenient than before. The increasing growth of data communication makes safety and confidentiality of data become more sensitive. Therefore, researchers have developed steganography applications to conceal secret messages inside digital images. The steganography application developed is constructed by using Discrete Cosine Transform (DCT) and F5 algorithm to insert and extract the secret messages in images. The application serves to embed textual message into a JPEG image, which then the result can be saved as a new image file of the same type, and the extracted message can be saved as a text file in the same type. The steganography applications, able to insert at least one byte (character) into an 8x8 pixel sized image.Keywords: discrete cosine transform, f5 algorithm, image, steganography

Abstrak: Perkembangan teknologi pada saat ini sudah berkembang dengan pesat. Dengan adanya teknologi internet, pertukaran informasi semakin mudah dilakukan. Semakin meningkatnya perkembangan komunikasi data membuat aspek keamanan dan kerahasiaan data menjadi penting. Untuk itu peneliti membuat aplikasi steganografi untuk menyembunyikan pesan rahasia di dalam sebuah gambar. Aplikasi steganografi yang dibangun menggunakan metode Discrete Cosine Transform (DCT) dan algoritma yang digunakan adalah Algoritma F5 untuk proses menyisipkan dan mengekstrak pesan rahasia dalam gambar. Aplikasi ini berfungsi menyisipkan pesan ke dalam media gambar JPEG yang hasilnya dapat disimpan sebagai file gambar baru dengan tipe yang sama. Aplikasi juga dapat mengekstrak pesan yang disisipkan dalam gambar JPEG di mana pesan hasil ekstraksi dapat disimpan sebagai file baru berekstensi.txt. Aplikasi steganografi ini, paling sedikit mampu menyisipkan 1 byte (karakter) ke dalam gambar berukuran 8x8 pixel.Kata kunci: algoritma f5, discrete cosine transform, gambar, steganografi

Page 2: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Kalbiscentia,Volume 2 No.1 Februari 2015

78

digunakan untuk mentransformasikan data dari tempat spasial (spatial domain) ke tempat frekuensi (frequency domain), di mana algoritma DCT bersifat lossy [4]. Penelitian ini dilakukan untuk menjawab 2 permasalahan. Pertama, bagaimanakah cara penerapan algoritma Discrete Cosine Transform (DCT) dalam membangun aplikasi steganografi? Kedua, bagaimana langkah-langkah dalam membangun aplikasi steganografi sehingga dapat menyisipkan pesan rahasia ke dalam media gambar dan membaca pesan rahasia yang terdapat dalam gambar? Tujuan dari penelitian ini adalah untuk membangun aplikasi steganografi pada gambar untuk menyisipkan pesan rahasia pada media gambar guna meningkatkan keamanan data.

II. METODE PENELITIAN

Metode penelitian yang dilakukan adalah mengenai langkah-langkah yang dilakukan dalam melakukan penelitian untuk membangun aplikasi steganografi dalam gambar dengan menggunakan algoritma Discrete Cosine Transform (DCT).

Langkah pertama adalah pengumpulan data. Dalam pengumpulan data, penulis menggunakan teknik studi pustaka, yaitu mencari referensi materi dari buku, e-book, jurnal ilmiah dan prosiding.Langkah kedua, penulis menentukan metode pengujian yang akan digunakan. Dalam penelitian ini penulis menggunakan 2 jenis teknik pengujian, yaitu pengujian dengan menggunakan metode black-box, untuk melihat secara keseluruhan fungsionalitas dari aplikasi Selain menguji fungsionalitas dari aplikasi, serta teknik uji reliabilitas, untuk melihat sampai sejauh mana aplikasi dapat berfungsi dengan baik. Langkah selanjutnya, penulis menentukan instrumen penelitian (perangkat penelitian) dalam membangun aplikasi steganografi pada citra digital. Instrumen pertama adalah bahasa pemrograman yang akan digunakan untuk membuat aplikasi steganografi ini adalah bahasa pemrograman Java. Bahasa Java bersifat netral. tidak bergantung pada salah satu platform, dan mengikuti konsep Write Once Run Anywhere (WORA) [5], yakni sekali ditulis, maka dapat dijalankan di platform manapun. Selanjutnya adalah software (perangkat lunak yang akan digunakan untuk membuat aplikasi steganografi ini, yaitu menggunakan software NetBeans IDE 6.9.1 [6].Ketiga,menentukan algoritma yang akan digunakan untuk membuat aplikasi steganografi ini adalah Discrete Cosine Transform (DCT) [3],

serta library F5Steganography. DCT adalah salah satu teknik kompresi gambar yang bersifat lossy [4]. Jika dalam kompresi menggunakan DCT, bit nol pada gambar akan dihilangkan, maka dalam steganografi, bit nol tidak dihilangkan, namun mengganti beberapa bit yang bukan nol dengan bit-bit dari pesan rahasia yang akan disisipkan. Terakhir, adalah menentukan metode pengembangan software yang akan digunakan dalam membangun aplikasi steganografi ini, yaitu Unified Modelling Language (UML).UML adalah sebuah “bahasa” standar yang digunakan untuk memvisualisasikan, merancang dan mendokumentasikan sistem perangkat lunak (software). Bahasa UML dapat digunakan dalam semua jenis sistem perangkat lunak, di mana sistem perangkat lunak dapat berjalan pada jenis perangkat lunak, sistem operasi, sistem jaringan manapun serta dapat ditulis dengan bahasa pemrograman apapun. Namun UML juga menggunakan class dan operation dalam konsep dasarnya sehingga, UML lebih cocok digunakan untuk pembuatan perangkat lunak yang ditulis dengan bahasa pemrograman berbasis objek, seperti C++, Java, C# atau VB.NET [7].

A. Discrete Cosine Transform

Transformasi ini dikenal luas untuk pemrosesan citra digital. Pada dasarnya DCT merupakan suatu transformasi domain, yaitu proses perubahan pada citra digital dari satu domain ke domain lainnya. Dalam hal ini DCT melakukan perubahan pada citra digital dari domain spasial ke domain frekuensi [8], one-to-one mapping dari suatu array yang terdiri dari nilai pixel menjadi komponen-komponen yang terbagi menjadi frekuensi [9]. Rumus perhitungan Discrete Cosine Transform DCT:

Persamaan 1 Rumus DCT

di mana:

x = 0,1,2,…,N-1 ;

y = 0,1,2,M-1

u = frekuensi spasial horizontal (baris),

v = frekuensi spasial vertikal (kolom),

C(u,v) = koefisien DCT pada koordinat (u,v), dan

Persamaan 2 Nilai α(u)dan α(v)

Persamaan 1 Rumus DCT

Tabel 1 Frekuensi Kemunculan Karakter.

Simbol Frekuensi Kemunculan Peluang

A 3 3/7 B 2 2/7 C 2 2/7

Tabel 3 Hasil Uji Reliabilitas

No. Ukuran gambar (bytes)

Ukuran gambar (pixel)

Ukuran pesan yang berhasil disisipkan (bytes)

Rata-rata byte pesan dalam 1 pixel

1 714 8x8 1 0,0156

2 734 16x4 3 0,0469

3 746 4x16 3 0,0469

4 769 32x2 5 0,0781

5 793 2x32 7 0,1094

6 867 16x16 9 0,0352

7 884 32x8 10 0,0391

8 889 8x32 11 0,0430

9 1028 32x32 39 0,0381

10 1105 128x2 23 0,0898

11 1134 2x128 23 0,0898

12 1218 24x24 29 0,0503

13 1805 40x40 61 0,0381

14 1983 64x64 139 0,0339

15 2182 48x48 78 0,0339

16 2660 56x56 109 0,0348

17 2895 8x512 114 0,0278

18 2955 16x256 115 0,0281

19 3154 256x16 112 0,0273

20 3295 512x8 110 0,0269

21 4070 72x72 182 0,0351

22 4614 80x80 201 0,0314

23 12051 128x170 381 0,0175

24 144349 512x341 4052 0,0232

25 289645 2362x2953 22410 0,0032

26 362252 1024x768 17864 0,0227

Persamaan 2 Nilai

Persamaan 3 Rata- rata Byte pesan dalam 1 pixel

Persamaan 1 Rumus DCT

Tabel 1 Frekuensi Kemunculan Karakter.

Simbol Frekuensi Kemunculan Peluang

A 3 3/7 B 2 2/7 C 2 2/7

Tabel 3 Hasil Uji Reliabilitas

No. Ukuran gambar (bytes)

Ukuran gambar (pixel)

Ukuran pesan yang berhasil disisipkan (bytes)

Rata-rata byte pesan dalam 1 pixel

1 714 8x8 1 0,0156

2 734 16x4 3 0,0469

3 746 4x16 3 0,0469

4 769 32x2 5 0,0781

5 793 2x32 7 0,1094

6 867 16x16 9 0,0352

7 884 32x8 10 0,0391

8 889 8x32 11 0,0430

9 1028 32x32 39 0,0381

10 1105 128x2 23 0,0898

11 1134 2x128 23 0,0898

12 1218 24x24 29 0,0503

13 1805 40x40 61 0,0381

14 1983 64x64 139 0,0339

15 2182 48x48 78 0,0339

16 2660 56x56 109 0,0348

17 2895 8x512 114 0,0278

18 2955 16x256 115 0,0281

19 3154 256x16 112 0,0273

20 3295 512x8 110 0,0269

21 4070 72x72 182 0,0351

22 4614 80x80 201 0,0314

23 12051 128x170 381 0,0175

24 144349 512x341 4052 0,0232

25 289645 2362x2953 22410 0,0032

26 362252 1024x768 17864 0,0227

Persamaan 2 Nilai

Persamaan 3 Rata- rata Byte pesan dalam 1 pixel

Page 3: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Aplikasi Steganografi Pada Citra Digital Menggunakan ....

79

Logika Discrete Cosine Transform digunakan untuk mengubah citra digital dari domain spasial ke dalam domain frekuensi guna mendapatkan koefisien DCT. Koefisien DCT yang diperoleh, digunakan untuk proses embedding pesan rahasia ke dalam citra digital.

Perhitungan Discrete Cosine Transform DCT dilakukan dengan cara membagi pixel citra digital (berbentuk matriks 2D, terdiri dari jumlah pixel width dan jumlah pixel height tergantung resolusi citra yang digunakan). Setelah di dapat matriks 2D, matriks dipecah ke dalam beberapa matriks 2D yang lebih kecil berukuran 8 pixel x 8 pixel, selanjutnya dilakukan perhitungan sesuai rumus DCT 2D pada persamaan 1.

B. Algoritma F5

F5 merupakan sebuah metode / algoritma untuk steganografi pada citra digital. Algoritma F5 diajukan oleh Andreas Westfeld [10].

Pada algoritma F5, digunakan metode penyeba-ran byte-byte dari citra digital (citra yang digunakan berformat JPEG) baik yang bernilai positif maupun yang negatif, dan bukan byte 0. Proses selanjutnya adalah menyisipkan bit pesan rahasia ke dalam be-berapa byte tersebut dengan menggunakan ekspresi XOR, lalu mengurangi nilai (decrement) dari byte tersebut, baik byte yang sudah disisipi pesan rahasia maupun byte yang tidak disisipi [10].

Proses penyisipan dilakukan ketika seluruh proses kuantisasi JPEG selesai dan masing-masing koefisien DCT sudah mengalami proses kuantisasi. Password yang dimasukkan oleh pengguna digunakan sebagai random generator, yang digunakan untuk mengacak urutan koefisien DCT yang akan digunakan dalam proses penyisipan. Selanjutnya, menghitung koefisien DCT yang tidak bernilai nol, untuk digunakan dalam proses steganografi. Jumlah koefisien DCT yang tidak bernilai nol dibagi dengan ukuran pesan yang akan disisipkan, untuk mendapatkan rata-rata embedding-nya. Nilai rata-rata embedding digunakan untuk menentukan nilai k, semakin sedikit data yang akan disisipkan maka nilai k akan semakin besar

Selanjutnya dilakukan proses penyisipan pesan ke dalam file gambar, dengan cara file yang akan disisipkan disimpan dalam file buffer. Isi file buffer dengan koefisien n yang bukan nol. Lalu, masukkan nilai bit k selanjutnya ke nilai hash dalam buffer dengan menggunakan operasi XOR sampai nilai bit k habis. Setelah selesai, lakukan proses kompresi

kompresi Gambar JPEG dengan menggunakan metode Huffman.

C. Uji Black-Box

Pengujian pada dasarnya dilakukan untuk mencari kesalahan (error) dalam sebuah aplikasi sebelum diberikan kepada pengguna (user). Proses pengujian sangat penting dilakukan, karena untuk melihat apakah suatu aplikasi sudah memenuhi syarat standar fungsionalitas. Pada penelitian ini, peneliti menggunakan metode black-box sebagai metode untuk melakukan pengujian terhadap aplikasi steganografi yang sedang dibangun.

Metode black-box adalah suatu teknik pengujian perangkat lunak untuk memeriksa apakah semua kebutuhan fungsional yang diharapkan pada suatu perangkat lunak sudah berjalan dengan baik sesuai dengan fungsionalitas yang diharapkan. Pengujian black-box berusaha untuk menemukan kesalahan dalam beberapa kategori, yaitu [7]:1. Fungsi-fungsi yang salah atau hilang2. Kesalahan interface (antarmuka) perangkat

lunak3. Kesalahan dalam struktur data atau kesalahan

dalam akses basisdata eksternal4. Kesalahan performa5. Kesalahan inisialisasi dan terminasi.

Pada pengujian menggunakan black-box, program pengujian dilakukan untuk mengetahui “apa yang sistem dapat lakukan untuk user” bukan “ apa yang programmer lakukan pada sistem tersebut” [11]. Pengujian black-box menguji sebuah perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari suatu perangkat lunak sesuai dengan spesifikasi yang dibutuhkan [12].

Pengujian black-box dilakukan dengan membuat kasus uji yang bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah sesuai dengan spesifikasi yang dibutuhkan. Kasus uji yang dibuat untuk melakukan pengujian menggunakan black-box harus dibuat dengan kasus benar dan kasus salah, misalnya untuk proses login maka kasus uji yang dibuat adalah [12]:l Jika user memasukkan nama pemakai

(username) dan kata sandi (password) yang benar

l Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang

Page 4: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Kalbiscentia,Volume 2 No.1 Februari 2015

80

salah, misalnya nama pemakai benar tapi kata sandi salah, atau sebaliknya, atau keduanya bernilai salah.

D. Uji Reliabilitas

Uji reliabilitas adalah proses pengukuran terhadap ketepatan (konsisten) dari suatu instrumen. Pengujian ini dimaksudkan untuk menjamin suatu perangkat lunak yang digunakan merupakan sebuah perangkat lunak yang handal, konsistensi, stabil dan ketergantungan, sehingga bila digunakan berkali-kali akan menghasilkan data yang sama. Secara umum, uji reliabilitas dapat dilakukan secara internal maupun eksternal. Secara internal, pengujian dilakukan dilakukan dengan menganalisa konsistensi butir-butir yang ada pada perangkat lunak (instrumen uji) dengan teknik tertentu sesuai dengan jenis perangkat lunak yang dibangun. Sedangkan pengujian secara eksternal dapat dilakukan dengan melakukan testretest (stability), equivalent, dan gabungan keduanya pada perangkat lunak [13].

Uji reliabilitas ini bertujuan untuk melihat sampai sejauh mana aplikasi steganografi ini dapat melakukan fungsi untuk menyisipkan pesan dan mengekstrak pesan dalam suatu gambar, berapakah minimal ukuran gambar (dalam pixel) yang dapat disisipi pesan rahasia di dalamnya, dan sampai seberapa besar ukuran pesan yang dapat ditampung dalam gambar. Pada uji reliabilitas ini, peneliti menggunakan beberapa ukuran gambar (pixel) serta ukuran pesan yang digunakan adalah 23.776 bytes.

E. Unified Modelling Language

UML adalah sebuah “bahasa” standar yang digunakan untuk memvisualisasikan, merancang, dan mendokumentasikan sistem perangkat lunak (software). Bahasa UML dapat digunakan dalam semua jenis sistem perangkat lunak, di mana sistem perangkat lunak dapat berjalan pada jenis perangkat lunak, sistem operasi, sistem jaringan manapun serta dapat ditulis dengan bahasa pemrograman apapun. Namun UML juga menggunakan class dan operation dalam konsep dasarnya sehingga, UML lebih cocok digunakan untuk pembuatan perangkat lunak yang ditulis dengan bahasa pemrograman berbasis objek, seperti C++, Java, C# atau VB.NET [7].

Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering) [7].

F. Steganografi

Kata steganografi (steganography) berasal dari bahasa Yunani yang terdiri dari kata steganos yang artinya tersembunyi dan graphein yang artinya menulis, sehingga steganografi dapat diartikan sebagai tulisan yang tersembunyi. Dapat disimpulkan bahwa, steganografi adalah ilmu yang mempelajari teknik penyembunyian pesan rahasia di dalam pesan yang lain. Pesan disembunyikan sedemikian rupa sehingga orang lain tidak akan tahu bahwa terdapat pesan rahasia di dalam pesan yang mereka baca [1].

Steganografi sudah dikenal oleh bangsa Yunani. Penguasa Yunani dalam mengirimkan pesan rahasia menggunakan kepala budak atau prajurit sebagai media. Dalam hal ini, rambut budak dicukur habis (botak), lalu pesan rahasia ditulis di kulit kepala budak. Ketika rambut budak tumbuh, budak tersebut diutus untuk membawa pesan rahasia di kepalanya. Lain dengan bangsa Yunani, 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 [1].

Steganografi membutuhkan dua properti, yaitu media penampung (media untuk menyembunyikan pesan) dan data rahasia yang akan disembunyikan. Steganografi digital menggunakan media digital sebagai wadah penampung, misalnya citra (gambar), suara (audio), 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 ciphertext dapat disembunyikan sehingga pihak ketiga tidak mengetahui keberadaannya. Data rahasia yang disembunyikan dapat diekstraksi kembali persis sama seperti keadaan aslinya. Proses embedding atau sering kita sebut penyembunyian pesan ini dilakukan dengan cara menciptakan suatu proses stego medium dengan cara menggantikan atau menyisipkan bit-bit dari sampul media dengan bit-bit dari pesan yang telah disembunyikan [2].

1. Sistem Penyembunyian pada Steganografi

Dalam sistem penyembunyian pada steganografi, ada tiga aspek yang berbeda dan saling bertentangan, yaitu: kapasitas, keamanan, dan ketahanan. Kapasitas adalah jumlah informasi yang

Page 5: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Aplikasi Steganografi Pada Citra Digital Menggunakan ....

81

dapat disembunyikan dalam media penampung. Jadi kapasitas data yang dapat disisipkan tergantung pada besar kapasitas media penampung/media sampul. Sedangkan keamanan adalah pencegahan bagi orang awam untuk mendeteksi adanya pesan maupun informasi tersembunyi. Ketahanan adalah kemampuan untuk menahan serangan(attack) yang dapat menemukan maupun menghancurkan informasi tersembunyi yang tersimpan dari suatu media sampul. Penyembunyian informasi biasanya berhubungan dengan watermarking dan steganografi. Tujuan utama sistem watermarking adalah untuk mencapai tingkat ketahanan yang lebih tinggi, sangatlah mustahil untuk menghilangkan suatu proses watermarking tanpa menurunkan tingkat kualitas objek data. Sedangkan steganografi, mengejar kapasitas dan keamanan tinggi, yang di mana sering diketahui bahwa informasi yang tersembunyi mudah diketahui. Bahkan modifikasi kecil kepada media stego dapat menghancurkannya [2].

Gambar 1 Model dasar embedding pada Steganografi[14].

Pada Gambar 1, digambarkan model dasar penyembunyian pesan pada steganografi. Pengirim menyisipkan pesan pada sampul dari media yang digunakan untuk menyembunyikan pesan. Pesan tidak langsung disisipkan pada medianya secara langsung, melainkan media penampung diubah domainnya terlebih dahulu. Hal ini bertujuan agar, media yang digunakan sebagai media penyisipan pesan tahan terhadap serangan yang dapat merusak pesan di dalamnya. Sama seperti pada kriptografi, pesan disisipkan ke dalam media penampung menggunakan sebuah key. Media penampung yang sudah disisipi pesan disebut media stego. Untuk melihat hasil pesan yang ada dalam media stego, digunakan key untuk mengekstraksi pesan tersebut.2. Pembagian pada Steganografi

Steganografi terbagi menjadi dua jenis/model yaitu [2]: l Protection against detection Model proteksi ini banyak digunakan dalam

dunia maya (internet) sebagai security tools

dalam suatu pengiriman data atau dokumen melalui internet atau media lainnya. Proteksi ini mempunyai metode agar suatu file/media sampul yang telah disisipi data tidak dapat dideteksi oleh steganalisis, sehingga data yang dikirimkan aman sampai orang yang ditujukan [2].

l Protection against removal

Model proteksi ini banyak digunakan dalam media digital security. Biasanya model ini berfungsi sebagai penanda hak cipta (copyright) agar tidak dapat dihilangkan maupun diganti oleh pihak-pihak lain yang tidak bertanggung jawab. Pada metode ini terdapat dua metode yang dapat digunakan, yaitu watermarking dan fingerprinting [2].

Watermarking merupakan satu bentuk metode dari steganografi dalam mempelajari teknik-teknik bagaimana penyimpanan suatu data digital ke dalam data sampul digital yang lain. Parameter-parameter yang ada dalam penerapan metode watermarking adalah jumlah data yang disembunyikan (bit rate), ketahanan terhadap proses pengolahan sinyal(robustness), tak terlihat atau output tidak berbeda dengan input awal(invisibilty) [2]. Secara garis besar, pembagian pada steganografi dapat digambarkan seperti Gambar 2.

Gambar 2 Pembagian Steganografi [2].

3. Teori Metode F5 Steganografi

F5 merupakan sebuah metode / algoritma untuk steganografi pada citra digital. Algoritma F5 diajukan oleh Andreas Westfeld dari Technische Universitat Dresden, Institute for System Architecture, Jerman. Algoritma F5 merupakan metode perbaikan dari metode Andreas sebelumnya, yaitu F3 dan F4, di mana metode untuk menyisipkan pesan rahasianya menggunakan metode LSB (Least Significant Bit) [10]. Pada algoritma F5, digunakan metode penyebaran byte-byte dari citra digital (dalam aplikasi ini citra yang digunakan berformat JPEG) baik yang bernilai positif maupun yang negatif, dan bukan byte 0. Proses selanjutnya adalah menyisipkan bit pesan

Page 6: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Kalbiscentia,Volume 2 No.1 Februari 2015

82

rahasia ke dalam beberapa byte tersebut dengan menggunakan ekspresi XOR, lalu mengurangi nilai (decrement) dari byte tersebut, baik byte yang sudah disisipi pesan rahasia maupun byte tidak disisipi [10].

F5 adalah sebuah library yang dibuat dengan menggunakan bahasa Java, dengan ekstensi.jar yang bersifat opensource [link download f5.jar]. Pada pembuatan aplikasi ini, penulis menggunakan F5 sebagai library yang digunakan untuk memanggil kelas penghitung nilai DCT. F5 sendiri dapat dijalankan menggunakan command prompt [14].

G. Metode Huffman Encoding

Metode Huffman diajukan pada tahun 1952 oleh David A. Huffman dari MIT. Metode Huffman Encoding digunakan untuk kompresi data yang bersifat lossless. Pada teknik steganografi, metode Huffman sangat cocok digunakan, karena proses kompresinya yang bersifat lossless (teknik kompresi tanpa perubahan data). Teknik kompresi lossless dibutuhkan untuk melindungi pesan rahasia yang ada dalam suatu image sehingga tidak rusak dan tahan terhadap serangan [18].

Karakter biasanya ada yang berjenis ASCII (8 bit) atau unicode (16 bit) yang masing-masing memiliki panjang yang tetap (fixed length). Namun, dalam metode Huffman, panjang bit dari setiap karakter dikodekan bervariasi. Dalam suatu kalimat, karakter (huruf) yang paling sering muncul memiliki panjang bit yang lebih pendek dibandingkan dengan karakter yang jarang muncul [15].

Pengkodean dengan cara Huffman Coding menggunakan kode awalan(prefix code) yang direpresentasikan dalam struktur pohon biner. Cara penyusunan ke dalam pohon biner adalah dengan memberikan label ‘0’ untuk cabang kiri dan label ‘1’ untuk cabang kanan. Hal ini dilakukan secara berulang hingga akhirnya terbentuk rangkaian bit yang merupakan kode awalan (prefix code). Contoh pengkodean Huffman [15]:

Sebuah kata “AABCABC”, yang dapat dikodekan dengan ASCII menjadi 01000001010000010100001001000011010000010100001001000011, yang terdiri dari:l Karakter A dalam kode ASCII 01000001

l Karakter B dalam kode ASCII 01000010

l Karakter C dalam kode ASCII 01000011

String di atas dikodekan dalam ASCII akan membutuhkan memori 7 x 8 bit = 56 bit atau 7

bytes. Untuk membuat pohon Huffman, masing-masing karakter dihitung berdasarkan frekuensi kemunculannya (Tabel 1):Tabel 1 Frekuensi kemunculan karakter.

Setelah didapat masing-masing frekuensi kemunculan karakter, dibentuklah pohon Huffman, seperti yang ditunjukkan pada Gambar 3 [15]:

Gambar 3 Pohon Huffman

Dari pohon Huffman di atas, didapat kode Huffman untuk karakter ABC, yaitul A = 0

l B = 10

l C = 11

Jadi, dengan menggunakan metode Huffman karakter AABCABC menjadi 00101101011, di mana hanya membutuhkan memori sebesar 11 bit (1.375 byte).Dibandingkan dengan jumlah memori yang dibutuhkan apabila menggunakan kode ASCII dan kode Huffman, kode Huffman hanya membutuhkan memori sebesar19,642% dari kode ASCII [15].

III. PEMBAHASAN

A. Analisis Sistem

Dalam membangun aplikasi steganografi ini, diagram-diagram dalam UML yang digunakan adalah sebagai berikut:

Use Case Diagram,adalah sebuah diagram yang menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah use case merepresentasikan suatu interaksi yang dilakukan antara aktor dengan sistem aplikasi [7].

Persamaan 1 Rumus DCT

Tabel 1 Frekuensi Kemunculan Karakter.

Simbol Frekuensi Kemunculan Peluang

A 3 3/7 B 2 2/7 C 2 2/7

Tabel 3 Hasil Uji Reliabilitas

No. Ukuran gambar (bytes)

Ukuran gambar (pixel)

Ukuran pesan yang berhasil disisipkan (bytes)

Rata-rata byte pesan dalam 1 pixel

1 714 8x8 1 0,0156

2 734 16x4 3 0,0469

3 746 4x16 3 0,0469

4 769 32x2 5 0,0781

5 793 2x32 7 0,1094

6 867 16x16 9 0,0352

7 884 32x8 10 0,0391

8 889 8x32 11 0,0430

9 1028 32x32 39 0,0381

10 1105 128x2 23 0,0898

11 1134 2x128 23 0,0898

12 1218 24x24 29 0,0503

13 1805 40x40 61 0,0381

14 1983 64x64 139 0,0339

15 2182 48x48 78 0,0339

16 2660 56x56 109 0,0348

17 2895 8x512 114 0,0278

18 2955 16x256 115 0,0281

19 3154 256x16 112 0,0273

20 3295 512x8 110 0,0269

21 4070 72x72 182 0,0351

22 4614 80x80 201 0,0314

23 12051 128x170 381 0,0175

24 144349 512x341 4052 0,0232

25 289645 2362x2953 22410 0,0032

26 362252 1024x768 17864 0,0227

Persamaan 2 Nilai

Persamaan 3 Rata- rata Byte pesan dalam 1 pixel

Page 7: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Aplikasi Steganografi Pada Citra Digital Menggunakan ....

83

Activity Diagram, adalah sebuah diagram yang menggambarkan seluruh alir aktivitas yang ada di dalam suatu sistem yang sedang dirancang, dari mana alir berawal, keputusan apa saja yang mungkin terjadi dalam sistem, dan di mana alir tersebut berakhir [7].

Sequence Diagram, menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan [7].

Class Diagram, menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki 3 area pokok, yaitu: nama (stereotype), atribut, dan metode [7].

1. Analisis Use Case

Pada Gambar 3.1, digambarkan mengenai peran yang dilakukan pengguna terhadap sistem pada aplikasi steganografi untuk menyisipkan pesan ke dalam gambar. Pada tahap pertama, pengguna memasukkan gambar yang ingin disisipkan pesan ke dalam sistem. Pada tahap kedua, pengguna juga memasukkan teks yang ingin disisipkan ke dalam gambar. Pada tahap ketiga, pengguna bisa memberikan password kepada gambar yang ingin disisipi pesan. Di tahap akhir, pengguna melihat hasil gambar dari proses steganografi dan menyimpan hasilnya sebagai file gambar baru.

Gambar 4 Diagram use case untuk membaca pesan dalam gambar.

Pada Gambar 4, digambarkan mengenai peran yang dilakukan pengguna terhadap sistem pada aplikasi steganografi untuk membaca pesan yang terdapat dalam gambar. Pada tahap pertama, pengguna memasukkan gambar yang terdapat pesan rahasia di dalamnya ke dalam sistem serta password (jika memang pada saat proses penyisipan diberikan password pada gambar). Pada tahap ketiga, pengguna melihat pesan yang ada di dalam gambar. Di tahap akhir, pengguna menyimpan pesan hasil yang tersembunyi dalam gambar sebagai berkas teks baru.

2. Analisis Activity Diagram

Diagram activity pada aplikasi steganografi ini digunakan untuk menggambarkan dan mendeskripsikan alur logika dari rangkaian proses yang berjalan pada sistem (aplikasi). activity diagram untuk aplikasi steganografi yang akan dibangun adalah sebagai berikut:

Pada Gambar 5, digambarkan aktivitas-aktivitas yang terjadi dalam sistem untuk menyisipkan pesan ke dalam gambar, dimulai pada saat pengguna memasukkan gambar sampai pada tahap akhir yaitu, user menyimpan gambar hasil proses steganografi sebagai file gambar baru. Keseluruhan aktivitas yang terjadi di dalam sistem aplikasi, dikelompokkan ke dalam 2 bagian, yaitu bagian pengguna, dan bagian sistem.

Gambar 5 Activity diagram untuk penyisipan pesan dalam gambar.

Sama halnya dengan Gambar 5, pada Gambar 6, digambarkan aktivitas-aktivitas yang terjadi dalam sistem yang terjadi pada saat pengguna ingin membaca pesan yang ada dalam gambar, dimulai pada saat pengguna memasukkan gambar yang berisi pesan rahasia beserta password (optional). Tahap selanjutnya, pengguna melihat pesan yang ada dalam gambar, sampai pada tahap akhir yaitu, user

Page 8: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Kalbiscentia,Volume 2 No.1 Februari 2015

84

menyimpan pesan hasil yang tersembunyi dalam gambar file teks baru.

Gambar 6 Activity diagram untuk membaca pesan dalam gambar

3. Analisis Sequence Diagram

Berikut ini adalah sequence diagram untuk aplikasi steganografi yang menggambarkan rangkaian langkah-langkah yang dilakukan pengguna dalam sistem:

Gambar 7 Sequence diagram untuk menyisipkan pesan dalam gambar.

Pada Gambar 7, digambarkan urutan aktivitas-aktivitas yang dilakukan oleh pengguna untuk menyisipkan pesan ke dalam gambar berserta respon dari sistem terhadap event yang diberikan oleh pengguna. Pada tahap awal, pengguna memasukkan gambar, teks pesan yang akan disisipkan dalam gambar serta password, setelah itu proses berlanjut ke tahap selanjutnya, yaitu proses embedding pesan ke dalam gambar. Setalah proses embedding, pengguna

akan melihat hasil gambar yang sudah disisipi pesan, dan menyimpannya sebagai file gambar baru.

Gambar 8 Sequence diagram untuk membaca pesan dalam gambar.

Pada Gambar 8, digambarkan urutan aktivitas-aktivitas yang dilakukan oleh pengguna untuk melihat pesan yang ada dalam gambar. Pada tahap awal, pengguna memasukkan gambar yang terdapat pesan tersembunyi di dalamnya, serta password (jika ada). Setelah itu, proses berlanjut ke tahap selanjutnya, yaitu proses untuk mengekstrak pesan yang ada dalam gambar. Setelah proses ekstraksi selesai, pengguna akan melihat hasil pesan yang terdapat dalam gambar, dan menyimpannya sebagai file teks baru.4. Analisis Class Diagram

Dalam sub bab ini, akan dibahas mengenai hasil analisis class diagram dalam perancangan aplikasi steganografi dengan menggunakan metode Unified Modelling Language (UML).

Pada pembuatan aplikasi steganografi ini, class-class diagram (Gambar 1) yang dibuat dibagi ke dalam beberapa package, yaitu: steganografidct.image, steganografi.view, main, dan james.

Package steganografidct.image berisi kumpulan gambar yang digunakan dalam aplikasi, seperti gambar tombol menu, background, dan lain-lain.Package steganografi.view berisi kelas-kelas yang meng-extendsJava Frame (Javax.swing.JFrame), yang berhubungan dengan user interface (tampilan pengguna) pada aplikasi steganografi.

Package steganografidct.image berisi kumpulan gambar yang digunakan dalam aplikasi, seperti gambar button menu, background, dan lain-lain.

Package steganografi.view berisi kelas-kelas yang meng-extends Java Frame (Javax.swing.JFrame), yang berhubungan dengan user interface (tampilan user) pada aplikasi steganografi. Berikut adalah daftar kelas-kelas yang berada dalam package steganografidct.view:

Page 9: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Aplikasi Steganografi Pada Citra Digital Menggunakan ....

85

Gambar 9 Class diagram.

l Menu Utama. Kelas ini akan pertama kali dimuat oleh sistem ketika apliksi pertama kali di jalankan.

l Daftar Menu. Kelas ini berisi 2 tombol menu yang ada dalam aplikasi steganografi. tombol pertama adalah tombol menu untuk menyisipkan pesan dalam gambar, dan tombol yang kedua adalah tombol menu untuk membaca pesan rahasia yang ada dalam gambar.

l Bantuan. Kelas ini berisi penjelasan mengenai cara penggunaan aplikasi steganografi ini.

l Profil. Kelas ini berisi profil singkat penulis.

l Menu Insert Message. Kelas ini terdiri 2 panel, yaitu panel input: untuk memasukkan gambar dan memasukkan pesan, serta panel hasil: untuk menampilkan hasil proses embedding pesan dalam gambar.

l Menu Read Message. Kelas ini terdiri dari 2 panel, yaitu panel input: untuk memasukkan gambar yang ada pesan rahasianya,serta panel hasil: untuk menampilkan hasil pesan yang sudah diekstrak.

Pada package main, berisi kelas-kelas yang berkaitan dengan logika proses yang terjadi dalam aplikasi. Dalam package main terdapat kelas Extract yang berfungsi untuk mengekstrak pesan yang ada dalam gambar, dan menjadi penghubung antara kelas yang ada dalam library F5 dengan interface aplikasi.

Selanjutnya adalah package james yang berisi kelas JpegEncoder, yang berfungsi untuk melakukan proses kompresi dan melakukan proses embedding menggunakan metode Huffman.

B. Hasil1. Tampilan Layar

Pada subbab ini, penulis akan menampilkan tampilan layar dari aplikasi steganografi yang dibangun.l Tampilan Menu Insert Message

Tampilan menu insert message akan muncul ketika pengguna memilih tombol sisipkan pesan pada gambar. Menu insert message memiliki 2 buah panel utama, yaitu panel input dan panel hasil. Panel input terdiri dari 2 buah panel, yaitu panel input gambar dan pesan dan panel gambar sebagai tempat untuk menampilkan gambar yang di-input. Panel hasil terdiri dari panel gambar yang berfungsi sebagai area menampilkan hasil gambar setelah disisipi pesan. Gambar 10 adalah gambar tampilan menu sisip.

Gambar 10 Tampilan layar menu insert message.

Gambar 11 Tampilan layar menu read message.

Page 10: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Kalbiscentia,Volume 2 No.1 Februari 2015

86

l Tampilan Menu Baca Pesan

Tampilan menu baca pesan akan muncul ketika pengguna memilih tombol membaca pesan pada gambar. Menu baca pesan memiliki 3 buah panel, yaitu panel buka gambar dan panel gambar sebagai tempat untuk menampilkan gambar yang di-input, dan panel hasil yang berfungsi sebagai area menampilkan hasil ekstraksi pesan yang disisipkan dalam gambar. Gambar 11 adalah gambar tampilan menu read message.

2. Hasil

Tabel 2 adalah hasil gambar setelah mengalami proses penyisipan pesan.

Tabel 2 Gambar hasil

Sebelum Sesudah

2. Hasil Pengujian

Dalam pelaksanaan teknik uji reliabilitas terhadap aplikasi ini, digunakan berbagai macam jenis ukuran gambar (dalam pixel dan byte) yang akan disisipkan dengan pesan rahasia yang berukuran sama untuk setiap gambar yang akan di uji yaitu 23.776 bytes. Gambar yang digunakan adalah gambar yang diambil dengan kamera yang berbeda resolusinya,

kemudian dilakukan proses resize pada masing-masing gambar untuk keperluan uji reliabilitas. Tabel 3 adalah hasil dari pengujian menggunakan teknik uji reliabilitas.Tabel 3 Hasil uji reliabilitas

Seperti yang terlihat pada Tabel, uji coba 1 sampai 5, sama-sama menggunakan gambar dengan jumlah pixel yang sama namun berbeda ukuran width dan height-nya, memiliki daya tampung byte pesan yang berbeda-beda. Berdasarkan Tabel 1, proses uji nomor 25 dan 26 di mana sebuah gambar berukuran 2362x2953 pixel memiliki ukuran yang lebih kecil dibandingkan dengan gambar berukuran 1024x768. Hal ini dikarenakan, kedua gambar tersebut berbeda kerapatan pixel-nya serta diambil dengan menggunakan kamera yang berbeda resolusinya.

Berdasarkan pada kolom terakhir pada tabel di atas, yaitu kolom yang menampung nilai rata-rata byte pesan yang dapat ditampung dalam 1 pixel, didapat

Persamaan 1 Rumus DCT

Tabel 1 Frekuensi Kemunculan Karakter.

Simbol Frekuensi Kemunculan Peluang

A 3 3/7 B 2 2/7 C 2 2/7

Tabel 3 Hasil Uji Reliabilitas

No. Ukuran gambar (bytes)

Ukuran gambar (pixel)

Ukuran pesan yang berhasil disisipkan (bytes)

Rata-rata byte pesan dalam 1 pixel

1 714 8x8 1 0,0156

2 734 16x4 3 0,0469

3 746 4x16 3 0,0469

4 769 32x2 5 0,0781

5 793 2x32 7 0,1094

6 867 16x16 9 0,0352

7 884 32x8 10 0,0391

8 889 8x32 11 0,0430

9 1028 32x32 39 0,0381

10 1105 128x2 23 0,0898

11 1134 2x128 23 0,0898

12 1218 24x24 29 0,0503

13 1805 40x40 61 0,0381

14 1983 64x64 139 0,0339

15 2182 48x48 78 0,0339

16 2660 56x56 109 0,0348

17 2895 8x512 114 0,0278

18 2955 16x256 115 0,0281

19 3154 256x16 112 0,0273

20 3295 512x8 110 0,0269

21 4070 72x72 182 0,0351

22 4614 80x80 201 0,0314

23 12051 128x170 381 0,0175

24 144349 512x341 4052 0,0232

25 289645 2362x2953 22410 0,0032

26 362252 1024x768 17864 0,0227

Persamaan 2 Nilai

Persamaan 3 Rata- rata Byte pesan dalam 1 pixel

Page 11: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Aplikasi Steganografi Pada Citra Digital Menggunakan ....

87

hasil yang berbeda-beda pula tergantung pada jumlah pixel dan ukuran width dan height-nya. Secara umum, rata-rata byte pesan yang dapat ditampung dalam tiap pixel adalah:

Persamaan 3 Rata- rata Byte pesan dalam 1 pixel

Dapat disimpulkan bahwa rata-rata byte yang disisipkan dalam 1 pixel menggunakan library F5 Steganografi adalah 0,0410 bytes.

Berdasarkan tabel data hasil pengujian reliabilitas, berikut adalah grafik hubungan antara ukuran gambar bytes dengan ukuran pesan:

Gambar 12 Grafik byte pesan berdasarkan ukuran gambar (byte)

Gambar 12 merupakan grafik yang menggam-barkan hubungan antara ukuran gambar byte serta ukuran teks byte yang dapat ditampung di dalamnya. Grafik tersebut dibuat dengan menggunakan aplika-si SPSS 15.0 for Windows Evolution Version dengan menggunakan mode Chart Builder dengan pilihan tampilan two dimensional coordinates. Titik terting-gi (jumlah byte pesan yang dapat ditampung) berada pada 22.410 bytes dengan ukuran gambar 289.645 bytes, sedangkan ukuran gambar terbesar, dari hasil pengujian reliabilitas yang dilakukan yaitu 362.252 bytes, hanya bisa menampung pesan sebanyak 17.864 bytes.

Berdasarkan Gambar 4.16, terlihat bahwa ukuran byte pesan yang dapat ditampung dalam masing-masing gambar berbeda-beda. Dapat disimpulkan bahwa ukuran gambar tidak selamanya berbanding lurus dengan ukuran pesan yang dapat ditampung dalam gambar.

Gambar 13 merupakan grafik yang menggam-barkan hubungan antara jumlah pixel dari berbagai gambar dengan ukuran pesan yang dapat ditampung

dalam masing-masing gambar tersebut. Grafik terse-but dibuat dengan menggunakan aplikasi SPSS 15.0 for Windows Evolution Version dengan menggunakan mode Chart Builder dengan pilihan tampilan two di-mensional coordinates. Titik tertinggi berdasarkan uji reliabilitas yang dilakukan berada pada 22.410 bytes dengan jumlah pixel 6.974.986 (2362x2953 pixel). Pesan paling panjang yang dapat dimuat berada pada gambar dengan ukuran pixel 6.974.986 yang dapat memuat 22.410 bytes atau kira-kira 22.410 karakter. Titik terendah berada pada 1 bytes dengan jumlah pixel 64 (8 x 8 pixel). Jadi jika hendak mengirimkan minimal 1 karakter dibutuhkan file gambar beruku-ran 64 pixel. Berdasarkan Gambar 4.22, jumlah byte pesan yang dapat ditampung dalam sejumlah gambar dengan jumlah pixel yang berbeda-beda dalam tiap gambar. Semakin banyak jumlah pixel maka semakin banyak pula byte yang dapat disisipkan.

Gambar 13 Grafik byte pesan berdasarkan jumlah pixel gambar

IV. SIMPULAN

Kesimpulan dari hasil penelitian ini adalah, bahwa aplikasi steganografi pada citra digital yang dibangun pada penelitian ini mampu menyisipkan pesan teks ke dalam citra digital tanpa menimbulkan perbedaan yang signifikan pada citra tersebut. Sementara itu, dalam proses penyisipan teks pesan ke dalam citra digital, jumlah karakter yang dapat ditampung berbeda-beda, dipengaruhi oleh faktor ukuran gambar dan resolusi gambar (pixel x pixel).

Selain itu, ukuran hasil gambar yang sudah disisipi pesan mengalami pengurangan, hal ini dikarenakan algoritma F5 menggunakan metode Huffman sebagai metode untuk proses kompresinya, di mana metode Huffman merupakan metode kompresi yang bersifat lossless, di mana citra hasil dari proses kompresi sama dengan citra aslinya, tidak ada informasi yang hilang, namun rasio dari teknik kompresi lossless ini sangat rendah. Hal ini dikarenakan pada proses Huffman

Persamaan 1 Rumus DCT

Tabel 1 Frekuensi Kemunculan Karakter.

Simbol Frekuensi Kemunculan Peluang

A 3 3/7 B 2 2/7 C 2 2/7

Tabel 3 Hasil Uji Reliabilitas

No. Ukuran gambar (bytes)

Ukuran gambar (pixel)

Ukuran pesan yang berhasil disisipkan (bytes)

Rata-rata byte pesan dalam 1 pixel

1 714 8x8 1 0,0156

2 734 16x4 3 0,0469

3 746 4x16 3 0,0469

4 769 32x2 5 0,0781

5 793 2x32 7 0,1094

6 867 16x16 9 0,0352

7 884 32x8 10 0,0391

8 889 8x32 11 0,0430

9 1028 32x32 39 0,0381

10 1105 128x2 23 0,0898

11 1134 2x128 23 0,0898

12 1218 24x24 29 0,0503

13 1805 40x40 61 0,0381

14 1983 64x64 139 0,0339

15 2182 48x48 78 0,0339

16 2660 56x56 109 0,0348

17 2895 8x512 114 0,0278

18 2955 16x256 115 0,0281

19 3154 256x16 112 0,0273

20 3295 512x8 110 0,0269

21 4070 72x72 182 0,0351

22 4614 80x80 201 0,0314

23 12051 128x170 381 0,0175

24 144349 512x341 4052 0,0232

25 289645 2362x2953 22410 0,0032

26 362252 1024x768 17864 0,0227

Persamaan 2 Nilai

Persamaan 3 Rata- rata Byte pesan dalam 1 pixel

Page 12: Aplikasi Steganografi pada Citra Digital Menggunakan ...research.kalbis.ac.id/Research/Files/Article/Full/GYVWOU5PLVL5AT7... · ... dan algoritma yang digunakan adalah Algoritma F5

Kalbiscentia,Volume 2 No.1 Februari 2015

88

panjang bit dari setiap karakter dikodekan bervariasi berdasarkan frekuensi kemunculannya dan disusun dari urutan frekuensi yang terendah sampai tertinggi, lalu digambarkan dalam pohon Huffman. Dari pohon Huffman inilah, bit dari masing-masing karakter diperoleh, sehingga hasilnya ukuran bit menjadi lebih rendah dibandingkan dengan bit aslinya.

Berdasarkan hasil pengujian reliabilitas, rata-rata byte yang disisipkan dalam 1 pixel menggunakan library F5 Steganografi adalah 0,0410 bytes dan berdasarkan hasil grafik dari pengujian reliabilitas, dapat disimpulkan bahwa, tidak selamanya semakin besar ukuran gambar, semakin banyak pula jumlah pixel dalam gambar tersebut, maka akan semakin banyak pula karakter karatkter (byte) pesan yang dapat ditampung.

Dari hasil uji coba yang sudah dilakukan terhadap aplikasi steganografi pada citra digital ini, ada beberapa saran yang dapat dilakukan untuk meningkatkan fungsi dan kinerja dari aplikasi steganografi ini, yaitu aplikasi ini dapat ditambahkan untuk melakukan proses penyisipan pesan pada image dengan tipe selain JPEG, seperti Bitmap, PNG, GIF, TIFF, serta input pesan teks yang akan disisipkan bisa berasal dari file (misalnya.txt) bukan dari hasil masukan pada form aplikasi ada kotak teks area pesan.

V. DAFTAR RUJUKAN

[1] H. Setyawan, S. Muchallil & F. Arnia, “Implementasi Steganografi Dengan Metode Least Significant Bit (LSB),” Jurnal Rekayasa Elektrika, vol. 8, no. 1, hlm. 8, 2009.

[2] A. Sejati, “Studi dan Perbandingan Steganografi Metode EOF (End of File) dengan DCS (Dynamic Cell Spreading),” JURNAL ILMU KOMPUTER DAN TEKNOLOGI INFORMASI, hlm. 2-4, March 2010.

[3] R. Wang, October 2013. [Online]. Available: http://fourier.eng.hmc.edu/e161/lectures/dct/node2.html.

[4] V. V. S. Kumar & M. I. S. Reddy, “Image Compression Techniques by using Wavelet Transform,” Journal of Information Engineering and Applications, vol. 2, no. 5, hlm. 36, 2012.

[5] [Online]. Available: http://www.oracle.com/technetwork/java/compile-136656.html#platform.

[6] 2011. [Online]. Available: https://netbeans.org/ community/releases/69/.

[7] S. Dharwiyanti & R. S. Wahono, “Pengantar Unified Modelling Language (UML),” Kuliah Umum IlmuKomputer.Com, hlm. 2-8, 2003.

[8] T. Sutoyo et. al. “Teori Pengolahan Citra Digital, 1st ed”, B. R. W, Ed., Yogyakarta: ANDI Yogyakarta, 2009, hlm. 74.

[9] I. B. Sangadji & R. Rezeki, “Pengukuran Kualitas Citra Terwatermarking Model DCT (Discrete Cosine Transform) Menggunakan PSNR,” Jurnal Pengkajian dan Penerapan Teknik Informatika, vol. 2, no. 1, hlm. 49, January 2009.

[10] R. HLM. Suranta, “Perbandingan Ketahanan Algoritma LSB dan F5 dalam Steganografi Citra,” in Seminar II Kriptografi, Bandung, 2012.

[11] Zulkifli, “Model Prediksi Berbasis Neural Network untuk Pengujian Perangkat Lunak Metode Black-Box,” in Seminar Nasional Aplikasi Teknologi Informasi (SNATI), Yogyakarta, 2013.

[12] S. A. Rosa & M. Shalahuddin, in Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek, Bandung, Informatika Bandung, 2013, hlm. 275-276.

[13] N. Azhar & M. Adri, “Uji Validitas dan Reliabilitas Paket Multimedia Interaktif,” in Seminar Nasional Kontribusi Pendidikan Jarak Jauh (PJJ), Tangerang Selatan, 2008.

[14] A. Westfeld, “F5—A Steganographic Algorithm High Capacity Despite Better Steganalysis,” Dresden, 2001.

[15] I. Kurniawan, “Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding,” MakalahIF2153, no. 074.

[16] L. Williams, 2006. [Online]. Available: http://http://agile.csc.ncsu.edu.