BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
Metode BPCS (Bit-Plane Complexity Segmentation) Oleh: Dr. Rinaldi Munir Program Studi Informatika Sekolah Teknik Elektro dan Informatika ITB

BAB 2 TINJAUAN TEORETIS

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

Implementasi Steganografi dengan Metode Bit-Plane Complexity Segmentation (BPCS) untuk Dokumen Citra Terkompresi

Bit-Plane Complexity Steganography dan Perbandingannya dengan Least Significant Bit Steganography

BAB I PENDAHULUAN. terutama pada sistem yang bersifat shared. Hal ini memungkinkan orang yang

PERANCANGAN APLIKASI STEGANOGRAFI PADA CITRA DIGITAL DENGAN METODE BIT PLANE COMPLEXITY SEGMENTATION (BPCS)

BAB II DASAR TEORI. 1. Citra diam yaitu citra tunggal yang tidak bergerak. Contoh dari citra diam adalah foto.

Pendahuluan. Contoh : Dari contoh diatas huruf awal setiap kata bila di rangkai akan membentuk pesan rahasia :

PENGAMANAN PESAN TEKS MENGGUNAKAN TEKNIK STEGANOGRAFI SPREAD SPECTRUM BERBASIS ANDROID

IMPLEMENTASI STEGANOGRAFI DENGAN METODE BIT PLANE COMPLEXITY SEGMENTATION UNTUK MENYEMBUNYIKAN PESAN PADA CITRA DIGITAL

Gambar 2.1 Contoh citra biner

ANALISIS METODE MASKING-FILTERING DALAM PENYISIPAN DATA TEKS

PENERAPAN METODE MOST SIGNIFICANT BIT UNTUK PENYISIPAN PESAN TEKS PADA CITRA DIGITAL

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. kecepatan koneksi menggunakan saluran yang aman ini cenderung lambat.

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

IMPLEMENTASI TEKNIK STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) DAN KOMPRESI UNTUK PENGAMANAN DATA PENGIRIMAN SURAT ELEKTRONIK

N, 1 q N-1. A mn cos 2M , 2N. cos. 0 p M-1, 0 q N-1 Dengan: 1 M, p=0 2 M, 1 p M-1. 1 N, q=0 2. α p =

ABSTRAK. Kata kunci : Steganografi, bit-plane complexity segmentation, data tersembunyi, peak signal-to-noise ratio. v Universitas Kristen Maranatha

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN TEORITIS

Pada tugas akhir ini citra yang digunakan adalah citra diam.

BAB I PENDAHULUAN. mengirim pesan secara tersembunyi agar tidak ada pihak lain yang mengetahui.

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB II TINJAUAN PUSTAKA

KAJIAN STEGANOGRAFI DENGAN METODE BIT-PLANE COMPLEXITY SEGMENTATION (BPCS) PADA DOKUMEN CITRA TERKOMPRESI SKRIPSI PRISKILLA BR GINTING

BAB 2 TINJAUAN PUSTAKA

TEKNIK CANONICAL GRAY CODE PADA ENKRIPSI

BAB III ANALISIS DAN DESAIN SISTEM

Pengantar: Prisoner s Problem

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

KOMPRESI CITRA. Pertemuan 12 Mata Pengolahan Citra

STEGANOGRAFI DENGAN METODE PENGGANTIAN LEAST SIGNIFICANT BIT (LSB)

TEKNIK CANONICAL GRAY CODE PADA ENKRIPSI

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

DIGITAL IMAGE CODING. Go green Aldi Burhan H Chandra Mula Fitradi Mardiyah

STEGANOGRAPHY CHRISTIAN YONATHAN S ELLIEN SISKORY A. 07 JULI 2015

BAB II LANDASAN TEORI

Suatu proses untuk mengubah sebuah citra menjadi citra baru sesuai dengan kebutuhan melalui berbagai cara.

TINJAUAN PUSTAKA. Kriptografi

BAB II TINJAUAN PUSTAKA

1.1 Latar Belakang Sejak zaman dahulu, pentingnya kerahasiaan suatu informasi telah menjadi suatu perhatian tersendiri. Manusia berusaha mencari cara

BAB 2 LANDASAN TEORI

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL

STEGANOGRAFI. Subianto AMIK JTC SEMARANG

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IV. RANCANG BANGUN SISTEM. Perangkat lunak bantu yang dibuat adalah perangkat lunak yang digunakan untuk

BAB 2 TINJAUAN PUSTAKA

UKDW BAB 1 PENDAHULUAN

BAB II TINJAUAN PUSTAKA. pesan di dalam media tersebut. Kata steganografi (steganography) berasal

BAB V KESIMPULAN DAN SARAN. Steganografi BPCS bekerja dengan cara menggantikan bit-plane noise like

BAB II TINJUAN PUSTAKA DAN LANDASAN TEORI

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng.

BAB 2 LANDASAN TEORI

Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi(arjana, et al. 2012):

TEKNIK PENYEMBUNYIAN PESAN TEKS PADA MEDIA CITRA GIF DENGAN METODE LEAST SIGNIFICANT BIT (LSB)

BAB 2 TINJAUAN PUSTAKA

BAB IV ANALISA DAN PERANCANGAN

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar Belakang Masalah

BAB 2 LANDASAN TEORI

EKSPLORASI STEGANOGRAFI : KAKAS DAN METODE

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Perbandingan Steganografi Metode Spread Spectrum dan Least Significant Bit (LSB) Antara Waktu Proses dan Ukuran File Gambar

Tanda Tangan Digital Untuk Gambar Menggunakan Kriptografi Visual dan Steganografi

Implementasi Metode Run Length Encoding (RLE) untuk Kompresi Citra

Steganografi. Pesan rahasia: Lari jam satu. Pengantar: Prisoner s Problem. Bob. Alice. Fred

Citra Digital. Petrus Paryono Erick Kurniawan Esther Wibowo

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang

APLIKASI PENGAMANAN DATA TEKS PADA CITRA BITMAP DENGAN MENERAPKAN METODE LEAST SIGNIFICANT BIT (LSB)

BAB 2 TINJAUAN PUSTAKA

1.1 LATAR BELAKANG I-1

BAB 2 LANDASAN TEORI

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL. foto, bersifat analog berupa sinyal sinyal video seperti gambar pada monitor

Teknik Kompresi Citra Menggunakan Metode Huffman

Tabel 6 Skenario pengujian 4

TUGAS AKHIR IMPLEMENTASI ALGORITMA METODE HUFFMAN PADA KOMPRESI CITRA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

