implementasi algoritma huffman coding dan metode least significant ...

16
IMPLEMENTASI ALGORITMA HUFFMAN CODING DAN METODE LEAST SIGNIFICANT BIT(LSB) UNTUK PENYEMBUNYIAN CITRA BMP KE CITRA BMP JOHAN SURYA 121401095 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016 Universitas Sumatera Utara

Transcript of implementasi algoritma huffman coding dan metode least significant ...

Page 1: implementasi algoritma huffman coding dan metode least significant ...

IMPLEMENTASI ALGORITMA HUFFMAN CODING DAN METODELEAST SIGNIFICANT BIT(LSB) UNTUK PENYEMBUNYIAN

CITRA BMP KE CITRA BMP

JOHAN SURYA

121401095

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2016

Universitas Sumatera Utara

Page 2: implementasi algoritma huffman coding dan metode least significant ...

IMPLEMENTASI ALGORITMA HUFFMAN CODING DAN METODE

LEAST SIGNIFICANT BIT (LSB) UNTUK PENYEMBUNYIAN

CITRA BMP KE CITRA BMP

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Ilmu Komputer

JOHAN SURYA

121401095

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMI KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2016

Universitas Sumatera Utara

Page 3: implementasi algoritma huffman coding dan metode least significant ...

i

PERSETUJUAN

Judul : IMPLEMENTASI ALGORITMA HUFFMAN

CODING DAN METODE LEAST

SIGNIFICANT BIT (LSB) UNTUK

PENYEMBUNYIAN CITRA BMP KE CITRA

BMP

Kategori : SKRIPSI

Nama : JOHAN SURYA

Nomor Induk Mahasiswa : 121401095

Program Studi : SARJANA (S1) ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA

UTARA

Diluluskan di

Medan, Oktober 2016

Komisi Pembimbing :

Pembimbing 2 : Pembimbing 1 :

Amalia, S.T, M.T Dian Rachmawati, S.Si., M. Kom

NIP. 197812212014042001 NIP. 198307232009122004

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M. Kom

NIP. 196203171991031001

Universitas Sumatera Utara

Page 4: implementasi algoritma huffman coding dan metode least significant ...

ii

PERNYATAAN

IMPLEMENTASI ALGORITMA HUFFMAN CODING DAN METODE

LEAST SIGNIFICANT BIT (LSB) UNTUK PENYEMBUNYIAN

CITRA BMP KE CITRA BMP

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa

kutipan dan ringkasan yang masing – masing telah disebutkan sumbernya.

Medan, 6 Agustus 2016

Johan Surya

121401095

Universitas Sumatera Utara

Page 5: implementasi algoritma huffman coding dan metode least significant ...

iii

UCAPAN TERIMA KASIH

Segala puji dan syukur penulis ucapkan kehadirat Tuhan Yang Maha Esa yang telah

memberikan rahmat dan karunia-Nya kepada penulis sehingga dapat menyelesaikan

skripsi ini tepat waktu sesuai dengan instruksi dan peraturan yang berlaku di Fakultas

Ilmu Komputer dan Teknologi Informasi.

Dalam penyusunan dan penulisan skripsi ini, penulis banyak mendapat

bantuan, dukungan, dan bimbingan dari berbagai pihak.Pada kesempatan ini penulis

ingin mengucapkan rasa terima kasih dan penghargaan kepada :

1. Teristimewa orang tua yang penulis sayangi, ibunda Celiawaty dan ayahanda

Sudharmono yang tidak henti-hentinya memberikan doa, motivasi, dan

dukungan yang selalu menjadi sumber semangat penulis.

2. Bapak Prof. Dr. Runtung Sitepu, SH, M.Hum selaku Rektor Universitas

Sumatera Utara.

3. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc sebagai Dekan Fakultas Ilmu

Komputer dan Teknologi Informasi.

4. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S-1 Ilmu

Komputer.

5. Ibu Dian Rachmawati, S.Si,M.Kom selaku Kepala Studio Lab TA S-1 Ilmu

Komputer.

6. Ibu Dian Rachmawati, S.Si,M.Kom selaku Dosen Pembimbing I dan Ibu

Amalia, S.T, M.T selaku Dosen Pembimbing II yang telah meluangkan

waktu, tenaga, dan pikiran dalam membimbing, mengarahkan, menasehati,

memotivasi, dan menyemangati penulis agar dapat menyelesaikan skripsi ini.

7. Bapak Prof. Dr. Muhammad Zarlis, M.Sc selaku dosen Pembanding I dan

