Implementasi Algoritma Huffman Coding Dan Metode Least Significant Bit (LSB) Untuk Penyembunyian Citra BMP ke Citra BMP

BAB 2
LANDASAN TEORI

2.1

Citra

Citra atau gambar dapat didefinisikan sebagai sebuah fungsi dua dimensi, f(x,y), di
mana x dan y adalah koordinat bidang datar, dan harga fungsi f di setiap pasangan
koordinat (x,y) disebut intensitas atau level keabuan (grey level) dari gambar di titik
itu. Jika x,y dan f semuanya berhingga (finite), dan nilainya diskrit, maka gambarnya
disebut citra digital (gambar digital) (Hermawati, 2013).

2.1.1 Jenis Citra Digital
Menurut Sutoyo & Wijanarto (2009), ada 3 jenis citra digital yang sering digunakan,
yaitu :
1. Citra Biner (Monokrom), citra ini mempunyai 2 warna saja, yaitu hitam dan
putih dan membutuhkan 1 bit di memori untuk menyimpan kedua warna
tersebut. Bit 0 mewakili warna hitam dan bit 1 mewakili warna putih. Contoh
citra biner dapat dilihat pada gambar 2.1.


Gambar 2.1 Contoh citra biner

Universitas Sumatera Utara

7

2. Citra Grayscale (Skala Keabuan), banyaknya warna pada citra ini tergantung
pada jumlah bit yang disediakan di memori untuk menampung kebutuhan
warna tersebut. Citra 2 bit mewakili 4 warna dan citra 3 bit mewakili 8 warna.
Semakin besar jumlah bit warna yang disediakan di memori, semakin halus
gradiasi warna yang terbentuk. Contoh citra grayscale dapat dilihat pada
gambar 2.2.

Gambar 2.2 Contoh citra grayscale
3. Citra Warna (True Color), setiap piksel pada citra warna mewakili warna yang
merupakan kombinasi dari tiga warna dasar (RGB = Red Greem Blue). Setiap
warna dasar menggunakan penyimpanan 8 bit = 1 byte, yang berarti setiap
warna mempunyai gradiasi sebanyak 255 warna. Berarti setiap piksel
mempunyai kombinasi warna sebanyak 28 .28 .28 = 16 juta warna lebih. Format
ini dinamakan true color karena mempunyai jumlah warna yang cukup besar

sehingga bisa dikatakan hampir mencakup semua warna di alam. Contoh citra
warna dapat dilihat pada gambar 2.3.

Universitas Sumatera Utara

8

Gambar 2.3 Contoh citra warna
2.1.2 Format File Citra
Menurut Ahmad (2005), ada dua kategori besar untuk format file citra yaitu :
1. Format file bitmap, format ini menyimpan data kode citra secara digital dan
lengkap. Format citra bitmap yang umum digunakan dalam pengolah citra
dapat dilihat pada tabel 2.1.

Tabel 2.1 Format file grafik bitmap (Ahmad, 2015)

Nama Format
Microsoft

Ekstensi


Windows BMP

Bitmap Format

Compuserve

Graphics GIFF

Interchange Format

Aldus Tagged Image TIF
File Format

Kegunaan
Format umum
menyimpan
bitmap
dikembangkan
Microsoft


untuk
citra
yang
oleh

Format umum citra
yang dirancang untuk
keperluan
transmisi
melalui modem
Format kompleks dan
multiguna
yang
dikembangkan
oleh
Aldus
bersama
Microsoft


Universitas Sumatera Utara

9

Tabel 2.1 Format file grafik bitmap (Ahmad, 2015) (lanjutan)
WordPerfect

Graphics WPG

Format
GEM Image Format

Format vektor yang juga
mendukung citra bitmap

IMG

Format bitmap yang
dikembangkan
untuk

riset digital di lingkungan
GEM

Zsoft Pengolahan Citra PCX

Dirancang
untuk
menyimpan citra layar
dan merupakan format
bitmap yang didukung
luas

Paintbrush Format

Microsoft Paint Bitmap MSP
Format

Secara fungsional mirip
dengan IMG dan PCX,
tapi kurang populer


AT & T Targa Format

TGA

Format untuk 16-bit dan
24-bit citra warna penuh
diciptakan untuk system
Truevision

Apple Macpaint Format

PNTG

Format
asli
dari
Macintosh
Macpaint
program


Sun Microsystem raster RAS
Format
X Windows X-11 Bitmap XBM
Format

