KOMPRESI CITRA MENGGUNAKAN METODE DISCRETE COSINE TRANSFORM ( DCT )

KOMPRESI CITRA MENGGUNAKAN METODE

  

DISCRETE COSINE TRANSFORM ( DCT )

SKRIPSI

  Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains

  Program Studi Ilmu Komputer Oleh:

  Albertus Guritno Noviardhi NIM : 033124001

  

PROGRAM STUDI ILMU KOMPUTER

JURUSAN MATEMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

  

IMAGE COMPRESSION USING

DISCRETE COSINE TRANSFORM (DCT) METHOD

THESIS

  Presented As Partial Fulfillment of The Requirenets To Obtain The Sarjana Sains Degree

  In Computer Science By:

  Albertus Guritno Noviardhi Student Number : 033124001

  

STUDY PROGRAM OF COMPUTER SCIENCE

DEPARTEMENT OF MATHEMATICS

FACULTY OF SCIENCE AND TECHNOLOGY

  Teman...   Jika  di ambang kesedihan  terpikirkah

    Air  mata ini pasti akan menetes  bila  mengingat saat‐saat bersamamu  keriangan  dan senda gurau  kadangkala  mengobati kerinduan  diri

  Kupersembahkan karya ini untuk Jesus Christ, my Lord Bapak dan Ibu, teladanku Mbak Ria, my Sister

   pasti akan merindukan dirimu...    (Album kenangan IKAMUDIKA 2002-2004)

   saja bibir ini menyebutkan  namamu   aku

   melakarkan senyum paling  indah,   bila

   mengenang dirimu    Yang  pastinya...  sering

   dan datang tak diundang  Bagaimana  aku habiskan tulisan ini  sedangkan  cerita bersamamu  seperti  tidak akan habis  Ada  saja persoalan  yg  bakal tercerna di pikiran ini  bila

    Percayalah,dirimu  telah banyak  menyadarkan  diri  tentang  arti kehidupan  tentang  pribadi manusia yg  berpendirian   tentang  arti persahabatan utuh  tentang  apa itu arti rindu dan kasih  sayang   tentang  emosi dan perasaan  yg  kadang kala  berubah

  Teman...

   ini  pd  keluarga yg jauh   

  Tetapi,jika  kejujuran,kesetiaan,dan  keakraban  sebagai seorang teman,  moga2  hati ini belum keras    Teman...

   kita tentang bgmn ia  bermula?   "Kesedihan  yg mendatang  bukanlah  pengakhiran sebuah  kehidupan"   kata

    atau  kata‐kata manis utk memikat  hatimu  

    Aku  tdk mampu mengucapkan  pujian

  Teman...

    turut  melancarkan pedih di hati ini   

    sesungguhnya  aku amat  menyayangimu   sebagaimana  batasan kasih sayang  seorang  teman kepada temannya  Taukah  dikau? Setiap kerutan di  wajahmu

   dikau tentang diri  temanmu   yg  mungkin merindukan dirimu  tapi  gagal utk bertemu  lantaran  batasan jarak & waktu    Teman...

    Jika  mentari menyinari alam  terpikirkah

  Teman...

   yg mudah diluncurkan dr bibir  yg  blm pasti seikhlas hati yg merasa   

  Almamaterku

  

ABSTRAK

  Pemampatan data adalah proses mengubah data masukan menjadi sebuah data lain yang ukuran file-nya lebih kecil dengan cara menghilangkan redundansi data (data yang tidak mengandung informasi terkait atau merupakan pengulangan dari informasi yang sudah dinyatakan sebelumnya atau yang sudah diketahui). Pemampatan citra adalah salah satu aplikasi dari pemampatan data dalam citra digital yang mempunyai tujuan untuk mengurangi jumlah bit dari sebuah citra, agar dapat disimpan ataupun ditransmisikan secara lebih efisien.Salah satu metode yang digunakan untuk pemampatan citra adalah

  

Discrete Cosine Transform (DCT), yang merupakan kelas dari operasi

matematika Fast Fourier Transform (FFT).

  Dalam tulisan ini, DCT digunakan dalam proses pemampatan file citra, yaitu untuk mentransformasikan sebuah matriks citra menjadi sebuah matriks dengan representasi lain. Dengan demikian dapat diketahui data mana yang harus dihilangkan, sehingga ukuran file citra tersebut dapat menjadi lebih kecil. Namun jika data hasil pemampatan tersebut dikembalikan (direkonstruksi) maka data tersebut dapat menyerupai data asli.

  Proses pemampatan ini dapat menggunakan 2 (dua) cara yaitu berdasarkan prosentase dan berdasarkan nilai ambang. Dari hasil pengujian yang dilakukan terhadap suatu citra dengan resolusi 128x128 pixel, maka untuk memperoleh hasil yang baik, metode yang digunakan adalah “Blok Matriks” dengan besar blok adalah 8x8 dan nilai ambang kuantisasi dibawah 50.

  ABSTRACT

  Data compression is a process to change an input data becomes another data which has smaller size by reducing data redundancy (data that don’t content related information or constitute repeating of information which is already mentioned or known). Image compression is one of data compression application in digital image. In order, the objective is to reduce the amount of bit of an image, so that it can be saved or tansmited efficiently.One of the method that is used to compress the image is Discrete Cosine Transform (DCT), one of mathemathic operation class Fast Fourier Transform (FFT).

  In this paper, DCT is used in an image compression process, that is to transform a matrix of an image become a matrix with a different representation. Thus we can know which data that have to be erased, so the image file size can be smaller. But if the compression data output mentioned is being returned (reconstructed) then that data can be similar with the original data.

  This compression process can use 2 (two) method that is percentage based and threshold value based. From the output of the experiment that has done toward and image which has resolution 128x128 pixel, so to get the good output, methode that have to used is “Blok Matriks” with the amount of the blok is 8x8 and threshhold value is under 50.