Bapak Drs. Dahlan Sitompul, M.Eng selaku dosen Pembanding II yang telah

memberikan kritik dan saran terhadap skripsi penulis.

8. Bapak M. Andri Budiman, ST, M. Comp. Sc., M.E.M selaku dosen

Pembimbing Akademik penulis dan juga atas nasehat, arahan dan bimbingan

beliau kepada penulis selama penulis berada dalam masa pendidikan.

9. Seluruh dosen S-1 Ilmu Komputer atas semua ilmu yang telah diberikan

Universitas Sumatera Utara

Page 6: implementasi algoritma huffman coding dan metode least significant ...

iv

kepada penulis selama masa pendidikan di S-1 Ilmu Komputer USU.

10. Seluruh staf pegawai Fakultas Ilmu Komputer dan Teknologi Informasi,

terkhusus buat abangda Faisal Hamid dan kakanda Dwi.

11. Adik tersayang Mujurwati yang telah memberikan dukungan terhadap

penulis agar dapat menyelesaikan skripsi ini.

12. Sahabat-sahabat luar biasa Boris Mario, Ricky Wijaya, Al Mizfar, Dina

Meiladya Rizky dan beberapa asisten IKLC yang selalu memberi motivasi

dan nasehat kepada penulis.

13. Teman – teman seperjuangan mahasiswa S-1 Ilmu Komputer stambuk 2012

yang selalu memberi dukungan.

14. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat

penulis ucapkan satu per satu yang telah membantu menyelesaikan skripsi

ini.

Penulis menyadari bahwa skripsi ini masih memiliki banyak kekurangan, baik dari

segi teknik, tata penyajian ataupun dari segi tata bahasa. Oleh karena itu penulis

bersedia menerima kritik dan saran dari pembaca dalam upaya perbaikan skripsi ini.

Semoga skripsi ini dapat bermanfaat bagi penulis dan pembaca, khususnya rekan-

rekan mahasiswa lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara.

Medan, 6 Agustus 2016Penulis

Johan SuryaNIM. 121401095

Universitas Sumatera Utara

Page 7: implementasi algoritma huffman coding dan metode least significant ...

v

ABSTRAK

Kemudahan dalam mengakses internet menyebabkan pertukaran citra digital semakin

tidak terkendali, padahal banyak di antara citra – citra digital tersebut yang bersifat

privasi. Hal ini tentunya dapat menjadi masalah apabila citra – citra digital tersebut

dimanipulasi secara tidak bertanggung jawab. Pada penelitian ini, masalah yang

diangkat adalah penyembunyian gambar rahasia dengan metode steganografi Least

Significant Bit (LSB). Metode steganografi LSB hanya menggantikan nilai bit terakhir

pada setiap barisan bit sehingga setiap penyisipan data sebesar 1 byte membutuhkan

ukuran penampung yang lebih besar yaitu 8 byte. Algoritma kompresi Huffman

Coding dapat digunakan untuk mengecilkan ukuran data. Aplikasi ini dibangun

dengan menggunakan bahasa pemograman C#. Hasil penelitian menunjukkan bahwa

metode LSB dan algoritma Huffman Coding dapat dikombinasikan dengan baik

sehingga ukuran gambar yang digunakan sebagai penampung gambar rahasia bisa

dikecilkan dimana rata – rata hasil kompresinya adalah 56.15% untuk Compressed

Ratio (Cr), 3.96 untuk Ratio of Compression (Rc), 43.85% untuk Redundancy (Rd),

0.44 untuk Space Savings, dan 1.6 ms untuk waktu kompresi dan hasil penelitian juga

menunjukkan bahwa penyisipan dengan metode LSB sulit dideteksi oleh mata yang

ditunjukkan dari hasil kuesioner yang menunjukkan 191 dari 200 gambar yang disisipi

gambar terlihat sama pada penelitian ini.

Kata kunci: Steganografi, LSB, Least Significant Bit, Huffman Coding

Universitas Sumatera Utara

Page 8: implementasi algoritma huffman coding dan metode least significant ...

vi

AN IMPLEMENTATION OF HUFFMAN CODING ALGORITHM AND

LEAST SIGNIFICANT BIT (LSB) METHOD FOR

HIDING BMP IMAGE TO BMP IMAGE

ABSTRACT

Ease of internet access led to digital image exchange out of control, even though those

of digital images were private. This could be a problem if those digital images were

irresponsibly manipulated. In this study, the issue of this research is hiding secret

image by Least Significant Bit (LSB) method. LSB method only change the last bit of