ALGORITMA LEAST SIGNIFICANT BIT UNTUK ANALISIS STEGANOGRAFI

BAB I PENDAHULUAN. dalam komputer menjadi jelas. Apalagi untuk sistem yang bersifat shared seperti

Grafik yang menampilkan informasi mengenai penyebaran nilai intensitas pixel-pixel pada sebuah citra digital.

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

Pemanfaatan Steganografi dalam Kriptografi Visual

Pendahuluan. Media Penampung Data yang akan disembunyikan

Pengamanan Data Teks dengan Kriptografi dan Steganografi Wawan Laksito YS 5)

Penyisipan Citra Pesan Ke Dalam Citra Berwarna Menggunakan Metode Least Significant Bit dan Redundant Pattern Encoding

Transkripsi:

BAB 2 LANDASAN TEORI 2.1 Citra Digital Citra digital merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya menyatakan tingkat keabuan pada titik tersebut (Sutoyo, 2009). Piksel merupakan elemen terkecil dari suatu citra, yakni berupa titik-titik warna yang membentuk citra. Pada citra digital berbagai macam pengolahan citra dapat dilakukan terhadap citra tersebut. Salah satu operasi pada pengolahan citra yang diterapkan pada citra adalah menyembunyikan data rahasia pada citra sehingga keberadaan data rahasia tersebut tidak diketahui (steganografi). Komputer digital hanya dapat memproses citra dalam bentuk digital. 2.1.1 Representasi Citra Digital Sebuah citra digital dapat direpresentasikan dalam bentuk matriks yang terdiri dari M kolom dan N baris, di mana perpotongan antara kolom dan baris disebut piksel (Sutoyo et al, 2009). Piksel mempunyai dua parameter, yaitu koordinat dan intensitas atau warna. Nilai yang terdapat pada koordinat (x,y) adalah f(x,y), yaitu besar intensitas atau warna dari piksel di titik itu. Oleh sebab itu, sebuah citra digital dapat ditulis dalam bentuk matriks berikut:

Berdasarkan gambaran tersebut, secara matematis citra digital dapat dituliskan sebagai fungsi intensitas f(x,y), di mana harga x (baris) dan y (kolom) merupakan koordinat posisi dan f(x,y) adalah nilai fungsi pada setiap titik (x,y) yang menyatakan besar intensitas citra atau tingkat keabuan atau warna dari piksel di titik tersebut. Jika pada sebuah citra digital dengan warna hitam-putih dan berukuran 5 x 5 piksel. Didefinisikan bahwa bit 0 menandakan warna piksel hitam dan bit 1 merupakan representasi warna piksel putih, maka contoh representasi matriks M dan gambar dari citra digital tersebut dapat dilihat pada Gambar 2.1. Gambar 2.1 Representasi Citra Digital dalam Matriks dan Gambar Biner 2.1.2 Warna pada Citra Digital Citra digital memiliki beberapa jenis cara pewarnaan. Tiap jenis pewarnaan ini memiliki karakteristik masing-masing. Jenis pewarnaan ini memberikan pengaruh pada citra digital sehingga memiliki jumlah warna yang berbeda (perbedaan kualitas warna) dan pengaruh pada ukuran dokumen. Berikut adalah jenis-jenis pewarnaan pada citra digital (Sutoyo et al, 2009): 1. Monochrome (Hitam dan Putih) Monochrome ini disebut juga dengan warna 1-bit, karena setiap piksel hanya membutuhkan 1 bit untuk menyimpan warna piksel tersebut. Karena mode warna ini hanya menyimpan informasi kedalaman bit (bit depth) warna sebesar 1 bit, maka warna yang bisa ditampilkan hanya dua warna saja. Warna yang akan ditampilkan adalah warna hitam dan putih. Dengan penggunaan warna 1-bit, maka kualitas gambar pada citra digital tidak begitu bagus. Sebuah gambar yang

menggunakan warna 1-bit sangat sederhana karena memiliki ukuran file yang jauh lebih kecil dibandingkan dengan penggunaan sistem warna lainnya. 2. Grayscale Graysacale adalah warna warna piksel yang berada dalam rentang gradasi warna hitam dan putih. Graysacale menyimpan informasi bit depth warna sebesar 8 bit. Jadi warna yang bisa ditampilkan pada mode warna grayscale berjumlah sampai 256, dalam hal ini nilai 0 menyatakan hitam dan 255 menyatakan putih, nilai antara 0 sampai 255 menyatakan warna keabuan yang terletak antara hitam dan putih. Dengan penggunaan warna 8-bit ini maka ukuran dokumennya pun otomatis menjadi semakin besar dibandingkan dengan warna 1-bit. 3. Indexed color Indexed color merupakan citra digital berwarna yang menghasilkan gambar dengan warna maksimal terdiri atas 256 warna dan 256 warna tersebut didefenisikan ke dalam tabel warna. Nilai bit pada indexed color merupakan penunjuk (pointer) menuju tabel warna. Gambar 2.2 merupakan contoh tabel warna pada penggunaan indexed color. Gambar 2.2 Contoh Tabel warna pada Penggunaan Indexed Color 4. Red Green Blue (RGB) Dengan menggunakan pewarnaan ini, bit-bit pembentuk piksel merupakan perwakilan dari setiap elemen pembentuk warna yaitu merah, hijau dan biru. Jumlah bit yang digunakan pada warna RGB sangat beragam, di antaranya adalah 16-bit, 24-bit dan 32-bit. Semakin banyak jumlah bit yang merepresentasikan warna, maka kualitas warna tersebut semakin baik. 2.2 Kompresi pada Citra Digital Kompresi citra bertujuan untuk meminimalkan jumlah bit yang diperlukan untuk merepresentasikan citra sehingga citra dapat disimpan atau ditransmisikan secara