KATA PENGANTAR

  Puji syukur penulis panjatkan ke Tuhan atas berkat dan cinta kasih – Nya,

sehingga penulis dapat menyelesaikan penelitian dan penyusunan skripsi berjudul

“Kompresi Citra Menggunakan Metode Discrete Cosine Transform”. Skripsi ini

disusun sebagai salah satu syarat mencapai gelar Sarjana Sains (S.Si) Program Studi

Ilmu Komputer.

  Dalam pelaksanaan penelitian dan penyusunan skripsi ini tidak terlepas dari bantuan berbagai pihak. Oleh karena itu penulis ucapkan terima kasih kepada:

  1. Bapak Y. Joko Nugroho, S.Si selaku dosen pembimbing, terima kasih atas segala bimbingan, saran, kritik dan kesabarannya dalam membimbing penulis selama menyelesaikan skripsi ini.

  2. Ibu P. H. Prima Rosa, S.Si, M.Sc. , selaku Ketua Program Studi ilmu komputer. Terima kasih atas bimbingan dan nasihatnya kepada kami, generasi terakhir Ikom.

  3. Anastasia Rita Widiarti, S.Si., M.Kom selaku dosen penguji.

  4. Sri Hartati Wijono, S.Si., M.Kom selaku dosen penguji.

  5. Segenap dosen Fakultas Sains dan Teknologi Universitas Sanata Dharma.

  6. Bapak dan Ibu, Mbak Ria, Mbak Ayuk terima kasih atas doa, restu, dukungan dan perhatian kalian. Luv U all...

  7. ‘Adek’ yang selalu mendukung dan selalu ada untuk memberikan dukungan, semangat, dan doa. Terima kasih telah menemaniku dalam perjalanan ini.

  

8. Mas Tukijo dan Mbak Linda, beserta segenap karyawan sekretariat.

  9. Mas Susilo, terima kasih atas bantuannya dan kerjasamanya selama ini.

  10. Komunitas Lab, Beni, Lilik, Iyus, Hendro, Ferry, Yus, Kornel (logikamu cemerlang), terima kasih untuk dukungan dan bantuan kalian.

  11. Teman–teman IKOM angkatan 2003, Friendship never end.

  12. Teman-teman Gregorius Caecilia Choir atas kebersamaan dan kekompakan kalian. Thank’s for the wonderful voice...

  13. Tim BPKnet; Didik, Dani, Anto’x, Agung Warenk, Seto, Yunan, Danan; kalian membuat komplek kita menjadi Cyber Komplek.

  14. Alfonsus Maria de Ligouri youngsters; Rena, Esta, Kiki, Yussi, Yunan, atas kebersamaan dan kekompakannya.

  15. Dan pihak-pihak yang belum dapat penulis sebutkan satu per satu. Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Harapan penulis semoga skripsi ini bermanfaat bagi kemajuan kita semua.

  Yogyakarta, 8 Oktober 2008 Penulis Albertus Guritno Noviardhi

  