each bits, so it needs an 8 byte container to insert 1 byte of data. Huffman Coding

compression algorithm can be use to minimize the size of data. This application is

built using C# programming language. The results showed that the Huffman Coding

algorithm and LSB method can be combined so well that the size of the image used as

container for the secret image can be scaled down where the average result of the

compression is 56.15% for Compressed Ratio (Cr), 3.96 for Ratio of Compression

(Rc), 43.85% for Redundancy(Rd), 0.44 for Space Savings, and 1.6 ms for

compression time and the results also showed that the LSB insertion method is

difficult to detect by eyes. From the results of the questionnaires show that 191 of 200

images inserted image looks same in this research.

Keywords : Steganography, LSB, Least Significant Bit, Huffman Coding

Universitas Sumatera Utara

Page 9: implementasi algoritma huffman coding dan metode least significant ...

vii

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Ucapan Terima Kasih iii

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel x

Daftar Gambar xii

Daftar Lampiran xiv

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

Bab 2 Landasan Teori

2.1 Citra 6

2.1.1 Jenis Citra Digital 6

2.1.2 Format File Citra 8

2.2 Steganografi 9

2.2.1 Konsep Dan Terminologi 10

2.2.2 Kriteria Penyembunyian Pesan 10

2.2.3 Teknik Steganografi 11

2.2.4 Metode LSB 12

2.3 Kompresi Data 14

Universitas Sumatera Utara

Page 10: implementasi algoritma huffman coding dan metode least significant ...

viii

2.3.1 Kompresi Lossless Dan Lossy 15

2.3.2 Kriteria Kompresi Citra 15

2.3.3 Redudansi Data 15

2.3.4 Pengukuran Kinerja Kompresi Data 16

2.3.5 Algoritma Huffman 17

2.4 Penelitian Kuantitatif 20

2.4.1 Pengukuran Indeks 20

2.4.2 Kuesioner 21

Bab 3 Analisis dan Perancangan

3.1 Analisis Sistem 22

3.1.1 Analisis Masalah 22

3.1.2 Analisis Kebutuhan Sistem 23

3.1.3 Analisis Proses 24

3.2 Perancangan Sistem 25

3.2.1 Perancangan Proses Penyembunyian Gambar 25

3.2.2 Perancangan Proses Pengungkapan Gambar 30

3.2.3 Use Case Diagram 32

3.2.4 Activity Diagram 34

3.2.5 Sequence Diagram 37

3.2.6 Perancangan Antarmuka (Interface) 39

Bab 4 Implementasi dan Pengujian

4.1 Implementasi Sistem 45

4.1.1 Antarmuka Utama 45

4.1.2 Antarmuka Penyembunyian Gambar 46

4.1.3 Antarmuka Ungkap gambar 46

4.1.4 Antarmuka Bantuan 47

4.1.5 Antarmuka Tentang 48

4.2 Pengujian Sistem 48

4.2.1 Pengujian Penyembunyian Gambar 49

4.2.2 Pengujian Pengungkapan Gambar 56

4.2.3 Aspek Imperceptibility Dan Fidelity 58

Universitas Sumatera Utara

Page 11: implementasi algoritma huffman coding dan metode least significant ...

ix

4.2.4 Aspek Recovery 60

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 63

5.2 Saran 63

Daftar Pustaka 64

Universitas Sumatera Utara

Page 12: implementasi algoritma huffman coding dan metode least significant ...

x

DAFTAR TABEL

Halaman

Tabel 2.1 Format file grafik bitmap 8

Tabel 2.2 Nilai – nilai piksel sebelum disisipi pesan 14

Tabel 2.3 Nilai – nilai piksel setelah dimasukkan pesan dengan

metode LSB 14

Tabel 2.4 Frekuensi dari data – data dari gambar 2.5 18

Tabel 2.5 Hasil Proses Pengkodean Huffman 19

Tabel 3.1 Pseudocode pembentukan Huffman Code dari

Huffman Tree 28

Tabel 3.2 Pseudocode kompresi dengan algoritma

Huffman Coding 29

Tabel 3.3 Pseudocode penyisipan gambar dengan

Least Significant Bit (LSB) 30

Tabel 3.4 Pseudocode pengungkapan gambar 32

Tabel 4.1 Tabel data gambar rahasia 49

Tabel 4.2 Tabel data gambar setelah dilakukan filter 49

Tabel 4.3 Tabel Huffman Code 52

Tabel 4.4 Tabel isi Huffman Table 53

Tabel 4.5 Tabel Huffman Code dan frekuensinya 53