efisien. Citra yang belum dikompresi akan membutuhkan tempat penyimpanan yang jauh lebih besar bila dibandingkan dengan citra yang sudah dikompresi. Demikian juga dengan waktu pengiriman, citra yang belum dikompresi akan membutuhkan waktu yang lebih lama. Untuk itulah diperlukan kompresi citra sehingga ukuran citra tersebut menjadi lebih kecil dan waktu pengiriman citra menjadi lebih cepat. Teknik kompresi yang ada sekarang memungkinkan citra dikompresi sehingga ukurannya menjadi jauh lebih kecil daripada ukuran asli. Ada dua tipe utama kompresi data, yaitu kompresi tipe lossless dan kompresi tipe lossy. Jika sebuah dokumen citra dikompresi dengan teknik kompresi lossless dan diexpand kembali, maka akan menghasilkan bit-bit asli yang persis sama dengan bit-bit sebelum dilakukan kompresi (Miano, 1999). Sedangkan teknik kompresi lossy akan menghasilkan gambar yang mendekati bit-bit asli tetapi terjadi perubahan sehingga tidak tepat sama dengan bit-bit yang ada pada gambar asli namun sangat mirip (Miano, 1999). Pada kompresi tipe lossy ini akan terdapat data yang hilang selama proses kompresi. Akibatnya kualitas data yang dihasilkan akan lebih rendah daripada kualitas data asli. Ukuran dokumen yang dihasilkan kompresi tipe lossy lebih kecil dibandingkan dengan hasil kompresi lossless. Parameter-parameter citra yang penting dalam proses kompresi di antaranya adalah sebagai berikut: 1. Resolusi Resolusi citra menyatakan ukuran panjang kali lebar dari sebuah citra. Resolusi citra biasanya dinyatakan dalam satuan piksel. Semakin tinggi resolusi sebuah citra, semakin baik kualitas citra tersebut. Namun, tingginya resolusi menyebabkan semakin banyaknya jumlah bit yang diperlukan untuk menyimpan dan mentransmisikan data citra tersebut. 2. Kedalaman Bit (Bit Depth) Kedalaman bit menyatakan jumlah bit yang diperlukan untuk merepresentasikan tiap piksel citra pada sebuah frame. Kedalaman bit biasanya dinyatakan dalam

satuan bit/piksel. Semakin banyak jumlah bit yang digunakan untuk merepresentasikan sebuah citra, maka semakin baik kualitas citra tersebut. 3. Konsep Redundansi Redundansi merupakan suatu keadaan dimana representasi suatu elemen data tidak bernilai signifikan dalam merepresentasikan keseluruhan data. Keadaan ini menyebabkan data keseluruhan dapat direpresentasikan secara lebih baik dengan cara menghilangkan representasi dari sebuah elemen data yang redundan. 2.2.1 Teknik Kompresi Teknik kompresi yang umum digunakan dalam pengolahan dokumen citra ada 4, yaitu RLE, LZ, Huffman dan DCT (Miano, 1999). Berikut keterangan singkat mengenai teknik-teknik kompresi pada dokumen citra tersebut: 1. RLE (Run Length Encoding) Pada teknik RLE, piksel berurutan dengan nilai yang sama akan dikodekan menggunakan run length dan pasangan nilai (Miano, 1999). Sebagai contoh, jika piksel bernilai 8 muncul 9 kali berturut-turut, maka piksel tersebut tidak direpresentasikan dengan 9 buah piksel bernilai 8, namun menjadi 2-byte yang merepresentasikan jumlah kemunculan piksel tersebut beserta nilainya. 2. LZ Encoding Pada LZ Encoding, kompresor membuat kamus yang memuat nilai piksel yang ada dalam dokumen, hasil kompresi akan memuat kode yang berisi kamus yang dibuat sebelumnya (Miano, 1999). LZ77 dan LZ78 merupakan LZ Encoding yang dikembangkan oleh Jacob Ziv dan Abraham Lempel pada tahun 1977 dan 1978. 3. Huffman Coding Pada teknik ini, penyimpanan tidak menggunakan jumlah pasti bit yang merepresentasikan nilai komponen, namun menggunakan variable length codes (Miano, 1999). Semakin banyak nilai yang sama keluar, maka semakin kecil ukuran dokumen karena semakin pendeknya kode yang merepresentasikan gambar tersebut. Sebagai contoh, dalam kode ASCII string ABBABABACAACDDD ditulis: A B B A B A B

01000001 01000010 01000010 01000001 01000010 01000001 01000010 A C A A C D D 01000001 01000011 01000001 01000001 01000011 01000100 01000100 D 01000100 Bila dikodekan menggunakan kode Huffman, langkah-langkahnya adalah sebagai berikut: 1) Buat daftar frekuensi kemunculan tiap-tiap karakter dan urutkan dari yang terkecil hingga terbesar. Karakter Frekuensi C : 2 D : 3 B : 4 A :6 A 6 B 4 C 2 D 3 2) Gabung dua buah pohon yang mempunyai frekuensi kemunculan terkecil dan urutkan kembali. B : 4 C,D : 5 A : 6 C : 2 D : 3 3) Gabung dua buah pohon yang mempunyai frekuensi kemunculan terkecil dan urutkan kembali. A : 6 B,C,D : 9 C,D : 5 B :4 C : 2 D : 3 4) Gabung dua buah pohon yang mempunyai frekuensi kemunculan terkecil dan urutkan kembali.

A,B,C,D : 15 A : 6 B,C,D : 9 C,D : 5 B : 4 C : 2 D : 3 5) Beri label dari akar ke daun, sebelah kiri = 0, kanan = 1 A,B,C,D : 15 0 1 A : 6 B,C,D : 9 0 1 C,D : 5 B : 4 0 1 C : 2 D : 3 Penelusuran dari akar ke daun (dari atas ke bawah) menghasilkan kode Huffman berikut: A = 0, B = 11, C = 100, D = 101 Dalam kode Huffman, string ABBABABACAACDDD ditulis: 0 11 11 0 11 0 11 0 100 0 0 100 101 101 101 Ukuran string sebelum pemampatan (dalam kode ASCII) adalah 15 x 8 bit = 120 bit. Ukuran string setelah pemampatan (dalam kode Huffman) adalah: 6 x 1 bit + 4 x 2 bit + 2 x 3 bit + 3 x 3 bit = 29 bit. 4. DCT (Discrete Cosine Transform) Teknik ini mengubah representasi blok piksel menggunakan fungsi kosinus dengan frekuensi berbeda. Frekuensi yang besar, yang tidak memberikan banyak kontribusi pada dokumen akan dihilangkan (Miano, 1999). Teknik kompresi DCT merupakan teknik kompresi yang lossy.