DAFTAR ISI

  HALAMAN JUDUL................................................................................ i HALAMAN JUDUL (INGGRIS)............................................................ ii HALAMAN PERSETUJUAN PEMBIMBING...................................... iii HALAMAN PENGESAHAN................................................................. iv PERNYATAAN KEASLIAN KARYA.................................................. v HALAMAN PERSEMBAHAN............................................................... vi ABSTRAK................................................................................................ vii ABSTRACT.............................................................................................. viii HALAMAN PERSETUJUAN PUBLIKASI.......................................... ix KATA PENGANTAR.............................................................................. x DAFTAR ISI............................................................................................ xii DAFTAR TABEL................................................................................. ... xvi DAFTAR GAMBAR............................................................................... xvii

  BAB I PENDAHULUAN A. Latar Belakang.........................................................................

  1 B. Perumusan Masalah.................................................................

  2 C. Tujuan......................................................................................

  2 D. Manfaat....................................................................................

  3 E. Batasan Masalah.......................................................................

  3

  BAB II OPTIMISASI FUNGSI A. Citra ........................................................................................

  11 3. Saturation.............................................................................

  16 F. Faktor Penting dalam Kompresi Data......................................... 18 1. Scalability..............................................................................

  16 4. Pendekatan Fraktal...............................................................

  16 3. Pendekatan Kuantisasi.........................................................

  15 2. Pendekatan Statistik............................................................

  15 1. Pendekatan Ruang...............................................................

  12 E. Kompresi Data...........................................................................

  11 D. Format Berkas Bitmap...............................................................

  11 2. Hue......................................................................................

  6 B. Elemen-elemen Citra Digital....................................................

  10 1. Intensity/brigthness/luminance.............................................

  10 C. Warna........................................................................................

  9 6. Tekstur (Texture)...............................................................

  9 5. Bentuk (Shape)..................................................................

  9 4. Warna (Color)....................................................................

  9 3. Kontur (Contour)...............................................................

  9 2. Kontras (Contrast).............................................................

  8 1. Kecerahan (Brightness)......................................................

  18

  b. Resolution Prograsive....................................................

  21 J. Kuantisasi dan Zig-zag Scanning.................................................

  c. DAD level 2........................................................................ 44

  b. DAD level 1........................................................................ 41

  a. Diagram Konteks (DAD level 0)......................................... 40

  1. Perancangan Proses................................................................. 40

  BAB III ANALISIS DAN PERANCANGAN PROGRAM A. Perancangan Secara Umum......................................................... 39 B. Perancangan Secara rinci............................................................. 40

  31 K. Kompresi dengan DCT................................................................ 33 L. Matriks Jarang.............................................................................. 35 M. Pengukuran Eror dan Rasio Pemampatan dalam Kompresi Citra.. 37

  H. Faktor Penting dalam Pembutan Aplikasi Kompresi Data........... 20 I. Discrete Cosine Transform ..........................................................

  18 c. Component Prograsive...................................................

  3. Transformasi........................................................................... 19

  19

  19 2. Pengurangan Kedalaman bit..................................................

  18 G. Metode Kompresi Data............................................................... 19 1. Subsampling..........................................................................

  18 3. Meta Information...................................................................

  18 2. Region of Coding...................................................................

  d. Perancangan Struktur Menu................................................ 45

  D. Algoritma...................................................................................... 55

  BAB IV IMPLEMENTASI DAN PEMBAHASAN PROGRAM A. Implemantasi Program.................................................................. 60 B. Pembahasan Program................................................................... 70 C. Pengujian Program....................................................................... 73

  1. Persiapan berkas sumber ...................................................... 73

  2. Pengaktifan program............................................................. 74

  D. Perbandingan Hasil Pemampatan................................................. 85

  1. Metode “Blok Matriks”......................................................... 85

  2. Metode “Langsung”.............................................................. 90

  BAB V PENUTUP A. Kesimpulan ................................................................................

  93 B. Saran...........................................................................................

  94 DAFTAR PUSTAKA……...............………………………...………….

  95 LAMPIRAN.............................................................................................

  97

  DAFTAR TABEL

Tabel 2.1 Header berkas bitmap (panjang 14 byte)................................. 13Tabel 2.2 Header bitmap versi lama dari Microsoft Windows (12 byte).. 13Tabel 2.3 Header bitmap versi baru dari Microsoft Windows (40 byte).. 13Tabel 2.4 Header bitmap versi lama dari IBM OS/2 (64 byte).............. 14Tabel 2.5 Tabel penghitungan DCT 1 dimensi........................................ 25Tabel 2.6 Tabel penghitungan DCT 2 dimensi........................................ 30Tabel 4.1 Citra uji..................................................................................... 73Tabel 4.2 Data pengujian program metode Blok Matriks 8x8................. 85Tabel 4.3 Data pengujian program metode Blok Matriks 16x16............. 86Tabel 4.4 Data pengujian program metode Blok Matriks 32x32............. 87Tabel 4.5 Data pengujian program metode Blok Matriks 64x64............. 87Tabel 4.6 Data pengujian program metode Blok Matriks 8x8................. 87Tabel 4.7 Data pengujian program metode Blok Matriks 16x16............. 88Tabel 4.8 Data pengujian program metode Blok Matriks 32x32............. 88Tabel 4.9 Data pengujian program metode Blok Matriks 64x64............. 89Tabel 4.10 Data pengujian program metode Blok Matriks 128x128....... 89Tabel 4.11 Data pengujian program metode Langsung 64x64................ 90Tabel 4.12 Data pengujian program metode Langsung 128x128............ 91

  DAFTAR GAMBAR

Gambar 2.1 Pixel...................................................................................... 6 Gambar 2.2 Citra Biner............................................................................

  7 Gambar 2.3 Citra gray scale..................................................................... 7 Gambar 2.4 Citra berwarna.......................................................................

  8 Gambar 2.5 Warna RGB........................................................................... 11

