• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
16
0
0

Teks penuh

(1)

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.

(2)

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

(3)

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 Ekstensi Kegunaan

Microsoft Windows Bitmap Format

BMP Format umum untuk

menyimpan citra

bitmap yang

dikembangkan oleh Microsoft

Compuserve Graphics Interchange Format

GIFF Format umum citra

yang dirancang untuk keperluan transmisi melalui modem

Aldus Tagged Image File Format

TIF Format kompleks dan

multiguna yang

dikembangkan oleh

Aldus bersama

(4)

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

Format

WPG Format vektor yang juga

mendukung citra bitmap

GEM Image Format IMG Format bitmap yang

dikembangkan untuk

MSP 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

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

2.2 Steganografi

(5)

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.

(6)

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

(7)

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).

(8)

Gambar 2.5 Contoh gambar yang akan disisipi pesan menggunakan metode LSB

(9)

Tabel 2.2 Nilai - nilai piksel sebelum disisipi pesan

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

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

(10)

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

(11)

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.

(12)

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.

(13)

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

(14)

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

(15)

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.

(16)

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

Gambar

Gambar 2.1 Contoh citra biner
gambar 2.2.
Gambar 2.3 Contoh citra warna
Tabel 2.1 Format file grafik bitmap (Ahmad, 2015)  (lanjutan)
+6

Referensi

Dokumen terkait

e) Tindak tutur deklaratif dengan fungsi memutuskan, mengizinkan, dan melarang. Aspek-aspek situasi ujar dapat mempengaruhi suatu tuturan digunakan dengan tujuan untuk

Hipotesis dari penelitian ini adalah ada hubungan positif antara persepsi terhadap gaya kepemimpinan transaksional dengan komitmen organisasi. Semakin positif persepsi terhadap

[r]

Dari diagram diatas, maka dapat disimpulkan bahwa alternatif jawaban yang paling banyak dipilih oleh responden adalah alternatif jawaban C (kadang- kadang) sebanyak 35%

Penerapan model kooperatif tipe mind mapping dapat meningkatkan ketuntasan belajar siswa pada mata pelajaran Matematika materi Sudut dan Pengukurannya.Hal tersebut

Earning per share atau laba per lembar saham akan semakin tinggi dengan tingkat hutang yang semakin.. tinggi, tetapi risiko juga akan semakin tinggi saat hutang

S1 (Sarjana) Memiliki pengetahuan yang memadai terkait dengan cara kerja sistem komputer dan mampu merancang dan mengembangkan berbagai algoritma dasar untuk memecahkan

Karya ilmiah ini harus dilaksanakan oleh dosen IKIP Padang dalam rangka meningkatkan mutu, baik sebagai dosen maupun sebagai peneli ti.. Oleh karena itu, Pusat