2.3 Portable Network Graphics (PNG) Portable Network Graphics (PNG) diperkenalkan untuk menggantikan format citra GIF. Format file ini digunakan untuk menampilkan objek dalam halaman web. Kelebihan PNG dibandingkan dengan GIF adalah kemampuannya menyimpan citra RGB dengan kedalaman bit hingga 48 bit dan citra grayscale dengan kedalaman bit hingga 16 bit, dan memiliki alpha channel untuk mengontrol transparency (Boutell, 1997). Format PNG menyediakan portabilitas, tidak memerlukan hak paten, dan merupakan citra kompresi yang baik karena menggunakan teknik kompresi yang lossless sehingga tidak ada data yang hilang (Boutell, 1997). Teknik kompresi PNG menggunakan algoritma LZ77 dan Huffman. Format PNG mendukung jenis pewarnaan yang sangat beragam karena dapat menampung piksel dengan warna RGB, grayscale serta indexed color (Miano, 1999). 2.3.1 Struktur PNG Format PNG menyimpan data byte dengan Most Significant Bit di bagian awal (bigendian) (Miano, 1999). Ini berarti bahwa urutan penulisan byte pada PNG diawali oleh bit yang paling berpengaruh pada byte tersebut. Sebuah dokumen PNG selalu diawali oleh tanda (PNG file signature) sepanjang 8 byte (Miano, 1999). Kedelapan byte signature tersebut selalu memiliki nilai yang sama sebagai penanda bahwa dokumen tersebut adalah dokumen PNG. Nilai kedelapan byte tersebut jika dituliskan dalam desimal secara berurutan adalah 137 80 78 71 13 10 26 10 (Boutell, 1997). Setelah signature, dokumen PNG memiliki beberapa informasi dokumen yang disimpan dalam rangkaian chunk. Chunk merupakan suatu urutan blok biner yang terdiri atas empat bagian, yaitu 4 byte panjang data (length), 4 byte tipe chunk, data chunk, dan 32 bit cyclic redundancy check (CRC) (Salomon, 2007). Setiap dokumen PNG harus diawali dengan chunk IHDR dan diakhiri dengan chunk IEND (Boutell, 1997).

Pada penamaan chunk, terdapat 4 byte yang menentukan nama dan sifat dari chunk tersebut. Byte pertama dari chunk menentukan apakah chunk tersebut adalah critical chunk atau ancillary chunk (Boutell, 1997). Jika byte pertama tersebut merupakan huruf kapital ASCII, maka chunk tersebut merupakan critical chunk yang berarti merupakan chunk yang wajib dimiliki oleh setiap dokumen PNG. Lain halnya dengan ancillary chunk yang berarti chunk tersebut merupakan chunk yang tidak wajib ada dalam sebuah dokumen PNG. Byte kedua dari penamaan chunk menentukan sifat dari chunk tersebut apakah bersifat public atau private chunk (Boutell, 1997). Jika byte kedua merupakan huruf kapital pada representasi ASCII, maka chunk tersebut bersifat public. Sebaliknya, jika merupakan huruf kecil maka chunk tersebut bersifat private. Byte ketiga dari nama chunk harus merupakan huruf kapital. Hal ini dikarenakan byte ketiga ini belum memiliki arti apapun yang dapat digunakan untuk dokumen PNG. Byte chunk ketiga ini diproyeksikan untuk digunakan dalam merepresentasikan sesuatu yang mungkin akan dikembangkan dalam PNG (Boutell, 1997). Byte terakhir dari nama chunk mengindikasikan karakteristik chunk tersebut dalam hal keamanan saat dilakukan editing pada chunk tersebut. Dengan byte keempat merupakan huruf kapital, maka chunk tersebut tidak bebas untuk di-copy atau diubah dan sebaliknya jika byte keempat merupakan huruf kecil maka chunk tersebut dapat di-copy atau dimodifikasi (Boutell, 1997). 2.3.2 Spesifikasi Chunk pada PNG Ada beberapa jenis chunk yang dapat dimiliki oleh dokumen PNG. Setiap chunk memiliki sifat dan karakteristik masing-masing dilihat dari 32-bit penamaanya. Berikut dijelaskan semua chunk yang dapat dimiliki oleh dokumen PNG. 1. IHDR (Image header)

IHDR merupakan chunk yang berisi header dari dokumen PNG. Byte pertama menunjukkan bahwa chunk ini bersifat critical, artinya wajib dimiliki oleh setiap dokumen PNG. IHDR harus muncul di bagian paling awal dari sebuah dokumen PNG setelah PNG signature (Boutell, 1997). IHDR terdiri dari: a. Lebar gambar: 4 byte Menunjukkan lebar dari gambar pada dokumen PNG b. Tinggi gambar: 4 byte Menunjukkan tinggi dari gambar pada dokumen PNG c. Kedalaman bit: 1 byte Menunjukkan jumlah bit per palette. Dapat bernilai 1, 2, 4, 8 atau 16. Kedalaman bit yang digunakan bergantung pada pewarnaan yang digunakan. d. Pewarnaan: 1 byte Menunjukkan pewarnaan yang digunakan. Merupakan hasil penjumlahan dari beberapa nilai yaitu 1(palette), 2(RGB) dan 4(alpha channel). Nilai penjumlahan yang valid adalah 0, 2, 3, 4 dan 6. e. Metode kompresi: 1 byte Menunjukkan metode kompresi yang digunakan. Saat ini hanya bernilai 0, artinya menggunakan deflate/inflate compression dengan 32K sliding window. f. Metode filter: 1 byte Merepresentasikan metode filter yang digunakan dalam dokumen PNG g. Metode interlace: 1 byte Mengindikasikan metode interlace pada dokumen PNG. Nilai 0 tidak menggunakan interlace, nilai 1 menggunakan Adam7-interlace. 2. PLTE (Palette) Chunk Palette merupakan critical chunk, namun tidak selalu harus ada dalam dokumen PNG. Chunk ini harus muncul apabila pewarnaan yang digunakan adalah jenis 3 (penggunaan indexed color) (Boutell, 1997). Jika warna yang digunakan adalah RGB, maka chunk ini boleh muncul namun tidak wajib. Chunk ini akan digunakan apabila aplikasi tidak mendukung penggunaan true color. Sementara pada penggunaan warna grayscale, chunk ini tidak boleh ada dalam dokumen PNG (Boutell, 1997). Data pada chunk palette terdiri dari 1 hingga 256 data palette yang masing masing berisi 3 byte. Masing-masing byte merepresentasikan intensitas dari warna Red, Green dan Blue.