Gambar 2.6 Urutan Zig-zag scan............................................................... 32Gambar 3.1 Rancangan DAD level 0........................................................ 40Gambar 3.2 Rancangan DAD level 1........................................................ 41Gambar 3.3 Rancangan DAD level 2....................................................... 44Gambar 3.4 Rancangan menu utama........................................................ 45Gambar 3.5 Rancangan menu edit............................................................ 46Gambar 3.6 Rancangan menu help........................................................... 47Gambar 3.7 Rancangan tampilan awal program....................................... 48Gambar 3.8 Rancangan tampilan program utama..................................... 49Gambar 3.9 Rancangan tampilan buka berkas citra.................................. 51Gambar 3.10 Rancangan tampilan help....................................................... 52Gambar 3.11 Rancangan tampilan pemilihan metode kuantisasi.............. 53Gambar 3.12 Rancangan tampilan “Lihat Blok”....................................... 53Gambar 3.13 Rancangan tampilan “Hitung Error”.................................... 54Gambar 3.14 Flow chart transformasi........................................................ 56Gambar 3.16 Flow chart invers................................................................. 58Gambar 3.15 Prosedur hitung sigma invers.............................................. 58Gambar 4.1 Tampilan awal program.......................................................... 60Gambar 4.2 Tampilan program utama...................................................... 61Gambar 4.3 Tombol “Buka File Citra”..................................................... 62Gambar 4.4 Menu bar “Buka File Citra”.................................................. 62Gambar 4.5 Radiobutton dan popup menu pemilihan metode kuantisasi.. 62Gambar 4.6 Tombol “Transformasi”.......................................................... 63Gambar 4.7 Menu bar “Transformasi”...................................................... 64Gambar 4.8 Tombol “Rekonstruksi”......................................................... 64Gambar 4.9 Menu bar “Rekonstruksi”...................................................... 64Gambar 4.10 Tombol “Tampilkan” dan Edit text lihat blok..................... 65Gambar 4.11 Grid citra asli, transformasi, dan rekonstruksi.................... 65Gambar 4.12 Contoh penerapan kuantisasi............................................... 66Gambar 4.13 Implementasi penerapan input nilai kuantisasi.................... 67Gambar 4.14 Implementasi penerapan prosentase kuantisasi.................. 68Gambar 4.15 Tombol “Reset”.................................................................. 69Gambar 4.16 Menu bar “Reset”............................................................... 69Gambar 4.17 Menu bar “Help” dan “About”.......................................... 70Gambar 4.18 Tampilan Buka File Citra................................................... 74Gambar 4.19 Citra asli.............................................................................. 75Gambar 4.20 Tampilan citra transformasi................................................ 76Gambar 4.22 Tampilan citra setelah rekonstruksi setelah dikuantisasi.... 79Gambar 4.23 Tampilan report.................................................................. 80Gambar 4.24 Tampilan petunjuk penggunaan program........................... 81Gambar 4.25 Tampilan informasi program.............................................. 82Gambar 4.26 Tampilan pesan error......................................................... 83Gambar 4.27 Tampilan peringatan 1........................................................ 83Gambar 4.28 Tampilan peringatan 2........................................................ 84

BAB I PENDAHULUAN A. Latar Belakang Data atau informasi sekarang ini tidak hanya disajikan dalam bentuk teks

  saja, tetapi juga dapat berupa gambar, suara, dan video. Keempat macam data ini sering disebut dengan multimedia. Gambar sebagai salah satu komponen multimedia adalah salah satu bentuk representasi data yang efisien. Gambar atau citra mempunyai karakteristik yang tidak dipunyai oleh data teks dalam hal penyajian data.

  Pada masa sekarang ini, komputer sudah dilengkapi dengan kemampuan grafis untuk menyampaikan sebuah informasi. Namun ada beberapa kendala yang biasa dihadapi yaitu diantaranya adalah pada besarnya ukuran file yang dibutuhkan untuk menyimpan data tersebut. Akibatnya jika data tersebut akan ditransmisikan ke tempat lain tentunya membutuhkan jalur yang besar, sehingga berdampak pula terhadap lamanya waktu yang digunakan untuk mentransmisikan data tersebut yang akhirnya meningkatkan biaya yang dikeluarkan. Selain itu juga banyaknya pengguna komputer yang cenderung untuk menyimpan suatu data (dalam hal ini adalah data gambar), daripada membuangnya, walaupun belum tentu data tersebut berguna. Hal ini mengakibatkan meningkatnya kebutuhan akan tempat penyimpanan yang besar dalam komputer.

  Untuk mengatasi berbagai masalah tersebut di atas, maka dibutuhkan suatu

  redundancy atau duplikasi data. Teknik tersebut dinamakan teknik kompresi.

  Ada beberapa macam metode kompresi data citra diantaranya adalah

  