Format bitmap asli yang
digunakan pada Sun
SPARCS
Format umum untuk
menyimpan citra bitmap
yang
dikembangkan
untuk X Windows

2. Format file vektor, format ini menyimpan elemen - elemen pembentuk citra
secara individu.

2.2 Steganografi
Steganografi adalah ilmu menyembunyikan teks pada media lain yang telah ada

sedemikian sehingga teks yang tersembunyi menyatu dengan media itu. Media tempat
penyembunyian pesan tersembunyi dapat berupa media teks, gambar, audio, atau
video. Steganografi yang kuat memiliki sifat media yang telah tertanam teks

Universitas Sumatera Utara

10

tersembunyi sulit dibedakan dengan media asli namun teks tersembunyi tetap dapat
diekstrasi (Sadikin, 2012). Gambar 2.4 memperlihatkan diagram penyisipan dan
ekstraksi pesan.

Gambar 2.4 Diagram penyisipan dan ekstraksi pesan (Munir, 2006)

2.2.1 Konsep Dan Terminologi
Menurut Munir (2006), terdapat beberapa istilah yang berkaitan dengan steganografi:
1. Hiddentext atau embedded message : pesan yang disembunyikan.
2. Covertext atau cover-object: pesan yang digunakan untuk menyembunyikan
embedded message.
3. Stegotext atau stego-object: pesan yang sudah berisi embedded message.


2.2.2 Kriteria Penyembunyian Pesan
Menurut Munir (2006), kriteria yang harus diperhatikan dalam penyembunyian pesan
adalah:
1. Imperceptibility. 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 (misalnya berkas mp3, wav, midi, dan sebagainya),
maka indera telinga tidak dapat mendeteksi perubahan tersebut.
2. Fidelity. Mutu media penampung tidak berubah banyak akibat penyisipan.
Perubahan tersebut tidak dapat dipersepsi oleh inderawi. Misalnya, jika
covertext berupa citra, maka penyisipan pesan membuat citra stegotext sukar

Universitas Sumatera Utara

11

dibedakan oleh mata dengan covertext-nya. Jika covertext berupa audio
(misalnya berkas mp3, wav, midi, dan sebagainya), maka audio stegotext tidak
rusak dan indera telinga tidak dapat mendeteksi perubahan tersebut.

3. Recovery. Pesan yang disembunyikan harus dapat diungkapkan kembali
(reveal). Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu
pesan rahasia di dalam stegotext harus dapat diambil kembali untuk digunakan
lebih lanjut.

2.2.3 Teknik steganografi
Menurut Ariyus (2009), terdapat tujuh teknik yang digunakan dalam steganografi:
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
itu sering juga disebut Embedding.
2. Substitusi
Data normal digantikan dengan data rahasia. Biasanya, hasil teknik itu tidak
terlalu mengubah ukuran data asli, tetapi tergantung pada file media dan data
yang akan disembunyikan. Teknik substitusi bisa menurunkan kualitas media
yang ditumpanginya.
3. Transform Domain
Teknik

ini

sangat

efektif.

Pada

dasarnya,

transformasi

domain

menyembunyikan data pada “transform space”. Akan sangat lebih efektif bila
teknik ini diterapkan pada file berekstensi Jpeg (gambar).
4. Spread Spectrum
Sebuah teknik pentransmisian 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.

Universitas Sumatera Utara

12

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.

2.2.4 Metode LSB
LSB (Least Significant Bit) adalah suatu metode untuk menyimpan data ke cover
image. Bit dengan bobot terkecil dari setiap piksel suatu gambar diubah menjadi bit
dari pesan yang akan disembunyikan (Prashanti, 2013).
Misalkan

barisan

bit

dari

pesan

yang

akan

dimasukkan

adalah

“111111110000000011111111000” dan akan dimasukkan pada beberapa piksel seperti
pada gambar 2.5.

Universitas Sumatera Utara

13

Gambar 2.5 Contoh gambar yang akan disisipi pesan menggunakan metode LSB

Jika nilai - nilai pada setiap piksel tersebut diubah ke biner, maka hasilnya akan
seperti tabel 2.2.

Universitas Sumatera Utara

14

Tabel 2.2 Nilai - nilai piksel sebelum disisipi pesan

Desimal

Biner

252
223
175

252
224
176

252
224
176

11111100
11011111
10101111

11111100
11100000
10110000

11111100
11100000
10110000

253
221
172

253
221
172

253
221
172

11111101
11011101
10101100