3. IDAT (Image Data) Chunk IDAT adalah tempat penyimpanan data gambar yang sesungguhnya. Data yang disimpan disini berupa byte yang merupakan data mentah yang telah dikompresi dan difilter sebelumnya (Boutell, 1997). Ukuran data mentah yang belum dikompresi dan difilter tersebut sangat bergantung dengan data header yang didefinisikan sebelumnya. 4. IEND (Image Trailer) Chunk ini harus muncul di bagian paling akhir dari dokumen PNG. Chunk ini adalah penanda akhir dari sebuah dokumen PNG. Tidak ada data pada chunk ini. 5. bkgd (Background Color) Chunk bkgd harus muncul sebelum chunk IDAT dan sesudah chunk PLTE (Boutell, 1997). Chunk ini menspesifikasikan warna latar belakang default yang digunakan dalam dokumen PNG (Boutell, 1997). Chunk ini tidak harus selalu muncul pada setiap dokumen PNG (ancillary chunk). Pada penggunaan palette, chunk ini berisi 1 byte yang merupakan pointer menuju palette. Pada penggunaan warna grayscale, chunk ini berisi 2 byte intensitas warna. Pada penggunaan warna true color, chunk ini berisi data berupa 6 byte yang merepresentasikan intensitas warna. Masing-masing warna RGB direpresentasikan dalam 2 byte. 6. chrm (Primary Chromaticities and White Point) Chunk ini merupakan ancillary chunk yang harus muncul sebelum chunk IDAT dan sebelum chunk PLTE. Chunk ini menyatakan nilai chromacity pada dokumen PNG (Boutell, 1997). 7. gama (Image Gamma) Chunk ini berisi informasi sepanjang 4 byte yang menyatakan gamma dari kamera yang memproduksi gambar(boutell, 1997). Dengan penggunaan gamma maka dapat ditampilkan warna yang sesuai dengan warna asli dengan adanya informasi dari kamera yang mengambil gambar tersebut. Chunk ini bersifat ancillary dan harus muncul sebelum chunk IDAT dan PLTE (Boutell, 1997). 8. hist (Image Histogram) Chunk ini tidak wajib dimiliki oleh setiap dokumen PNG karena merupakan ancillary chunk. Chunk ini hanya muncul jika pewarnaan yang digunakan adalah indexed color. hist berisi histogram frekuensi penggunaan setiap warna pada tabel

warna. Chunk ini terdiri dari 2 byte data dari masing-masing warna yang ada pada palette (tabel warna) (Boutell, 1997). 9. phys (Physical Pixel Dimensions) Chunk ini menspesifikasikan ukuran piksel atau aspek rasio untuk menampilkan gambar. Berupa 9 byte dimana 1 byte menunjukkan spesifikasi unit, 4 byte menyatakan jumlah piksel per unit pada sumbu x dan 4 byte menyatakan jumlah piksel per unit pada sumbu y (Boutell, 1997). 10. text (Textual Data) Chunk ini menyimpan data tekstual yang dimasukkan oleh encoder untuk informasi yang ingin dimasukkan. chunk text mengandung keyword sepanjang 1 hingga 79 byte, 1 byte null separator dan n byte teks informasi berupa karakter string (Boutell, 1997). 11. time (Image Last-Modification Time) Chunk yang merupakan ancillary chunk ini menyimpan informasi mengenai waktu modifikasi dokumen PNG terakhir kali (Boutell, 1997). Chunk ini terdiri atas 2 byte informasi tahun, 1 byte bulan, 1 byte tanggal, 1 byte jam, 1 byte menit dan 1 byte detik. Waktu yang digunakan adalah GMT, bukan waktu lokal pada komputer. 12. trns (Transparency) Chunk ini menandakan bahwa suatu dokumen PNG menggunakan transparansi warna yang simpel (Boutell, 1997). Chunk ini merupakan ancillary chunk yang tidak wajib ada dalam dokumen PNG. Chunk ini jarang digunakan karena pada jenis pewarnaan sudah terdapat pewarnaan dengan alpha (Boutell, 1997). Alpha ini menunjukkan tingkat transparansi warna suatu piksel. 13. ztxt (Compressed Textual Data) Chunk ztxt tidak ubahnya chunk text yang berfungsi menyimpan data tekstual. Perbedaannya adalah bahwa chunk ini menggunakan kompresi saat akan menyisipkan pesan tekstual. Pesan tekstual tersebut disimpan dengan spesifikasi keyword sepanjang 1-79 byte, null separator, metode kompresi dan pesan tekstual hasil kompresi (Boutell, 1997).

2.4 Steganografi Steganografi adalah ilmu dan seni untuk menyembunyikan informasi dengan menyisipkan pesan kedalam pesan lainnya (Cachin, 2005). Kata steganography berasal dari bahasa Yunani, yaitu dari kata Steganos yang artinya tersembunyi dan Graphein yang artinya tulisan. Steganografi biasanya sering disamakan dengan kriptografi karena keduanya sama-sama bertujuan untuk melindungi informasi yang berharga dan rahasia. Perbedaan yang mendasar antara keduanya terletak pada proses merahasiakan data dan hasil akhir dari proses tersebut. Kriptografi melakukan proses pengacakan data asli sehingga dihasilkan data terenkripsi yang benar-benar acak dan berbeda dengan aslinya. Sementara itu, steganografi menyembunyikan data ke dalam data lain dengan cara menumpanginya tanpa mengubah data yang ditumpanginya tersebut sehingga tampilan data tetap terlihat sama. 2.4.1 Sejarah Steganografi Sejarah steganografi cukup panjang. Awalnya adalah penggunaan hieroglyphic oleh bangsa Mesir, yakni menulis menggunakan karakter-karakter dalam wujud gambar. Tulisan Mesir kuno tersebut menjadi ide untuk membuat pesan rahasia saat ini. Oleh karena itulah, tulisan mesir kuno yang menggunakan gambar dianggap sebagai steganografi pertama di dunia (Ariyus, 2007). Menurut penelitian para ahli, Yunani termasuk bangsa yang menggunakan steganografi setelah bangsa Mesir. Herodotus mendokumentasikan konflik antara Persia dan Yunani pada abad ke-50 sebelum masehi. Dokumentasi pada masa Raja Xerxes, raja dari Persia, disimpan di Yunani menggunakan steganografi. Berikut adalah beberapa contoh penggunaan teknik steganografi klasik (Bakshi, 2007): 1. Abad ke-15 orang Italia menggunakan tawas dan cuka untuk menulis pesan rahasia diatas kulit telur. Kemudian telur tersebut direbus hingga tinta yang ada