Discrete Cosine Transform (DCT), Fast Forier Transform (FFT), Huffman, dan

  lain-lain. Dalam tugas akhir ini, penulis memilih teknik kompresi citra menggunakan metode Discrete Cosine Transform karena metode transformasi ini dapat secara efektif membuang data-data yang tidak diperlukan dengan pengurangan kualitas yang masih dapat ditoleransi oleh mata manusia, jika dibandingkan dengan citra aslinya. Jika dibandingkan dengan fourier transform, karakteristik penyusunan kerapatan signal DCT ini lebih baik dan DCT memberikan konsentrasi energi pada koefisien DCT frekuensi rendah.

  B. Perumusan Masalah

  Berdasarkan latar belakang, maka dapat dirumuskan permasalahan yaitu bagaimana menerapkan algoritma Discrete Cosine Transform untuk memperkecil ukuran file sebuah data citra.

  C. Tujuan 1. Mengetahui penerapan DCT untuk memampatkan ukuran file citra.

  2. Mengetahui efektivitas DCT untuk memampatkan ukuran file citra.

  3. Mengetahui tingkatan toleransi kesalahan pada pemampatan citra dengan metode DCT.

  4. Membuat program pemampatan data citra menggunakan metode DCT

  D. Manfaat

  Pembuatan aplikasi ini bermanfaat untuk menganalisis sebuah file citra, dari citra asli dan setelah citra tersebut direkonstruksi. Analisis yang dilakukan dapat berupa perbandingan kualitas citra secara langsung maupun dengan melihat perbedaan nilai-nilainya. Sehingga pengguna dapat mengetahui seberapa efektif penggunaan DCT pada pemampatan data citra.

  E. Batasan Masalah

  Dalam pembuatan aplikasi ini, masalah dibatasi pada :

  1. Citra yang akan dimampatkan adalah citra greyscale dengan format *.BMP, karena format ini belum mengalami penurunan kualitas citra dan belum terkompresi.

  n n 2. Citra yang akan dimampatkan mempunyai resolusi 2 x 2 .

  3. Citra yang akan dimampatkan tidak terbatas ukurannya, dengan konsekuensi semakin besar ukuran citra, maka akan semakin lama proses pemampatan.

  4. Metode yang dipakai untuk kompresi citra adalah Discrete Cosine Transform (DCT).

  5. Software yang digunakan adalah Matlab 7.0.

  F. Metodologi

  Metodologi dalam penulisan ini adalah:

  1. Studi Literatur, yaitu mempelajari teori-teori yang berhubungan dengan

  2. Perancangan sistem: a. Desain interface.

  b. Desain DAD.

  c. Rancangan algoritma dan penerapannya.

  3. Membuat program aplikasi dan menggabungkan dengan interface.

  Metode yang digunakan untuk penelitian ini adalah dengan prototyping. Dengan metode ini, maka penulis langsung dapat menguji program yang telah dibuat, sehingga kesalahan-kesalahan yang ada dapat segera diperbaiki.

G. SISTEMATIKA PENULISAN

BAB I PENDAHULUAN Bab ini berisi tentang penjelasan singkat tentang latar belakang, rumusan masalah, tujuan, batasan masalah, dan metodologi penulisan. BAB II DASAR TEORI Berisi tentang dasar teori tentang kompresi data, yang digunakan untuk mengerjakan tugas akhir ini. BAB III ANALISIS DAN PERANCANGAN PROGRAM Berisi tentang perancangan sistem yang terdiri dari analisis sistem dan perancangan user interface. BAB IV IMPLEMENTASI DAN PEMBAHASAN Berisi tentang implementasi dari desain yang sudah dibuat, beserta dengan pembahasannya dan hasil program.

BAB V KESIMPULAN DAN SARAN Berisi kesimpulan dan saran terhadap hasil-hasil dari penulisan atau pembuatan program. DAFTAR PUSTAKA LAMPIRAN

BAB II DASAR TEORI A. Citra Secara harafiah, citra adalah gambar pada bidang dwimatra atau dua

  dimensi (Munir, 2004). Citra dapat digolongkan menjadi 2 golongan, yaitu citra kontinu dan citra diskrit. Citra kontinu dihasilkan oleh sistem optik yang menerima sinyal analog, misalnya kamera analog, mata manusia. Sedangkan citra diskrit diperoleh melalui proses digitalisasi pada citra kontinu. Beberapa sistem optik dilengkapi dengan fungsi digitalisasi sehingga mampu untuk menghasilkan citra diskrit, misalnya kamera digital dan scanner. Citra diskrit disebut juga citra digital.

  Citra digital dapat didefinisikan sebagai fungsi dua variabel f(x,y) dimana

  

x dan y adalah koordinat spasial (bidang) dan nilai f(x,y) merupakan intensitas

citra pada koordinat tersebut, atau biasa disebut pixel (picture element).

  y

  

f ( x

1 , y 1 )

  x

Gambar 2.1. Pixel Citra dapat dibedakan menjadi 3 kategori yaitu citra biner, citra keabuan (grayscale) dan citra berwarna.

  Citra biner terdiri dari 2 warna yaitu hitam dan putih. Satu satuan warna atau yang biasa disebut pixel, merepresentasikan sebuah titik dalam sebuah citra.

  Dalam citra biner, nilai pixel yang ada adalah 0 untuk warna hitam dan 1 untuk warna putih.

Gambar 2.2 Citra Biner

  Sedangkan untuk citra grayscale, memiliki n tingkatan warna keabuan (0 s/d n-1). Biasanya tingkatan warna keabuan tersebut terdiri dari 4, 8, 12, sampai dengan 256 warna, tergantung dari derajat keabuannya. Kebanyakan citra

  

grayscale dikuantisasi pada 256 warna dan membutuhkan 8 bit (1 byte) untuk

representasi tiap pixel-nya.