11111101
11011101
10101100

11111101
11011101
10101100

251
219
170

251
219
170

251
219
170

11111011
11011011
10101010

11111011
11011011
10101010

11111011
11011011
10101010

Selanjutnya barisan bit “111111110000000011111111000” dimasukkan pada bit
terakhir dari setiap nilai -nilai pada piksel seperti yang ditunjukkan pada tabel 2.3.

Tabel 2.3 Nilai - nilai piksel setelah dimasukkan pesan dengan metode LSB

Desimal

Biner

253
223
175

253
225
177

253
225
176

11111101
11011111
10101111

11111101
11100001
10110001

11111101
11100001
10110000

252
220
172

252
220
172

252
221
173

11111100
11011100
10101100

11111100
11011100
10101100

11111100
11011101
10101101

251
219
171

251
219
171

250
218
170

11111011
11011011
10101011

11111011
11011011
10101011

11111010
11011010
10101010

Pada tabel 2.2 dan tabel 2.3, dapat dilihat bahwa perubahan yang terjadi sangat kecil
dan hal ini akan mengakibatkan pesan sulit terdeteksi secara kasat mata.

2.3 Kompresi Data
Proses kompresi merupakan proses mereduksi ukuran suatu data untuk menghasilkan
representasi digital yang padat atau mampat (compact) namun tetap dapat mewakili

Universitas Sumatera Utara

15

kuantitas informasi yang terkandung pada data tersebut. Pada citra, video, dan audio,
kompresi mengarah pada minimisasi jumlah bit rate untuk representasi digital. Pada
beberapa literatur, istilah kompresi sering disebut juga source coding, data
compression, bandwidth compression, dan signal compression (Putra, 2010).

2.3.1 Kompresi Lossless Dan Lossy
Menurut Al-Hashemi & Kamall (2011), komprei data terbagi menjadi 2 bagian:
1. Lossless compression, data bisa dikompresi dan dikembalikan ke keadaan
semula tanpa kehilangan informasi apapun.
2. Lossy compression, data yang didekompresi mungkin menjadi pendekatan
yang dapat diterima dari data asli yang belum terkompresi.

2.3.2 Kriteria Kompresi Citra
Menurut Sutoyo & Wijanarto (2009), kriteria yang digunakan untuk mengukur
pemampatan citra adalah :
1. Waktu kompresi dan waktu dekompresi, algorima pemampatan yang baik
adalah algoritma yang membutuhkan waktu untuk kompresi dan dekompresi
paling sedikit.
2. Kebutuhan memori, algoritma pemampatan yang baik akan menghasilkan
memori yang dibutuhkan untuk menyimpan hasil kompresi yang berkurang
secara berarti. Biasanya semakin besar persentase pemampatan, semakin kecil
kebutuhan memori yang diperlukan sehingga kualitas citra makin berkurang.
3. Kualitas pemampatan (fidelity), metode kompresi yang baik adalah metode
kompresi yang mampu mengembalikan citra hasil kompresi menjadi citra
semula tanpa kehilangan informasi apa pun.
4. Format keluaran, format citra hasil pemampatan yang baik adalah yang cocok
dengan kebutuhan pengiriman dan penyimpanan data.

2.3.3 Redudansi Data
Menurut Sutoyo & Wijanarto (2009), ada 3 jenis redudansi data dalam masalah
kompresi citra, yaitu :

Universitas Sumatera Utara

16

1. Coding Redudancy adalah cara pengkodean citra sedemikian sehingga jumlah
kode yang diberikan untuk menampilkan suatu grayscale melebihi dari apa
yang dibutuhkan.
2. Interpixel Redudancy sering disebut juga sebagai spatial redudancy, geometric
redudancy atau interframe redudancy, Maksud dari interpixel redudancy
adalah data redudan dapat dinyatakan sebagai korelasi antarpiksel di mana
intensitas suatu piksel dapat diperkirakan dari intensitas piksel-piksel
tetangganya. Biasanya informasi yang dibawa oleh setiap piksel relatif kecil
sehingga bisa dikatakan bahwa kontribusi setiap piksel pada citra secara
keseluruhan adalah redudan.
3. Psychovisual Redudancy adalah suatu fenomena dengan intensitas keabuan
yang bervariasi dilihat oleh mata sebagai intensitas konstan, yang bila
dihilangkan tidak mengganggu persepsi kualitas citra. Dalam hal ini, mata
tidak melihat nilai dari setiap piksel pada suatu cita secara kuantitatif.