Tabel 4.6 Tabel informasi untuk proses dekompresi dalam

bentuk desimal 54

Tabel 4.7 Tabel informasi untuk proses dekompresi dalam

bentuk biner 54

Tabel 4.8 Tabel data gambar rahasia dalam bentuk biner 54

Tabel 4.9 Tabel data gambar rahasia setelah dikompresi 55

Tabel 4.10 Tabel data – data hasil kompresi 56

Tabel 4.11 Tabel proses dekompresi 57

Tabel 4.12 Tabel proses pembacaan tabel Huffman 57

Tabel 4.13 Tabel kinerja kompresi data 58

Tabel 4.14 Tabel hasil kuesioner 59

Universitas Sumatera Utara

Page 13: implementasi algoritma huffman coding dan metode least significant ...

xi

Tabel 4.15 Tabel perubahan ukuran gambar 60

Universitas Sumatera Utara

Page 14: implementasi algoritma huffman coding dan metode least significant ...

xii

DAFTAR GAMBAR

Halaman

Gambar 2.1 Contoh citra biner 6

Gambar 2.2 Contoh citra grayscale 7

Gambar 2.3 Contoh citra warna 8

Gambar 2.4 Diagram penyisipan dan ekstraksi pesan 10

Gambar 2.5 Contoh gambar yang akan disisipi pesan menggunakan

metode LSB 13

Gambar 2.6 Pohon Huffman dari tabel 2.4 19

Gambar 3.1 Diagram Ishikawa 23

Gambar 3.2 Flowchart sistem penyembunyian gambar 26

Gambar 3.3 Flowchart proses kompresi dengan Huffman Coding 27

Gambar 3.4 Flowchart proses penyisipan gambar dengan Least

Significant Bit (LSB) 28

Gambar 3.5 Flowchart proses pengungkapan gambar 31

Gambar 3.6 Diagram use case sistem 33

Gambar 3.7 Activiy diagram sembunyikan 34

Gambar 3.8 Activiy diagram ungkap 35

Gambar 3.9 Activiy diagram bantuan 36

Gambar 3.10 Activiy diagram tentang 36

Gambar 3.11 Sequence diagram penyembunyian gambar 37

Gambar 3.12 Sequence diagram pengungkapan gambar 38

Gambar 3.13 Sequence diagram bantuan 38

Gambar 3.14 Sequence diagram tentang 39

Gambar 3.15 Rancangan tampilan halaman utama 40

Gambar 3.16 Rancangan tampilan halaman penyembunyian gambar 41

Gambar 3.17 Rancangan tampilan halaman pengungkapan gambar 42

Gambar 3.18 Rancangan tampilan halaman bantuan 43

Gambar 3.19 Rancangan tampilan halaman tentang 44

Gambar 4.1 Antarmuka halaman utama sistem 45

Gambar 4.2 Antarmuka halaman penyembunyian gambar 46

Universitas Sumatera Utara

Page 15: implementasi algoritma huffman coding dan metode least significant ...

xiii

Gambar 4.3 Antarmuka halaman ungkap gambar 47

Gambar 4.4 Antarmuka halaman bantuan 47

Gambar 4.5 Antarmuka halaman tentang 48

Gambar 4.6 Gambar rahasia berukuran 2x2 48

Gambar 4.7 Gambar cover berukuran 10x10 49

Gambar 4.8 Gambar node – node setelah diurutkan 50

Gambar 4.9 Gambar proses pertama dari pembuatan Huffman Tree 50

Gambar 4.10 Gambar proses kedua dari pembuatan Huffman Tree 51

Gambar 4.11 Gambar proses ketiga dari pembuatan Huffman Tree 51

Gambar 4.12 Gambar pemberian kode pada Huffman Tree 52

Gambar 4.13 Gambar hasil penyembunyian gambar rahasia 55

Gambar 4.14 Gambar hasil pengungkapan gambar 58

Gambar 4.15 Grafik hasil kuesioner 59

Gambar 4.16 Penyembunyian gambar rahasia pertama 61

Gambar 4.17 Penyembunyian gambar rahasia kedua 61

Gambar 4.18 Pengungkapan gambar stego pertama 62

Gambar 4.19 Pengungkapan gambar stego kedua 62

Universitas Sumatera Utara

Page 16: implementasi algoritma huffman coding dan metode least significant ...

xiv

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A-1

Lampiran 2 Curriculum Vitae B-1

Lampiran 3 Hasil Kuesioner C-1

Universitas Sumatera Utara