Gambar 2.3 Citra gray scale ketiga komponen tersebut.

  Pada citra bitmap 256 warna, setiap pixel panjangnya 8 bit, dan komponen warna RGB-nya disimpan dalam tabel RGB yang disebut palet (palette). Setiap komponen warna panjangnya 8 bit, sehingga ada 256 nilai keabuan untuk komponen warna merah, 256 nilai keabuan untuk komponen warna hijau, dan 256 nilai keabuan untuk komponen warna biru. Nilai setiap pixel tidak menyatakan derajat keabuannya secara langsung, tetapi nilai pixel menyatakan index tabel RGB yang memuat nilai keabuan merah, nilai keabuan hijau, dan nilai keabuan biru. Dalam hal derajat keabuan tersebut, semakin tinggi nilai derajat keabuan, maka semakin cerah warnanya.

  Kebanyakan file citra berwarna berukuran besar, karena 1 pixel memerlukan tempat berukuran 3 x 8 bit = 24 bit, atau sama dengan 3 byte.

  Misalnya sebuah citra berwarna mempunyai resolusi 512 x 512, maka citra tersebut akan disimpan dalam sebuah file berukuran 512 x 512 x 3 byte = 786.432

  byte.

Gambar 2.4 Citra berwarna B. Elemen-elemen Citra Digital

  1. Kecerahan (Brightness)

  Kecerahan atau yang sering disebut dengan intensitas cahaya pada sebuah

  

pixel dalam sebuah citra sebenarnya bukan intensitas yang riil, tetapi merupakan

  intensitas rata-rata dari suatu area yang melingkupinya. Penglihatan manusia

  10 mampu menyesuaikan dengan tingkat kecerahan dengan jangkauan sebesar 10 .

  2. Kontras (Contrast)

  Kontras menyatakan sebaran terang dan gelap dalam sebuah citra. Sebuah citra dengan kontras rendah dicirikan oleh sebagian besar komposisi citra yang cenderung terang atau gelap. Sedangkan citra dengan kontras yang baik, komposisi gelap dan terang tersebar dengan merata.

  3. Kontur (Contour)

  Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada

  

pixel-pixel yang bertetangga. Karena adanya perubahan intensitas ini, maka mata

manusia mampu mendeteksi tepi-tepi pada sebuah citra.

  4. Warna (Color)

  Warna adalah persepsi yang dirasakan oleh mata manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Warna-warna yang diterima oleh mata manusia merupakan hasil kombinasi cahaya dengan panjang gelombang yang berbeda.

  5. Bentuk (Shape) Bentuk adalah sebuah properti intrinsik dari sebuah objek tiga dimensi.

  Pada umumnya, citra yang dibentuk oleh mata merupakan citra dua dimensi, objek dapat diekstraksi dari citra pada permulaan prapengolahan dan segmentasi citra.

6. Tekstur ( Texture)

  Tekstur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam sekumpulan pixel-pixel yang bertetangga. Jadi tekstur tidak dapat didefinisikan untuk sebuah pixel, melainkan untuk satu kesatuan citra.

C. Warna

  Warna yang diterima oleh mata manusia dari sebuah objek ditentukan oleh warna sinar yang dipantulkan oleh objek tersebut. Warna sinar yang direspon oleh mata adalah sinar tampak (visible spectrum) dengan penjang gelombang antara 400 (biru) sampai 700 nanometer (merah).

  Kombinasi warna yang memberikan rentang warna paling lebar adalah red (R), green (G), dan blue (B). Ketiga warna tersebut dinamakan warna pokok (primaries). Warna RGB yang sering disebut dengan truecolor (24bit/pixel) sering dituliskan dengan 3 bilangan bulat antara 0 sampai dengan 255, yang masing- masing merepresentasikan intensitas dari komponen warna merah, hijau, dan biru.

Gambar 2.5 Warna RGB

  Selain dari ketiga warna red, green, blue (RGB), warna juga dapat dimodelkan berdasarkan atribut warnanya. Setiap warna mempunyai 3 atribut yaitu: 1.

   Intensity/brightness/luminance

  Atribut yang menyatakan banyknya cahaya yang diterima oleh mata, tanpa mempedulikan warna. Kisaran nilainya atara gelap (hitam) dan terang (putih).

  2. Hue Hue berasosiasi dengan panjang gelombang cahaya. Hue digunakan untuk membedakan warna-warna.

  3. Saturation Saturation menyatakan tingkat kemurnaian warna cahaya, yaitu adalah warna merah dengan tingkat kejenuhan yang rendah, karena ada warna putih di dalamnya. Jadi jika hue menyatakan warna sebenarnya, maka saturation menyatakan seberapa dalam warna tersebut.

  Warna RGB juga mempunyai warna-warna komplementer, yaitu warna

  

cyan , magenta, dan yellow (CMY). Dua buah warna komplementer tersebut jika

dicampur dengan perbandingan yang tepat akan menghasilkan warna putih.

  Model warna CMY dapt digunakan untuk mencetak citra berwarna, tetapi karena ketidaksempurnaan tinta, model CMY tidak dapat menghasilkan warna hitam dengan baik. Karena itu, model warna CMY disempurnakan menjadi model CMYK, yang dalam hal ini K (key) menyatakan warna keempat.

