Institutional Repository | Satya Wacana Christian University: Embedding Pesan Rahasia Kedalam Gambar Menggunakan Metode Least Signnificant Bit T0 562010009 BAB II
6 2.1Penelitian Terdahulu
Sebelumnnya penelitian ini dilakukan oleh Arif,2008 yang dilakukan untuk mencoba membuat perangkat lunak penyembunyian gambar ke gambar dengan metode 4 least Signnificant bit encoding. Dari penelitian sebelumnya penulis ingin membangun aplikasi dengan menyisipkan pesan rahasia kedalam gambar serta membatasi penggunaan aplikasi tersebut sehingga hanya sedikit orang yang dapat menggunakan. Hal ini dimaksudkan agar pesan rahasia yang di sisipkan hanya diketahui oleh orang-orang yang memiliki akses untuk aplikasi tersebut.
2.2Tinjauan Pustaka
Dasar dari embbeding pesan rahasia kedalam data digital adalah dengan adanya penyatuan dari dua file yaitu file gambar asli yang belum dimodifkasi yang nantinya akan digunakkan sebagai media penyimpangan file rahasia atau dalam kata lain diartikan sebagai cover image dan semuah file pesan. File pesan dapat berupa plaintext,chipertext, gambar lain atau sesuatu yang dapat dikonversikan kedalam bit-steam.(Johnson & Joodia 1998).
Cover image adalah istilah yang digunakan untuk media gambar sebagai citra atau media untuk menyembunyikan informasi agak tidak diketahu oleh orang lain.
Plain Text adalah teks yang diencode dalam format ASCII. Plain text tidak memiliki format dan informasi struktur seperti ukuran dan tipe font, warna, atau layout. Plain text biasanya digunakan
(2)
antar-komputer yang tidak memiliki kesepakatan untuk saling bertukar informasi format dan layout teks.
Ciphertext : ciphertext adalah keluaran algoritma enkripsi. ciphertext dapat dianggap sebagai pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan menghasilkan ciphertext yang terlihat acak.
2.3Definisi Steganography
Steganografi (steganography) adalah ilmu dan seni menyembunyikan pesan rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui. Steganografi
berasal dari Bahasa Yunani, yaitu “steganos” yang artinya “tulisan tersembunyi (covered writing)”.
Steganografi termasuk ke dalam security through obscurity. Steganografi biasa digunakan oleh teroris, intelijen, atau militer dalam menyampaikan pesan sehingga tidak diketahui orang lain.
Steganografi membutuhkan dua poperti yaitu media penampung dan pesan rahasia. Media penampung yang umum digunakan adalah gambar, suara, video atau teks. Pesan yang disembunyikan dapat berupa sebuah artikel, gambar, daftar barang, kode program atau pesan lain.
Penggunaan steganografi antara lain bertujuan untuk menyamarkan eksistensi (keberadaan) data rahasia sehingga sulit dideteksi dan melidungi hak cipta suatu produk. Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika pada kriptografi, data yang telah disandikan (ciphertext) tetap tersedia, maka dengan
(3)
steganografi ciphertext dapat disembunyikan sehingga pihak ketiga tidak mengetahui keberadaannya. Data rahasia yang disembunyikan dapat diekstraksi kembali persis sama seperti keadaan aslinya.
Keuntungan steganografi dibandingkan dengan kriptografi adalah bahwa pesan yang dikirim tidak menarik perhatian sehingga media penampung yang membawa pesan tidak menimbulkan kecurigaan bagi pihak ketiga. Ini berbeda dengan kriptografi dimana ciphertext menimbulkan kecurigaan bahwa pesan tersebut merupakan pesan rahasia.
2.4Metode LSB (Least Signnificant Bit)
Salah satu metode steganografi yang paling sederhana adalah penyembunyian adalah Least Significant Bit (LSB), meskipun ada beberapa kekurangan namun teknik ini relatif mudah untuk diimplementasikan. Metode ini menyembunyikan pesan dalam sebuah media digital ialah dengan mengubah satu bit dari media dengan bit dari pesan. Biasanya bit terakhir dari suatu byte diganti dengan bit dari pesan (M. Kharrazi, 2004).
Metode ini membutuhkan syarat yaitu jika dilakukan kompresi pada stego. Harus digunakan format lossless compression, karena metode ini menggunakan bit-bit pada setiap piksel pada image. Jika digunakan format lossy compression, pesan rahasia yang disembunyikan dapat hilang. Jika digunakkan image 24-bit color sebagai cover, sebuah bit dari masing-masing komponen Red, Green, dan Blue, padat digunakkan sehinnga 3-bit dapat disimpan pada setiap piksel. Sebuah Gambar dengan dimensi 1,024 x 768 mempunyai potensi untuk disembunyikan seluruhnya dari 2,359,296 bit (294,912 byte) pada informasi. Jika pesan tersebut dikompres untuk
(4)
disembunyikan sebelum ditempelkan, dapat menyembunyikan sejumlah besar dari informasi. Pada pandangan mata manusia, hasil stego-image akan terlihat sama dengan gambar cover.
Untuk contoh huruf A dapat disembunyikan dalam tiga pixel (asumsikan tidak ada kompresi). Raster data asli untuk 3 pixel (9 byte) menjadi :
(00100111 11101001 11001000) (00100111 11001000 11101001) (11001000 00100111 11101001)
Nilai biner untuk A adalah 10000011. Sisipan nilai biner untuk A dalam tiga pixel akan menghasilkan :
(00100111 11101000 11001000) (00100110 11001000 11101000) (11001000 00100111 11101001)
Dapat dilihat bahwa bit-bit yang digaris bawahi hanya 3 perubahan secara aktual dalam 8 byte yang diubah untuk menyembunyikan karakter A. Perubahan pada LSB ini terlalu kecil sehinggal sulit terdeteksi oleh mata manusia sehinnga pesan dapat disembunyikan secara efektif.
(5)
Teknik masking dan filtering, hanya terbatas ke gambar 24-bit dan gray-scale, informasi disembunyikan dengan menandai suatu gambar dengan cara seperti paper watermark. Teknik watermarking dapat di aplikasikan dengan resiko rusaknya gambar dalam kaitannya dengan lossy compression, sebab mereka lebih menyatu ke dalam gambar.
Masking lebih robust dari pada penyisipan LSB dengan hasil kompresi, cropping, dan beberapa pemrosesan gambar. Tehnik masking menempelkan informasi dalam area significant sehingga pesan yang tersembunyi itu lebih bersatu dengan gambar cover dari pada
penyembunyian dalam level “noise”. (Niel,1998) 2.6Algoritma Transformasi
Manipulasi LSB adalah suatu cara yang cepat dan mudah untuk menyembunyikan informasi tetapi sangat peka untuk perubahan hasil yang kecil dari pemerosesan gambar atau lossy compression. Seperti kompresi yang merupakan kunci keuntungan dari gambar JPEG yang mempunyai kelebihan dari format yang lain. Gambar dengan kualitas warna yang tinggi dapat disimpan dalam file yang relative kecil menggunakan metoda kompresi JPEG; sehingga gambar JPEG menjadi lebih berlimpah pada Internet.
Gambar JPEG menggunakan discrete cosine transform (DCT) untuk mencapai kompresi. DCT adalah transformasi lossy compression sebab nilai cosine tidak dapat dihitung sama, dan perhitungan yang diulangi menggunakan jumlah presisi yang terbatas, menjelaskan pembulatan kesalahan ke dalam hasil akhir. Varian diantara nilai data yang asli dan nilai data yang disimpan kembali tergantung pada metoda yang digunakan untuk menghitung DCT.
(6)
Dalam penambahan ke DCT, gambar dapat diproses dengan transformasi fast fourier dan transformasi wavelet. Properti gambar yang lain seperti luminance dapat juga dimanipulasi. Teknik patchwork menggunakan metoda redundant patern encoding dan spread spectrum ke informasi tersembunyi yang tersebar dalam
keseluruhan gambar cover (“patchwork” adalah metoda yang menandai area gambar, atau patch).
Dalam menggunakan redundant pattern encoding, kita harus menjual ukuran pesan melawan ketahanan. Untuk contoh, suatu pesan yang kecil dapat di gambarkan beberapa kali pada gambar. Encrypt dan scatter adalah teknik yang lain dalam menyembunyikan data secara menyeluruh ke gambar. Pesan yang menyebar lebih disukai daripada noise. Penganjur dari pendekatan ini mengasumsikan bahwa jika pesan bit diekstrak, akan menjadi sia-sia tanpa algoritma dan stego-key men-dekodenya.
2.7Discrete Cosine Transform (DCT)
Pada Format gambar JPEG, masing-masing komponen warna menggunakan tranformasi DCT(Discrete Cosine Transform) untuk mentranformasikan blok-blok gambar 8 x 8 pixel kedalam 64 masing-masing koefisien DTC(Ariyus,2009).
Koefisien-koefisien DTC tersebut F(u,v) dari suatu blok 8x8 dari citra pixel f(x,y) dinyatakan pada persamaan di bawah ini:
(7)
Pada persamaan diatas F(u,y) berbentuk matrik |2- dimensi 8x8 dimana:
u,v,x,y: 0,1,2,3,...,7
x,y adalah koordianat spatial dari domain asal
u.v adalah koordinat frekuensi pada domain transformasi atau koefisien-koefisien DCT.
C(u),C(v)= 1√2 untuk u,v = 0 C(u),C(v)= 1 untuk lainnya.
Dalam perhitungan DCT ini apabila dilihat persamaan di atas adalah : 1. Citra berupa blok array 2D, Citra dengan domain spatial untuk nilai piksel memiliki fungsi F(x,y) sedangkan dalam domain frekuensi atau koefisien DCT memiliki F(u,v)
2. Panjang dan lebar Citra yaitu 8
3. Looping untuk x,y = 0,1,2,...7 dan looping untuk u,v= 0,1,2,....7 4. Nilai C(u),C(v)= 1√2 u,v =0 serta untuk C(u),C(v)= 1
5. Setelah itu dilakukan perhitungan seperti pada persamaan diatas maka didapatkan block array baru dalam domain frekeunsi atau koefisien DTC (Irianto,2004).
2.8Pembangkit Bilangan Acak Semu
Pseudorandom Number Generator (PNRG) atau Pembangkit bilangan acak semu adalah sebuah algoritma yang membangkitkan sebuah deret bilangan yang tidak benar-benar acak. Keluaran dari pembangkit bilangan acak semu hanya mendekati beberapa dari sifat-sifat yang dimiliki bilangan acak. Walaupun bilangan yang benar-benar acak hanya dapat dibangkitkan oleh perangkat keras pembangkit bilangan acak, bukannya oleh perangkat lunak komputer,
(8)
akan tetapi bilangan acak semu banyak digunakan dalam beberapa bidang seperti untuk simulasi dalam ilmu fisika, matematik, biologi dan sebagainya, dan juga merupakan hal yang sangat penting dalam dunia kriptografi. Beberapa algoritma enkripsi baik yang simetris maupun nirsimetris memerlukan bilangan acak sebagai parameter masukannya seperti parameter kunci pada algoritma kunci publik dan pembangkitan initialization vector (IV) pada algoritma kunci-simetri. Walaupun terlihat sederhana untuk mendapatkan bilangan acak, tetapi diperlukan analisis matematika yang teliti untuk membangkitkan bilangan seacak mungkin
Karena semua PRNG berjalan diatas sebuah komputer yang deterministik maka keluaran yang dihasilkannya akan memiliki sifat yang tidak dimiliki bilangan random sesungguhnya yaitu periode. Hal ini berarti pada putaran tertentu setelah dijalankan akan dihasilkan deret yang berulang. Tentu saja jika sebuah pembangkit bilangan acak memiliki memory yang terbatas (karena dijalankan diatas komputer yang memiliki memori terbatas) setelah beberapa waktu pembangkit tersebut akan kembali pada state semula dan hal ini menyebabkan pengulangan deret yang dihasilkan sebelumnya. Pembangkit yang tidak memiliki periode (non-periodic generator) dapat saja dirancang pada sebuah komputer yang deterministik, tetapi dibutuhkan memori yang tidak terbatas selama program pembangkit bilangan tersebut dijalankan. Pada perangkat yang sekarang ada hal ini tidak mungkin dilakukan. Sebuah PNRG dapat dimulai dari state (keadaan) tertentu dengan parameter masukan yang dinamakan random seed (umpan acak), tetapi bagaimanapun acaknya umpan PRNG akan selalu menghasilkan deret yang sama. Konsekuensi yang dihasilkan dari deterministik komputer pada prakteknya dapat
(9)
saja dihindari. Panjang dari maksimum periode dibuat sepanjang mungkin sehingga tidak ada komputer yang dapat mencapai satu periode dalam waktu yang diharapkan. Jika satu periode tidak dicapai maka pengulangan deret bilangan acak tidak terjadi. Penggunaan cara seperti ini tidak cukup baik untuk beberapa aplikasi yang membutuhkan waktu komputasi yang cepat, karena semakin panjang suatu periode akan membutuhkan sumberdaya dari komputer yang besar juga (Haribowo, 2007).
Pembangkit bilangan acak yang dapat menghasilkan bilangan yang tidak dapat diprediksi oleh penyerang cocok untuk kriptografi. Pembangkit ini dinamakan cryptographically secure pseudorandom number generator (CSPRNG). CSPRNG memiliki syarat :
1. Lulus uji keacakan statistik
2. Tahan terhadap serangan yang serius.
Serangan ini bertujuan memprediksi bilangan acak yang dihasilkan. Untuk persyaratan yang kedua ini, maka CSPRNG seharusnya memenuhi dua syarat sebagai berikut :
1. Setiap CSPRNG seharusnya memenuhi “uji bit berikutnya” (next bit test) sebagai berikut : diberikan k buah bit barisan acak, maka tidak ada algoritma dalam waktu polynomial yang dapat memprediksi bit ke- (k+1) dengan peluang keberhasilan lebih dari ½.
2. Setiap CSPRNG dapat menahan “perluasan status”, yaitu jika sebagian atau semua statusnya dapat diungkap atau diterka dengan benar, maka tidak mungkin merekonstruksi aliran bilangan acak.
(10)
2.9Format File 2.9.1 BMP
Format file ini merupakan format grafis yang fleksibel untuk platform Windows sehingga dapat dibaca oleh program grafis manapun. Format ini mampu menyimpan informasi dengan kualitas tingkat 1 bit sampai 24 bit. Kelemahan format file ini adalah tidak mampu menyimpan alpha channel serta ada kendala dalam pertukaran platform. Format file ini dapat dikompres dengan kompresi RLE. Format file ini mampu menyimpan gambar dalam mode warna RGB, Grayscale, Indexed Color, dan Bitmap. Meskipun file BMP relatif memiliki ukuran yang besar, namun file BMP dapat dikompresi dengan teknik kompresi lossless yaitu teknik kompresi yang tidak menghilang informasi sedikitpun, hanya mewakilkan beberapa informasi yang sama (Riyanto, 2007).
Bitmap adalah representasi atau gambaran yang terdiri dari baris dan kolom pada titik image graphics di komputer. Nilai dari titik disimpan dalam satu atau lebih data bit. Tampilan dari bitmap atau raster, menggunakan titik-titik berwarna yang dikenal dengan sebutan pixel. Piksel-piksel tersebut ditempatkan pada lokasi-lokasi tertentu dengan nilai-nilai warna tersendiri, yang secara keseluruhan akan membentuk sebuah tampilan gambar. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar, karena itu bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit seperti foto dan lukisan digital.
Color table adalah table yang berisi warna-warna yang ada pada gambar bitmap. Ukurannya adalah 4 dikalikan dengan ukuran
(11)
banyakanya warna. Color table berisi RGB-red green blue. Strukturnya terdiri dari 1 bytes untuk bagian RGB-blue yang berisi intensitas warna biru 0...255, 1 bytes untuk bagian RGB-Green yang berisi intensitas warna hijau 0...255, 1 bytes untuk bagian RGB-Red yang berisi intensitas warna merah 0...255, 1 bytes untuk bagian RGB-Reserved yang selalu di set sama dengan 0. Gambar menunjukkkan contoh pembagian 24 bit pada format file BMP
RED GREEN BLUE
Binary 11111111 1111111 1111111
Decimal 255 255 255
Gambar 2.1 pembagian bit dalam BMP
2.9.2 JPG/ JPEG (Joint Photographic Expert Group)
Format file ini mampu mengkompres objek dengan tingkat kualitas sesuai dengan pilihan yang disediakan. Format file sering dimanfaatkan untuk menyimpan gambar yang akan digunakan untuk keperluan halaman web, multimedia, dan publikasi elektronik lainnya. Format file ini mampu menyimpan gambar dengan mode warna RGB, CMYK, dan Grayscale. Format file ini juga mampu menyimpan alpha channel, namun karena orientasinya ke publikasi elektronik maka format ini berukuran relatif lebih kecil dibandingkan dengan format file lainnya. Joint Photograpic Experts di rancang untuk kompresi beberapa full-color atau gray-scale dari suatu gambar yang asli, seperti pemandangan asli di dunia ini. JPEG sudah mendukung untuk 24-bit color depth atau sama dengan 16,7 juta warna (224 = 16.777.216
(12)
2.9.3 PNG (Portable Network Graphics )
Format file ini berfungsi sebagai alternatif lain dari format file GIF. Format file ini digunakan untuk menampilkan objek dalam halaman web. Kelebihan dari format file ini dibandingkan dengan GIF adalah kemampuannya menyimpan file dalam bit depth hingga 24 bit serta mampu menghasilkan latar belakang (background) yang transparan dengan pinggiran yang halus. Format file ini mampu menyimpan alpha channel. PNG di rancang untuk algoritma lossless untuk menyimpan sebuah bitmap image. PNG mampu mencapai 16 bit (gray scale) atau 48 bit untuk true color per pixel, dan mencapai 16 bits dari alpha data. PNG mendukung dua buah metode dari transparency, satu buah color penutup seperti pada GIF89a’s dan alpa
channel. PNG’s dengan Full alpha chanell mampu mencapi 64K level
dari transparency untuk masing-masing pixel (216 =65.536). ini
memungkinkan PNG dapat membuat gambar lebih bercahaya dan membuat bayang-bayang background dari pewarnaan yang berbeda .
(1)
Pada persamaan diatas F(u,y) berbentuk matrik |2- dimensi 8x8 dimana:
u,v,x,y: 0,1,2,3,...,7
x,y adalah koordianat spatial dari domain asal
u.v adalah koordinat frekuensi pada domain transformasi atau koefisien-koefisien DCT.
C(u),C(v)= 1√2 untuk u,v = 0 C(u),C(v)= 1 untuk lainnya.
Dalam perhitungan DCT ini apabila dilihat persamaan di atas adalah : 1. Citra berupa blok array 2D, Citra dengan domain spatial untuk nilai piksel memiliki fungsi F(x,y) sedangkan dalam domain frekuensi atau koefisien DCT memiliki F(u,v)
2. Panjang dan lebar Citra yaitu 8
3. Looping untuk x,y = 0,1,2,...7 dan looping untuk u,v= 0,1,2,....7 4. Nilai C(u),C(v)= 1√2 u,v =0 serta untuk C(u),C(v)= 1
5. Setelah itu dilakukan perhitungan seperti pada persamaan diatas maka didapatkan block array baru dalam domain frekeunsi atau koefisien DTC (Irianto,2004).
2.8Pembangkit Bilangan Acak Semu
Pseudorandom Number Generator (PNRG) atau Pembangkit bilangan acak semu adalah sebuah algoritma yang membangkitkan sebuah deret bilangan yang tidak benar-benar acak. Keluaran dari pembangkit bilangan acak semu hanya mendekati beberapa dari sifat-sifat yang dimiliki bilangan acak. Walaupun bilangan yang benar-benar acak hanya dapat dibangkitkan oleh perangkat keras pembangkit bilangan acak, bukannya oleh perangkat lunak komputer,
(2)
akan tetapi bilangan acak semu banyak digunakan dalam beberapa bidang seperti untuk simulasi dalam ilmu fisika, matematik, biologi dan sebagainya, dan juga merupakan hal yang sangat penting dalam dunia kriptografi. Beberapa algoritma enkripsi baik yang simetris maupun nirsimetris memerlukan bilangan acak sebagai parameter masukannya seperti parameter kunci pada algoritma kunci publik dan pembangkitan initialization vector (IV) pada algoritma kunci-simetri. Walaupun terlihat sederhana untuk mendapatkan bilangan acak, tetapi diperlukan analisis matematika yang teliti untuk membangkitkan bilangan seacak mungkin
Karena semua PRNG berjalan diatas sebuah komputer yang deterministik maka keluaran yang dihasilkannya akan memiliki sifat yang tidak dimiliki bilangan random sesungguhnya yaitu periode. Hal ini berarti pada putaran tertentu setelah dijalankan akan dihasilkan deret yang berulang. Tentu saja jika sebuah pembangkit bilangan acak memiliki memory yang terbatas (karena dijalankan diatas komputer yang memiliki memori terbatas) setelah beberapa waktu pembangkit tersebut akan kembali pada state semula dan hal ini menyebabkan pengulangan deret yang dihasilkan sebelumnya. Pembangkit yang tidak memiliki periode (non-periodic generator) dapat saja dirancang pada sebuah komputer yang deterministik, tetapi dibutuhkan memori yang tidak terbatas selama program pembangkit bilangan tersebut dijalankan. Pada perangkat yang sekarang ada hal ini tidak mungkin dilakukan. Sebuah PNRG dapat dimulai dari state (keadaan) tertentu dengan parameter masukan yang dinamakan random seed (umpan acak), tetapi bagaimanapun acaknya umpan PRNG akan selalu menghasilkan deret yang sama. Konsekuensi yang dihasilkan dari deterministik komputer pada prakteknya dapat
(3)
saja dihindari. Panjang dari maksimum periode dibuat sepanjang mungkin sehingga tidak ada komputer yang dapat mencapai satu periode dalam waktu yang diharapkan. Jika satu periode tidak dicapai maka pengulangan deret bilangan acak tidak terjadi. Penggunaan cara seperti ini tidak cukup baik untuk beberapa aplikasi yang membutuhkan waktu komputasi yang cepat, karena semakin panjang suatu periode akan membutuhkan sumberdaya dari komputer yang besar juga (Haribowo, 2007).
Pembangkit bilangan acak yang dapat menghasilkan bilangan yang tidak dapat diprediksi oleh penyerang cocok untuk kriptografi. Pembangkit ini dinamakan cryptographically secure pseudorandom number generator (CSPRNG). CSPRNG memiliki syarat :
1. Lulus uji keacakan statistik
2. Tahan terhadap serangan yang serius.
Serangan ini bertujuan memprediksi bilangan acak yang dihasilkan. Untuk persyaratan yang kedua ini, maka CSPRNG seharusnya memenuhi dua syarat sebagai berikut :
1. Setiap CSPRNG seharusnya memenuhi “uji bit berikutnya” (next bit test) sebagai berikut : diberikan k buah bit barisan acak, maka tidak ada algoritma dalam waktu polynomial yang dapat memprediksi bit ke- (k+1) dengan peluang keberhasilan lebih dari ½.
2. Setiap CSPRNG dapat menahan “perluasan status”, yaitu jika sebagian atau semua statusnya dapat diungkap atau diterka dengan benar, maka tidak mungkin merekonstruksi aliran bilangan acak.
(4)
2.9Format File 2.9.1 BMP
Format file ini merupakan format grafis yang fleksibel untuk platform Windows sehingga dapat dibaca oleh program grafis manapun. Format ini mampu menyimpan informasi dengan kualitas tingkat 1 bit sampai 24 bit. Kelemahan format file ini adalah tidak mampu menyimpan alpha channel serta ada kendala dalam pertukaran platform. Format file ini dapat dikompres dengan kompresi RLE. Format file ini mampu menyimpan gambar dalam mode warna RGB, Grayscale, Indexed Color, dan Bitmap. Meskipun file BMP relatif memiliki ukuran yang besar, namun file BMP dapat dikompresi dengan teknik kompresi lossless yaitu teknik kompresi yang tidak menghilang informasi sedikitpun, hanya mewakilkan beberapa informasi yang sama (Riyanto, 2007).
Bitmap adalah representasi atau gambaran yang terdiri dari baris dan kolom pada titik image graphics di komputer. Nilai dari titik disimpan dalam satu atau lebih data bit. Tampilan dari bitmap atau raster, menggunakan titik-titik berwarna yang dikenal dengan sebutan pixel. Piksel-piksel tersebut ditempatkan pada lokasi-lokasi tertentu dengan nilai-nilai warna tersendiri, yang secara keseluruhan akan membentuk sebuah tampilan gambar. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar, karena itu bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit seperti foto dan lukisan digital.
Color table adalah table yang berisi warna-warna yang ada pada gambar bitmap. Ukurannya adalah 4 dikalikan dengan ukuran
(5)
banyakanya warna. Color table berisi RGB-red green blue. Strukturnya terdiri dari 1 bytes untuk bagian RGB-blue yang berisi intensitas warna biru 0...255, 1 bytes untuk bagian RGB-Green yang berisi intensitas warna hijau 0...255, 1 bytes untuk bagian RGB-Red yang berisi intensitas warna merah 0...255, 1 bytes untuk bagian RGB-Reserved yang selalu di set sama dengan 0. Gambar menunjukkkan contoh pembagian 24 bit pada format file BMP
RED GREEN BLUE
Binary 11111111 1111111 1111111
Decimal 255 255 255
Gambar 2.1 pembagian bit dalam BMP
2.9.2 JPG/ JPEG (Joint Photographic Expert Group)
Format file ini mampu mengkompres objek dengan tingkat kualitas sesuai dengan pilihan yang disediakan. Format file sering dimanfaatkan untuk menyimpan gambar yang akan digunakan untuk keperluan halaman web, multimedia, dan publikasi elektronik lainnya. Format file ini mampu menyimpan gambar dengan mode warna RGB, CMYK, dan Grayscale. Format file ini juga mampu menyimpan alpha channel, namun karena orientasinya ke publikasi elektronik maka format ini berukuran relatif lebih kecil dibandingkan dengan format file lainnya. Joint Photograpic Experts di rancang untuk kompresi beberapa full-color atau gray-scale dari suatu gambar yang asli, seperti pemandangan asli di dunia ini. JPEG sudah mendukung untuk 24-bit color depth atau sama dengan 16,7 juta warna (224 = 16.777.216
(6)
2.9.3 PNG (Portable Network Graphics )
Format file ini berfungsi sebagai alternatif lain dari format file GIF. Format file ini digunakan untuk menampilkan objek dalam halaman web. Kelebihan dari format file ini dibandingkan dengan GIF adalah kemampuannya menyimpan file dalam bit depth hingga 24 bit serta mampu menghasilkan latar belakang (background) yang transparan dengan pinggiran yang halus. Format file ini mampu menyimpan alpha channel. PNG di rancang untuk algoritma lossless untuk menyimpan sebuah bitmap image. PNG mampu mencapai 16 bit (gray scale) atau 48 bit untuk true color per pixel, dan mencapai 16 bits dari alpha data. PNG mendukung dua buah metode dari transparency, satu buah color penutup seperti pada GIF89a’s dan alpa channel. PNG’s dengan Full alpha chanell mampu mencapi 64K level dari transparency untuk masing-masing pixel (216 =65.536). ini
memungkinkan PNG dapat membuat gambar lebih bercahaya dan membuat bayang-bayang background dari pewarnaan yang berbeda .