IMPLEMENTASI ALGORITMA KOMBINASI STEGANOGRAFI SPREAD SPECTRUM DAN KOMPRESI HUFFMAN PADA PENYISIPAN GAMBAR DALAM GAMBAR BERBASIS DESKTOP SKRIPSI
Teks penuh
(2) IMPLEMENTASI ALGORITMA KOMBINASI STEGANOGRAFI SPREAD SPECTRUM DAN KOMPRESI HUFFMAN PADA PENYISIPAN GAMBAR DALAM GAMBAR BERBASIS DESKTOP SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer ANRI PURBA 121401130. PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2019. Universitas Sumatera Utara.
(3) ii. Universitas Sumatera Utara.
(4) iii. PERNYATAAN. IMPLEMENTASI ALGORITMA KOMBINASI STEGANOGRAFI SPREAD SPECTRUM DAN KOMPRESI HUFFMAN PADA PENYISIPAN GAMBAR DALAM GAMBAR BERBASIS DESKTOP. SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.. Medan,. Juli 2019. Anri Purba 121401130. Universitas Sumatera Utara.
(5) iv. UCAPAN TERIMA KASIH. Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa, karena rahmat dan izin-Nya penulis dapat menyelesaikan skripsi ini. Banyak bantuan berupa uluran tangan, budi baik, buah pikiran dan kerjasama yang telah penulis terima selama menempuh studi sampai dengan penyelesaian studi ini. Oleh karena itu, penulis menyampaikan ucapan terima kasih kepada pihak-pihak yang telah membantu. Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar-besarnya kepada: 1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Opim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara 4. Bapak Herriyance, S.T., M.Kom selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara 5. Bapak Dr. Poltak Sihombing, M.Kom selaku Dosen Pembimbing I yang telah memotivasi dan senantiasa memberikan bimbingan, saran dan dukungan kepada penulis dalam pengerjaan skripsi ini. 6. Ibu Dian Rachmawati, S.Si., M.Kom selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini. 7. Bapak Herriyance, S.T., M.Kom selaku Dosen Pembanding I yang telah memberikan saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini. 8. Bapak Jos Timanta Tarigan, S.Kom., M.Sc selaku Dosen Pembanding II yang telah memberikan saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini. 9. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.. Universitas Sumatera Utara.
(6) v. Semoga Tuhan melimpahkan berkah dan kasih sayang-Nya kepada semua pihak yang telah memberikan bantuan, semangat, dukungan dan perhatian kepada penulis dalam menyelesaikan skripsi ini. Semoga skripsi ini bermanfaat bagi penulis, pendidikan, masyarakat, organisasi atau negara.. Medan,. Juli 2019. Penulis. Universitas Sumatera Utara.
(7) vi. ABSTRAK. Perkembangan teknologi dan ilmu pengetahuan pada zaman sekarang begitu pesat perkembangannya. Sehingga itu semua tidak akan terlepas dari banyaknya pertukaran informasi/data yang jumlahnya juga semakin besar. Oleh karena itu, untuk mengatasi permasalahan tersebut maka digunakan salah satu metode pengamanan data yaitu, steganografi untuk mengamankan pertukaran informasi dengan menyisipkan pesan kedalam citra cover dan mengkompresi jumlah informasi yang besar tersebut menjadi kecil sehingga dapat ditransfer/dikirimkan secara cepat. Pada metode ini digunakan dua buah algoritma yaitu, Spread Spectrum dan Huffman. Steganografi menggunakan metode Spread Spectrum memperlakukan cover-object baik sebagai derau (noise) ataupun sebagai usaha untuk menambahkan derau semu (pseudo-noise) ke dalam cover-object. Algoritma Huffman menggunakan metode symbol-wise dimana metode ini menghitung kemunculan kode simbol yang lebih pendek dibandingkan dengan simbol yang jarang muncul. Dan pada prinsipnya algoritma Huffman menggunakan prinsip pengkodean yang mirip dengan kode Morse, yaitu setiap karakter (simbol) dikodekan hanya dengan rangkaian beberapa bit, dimana karakter yang sering muncul dikodekan dengan rangkaian bit yang pendek dan karakter yang jarang muncul dikodekan dengan rangkaian bit yang lebih panjang. Berdasarkan kode yang digunakan mengubah pesan awal menjadi sekumpulan code-word. Percobaan kombinasi steganografi Spread Spectrum dengan kompresi Huffman menghasilkan sebuah data yang aman dan sudah terkompresi dengan baik. Kata Kunci : Algoritma Spread Spectrum, Algoritma Huffman, Citra PNG, Kompresi, Steganografi.. Universitas Sumatera Utara.
(8) vii. IMPLEMENTASI ALGORITMA KOMBINASI STEGANOGRAFI SPREAD SPECTRUM DAN KOMPRESI HUFFMAN PADA PENYISIPAN GAMBAR DALAM GAMBAR BERBASIS DESKTOP. ABSTRACT. The development of technology and science today is so rapidly development. So that all will not be detached from the amount of information/data exchange that is also greater. Therefore, to address the problem then used one of the data security methods that is, steganography to secure the exchange of information by inserting a message into the cover image and compressing the large amount of information So that they can be transferred/shipped quickly. In this method, two algorithms are used, Spread Spectrum and Huffman. Steganography using the Spread Spectrum method treats cover-objects either as noise or as an attempt to add pseudo-noise to the cover-object. The Huffman algorithm uses a symbol-wise method by which the method calculates the shorter occurrence of the symbol code compared to rare symbols. And in principle the Huffman algorithm uses a coding principle similar to Morse code, i.e. each character (symbol) is encoded only with a series of a few bits, where the characters often appear encoded with a short set of bits and Characters that rarely appear are encoded with longer bit sets. Based on the code used converts the original message into a set of code-word. The Spread Spectrum steganography test with Huffman compression delivers a well-compressed and safe data. Keywords: Compression, Huffman Algorithm, PNG Image, Spread Spectrum Algorithm, Steganography.. Universitas Sumatera Utara.
(9) viii. DAFTAR ISI. Halaman ii iii iv vi vii viii x xii xiii. Persetujuan Pernyataan Ucapan Terima Kasih Abstrak Abtract Daftar Isi Daftar Gambar Daftar Tabel Daftar Lampiran BAB 1 PENDAHULUAN 1.1.Latar Belakang 1.2.Rumusan Masalah 1.3.Tujuan Penelitian 1.4.Batasan Masalah 1.5.Manfaat Penelitian 1.6.Metodologi Penelitian 1.7.Sistematika Penulisan. 1 2 2 3 3 3 3. BAB 2 LANDASAN TEORI 2.1.Steganografi 2.1.1.Kriteria Steganografi 2.2.Mean Square Error (MSE) 2.3.Peak Signal to Noise Ratio (PSNR) 2.4.Citra Digital 2.4.1.Jenis-jenis Citra 2.4.2.Pixel (Picture Element) 2.5.Least Significant Bit (LSB) 2.6.Spread Spectrum 2.6.1.Langkah-langkah Penyisipan Metode Spread Spectrum 2.7.Kompresi Data 2.7.1.Kompresi Lossless 2.7.2.Kompresi Lossy 2.8.Algoritma Huffman 2.8.1.Pembentukan Pohon Huffman 2.8.2.Encoding Huffman 2.9.Parameter Analisis Kompresi. 6 7 8 8 9 9 10 11 12 13 19 20 20 20 21 22 26. Universitas Sumatera Utara.
(10) ix. 2.10.Penelitian yang Relevan. 27. BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1.Analisis Sistem 3.1.1.Analisis Masalah 3.1.2.Analisis Kebutuhan Sistem 3.2.Perancangan Sistem 3.2.1.General Arsitektur 3.2.2.Use Case Diagram 3.2.3.Activity Diagram 3.2.4.Sequence Diagram 3.2.5.Flowchart 3.2.6.Perancangan Antarmuka. 28 28 29 31 31 32 34 38 39 46. BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1.Implementasi Sistem 4.1.1.Halaman Home 4.1.2.Halaman Embed 4.1.3.Halaman Compress 4.1.4.Halaman Decompress 4.1.5.Halaman Extract 4.1.6.Halaman Comparison 4.1.7.Halaman Help 4.2.Pengujian Sistem 4.2.1.Pengujian Embedding 4.2.2.Pengujian Compression 4.2.3.Pengujian Decompression 4.2.4.Pengujian Extraction 4.2.5.Pengujian Comparison 4.2.6.Perhitungan Manual. 53 53 54 55 56 57 58 59 60 61 62 63 64 65 66. BAB 5 KESIMPULAN DAN SARAN 5.1.Kesimpulan 5.2.Saran. 78 79. DAFTAR PUSTAKA. 80. Universitas Sumatera Utara.
(11) x. DAFTAR GAMBAR. Gambar 2.1. Sistem Steganografi Gambar 2.2. Citra Biner Gambar 2.3. Citra Grayscale Gambar 2.4. Citra RGB Gambar 2.5. Ilustrasi Citra RGB Gambar 2.6. Least Significant Bit pada deret angka biner Gambar 2.7. Citra Cover Gambar 2.8. Pengurutan node terkecil hingga terbesar Gambar 2.9. Pengurutan node terkecil hingga terbesar Gambar 2.10. Penggabungan node N dan P Gambar 2.11. Penggabungan node U dan A Gambar 2.12. Penggabungan node R Gambar 2.13. Penggabungan antara node N dan P dengan node U dan A Gambar 2.14. Penggabungan dua node terakhir Gambar 2.15. Pemberian label bit "0" dan "1" Gambar 3.1. Diagram Ishikawa Gambar 3.2. Diagram General Arsitektur Gambar 3.3. Use Case Diagram Gambar 3.4. Activity Diagram untuk proses Embed Gambar 3.5. Activity Diagram untuk proses kompresi Gambar 3.6. Activity Diagram untuk proses dekompresi Gambar 3.7. Activity Diagram untuk proses Extract Gambar 3.8. Sequence Diagram untuk Proses Embed dan Compress Gambar 3.9. Sequence Diagram untuk Proses Decompress dan Extract Gambar 3.10. Flowchart Sistem Gambar 3.11. Flowchart Embed Gambar 3.12. Flowchart Compress Gambar 3.13. Flowchart Decompress Gambar 3.14. Flowchart Extract Gambar 3.15. Rancangan Form Awal Gambar 3.16. Rancangan Form Embed Gambar 3.17. Rancangan Form Compress Gambar 3.18. Racangan Form Decompress Gambar 3.19. Rancangan Form Extract Gambar 3.20. Racangan Form Comparison Gambar 3.21. Rancangan Form Help Gambar 4.1. Halaman Home. Halaman 7 9 10 10 11 12 16 23 23 23 24 24 24 25 25 29 31 33 34 35 36 37 38 38 39 41 43 44 45 45 46 48 49 50 51 52 54. Universitas Sumatera Utara.
(12) xi. Gambar 4.2. Halaman Embed Gambar 4.3. Halaman Compress Gambar 4.4. Halaman Decompress Gambar 4.5. Halaman Extract Gambar 4.6. Halaman Comparison Gambar 4.7. Halaman Help Gambar 4.8. Citra pesan 60 x 60 piksel Gambar 4.9. Citra cover 1500 x 1000 piksel Gambar 4.10. Hasil Proses Embedding Gambar 4.11. Proses Compression Gambar 4.12. Hasil Proses Decompression Gambar 4.13. Hasil Proses Extraction Gambar 4.14. Hasil Proses Comparison Gambar 4.15. Citra Cover 8 x 16 piksel Gambar 4.16. Citra Pesan. 55 56 57 58 59 60 60 61 62 63 64 65 66 67 68. Universitas Sumatera Utara.
(13) xii. DAFTAR TABEL. Tabel 2.1 Proses Embedding Tabel 2.2 Frekuensi karakter "ANRIPURBA" Tabel 2.3 Hasil Kompresi Huffman Tabel 4.1 Perhitungan Spread Spectrum Tabel 4.2 Nilai RGB Asli Pada Citra Cover Tabel 4.3 Hasil Penyisipan Kedalam Citra Cover Tabel 4.4 Codeword Huffman Tabel 4.5 Proses Spread Spectrum. Halaman 17 22 26 69 69 71 73 77. Universitas Sumatera Utara.
(14) xiii. DAFTAR LAMPIRAN. Lampiran 1 Listing Program Lampiran 2 Curriculum Vitae Lampiran 3 Surat Keputusan Dosen Pembimbing Lampiran 4 Surat Keputusan Sidang. Halaman A-1 B-1 C-1 D-1. Universitas Sumatera Utara.
(15) BAB 1 PENDAHULUAN. 1.1.Latar Belakang Perkembangan Ilmu pengetahuan dan teknologi yang begitu pesat saat ini dapat mempermudah manusia untuk melakukan berbagai hal karena teknologi dapat mempersingkat jarak dan waktu. Internet pada zaman ini merupakan bagian yang sangat penting bagi dunia. Salah satu contoh nyata adalah banyaknya pertukaran informasi melalui internet. Tentunya pertukaran informasi melalui internet sangatlah cepat dan biaya juga murah. Namun pertukaran informasi melalui internet juga memiliki kelemahan yaitu informasi yang dikirim dapat dengan mudah dicuri oleh pihak yang lain tanpa diketahui pemilik informasi. Perkembangan teknologi dan ilmu pengetahuan juga tidak akan terlepas dari transfer informasi yang jumlahnya juga semakin besar. Oleh karena itu, perlu dikembangkan suatu metode untuk mengamankan pertukaran informasi dan mengkompresi jumlah informasi yang besar tersebut menjadi kecil sehingga dapat ditransfer/dikirimkan secara cepat. Steganografi merupakan suatu ilmu dan seni untuk menyembunyikan data rahasia sehingga keberadaan data rahasia tersebut tidak dapat terdeteksi oleh indera manusia. Steganografi digital menggunakan media digital sebagai wadah penampung, misalnya teks, citra, suara, dan video sedangkan data rahasia yang disembunyikan juga dapat berupa sama seperti wadah penampungnya (Arianto, et al. 2017). Perkembangan teknologi yang menghasilkan citra sebagai data telah berkembang dengan sangat pesat sehingga resolusi citra yang dihasilkan akan semakin tinggi dan. Universitas Sumatera Utara.
(16) 2. size data citra yang akan dihasilkan semakin besar. Hal tersebut menimbulkan permasalahan seperti waktu pertukaran data yang relatif lama dan bandwith yang digunakan juga akan semakin besar. Kompresi citra adalah suatu solusi yang tepat untuk menyelesaikan permasalah tersebut. Berdasarkan hal diatas penulis ingin membuat sebuah aplikasi pengamanan data dan kompresi citra yang mampu menyisipkan gambar dalam gambar dan dikompresi, sehingga gambar hasil tidak lagi gambar asli dan sudah dikompresi dengan ukuran lebih kecil. Pada penelitian terdahulu (Endang Pranata Tambunan, 2017), penyisipan pesan dengan menggunakan teknik Spread Spectrum yang dilakukan pada filetext dengan format file .txt. Maka perlu dilakukan pengembangan penyisipan pesan yang berupa fileimage dengan format file .png serta citra yang telah dilakukan penyisipan akan dilakukan kompresi data dengan menggunakan algoritma Huffman. Selain itu pengenkripsian pesan citra digital menjadikan pembeda peneliti ini dengan penelitian terdahulu. Oleh karena itu, dengan latar belakang diatas penulis ingin melakukan penelitian dengan judul " Implementasi Algoritma Kombinasi Steganografi Spread Spectrum Dan Kompresi Huffman Pada Penyisipan Gambar Dalam Gambar " 1.2.Rumusan Masalah Bedasarkan latar belakang tersebut, maka penulis akan membuat aplikasi pengamanan File gambar dengan menyisipkan gambar dalam gambar dengan Algoritma Spread Spectrum dan dikompresi dengan Algoritma Huffman. 1.3.Tujuan Penelitian Adapun tujuan dari penelitian ini adalah: 1. Untuk menerapakan algoritma Spread Spectrum dalam proses penyisipan gambar. 2. Untuk menerapkan algoritma Huffman dalam proses Kompresi. 3. Untuk rancangan aplikasi penyisipan gambar dan kompresi menggunakan Bahasa pemrograman Visual Basic.. 1.4.Batasan Masalah. Universitas Sumatera Utara.
(17) 3. Ruang lingkup dalam penelitian ini ialah sebagai berikut: 1. Menggunakan Algoritma Spread spectrum untuk penyisipan dan Extract. 2. Menggunakan Algoritma Huffman untuk kompresi dan dekompresi. 3. Citra digital yang digunakan adalah file dengan ekstensi .PNG. 4. Citra yang digunakan berdasarkan kode RGB. 5. Menggunakan bahasa pemrograman Visual Basic – VB.Net. 6. Mengukur kinerja algoritma dengan Running time, MSE, PSNR, Ratio of Compression (RC), Compression Ratio (CR), dan Space Saving (SS). 1.5.Manfaat Penelitian Manfaat dari penelitian ini diharapkan aplikasi kompresi dan penyisipan pesan yang dibuat dapat mempermudah pengiriman pesan rahasia dengan ukuran yang rendah dan penelitian ini dapat menjadi bahan referensi bagi peneliti lain yang memiliki keterkaitan topik. 1.6.Metodologi Penelitian Metode penelitian yang dilakukan pada penelitian ini adalah: 1.. Studi Pustaka Pada tahap ini penelitian dimulai dengan mencari referensi yang di dapat dari jurnal, buku, artikel ilmiah, dan makalah dari berbagai sumber yang berhubungan dengan Steganografi, Spread Spectrum, dan Algoritma Huffman.. 2.. Analisa dan Perancangan Pada tahap ini penulis melakukan analisis terhadap berbagai kebutuhan dalam penelitian yang dicapai dari implementasi Spread Spectrum dengan algoritma Huffman dan segera melakukan perancangan diagram alir (flowchart), UML, dan diagram ishikawa.. 3.. Implementasi Sistem Pada tahap ini akan dilakukan pengkodean (coding) dalam bahasa pemrograman Visual Basic.. 4.. Pengujian Sistem Pada tahap ini, sistem yang telah dibangun akan dilakukan pengujian.. Universitas Sumatera Utara.
(18) 4. 5.. Dokumentasi Pada tahap ini dilakukan pembuatan laporan dari hasil analisa dan perancangan sistem dalam format penulisian berbentuk skripsi.. 1.7.Sistematika Penulisan Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama, yaitu: BAB 1. PENDAHULUAN Pada bab ini berisikan latar belakang serta pemilihan judul skripsi "Implementasi Algoritma Kombinasi Steganografi Spread Spectrum Dan Kompresi Huffman Pada Penyisipan Gambar Dalam Gambar", rumusan masalah, tujuan penelitian, batasan penelitian, manfaat penelitian, metodologi penelitian.. BAB 2. LANDASAN TEORI Pada bab ini menjelaskan tentang sistem steganografi secara umum dan dasar-dasar perhitungan serta contoh implementasi algoritma Spread Spectrum, algoritma Huffman dan mekanisme steganografi.. BAB 3. ANALISIS DAN PERANCANGAN Pada bab ini dilakukan analisis terhadap masalah penelitian dan perancangan sistem yang dibangun sebagai solusi permasalahan tersebut.. BAB 4. IMPLEMENTASI DAN PENGUJIAN Pada bab ini berisikan implementasi mekanisme steganografi dengan algoritma Spread Spectrum dan kompresi dengan algoritma Huffman, selanjutnya dilakukan pengujian sistem pada sistem yang dibangun dengan beberapa sampel image *.PNG serta pembahasan hasil pengujian dan analisisnya.. BAB 5. KESIMPULAN DAN SARAN. Universitas Sumatera Utara.
(19) 5. Pada bab ini berisikan kesimpulan dari uraian penjelasan dari seluruh bab yang dibuat dan saran-saran yang diharapkan dapat bermanfaat untuk pengembangan sistem selanjutnya.. Universitas Sumatera Utara.
(20) BAB 2 LANDASAN TEORI. 2.1. Steganografi Steganografi (steganography) berasal dari bahasa Yunani yaitu “steganos” yang diartikan sebagai “tersembunyi” atau “terselubung”, dan “graphein” yang diartikan “menulis”. Steganografi dapat berarti “tulisan tersembunyi” (covered writing). Maka disimpulkan bahwa, Steganografi merupakan ilmu mempelajari teknik pengembangan pesan rahasia di dalam pesan-pesan lainnya dengan sedemikian rupa hingga orang yang melihatnya tidak akan tahu bahwa terdapat pesan rahasia di dalam pesan yang mereka baca (Schneier, 1996). Steganografi membutuhkan 2 buah properti, yaitu pesan dan media penampung. Media penampung yang umumnya digunakan sekarang dapat berupa teks, suara, gambar, atau video. Sedangkan pesan rahasia dapat berupa citra, teks, atau pesan lainnya (Bhaudhayana & Widiartha, 2015). Berikut beberapa istilah-istilah dalam steganografi antara lain : 1) Hiddentext atau embedded message, yaitu pesan rahasia (pesan yang disembunyikan). 2) Covertext atau cover-object, yaitu wadah penampung pada embedded message. 3) Stegotext atau stego-object, yaitu pesan rahasia yang telah disisipkan pada cover-obect.. Universitas Sumatera Utara.
(21) 7. Gambar 2.1. Sistem Steganografi. Pada gambar 2.1 menunjukkan bagaimana terjadinya proses steganografi dimana pesan dan citra cover disisipkan yang kemudian menghasilkan stego image. Kemudian stego image akan diekstrak untuk mendapatkan pesan tersembunyi yang telah disisip. Kunci steganografi pada gambar 2.1 digunakan untuk mengetahui panjang pesan yang telah disisipkan. Penggunaan steganografi memiliki tujuan untuk menyamarkan eksistensi (keberadaan) pesan rahasia agar sulit dideteksi serta mengamankan hak cipta pada suatu produk. Pesan rahasia yang telah disamarkan dapat diekstraksi kembali seperti keadaan aslinya. 2.1.1. Kriteria Steganografi Penyembunyian pesan rahasia ke dalam media penampung pasti merubah nilai kualitas media tersebut. Adapun kriteria yang wajib diperhatikan dalam melakukan penyembunyian pesan adalah (Pranata, 2017): 1) Imperceptibility. Keberadaan pesan rahasia tidak dapat dipersepsi oleh inderawi. 2) Fidelity. Mutu cove-object tidak banyak merubah fisiknya tersendiri akibat penyisipan.. Universitas Sumatera Utara.
(22) 8. 3) Recovery. Pesan yang telah disembunyikan harus dapat dikembalikan (extract) kembali (reveal). Karena tujuan steganografi sebagai data hiding (penyembunyian data), maka sewaktuwaktu stegotext harus dapat diambil kembali untuk digunakan lebih lanjut. 2.2. Mean Square Error (MSE) Penilaian kualitas citra dilakukan dengan cara penilaian secara objektif dengan menggunakan besaran MSE dan PSNR kedua besaran tersebut membandingkan pikselpiksel pada posisi yang sama dari dua citra yang berbeda. MSE adalah rata-rata kuadrat nilai kesalahan antara citra asli dengan citra hasil pengolahan yang secara matematis dapat di rumuskan sebagai berikut. 𝑚−1 𝑛−1. 1 ∑ ∑[𝑓(x, y) − 𝑓′(x, y)] 2 𝑀𝑆𝐸 = 𝑚𝑛 𝑖=0. 𝑗=0. Keterangan : MSE : nilai Mean Squared Error f(x,y) : Intensitas citra cover sebelum disisipi pesan f’(x,y) : Intensitas citra cover setelah disisipi pesan 2.3. Peak Signal to Noise Ratio (PNSR) PSNR merupakan perbandingan nilai antara nilai maksimum warna pada stegoimage dengan kuantitas gangguan (noise), yang dinyatakan dalam satuan desibel (dB), kuantitas gangguan yang dimaksud ialah akar dari rata-rata kuadrat nilai kesalahan (√𝑀𝑆𝐸). Secara matematis dapat dirumuskan sebagai berikut. 𝑃𝑆𝑁𝑅 = 20 × log10 (. 𝑀𝐴𝑋 √𝑀𝑆𝐸. ). Keterangan : PSNR : nilai PSNR MSE : nilai MSE MAX : nilai piksel terbesar. Universitas Sumatera Utara.
(23) 9. 2.4. Citra Digital Citra digital merupakan sebuah matriks yang indeks baris dan kolomnya mengartikan sebuah titik koorditnat citra tersebut dan titiknya disebut sebagai piksel (elemen gambar). Pada citra digital dengan ukuran m x n, koordinat (0,0) dimulai dari sudut kiri atas sementara koordiat (m,n) berada pada sudut kanan bawah. 2.4.1. Jenis-jenis Citra 1. Citra Biner Citra biner merupakan citra yang hanya memiliki 2 nilai warna yang direpresentasikan nilai pikselnya dalam 1 bit. Kedua warna yang terdapat pada citra biner adalah hitam dan putih.Setiap piksel pada citra, untuk yang bernilai nol akan berwarna hitam dan untuk yang bernilai satu untuk akan berwarna putih.Contoh dari gambar biner dapat dilihat Gambar 2.2 .. Gambar 2.2. Citra Biner 2. Citra Grayscale Citra grayscale adalah citra yang menerapkan skala keabuan. Nilai RGB yang memiliki intensitas sama akan menjadi warna abu-abu. Citra grayscale memiliki kedalaman warna 8 bit untuk tiap pikselnya (256 kombinasi warna keabuan). Contoh gambar dari citra grayscale dapat dilihat pada Gambar 2.3 .. Universitas Sumatera Utara.
(24) 10. Gambar 2.3. Citra Grayscale 3. Citra RGB Citra RGB,merupakan jenis citra yang mengkombiasikan warna merah (RED), hijau (GREEN), biru (BLUE). Rentang nilai setiap komponen adalah 8 bit maka ada 256 macam warna setiap komponen RGB dengan rentang nilai 0 hingga 255. Dengan demikian, kemungkinan kombinasi warna mencapai 256 x 256 x 256 atau 16777216. Contoh salah satu gambar dari citra RGB dapat dilihat pada Gambar 2.4 .. Gambar 2.4. Citra RGB 2.4.2. Pixel (Picture Element) Pixel (Picture Element) disebut dalam Bahasa Indonesia sebagai Piksel merupakan titik - titik yang merupakan elemen matriks dari sebuah citra yang mengandung nilai intensitas cahaya dengan besaran yang bergantung pada jenis citranya. Pada citra RGB, satu piksel besarnya 24 bit dengan rincian 8 bit untuk RED, 8 bit untuk GREEN dan 8. Universitas Sumatera Utara.
(25) 11. bit untuk BLUE. Jumlah bit yang bernilai 8 pada masing - masing segmen warna, merepresentasikan rentang nilai yang memungkinkan pada segmen warna tersebut yaitu 0(2) hingga 11111111(2), jika dikonversikan ke desimal maka akan menjadi 0 hingga 255. Untuk mempermudah dapat melihat ilustrasi pada Gambar 2.5 .. 0. 1. 0. 1. R = 255. R = 20. G = 255. G = 150. B = 255. B = 50. R = 100. R=0. G = 10. G=0. B = 20. B=0. Gambar 2.5. Ilustrasi Citra RGB 2.5. Least Significant Bit (LSB) Least Significant Bit (LSB) adalah suatu metode penyisipan data biner yang bekerja dengan mengganti bit terakhir setiap nilai piksel cover dengan bit-bit pesan rahasia. Sebelum menyisipkan pesan rahasia ke dalam cover tentu keduanya harus diubah ke dalam bentuk biner sehingga proses penyisipan dapat dilakukan. Pada Gambar 2.6 dapat dilihat konversi bilangan desimal 255 ke biner dan LSB pada deret angka biner hasil konversi tersebut.. Universitas Sumatera Utara.
(26) 12. Gambar 2.6. Least Significant Bit pada deret angka biner. 2.6. Spread Spectrum Metode spread spectrum mentransmisikan sebuah sinyal pita informasi yang sempit ke dalam sebuah kanal pita lebar dengan penyebaran frekuensi. Penyebaran semua data tersembunyi di atas gambar sampul ini akan membuat lebih sulit untuk dideteksi dan dikenali dengan mata telanjang (Seyyedi & Sadykhov, 2013). Spread spectrum merupakan bagian dari ranah transform. Sebuah metode pentransmisian dengan menggunakan pseudo-noise code, yang independen terhadap data informasi, sebagai modulator bentuk gelombang untuk menyebarkan energi sinyal dalam sebuah bandwith yang lebih besar daripada sinyal jalur komunikasi informasi. Oleh penerima, sinyal akan dikumpulkan kembali dengan menggunakan replika pseudo-noise code tersinkronisasi. Berdasarkan definisi dapat dikatakan bahwa steganografi menggunakan metode spread spectrum memperlakukan cover-object baik sebagai derau (noise) ataupun sebagai usaha untuk menambahkan derau semu (pseudonoise) ke dalam cover-object. Meskipun kekuatan sinyal yang akan ditransmisikan bisa saja besar, rasio sinyalderau di setiap pita frekuensi akan menjadi kecil. Bahkan jika bagian dari sinyal bisa dihapus di beberapa pita frekuensi, informasi yang cukup seharusnya ada di pita lain untuk memulihkan sinyal. Dengan demikian, Spread spectrum membuat kesulitan untuk dideteksi dan atau dihapus sinyalnya, sekalipun jumlah bit informasi dalam gambar digital besar. Karena sinyal yang tersebar cenderung sulit untuk dihapus, metode penyisipan berdasarkan Spread spectrum memberikan tingkat ketahanan yang besar (Katzenbeisser & Petitcolas 2000). 2.6.1. Langkah-langkah penyisipan pesan metode spread spectrum Langkah-langkah penyisipan pesan dengan metode spread spectrum ini terdiri dari tiga proses, yaitu spreading, modulasi, dan penyisipan pesan ke citra.. Universitas Sumatera Utara.
(27) 13. Pertama-tama, pesan yang dimasukkan dibaca dan ukuran pesan akan diperiksa; apakah dapat disisipkan dalam cover-image atau tidak menggunakan rumus dibawah ini (Nababan. 2015): 𝑃=. (w . h − 1).3 8.4. Keterangan: p = ukuran pesan (karakter) yang dapat disisipkan ke gambar. w = jumlah kolom matriks gambar. h = jumlah baris matriks gambar. Perkalian antara w dan h dikurangi dengan 1 karena satu piksel gambar akan digunakan sebagai piksel penanda. Piksel penanda dibuat agar sistem mengetahui kapan pembacaan bit pesan dari citra harus dihentikan. Hasilnya dikalikan dengan 3 karena dalam satu piksel dapat disisipkan 3 bit pesan yaitu di R, G dan B. Angka 8 menunjukkan jumlah bit dalam satu karakter, sedangkan angka 4 adalah besar faktor pengali yang berguna untuk penyebaran bit. Penyisipan pesan hanya dapat dilakukan jika ukuran pesan yang ingin disisipkan lebih kecil atau sama dengan p. Jika syarat sudah terpenuhi, pesan diubah menjadi bentuk biner. Misalkan pesan yang akan disisipkan adalah piksel (0,1) pada gambar 2.5 yang berisikan nilai RGB "20 150 50" dengan nilai biner adalah 00010100 10010110 00110010. Kemudian biner pesan disebar dengan besaran skalar pengalinya empat, sehingga akan menghasilkan segmen baru, yaitu: 00000000000011110000111100000000 11110000000011110000111111110000 00000000111111110000000011110000 Langkah selanjutnya. ialah membangkitkan. pseudonoise. dengan bibit. pembangkitan yang ditentukan berdasarkan kata kunci “ANRI”. A = 01000001 N = 01001110 00001111. Universitas Sumatera Utara.
(28) 14. R = 01010010 01011101 I=. 01001001 00010100. 20 (desimal). Setelah didapatkan nilai kata kunci (20), nilai tersebut digunakan sebagai bibit awal pembangkitan bilangan acak. Perhitungan pembangkitan bilangan acak sesuai dengan rumus pembangkitan bilangan acak LCG adalah sebagai berikut: Xn+1 = (aXn + c) mod m dengan ketentuan dimana c dan m relatif prima. a = 22, c = 5, m = 72 Xn = bilangan bulat ke-n Perhitungannya adalah sebagai berikut. X1 = (22 * 20 + 5) mod 72 hasilnya X1 = 13 X2 = (22 * 13 + 5) mod 72 hasilnya X2 = 3 X3 = (22 * 3 + 5) mod 72 hasilnya X3 = 71 X4 = (22 * 71 + 5) mod 72 hasilnya X4 = 55 Demikian seterusnya untuk X5,X6, X7, X8...Xn Sebagai contoh dilakukan lima kali penyebaran dan hasilnya adalah "13 3 71 55" jika diubah dalam bentuk biner menjadi “00001101 00000011 01000111 00110111”. Untuk mencari hasil modulasi, segmen pesan dimodulasi dengan pseudonoise signal menggunakan fungsi XOR (Exlusive OR). Segmen pesan: 00000000000011110000111100000000 11110000000011110000111111110000 00000000111111110000000011110000. Pseudonoise signal: 00001101 00000011 01000111 00110111. Universitas Sumatera Utara.
(29) 15. Maka hasil modulasi antara segmen pesan dengan pseudonoise signal menggunakan fungsi XOR adalah 0000 0000 0000 1111 0000 1111 0000 0000 0000 1101 0000 0011 0100 0111 0011 0111 0000 1101 0000 1100 0100 1000 0011 0111 1111 0000 0000 1111 0000 1111 1111 0000 0000 1101 0000 0011 0100 0111 0011 0111 1111 1101 0000 1100 0100 1000 1100 0111 0000 0000 1111 1111 0000 0000 1111 0000 0000 1101 0000 0011 0100 0111 0011 0111 0000 1101 1111 1100 0100 0111 1100 0111 Hasil dari modulasi inilah yang kemudian akan disisipkan ke bit-bit gambar. Sebagai contoh, citra cover yang digunakan adalah citra berukuran piksel 6x6. Citra cover yang digunakan dapat dilihat pada gambar 2.7 dibawah ini.. 0. 1. 2. 3. 4. 5. Universitas Sumatera Utara.
(30) 16. 0. 1. 2. 3. 4. 5. R = 110. R = 123. R = 20. R = 255. R = 22. R = 200. G = 60. G = 120. G = 50. G = 255. G = 15. G = 150. B = 25. B = 20. B = 50. B = 255. B=5. B = 250. R = 100. R=0. R = 202. R = 53. R = 129. R = 192. G = 100. G=0. G = 159. G = 208. G = 117. G = 175. B = 200. B=0. B = 59. B = 127. B = 89. B = 63. R = 44. R = 38. R = 175. R = 99. R = 66. R = 154. G = 48. G = 79. G = 219. G = 78. G = 89. G = 150. B = 90. B = 90. B = 247. B = 66. B = 142. B = 50. R = 222. R = 12. R = 79. R = 124. R = 92. R=6. G = 155. G = 229. G = 159. G = 89. G = 91. G = 15. B = 95. B=9. B = 59. B = 77. B = 76. B = 60. R = 27. R = 57. R = 33. R = 145. R = 30. R = 44. G = 78. G = 39. G = 88. G = 200. G = 15. G = 78. B = 69. B = 32. B = 99. B = 180. B = 200. B = 251. R = 253. R = 212. R = 35. R = 88. R = 37. R = 84. G = 30. G = 115. G = 99. G = 83. G = 74. G = 184. B = 50. B = 155. B = 76. B = 89. B = 47. B = 197. Gambar 2.7. Citra Cover Gambar 2.6 menunjukkan sebuah citra cover dengan ukuran piksel 6x6 dimana segmen pesan akan disisipkan kedalam citra cover tersebut. Kemudian nilai RGB pada citra cover diatas dirubah menjadi nilai biner dan disisipkan hasil modulasi antara segmen pesan dengan pseudonoise signal. Berikut proses embedding-nya :. Tabel 2.1. Proses Embedding. Universitas Sumatera Utara.
(31) 17. 0. 1. 2. 3. 4. 5. 01101110 01111010 00010100 11111110 00010111 11001000 0. 00111100 01111001 00110011 11111110 00001111 10010110 00011000 00010101 00110010 11111110 00000100 11111011 01100100 00000000 11001010 00110101 10000001 11000001. 1. 01100100 00000000 10011110 11010000 01110101 10101111 11001001 00000000 00111011 01111111 01011001 00111111 00101101 00100111 10101110 01100011 01000010 10011010. 2. 00110001 01001110 11011010 01001110 01011001 10010111 01011010 01011010 11110111 01000010 10001110 00110010 11011110 00001101 01001110 01111101 01011100 00000111. 3. 10011010 11100100 10011111 01011000 01011010 00001110 01011111 00001000 00111011 01001100 01001101 00111101 00011011 00111001 00100000 10010001 00011110 00101101. 4. 01001111 00100111 01011000 11001000 00001111 01001111 01000101 00100001 01100010 10110100 11001001 11111011 11111100 11010101 00100011 01011000 00100101 01010100. 5. 00011110 01110011 01100011 01010011 01001010 10111000 00110010 10011011 01001100 01011001 00101111 11000101. Pada Tabel 2.1 dapat dilihat terdapat 32 piksel yang dimanipulasi sebagai tempat penyisipan pesan yang ditandai pada ujung deret biner terdapat tulisan warna merah yang merupakan pesan yang disisipkan pada piksel tersebut pada elemen RGB citra cover. Langkah tersebut terus dilakukan sampai hasil modulasi tersisipkan semua. Pada proses ekstraksi, proses yang dilakukan adalah kebalikan dari proses encode. Pilih citra yang akan diekstrak, kemudian gunakan kunci yang sama saat encode yaitu “ANRI”.. Universitas Sumatera Utara.
(32) 18. Langkah awal adalah membaca apakah citra tersebut sudah dilakukan penyisipan atau belum. Jika belum kemudian suatu fungsi akan mengambil header citra terlebih dahulu, selanjutnya pada body citra dilakukan penyaringan agar mendapatkan bit-bit hasil modulasi. Hasil dari proses penyaringan yang dilakukan akan mendapatkan bit-bit sebagai berikut: 00001101000011000100100000110111 11111101000011000100100011000111 00001101111111000100011111000111 Setelah semua bit-bit hasil modulasi diperoleh, kemudian dilakukan proses demodulasi dengan pseudonoise signal dari kata kunci yang sama pada proses modulasi agar memperoleh bit-bit yang berkorelasi. Hasil penyaringan: 00001101000011000100100000110111 11111101000011000100100011000111 00001101111111000100011111000111 Pseudonoise signal: 00001101000000110100011100110111 Hasil demodulasi: 00001101000011000100100000110111 00001101000000110100011100110111 00000000000011110000111100000000. 11111101000011000100100011000111 00001101000000110100011100110111 11110000000011110000111111110000. 00001101111111000100011111000111 00001101000000110100011100110111 . Universitas Sumatera Utara.
(33) 19. 00000000111111110000000011110000 Maka didapatlah hasil demodulasi yang menghasilkan segmen pesan sebagai berikut : 00000000000011110000111100000000 11110000000011110000111111110000 00000000111111110000000011110000 Proses berikutnya yaitu membagi empat hasil demodulasi untuk menyusutkan hasil demodulasi menjadi isi pesan asli. Proses penyusutan (de-spreading) segmen tersebut menjadi: 00010100 10010110 00110010 Hasil akhir “00010100 10010110 00110010” merupakan segmen pesan yang sama ketika disembunyikan pada proses encode. Hasil tersebut kemudian diubah ke bentuk desimal yang kemudian menjadi nilai RGB dari sebuah piksel citra yang telah disisipkan sebelumnya “20 150 50”. 2.7. Kompresi Data Kompresi data dilakukan untuk memperkecil ukuran dari sebuah data. Dengan melakukan kompresi, data atau file akan semakin sedikit memakai penyimpanan dan mengurangi waktu untuk mentransfer file atau data tersebut. Data yang telah dikompresi akan dikembalikan ke bentuk awal/asli, disebut dengan dekompresi. Pada saat dekompresi, file yang dikompresi memiliki catatan header yang berupa byte-byte. Catatan header tersebut akan mengembalikan isi dari file tersebut, jadi isi file tersebut sudah tertulis di catatan header sehingga hanya tinggal menuliskan kembali ke data aslinya. Metode kompresi dapat dikelompokan menjadi dua, yaitu metode lossless dan metode lossy.. Universitas Sumatera Utara.
(34) 20. 2.7.1. Kompresi Lossless Pada teknik ini pada umumnya digunakan penerapan yang tidak bisa mentoleransi setiap perbedaan antara data yang asli dan data yang telah dikontruksikan. Pada metode ini tidak ada terjadi kehilangan pada file atau data. Data yang telah dikompresi akan dapat kembali persis seperti data yang asli, dengan kata lain data sesudah dikompres sama dengan sebelum dikompres. Data berbentuk teks harus dikompres dengan metode ini, karena kehilangan salah satu huruf dapat mengakibatkan kesalah pahaman yang sangat berarti. Contoh metode ini adalah Shannon-Fano Coding, Huffman Coding, Arithmetic Coding, Run length Encoding dan lain sebagainya (Arizka, R. U.2011). 2.7.2. Kompresi Lossy Pada teknik ini terjadi kehilangan pada beberapa data atau file. Data yang telah dikompres tidak akan sama atau persis dengan data aslinya. Di dalam penerapan, banyak rekontruksi yang tepat untuk mengatasi suatu masalah. Biasanya pada metode ini ada banyak bagian yang tidak begitu kelihatan, tidak begitu berguna, dan tidak begitu dirasakan manusia akan dibuang demi mendapatkan kompresi yang terbaik, dengan mengurangi penyimpanan dengan sangat efisien. Kelebihan metode ini adalah rasio kompresinya yang lebih tinggi dibandingkan metode lossless. 2.8. Algoritma Huffman Algoritma kompresi Huffman dinamakan sesuai dengan nama penemunya yaitu David Huffman, seorang professor di MIT (Massachusets Instuate of Technology). Kompresi Huffman adalah kompresi lossless yang ideal untuk file teks atau file lain. Ini yang menyebabkan mengapa algoritma ini banyak dipakai (Wibowo, 2012). Algoritma Huffman adalah algoritma yang paling terkenal dalam mengkompresi data. Di dalam algoritma Huffman, terdapat 3 fase unruk mengubah sebuah data, pertama dengan pembentukan pohon Huffman, kedua fase encoding dan yang ketiga adalah fase decoding. Pengkodean Huffman ialah teknik untuk mengkompresi sebuah data. Algoritma greedy Huffman coding adalah bentuk coding statistic yang mencoba. Universitas Sumatera Utara.
(35) 21. untuk mengurangi jumlah bit yag diperlukan untuk mempresentasikan string dari simbol (Mathur,M. K.,Loonker, S. & Saxena, D.2012). Berdasarkan tekniknya, algoritma Huffman menggunakan metode symbol-wise dimana metode ini menghitung kemunculan kode simbol yang lebih pendek dibandingkan dengan simbol yang jarang muncul. Dan pada prinsipnya pengkodean algoritma Huffman mirip dengan kode Morse, yaitu setiap karakter (simbol) dikodekan hanya dengan rangkaian beberapa bit, dimana karakter (simbol) yang sering digunakan dikodekan pada rangkaian bit yang pendek dan karakter yang jarang digunakan dikodekan pada rangkaian bit yang lebih panjang. Berdasarkan kode yang digunakan mengubah pesan awal menjadi sekumpulan code-word, dan termasuk ke dalam algoritma statik dimana metode ini selalu meggunakan peta kode yang sama dan membutuhkan dua fase, yaitu fase menghitung kemunculan yang paling banyak tipe simbol dan menentukan peta kodenya dan fase mengubah pesan menjadi kode yang ditransmisikan. 2.8.1. Pembentukan Pohon Huffman Kode Huffman meruoakan kode prefiks(prefix code). Kode prefiks biasanya dipresentasikan sebagai pohon biner yang diberi simbol dan label. Untuk biner sebalah kiri diberi label 0, dan pada cabang kanan diberi label 1. Langkah-langkah pembentukan pohon biner pada Encoding Huffman ialah sebagai berikut : 1. Membaca nilai hex dari file citra yang akan dikompresi untuk menghitung frekuensi dari nilai hex pada citra tersebut. Nilai hex tersebut akan disusun ke dalam bentuk pohon yang bersimpul tunggal. 2. Jika terdapat lebih dari satu pohon : a. Cari dua pohon dengan jumlah weight yang paling kecil. b. Gabungkan dua pohon menjadi satu dan mempunyai nilai yang setara dengan jumlah keduanya. Salah satu nilai yang paling kecil sebagai child di sisi sebelah kiri dan sisanya sebagai child di sebelah kanan. 3. Lakukan langkah 1 dan 2 hingga membentuk satu pohon biner tunggal.. Universitas Sumatera Utara.
(36) 22. 4. Untuk setiap child sebelah kiri diberi simbol ‘0’ dan sebelah kanan diberi simbol ‘1’ untuk merepresentasikan child sisi kanan. 2.8.2. Encoding Huffman Urutan bit. code dalam encoding huffman berupa '0' dan '1' yang secara unik. dipresentasikan. sebuah. karakter.. Dengan. menggunakan. satu. bit,. sudah. merepresentasikan dua buah simbol (karakter). Sebagai contoh 0 merepresentasikan karakter pertama dan 1 merepresentasikan karakter kedua. Dengan menggunakan dua bit maka akan dapat merepresentasikan 22 atau 4 (empat) buah karakter. 00 - karakter pertama. 01 - karakter kedua. 10 - karakter ketiga. 11 - karakter keempat. Secara umum jika ingin mereprensentasikan n buah karakter maka diperlukan 2 n bit untuk merepresentasikan satu karakter. Kode ASCII menggunakan 7 bit untuk merepresentasikan sebuah karakter. Oleh karna itu 2 7 = 128 bit maka direpresentasikan dengan menggunakan kode ASCII. Sebagai contoh misalnya sebuah file terdiri atas data berikut ini : ANRIPURBA Maka frekuensi atau banyaknya kemunculan sebuah karakter dapat dilihat pada tabel 2.2 sebagai berikut. Tabel 2.2. Frekuensi karakter "ANRIPURBA" Karakter. A. R. B. I. N. P. U. Frekuensi. 2. 2. 1. 1. 1. 1. 1. Pada tabel 2.2 diatas dapat dilihat jumlah frekuensi pada masing-masing karakter. Selanjutnya dibentuk node berdasarkan frekuensi di atas, disusun mulai dari terbesar hingga terkecil. Dan kemudian dibentuk pohon Huffman dan diurutkan dari node. Universitas Sumatera Utara.
(37) 23. terkecil hingga terbesar agar didapat simbol atau kode pengganti untuk karakterkarakter di atas.. Gambar 2.8. Pengurutan node terkecil hingga terbesar Selanjutnya dua buah node terkecil digabung membentuk satu node baru seperti pada gambar 2.9.. Gambar 2.9. Penggabungan frekuensi dua node terkecil Setelah diurutkan berdasarkan frekuensi dua node terkecil, kemudian gabungkan kembali dua node terkecil lainnya yaitu, N dan P yang sama-sama memiliki frekuensi 1. Hasilnya dapat dilihat pada gambar 2.10 dibawah ini.. Gambar 2.10. Penggabungan node N dan P Setelah dilakukan penggabungan node N dan P maka penggabungan selanjutnya adalah node U dan A dimana node U memiliki nilai frekuensi 1 dan node A memiliki nilai frekuensi 2. Dapat dilihat pada gambar 2.11 berikut ini.. Gambar 2.11. Penggabungan node U dan A. Universitas Sumatera Utara.
(38) 24. Kemudian selanjutnya dilakukan penggabungan node R yang berfrekuensi 2 dengan node B dan I yang sebelumnya telah dilakukan penggabungan seperti pada gambar 2.12 berikut ini.. Gambar 2.12. Penggabungan node R Setelah proses penggabungan node R dengan node B dan I yang telah dilakukan maka selanjutnya dilakukan penggabungan antara node N dan P yang telah digabungkan dengan node U dan A yang juga telah digabungkan sebelumnya. Dan hasilnya dapat dilihat pada gambar 2.13 dibawah ini.. Gambar 2.13. Penggabungan antara node N dan P dengan node U dan A Selanjutnya dua node terakhir yang telah dihasilkan digabungkan sehingga membentuk satu pohon tunggal yang disebut pohon Huffman seperti pada Gambar 2.14.. Universitas Sumatera Utara.
(39) 25. Gambar 2.14. Penggabungan dua node terakhir Setelah dilakukan penggabungan dua node terakhir seperti pada gambar 2.14 diatas, selanjutnya langkah terakhir adalah pemberian label atau simbol bit "0" untuk sebelah kiri dan label bit "1" untuk setiap sisi sebelah kanan seperti pada gambar 2.15 dibawah ini.. Gambar 2.15. Pemberian label bit "0" dan "1" Setelah pemberian label bit "0" dan "1" pada pohon Huffman seperti pada gambar 2.15 maka selanjutnya karakter akan diganti dengan simbol bit yang lebih pendek menjadi : A = 111, R = 00, B = 010, I = 011, N = 100, P = 101, U = 110 atau dalam code word menjadi 11100010011100101110. Maka ANRIPURBA setelah dikompresi menjadi 1111000001110111000010111. Untuk lebih jelasnya dapat dilihat pada tabel 2.3 berikut ini.. Universitas Sumatera Utara.
(40) 26. Tabel 2.3. Hasil Kompresi Huffman Karakter. Frekuensi. Code word. Panjang code word. Frekuensi * Panjang. A. 2. 111. 3. 6. R. 2. 00. 2. 2. B. 1. 010. 3. 3. I. 1. 011. 3. 3. N. 1. 100. 3. 3. P. 1. 101. 3. 3. U. 1. 110. 3. 3. Total. 23. Pada tabel 2.3 menunjukkan nilai-nilai kompresi Huffman pada kata "ANRIPURBA". 2.9. Parameter Analisis Kompresi Pada suatu metode yang digunakan pada proses kompresi data terdapat faktorfaktor atau variabel yang biasa digunakan untuk menganalisis kualitas dari suatu metode kompresi data tersebut, yaitu : 1. Ratio of Compression (RC) Ratio of Compression (RC) adalah nilai perbandingan antara ukuran bit data sebelum dikompresi dengan ukuran bit data yang telah dikompresi. Secara matematis dapat dituliskan sebagai berikut : 𝑹𝑪 =. 𝒖𝒌𝒖𝒓𝒂𝒏𝒃𝒊𝒕𝒅𝒂𝒕𝒂𝒃𝒆𝒍𝒖𝒎𝒅𝒊𝒌𝒐𝒎𝒑𝒓𝒆𝒔𝒊 𝒖𝒌𝒖𝒓𝒂𝒏𝒃𝒊𝒕𝒅𝒂𝒕𝒂𝒔𝒆𝒕𝒆𝒍𝒂𝒉𝒅𝒊𝒌𝒐𝒎𝒑𝒓𝒆𝒔𝒊. 2. Compression Ratio (CR) Compression Ratio (CR) merupakan persentase perbandingan antara data terkompresi dengan data yang belum terkompresi. Secara matematis dapat dituliskan sebagai berikut :. Universitas Sumatera Utara.
(41) 27. 𝐂𝐑 =. 𝒖𝒌𝒖𝒓𝒂𝒏𝒃𝒊𝒕𝒅𝒂𝒕𝒂𝒔𝒆𝒕𝒆𝒍𝒂𝒉𝒅𝒊𝒌𝒐𝒎𝒑𝒓𝒆𝒔𝒊 𝒙 𝟏𝟎𝟎% 𝒖𝒌𝒖𝒓𝒂𝒏𝒃𝒊𝒕𝒅𝒂𝒕𝒂𝒃𝒆𝒍𝒖𝒎𝒅𝒊𝒌𝒐𝒎𝒑𝒓𝒆𝒔𝒊. 3. Space Saving (SS) Space Saving (SS) adalah persentase selisih antara data yang belum dikompresi dengan besar data yang dikompresi. SS = 1 - Cr 4.. Bitrate Bitrate adalah rata-rata banyaknya bit yang digunakan pada file yang terkompresi sebagai pengganti bit aslinya. 𝑩𝒊𝒕𝒓𝒂𝒕𝒆 =. 𝒋𝒖𝒎𝒍𝒂𝒉 𝒃𝒊𝒕 𝒔𝒆𝒕𝒆𝒍𝒂𝒉 𝒌𝒐𝒎𝒑𝒓𝒆𝒔𝒊 𝑩𝒂𝒏𝒚𝒂𝒌𝒏𝒚𝒂 𝒅𝒂𝒕𝒂 𝒔𝒆𝒃𝒆𝒍𝒖𝒎 𝒌𝒐𝒎𝒑𝒓𝒆𝒔𝒊. 2.10. Penelitian yang Relevan Beberapa penelitian terdahulu yang relevan dengan penelitian yang akan dilakukan oleh penulis antara lain adalah sebagai berikut: -. Budi Pranoto (2011) dalam skripsi yang berjudul Steganografi Pada Citra Digital Menggunakan Metode Spread Spectrum Dan Metode Least Significant Bit (LSB) Modification.Dari skripsi ini dapat diketahui bagaimana algoritma Spread Spectrum di implementasikan pada Steganografi dan juga diketahui cara kerja algoritma ini.. -. Redekar, Sahej & Gunjan, Dr. Reena. (2012). Dalam Jurnal Internasional yang berjudul Extracting Spread Spectrum Data from Image. Dari Jurnal ini dapat diketahui bagaimana proses ekstraksi data Spread Spectrumdari sebuah gambar.. -. Aditia Arisah Putra (2018). Dalam skripsi yang berjudul Implementasi Kriptografi dengan Algoritma Rivest Shamir Adleman (RSA) dan Algoritma Kompresi Huffman pada File WAV. Dari skripsi ini dapat diketahui bagaimana cara kerja algoritma Huffman,. Universitas Sumatera Utara.
(42) BAB 3 ANALISIS DAN PERANCANGAN SISTEM. 3.1. Analisis Sistem Analisis sistem diuraikan menjadi bagian-bagian komponen yang bertujuan untuk mempelajari kinerja masing-masing komponen tersebut demi mencapai tujuan sistem. Pada penelitian ini ada dua tahap analisis yaitu, analisis masalah dan analisis kebutuhan. Analisis masalah bertujuan untuk mengetahui dan memahami permasalahan faktor - faktor penyebab permasalahan. Sementara analisis kebutuhan bertujuan untuk menjelaskan sistem dari aplikasi ini yang terdiri dari berbagai fungsi – fungsi yang akan digunakan. 3.1.1. Analisis masalah Analisis masalah yang dilakukan adalah menyembunyikan informasi berupa citra ke dalam citra dengan menggunakan metode Spread Spectrum dan fungsi kompresi Huffman. Gambar 3.1 merupakan gambaran masalah secara umum dalam penelitian ini dengan menggunakan diagram Ishikawa (fishbone diagram).. Universitas Sumatera Utara.
(43) 29. Gambar 3.1 Diagram Ishikawa Pada gambar 3.1 dapat dilihat permasalahan utamanya adalah pesan citra yang dikirim akan jatuh ke pihak yang tidak diinginkan dan pesan citra yang dikirim cenderung memiliki ukuran yang relatif besar. Oleh karena itu, dapat dilihat juga pada penelitian ini memberikan solusi untuk memberikan keamanan pesan citra menggunakan metode Spread Spectrum serta mengkompresi hasil stego image dengan menggunakan algoritma kompresi Huffman untuk memperkecil ukuran file pesan citra yang dikirimkan sender ke receiver. 3.1.2. Analisis Kebutuhan Sistem Dalam analisis kebutuhan sistem, dibagi menjadi dua bagian yaitu analisis kebutuhan fungsional dan non-fungsional. Kebutuhan fungsional menjelaskan fungsi-fungsi yang berkaitan dengan tujuan dari sistem aplikasi pada penelitian ini. Sementara kebutuhan non-fungsional menjelaskan fitur – fitur tambahan yang tidak mempengaruhi tujuan sistem aplikasi pada penelitian ini.. Universitas Sumatera Utara.
(44) 30. a. Kebutuhan Fungsional •. Menerima input plainimage Sistem mencari dan membaca file gambar yang berekstensi .PNG yang tersimpan pada perangkat yang digunakan.. •. Menerima output stegoimage dan file yang sudah dikompresi Sistem menghasilkan file gambar yang berekstensi .PNG dan file yang sudah terkompresi berekstensi .hf.. •. Menerima input kunci Menggunakan kunci linear congruential generator (LCG) secara acak oleh sistem.. •. Menerima output kunci dan kamus Sistem menyimpan kunci LCG yang digunakan pada proses penyisipan pesan citra dan sistem menghasilkan kamus dari hasil kompresi yang berekstensi .hfdict.. •. Fungsi Penyisipan Sistem dapat melakukan penyisipan file citra berformat .PNG yang dikonversi menjadi barisan bit ke dalam citra PNG lain.. •. Fungsi Ekstraksi Sistem dapat mengekstrak bit – bit dari citra berformat .PNG yang akan direkonstruksi menjadi file citra.. •. Fungsi Kompresi dan Dekompresi Sistem dapat melakukan kompresi dan dekompresi file citra dengan format .PNG. •. Fungsi Komparasi Sistem dapat membandingkan dua buah citra dan menentukan PSNR, MSE, dan verifikasi kesamaan citra pesan dan citra hasil ekstraksi. Citra yang akan dibandingkan adalah citra stego dengan citra cover atau citra pesan dengan citra hasil ekstraksi.. Universitas Sumatera Utara.
(45) 31. b. Kebutuhan Nonfungsional •. Performa Sistem akan melakukan proses penyisipan, ekstrasi, kompresi, dan dekompresi pesan dengan waktu yang relatif singkat.. •. Dokumentasi Sistem memiliki panduan mengenai cara pemakaian.. 3.2. Perancangan Sistem Pemodelan sistem menggunakan diagram UML (Unified Modelling Language) untuk menggambarkan kerja sistem. Diagram UML yang digunakan adalah General Arsitektur, Use Case Diagram, Activity Diagram, Sequence Diagram, Flowchart, perancangan antarmuka sistem aplikasi. 3.2.1. General Arsitektur General Arsitektur dapat dilihat pada Gambar 3.2.. Gambar 3.2. Diagram General Arsitektur. Universitas Sumatera Utara.
(46) 32. Pada gambar 3.2 menunjukkan konsep perencanaan dan struktur pengoperasian dasar dari bentuk sistem yang akan dibuat. Dapat dilihat pada gambar 3.2 Carlos sebagai pengirim pesan akan mengirimkan message image kepada Jennie dimana pesan itu disisipkan kedalam cover image, setelah disisipkan dilakukan pengkompresian file pada stego image dan mengirimkannya ke Jennie. Kemudian Jennie akan membuka pesan tersebut dimana si Jennie akan mendekompresikan pesan itu, selanjutnya Jennie akan melakukan proses ekstraksi pada file yang telah didekompresi sehingga Jennie dapat melihat message image tersebut. 3.2.2. Use Case Diagram Diagram use case digunakan untuk menjelaskan hubungan atau interaksi antara pengguna dengan sistem. Gambar 3.3 adalah diagram use case dari sistem yang akan dibangun.. Universitas Sumatera Utara.
(47) 33. Gambar 3.3. Use Case Diagram Pada gambar 3.3 sistem digunakan oleh dua orang aktor yaitu sender dan receiver. Sender dapat membuka menu sender yang didalam nya meliputi dua proses yaitu, embed dan compress. Dimana proses embed berisikan open message, open cover, random key, embed, save image dan proses compress berisikan open image dan compress yang sekaligus menyimpan file yang telah dikompresi sedangkan receiver dapat membuka menu receiver yang didalam nya meliputi dua proses yaitu, decompress dan extract. Dimana proses decompress berisikan open file, decompress, save image dan proses extract berisikan open stego image, open key, extract, dan save image.. Universitas Sumatera Utara.
(48) 34. 3.2.3. Activity Diagram •. Activity Diagram pada proses Embed :. Gambar 3.4. Activity Diagram untuk proses Embed Pada gambar 3.4 terdapat 2 kotak dimana kotak sebelah kiri pada gambar menunjukkan aktivitas yang dilakukan oleh sender dan kotak sebelah kanan adalah respon yang diberikan oleh sistem terhadap aktivitas yang dilakukan pengirim terhadap sistem.. Universitas Sumatera Utara.
(49) 35. •. Activity Diagram untuk proses Compress :. Gambar 3.5. Activity Diagram untuk proses kompresi Pada gambar 3.5 terdapat 2 kotak dimana kotak sebelah kiri pada gambar menunjukkan aktivitas yang dilakukan oleh sender dan kotak sebelah kanan adalah respon yang diberikan oleh sistem terhadap aktivitas yang dilakukan pengirim terhadap sistem.. Universitas Sumatera Utara.
(50) 36. •. Activity Diagram untuk proses Decompress :. Gambar 3.6. Activity Diagram untuk proses dekompresi Pada gambar 3.6 terdapat 2 kotak dimana kotak sebelah kiri pada gambar menunjukkan aktivitas yang dilakukan oleh receiver dan kotak sebelah kanan adalah respon yang diberikan oleh sistem terhadap aktivitas yang dilakukan pengirim terhadap sistem.. Universitas Sumatera Utara.
(51) 37. •. Activity Diagram untuk proses Extract :. Gambar 3.7. Activity Diagram untuk proses Extract Pada gambar 3.7 terdapat 2 kotak dimana kotak sebelah kiri pada gambar menunjukkan aktivitas yang dilakukan oleh receiver dan kotak sebelah kanan adalah respon yang diberikan oleh sistem terhadap aktivitas yang dilakukan pengirim terhadap sistem.. Universitas Sumatera Utara.
(52) 38. 3.2.4. Sequence Diagram •. Sequence Diagram Proses Embed dan Compress :. Gambar 3.8. Sequence Diagram untuk Proses Embed dan Compress Pada gambar 3.8 dapat dilihat interaksi antara sistem dengan sender secara berurutan. Aksi pengirim pesan terhadap sistem ditunjukkan dengan tanda panah garis penuh, sedangkan respon sistem terhadap pengirim pesan ditunjukkan dengan tanda panah garis putus-putus. •. Sequence Diagram Proses Decompress dan Extract :. Gambar 3.9. Sequence Diagram untuk Proses Decompress dan Extract. Universitas Sumatera Utara.
(53) 39. Pada gambar 3.9 dapat dilihat interaksi antara sistem dengan pengguna secara berurutan. Aksi pengirim pesan terhadap sistem ditunjukkan dengan tanda panah garis penuh, sedangkan respon sistem terhadap pengirim pesan ditunjukkan dengan tanda panah garis putus-putus. 3.2.5. Flowchart. Gambar 3.10. Flowchart Sistem Gambar 3.10 menggambarkan diagram alir proses penyisipan, kompresi, ekstraksi, dan dekompresi pada file citra. Proses sistem diawali dengan penginputan message image, cover image, dan kunci LCG. Selanjutnya penyisipan pesan dilakukan. Universitas Sumatera Utara.
(54) 40. dengan menggunankan fungsi penyisipan Spread Spectrum. Kemudian dilakukan kompresi pada stego image algoritma Huffman dan menghasilkan file kompresi dan kamus kompresinya. Sedangkan proses dekompresi dilakukan dengan input file kompresi dan kamusnya, kemudian file kompresi akan didekompresikan. dan. menghasilkan stego image, selanjutnya diekstraksi dengan menggunakan fungsi ekstraksi Spread Spectrum.. Universitas Sumatera Utara.
(55) 41. Gambar 3.11. Flowchart Embed Pada gambar 3.11 menunjukkan bagaimana proses penyisipan file citra. Pertama diinputkan message image, cover image, dan kunci LCG. Kemudian ubah semua warna pada pixel message image kedalam bentuk string biner yang telah dikalikan dengan 4. dilanjutkan dengan proses modulasi (XOR) dengan Pseudo Noise. Kemudian. Universitas Sumatera Utara.
(56) 42. menghasilkan pesan hasil modulasi yang akan disisipkan. Dan jika panjang pesan lebih besar dari jumlah yang dapat ditampung cover maka sisipkan semua pesan kedalam image cover pada RGB dengan metode LSB. Kemudian sistem akan mengeluarkan output stego image.. Universitas Sumatera Utara.
(57) 43. Gambar 3.12. Flowchart Compress. Universitas Sumatera Utara.
(58) 44. Pada gambar 3.12 menunjukkan bagaimana proses kompresi menggunakan algoritma Huffman. Pertama diinputkan stego image. Kemudian baca seluruh nilai pada citra stego dan mengurutkan nilai pada citra stego berdasarkan frequensi terkecil kemudian diubah kedalam bentuk node jika jumlah node lebih besar dari 1 gabungkan 2 buah node yang memiliki nilai terkecil sebagai node baru sampai jumlah node tidak lebih besar dari 1, jika tidak baca node dari atas hingga ke bawah untuk mendapatkan nilai codeword Hufman. Kemudian output Hasil Kompresi dan kamus kompresi.. Gambar 3.13. Flowchart Decompress Pada gambar 3.13 menggambarkan proses dekompresi dimana pertama dilakukan penginputan file kompresi dan kamusnya. Kemudian membaca nilai pada file kompresi kemudian merubahnya kedalam bentuk string bit, selanjutnya ganti nilai pada string bit sesuai dengan nilai yang tertera pada kamus. Dan kemudian menghasilkan output citra stego.. Universitas Sumatera Utara.
(59) 45. Gambar 3.14. Flowchart Extract Gambar 3.14 menggambarkan proses ekstraksi pada citra stego. Dimana proses diawali dengan penginputan stego image dan kunci LCG. Kemudian extract semua nilai pada LSB kedalam string bit dan lakukan proses demodulasi (XOR) string bit dengan Pseudo Noise, setelah itu lakukan pembagian string bit dengan nilai 4 sehingga menjadi. Universitas Sumatera Utara.
(60) 46. nilai asli pesan dan bentuk ulang semua pesan menjadi citra message. Dan Kemudian menghasilkan output message image. 3.2.6. Perancangan Antarmuka Perancangan antarmuka memliki fungsi untuk menggambarkan proses implementasi yang akan diterapkan pada sistem sehingga bersifat user friendly. a. Form Beranda Pada form beranda ini kita dapat melihat judul Utama dari sistem ini dan nama pembuat sistem ini. Form ini juga merupakan menu home.. Gambar 3.15. Rancangan Form Awal Keterangan Gambar 3.15 : 1. Label name digunakan untuk menampilkan judul "Implementasi Algoritma Kombinasi Steganografi Spread Spectrum dan Kompresi Citra Huffman Pada Penyisipan Gambar Dalam Gambar Berbasis Desktop". 2. Picture Box digunakan untuk menampilkan logo Universitas Sumatera Utara. 3. Label name digunakan untuk memberikan nama dan NIM pembuat.. Universitas Sumatera Utara.
(61) 47. b. Form Embed :. Gambar 3.16. Rancangan Form Embed Keterangan Gambar 3.16 : 1. Button digunakan untuk memilih citra pesan. 2. TextBox digunakan untuk menampilkan nilai key, a, c, dan m. 3. Button digunakan untuk melakukan proses pengacakan kunci LCG. 4. Button digunakan untuk memilih citra cover. 5. Button digunakan untuk melakukan proses penyisipan citra pesan kedalam citra cover. 6. TextBox digunakan untuk menampilkan nilai running time. 7. Button digunakan untuk melakukan proses penyimpanan citra hasil penyisipan. 8. PictureBox digunakan untuk menampilkan citra pesan. 9. PictureBox digunakan untuk menampilkan citra cover. 10. PictureBox digunakan untuk menampilkan citra hasil sisip atau stego image.. c. Form Compress :. Universitas Sumatera Utara.
(62) 48. Gambar 3.17. Rancangan Form Compress Keterangan Gambar 3.17 : 1. Button digunakan untuk memilih citra pesan. 2. Button digunakan melakukan proses kompresi dan menyimpan hasil kompresi serta kamus kompresi. 3. TextBox digunakan untuk menampilkan nilai original size, running time, compressesd size, ratio of compression, compression ratio, space saving. 4. PictureBox digunakan untuk menampilkan citra.. d. Form Decompress :. Universitas Sumatera Utara.
(63) 49. Gambar 3.18. Racangan Form Decompress Keterangan Gambar 3.18 : 1. TextBox digunakan untuk menampilkan lokasi penyimpanan file yang digunakan. 2. Button digunakan untuk memilih file kompresi dan file kamus. 3. Button digunakan untuk melakukan proses dekompresi. 4. Button digunakan untuk melakukan proses menyimpan image. 5. TextBox digunakan untuk menampilkan nilai running time. 6. PictureBox digunakan untuk menampilkan citra hasil dekompresi.. e. Form Extract :. Universitas Sumatera Utara.
(64) 50. Gambar 3.19. Rancangan Form Extract Keterangan Gambar 3.19 : 1. TextBox digunakan untuk menampilkan nilai key, a, c, m. 2. Button digunakan untuk memilih citra stego. 3. Button digunakan untuk memilih kunci LCG. 4. TextBox digunakan untuk menampilkan nilai panjang dan lebar dari sebuah citra pesan hasil ekstraksi. 5. Button digunakan untuk melakukan proses ekstraksi pesan citra. 6. TextBox digunakan untuk menampilkan nilai running time. 7. Button digunakan untuk melakukan proses penyimpanan file citra. 8. PictureBox digunakan untuk menampilkan citra stego. 9. PictureBox digunakan untuk menampilkan citra pesan dari hasil ekstraksi.. f. Form Comparison :. Universitas Sumatera Utara.
(65) 51. Gambar 3.20. Racangan Form Comparison Keterangan Gambar 3.20 : 1. TextBox digunakan untuk menampilkan nilai result, MSE, PSNR. 2. Button digunakan untuk memilih citra awal untuk dibandingkan. 3. Button digunakan untuk melakukan proses komparasi citra yang dibandingkan. 4. Button digunakan untuk memilih citra kedua untuk dibandingkan dengan citra awal. 5. PictureBox digunakan untuk menampilkan citra awal. 6. PictureBox digunakan untuk menampilkan citra kedua.. g. Form Help :. Universitas Sumatera Utara.
(66) 52. Gambar 3.21. Rancangan Form Help Keterangan Gambar 3.21 : 1. PictureBox digunakan untuk menampilkan halaman bantuan penggunaan aplikasi.. Universitas Sumatera Utara.
(67) BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM. 4.1. Implementasi Sistem Setelah dilakukan analisis dan rancangan sistem yang telah diuraikan pada bab sebelumnya, dan tahapan selanjutnya adalah mengimplementasikan sistem tersebut kedalam bahasa pemrograman. Sistem ini dibangun dengan menggunakan bahasa pemrograman Visual Basic dan IDE Visual Studio. Pada sistem ini terdapat tujuh halaman, yaitu : halaman Home, halaman Embed, halaman Compress, halaman Decompress, halaman Extract, halaman Comparison, halaman Help. 4.1.1. Halaman Home Halaman Home merupakan halaman yang pertama kali tampil pada saat sistem dijalankan. Tampilan halaman Home dapat dilihat pada gambar 4.1.. Universitas Sumatera Utara.
(68) 54. Gambar 4.1. Halaman Home Pada gambar 4.1 menunjukkan halaman Home yang didalamnya berisikan informasi judul, nama pembuat sistem, serta nomor induk mahasiswa pembuat. 4.1.2. Halaman Embed Halaman Embed merupakan halaman yang ditampilkan jika user memilih menu Embed.. Universitas Sumatera Utara.
(69) 55. Gambar 4.2. Halaman Embed Pada gambar 4.2 menunjukkan halaman Embed yang digunakan untuk melakukan proses penyisipan citra pesan kedalam citra cover.. Dimana juga terdapat Button "Open Message" untuk menginput file berupa citra pesan, Button "Open Cover" untuk menginput file berupa citra cover, Button "Random Key" untuk mengacak kunci LCG, Button "Embed" untuk menyisipkan pesan citra, dan Button "Save image" untuk menyimpan file yang telah disisipkan. 4.1.3. Halaman Compress Halaman Compress merupakan halaman yang ditampilkan jika user memilih menu Compress yang terdapat pada Menu Bar.. Universitas Sumatera Utara.
(70) 56. Gambar 4.3. Halaman Compress Pada gambar 4.3 menunjukkan halaman Compress yang digunakan untuk melakukan proses kompresi pada citra stego yang telah dilakukan penyisipan sebelumnya. Dimana juga terdapat Button "Open Image" yang digunakan untuk menginputkan citra yang akan dikompresi, Button "Compress" yang digunakan untuk melakukan proses kompresi. 4.1.4. Halaman Decompress Halaman Decompress merupakan halaman yang ditampilkan jika user memilih menu Decompress yang terdapat pada Menu Bar.. Universitas Sumatera Utara.
(71) 57. Gambar 4.4. Halaman Decompress Pada gambar 4.4 menunjukkan halaman Decompress yang digunakan untuk melakukan proses dekompresi. Dimana juga terdapat Button "Open File" untuk menginput file berupa citra, Button "Decryption" untuk mendekripsi pesan, dan Button "Save" untuk menyimpan file yang telah didekripsi. 4.1.5. Halaman Extract Halaman Extract merupakan halaman yang ditampilkan jika user memilih menu Extract yang terdapat pada Menu Bar.. Universitas Sumatera Utara.
(72) 58. Gambar 4.5. Halaman Extract Pada gambar 4.5 menunjukkan halaman Extract yang digunakan untuk melakukan proses ekstraksi pada stego image. Dimana juga terdapat Button "Open Stego Image" untuk menginputkan citra stego yang akan dilakukan proses ekstraksi, Button "Open Key" untuk menginputkan kunci LCG yang sebelumnya telah disimpan, Button "Extract" untuk melakukan proses ekstraksi, dan Button "Save Image" untuk menyimpan file citra dari hasil proses ekstraksi. 4.1.6. Halaman Comparison Halaman Comparison merupakan halaman yang ditampilkan jika user memilih menu Comparison yang terdapat pada Menu Bar.. Universitas Sumatera Utara.
(73) 59. Gambar 4.6. Halaman Comparison Pada gambar 4.6 menunjukkan halaman Comparison yang digunakan untuk melakukan proses komparasi. Dimana juga terdapat Button "Open Image A" untuk menginputkan citra pesan awal, Button "Open Image B" untuk menginputkan citra pesan hasil dari proses ekstraksi terakhir, Button "Check" untuk melakukan proses komparasi. 4.1.7. Halaman Help Halaman Help merupakan halaman yang ditampilkan oleh sistem jika pengguna memilih menu “Help” pada menu bar. Tampilan dari halaman Help ini dapat dilihat pada gambar 4.7.. Universitas Sumatera Utara.
(74) 60. Gambar 4.7. Halaman Help Pada gambar 4.7 menampilkan informasi mengenai langkah-langkah penggunaan sistem sehingga memudahkan pengguna untuk menggunakan sistem. 4.2. Pengujian Sistem Pada tahap ini akan dilakukan pengujian apakah sistem berhasil melakukan proses penyisipan, kompresi, dekompresi, dan ekstraksi citra pesan menggunakan algoritma Spread Spectrum dan algoritma Huffman. Citra pesan yang akan digunakan adalah citra yang berukuran 60 x 60 piksel dan menggunakan citra cover berukuran 1500 x 1000 piksel. Tampilan dari citra pesan dan citra cover dapat dilihat pada gambar 4.8 dan gambar 4.9 berikut ini.. Gambar 4.8. Citra pesan 60 x 60 piksel Gambar 4.8 menampilkan sebuah citra dengan ukuran 500 x 500 piksel.. Universitas Sumatera Utara.
(75) 61. Gambar 4.9. Citra cover 1500 x 1000 piksel Gambar 4.9 menampilkan sebuah citra dengan ukuran 1500 x 1000 piksel. 4.2.1. Pengujian Embedding Pada tahap ini pertama dilakukan dengan cara menekan button "Open Message" untuk menginputkan file citra pesan yang akan diproses. Kemudian tekan button "Random Key" untuk mengacak kunci LCG. Dan sistem akan menampilkan nilai dari hasil pengacakan kunci. Selanjutnya tekan button "Open Cover" untuk menginputkan citra cover sebagai wadah citra pesan yang akan disisipkan. Setelah itu tekan button "Embed" untuk melakukan proses penyisipan citra pesan kedalam citra cover. Kemudian tekan button "Save Image" untuk menyimpan citra yang telah dilakukan proses penyisipan. Tampilan dari proses penyisipan dapat dilihat pada gambar 4.10.. Universitas Sumatera Utara.
(76) 62. Gambar 4.10. Hasil Proses Embedding Gambar 4.10 menunjukkan hasil penyisipan citra pesan kedalam citra cover. 4.2.2. Pengujian Compression Pada tahap ini pertama dilakukan dengan cara menekan button "Open Image" untuk menginputkan file citra dimana file yang akan digunakan adalah file "Stego Image". Kemudian tekan tombol button "Compress" untuk dilakukannya proses kompresi pada citra stego serta menyimpan hasil kompresi dan kamus kompresinya. Dan sistem akan menampilkan informasi-informasi setelah berhasilnya proses kompresi di dalam GroupBox "info". Tampilan dari hasil proses kompresi dapat dilihat pada gambar 4.11.. Universitas Sumatera Utara.
(77) 63. Gambar 4.11. Proses Compression Pada gambar 4.11 dapat dilihat informasi-informasi setelah berhasilnya proses kompresi yaitu, Original Size, Running Time, Compressed Size, Ratio of Compression, Compression Ratio, Space Saving. 4.2.3. Pengujian Decompression Pada tahap ini pertama dilakukan dengan cara menekan button "Open File" untuk menginputkan file kompresi dan file kamus kompresinya. Kemudian tekan tombol button "Decompress" untuk dilakukannya proses dekompresi pada file kompresi yang telah dimasukkan sebelumnya. Dan sistem akan menampilkan nilai running time dalam satuan (ms). Tampilan dari hasil proses dekompresi dapat dilihat pada gambar 4.12.. Universitas Sumatera Utara.
(78) 64. Gambar 4.12. Hasil Proses Decompression Pada gambar 4.12 menunjukkan file kompresi yang telah didekompresi menghasilkan sebuah citra stego yang sebelumnya telah dilakukan proses kompresi dan sistem juga menampilkan nilai running time dari proses dekompresi tersebut. 4.2.4. Pengujian Extraction Pada tahap ini pertama dilakukan dengan cara menekan button "Open Stego Image" untuk menginputkan file citra stego. Kemudian tekan button "Open Key" untuk menginputkan kuncil LCG yang telah disimpan sebelumnya. Selanjutnya tekan button "Extract" untuk melakukan proses ekstraksi pada citra stego serta sistem akan menampilkan nilai ukuran panjang dan lebar pesan citra yang telah diekstrak. Tampilan dari hasil proses ekstraksi dapat dilihat pada gambar 4.13.. Universitas Sumatera Utara.
(79) 65. Gambar 4.13. Hasil Proses Extraction Pada gambar 4.13 menunjukkan hasil ekstraksi citra stego dimana pada proses ekstraksi citra pesan dapat keluarkan dari citra cover. Dan sistem juga menampilkan nilai running time yang didapat dari proses ekstraksi berlangsung. 4.2.5. Pengujian Comparison Pada tahap ini pertama dilakukan dengan cara menekan button "Open Image A" dan button "Open Image B" untuk menginputkan file citra untuk membandingkan kesaaman kedua citra tersebut. Kemudian tekan button "Check" untuk melakukan proses pengecekkan kesamaan kedua citra yang akan dibandingkan dengan menggunakan algoritma MSE dan PSNR. Tampilan dari hasil proses komparasi dapat dilihat pada gambar 4.14.. Universitas Sumatera Utara.
(80) 66. Gambar 4.14. Hasil Proses Comparison Pada gambar 4.14 dapat dilihat hasil proses komparasi antara kedua citra, yaitu citra pesan awal dan citra pesan hasil dari proses ekstraksi yang telah dilakukan sebelumnya. Dapat dilihat hasil dalam skema kerja implementasi algoritma kombinasi steganografi Spread Spectrum dan kompresi Huffman pada penyisipan gambar dalam gambar menunjukkan kesesuaian citra pesan dengan hasil ekstraksi terakhir. Hal tersebut membuktikan bahwa implementasi diatas memenuhi parameter keutuhan data. 4.2.6. Perhitungan Manual Berikut ini merupakan proses perhitungan manual dari penyisipan sebuah citra berukuran 2 x 2 piksel yang ada pada gambar 2.5 kedalam citra berukuran 8 x 16 piksel seperti pada gambar 4.15 dibawah ini.. Universitas Sumatera Utara.
(81) 67. Gambar 4.15. Citra Cover 8 x 16 piksel 1. Pembangkitan Pseudonoise signal : pembangkitan pseudonoise dengan bibit pembangkitan yang ditentukan berdasarkan kata kunci “ANRI”. A = 01000001 N = 01001110 00001111 R = 01010010 01011101 I=. 01001001 00010100. 20 (desimal). Setelah mendapatkan nilai dari kata kunci (20), nilai tersebut digunakan sebagai bibit awal pembangkitan bilangan acak. Perhitungan pembangkitan bilangan acak sesuai dengan rumus pembangkitan bilangan acak LCG adalah sebagai berikut: Xn+1 = (aXn + c) mod m dengan ketentuan dimana c dan m relatif prima. a = 22, c = 5, m = 72 Xn = bilangan bulat ke-n Perhitungannya adalah sebagai berikut. X1 = (22 * 20 + 5) mod 72 hasilnya X1 = 13 X2 = (22 * 13 + 5) mod 72 hasilnya X2 = 3 X3 = (22 * 3 + 5) mod 72 hasilnya X3 = 71 X4 = (22 * 71 + 5) mod 72 hasilnya X4 = 55. Universitas Sumatera Utara.
(82) 68. Selanjutnya dari lima kali penyebaran didapatkan hasil sebagai berikut "13 3 71 55" yang diubah kedalam bentuk biner menjadi “00001101 00000011 01000111 00110111”. Pseudonoise signal yang akan digunakan adalah : 0000110100000011 0100011100110111 2. Menghitung pesan yang akan disisip dengan menggunakan metode Spread Spectrum : Nilai yang akan disisipkan pada citra cover merupakan nilai RGB dari citra pesan yang dapat dilihat pada gambar 4.16 berikut.. 0. 1. 0. 1. R = 255. R = 20. G = 255. G = 150. B = 255. B = 50. R = 100. R=0. G = 10. G=0. B = 20. B=0. Gambar 4.16. Citra Pesan Kemudian nilai RGB tersebut dilakukan proses pengalian dengan skalarnya yaitu 4, dan kemudian dilakukan perhitungan modulasi yaitu (XOR) dengan nilai pseudonoise signal. Hasil perhitungan ini dapat dilihat pada tabel 4.1 berikut.. Universitas Sumatera Utara.
(83) 69. Tabel 4.1. Perhitungan Spread Spectrum Piksel(x,y). (0,0). (1,0). (0,1). (1,1). Nilai. Pengalian skalar 4. Modulasi dengan Pseudo Noise. 255. 11111111111111111111111111111111. 11110010111111001011100011001000. 255. 11111111111111111111111111111111. 11110010111111001011100011001000. 255. 11111111111111111111111111111111. 11110010111111001011100011001000. 20. 00000000000011110000111100000000. 00001101000011000100100000110111. 150. 11110000000011110000111111110000. 11111101000011000100100011000111. 50. 00000000111111110000000011110000. 00001101111111000100011111000111. 100. 00001111111100000000111100000000. 00000010111100110100100000110111. 10. 00000000000000001111000011110000. 00001101000000111011011111000111. 20. 00000000000011110000111100000000. 00001101000011000100100000110111. 0. 00000000000000000000000000000000. 00001101000000110100011100110111. 0. 00000000000000000000000000000000. 00001101000000110100011100110111. 0. 00000000000000000000000000000000. 00001101000000110100011100110111. Dari tabel 4.1 diatas, didapatkan pesan yang akan disisipkan kedalam citra cover setelah dilakukan Spread Spectrum. Pesan yang akan disisip adalah sebagai berikut. 111100101111110010111000110010001111001011111100101110001100100011110010 111111001011100011001000000011010000110001001000001101111111110100001100 010010001100011100001101111111000100011111000111000000101111001101001000 001101110000110100000011101101111100011100001101000011000100100000110111 000011010000001101000111001101110000110100000011010001110011011100001101 000000110100011100110111 3. Penyisipan pesan kedalam citra cover : Tabel 4.2. Nilai RGB Asli Pada Citra Cover. 0. 1. 2. 0. 1. 2. 3. 4. 5. 6. 7. R=0. R=0. R=0. R=0. R=0. R=0. R=0. R=0. G = 100. G = 100. G = 100. G = 100. G = 100. G = 100. G= 100. G = 100. B = 200. B = 200. B = 200. B = 200. B = 200. B = 200. B = 200. B = 200. R=0. R=0. R=0. R=0. R=0. R=0. R=0. R=0 G = 100. G = 100. G = 100. G = 100. G = 100. G = 100. G = 100. G= 100. B = 200. B = 200. B = 200. B = 200. B = 200. B = 200. B = 200. B = 200. R=0. R=0. R=0. R=0. R=0. R=0. R=0. R=0. G = 100. G = 100. G = 100. G = 100. G = 100. G = 100. G= 100. G = 100. B = 200. B = 200. B = 200. B = 200. B = 200. B = 200. B = 200. B = 200. Universitas Sumatera Utara.
Garis besar
Dokumen terkait
Rumusan masalah pada penelitian adalah Apakah ada perbedaan metode pre-induksi hipnodonsi antara anak laki-laki dan perempuan usia 8- 10 tahun terhadap tingkat kecemasan
Tesis yang berjudul “ Model Multimedia Interaktif Untuk Meningkatkan Pemahaman dan Daya Tarik Pembelajaran Aksara Jawa Kelas X di SMA Negeri 3 Ponorogo ” ini adalah karya
Dalam mata kuliah ini dibahas Pengantar Mata Kuliah, Pancasila dalam Kajian, Sejarah Bangsa I ndonesia, Pancasila sebagai Dasar Negara, Pancasila sebagai I deologi negara,
pengaruh keahlian, kode etik, loyalitas dan insentif terhadap kualitas auditor. internal pada Inspektorat Provinsi Kepulauan
Kemitraan yang terjalin antara petani tembakau dengan PT Djarum adalah memberikan kredit pupuk dan pestisida kepada petani mitra tanpa bunga serta petani mitra
a) Kemampuan guru dalam membuka pelajaran masuk dalam kategori baik karena relevan dengan materi dan memberikan apersepsi. b) Kemampuan guru dalam menjelaskan
yaitu dengan cara memberikan jasa pelayanan sesuai dengan yang diharapkan oleh pelanggan.. Kualitas pelayanan mempunyai hubungan yang erat dengan tingkat kepuasan
Tindakan (act) oleh Jones dan Davis( dalam buku Sarlito 2011: 179) diberi defenisi yang luas, yaitu keseluruhan respon (reaksi) yang mencerminkan pilihan si pelaku