D. Format Berkas Bitmap

  Sebuah citra digital disimpan dalam sebuah file yang mempunyai format tertentu. Salah satu format file yang digunakan untuk menyimpan suatu citra yang kita kenal adalah bitmap (BMP). Format BMP ini pada umumnya berukuran besar karena belum dimampatkan. Sehingga kualitas citra dengan format ini belum berkurang, karena tidak ada data yang hilang.

  Saat ini beredar tiga versi berkas bitmap yaitu (i) berkas bitmap versi lama dari Microsoft Windows atau IBM OS/2, (ii) berkas bitmap versi baru dari

  

Microsoft Windows, (iii) berkas bitmap versi baru dari IBM OS/2 (Munir, 2004).

  Perbedaan ketiga versi tersebut adalah panjang header bitmap-nya. Sedangkan untuk ukuran header berkas sama untuk semua versi.

Tabel 2.1 Header berkas bitmap (panjang 14 byte)

  1 – 4

  1 – 4

  Byte ke- Panjang (byte) Nama Keterangan

Tabel 2.3 Header bitmap versi baru dari Microsoft Windows (40 byte)

  2 BitCount Jumlah bit per pixel (Munir, 2004)

  2 Planes Jumlah plane (umumnya selalu satu) 11 – 12

  2 Height Tinggi bitmap dalam satuan pixel 9 – 10

  2 Width Lebar bitmap dalam satuan pixel 7 – 8

  4 HdrSize Ukuran header dalam satuan byte 5 – 6

  Byte ke- Panjang (byte) Nama Keterangan

  Byte ke- Panjang (byte) Nama Keterangan

Tabel 2.2 Header bitmap versi lama dari Microsoft Windows (12 byte)

  4 OffBits Ofset ke awal data bitmap (dalam byte ) (Munir, 2004)

  2 YhotSpot Y hotspot untuk kursor 11 – 14

  2 XhotSpot X hotspot untuk kursor 9 – 10

  4 BmpSize Ukuran berkas bitmap 7 – 8

  3 – 6

  bitmap, CP = color pointer, PT = pointer

  2 BmpType Tipe berkas Bitmap BA = bitmap array, CI = icon, BM =

  1 – 2

  4 HdrSize Ukuran header dalam satuan byte

  13 – 14

  4 Width Lebar bitmap dalam satuan pixel 9 – 12

  2 Reserved Field cadangan 45 – 46

  2 Units Satuan pengukuran yang dipakai 43 – 44

  4 ClrImportant Jumlah warna yang penting 41 – 42

  4 ClrUsed Jumlah warna yang digunakan 37 – 40

  4 VertRes Resolusi vertical 33 – 36

  4 HorzRes Resolusi horizontal 29 – 32

  4 ImgSize Ukuran bitmap dalam byte 25 – 28

  4 Compression 0=tak dimampatkan, 1=dimampatkan 21 – 24

  2 BitCount Jumlah bit per pixel 17 – 20

  2 Planes Jumlah plane (umumnya selalu satu) 15 – 16

  4 Height Tinggi bitmap dalam satuan pixel 13 – 14

  4 HdrSize Ukuran header dalam satuan byte 5 – 8

  2 Planes Jumlah plane (umumnya selalu satu) 15 – 16

  1 – 4

  Byte ke- Panjang (byte) Nama Keterangan

Tabel 2.4 Header bitmap versi lama dari IBM OS/2 (64 byte)

  (Munir, 2004)

  4 ClrImportant Jumlah warna yang penting

  4 ClrUsed Jumlah warna yang digunakan 37 – 40

  4 VertRes Resolusi vertical 33 – 36

  4 HorzRes Resolusi horizontal 29 – 32

  4 ImgSize Ukuran bitmap dalam byte 25 – 28

  4 Compression 0=tak dimampatkan, 1=dimampatkan 21 – 24

  2 BitCount Jumlah bit per pixel 17 – 20

  2 Recording Algoritma perekaman

  53 – 56

  4 Size2 Nilai ukuran 2 57 – 60

  4 ClrEncoding Pengkodean warna 61 – 64

  4 Kode yang digunakan aplikasi

  Identifier

  (Munir, 2004) Penyimpanan data bitmap di dalam berkas disusun terbalik dari bawah ke atas dalam bentuk matriks yang berukuran M x N. Baris ke-0 pada matriks data

  

bitmap menyatakan data pixel di citra baris terbawah, sedangkan baris terakhir

pada matriks menyatakan data pixel di citra baris teratas.

E. Kompresi Data

  Kompresi data adalah proses mengubah data masukan (input data stream,

  

source stream, original row data ) menjadi data lain (output stream, compressed

stream ) yang ukurannya lebih kecil, dengan cara mengurangi atau menghilangkan

redundancy . Redundancy adalah bagian data yang tidak mengandung informasi

  terkait atau merupakan pengulangan dari informasi yang sudah dinyatakan sebelumnya atau yang sudah diketahui.

  Ada beberapa pendekatan kompresi yang dikenal, diantaranya adalah pendekatan ruang, pendekatan statistik, pendekatan kuantisasi, dan pendekatan fractal.