2.3.4 Pengukuran Kinerja Kompresi Data
Pada suatu teknik yang digunakan dalam proses kompresi data terdapat beberapa
faktor atau variabel yang biasa digunakan untuk mengukur kualitas dari suatu teknik
kompresi data tersebut, yaitu :
1. Ratio of compression (Rc)
Ratio of compression (Rc) adalah perbandingan antara ukuran data sebelum
dikompresi dengan ukuran data setelah dikompresi.
(Salomon & Motta, 2010)
Misalkan didapat sebuah nilai Ratio of Compression sebesar 2.75. Itu berarti
besar data sebelum kompresi adalah 2.75 kali lipat dari besar data setelah
dikompresi.
2. Compression ratio (Cr)
Compression ratio (Cr) adalah persentasi besar data yang telah dikompresi
yang didapat dari hasil perbandingan antara ukuran data setelah dikompresi
dengan ukuran data sebelum dikompresi.
(Salomon & Motta, 2010)

Universitas Sumatera Utara

17

Misalkan didapat sebuah nilai Compression Ratio sebesar 35%. Itu berarti
setelah dikompresi ukuran data adalah 35% dari data sebelum dikompresi.
3. Redundancy (Rd)
Redundancy (Rd) adalah kelebihan yang terdapat di dalam data sebelum
dikompresi. Jadi setelah data dikompresi dapat dihitung Redundancy data yaitu
persentasi dari hasil selisih antara ukuran data sebelum dikompresi dengan
data setelah dikompresi.
(Salomon & Motta, 2010)
Misalkan didapat sebuah nilai Redundancy sebesar 14%. Itu berarti besarnya
kelebihan data sebelum dikompresi adalah 14%.
4. Space savings (Ss)
Space savings (Ss) adalah persentase selisih antara data yang belum
dikompresi dengan besar data yang dikompresi
(Salomon & Motta, 2010)
5. Waktu Kompresi dan Dekompresi
Waktu kompresi dan dekompresi adalah waktu yang dibutuhkan oleh sebuah
sistem untuk melakukan proses kompresi dan dekompresi dari mulai
pembacaan data hingga proses encoding pada data tersebut. Semakin kecil
waktu yang diperoleh maka semakin efisien metode yang digunakan dalam
proses kompresi dan dekompresi itu.

2.3.5 Algoritma Huffman
Menurut Putra (2010), metode Huffman adalah metode pengkodean yang telah banyak
diterapkan untuk aplikasi kompresi citra. Seperti metode Shannon-Fano, metode
Huffman juga membentuk pohon atas dasar probabilitas setiap simbol, namun teknik
pembentukan pohonnya berbeda. Berikut ini adalah langkah - langkah algoritma
Huffman.
1. Data dianalisis dahulu dengan cara membuat frekuensi kemunculan setiap
simbol ASCII, tabel frekuensi tersebut memiliki atribut berupa simbol ASCII
dan frekuensi.
2. Dua data yang memiliki frekuensi kemunculan paling kecil dipilih sebagai
simpul pertama pada pohon Huffman.
3. Dari dua simpul ini dibuat simpul induk yang mencatat jumlah frekuensi dua

Universitas Sumatera Utara

18

simpul pertama.
4. Kemudian dua simpul tersebut dihapus dari tabel digantikan oleh simpul induk
tadi. Simpul ini kemudian dijadikan acuan untuk membentuk pohon.
5. Langkah 3-5 dilakukan berulang - ulang hingga isi tabel tinggal satu saja. Data
inilah yang akan menjadi simpul bebas atau simpul akar.
6. Setiap simpul yang terletak pada cabang kiri (simpul dengan frekuensi lebih
besar) diberi nilai 0 dan simpul yang terletak pada cabang kanan (simpul
dengan frekuensi lebih kecil) diberi nilai 1.
7. Pembacaan dilakukan dari simpul akar ke arah simpul daun dengan
memperhatikan nilai setiap cabang.

Berikut adalah contoh implementasi algoritma Huffman dengan menggunakan
tabel 2.4.
Tabel 2.4. Frekuensi dari data - data dari gambar 2.5
Data

Frekuensi

170

1

173

1

175

1

176

1

177

1

218

1

221

1

223

1

250

1

171

2

172

2

219

2

220

2

225

2

Universitas Sumatera Utara

19

251

2

252

3

253

3

