IMPLEMENTASI LEAST SIGNIFICANT BIT
UNTUK PENGAMANAN CITRA DIGITAL
DI DALAM MEDIA CITRA
SKRIPSI
A.AFFANDI ASYAD SIREGAR
061401033
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI LEAST SIGNIFICANT BIT UNTUK PENGAMANAN CITRA DIGITAL DI DALAM MEDIA CITRA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
A.AFFANDI ASYAD SIREGAR 061401033
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI LEAST SIGNIFICANT BIT
UNTUK PENGAMANAN CITRA DIGITAL DI DALAM MEDIA CITRA
Kategori : SKRIPSI
Nama : A.AFFANDI ASYAD SIREGAR
Nomor Induk Mahasiswa : 061401033
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 10 Desember 2010
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dian Rachmawati, S.SI., M.Kom. Prof. Dr. Opim S. Sitompul NIP. 198307232009122004 NIP. 196108171987011001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI LEAST SIGNIFICANT BIT UNTUK PENGAMANAN CITRA DIGITAL DI DALAM MEDIA CITRA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 10 Desember 2010
PENGHARGAAN
Puji syukur kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya sehingga saya dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk mencapai gelar Sarjana Komputer serta shalawat beriring salam saya persembahkan kepada Nabi Besar Muhammad SAW.
Ucapan terima kasih saya sampaikan kepada Bapak Prof. Dr. Opim S. Sitompul sebagai Dosen Pembimbing I dan Ibu Dian Rachmawati, S.SI., M.Kom. sebagai Dosen Pembimbing II yang telah memberikan bimbingan dan saran kepada saya dalam menyempurnakan skripsi ini. Panduan ringkas, padat dan profesional telah diberikan kepada saya sehingga saya dapat menyelesaikan tugas ini. Selanjutnya kepada Dosen Penguji Bapak Prof. Dr. Muhammad Zarlis dan Ibu Maya Silvi Lydia, B.Sc.,M.Sc. atas saran dan kritikan yang sangat berguna bagi saya. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syariol Sitorus, S.Si, MIT., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Ilmu Komputer FMIPA USU.
Skripsi ini terutama saya persembahkan untuk kedua orang tua dan kakak yang selalu sabar dalam mendidik saya, ayahanda Kalimonang Siregar, S.E., ibunda Nursani Pohan, S.Pd. dan kak Rizki yang telah memberikan dorongan dan doa. Untuk abangda Dahrim dan spesial untuk Aliza Giska yang tak henti – hentinya memberikan semangat dan dukungan sehingga skripsi dapat diselesaikan. Kepada teman-teman stambuk 2006 yang sedang berjuang tiada henti dan tetap semangat. Terima kasih pula kepada semua pihak yang tidak dapat saya sebutkan satu persatu, terima kasih atas ide, saran, dan kerjasama yang baik. Semoga Allah SWT akan membalasnya.
Saya menyadari bahwa skripsi ini masih jauh dari
ABSTRAK
IMPLEMENTATION OF THE LEAST SIGNIFICANT BIT FOR DIGITAL IMAGE SECURITY IN IMAGE MEDIA
ABSTRACT
DAFTAR ISI
2.1.1 Sejarah Steganografi 8
2.1.2 Pengertian Steganografi 9
2.1.3 Kriteria Steganografi Yang Baik 10
2.1.4 Teknik Steganografi 11
2.1.5 Proses Steganografi 12
2.2 Least Significant Bit 13
2.3 Pengolahan Citra Digital 15
2.3.1 Pengertian Citra 15
2.3.1.1 Citra Analog 15
2.3.1.2 Citra Digital 16
2.3.2 Jenis-Jenis Citra Digital 18
2.3.3 Pengolahan Citra 20
2.3.3.1 Operasi Pengolahan Citra 21
Bab 3 Analisis Dan Perancangan Sistem Perangkat Lunak
3.1 Analisis Sistem 26
3.1.1 Analisis Least Significant Bit 26
3.1.3 Analisis Proses Steganografi 29
3.2 Perancangan Sistem 31
3.2.1 Flowchart 31
3.2.1.1 Flowchart Embedding – Ekstraksi 31
3.2.1.2 Flowchart Daya Tampung 33
3.2.1.3 Flowchart Embedding 33
3.2.1.4 Flowchart Ekstraksi 34
3.2.2 Perancangan Antar Muka Pengguna 36
Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi Sistem 45
4.1.1 Implementasi Karakter Penanda 45
4.1.2 Implementasi Password 47
4.1.3 Implementasi Least Significant Bit 48
4.1.4 Tampilan Halaman Aplikasi 52
4.1.4.1 Tampilan Halaman Pilihan 52
4.1.4.2 Tampilan Halaman Stego 53
4.1.4.3 Tampilan Halaman Ekstraksi 53
4.2 Pengujian Sistem 54
4.2.1 Pengujian Algoritma 55
4.2.1.1 Pengujian Algoritma Daya Tampung 55 4.2.1.2 Pengujian Algoritma Embedding 55 4.2.1.3 Pengujian Algoritma Ekstraksi 57
4.2.2 File Pengujian 60
4.2.3 Hasil Pengujian 61
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 67
5.2 Saran 68
Daftar Pustaka 69
DAFTAR TABEL
Halaman
Tabel 3.1 Fungsi Pada Properti Yang Digunakan Proses Embedding 39 Tabel 3.2 Fungsi Pada Properti Yang Digunakan Proses Ekstraksi 43 Tabel 4.1 Pseudocode Dan Algoritma Karakter Penanda Embedding 46 Tabel 4.2 Pseudocode Dan Algoritma Karakter Penanda Ekstraksi 46
Tabel 4.3 Pseudocode Dan Algoritma Password 47
DAFTAR GAMBAR
Halaman
Gambar 1.1 Kerangka Pemikiran 5
Gambar 2.1 Embedding Citra 12
Gambar 2.2 Ekstraksi Citra 12
Gambar 2.3 Representasi Citra Digital 17
Gambar 2.4 Contoh Citra Biner 18
Gambar 2.5 Perbandingan Gradasi Warna 19
Gambar 2.6 Contoh Citra Warna 20
Gambar 2.7 Citra Yang Agak Kabur (a) Citra Yang Telah Diperbaiki (b) 20 Gambar 2.8 Citra Yang Agak Gelap (a) Citra Yang Telah Diperbaiki (b) 22 Gambar 2.9 Citra Yang Blur (a) Dan Citra Yang Telah Deblurring (b) 23 Gambar 2.10 Citra Sebelum Dimampatkan Yang Telah Dimampatkan (b) 24 Gambar 2.11 Citra Hasil Kamera Digital Dan Citra Hasil Pendeteksi Tepi 25
Gambar 3.1 Representasi Atribut Stegomedium 29
Gambar 3.2 Tahapan Proses Steganografi 30
Gambar 3.3 Flowchart Embedding - Ekstraksi 32
Gambar 3.4 Flowchart Daya Tampung 33
Gambar 3.5 Flowchart Embedding 34
Gambar 3.6 Flowchart Ekstraksi 35
Gambar 3.7 Tampilan Rancangan Form Pilihan 36
Gambar 3.8 Tampilan Rancangan Form Embedding 37
Gambar 3.9 Tampilan Rancangan Form Embedding 38
Gambar 3.10 Tampilan Rancangan Form Ekstraksi 41
Gambar 3.11 Tampilan Rancangan Form Ekstraksi 42
Gambar 4.1 Citra Induk 49
Gambar 4.2 Citra Anak 50
Gambar 4.3 Tampilan Halaman Pilihan 52
Gambar 4.4 Tampilan Halaman Stego 53
Gambar 4.5 Tampilan Halaman Ekstraksi 54
Gambar 4.6 Histogram Citra Induk 61
Gambar 4.7 Histogram Stegoimage 62
Gambar 4.8 Citra Induk 63
Gambar 4.9 Stegoimage 63
Gambar 4.10 Histogram Hiddenimage 64
Gambar 4.11 Histogram Citra Anak 64
Gambar 4.12 Citra Anak 65
ABSTRAK
IMPLEMENTATION OF THE LEAST SIGNIFICANT BIT FOR DIGITAL IMAGE SECURITY IN IMAGE MEDIA
ABSTRACT
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Kemajuan teknologi komputer berperan penting pada kehidupan manusia.
Dari hal yang kecil sampai ke berbagai hal yang sangat rumit sekalipun bisa
dikerjakan menggunakan teknologi komputer. Contoh paling nyata dari
kemajuan teknologi komputer yang dirasakan oleh kebanyakan orang adalah
kecepatan dalam menyampaikan informasi dari tempat yang jauh yaitu
melalui Internet. Dalam proses penyampaian informasi tersebut terdapat
masalah keamanan yang dilakukan oleh pihak-pihak yang tidak bertanggung
jawab, misalnya dengan mengubah bahkan mengganti informasi yang
disampaikan. Oleh karena itu, harus ada solusi yang tepat untuk kasus ini,
apalagi jika informasi yang dikirim bersifat sangat rahasia dan penting.
Steganografi merupakan salah satu teknik yang digunakan dalam
pengamanan informasi, yaitu dengan menyembunyikan informasi ke dalam
media digital dengan metode tertentu agar tidak tampak perbedaan secara
visual antara file asli dengan file yang telah disisipi informasi (stegoimage)
sehingga tidak diketahui oleh steganalis (orang yang dapat memecahkan
stegoimage tanpa mengetahui kunci yang ada). Data digital yang dapat
menjadi tempat/media data yang akan disembunyikan (stegomedium) pada
steganografi adalah gambar/citra, audio, dan video.
Salah satu metode steganografi adalah Least Significant Bit (LSB).
Metode modifikasi LSB tergolong metode yang menggunakan teknik
piksel-piksel yang tidak signifikan (least significant pixel) dari stegomedium.
Pengubahan nilai piksel-piksel yang tidak signifikan pada dasarnya
memberikan pengaruh terhadap stegomedium, tetapi karena perubahan yang
terjadi sangat kecil, sehingga tidak tertangkap oleh indra manusia. Banyak
penelitian steganografi tentang metode ini, tetapi informasi yang
disembunyikan hanya sebatas teks. Penelitian yang dilakukan oleh Hartono
(2005) didapat kesimpulan bahwa metode LSB baik digunakan sebagai
metode steganografi karena memiliki keunggulan yaitu, tidak dibutuhkan
citra digital pembanding untuk mengembalikan data, waktu yang
dibutuhkan untuk penyembunyian data cepat dan penurunan kualitas citra
digital yang dihasilkan relatif kecil.
Juga telah diteliti oleh Ronny (2009) bahwa korelasi dan entropi dari
gambar sebelum dan sesudah melakukan data mixing hampir sama, sehingga
file gambarnya pun tidak akan terlihat berubah dan tidak akan diketahui oleh
mata manusia. Inilah yang menjadi faktor yang mampu meningkatkan level
keamanan dari steganografi.
Alwan et al (2005) menyatakan bahwa metode embedding gambar
adalah salah satu metode kompresi yang baik dalam hal penyediaan ruang
memori. Kedua LSB digunakan untuk menyimpan informasi dari teks-biner
yang diformat dan dikodekan menggunakan kode karakter ASCII. Aspek
penting lain dari metode yang dipakai adalah delapan bit per piksel dalam
sebuah gambar dapat disusun kembali untuk mewakili semua informasi
yang berhubungan dengan gambar yang sama atau menyembunyikan
informasi. Karena hanya dua bit yang digunakan tidak berpengaruh pada
tampilan gambar dibandingkan dengan yang asli.
Penelitian steganografi dengan menggunakan LSB yang banyak
dilakukan sekarang ini hanya sebatas teks padahal citra/gambar merupakan
karena itu, akan dilakukan penelitian steganografi informasi berupa citra ke
dalam media citra dengan metode LSB yang mensubsitusi bit-bit terakhir
dari RGB anak (citra asli) ke dalam RGB induk (stegomedium) sehingga
secara visual tidak akan tampak efek dari perubahan bit-bit tersebut.
1.2 Rumusan Masalah
Masalah yang dibahas dalam penelitian ini adalah :
1. Bagaimana penerapan steganografi menggunakan media citra.
2. Bagaimana metode Least Significant Bit dapat menyelesaikan proses
steganografi yang digunakan pada penelitian ini.
3. Bagaimana menyembunyikan citra digital ke dalam media citra agar
steganalis kesulitan mengetahui keberadaan informasi yang
disisipkan tetapi mudah dibuka oleh pihak yang berhak.
4. Bagaimana melakukaan ekstraksi stegoimage sehingga citra yang
disembunyikan didapat kembali secara utuh.
1.3 Tujuan Penelitian
Tujuan dari penelitian ini adalah menerapkan steganografi pada media citra
dengan metode Least Significant Bit yang akan diimplementasikan pada
sebuah aplikasi penyembunyian pesan berupa citra digital ke dalam media
citra digital lain sehingga steganalis kesulitan mengetahui keberadaan pesan
tetapi mudah untuk diekstraksi oleh pihak yang berhak.
Agar tidak terjadi kesalahan persepsi dan tidak meluasnya pokok bahasan,
maka penulis memberikan batasan–batasan masalah sebagai berikut :
1. Aplikasi yang dibangun hanya akan memproses penyembunyian
citra digital di dalam media dan mengekstraksi kembali sesuai
dengan citra aslinya.
2. Metode steganografi yang digunakan adalah Least Significant Bit
yaitu dengan mengkonversi RGB citra anak ke RGB citra induk.
3. Jenis format citra yang dapat diproses adalah gif, jpg/jpeg dan
bitmap (bmp).
4. Kunci (key) pada proses embedding juga merupakan kunci (key)
pada proses ekstraksi yang berbentuk alpha numeric dengan panjang
minimum 4 karakter dan maksimum 20 karakter.
5. Aplikasi penelitian ini dibangun menggunakan Visual Basic 6.0.
1.5 Manfaat Penelitian
Adapun manfaat dari penelitian steganografi menggunakan metode Least
Significant Bit ini adalah memberikan keamanan pada citra digital yaitu
dengan memperhatikan kriteria steganografi yang baik yaitu
imperceptibility, fidelity dan recovery sehingga sulit diketahui keberadaan
informasi tersebut oleh steganalis.
Kerangka pemikiran merupakan urut-urutan logis proses untuk dapat
memecahkan suatu masalah penelitian. Gambar 1.1 menunjukkan kerangka
pemikiran aplikasi yang akan dibangun. Langkah pertama yaitu membuka
file citra. Format citra digital yang dapat diproses adalah gif, jpg dan bmp.
Setelah itu dilakukan analisa citra yang terbagi atas dua proses yaitu
embedding dan ekstraksi. Pada analisa citra embedding, citra induk harus
lebih besar dari citra anak dan pada ekstraksi akan dianalisa bahwa
stegoimage yang dibuka adalah hasil dari embedding sebelumnya.
Kemudian dilakukanlah proses embedding atau ekstraksi yang akan
menghasilkan stegoimage dari proses embedding dan hiddenimage dari
proses ekstraksi.
Gambar 1.1 Kerangka Pemikiran
Citra Digital
(dalam format gif, jpg, bmp)
Analisa Citra Embedding
atau Ekstraksi
Proses Embedding
atau Ekstraksi
1.7 Metodologi Penelitian
Metodologi penelitian yang akan digunakan adalah:
1. Studi Literatur
Metode yang dipakai dalam mengumpulkan, membaca dan mempelajari
teori-teori yang berhubungan dengan steganografi, Least Significant Bit
dan pengolahan citra yang bersumber dari buku-buku, artikel, e-journal,
e-book maupun dari situs Internet.
2. Perancangan Sistem
Desain yang akan dirancang adalah struktur program yang akan
digunakan untuk implementasi steganografi dengan metode Least
Significant Bit.
3. Implementasi Sistem
Pada tahap ini sistem akan diimplementasikan dalam bentuk aplikasi
menggunakan bahasa pemograman Visual Basic 6.0 sesuai dengan
perancangan yang telah dilakukan sebelumnya.
4. Pengujian Sistem
Pada tahap ini dilakukan pengujian sistem yang mencakup apakah
implementasi telah sesuai dengan teori, atau apakah program
mengalami kesalahan. Perbaikan program akan dilakukan jika
ditemukan kesalahan.
5. Dokumentasi Sistem
Pembuatan dokumentasi sistem dari seluruh tahap yang telah dilakukan,
1.8 Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama
sebagai berikut:
BAB I . PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang masalah yang dibahas
dalam skripsi ini, rumusan masalah, batasan masalah, tujuan penelitian,
manfaat penelitian, metode penelitian, dan sistematika penulisan skripsi.
BAB II. LANDASAN TEORI
Bab ini merupakan tinjauan teoritis yang berkaitan dengan steganografi,
Least Significant Bit dan pengolahan citra yang akan digunakan dalam
analisis, perancangan dan implementasi penelitian.
BAB III. ANALISIS DAN PERANCANGAN SISTEM
Bab ini menjelaskan tentang analisis pada perangkat yang akan digunakan
untuk membangun sistem dan juga perancangan sistem dari hasil analisis
yang telah dilakukan.
BAB IV. IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini mencakup hasil penelitian dan pembahasan serta pengujian yang
berupa implementasi dari sistem yang telah dianalisis dan dirancang
sebelumnya dalam bentuk perangkat lunak steganografi image yang
BAB V. KESIMPULAN DAN SARAN
Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian bab-bab
sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan
BAB 2
LANDASAN TEORI
2.1 Steganografi
2.1.1 Sejarah Steganografi
Teknik steganografi ini sudah ada sejak 4000 tahun yang lalu di kota Menet
Khufu, Mesir. Awalnya adalah penggunaan hieroglyphic yakni menulis
menggunakan karakter-karakter dalam bentuk gambar. Ahli tulis
menggunakan tulisan Mesir kuno ini untuk menceritakan kehidupan
majikannya. Tulisan Mesir kuno tersebut menjadi ide untuk membuat
pesan rahasia saat ini. Oleh karena itulah, tulisan Mesir kuno yang
menggunakan gambar dianggap sebagai steganografi pertama di dunia
(Ariyus, 2009).
Tidak hanya bangsa Mesir saja, bangsa-bangsa lain juga telah
mengggunakan teknik steganografi pada masa lalu, yaitu :
1. Teknik steganografi yang lain adalah tinta yang tidak tampak
(invisible ink) yaitu dengan menggunakan air sari buah jeruk, urin
atau susu sebagai tinta untuk menulis pesan. Cara membacanya
adalah dengan dipanaskan di atas api. Tinta yang sebelumnya tidak
terlihat, ketika tekena panas akan menjadi gelap sehingga dapa
dibaca. Teknik ini digunakan oleh bangsa Romawi yang juga
2. Bangsa Cina menggunakan cara yang berbeda pula, yaitu manusia
sebagai media pembawa pesan. Orang itu akan dicukur rambutnya
sampai botak dan pesan akan dituliskan di kepalanya. Kemudian
pesan akan dikirimkan ketika rambutnya sudah tumbuh.
3. Pada masyarakat Yunani kuno teknik yang digunakan adalah dengan
menggunakan lilin sebagai media pembawa pesan. Lembaran pesan
akan ditutup dengan lilin. Untuk melihat isi pesan, pihak penerima
harus memanaskan lilin terlebih dahulu.
4. Pada Perang Dunia II, bangsa Jerman menggunakan microdots untuk
berkomunikasi. Penggunaan teknik ini digunakan pada microfilm
chip yang harus diperbesar sekitar 200 kali. Jerman menggunakan
teknik ini untuk kebutuhan perang sehingga pesan rahasia strategi
tidak diketahui pihak lawan. Karena pada saat itu teknik ini
merupakan teknologi baru yang belum bisa digunakan lawan.
2.1.2 Pengertian Steganografi
Steganografi merupakan seni komunikasi rahasia dengan menyembunyikan
pesan pada objek yang tampaknya tidak berbahaya. Keberadaan pesan
steganografi adalah rahasia. Istilah Yunani ini berasal dari kata Steganos,
yang berarti tertutup dan Graphia, yang berarti menulis (Cox et al, 2008).
Steganografi adalah jenis komunikasi yang tersembunyi, yang secara
harfiah berarti "tulisan tertutup." Pesannya terbuka, selalu terlihat, tetapi
tidak terdeteksi bahwa adanya pesan rahasia. Deskripsi lain yang populer
di depan mata. Sebaliknya, kriptografi adalah tempat pesan acak, tak dapat
dibaca dan keberadaan pesan sering dikenal (Kipper, 2004).
Istilah steganografi berasal dari bahasa Yunani, yaitu steganos yang
berarti penyamaran atau penyembunyian dan graphein yang berarti tulisan.
Jadi, steganografi bisa diartikan sebagai seni menyembunyikan pesan dalam
data lain tanpa mengubah data yang ditumpanginya tersebut sehingga data
yang ditumpanginya sebelum dan setelah proses penyembunyian hampir
terlihat sama (Ariyus, 2009).
Steganografi adalah seni dan ilmu berkomunikasi dengan cara
menyembunyikan keberadaan komunikasi itu. Berbeda dengan Kriptografi,
di mana musuh diperbolehkan untuk mendeteksi, menangkal dan
memodifikasi pesan tanpa bisa melanggar keamanan tempat tertentu yang
dijamin oleh suatu cryptosystem, tujuan dari steganografi adalah untuk
menyembunyikan pesan dalam pesan berbahaya lainnya dengan cara yang
tidak memungkinkan musuh apapun bahkan untuk mendeteksi bahwa ada
pesan kedua. Secara umum, teknik steganografi yang baik harus memiliki
visual / imperceptibility statistik yang baik dan payload yang cukup (Kekre
et al, 2008).
2.1.3 Kriteria Steganografi Yang Baik
Menurut Munir (2006) Ada beberapa kriteria yang harus diperhatikan dalam
steganografi, yaitu :
1. Imperceptibility. Keberadaan pesan rahasia tidak dapat dipersepsi
oleh inderawi. Misalnya, jika covertext berupa citra, maka
dengan citra covertext-nya. Jika covertext berupa audio, maka indera
telinga tidak dapat mendeteksi perubahan pada audio stegotext-nya.
2. Fidelity. Mutu stegomedium tidak berubah banyak akibat penyisipan.
Perubahan tersebut tidak dapat dipersepsi oleh inderawi. Misalnya,
jika covertext berupa citra, maka penyisipan pesan membuat citra
stegotext sukar dibedakan oleh mata dengan citra covertext-nya. Jika
covertext berupa audio, maka audio stegotext tidak rusak dan indera
telinga tidak dapat mendeteksi perubahan tersebut.
3. Recovery. Pesan yang disembunyikan harus dapat diungkapkan
kembali. Karena tujuan steganografi adalah data hiding, maka
sewaktu-waktu pesan rahasia di dalam stegotext harus dapat diambil
kembali untuk digunakan lebih lanjut.
2.1.4 Teknik Steganografi
Menurut Ariyus (2009), ada tujuh teknik dasar yang digunakan dalam
steganografi, yaitu :
1. Injection, merupakan suatu teknik menanamkan pesan rahasia secara
langsung ke suatu media. Salah satu masalah dari teknik ini adalah
ukuran media yang diinjeksi menjadi lebih besar dari ukuran
normalnya sehingga mudah dideteksi. Teknik ini sering juga disebut
embedding.
2. Substitusi, data normal digantikan dengan data rahasia. Biasanya,
hasil teknik ini tidak terlalu mengubah ukuran data asli, tetapi
tergantung pada file media dan data yang akan disembunyikan.
3. Transform Domain, teknik ini sangat efektif. Pada dasarnya,
transformasi domain menyembunyikan data pada transform space.
Akan sangat lebih efektif teknik ini diterapkan pada file berekstensi
JPG.
4. Spread Spectrum, sebuah teknik pengtransmisian menggunakan
pseudo-noise code, yang independen terhadap data informasi sebagai
modulator bentuk gelombang untuk menyebarkan energi sinyal
dalam sebuah jalur komunikasi (bandwidth) yang lebih besar
daripada sinyal jalur komunikasi informasi. Oleh penerima, sinyal
dikumpulkan kembali menggunakan replika pseudo-noise code
tersinkronisasi.
5. Statistical Method, teknik ini disebut juga skema steganographic 1
bit. Skema tersebut menanamkan satu bit informasi pada media
tumpangan dan mengubah statistik walaupun hanya 1 bit. Perubahan
statistik ditunjukkan dengan indikasi 1 dan jika tidak ada perubahan,
terlihat indikasi 0. Sistem ini bekerja berdasarkan kemampuan
penerima dalam membedakan antara informasi yang dimodifikasi
dan yang belum.
6. Distortion, metode ini menciptakan perubahan atas benda yang
ditumpangi oleh data rahasia.
7. Cover Generation, metode ini lebih unik daripada metode lainnya
karena cover object dipilih untuk menyembunyikan pesan. Contoh
dari metode ini adalah Spam Mimic.
Secara umum, terdapat dua proses didalam steganografi. Yaitu proses
embedding untuk menyembunyikan pesan dan ekstraksi untuk
mengekstraksi pesan yang disembunyikani. Proses-proses tersebut dapat
dilihat pada gambar dibawah ini:
Gambar 1 menunjukkan proses penyembunyian pesan dimana di
disembunyikan secara rahasia ke dalam stegomedium sebagai media
penyimpanan, dengan memasukkan kunci tertentu (key), sehingga
dihasilkan media dengan data tersembunyi di dalamnya (stegoimage). Pada
Gambar 2, dilakukkan proses ekstraksi pada stegoimage dengan
memasukkan key yang sama sehingga didapatkan kembali hiddenimage.
Kemudian dalam kebanyakan teknik steganografi, ekstraksi pesan tidak
akan mengembalikan stegomedium awal persis sama dengan stegomedium
setelah dilakukan ekstraksi bahkan sebagian besar mengalami kehilangan.
Karena saat penyimpanan pesan tidak dilakukan pencatatan kondisi awal
dari stegomedium yang digunakan untuk menyimpan pesan (Cox et al,
2008).
2.2 Least Significant Bit
Strategi penyembunyian data citra yang digunakan untuk menyisipkan citra
kedalam media citra adalah dengan metode Least Significant Bit (LSB).
Dimana bit data citra akan digantikan dengan bit paling rendah dalam media
citra. Pada file citra 24 bit setiap piksel pada citra terdiri dari susunan tiga
warna, yaitu merah, hijau dan biru (RGB) yang masing-masing disusun oleh
bilangan 8 bit ( 1 byte ) dari 0 sampai 255 atau dengan format biner
00000000 sampai 11111111. Informasi dari warna biru berada pada bit 1
sampai bit 8, dan informasi warna hijau berada pada bit 9 sampai dengan bit
16, sedangkan informasi warna merah berada pada bit 17 sampai dengan bit
24.
Menurut Kekre et al (2008) istilah algoritma substitusi LSB adalah
skema yang paling sederhana untuk menyembunyikan pesan dalam sebuah
citra host. Ia mengganti bit yang tidak signifikan dari masing-masing piksel
dengan sedikit aliran pesan terenkripsi. Penerima dapat mengambil pesan
yang diberikan. Karena hanya sedikit yang signifikan dari piksel yang
berubah maka secara visual tidak terlihat oleh manusia.
Metode LSB merupakan teknik substitusi pada steganografi.
Biasanya, arsip 24-bit atau 8-bit digunakan untuk menyimpan citra digital.
Representasi warna dari piksel–piksel bisa diperoleh dari warna–warna
primer, yaitu merah, hijau dan biru. Citra 24-bit menggunakan 3 byte untuk
masing–masing piksel, dimana setiap warna primer direpresentasikan
dengan ukuran 1 byte. Penggunaan citra 24-bit memungkinkan setiap piksel
direpresentasikan dengan nilai warna sebanyak 16.777.216. Dua bit dari
saluran warna tersebut biasa digunakan menyembunyikan data yang akan
mengubah jenis warna piksel-nya menjadi 64 warna. Hal itu akan
mengakibatkan sedikit perbedaan yang tidak bisa dideteksi secara kasat
mata oleh manusia (Ariyus, 2009).
Untuk menjelaskan metode ini, digunakan citra digital sebagai
stegomedium. Pada setiap byte terdapat bit yang tidak signifikan. Misalnya
pada byte 00011001, maka bit LSB-nya adalah 1. Untuk melakukan
penyisipan pesan, bit yang paling tepat untuk diganti dengan bit pesan
adalah bit LSB, sebab pengubahan bit tersebut hanya akan mengubah nilai
byte-nya menjadi satu lebih tinggi atau satu lebih rendah. Sebagai contoh,
urutan bit berikut ini menggambarkan 3 piksel pada stegomedium 24-bit.
(00100111 11101001 11001000)
(00100111 11001000 11101001)
(11001000 00100111 11101001)
Pesan yang akan disisipkan adalah karakter A yang nilai biner-nya
adalah 01000001 (ASCII), maka akan dihasilkan stegoimage dengan urutan
(00100110 11101001 11001000)
(00100110 11001000 11101000)
(11001000 00100111 11101001)
Terlihat hanya tiga bit rendah yang berubah (bit dengan garis
bawah), untuk mata manusia maka tidak akan tampak perubahannya. Secara
rata-rata dengan metode ini hanya setengah dari data bit rendah yang
berubah, sehingga bila dibutuhkan dapat digunakan bit rendah kedua bahkan
ketiga (Lestriandoko, 2006).
2.3 Pengolahan Citra Digital
2.3.1 Pengertian Citra
Citra adalah suatu representasi (gambaran), kemiripan atau imitasi dari
suatu objek. Citra yang berupa output dari suatu sistem perekaman data
dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video
seperti gambar pada monitor televisi atau bersifat digital yang dapat
langsung disimpan pada suatu media penyimpanan. Citra mempunyai
karakteristik yang tidak dimiliki oleh data teks, yaitu kaya dengan
informasi. Seperti peribahasa yang berbunyi “a picture worth a thousand
words” sebuah gambar bermakna lebih dari seribu kata. Maksudnya tentu
sebuah gambar lebih banyak memberikan informasi daripada disajikan
dalam bentuk kata-kata (Hestiningsih, 2008).
Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor
televisi, foto sinar-X, foto yang tercetak dikertas foto, lukisan, pemandangan
alam. Citra analog tidak dapat direpresentasikan dalam komputer sehingga
tidak bisa diproses di komputer secara langsung. Oleh sebab itu, agar citra
ini dapat diproses di komputer, proses konversi analog ke digital harus
dilakukan terlebih dahulu. Citra analog dihasilkan dari alat-alat analog,
seperti video kamera analog, kamera foto analog, WebCam, sensor rontgen
untuk foto thorax, sensor gelombang pendek pada sistem radar, sensor
ultrasound pada sistem USG dan lain-lain (Sutoyo et al, 2009).
2.3.1.2 Citra Digital
Citra digital adalah citra yang bersifat diskrit yang dapat diolah oleh
komputer yang merupakan suatu array dari bilangan yang
merepresentasikan intensitas terang pada point yang bervariasi (piksel).
Piksel ini menghasilkan raster data citra. Suatu ukuran citra yang umum
adalah 640 x 480 piksel dan 256 warna (8 bit per piksel) dan akan berisi
kira-kira 300 kilobyte data. Citra ini dapat dihasilkan melalui kamera digital
dan scanner ataupun citra yang telah mengalami proses digitalisasi. Citra
digital disimpan juga secara khusus di dalam file bit atau 8-bit. Citra
24-bit menyediakan lebih banyak ruang untuk menyembunyikan informasi.
Semua variasi warna untuk piksel yang diperoleh dari tiga warna dasar:
merah, hijau dan biru. Setiap warna dasar direpresentasikan dengan 1 byte,
citra 24-bit menggunakan 3 byte per piksel untuk merepresentasikan suatu
nilai warna dan 3 byte ini dapat direpresentasikan sebagai nilai hexadecimal,
decimal, dan biner (Sutoyo et al, 2009).
Pada gambar 2.3. sebuah citra berukuran 235 x 235 piksel dapat
dinyatakan dengan matriks yang berukuran sesuai dengan pikselnya atau
kolom. Kemudian diambil sebuah kotak kecil dari bagian citra itu. Maka
monitor akan menampilkan sebuah kotak kecil. Namun, yang disimpan
dalam memori komputer hanyalah direpresentasikan dengan matriks
Gambar 2.3 Representasi Citra Digital
Dalam halaman Web, warna latar belakang direpresentasikan dengan
bilangan 6 digit hexadecimal, yang aktualnya tiga ikatan merepresentasikan
merah, hijau dan biru. Latar belakang putih akan mempunyai nilai FFFFFF
yaitu 100% merah (FF), 100% hijau (FF) dan 100% biru (FF). Dengan nilai
desimal 255,255,255 dan nilai biner adalah 11111111, 11111111, 11111111
yang merupakan tiga byte yang menghasilkan putih.
Steganografi pada media digital file citra digunakan untuk
mengeksploitasi keterbatasan kekuatan sistem penglihatan manusia dengan
cara menurunkan kualitas warna pada file citra yang belum disisipi pesan
rahasia. Sehingga dengan keterbatasan tersebut manusia sulit menemukan
gradasi penurunan kualitas warna pada file citra yang telah disisipi pesan
rahasia.
2.3.2 Jenis-Jenis Citra Digital
Ada banyak cara untuk menyimpan citra digital di dalam memori. Cara
penyimpanan menentukan jenis citra digital yang terbentuk. Beberapa jenis
citra digital yang sering digunakan adalah:
1. Citra Biner (Monokrom)
Citra biner hanya memiliki 2 warna yaitu hitam dan putih.
Dibutuhkan 1 bit di memori untuk menyimpan kedua warna ini.
208 221 231 246 214 213 215 199 39 156 111 105 132 100 76
Bit 0 = warna hitam
Bit 1 = warna putih
Gambar 2.4 Contoh Citra Biner
2. Citra Grayscale
Banyaknya warna tergantung pada jumlah bit yang disediakan di
memori untuk menampung kebutuhan warna ini. Semakin besar
jumlah bit warna yang disediakan di memori, semakin halus gradasi
warna yang terbentuk. Gambar 2.5 menunjukkan perbandingan
gradasi warna untuk jumlah bit tertentu.
Gambar 2.5 Perbandingan Gradasi Warna 1 bit, 2 bit, 5 bit, 6 bit,
7 bit dan 8 bit.
3. Citra Warna
Setiap piksel pada citra warna memiliki warna yang merupakan
kombinasi dari tiga warna dasar RGB (Red, Green, Blue). Setiap
warna dasar menggunakan penyimpanan 8 bit = 1 byte, yang berarti
setiap warna mempunyai gradasi sebanyak 255 warna. Berarti setiap
piksel mempunyai kombinasi warna sebanyak 28 . 28 . 28 = 224 = 16 juta warna lebih. Itulah yang menjadikan alasan format ini disebut
dengan true color karena mempunyai jumlah warna yang cukup
besar sehingga bisa dikatakan hampir mencakup semua warna di
alam.
Penyimpanan citra true color di dalam memori berbeda
dengan citra grayscale. Setiap piksel dari citra grayscale 256 gradasi
warna diwakili oleh 1 byte. Sedangkan 1 piksel citra true color
diwakili oleh 3 byte, dimana masing-masing byte merepresentasikan
Gambar 2.6 Contoh Citra Warna
2.3.3 Pengolahan Citra
Pengolahan citra merupakan kegiatan memperbaiki kualitas citra agar
mudah diinterpretasi oleh manusia/mesin (komputer). Inputannya adalah
citra dan keluarannya juga citra tapi dengan kualitas lebih baik daripada
citra masukan. Misal citra yang warnanya kurang tajam, kabur (blur),
mengandung noise (misal bintik-bintik putih) dan sebagainya perlu ada
pemrosesan untuk memperbaiki citra karena citra tersebut menjadi sulit
diinterpretasikan karena informasi yang disampaikan menjadi berkurang.
(a) (b)
Gambar 2.7 Citra yang agak kabur (a) dan Citra yang telah diperbaiki (b)
Pengolahan citra adalah disiplin ilmu yang terdiri dari beberapa
komputer. Pada umumnya, disiplin ilmu pengolahan citra berkaitan dengan
disiplin ilmu grafika komputer dan komputer vision, yaitu:
1. Grafika Komputer
Grafika komputer adalah sebuah disiplin ilmu yang mempelajari
proses menciptakan suatu gambar berdasarkan deskripsi objek
maupun latar belakang yang terkandung pada gambar tersebut.
Dengan kata lain grafika mencoba untuk memvisualisasikan suatu
informasi menjadi citra. Jadi, input-nya berupa informasi mengenai
citra yang akan digambar sedang output-nya citra.
2. Komputer Vision
Komputer vision merupakan disiplin ilmu yang mempelajari proses
menyusun deskripsi tentang objek yang terkandung pada suatu
gambar atau mengenal objek yang ada pada gambar. Komputer
vision berusaha menerjemahkan citra menjadi deskripsi atau suatu
informasi yang merepresentasikan citra tersebut. Jadi, input-nya
berupa citra sedang output-nya berupa informasi.
3. Pengolahan Citra Digital
Pengolahan citra digital adalah disiplin ilmu yang mempelajari
hal-hal yang berkaitan dengan perbaikan kualitas gambar (peningkatan
kontras, transformasi warna), transformasi gambar (rotasi,
translasi), melakukan pemilihan citra ciri (feature images) yang
optimal untuk tujuan analisis, melakukan proses penarikan
informasi, melakukan kompresi atau reduksi data untuk tujuan
penyimpanan, transmisi dan waktu proses data. Input pengolahan
citra adalah citra sedang output-nya adalah citra hasil pengolahan.
Operasi-operasi yang dilakukan di dalam pengolahan citra banyak
ragamnya. Namun, secara umum, operasi pengolahan citra dapat
diklasifikasikan dalam beberapa jenis sebagai berikut:
a. Perbaikan kualitas citra (image enhancement).
Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan
cara memanipulasi parameter-parameter citra. Dengan operasi ini,
ciri-ciri khusus yang terdapat di dalam citra lebih ditonjolkan.
Contoh-contoh operasi perbaikan citra:
1. perbaikan kontras gelap/terang
2. perbaikan tepian objek (edge enhancement)
3. penajaman (sharpening)
4. pemberian warna semu (pseudocoloring)
5. penapisan derau (noise filtering)
(a) (b)
Gambar 2.8 Citra yang agak gelap (a) dan Citra yang telah diperbaiki kontras gelap/terang (b)
Operasi ini bertujuan menghilangkan/meminimumkan cacat pada
citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan
citra. Bedanya, pada pemugaran citra penyebab degradasi gambar
diketahui. Contoh-contoh operasi pemugaran citra:
1. penghilangan kesamaran (deblurring).
2. penghilangan derau (noise)
Gambar 2.9 adalah contoh operasi penghilangan kesamaran.
Citra masukan adalah citra yang tampak kabur (blur). Kekaburan
gambar mungkin disebabkan pengaturan fokus lensa yang tidak tepat
atau kamera bergoyang pada pengambilan gambar. Melalui operasi
deblurring, kualitas citra masukan dapat diperbaiki sehingga tampak
lebih baik.
(a) (b)
Gambar 2.9 Citra yang blur (a) dan Citra yang telah deblurring (b)
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam
bentuk yang lebih kompak sehingga memerlukan memori yang lebih
sedikit. Hal penting yang harus diperhatikan dalam pemampatan
adalah citra yang telah dimampatkan harus tetap mempunyai kualitas
gambar yang bagus. Contoh metode pemampatan citra adalah format
JPEG. Pada gambar 2.10 (a) adalah citra maskot yang berukuran 158
Kb. Hasil pemampatan citra dengan format JPEG dapat mereduksi
ukuran citra semula sehingga menjadi 88 Kb saja.
(a) (b)
Gambar 2.10 Citra sebelum dimampatkan (a) dan Citra setelah dimampatkan(b)
d. Segmentasi citra (image segmentation).
Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam
beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini
berkaitan erat dengan pengenalan pola.
Jenis operasi ini bertujuan menghitung besaran kuantitif dari citra
untuk menghasilkan deskripsinya. Teknik pengorakan citra
mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi
objek. Proses segmentasi kadangkala diperlukan untuk melokalisasi
objek yang diinginkan dari sekelilingnya. Contoh-contoh operasi
pengorakan citra:
1. Pendeteksian tepi objek (edge detection)
2. Ekstraksi batas (boundary)
3. Representasi daerah (region)
Gambar 2.11 adalah contoh operasi pendeteksian tepi pada citra
hasil camera digital. Operasi ini menghasilkan semua tepi (edge) di
dalam citra.
(a) (b)
Gambar 2.11 Citra hasil kamera digital (a) dan Citra hasil pendeteksian seluruh tepi (b)
Jenis operasi ini bertujuan untuk membentuk ulang objek dari
beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak
digunakan dalam bidang medis. Misalnya beberapa foto rontgen
dengan sinar X digunakan untuk membentuk ulang gambar organ
BAB 3
ANALISIS DAN PERANCANGAN SISTEM PERANGKAT LUNAK
3.1 Analisis Sistem
3.1.1 Analisis Least Significant Bit
Strategi penyisipan citra kedalam media citra yang digunakan adalah dengan
metode Least Significant Bit (LSB). Dimana setiap bit data citra akan
digantikan dengan bit paling rendah didalam media citra.
Langkah pertama yang dilakukan adalah mencari nilai RGB induk
(stegomedium) dan RGB anak (citra asli) pada setiap bit citra. Adapun
rumus yang dipakai untuk mencari RGB induk, yaitu :
R = PixInduk Mod 256
Untuk RGB citra anak dihasilkan dengan rumus :
B = Int(PixAnak / 65536)
G = (PixAnak - (B * 65536) - R) / 256
R = Int(R / 17)
B = Int(B / 17)
G = Int(G / 17)
Kemudian nilai bit pada RGB anak disisipkan ke nilai bit pada RGB
citra induk dengan memakai rumus :
RGB = ((RI Or RA), (GI Or GA), (BI Or BA))
Dan jika dilakukan ekstraksi, akan didapat kembali nilai bit piksel
RGB citra anak yang tadi, yaitu dengan rumus :
RGB anak = ((RI And 15) * 17, (GI And 15) * 17, (BI And
15) * 17)
Keterangan :
R= nilai bit pada warna merah
G= nilai bit pada warna hijau
B= nilai bit pada warna biru
I = citra induk/stegomedium
A= citra anak/hiddenimage
Misalkan nilai piksel suatu citra induk pada piksel (1,1) adalah 144
dan citra anak 78 maka dihasilkan nilai bit RGB citra anak dan induk pada
piksel tersebut adalah :
Citra Induk :
B = int(144 / 65536) = 0
Maka nilai dari RGB citra anak akan di-OR-kan dengan nilai RGB
dari citra induk :
RGB = ((RI Or RA), (GI Or GA), (BI Or BA))
RGB = ((144 Or 4), (0 Or 0), (0 Or 0))
RGB = (148,0,0)
Nilai bit RGB = 148 inilah yang menjadi nilai bit pada stegoimage.
Secara logika, perubahan tidak akan tampak secara visual karena perubahan
hanya terjadi di titik kecil yang hanya mengalami perubahan kontras warna
dengan warna yang tetap. Kemudian untuk mengeluarkan warna RGB dari
citra anak tersebut dilakukan dengan cara :
RGB anak = ((RI And 15) * 17, (GI And 15) * 17, (BI And 15) * 17)
RGB anak = ((148 And 15) * 17, (0 And 15) * 17, (0 And 15) * 17)
RGB anak = (68)
3.1.2 Analisis Stegomedium
Pada piksel (0,0), (1,0), (2,0), (3,0), (4,0) dan (5,0) stegomedium akan
diletakkan beberapa atribut untuk memaksimalkan kinerja program. Atribut
yang dimaksud adalah karakter penanda, dimensi untuk panjang dan lebar
citra dan kunci (key). Gambar 3.1 merupakan representasi atribut
stegomedium.
(5,0)
(3,0) dan (4,0)
(0,0), (1,0) dan (2,0)
Gambar 3.1 Representasi Atribut Stegomedium
Pada piksel (0,0), (1,0) dan (2,0) diletakkan karakter bebas sebagai
penanda bahwa ada data yang tersimpan didalam citra. Pada skripsi ini
Pada piksel (3,0) dan (4,0) diletakkan dimensi citra agar bisa
digunakan kembali pada saat citra dikeluarkan sehingga dimensinya dapat
ditampilkan pada informasi citra.
Pada piksel (5,0) diletakkan kunci yang digunakan yang digunakan
pada kedua proses embedding dan ekstraksi.
3.1.3 Analisis Proses Steganografi
Gambar 3.2 dibawah ini merupakan gambaran tentang bagaimana proses
sistem yang akan dibangun. Pada bagian awal buka citra induk yang akan
dihitung daya tampung maksimalnya. Bagian selanjutnya dimasukkan citra
anak yang akan disisipkan dan dihitung juga total datanya. Setelah itu, akan
dibandingkan daya tampung maksimal dengan total data jika daya tampung
lebih besar dari total data maka akan dilanjutkan ke proses berikutnya tetapi
jika daya tampung lebih kecil atau sama dengan total data maka akan
muncul pesan kesalahan. Kemudian dilanjutkan dengan proses embedding
yaitu penyembunyian data ke dalam media.
Setelah proses embedding berhasil dilakukan akan didapatkan citra
hasil yaitu stegoimage, jika pada citra hasil ini dilakukan proses ekstraksi,
yaitu proses pengeluaran kembali bit-bit yang telah disisipkan ke media
citra, akan dihasilkan kembali data berupa citra yaitu hiddenimage.
Gambar 3.2 Tahapan Proses Steganografi
3.2 Perancangan Sistem
Program yang dirancang pada penelitian ini bertujuan untuk
menyembunyikan atau menyisipkan data penting berupa citra ke dalam
sebuah media citra. Saat program dijalankan pengguna akan memilih
antara dua proses yang disediakan yaitu embedding atau ekstraksi.
Kemudian membuka citra sebagai stegoimage dan citra sebagai
hiddenimage. Sebelum melakukan proses, pengguna akan diminta untuk
memberikan kunci terlebih dahulu kedalam sistem yang dibangkitkan dari
media citra agar data lebih aman. Selanjutnya barulah dilakukan proses
steganografi.
3.2.1 Flowchart
Proses Embedding
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan
urutan-urutan prosedur dari suatu program. Tujuan utama dari penggunaan
flowchart adalah untuk menggambarkan suatu tahapan penyelesaian
masalah secara sederhana, terurai, rapi dan jelas dengan menggunakan
simbol-simbol yang standar. Dalam perancangan aplikasi ini digunakan
bagan alir (flowchart) untuk menjelaskan proses kerja dari perangkat lunak
yang dirancang.
3.2.1.1 Flowchart Embedding - Ekstraksi
Flowchart embedding – ekstraksi merupakan flowchart aplikasi secara
keseluruhan. Dimulai dari membuka citra induk dan melakukan proses
terdefenisi hitung daya tampung. Buka citra anak kemudian melakukan
proses decision maksimal daya tampung lebih besar dari total data citra. Jika
salah proses berakhir, tetapi jika jawaban benar maka akan melakukan
proses terdefenisi embedding dan hasilnya adalah stegoimage. Selanjutnya
stegoimage akan diekstraksi yang akan menghasilkan hiddenimage dan
Gambar 3.3 Flowchart
3.2.1.2 Flowchart Daya Tampung
Untuk menghindari terjadinya kelebihan data citra dibandingkan dengan
daya tampung maka dilakukan perhitungan terhadap keduanya agar data
yang disembunyikan bisa disesuaikan dengan daya tampung media.
Dibawah ini flowchart untuk menghitung daya tampung maksimal media
dan total data yang akan disembunyikan.
Gambar 3.4 Flowchart Daya Tampung
3.2.1.3 Flowchart Embedding
Untuk menyembunyikan data citra kedalam media citra dilakukan dengan
menjumlahkan nilai RGB anak dengan RGB induk. Dibawah ini flowchart
proses penyisipannya. Proses dimulai dari pemberian nilai awal, kemudian
input password. Selanjutnya komputer akan memasukkan password dan
karakter penanda ke bit citra induk. Kemudian ambil piksel induk dan anak
dari 0,0 yang akan dikonversi. Setelah dikonversi, gabungkan citra anak ke
induk dengan logika OR. Selanjutnya dilakukan proses perulangan agar
+ 1 sehingga piksel yang dikerjakan selanjutnya adalah 0,1. Kemudian Y <
Ymaks.-1 yang artinya jika benar 1 lebih kecil dari Ymaks. maka akan
berlanjut sampai dengan Ymaks. Jika tidak akan dilanjutkan dengan
menghitung X yang juga sampai dengan piksel Xmaks. Hasilnya dari
embedding akan menghasilkan stegoimage dan proses berakhir.
3.2.1.4 Flowchart Ekstraksi
Untuk mengeluarkan nilai RGB data yang ada didalam stegoimage
dilakukan proses ekstraksi untuk menghasilkan citra anak. Dibawah ini
flowchart dari ekstraksi. Proses dimulai dari pemberian nilai awal,
kemudian input password. Selanjutnya komputer akan mengecek apakah
password yang dimasukkan sama dengan password yang ditanam pada
stegoimage. Jika salah proses akan berakhir tetapi jika benar maka akan
diambil piksel dari stegoimage untuk mengeluarkan nilai bit hiddenimage
dengan AND 15 * 17. Piksel yang diproses terlebih dahulu adalah 0,0 dan
selanjutnya dilakukan proses perulangan agar seluruh piksel tidak ada yang
tertinggal untuk diproses yaitu dengan Y = Y + 1 sehingga piksel yang
dikerjakan selanjutnya adalah 0,1. Kemudian Y < Ymaks.-1 yang artinya
jika benar 1 lebih kecil dari Ymaks. maka akan berlanjut sampai dengan
Ymaks. Jika tidak akan dilanjutkan dengan menghitung X yang juga sampai
dengan piksel Xmaks. Hasilnya dari ekstrkasi akan menghasilkan
Gambar 3.6 Flowchart Ekstraksi 3.2.2 Perancangan Antar Muka Pengguna
Antar muka pemakai (user interface) adalah tampilan program yang dapat
atau mekanisme yang digunakan pemakai untuk mengendalikan operasi dan
memasukkan data.
Berikut ini merupakan perancangan antarmuka aplikasi steganografi
citra kedalam media citra yang dirancang dengan 3 (tiga) buah antarmuka,
yaitu:
1. Form Pilihan
Gambar 3.7 Tampilan Rancangan Form Pilihan
Gambar 3.3 merupakan tampilan rancangan form pilihan. Form pilihan
adalah form pembuka dari aplikasi ini. Terdiri atas 3 bagian yaitu bagian
atas sebagai informasi nama dari aplikasi. Kemudian bagian utama/tengah
terdapat 2 buah tombol untuk menentukan proses yang akan dilakukan.
Tombol “Embedding” merupakan link ke halaman proses embedding,
sedangkan tombol “Ekstraksi” adalah link ke halaman proses ekstraksi.
Sedangkan pada bagian bawah terdapat tombol “Keluar” yang merupakan
link untuk keluar jika tidak ingin melakukan proses apapun.
Implementasi Least Significant Bit untuk Pengamanan Citra Digital di dalam Media Citra
Sebagai tugas akhir skripsi oleh : A.Affandi Asyad Siregar
S-1 Ilmu Komputer Universitas Sumatera Utara
APLIKASI STEGANOGRAFI DENGAN METODE LEAST SIGNIFICANT BIT (LSB)
Pilih proses yang akan dilakukan :
Embedding Ekstraksi
Form embedding ini berfungsi sebagai tempat berlangsungnya proses
penyembunyian data citra. Dimana pengguna akan memanggil data citra
yang akan disisipkan atau disembunyikan dan kemudian memilih citra yang
akan digunakan sebagai tempat penyisipan data citra. Dalam form ini
terdapat 1 buah command dialog, 8 buah command button, 2 buah image, 2
buah picture box, 8 label, 2 frame dan 2 RichTexBox.
Tabel 3.1 Fungsi pada properti yang digunakan proses embedding
No Objek Name Fungsi
1 Image1 imgInduk Digunakan agar menampilkan citra
pada Picturebox1 sesuai dengan
ukuran yang telah ditentukan
2 Image2 imgAnak Digunakan agar menampilkan citra
pada Picturebox 2 sesuai dengan
ukuran yang telah ditentukan
3 Picturebox1 picInduk Tempat menampung media citra.
4 Picturebox2 picAnak Tempat menampung data citra
5 Commondialog cdPicture Untuk menampilkan kotak dialog
sebagai tempat pemilihan citra
6 Command1 cmdOpen1 Sebagai tombol buka untuk
membuka pilihan citra
7 Command2 cmdSave Sebagai tombol simpan yang
berfungsi untuk menyimpan citra
yang telah disisipkan data citra.
8 Command3 cmdProses Sebagai tombol proses yang akan
melakukan penyisipan data citra ke
dalam media citra
9 Command4 Cmdkeluar Sebagai tombol untuk keluar dari
10 Command5 CmdOpen Sebagai tombol untuk memilih citra
11 Command6 Cmdcancel Sebagai tombol untuk batalkan
pilihan
12 Command7 CmdFit1 Menampilkan citra induk dengan
ukuran sebenarnya
13 Command8 CmdFit2 Menampilkan citra anak/hasil
dengan ukuran sebenarnya
14 RichTextBox2 rtbInduk Sebagai Informasi dari citra induk
15 RichTextBox1 rtbAnak Sebagai Informasi dari citra anak
16 ProgressBar1 pbProses Untuk progress dari proses yang
berlangsung
17 Frame1 Frame1 Bingkai progress Bar
18 Frame2 Frame2 Bingkai Pilihan citra
19 Option1 Option1 Keterangan untuk buka citra induk
20 Option2 Option2 Keterangan untuk buka citra anak
21 Text1 Txtpass Inputan password
22 Label1 Label1 Nama citra induk
23 Label2 Label2 Nama citra anak
24 Label3 Label3 Nama citra hasil
25 Label4 Label4 Informasi citra induk
26 Label5 Label5 Informasi citra anak
27 Label6 LP1 Keterangan proses penyisipan
28 Label7 LP2 Keterangan proses penyisipan
29 Label8 LP3 Keterangan proses penyisipan
Form Ektraksi ini berfungsi sebagai tempat berlangsungnya proses
pengeluaran data citra. Dimana pengguna akan memanggil citra yang berisi
data kemudian melakukan ekstraksi untuk mengeluarkan data.
Tabel 3.2 Fungsi pada properti yang digunakan proses ekstraksi
No Objek Name Fungsi
1 Image1 imgInduk Digunakan agar menampilkan citra
pada Picturebox1 sesuai dengan
ukuran yang telah ditentukan
2 Image2 imgAnak Digunakan agar menampilkan citra
pada Picturebox 2 sesuai dengan
ukuran yang telah ditentukan
3 Picturebox1 picInduk Tempat menampung media citra.
4 Picturebox2 picAnak Tempat menampung data citra
5 Commondialog cdPicture Untuk menampilkan kotak dialog
sebagai tempat pemilihan citra
6 Command1 cmdOpen Sebagai tombol buka untuk
membuka pilihan citra
7 Command2 cmdSave Sebagai tombol simpan yang
berfungsi untuk menyimpan citra
8 Command3 cmdEktraksi Sebagai tombol Ekstraksi yang akan
melakukan pengeluaran data citra
dari dalam media citra
9 Command4 Cmdkeluar Sebagai tombol untuk keluar dari
program
10 Command5 CmdFit1 Menampilkan citra induk dengan
ukuran sebenarnya
11 Command6 CmdFit2 Menampilkan citra hasil dengan
ukuran sebenarnya
12 RichTextBox1 rtbInduk Sebagai Informasi dari citra induk
14 ProgressBar1 pbProses Untuk progress dari proses yang
berlangsung
15 Frame1 Frame1 Bingkai progress Bar
16 Text1 Txtpass Inputan password
16 Label1 Label1 Nama citra induk
17 Label2 Label2 Nama citra hasil
18 Label3 Label3 Informasi citra induk
19 Label4 Label4 Informasi citra anak
20 Label5 LP1 Keterangan proses penyisipan
21 Label6 LP2 Keterangan proses penyisipan
22 Label7 LP3 Keterangan proses penyisipan
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem
Dari hasil perancangan sistem yang dilakukan, maka proses selanjutnya
adalah tahap implementasi ke dalam bentuk aplikasi komputer. Dalam
melakukan implementasi digunakan perangkat keras dan perangkat lunak
sehingga aplikasi yang dibangun dapat diselesaikan dengan baik. Perangkat
keras yang digunakan memiliki spesifikasi sebagai berikut :
1. Prosesor Pentium IV 3.0 GHz
2. RAM 1 Gb
3. Hardisk 80 GB
4. Kartu Grafik 128 Mb
Sedangkan perangkat lunak yang digunakan sebagai berikut :
1. Sistem Operasi Windows XP SP2
2. Microsoft Visual Basic 6.0
3. Adobe Photoshop Elements Editor
4.1.1 Implementasi Karakter Penanda
Karakter penanda ini bertujuan sebagai penanda pada stegomedium bahwa
embedding dari aplikasi ini. Sesuai pada perancangan sistem yang dibuat,
karakter penanda berupa numerik (7), (7) dan (7). Berikut implementasi
karakter penanda pada saat embedding:
4.1.1.1 Tampilan Halaman Pilihan
Halaman pilihan merupakan halaman untuk memilih proses yang akan
dilakukan yaitu embedding untuk menyisipkan citra atau ekstraksi untuk
mengembalikan citra dari stegoimage. Terdapat juga tombol keluar jika
tidak ingin melakukan proses apapun.
4.1.1.2 Tampilan Halaman Stego
Jika memilih tombol Embedding pada halaman pilihan maka akan muncul
halaman stego seperti pada gambar 4.2. Pada halaman inilah akan dilakukan
proses penyisipan citra anak ke citra induk.
Langkah pertama yang dilakukan untuk memulai proses embedding
adalah memilih citra yang akan dijadikan sebagai citra anak dan citra induk.
Dengan cara menekan tombol Buka, kemudian pilih Buka citra induk pada
pilihan dan tekan tombol Buka.
Gambar 4.3 Tampilan Halaman Buka Citra Induk
Setelah memilih buka citra induk dan menekan tombol buka, akan
muncul halaman pilih citra ke dalam local hard drives komputer seperti
Gambar 4.4 Tampilan Halaman Pilih Citra Induk
Setelah citra induk dipilih maka akan ditampilkan citra dan
informasi citra yang dipilih. Informasi citra yang ditampilkan adalah nama
Gambar 4.5 Tampilan Halaman Buka Citra Anak
Gambar 4.5 merupakan tampilan halaman buka citra anak.
Dilakukan setelah membuka citra induk terlebih dahulu. Kemudian tekan
tombol buka dan akan muncul halaman pilih citra ke dalam local hard
Gambar 4.6 Tampilan Halaman Buka Citra Anak
Gambar 4.7 adalah tampilan halaman setelah citra induk dan citra
anak dipilih dan dibuka. Tampak kedua citra dengan informasi
Gambar 4.7 Tampilan Halaman Citra Anak dan Citra Induk
Sebelum memulai proses embedding dengan menekan tombol Proses
akan muncul halaman masukkan password anda. Pengguna dapat
memasukkan password berupa alpha numeric dengan panjang maksimum
Gambar 4.8 Tampilan Halaman Masukkan Password
Setelah password dimasukkan, proses akan dilakukan dengan
menekan tombol proses. Proses embedding memerlukan waktu proses sesuai
dengan besar citra. Jika citra semakin besar maka waktu proses yang
dibutuhkan akan semakin lama. Gambar 4.9 merupakan tampilan halaman
Gambar 4.9 Tampilan Halaman Proses Embedding
Kemudian jika proses embedding selesai akan muncul halaman
Gambar 4.10 Tampilan Halaman Proses Selesai
Langkah terakhir adalah menyimpan citra yang telah disisipkan data
Gambar 4.11 Tampilan Halaman Simpan
4.1.1.3 Tampilan Halaman Ekstraksi
Untuk Proses Ekstraksi citra dilakukan dengan membuka halaman pilihan
dan pilih proses Ekstraksi. Proses ini merupakan proses pengeluaran nilai
Gambar 4.12 Tampilan Halaman Ekstraksi
Langkah pertama yang dilakukan untuk memulai proses ekstraksi
adalah memilih stegoimage. Dengan cara menekan tombol buka, akan
Gambar 4.13 Tampilan Halaman Buka Stegoimage
Gambar 4.14 adalah tampilan halaman setelah stegoimage dipilih
Gambar 4.14 Tampilan Halaman Stegoimage
Gambar 4.15 merupakan tampilan halaman masukkan password
ekstraksi. Password pada proses ekstraksi adalah password pada proses
Gambar 4.15 Tampilan Halaman Masukkan Password Ekstraksi
Setelah password dimasukkan, proses akan dilakukan dengan
menekan tombol ekstraksi. Proses ekstraksi memerlukan waktu proses yang
sama seperti pada proses embedding. Gambar 4.16 merupakan tampilan
Gambar 4.16 Tampilan Halaman Proses Ekstraksi
Kemudian jika proses ekstraksi selesai akan muncul halaman proses
ekstraksi sukses dan akan tampak citra anak yang dikeluarkan dari
Gambar 4.17 Tampilan Halaman Proses Ekstraksi Selesai
Langkah terakhir dalam proses ekstraksi adalah menyimpan citra
yang telah dikeluarkan dari nilai RGB stegoimage yaitu dengan menekan
Gambar 4.18 Tampilan Halaman Simpan Hasil Ekstraksi
4.1.2 Tampilan Halaman Pendukung Aplikasi
Implementasi yang dilakukan tidak hanya memperhatikan proses utama
saja, tetapi juga proses dimana bisa terjadi kesalahan sehingga pengguna
tidak mengalami kesulitan dalam menjalankan aplikasi.
Gambar 4.19 merupakan tampilan halaman jika menekan tombol Fit
disebelah kiri atas PictureBox pada aplikasi. Disediakan dengan alasan
ukuran asli citra tersebut sehingga mengurangi kesalahan dalam pemilihan
citra.
Gambar 4.19 Tampilan Halaman Fit to Windows
Aplikasi ini melakukan proses penyisipan nilai RGB citra anak ke
dalam citra induk sehingga akan diperoleh keadaan dimana daya tampung
maksimum citra induk harus lebih besar dari total data citra anak. Gambar
4.20 merupakan tampilan halaman peringatan bahwa citra anak lebih besar
Gambar 4.21 Tampilan Halaman Peringatan Citra Tidak Ada
Gambar 4.21 adalah tampilan halaman peringatan bahwa data/ citra
tidak ada sehingga proses tidak dapat dilakukan. Kemudian Gambar 4.22
merupakan tampilan halaman jika pengguna menekan tombol simpan
Gambar 4.22 Tampilan Halaman Peringatan Lakukan Proses Terlebih Dahulu
Kemudian pada proses ekstraksi jika terjadi kesalahan membuka
citra yang bukan stegoimage maka akan muncul peringatan seperti pada
gambar 4.23. Dan pada gambar 4.24 merupakan tampilan halaman
peringatan bahwa password yang di input tidak sesuai dengan yang ditanam
Gambar 4.23 Tampilan Halaman Peringatan Citra Tidak Stegoimage
Gambar 4.24 Tampilan Halaman Peringatan Password Stegoimage Salah
4.2 Pengujian Sistem
Setelah metode Least Significant Bit diimplementasikan dalam bentuk
aplikasi dengan bahasa pemograman Visual Basic 6.0, selanjutnya
dilakukan pengujian, apakah aplikasi yang dirancang dapat memenuhi
kriteria steganografi yang baik yaitu imperceptibility, fidelity dan recovery.
4.2.1 Perangkat Pengujian
Pengujian aplikasi dilakukan menggunakan komputer dengan spesifikasi
1. Tipe : Notebook Sony
2. Prosesor : Intel core i5 2.4 GHz
3. Memori : 4Gb DDR3
4. Kartu Grafis : GeForce GT 330M
5. Sistem Operasi : Microsoft Windows XP SP2
4.2.2 File Pengujian
File yang diuji berupa citra digital dengan resolusi sedang karena jika
menggunakan citra resolusi yang besar, waktu proses akan lebih lama yaitu
sebagai berikut :
1. Citra Induk
Nama file : Pemandangan2.jpg
Format : JPG
Dimensi : 800 x 600
Ukuran file : 96,9 Kb
2. Citra Anak
Nama file : Peta_Geologi_Freeport.bmp
Format : BMP
Dimensi : 600 x 485
Ukuran file : 852 Kb
3. Stegoimage
File stegoimage adalah citra hasil embedding dari citra induk dan
Nama file : stegoimage.bmp
Format : BMP
Dimensi : 804 x 604
Ukuran file : 1,38 Mb
4.2.3 Hasil Pengujian
Pengujian pertama dilakukan pada proses embedding. Untuk menyisipkan
citra anak dengan dimensi 600x485 ke citra induk dengan dimensi 800x600
diperlukan waktu 57 detik. Proses embedding pada aplikasi ini
menghasilkan sebuah stegoimage yang hampir persis sama dengan citra
induk. Tidak ada perbedaan yang signifikan. Kriteria steganografi yang baik
yaitu imperceptibility dan fidelity terpenuhi pada hasil proses embedding
aplikasi ini. Karena imperceptibility ialah keberadaan pesan rahasia tidak
dapat dipersepsi oleh inderawi. Misalnya, jika covertext berupa citra, maka
penyisipan pesan membuat citra stegotext sukar dibedakan oleh mata
dengan citra covertext-nya. Jika covertext berupa audio, maka indera telinga
tidak dapat mendeteksi perubahan pada audio stegotext-nya, dan Fidelity
ialah mutu stegomedium tidak berubah banyak akibat penyisipan. Perubahan
tersebut tidak dapat dipersepsi oleh inderawi. Misalnya, jika covertext
berupa citra, maka penyisipan pesan membuat citra stegotext sukar
dibedakan oleh mata dengan citra covertext-nya. Jika covertext berupa
audio, maka audio stegotext tidak rusak dan indera telinga tidak dapat
mendeteksi perubahan tersebut. Berikut gambar 4.25 yang merupakan citra
Gambar 4.26 Stegoimage
Berikut gambar 4.27 merupakan citra anak dan gambar 2.28 adalah