1. Pendekatan Ruang

  Contohnya adalah Run Length Encoding, yaitu salah satu aplikasi kompresi data yang paling sederhana. Cara bekerja dari metode ini adalah dengan menyimpan beberapa data yang sama dan berurutan menjadi data tunggal, dengan mencantumkan satu data asli dan suatu nilai yang menyatakan banyaknya data tersebut.

  2. Pendekatan Statistik

  Kompresi data pada pendekatan statistik didasarkan pada frekuensi kemunculan suatu data dalam seluruh bagian data asli (data stream). Contoh aplikasi penerapan metode ini adalah Huffman-coding. Metode kompresi Huffman ini menggunakan prinsip bahwa suatu nilai yang sering muncul dalam suatu data asli akan dikodekan dngan jumlah bit yang lebih sedikit. Sedangkan nilai yang paling jarang muncul akan dikodekan dengan jumlah bit yang lebih panjang.

  3. Pendekatan Kuantisasi

  Pendekatan kuantisasi menggunakan suatu algoritma dengan tujuan memampatkan data stream dengan mengurangi secara langsung jumlah bit dari data yang ada. Contohnya adalah metode pemampatan kuantisasi dalam suatu citra. Cara kerja dari metode ini adalah dengan mengurangi secara langsung derajat keabuan dari suatu citra. Misalnya citra dengan derajat keabuan dari 256 menjadi 32. Hal ini tentunya akan mengurangi besarnya file citra asli, tetapi perlu diingat bahwa pengurangan derajat keabuan yang drastis akan banyak berpengaruh terhadap kualitas citra hasil.

  4. Pendekatan Fraktal sebuah data didasarkan pada kenyataan bahwa kemiripan bagian-bagian didalam sebuah data, dalam hal ini adalah data citra, dapat dikurangi dengan menggunakan matriks transformasi. Contohnya adalah fractal image compression. Prinsip dasar dari metode ini adalah dengan mencari bagian di dalam suatu citra yang memiliki kemiripan dengan bagian lainnya, dengan ukuran yang lebih besar. Kemudian dicari matriks yang mentransformasikan bagian yang lebih besar tersebut dengan bagian yang lebih kecil.

  Beberapa teknik tersebut dibagi dalam 2 kategori yaitu lossless

  

compression dan lossy compression. Lossless compression adalah teknik untuk

  memproses data asli menjadi data lain yang ukurannya lebih kecil, tanpa hilangnya informasi dalam data aslinya. Sedangkan lossy compression adalah teknik untuk mendapatkan data yang lebih kecil ukurannya, tetapi dengan hilangnya sebagian kecil data, namun dengan tingkat error yang masih dapat diterima. Artinya adalah bahwa data output yang didapat hasilnya sangat mendekati data aslinya.

  Kompresi citra merupakan salah satu aplikasi dari kompresi data. Kompresi citra ini bertujuan untuk mengurangi jumlah bit pada sebuah citra digital, sehingga menghasilkan sebuah citra yang sangat mendekati dengan jumlah

  

bit yang lebih sedikit. Teknik kompresi citra dikembangkan untuk mempermudah

dalam penyimpanan dan pengiriman citra.

F. Faktor Penting dalam Kompresi Data

  Hal-hal penting yang perlu diperhatikan dalam pemampatan sebuah citra diantaranya adalah sebagai berikut:

  1. Scalability Scalability adalah kualitas dari hasil proses pemampatan citra karena

  manipulasi bitstream tanpa adanya dekompresi atau rekompresi. Beberapa tipe scalability adalah: a. Quality Progressive dimana sebuah citra dimampatkan secara perlahan- lahan dengan penurunan kualitasnya.

  b. Resolution Progressive dimana sebuah citra dimampatkan dengan mengkode resolusi citra yang lebih rendah terlebih dahulu baru kemudian ke resolusi yang lebih tinggi.

  c. Component Progressive dimana sebuah citra dimampatkan berdasarkan komponennya. Pertama mengkode komponen grey-nya, kemudian mengkode komponen warnanya.

  2. Region of Interest Coding

  Daerah-daerah tertentu dienkode dengan kualitas yang lebih tinggi daripada yang lain.

  3. Meta Information

  Citra yang dimampatkan juga dapat memiliki meta information seperti statistik warna, tekstur, small preview image, dan author atau copyright

  information.

G. Metode Kompresi Data

  Selain hal-hal penting yang disebut di atas, kompresi citra juga dibagi dalam beberapa metode, diantaranya:

  1. Subsampling Subsampling merupakan metode kompresi dengan mengurangi jumlah pixel yang diperlukan untuk merepresentasikan sebuah citra. Metode ini

  dapat dilakukan dengan dua cara. Pertama, dengan cara mengambil pixel-

  pixel tertentu pada sebuah citra, misalnya pada baris dan kolom saja. Dan

  yang kedua adalah dengan cara mengambil nilai rata-rata dari kelompok

  pixel dan menggunakan nilai tersebut untuk mengganti nilai kelompok ini. pixel 2.

   Pengurangan kedalaman bit

  Metode ini dilakukan dengan mengurangi jumlah bit yang digunakan untuk merepresentasikan suatu pixel. Misalnya dengan mengurangi kedalaman bit dari 24 bit/pixel menjadi 16 bit/pixel. Dengan demikian, tentu saja kualitas sebuah citra akan berkurang.

  3. Transformasi