BAB II TINJAUAN PUSTAKA
II.1. Perancangan Perancangan adalah sebuah proses untuk mendefenisikan sesuatu yang akan dikerjakan dengan menggunakan teknik yang bervariasi serta didalamnya melibatkan deskripsi mengenai arsitektur serta detail mengenai komponen dan juga keterbatasan yang akan dialami dalam proses pengerjaaan nya. (Soetam, Rizky.; 2011). “Perancangan yang sesungguhnya merupakan suatu aktivitas rekayasa perangkat lunak yang dimaksud untuk membuat keputusan – keputusan utama seringkali bersifat struktural” (Roger S. Pressman,; 2010).
II.2. Aplikasi Aplikasi adalah suatu program yang siap untuk digunakan yang dibuat untuk melaksanakan suatu fungsi bagi pengguna jasa aplikasi serta bagi pengguna aplikasi lain yang dapat digunakan oleh suatu sassaran yang akan dituju (Jack Febrian.; 2007). “Aplikasi adalah kumpulan perintah program yang dibuat untuk melakukan pekerjaan – pekerjaan tertentu dan merupakanprogram – program yang dibuat oleh suatu perusahaan komputer untuk para pemakai yang beroperasi dalam bidang umum, seperti pertokoan, komunikasi, penerbangan, dan lain sebagainya. (Sutarman.; 2009).
13
II.3. BPCS (Bit-Plane Complexiy Segmentation) Bit-plane complexity segmentation (BPCS) adalah salah satu teknik steganografi yang diperkenalkan oleh Eiji Kawaguchi dan R. O. Eason pada tahun 1997 (Eiji Kawaguchi, 1997). Pada BPCS dokumen citra dibagi menjadi segmensegmen dengan ukuran 8x8 piksel setiap segmennya (Eiji Kawaguchi, 1997). Pada dokumen citra 8-bit, setiap satu segmen akan memiliki 8 buah bit-plane yang merepresentasikan piksel-piksel dari setiap bit tersebut. Proses penyisipan data 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.
II.3.1. Kompleksitas Gambar Biner Kompleksitas gambar biner adalah suatu parameter kerumitan dari suatu gambar biner. Tidak ada definisi standar dari kompleksitas ini. Pada tugas akhir ini, ukuran kompleksitas yang akan digunakan adalah ukuran kompleksitas yang digunakan oleh Eiji Kawaguchi pada paper mengenai BPCS. Ukuran kompleksitas yang digunakan adalah black-and-white border image complexity. 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.
Gambar II.1 (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 gambar. Sebagai contoh, sebuah piksel hitam yang dikelilingi piksel putih memiliki nilai perubahan warna 4. Gambar II.2 a dan b menunjukkan nilai perubahan warna pada suatu gambar biner. Dengan α sebagai nilai kompleksitas, maka rumus penghitungan kompleksitas yang akan digunakan adalah:
Dengan k adalah jumlah perubahan warna hitam-putih dan n adalah kemungkinan maksimal perubahan warna dalam gambar.
II.3.2. Konjugasi dari Gambar 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 pattern dengan semua piksel berwarna putih dan B adalah pattern dengan semua piksel berwarna hitam. Wc dan Bc adalah pola papan catur, dengan warna piksel atas-kiri berwarna putih pada Wc dan hitam pada Bc. P* adalah konjugasi dari gambar P yang ditunjukan pada gambar II.2.
Gambar II.2 Contoh Konjugasi dan Binary Pattern (Eiji Kawaguchi, 1997) Dari gambar II.2 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 : 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 “ (XOR). P* = P Wc (P*)* = P P*
P
Jika α(P) adalah kompleksitas dari P, maka:
” menandakan operasi exclusive OR
(P*) = 1 - α(P)
II.3.3. Algoritma BPCS Berikut adalah langkah-langkah yang dilakukan pada algoritma BPCS saat menyisipkan data ( Kawaguchi,E.; 2007): 1.
Mengubah cover image dari sistem PBC menjadi sistem CGC. Sebelumnya, gambar tersebut di-slice terlebih dahulu menjadi bit-plane. Setiap bit-plane mewakili bit dari setiap piksel. Gambar II.4 menunjukkan proses pemotongan gambar menjadi kumpulan bit-plane.
Gambar II.3Bit-Slicing pada gambar 8-bit
Jika dilihat dari gambar II.3, maka bit-plane yang disusun oleh bit 7 merupakan least significant bit. Pada BPCS, semua bit-plane memiliki kemungkinan untuk diganti, tidak hanya least significant bit. Bit-plane yang berupa gambar biner tersebut dikonversi dari PBC menjadi CGC. Gambar II.6 menunjukkan perbedaan pada PBC dan CGC.
Berikut adalah rumus persamaan antara gambar biner PBC dan CGC (dengan adalah Exclusive OR):
Gambar II.4 Gambar Biner dengan PBC dan CGC 2.
Segmentasi setiap bit-plane pada cover image menjadi informative dan noise likeregiondengan menggunakan nilai batas/threshold (
). Nilai umum dari
=0,3. 3.
Bagi setiap byte pada data rahasia menjadi blok-blok.
4.
Jika blok(S) tidak lebih kompleks dibandingkan dengan nilai batas,maka lakukankonjugasi terhadap S untuk mendapatkan S* yang lebih kompleks.
5.
Sisipkan setiap blok data rahasia ke bit-plane yang merupakan noise-like region (ataugantikan semua bit pada noise-like region). Jika blok S dikonjugasi,maka simpan data pada “conjugation map”.
6.
Sisipkan juga pemetaan konjugasi yang telah dibuat.
7.
Ubah stego-image dari sistem CGC menjadi sistem PBC. Proses ekstraksi data 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 II.4. Kemudian pesan rahasia dibagi menjadi blok yang masing-masing berukuran 64 bit, dan direpresentasikan pada matriks berukuran 8x8.
Gambar II.5 Proses Pengubahan Gambar 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.1 didapatkan nilai kompleksitas dari bit-plane 0 tersebut, yaitu α = 0,42. Dengan menggunakan nilai threshold
= 0,3 maka bit-plane 0
dikategorikan sebagai noise-like region sehingga penyisipan 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 MS maka Blok pertama pesan rahasia adalah MS0 dan blok berikutnya adalah MS1. MS= 1100000101010001010101000000001111010000000111011101111001000 1001100000100000000111110001111100011000011110000110000000000 111111 MS0 = 1100000101010001010101000000001111010000000111011101111001 000100 MS1 = 11 00000100000000111110001111100011000011110000110000000000 111111 Representasi blok pesan dalam gambar biner dapat dilihat pada gambar 2.8 Blok pesan MS0 akan disisipkan pada blok gambar yaitu bit-plane 0 (karena tergolong noise-like region), dan blok MS1 akan disisipkan pada bit-plane berikutnya yang tergolong noise-like region juga.
Gambar II.6 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 (MS0), jumlah perubahan warna adalah 54 kali, sehingga dengan persamaan 2.1 diperoleh kompleksitas
>
= 0,48. Karena blok pesan ini memiliki
, maka blok bit-plane pada citra diganti oleh 64 bit pesan
ini. Pada blok kedua pesan rahasia, jumlah perubahan warna adalah 32, sehingga didapatkan nilai
= 0,29. Nilai kompleksitas
<
menunjukkan
bahwa blok kedua pesan tidak cukup kompleks untuk disisipkan, karena itu blok pesan tersebut harus dikonjugasi terlebih dahulu. Hasil konjugasi, yaitu
*
akan memiliki kompleksitas 0,71 menurut persamaan 2.5. Hasil konjugasi inilah yang kemudian disisipkan pada noise-like region pada citra digital. 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.
II.4.Metode-Metode Watermark Pada Citra Digital Terdapat banyak metode watermarking untuk citra digital. Ada yang bekerja pada domain spasial atau waktu, dan ada yang mengalami transformasi terlebih dahulu (seperti DCT, FFT, dsb) misalnya ke domain frekuensi. Bahkan ada yang menerapkan teknologi-teknologi lain seperti fraktel, spread spectrum untuk telekomunikasi dan sebagainya. Beberapa metode yang pernah di teliti para ahli, diantaranya : 1. LSB (Least Significant Bit) Coding Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya pada file image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (lsb) pada data pixel yang menyusun file tersebut. Seperti kita ketahui untuk file bitmap 24 bit maka setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian pada setiap pixel file bitmap 24 bit kita dapat menyisipkan 3 bit data. 2. Patchwork Metoda ini diusulkan oleh Bender (W. Bender, 1996) dengan pendekatan statistik, yang dikenal sebagai Patchwork, didasarkan pada suatu pseudorandom
proses statistik. Patchwork dengan cara tidak kelihatan (invisibly) melekatkan pada host image dengan pendekatan statistik spesifik, yang mempunyai suatu distribusi Gaussian. Metoda ini menanamkan label 1 bit pada citra digital dengan menggunakan pendekatan statistik. Dalam metoda ini, sebanyak n pasang titik (ai,bi) pada citra dipilih secara acak. Brightness dari ai dinaikkan 1 (satu) dan brightness dari pasangannya bi diturunkan satu.
Nilai harapan dari jumlah
perbedaan n pasang titik tersebut adalah 2n. Ketahanan metoda ini terhadap kompresi JPEG dengan parameter kualitas 75%, maka label tetap dapat dibaca dengan probabilitas kebenaran sebesar 85%. 3. Pitas & Kaskalis Metoda ini membagi sebuah citra atas dua bagian (subsets) sama besar (misalnya dengan menggunakan random generator) atau dengan sebuah digital signature S yang merupakan pola biner dengan ukuran N x M dimana jumlah biner "1" (satu) sama dengan jumlah biner "0" (nol). Kemudian salah satu subset ditambahkan dengan faktor k (bulat positif). Faktor k diperoleh dari perhitungan variansi dari kedua subset. Verifikasi dilakukan dengan menghitung perbedaan rata-rata antara kedua subset. Nilai yang diharapkan adalah k bila ada label yang ditanamkan. Metoda ini hanya tahan terhadap kompresi JPEG dengan ratio 4:1 (faktor kualitas kira-kira lebih dari 90%). 4. Caroni Mengusulkan metoda penyembunyian sejumlah bit label pada komponen luminansi dari citra dengan membagi atas blok-blok, kemudian setiap pixel dari
satu blok akan dinaikan dengan faktor tertentu bila ingin menanamkan bit '1', dan nilai-nilai pixel dari blok akan dibiarkan bila akan menanamkan bit '0'. Untuk mendapatkan labelnya kembali, maka brightness setiap titik dari citra yang terlabel akan dikurangkan dengan citra asli. Jika rata-rata dari satu blok pixel melewati suatu nilai (threshold) tertentu, maka akan dinyatakan sebagai bit '1', bila tidak maka dinyatakan sebagai bit '0'. Setelah mengalami kompresi JPEG, metoda ini dapat tahan terhadap faktor kualitas sebesar 30%. 5. Multimedia Rights Protection Digital Image Metode yang dibahas oleh James Padgett, mengemukakan suatu cara digital image dapat diwatermark dengan menggunakan image yang utuh teknik transformasi DCT spread spektrum untuk melindungi hak kepemilikan data multimedia. 6. Randomly Squenced Pulse Position Modulated Code (RSPPMC). Diusulkan oleh Zhao & Koch, bekerja pada domain DCT seperti metode Cox. Berbeda dengan metode Cox, metoda ini berdasarkan prinsip format citra JPEG, membagi citra menjadi blok-blok 8 x 8 dan kemudian dilakukan transformasi DT, kemudian menggunakanprinsip spread spectrum (metoda frequency hopped) dan RSPPMC (Randomly Sequenced Pulse Position Modulated Code), koefisiankoefisian DC tersebut diubah sedemikian rupa sehingga akan mengandung informasi 1 bit dari label seperti dipilih tiga koefisien untuk disesuaikan dengan bit label yang ingin ditanamkan. Contohnya untuk menamkan bit „1‟ ke dalam suatu blok koefisien DCT 8 x 8, koefisien ketiga dari ketiga koefisien yang
terpilih harus diubah sedemikian rupa sehingga lebih kecil dari kedua koefisien lainnya(Miano, J.; 2009).
II.5 Pengertian Citra Citra (image) istilah lain untuk gambar sebagai salah satu komponen multimedia memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh teks, yaitu citra kaya dengan informasi. Ada sebuah peribahasa yang berbunyi “sebuah gambar bermakna lebih dari seribu kata”. Maksudnya bahwa sebuah gambar dapat memberikan informasi yang lebih banyak daripada informasi tersebut disajikan dalam bentuk kata- kata (tekstual) (Basuki., A.; 2005). Citra (image) adalah gambar pada bidang dua dimensi. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dua dimensi. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pemantulan cahaya ini ditangkap oleh alat –alat optik antara lain layaknya mata manusia atau hewan, alat sensor cahaya, kamera, pemindai (scanner), dan sebagainya, sehingga bayangan objek tersebut dapat terekam atau tersimpan kedalam format digital atau analog (Basuki,Achmad.; 2005). Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat (Basuki,Achmad.; 2005) : 1. Optik berupa foto, 2. Analog berupa sinyal video seperti gambar pada monitor televisi,
3. Digital yang dapat langsung disimpan pada suatu pita magnetik.
II.5.1. Citra Digital Citra yang digunakan dalam pengolahan citra oleh komputer adalah citra dalam bentuk digital. Citra digital dapat dibuat dikomputer dengan bantuan kamera digital dan scanner. Dengan demikian untuk mendapatkan suatu citra digital diperlukan suatu proses konversi, sehingga citra tersebut selanjutnya dapat diproses dengan komputer ( Basuki, A.; 2005). Untuk mengubah citra yang bersifat kontinu menjadi citra digital diperlukan proses pembuatan kisi –kisi arah horizontal dan vertikal, sehingga diperoleh gambar dalam bentuk array dua dimensi. Proses disebut sebagai proses digitalisasi atau sampling (Basuki, A.; 2005). Proses sampling dapat dilihat pada gambar II.7.
Sampler
Citra dengan tingkat Citral DigitalKeabuan kontinu Gambar II.7 Proses sampling Setiap elemen array tersebut terkenal sebagai elemen gambar atau pixel. Sejumlah pixel dengan ukuran tertentu ini akan menentukan resolusi spasial yang diperoleh. Makin tinggi resolusi yang diperoleh, yang berarti semakin kecil ukuran pixelnya maka semakin halus gambar yang diperoleh karena informasi
yang hilang akibat pengelompokan keabuan pada proses pembuatan kisi –kisi akan semakin kecil (Basuki, A.; 2005). Proses yang dilakukan selanjutnya dalam konversi tersebut adalah proses kuantitas. Dalam proses ini tingkat keabuan setiap pixel dinyatakan dengan suatu harga integer. Batas –batas harga integer atau besarnya daerah tingkat keabuan yang digunakan untuk menentukan resolusi kecerahan dari gambar yang diperoleh. Kalau digunakan tiga bit untuk menyimpan harga integer tersebut, maka akan diperoleh sebanyak delapan tingkat keabuan. Makin besar jumlah tingkat keabuan yang digunakan makin baik gambar yang akan diperoleh, karena kontinuitas dari tingkat keabuan akan semakin tinggi sehingga mendekati citra aslinya (Basuki,A.; 2005). Seluruh tahapan proses konversi diatas dikenal sebagai konversi analog ke digital yang biasanya akan menyimpan hasil prosesnya pada memori citra. Sebaliknya sebagai hasil proses pengolahan citra digital, kadang – kadang perlu mengeluarkan gambar dari memori citra kebentuk peragaan pada monitor televisi atau kebentuk cetak foto. Proses konversi kebalikan ini dikenal sebagai konversi digital ke analog. Citra monokrom atau hitam –putih merupakan citra satu kanal, dimana citra f(x,y) merupakan fungsi tingkat keabuan dari hitam –putih, x menyatakan variabel baris atau garis jelajah dan y menyatakan variabel kolom atau posisi pixel digaris jelajah. Sebaliknya citra berwarna dikenal juga citra multi spectral, dimana warna citra biasanya dinyatakan dalam tiga komponen warna yaitu merah, hijau dan biru yang sering disebut RGB, citra berwarna
{fmerah(x,y), fhijau(x,y), fbiru(x,y)} merupakan fungsi harga vector tingkat keabuan merah, hijau dan biru (Basuki, A.; 2005).
II.5.2. Konsep Kompresi pada Citra Digital Semenjak kebutuhan kapasitas penyimpanan dokumen citra yang terus menanjak maka mulai dilakukan kompresi pada citra dijital dengan tujuan menghasilkan
ukuran
dokumen
yang
semakin
kecil
untuk
melakukan
penghematan pada storage. Kompresi yang dilakukan terhadap citra dijital ini harus dilakukan tanpa merusak citra dijital itu sendiri. Parameter keberhasilan kompresi terhadap suatu citra dijital tidak hanya ukuran dokumen yang kecil, namun juga kualitas gambar yang dihasilkan. Secara simpel, dapat diartikan bahwa kompresi pada citra dijital berarti mengurangi redundancy dalam data (Miano, J.; 2009). Proses ini dapat dilakukan dengan mengganti bit yang sering muncul atau menyingkat bit yang muncul berulang-ulang.
Gambar II.8 Proses Kompresi dan Dekompresi pada Citra Digital Pada kompresi citra digital, sebuah bit-bit citra dijital yang dikompresi harus dapat didekompresi sehingga menghasilkan bit-bit piksel yang membentuk gambar seperti semula. Piksel tersebut bisa persis sama atau terjadi perubahan
sedikit, bergantung pada teknik kompresi yang digunakan, teknik tersebut termasuk teknik kompresi yang lossy atau lossless. Teknik kompresi lossy dan losless dijelaskan pada subbab 2.5.3. Pada awalnya format BMP (Bitmap) tidak melakukan kompresi pada proses penyimpanan datanya, namun seiring berkembangnya teknologi maka format BMP ini mulai menggunakan teknik kompresi untuk memperkecil ukuran file. Pada format BMP, kompresi yang dilakukan hanya mampu mengurangi ukuran file sedikit dan tidak signifikan. Lain halnya dengan kompresi yang dilakukan pada format dokumen citra yang lain seperti GIF, PNG dan JPEG yang mampu mengkompresi ukuran file sehingga cukup signifikan dengan ukuran dokumen aslinya.
II.5.3. Kompresi Lossy dan Lossless Jenis kompresi pada dokumen citra dapat digolongkan menjadi 2 golongan, yaitu kompresi yang lossy dan lossless. Kebanyakan dari format dokumen citra menggunakan kompresi yang lossless. Pada kompresi yang lossless, jika sebuah dokumen citra tidak terkompresi dikompresi dengan teknik kompresi lossless dan diexpand kembali, maka akan menghasilkan bit-bit asli yang persis sama dengan bitbit sebelum dilakukan kompresi (John Miano, 1999). GIF dan PNG termasuk kepada format dokumen citra yang lossless. Teknik kompresi yang lossy digunakan oleh format JPEG yang dikompresi dengan Discrete Cosine Transform (DCT). Dengan menggunakan
teknik kompresi lossy, maka gambar yang dihasilkan mendekati bit-bit asli namun dilakukan perubahan sehingga tidak tepat sama dengan bit-bit yang ada pada gambar asli namun sangat mirip (John Miano, 1999). Teknik kompresi lossy mengambil
keuntungan
dari
fakta
bahwa
mata
manusia
tidak
dapat
mengidentifikasi perbedaan warna yang hanya sedikit.
II.5.4. Teknik Kompresi Teknik kompresi yang umum digunakan dalam pengolahan dokumen citra ada 4, yaitu RLE, LZ, Huffman dan DCT. Teknik kompresi yang digunakan oleh setiap format dokumen citra dapat dilihat pada Tabel II.1.
Tabel II.1. Teknik Kompresi yang Digunakan pada Beberapa Format Dokumen Citra Format Dokumen BMP GIF PNG JPEG
Teknik Kompresi yang digunakan RLE LZ LZ, Huffman RLE, Huffman dan DCT Sumber : (Miano.J.; 1999).
Berikut keterangan singkat mengenai teknik-teknik kompresi pada dokumen citra seperti yang telah disebutkan di atas: 1. RLE (Run Length Encoding) Pada teknik RLE, Piksel berurutan dengan nilai yang sama akan dikodekan menggunakan run length dan pasangan nilai (John 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, (Miano.,J.; 1999) 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.
3. Huffman Coding Pada teknik ini, penyimpanan tidak menggunakan jumlah pasti bit yang merepresentasikan nilai komponen, namun menggunakan variable length codes. Semakin banyak nilai yang sama keluar, maka semakin kecil ukuran dokumen karena semakin pendeknya kode yang merepresentasikan gambar tersebut. 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 (John Miano, 1999). Proses kompresi DCT digunakan pada format JPEG dan merupakan teknik kompresi yang lossy.
II.6. File Citra BMP Format file Bitmap atau biasa disingkat BMP sering disebut juga dengan citra raster. Citra bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Citra Bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan mengunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan Bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Oleh karena itu, Bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital. Citra Bitmap biasanya diperoleh dengan cara Scanner, Camera Digital, Video Capture, dan lain-lain (Sutoyo, T.; 2009).
II.6.1. File Citra JPEG Format file Join Photographic Exprest Group (JPEG) atau biasa disingkat JPG terkenal karena ukurannya yang mini dibandingkan dengan format – format file citra lainnya. JPG mendukung mode warna RGB, CMYK dan Grayscale, tetapi tidak mampu menampilkan citra dengan latar belakang transparan. Format JPG
menterjemahkan
informasi
tersebut
menjadi
komponen
Luminace
(komponen cahaya) dan 2 komponen Chromatic (komponen perubahan warna dari hijau ke merah dan biru ke kuning) (Basuki, A.; 2005). II.6.2. Mode Warna Citra Digital Menampilkan sebuah citra pada layar monitor diperlukan lebih dari
sekedar informasi tentang letak dari pixel - pixel pembentuk citra. Untuk memperoleh gambar yang dapat dibutuhkan juga informasi tentang warna - warna yang dipakai untuk menggambarkan sebuah citra digital. Beberapa mode warna yang sering digunakan adalah sebagai berikut (Achmad Basuki, 2005) : 1.
Bitmap mode memerlukan 1 bit data untuk menampilkan warna dan warna yang dapat ditampilkan hanya warna hitam dan putih (monokrom)
2.
Indexed color mode, mengurutkan warna dalam jangkauan 0 -255 (8 bit)
3.
Grayscale Mode, menampilkan citra dalam 256 tingkat keabuan
4.
RGB Mode, menampilkan citra dalamkombinasi 3 warna dasar (Red, Green,Blue) tiap warna dasar memiliki intesitas warna 0-255 (8 bit)
5.
CMYK Mode, menampilkan citra dalam kombinasi 4 warna (ciyan, magenta, yellow, black) tiap warna dasar memiliki intesitas warna 0-255 (8 bit). Warna campuran (selain dari putih) dihasilkan dengan menambahkan
warna komponen RGB individual dengan berbagai tingkat saturasi dengan tingkatkan mulai dari 0.0 hingga 1.0 (0 berarti tidak menggunakan warna tersebut;1 berati menggunakan warna tersebut pada saturasi penuh) (Basuki, A.; 2005). Warna didefenisikan dengan memasukkan intensitas untuk setiap komponen dalam matrik. Tiap komponen memiliki matriknya sendiri –sendiri dan matriks –matriks tersebut bisa dijumlahkan. Sebagai contoh, untuk mengahsilkan merah saturasi sempurna, masukan (1,0,0) : 100% merah 0% hijau dan 0% biru. Pada saat ketiga komponen warna tersebut dikombinasikan dalam 100% saturasi (1,1,1) hasilnya adalah putih (seperti diperlihatkan berikut) :
Hijau (0,1,0) + Biru (0,0,1) = Cyan (0,1,1) Cyan (0,1,1) + Merah (1,0,0) = Putih (1,1,1) Warna yang berlawanan satu sama lain dengan model warna RGB disebut warna pelengkap. Jika dicampurkan, warna pelengkap selalu menghasilkan putih. Contoh warna pelengkap adalah cyan dan merah, hijau dan biru, magenta dan hijau (Basuki, A.; 2005). CMYK (adalah kependekan dari cyan, magenta, yellow-kuning, dan black-hitam, dan biasanya juga sering disebut sebagai 'warna proses' atau 'empat warna'). CMYK adalah sebuah model warna berbasis pengurangan sebagian gelombang cahaya (substractive color model) dan yang umum dipergunakan dalam pencetakan berwarna. Istilah CMYK juga biasanya digunakan untuk menjelaskan proses pencetakan itu sendiri. Meskipun terdapat beberapa methode pencetakan yang diterapkan pada percetakan, operator cetak, pembuat mesin cetak dan urutan penintaan, proses pewarnaan umumnya berurutan sesuai dengan singkatannya, yaitu CMYK. CMYK mengacu kesistem warna yang dibuat dari cyan, magenta, kuning, dan hitam. Cyan, magenta dan kuning adalah tiga warna primer pada model warna ini dan merah, hijau, biru adalah model tiga warna sekunder. CMYK memainkan peranan penting pada grafik komputer umum, terutama pada desktop publishing. Hasil percetakan atau gambar lainnya pada kertas menggunakan CMYK yang merupakan model warna pengurangan yaitu pigmen warna menyerap atau menyaring warna putih dan cahaya yang yang dipantulkan menentukan warna dari gambar (Basuki, A.; 2005). Formula sederhana berikut menterjemahkan model RGB ke model CMYK :
C=1–R M=1–G Y=1–B Formula tersebut merupakan titik awal. Bagaimanapun prakteknya kalibrasi intensif dari piranti dibutuhkan karna pigmen warna khas umumnya tidak bekerja seperti yang diperkirakan dari perhitungan (Achmad Basuki, 2005).
II.7.Sekilas tentang Visual Basic Microsoft Visual Studio 6.0 atau yang lebih dikenal dengan Visual Basic 6.0 adalah salah satu bahasa pemrograman komputer yang bekerja dalam ruang lingkup MS-WINDOW. Bahasa pemrograman Visual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic merupakan bahasa pemrograman yan digunakan untuk membuat aplikasi yang berbasis GUI (Graphical User Interface) dengan menggunakan Development Tool
yaitu alat bantu untuk membuat berbagai
macam program komputer dan merupakan salah satu bahasa pemrograman komputer yang mendukung object (Object Oriented Programming = OOP). Pembuatan program Visual Basic terdiri dari dua bagian : a. Step Visual Programming Pembentukan program dengan menggunakan control/objek dan merancang bentuk form
b. Step Code Programming Penulisan program dengan menggunakan text editor.
II.7.1. Mengaktifkan Visual Basic Pada saat akan memulai pastikan bahwa di Komputer telah terinstalasi perangkat lunak Visual Basic yang merupakan kelompok visual studio atau yang berdiri sendiri. Jika sudah tersedia maka lakukanlah langkah berikut ini : - Aktifkan Visual Basic melalui tombol Start - Pilih Menu Programs - > Microsoft Visual Studio 6.0 - >Microsoft Visual Basic 6.0. Tunggulah beberapa saat hingga muncul tampilan berikut :
Gambar II.9 Tampilan Layar Utama MS-Visual 6.0 Dalam lingkungan visual basic 6.0 terdapat beberapa komponen yang menjadi sarana dalam pembuatan program aplikasi antara lain:
1.
Menu Bar Menu bar berfungsi untuk memilih tugas –tugas tertentu, seperti memulai, membuka, dan menyimpan project, dan mengompilasi project menjadi file executable (EXE).
2.
Main Toolbar Toolbar memiliki fungsi yang sama seperti menu bar, dan juga berfungsi seperti jalan pintas, karena lebih praktis dalam penggunaanya.
3.
Jendela Toolbox (Tollbox Standart) ToolBox standart berisi komponen –komponen yang merupakan sarana untuk membentuk user interface. Berikut ini kegunaan masing –masing kontrol : a.
PictureBox : digunakan untuk menapilkan gambar atau image.
b.
Label : digunakan untuk menampilkan teks yang tidak dapat diubah oleh pengguna jika project sudah dicompile menjadi file EXE.
c.
TexBox : digunakan untuk menampilkan teks yang bisa diubah oleh pengguna
d.
Frame : digunakan untuk mengelompokkan kontrol –kontrol yang dianggap yang memiliki fungsi sejenis.
e.
Command Button : digunakan untuk memulai proses tertentu pada saat pengguna melakukan klik.
f.
CheckBox : digunakan untuk memberikan pilihan kepada pengguna.
g.
OptionButton : fungsinya hampir sama dengan checkbox. Bedanya, pada option button biasanya pengguna memilih lebih dari satu pilihan.
h.
ListBox : digunakan untuk memberikan pilihan dalam bentuk datar.
i.
ComboBox : fungsinya hampir sama dengan listbox, hanya saja pengguna bisa memasukkan pilihan lain.
j.
HscrollBar : digunakan untuk menggeser layar secara horizontal.
k.
VscrollBar : digunakan untuk menggeser layar secara vertikal.
l.
Timer : digunakan untuk mengatur proses pada program dalam interval waktu tertentu.
m. DriveListBox : digunakan untuk menampilkan drive yang ada n.
DirListBox : digunakan untuk menampilkan direktori pada drive.
o.
FileListBox : digunakan untuk menampilkan file pada direktori.
p.
Shape : digunakan untuk menampilkan bentuk –bentuk tertentu.
q.
Line : digunakan untuk menampilkan garis
r.
Image : digunakan untuk menampilkan image, tetapi tidak bisa berfungsi sebagai kontainer.
4.
s.
Data : digunakan untuk menghubungkan program ke database
t.
OLE : digunakan untuk menghubungkan form dengan program lain.
Jendela Form Disigner Form disigner merupakan tempat untuk merancang user interface. Disinilah para programmer bisa meletakkan kontrol –kontrol yang dibutuhkan.
5.
Jendela Project Jendela Project adalah jendela yang menampilkan semua file yang berhubungan dengan aplikasi/ project yang saat itu sedang dijalankan.
6.
Jendela Propertis Jendela ini berisi daftar properti untuk objek (form atau kontrol) yang dipilih dan berfungsi untuk mengatur karakteristiknya, seperti warna dan ukuran.
7.
Jendela Form Layout Jendela ini akan menunjukan tampilan form pada saat dijalankan.
8.
Jendela Kode Jendela ini merupakan tempat untuk menuliskan kode –kode bagi objek yang dibuat. Melalui jendela ini, kita dapat mengatur karakteristik dari form yang kita buat. Jendela ini bisa dimunculkan dengan menekan menu View, atau pilih Code pada saat menu bar atau melakukan klik ganda pada form. Selain itu, kita bisa juga memunculkan jendela kode dengan menekan tombol F7 pada saat pointer terfokus pada jendela form designer.
9.
Jendela Modul Jendela modul merupakan tempat untuk menuliskan kode –kode yang lebih bersifat global. Pada jendela modul ini, kita bisa mendeklarasikan variabel dan fungsi dengan awalan PRIVATE maupun PUBLIC. Jika diawali PRIVATE, variabel atau fungsi tersebut hanya berlaku untuk pemakaian modul yang bersangkutan. Sedangkan awalan PUBLIC akan mengakibatkan variabel atau fungsi tersebut bersifat global. Jendela modul ditampilkan dengan mengklik menu Project pada menu bar, kemudian pilih Add Module.