meresap dan tidak terlihat pada kulit telur. Penerima pesan cukup mengupas kulit telur tersebut untuk membaca pesan. 2. Selama terjadinya Perang Dunia ke-2, tinta yang tidak tampak (invisible ink) telah digunakan untuk menulis informasi pada lembaran kertas sehingga saat kertas tersebut jatuh di tangan pihak lain hanya akan tampak seperti lembaran kertas kosong biasa. 3. Pada sejarah Yunani kuno, masyarakatnya biasa menggunakan seorang pembawa pesan sebagai perantara pengiriman pesan. Pengirim pesan tersebut akan dicukur rambutnya, untuk kemudian dituliskan suatu pesan pada kepalanya yang sudah botak. Setelah pesan dituliskan, pembawa pesan harus menunggu hingga rambutnya tumbuh kembali sebelum dapat mengirimkan pesan kepada pihak penerima. Pihak penerima kemudian akan mencukur rambut pembawa pesan tersebut untuk melihat pesan yang tersembunyi. 4. Metode lain yang digunakan oleh masyarakat Yunani kuno adalah dengan menggunakan lilin sebagai media penyembunyi pesan mereka. Pesan dituliskan pada suatu lembaran, dan lembaran tersebut akan ditutup dengan lilin untuk menyembunyikan pesan yang telah tertulis. Pihak penerima kemudian akan menghilangkan lilin dari lembaran tersebut untuk melihat pesan yang disampaikan oleh pihak pengirim. 2.4.2 Konsep dan Terminologi Steganografi Terdapat beberapa istilah yang berkaitan dengan steganografi (Munir, 2006), yaitu: 1. Hiddentext atau embedded message: pesan yang disembunyikan. 2. Cover-object: pesan yang digunakan untuk menyembunyikan embedded message. Pada tugas akhir ini akan digunakan istilah cover image karena yang digunakan sebagai cover-object adalah gambar (image). 3. Stego-object: pesan yang sudah berisi embedded message. Pada tugas akhir ini akan digunakan istilah stego image. Di dalam steganografi digital, baik embedded message maupun cover-object dapat berupa teks, citra, audio, maupun video. Penyisipan pesan ke dalam media

cover-object dinamakan encoding, sedangkan ekstraksi pesan dari stego-object dinamakan decoding. Kedua proses ini mungkin memerlukan kunci rahasia (stegokey) agar hanya pihak yang berhak saja yang dapat melakukan penyisipan pesan dan ekstraksi pesan sehingga menambah tingkat keamanan data. Proses umum penyisipan pesan dan ekstraksi pesan dapat dilihat pada Gambar 2.3 cover-object cover-object embedded message Embedding stego-object Extractio embedded message key key Gambar 2.3 Penyisipan Pesan dan Ekstraksi Pesan Tiga aspek berbeda yang mempengaruhi sifat sistem embedding atau penyisipan pada gambar adalah kapasitas, keamanan, dan ketahanan (Ariyus,2007). Kapasitas merujuk pada jumlah informasi yang bisa disembunyikan ke dalam media penampung (cover-object). Keamanan adalah ketidakmampuan pengamat untuk mendeteksi pesan yang tersembunyi. Ketahanan adalah jumlah modifikasi stegoobject yang bisa bertahan sebelum musuh merusak pesan rahasia yang tersembunyi tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah: (Cummins et al, 2004) 1. Mutu citra penampung (cover object) tidak jauh berubah. Setelah penambahan data rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia. 2. Data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan pada citra penampung. Bila pada citra dilakukan operasi pengolahan citra, maka data yang disembunyikan tidak rusak. 3. Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu pesan rahasia di dalam stego object harus dapat diambil kembali untuk digunakan lebih lanjut.

2.4.3 Teknik Steganografi Pada dasarnya, terdapat tujuh teknik yang digunakan dalam steganografi (Ariyus, 2007), yaitu: 1. Injection, merupakan suatu teknik menanamkan pesan rahasia secara langsung ke suatu media. Salah satu masalah dari teknik ini adalah ukuran media yang diinjeksi menjadi lebih besar dari ukuran normalnya sehingga mudah dideteksi. 2. Teknik substitusi (Substitution Techniques), pada teknik ini data asli digantikan dengan data rahasia. Biasanya, hasil teknik ini tidak terlalu mengubah ukuran data asli, tetapi tergantung pada file media dan data yang akan disembunyikan. Teknik substitusi ini bisa menurunkan kualitas media penampung. 3. Teknik Domain Transformasi (Domain Transform Techniques), yaitu dengan cara menyimpan informasi rahasia pada transformasi ruang (misalnya domain frekuensi) dari media penampung (cover). Akan lebih efektif jika teknik ini diterapkan pada file berekstensi Jpeg (gambar). 4. Teknik Spread Spectrum (Spread Spectrum Techniques), merupakan sebuah teknik pentransmisian menggunakan pseudo-noise code, yang independen terhadap data informasi sebagai modulataor bentuk gelombang untuk menyebarkan energi sinyal dalam sebuah jalur komunikasi ( bandwidth) yang lebih besar dari pada sinyal jalur komunikasi informasi. Penerima mengumpulkan kembali sinyal dengan menggunakan replica pseudo-noise code tersinkronisasi. 5. Teknik Statistik (Statistical Techniques), dengan teknik ini data diencoding melalui pengubahan beberapa informasi statistik dari media penampung (cover). Media penampung di bagi dalam blok-blok dimana setiap blok tersebut menyimpan satu pixel informasi rahasia yang disembunyikan. 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. Teknik Distorsi (Distortion Techniques), informasi yang hendak disembunyikan disimpan berdasarkan distorsi sinyal. Teknik ini menciptakan perubahan atas benda yang ditumpangi oleh data rahasia.

7. Teknik Pembangkitan Wadah (Cover Generation Techniques), Teknik ini menyembunyikan informasi rahasia sejalan dengan pembangkitan cover. 2.5 Bit-Plane Complexity Segmentation (BPCS) Bit-plane complexity segmentation (BPCS) merupakan teknik steganografi yang diperkenalkan oleh Eiji Kawaguchi dan Richard O. Eason pada tahun 1998. Teknik ini merupakan teknik steganografi yang memiliki kapasitas besar, karena dapat menampung data rahasia dengan kapasitas yang relatif besar jika dibandingkan dengan metode steganografi lain seperti LSB (Least Significant Bit). Teknik BPCS ini adalah teknik steganografi yang tidak berdasarkan teknik pemrograman, tetapi teknik yang menggunakan sifat penglihatan manusia. Sifat penglihatan manusia yang dimanfaatkan yaitu ketidakmampuan manusia menginterpretasi pola biner yang sangat rumit. Eiji Kawaguchi dan R. O. Eason memperkenalkan teknik BPCS ini untuk digunakan pada dokumen citra berwarna yang tidak terkompresi dengan format BMP. Dokumen citra tersebut dibagi menjadi beberapa segmen dengan ukuran 8x8 piksel setiap segmennya (Kawaguchi dan Eason, 1998). Pada dokumen citra 8-bit, setiap satu segmen akan memiliki 8 buah bit plane yang merepresentasikan piksel-piksel dari setiap bit tersebut. Proses pembagian segmen 8x8 piksel menjadi 8 buah bit plane disebut proses bit slicing. Representasi kedelapan bit plane ini merupakan PBC system (Pure Binary Code). Pada BPCS, proses penyisipan dilakukan pada bit plane dengan sistem CGC (Canonical Gray Code) karena proses bit slicing pada CGC cenderung lebih baik dibandingkan pada PBC (Kawaguchi dan Eason, 1998). Sehingga pada proses penyisipan, bit plane dengan representasi PBC diubah menjadi bit plane dengan representasi CGC. Proses penyisipan pesan dilakukan pada segmen yang memiliki kompleksitas yang tinggi. Segmen yang memiliki kompleksitas tinggi ini disebut noise-like regions. Pada segmen-segmen ini penyisipan dilakukan tidak hanya pada least significant bit, tapi pada seluruh bit plane yang termasuk noise-like regions. Oleh sebab itu, pada