Dengan menggunakan langkah - langkah yang telah diuraikan di atas, maka bisa
didapatkan pohon seperti pada gambar 2.6.

Gambar 2.6 Pohon Huffman dari tabel 2.4
Berdasarkan gambar 2.6, maka hasil proses pengkodean Huffman bisa dilihat pada
tabel 2.5.
Tabel 2.5 Hasil Proses Pengkodean Huffman
Data

Frekuensi

Kode

Jumlah bit kode

Total bit

170

1

10000

5

5

173

1

10001

5

5

175

1

10010

5

5

176

1

10011

5

5

177

1

10100

5

5

218

1

10101

5

5

221

1

10110

5

5

223

1

10111

5

5

250

1

0100

4

4

171

2

0101

4

8

Universitas Sumatera Utara

20

172

2

1100

4

8

219

2

1101

4

8

220

2

1110

4

8

225

2

1111

4

8

251

2

000

3

6

252

3

001

3

9

253

3

011

3

9

Total

27

108

Setelah mengamati hasil pengkodean Huffman di atas, maka dapat dilihat bahwa
jumlah total bit adalah 108 bit. Sebelum dilakukan pengkodean, total bit dari data
adalah 27 x 8 bit = 216 bit. Ratio of Compression (Rc) = 2. Compression Ratio (Cr) =
50%. Redundancy (Rd) = 50%. Space savings (Ss) = 50%.

2.4 Penelitian Kuantitatif
Menurut Abdullah (2015), penelitian kuantitatif adalah penelitian yang menguanakan
data kuantitatif yaitu data yang berupa angka atau bilangan.
Contoh penelitian kuantitatif
(i) Penelitian untuk mengetahui laju pertumbuhan penduduk di Pedesaan Provinsi
Kalimantan Selatan selama 10 tahun (2005 - 2015).
(ii) Penelitian untuk mengetahui laju pertumbuhan industri di kota Banjarmasin
selama 5 tahun (2011 - 2015).

2.4.1 Pengukuran Indeks
Menurut Prasetyo, B & Jannah, L.M. (2005), indeks dan skala biasanya digunakan
jika variabel - variabel yang ada termasuk dalam variabel ordinal. Dibandingkan
dengan skala, indeks lebih sering digunakan karena lebih mudah digunakan. Indeks
dibuat dari akumulasi nilai - nilai yang diberikan pada atribut - atribut individual,
tanpa melihat ada tidaknya bobot. Jadi setiap pertanyaan dianggap memiliki nilai yang
sama.
Ada dua jenis pengukuran indeks, yaitu sebagai berikut.

Universitas Sumatera Utara

21

1. Skala Likert
Skala Likert berisi pernyataan yang sistematis untuk menunjukkan sikap
seorang responden terhadap pernyataan itu. Indeks ini mengasumsikan bahwa
masing - masing kategori jawaban ini memiliki intensitas yang sama.
Keunggulan indeks ini adalah kategorinya memiliki urutan yang jelas mulai
dari “sangat setuju”, “setuju”, “ragu-ragu”, “tidak setuju”, “sangat tidak
setuju”.
2. Perbedaan Semantik
Indeks ini meminta responden untuk memilih antara dua pilihan yang
bertentangan. Hal yang perlu ditentukan adalah dimensi - dimensi dari variabel
yang diteliti, kemudian memilih dua istilah yang bertentangan yang
mencerminkan dimensi - dimensi tersebut. Kata - kata yang digunakan adalah
kata sifat karena lebih mudah dikomunikasikan. Indeks ini dipergunakan untuk
banyak tujuan, misalnya di Penelitian Pemasaran digunakan untuk meneliti
perasaan konsumen tentang suatu produk; di Penelitian Politik dapat
digunakan untuk meneliti pendapat masyarakat tentang kandidat presiden, dan
sebagainya. Responden hanya perlu memberikan tanda di atas garis untuk
jawaban yang dipilihnya. Hasil jawaban responden dari setiap kategori ini
yang kemudian digabungkan.

2.4.2 Kuesioner
Menurut Abdullah (2015), kuesioner (angket) adalah cara pengumpulan data dengan
menyebarkan daftar pertanyaan kepada responden, dengan harapan mereka akan
memberikan respon atas daftar pertanyaan tersebut. Daftar pertanyaan dapat bersifat
terbuka, jika opsi jawaban tidak ditentukan sebelumnya, dan bersifat tertutup jika opsi
jawaban telah disediakan sebelumnya

Universitas Sumatera Utara