teknik BPCS, kapasitas data yang disisipkan dapat mencapai 50% dari ukuran coverimagenya (Kawaguchi dan Eason, 1998). 2.5.1 Bit Plane Sebuah citra multi-valued dengan kedalaman n bit dapat diuraikan menjadi n-gambar biner (bit plane) dengan operasi bit slicing (Kawaguchi dan Eason, 1998). Sebagai contoh, misalkan ada citra P dengan kedalaman n-bit, dapat ditunjukkan P = (P 1, P 2,, P n ) (2.1) P i merupakan bit plane ke-i, dengan i = 1, 2,, n. Jika citra P terdiri dari 3 warna, red, green, blue, maka dapat ditunjukkan P = (P R1, P R2,, P Rn, P G1, P G2,, P Gn, P B1, P B2,, P Bn ) (2.2) P Ri : bit-plane ke-i untuk red P Gi : bit-plane ke-i untuk green P Bi : bit-plane ke-i untuk blue 2.5.2 Kompleksitas Citra Biner Kompleksitas citra biner adalah suatu parameter kerumitan dari suatu citra biner. Tidak ada definisi standar tentang nilai kompleksitas suatu citra biner. Pada tugas akhir ini, ukuran kompleksitas yang digunakan adalah black-and-white border image complexity yang diadopsi dari paper Eiji Kawaguchi dan R.O.Eason. Perubahan warna hitam dan putih dalam gambar biner adalah ukuran yang baik untuk menghitung nilai kompleksitas. Jika perubahan warna yang terjadi banyak, maka gambar tersebut memiliki tingkat kompleksitas tinggi. Jika sebaliknya, maka gambar tersebut merupakan gambar yang simpel (Kawaguchi dan Eason, 1998).

Gambar 2.4 (a) Gambar biner dengan nilai perubahan warna 4 dan (b) Gambar biner dengan nilai perubahan warna 20. Perubahan warna hitam-putih adalah jumlah dari perubahan warna yang terjadi pada setiap baris dan kolom dalam citra. Sebagai contoh, sebuah piksel hitam yang dikelilingi piksel putih memiliki nilai perubahan warna 4. Gambar 2.4 menunjukkan nilai perubahan warna pada suatu gambar biner. Rumus penghitungan kompleksitas citra biner yang akan digunakan adalah (Kawaguchi dan Eason, 1998): (2.3) Dengan sebagai nilai kompleksitas, k adalah jumlah perubahan warna hitam-putih dan n adalah kemungkinan maksimal perubahan warna dalam citra. Untuk sebuah citra biner persegi dengan ukuran 2 N x 2 N, kemungkinan maksimal perubahan warnanya adalah 2*2 N *(2 N -1) dan kemungkinan minimum perubahan warnanya adalah 0, diperoleh untuk gambar semua putih atau semua hitam (Srinivasan, 2003). Jadi, nilai α berkisar antara: (2.4) 2.5.3 Konjugasi Citra Biner Konjugasi dari suatu gambar biner P adalah sebuah gambar biner lainnya yang memiliki nilai kompleksitas sebesar satu dikurangi nilai kompleksitas P. Misalkan sebuah gambar hitam-putih P berukuran 8x8 piksel memiliki warna background putih dan warna foreground hitam. W adalah pola dengan semua piksel berwarna putih dan

B adalah pola dengan semua piksel berwarna hitam. Wc dan Bc adalah pola papan catur, dengan piksel pada bagian kiri atas berwarna putih pada Wc dan hitam pada Bc. P* adalah konjugasi dari gambar P yang ditunjukan pada Gambar 2.5. Gambar 2.5 Contoh Konjugasi dan Pola Biner (Kawaguchi dan Eason,1998) Dari Gambar 2.5 dapat dilihat bahwa P adalah gambar yang memiliki piksel background dengan pola W dan piksel foreground dengan pola B. P* yang merupakan konjugasi dari P memiliki spesifikasi sebagai berikut (Kawaguchi dan Eason,1998): 1) Memiliki bentuk area foreground sama dengan P. 2) Memiliki pola area foreground sama dengan pola Bc. 3) Memiliki pola area background sama dengan pola Wc. Untuk membangun sebuah konjugasi P* dari sebuah gambar P, dapat dilakukan dengan rumus berikut, dimana menandakan operasi exclusive OR (XOR). P* = P Wc (2.5) (P*)* = P (2.6) P* P (2.7) Jika (P) adalah kompleksitas dari P, maka: (P*) = 1 - (P) (2.8) 2.5.4 Informative Region dan Noise-Like Region Informative image berarti gambar yang simpel, sedangkan noise-like region berarti gambar yang kompleks. Hal ini hanya berlaku pada kasus dimana sebuah gambar biner merupakan bagian dari sebuah gambar yang natural (Kawaguchi dan Eason, 1998). Kompleksitas sebuah area bit-plane adalah parameter yang digunakan dalam menentukan sebuah bit-plane merupakan informative atau noise-like region.

Parameter kompleksitas ini harus memiliki batas yang merupakan pemisah keduanya yang disebut threshold ( ). Sebuah bit-plane tergolong sebagai informative region apabila memiliki nilai kompleksitas lebih kecil dibandingkan dengan nilai threshold ( ) dan apabila memiliki nilai kompleksitas yang lebih besar dibandingkan dengan nilai threshold ( ) akan dianggap sebagai noise-like region. 2.5.5 Pure-Binary Code (PBC) dan Canonical Gray Code (CGC) PBC adalah sandi yang digunakan untuk menyajikan setiap digit dalam bilangan desimal dengan ekuivalen binernya (Widodo, 2007). CGC termasuk sandi dengan perubahan minimum yang berarti setiap bilangannya hanya berbeda satu bit dari bilangan sebelumnya dan sistem CGC sesuai untuk devais masukan/keluaran (Widodo, 2007). Sebagai contoh, penyajian angka desimal 9 dalam sistem PBC adalah 1001 sedangkan dalam sistem CGC adalah 1101. Gambar 2.6 menunjukkan perbedaan antara PBC dan CGC. Pure Binary Code Canonical Gray Code Gambar 2.6 Gambar Biner dengan Sistem PBC dan CGC Berikut adalah rumus persamaan antara gambar biner PBC dan CGC (dengan adalah Exclusive OR): g 1 = b 1 (2.9) g i = b i-1 b i, i > 1 (2.10) b 1 = g 1 (2.11) b i = g i b i-1, i > 1 (2.12)

dengan g i : nilai bit ke-i pada sistem CGC b i : nilai bit ke-i pada sistem PBC 2.5.6 Algoritma BPCS Langkah-langkah yang dilakukan pada algoritma BPCS pada saat menyisipkan data adalah sebagai berikut: (Kawaguchi dan Eason, 1998) 1. Cover image dengan sistem PBC diubah menjadi sistem CGC, kemudian gambar tersebut di-slice menjadi bit-plane dalam bentuk gambar biner. Setiap bit-plane mewakili bit dari setiap piksel pada gambar. 2. Segmentasi setiap bit-plane pada cover image menjadi informative dan noise like region dengan menggunakan nilai batas/threshold ( ). Nilai umum dari =0,3. 3. Kelompokkan byte-byte pesan rahasia menjadi rangkaian blok pesan rahasia. 4. Jika blok(s) kurang kompleks dibandingkan dengan nilai batas, maka lakukan konjugasi terhadap S untuk mendapatkan S* yang lebih kompleks. Blok konjugasi(s*) pasti lebih kompleks dibandingkan dengan nilai batas. 5. Sisipkan setiap blok pesan rahasia ke bit-plane yang merupakan noise-like region (atau gantikan semua bit pada noise-like region). Jika blok S dikonjugasi, maka simpan data pada conjugation map. 6. Sisipkan juga conjugation map seperti yang dilakukan pada blok pesan rahasia. 7. Ubah stego-image dari sistem CGC menjadi sistem PBC. Proses ekstraksi pesan rahasia dapat dilakukan dengan menerapkan langkah-langkah penyisipan secara terbalik. Sebagai contoh, sebuah dokumen citra akan disisipi sebuah pesan rahasia Ms. Pertama-tama piksel pada citra tersebut (cover image) dibagi menjadi segmen-segmen gambar biner seperti ditunjukkan pada Gambar 2.7. Kemudian pesan rahasia dibagi menjadi blok yang masing-masing berukuran 64 bit, dan direpresentasikan pada matriks berukuran 8x8.

Gambar 2.7 Proses Pengubahan Citra Menjadi Segmen-Segmen Bit-Plane Pada bit-plane tersebut dihitung nilai kompleksitasnya. Jumlah pergantian warna hitam-putih pada bit-plane 0 adalah sebanyak 47 kali. Jumlah maksimum perubahan warna pada gambar biner dengan ukuran 8x8 adalah 112 kali, sehingga nilai k=47 dan n = 112. Melalui persamaan 2.3 didapatkan nilai kompleksitas dari bitplane 0 tersebut, yaitu = 0,42. Dengan menggunakan nilai threshold = 0,3 maka bit-plane 0 dikategorikan sebagai noise-like region karena sehingga penyisipan dilakukan didalamnya. Jika <, maka tidak dilakukan penyisipan karena segmen tersebut merupakan informative region. Selanjutnya bit pesan rahasia dibagi menjadi segmen-segmen yang masing-masing berukuran 64 bit. Jika bit pesan rahasia tersebut adalah M S maka blok pertama pesan rahasia adalah MS 0 dan blok berikutnya adalah MS 1. M s = 0100111010011100110101011111100101010000010100100010101000011001 0000111010001111100111100011111001111110010111001111100011110000 M s0 = 0100111010011100110101011111100101010000010100100010101000011001 M s1 = 0000111010001111100111100011111001111110010111001111100011110000

Representasi blok pesan dalam gambar biner dapat dilihat pada Gambar 2.8. Blok pesan MS 0 akan disisipkan pada blok gambar yaitu bit-plane 0 (karena tergolong noise-like region), dan blok MS 1 akan disisipkan pada bit-plane berikutnya yang tergolong noise-like region juga. M s0 = 01001110 10011100 M s1 = 00001110 10001111 11010101 11111001 10011110 00111110 01010000 01010010 01111110 01011100 00101010 00011001 11111000 11110000 Gambar 2.8 Representasi Blok Pesan dalam Gambar Biner Sebelum melakukan penyisipan, gambar biner yang merupakan representasi blok pesan tersebut dihitung nilai kompleksitasnya terlebih dahulu. Pada blok pesan pertama (MS 0 ), jumlah perubahan warna adalah 57 kali, sehingga dengan persamaan 2.3 diperoleh MS0 = 0,51. Karena blok pesan ini memiliki kompleksitas MS0 >, maka blok bit-plane pada citra diganti oleh 64 bit pesan ini. Pada blok kedua pesan rahasia, jumlah perubahan warna adalah 30, sehingga didapatkan nilai MS1 = 0,27. Nilai kompleksitas MS1 < menunjukkan bahwa blok kedua pesan tidak cukup kompleks untuk disisipkan, karena itu blok pesan tersebut harus dikonjugasi terlebih dahulu. Hasil konjugasi, yaitu MS1* akan memiliki kompleksitas 0,73 menurut persamaan 2.8. Hasil konjugasi inilah yang kemudian disisipkan pada noise-like region berikutnya pada citra dijital. Saat proses ekstrasi pesan, yang perlu dilakukan hanyalah mengambil segmen bit yang memiliki kompleksitas diatas threshold. Jika nilai kompleksitas segmen tersebut lebih besar dari threshold, maka segmen tersebut merupakan bagian dari

pesan rahasia. Tabel konjugasi yang disisipkan juga dibaca untuk melihat proses konjugasi yang perlu dilakukan pada tiap blok pesan.