A Comparation Between SVD and SSVD Method on Image Compression

PERBANDINGAN METODE SVD DAN SSVD
PADA KOMPRESI CITRA

KHAERONI

SEKOLAH PASCA SARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2012

PERYATAAN MENGENAI TESIS DAN
SUMBER INFORMASI
Dengan ini saya menyatakan bahwa tesis dengan judul Perbandingan
Metode SVD dan SSVD pada Kompresi Citra adalah karya saya sendiri dengan
arahan dari komisi pembimbing, dan belum diajukan dalam bentuk apa pun
kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip
dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah
disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir
tesis ini.

Bogor, Februari 2012


Khaeroni
NRP G551090341

ABSTRACT
KHAERONI. A Comparation Between SVD and SSVD Method on Image
Compression. Supervised by SRI NURDIATI and SISWADI.
Data compression is the process of converting an input data into other data
which has a smaller size. The data can be a file on a computer or a buffer in the
computer’s memory. Compression is useful because it helps reduce the
consumption of resources such as data space or transmission capacity. The use of
singular value decomposition (SVD) in image compression has been widely
studied. If the image, when considered as a matrix, has low rank, or can be
approximated sufficiently well by a matrix of low rank, then SVD can be used to
find this approximation. That is, by not include some elements of the image, the
approximation has been able to represents the original image. This thesis presents
a variation for SVD image compression technique proposed by Ranade et al.
called SSVD. This variation can be viewed as a preprocessing step in which the
input image is permuted by independent data permutation after it is fed to the
standard SVD algorithm. Likewise, this decompression algorithm can be viewed

as the standard SVD algorithm followed by a postprocessing step which applies
the inverse permutation. On experimenting with some standard images, SSVD
performs substantially better than SVD. This thesis also presents experiment
evidence with other simulated images, which appears that SSVD isn’t better than
SVD.
Keywords: image compression, singular value decomposition, shuffle

RINGKASAN
KHAERONI. Perbandingan Metode SVD dan SSVD pada Kompresi Citra.
Dibimbing oleh SRI NURDIATI dan SISWADI.
Kompresi data adalah proses mengubah sebuah data masukan menjadi data
yang lain yang memiliki ukuran yang lebih kecil. Data tersebut bisa berupa file di
komputer atau sebuah buffer di dalam memori komputer. Tujuan kompresi pada
citra adalah untuk mengurangi ketidakrelevanan dan redundansi data citra dengan
maksud agar disimpan atau dikirimkan dalam bentuk yang lebih efisien.
Pemanfaatan singular value decomposition (SVD) atau dekomposisi nilai
singular untuk mengompres citra telah cukup lama dipelajari. Jika suatu matriks
citra berpangkat rendah atau dapat diaproksimasi cukup baik oleh suatu matriks
yang juga berpangkat rendah, maka SVD dapat digunakan untuk menentukan
aproksimasi tersebut (Ranade et al. 2006). Artinya, dengan tidak menyertakan

beberapa elemen dari citra aproksimasi tersebut sudah dapat merepresentasikan
citra aslinya.
Ranade et al. (2006) menjelaskan salah satu modifikasi dari proses atau
metode kompresi menggunakan SVD dan dari beberapa percobaan memberikan
hasil kompresi yang lebih baik dibandingkan dengan metode kompresi SVD.
Metode modifikasi ini dikenal dengan nama shuffle-SVD (SSVD). Dinamakan
demikian karena sebelum dilakukan dekomposisi, matriks A terlebih dahulu
dipermutasi dengan sebuah data permutasi independen.
Ranade et al. (2006) mengklaim bahwa teknik shuffle yang diterapkan
terhadap metode SVD untuk mengompres citra selalu memberikan hasil yang
lebih baik daripada tanpa menerapkan shuffle. Demikian juga dengan Hafsah et al.
(2007) menyatakan bahwa metode SSVD selalu lebih baik daripada metode SVD
dalam mengompres citra.
Tujuan dari penelitian ini adalah untuk menyusun algoritme kompresi citra
menggunakan SVD dan SSVD kemudian mengetahui efektivitas penerapan teknik
shuffle terhadap metode SVD dan mengetahui benar atau tidaknya klaim bahwa
teknik shuffle yang diterapkan pada metode SVD selalu memberikan hasil yang
lebih baik daripada tanpa di-shuffle sebelumnya.
Penelitian ini menggunakan metode studi literatur dan kemudian
mengimplementasikan metode kompresi citra ke dalam program komputer

menggunakan software MATLAB. Pada bagian awal, diberikan contoh
implementasi metode SVD dan SSVD pada beberapa matriks. Langkah ini
dilakukan untuk melihat apakah SSVD selalu bekerja lebih baik daripada metode
SVD. Selain itu pada penelitian ini kedua metode juga diterapkan pada beberapa
citra yang direpresentasikan oleh sebuah matriks. Tujuan dari langkah ini adalah
untuk mengetahui apakah metode SSVD selalu memberikan hasil yang lebih baik
dibandingkan dengan metode SVD.
Langkah-langkah yang dilakukan pada penelitian ini terdiri atas dua tahap.
Tahap pertama adalah menyiapkan alat uji berupa program yang disusun

menggunakan bahasa pemrograman MATLAB. Tahap kedua adalah
membandingkan efektivitas teknik shuffle yang diajukan oleh Ranade et al. (2006)
dengan cara menerapkan teknik tersebut terhadap metode SVD untuk beberapa
citra dan kemudian menghitung MSE yang dihasilkan oleh setiap metode. Tahap
ketiga adalah memberikan contoh kontra ketidakefektifan teknik shuffle tersebut.
Untuk membandingkan perbedaan metode SVD dan SSVD dilakukan
dengan cara mengukur kualitas citra hasil kompresi dari masing-masing metode.
Untuk menentukan kualitas citra yang telah dikompres digunakan pengukuran
baku yaitu MSE. Semakin kecil nilai MSE antara citra asli dan citra hasil
kompresi, semakin baik kompresi citra tersebut (Hafsah 2007).

Kompresi citra menggunakan SVD pertama kali dilakukan dengan
mengambil nilai piksel citra melalui MATLAB. Kemudian ditentukan SVD
matriks A dengan menggunakan built in function MATLAB yaitu svd() untuk
menentukan matriks U,  dan V. Langkah berikutnya adalah memotong nilai U, 
dan V sesuai dengan rank yang diinginkan, misalnya p, sehingga diperoleh nilai
Up, p dan Vp. Terakhir matriks Ap diperoleh dengan cara merekonstruksi Up, p
dan Vp.
Langkah kompresi citra menggunakan SSVD didahului dengan melakukan
permutasi terhadap matriks citra A dengan suatu permutasi independen P yang
disebut dengan shuffle (Ranade et al. 2006). Matriks yang dihasilkan, misalkan X
=
P(A)
kemudian
didekomposisi
menggunakan
SVD.
Misalkan
T
1
X p  P U p  pVp merupakan aproksimasi untuk A.






Proses shuffle ini dilakukan dengan harapan bahwa rank matriks citra akan
berkurang dari rank sebelumnya. Pada beberapa citra, proses shuffle yang
diterapkan tidak mengurangi nilai rank atau justru menjadi lebih besar dari rank
sebelumnya walau dengan tingkat ketelitian atau toleransi yang cukup besar.
Dari hasil pengujian terhadap citra lena484.jpg, dapat disimpulkan
bahwa teknik shuffle yang diterapkan pada metode SVD bekerja cukup efektif.
Terbukti bahwa, selain mengurangi MSE teknik shuffle yang diterapkan juga
mampu mengurangi ukuran file citra menjadi lebih kecil daripada metode SVD
sendiri. Akan tetapi, untuk citra sample_101.jpg, pada beberapa kasus, teknik
shuffle yang diterapkan baik pada metode SVD maupun SSVD memperlihatkan
perilaku yang berbeda dengan sebelumnya. Penerapan teknik shuffle justru
memperbesar MSE dan ukuran file citra walaupun dengan perbedaan yang sangat
kecil. Demikian juga untuk citra sample_900.jpg.
Secara umum dapat disimpulkan bahwa teknik shuffle yang diterapkan
pada metode SVD tidak selalu bekerja lebih baik daripada metode SVD sendiri.

Pada beberapa citra, metode SSVD bekerja lebih baik. Akan tetapi pada citra yang
lain metode SSVD tidak bekerja lebih baik. Jadi efektivitas metode SSVD juga
ditentukan oleh pemilihan sampel citra yang digunakan. Selain itu, metode SSVD
juga bergantung pada pemilihan rank (parameter kompresi). Dengan demikian
justifikasi bahwa metode SSVD bekerja selalu lebih baik daripada metode SVD
tidak dapat dibenarkan.
Kata Kunci: pemampatan citra, dekomposisi nilai singular, shuffle

© Hak Cipta milik IPB, tahun 2012
Hak Cipta dilindungi Undang-undang
1.

2.

Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa
mencantumkan atau menyebutkan sumbernya
a. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan
karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu
masalah.
b. Pengutipan tersebut tidak merugikan kepentingan yang wajar IPB.

Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya
tulis dalam bentuk apapun tanpa izin IPB.

PERBANDINGAN METODE SVD DAN SSVD
PADA KOMPRESI CITRA

KHAERONI

Tesis
sebagai salah satu syarat untuk memperoleh gelar
Magister Sains pada
Program Studi Matematika Terapan

SEKOLAH PASCA SARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2012

Penguji Luar Komisi pada Ujian Tesis: Dr. Sugi Guritman


Judul Tesis
Nama
NRP

: Perbandingan Metode SVD dan SSVD pada Kompresi Citra
: Khaeroni
: G551090341

Disetujui
Komisi Pembimbing :

Dr. Ir. Sri Nurdiati, M.Sc
Ketua

Dr. Ir. Siswadi, M.Sc
Anggota

Diketahui :

Ketua Program Studi

Matematika Terapan

Dekan Sekolah Pascasarjana

Dr. Ir. Endar H. Nugrahani, M.S.

Dr. Ir. Dahrul Syah, M.Sc.Agr.

Tanggal Ujian: 21 Februari 2012

Tanggal Lulus:

PRAKATA
Segala puja dan puji syukur hanya pantas bermuara pada Allah SWT. Dia–
lah yang memberikan kita sebanyak–banyak kenikmatan. Sebesar apapun
kesyukuran kita, tidak akan pernah bisa menyamai kenikmatan yang telah Dia
berikan. Maha Suci Engkau dengan segala Kuasa-Mu. Atas Kuasa-Nya pula, tesis
yang berjudul Perbandingan Metode SVD dan SSVD pada Kompresi Citra ini
dapat penulis selesaikan.
Penulis mengakui dan menyadari bahwa selama proses penulisan tugas

akhir ini tidak luput dari bantuan banyak pihak. Mulai dari material, moral,
spiritual, dan juga psikologis. Karena itu, dalam kesempatan kali ini penulis
hendak menyampaikan sebanyak-banyak terima kasih kepada:
1. Allah SWT yang telah menganugerahi kita hikmah. Sehingga kita diberi
pemahaman melebihi malaikat. Kasih Sayang-Nya yang tiada batas,
menghindarkan kita dari kejahiliahan.
2. Istri tercinta, Sri Apriatni, S.Pd atas do’a, dukungan, dan kesabarannya.
3. Bapak Rektor dan Dekan Fakultas Tarbiyah dan Adab serta Bapak EkoWahyu
Wibowo, M.Si selaku atasan penulis di Pusat Komputer IAIN “SMH” Banten
yang telah memberikan izin untuk melanjutkan studi di SPs IPB.
4. Ibu Dr. Ir. Sri Nurdiati, M.Sc dan Bapak Dr. Ir. Siswadi, M.Sc, selaku komisi
pembimbing yang telah memberikan pengarahan, masukan, dan bimbingan,
serta bersedia untuk direpotkan.
5. Bapak Dr. Sugi Guritman sebagai penguji luar komisi yang telah memberikan
masukan dan koreksi yang sangat berharga saat ujian tesis.
6. Segenap dosen Program Studi Matematika Terapan SPs IPB.
7. Bapak, ibu, kakak, dan adik-adikku tercinta atas doanya untuk penulis.
8. Teman-teman mahasiswa Program Studi Matematika Terapan SPs IPB,
khususnya angkatan 2009.
9. Serta semua pihak yang tidak bisa penulis sebutkan satu-per-satu. Semoga
setiap yang penulis libatkan dalam penyusunan tesis ini dibalas setiap
kebaikannya dengan kebaikan yang lain secara berlipat.
Sebuah kenyataan bahwa tesis ini masih terdapat banyak kekurangan. Oleh
karena itu, saran dan kritik demi perbaikan dan kemajuan penulis dalam
penyusunan karya ilmiah dikesempatan yang akan datang sangat penulis nantikan
melalui e-mail khaeroni@iainbanten.ac.id atau web site www.khaeroni.net.
Semoga karya yang sederhana ini dapat bermanfaat bagi ummat. Khoirunnas an fa
ahum linnas. In tansurullaha yan surkum wa yu tsabbit aqdaa ma kum. Sebaikbaik manusia adalah yang paling bermanfaat bagi manusia. Barang siapa yang
menolong agama Allah, niscaya Allah akan menolongnya dan meneguhkan
pijakannya.
Bogor, Februari 2012

Khaeroni

RIWAYAT HIDUP

Penulis dilahirkan di Serang pada tanggal 18 Maret 1983 dari Bapak
Abdul Adim dan Ibu Yumnah. Penulis merupakan anak kelima dari tujuh
bersaudara.
Tahun 2001 penulis lulus dari SMA Negeri 1 Serang dan lulus seleksi
masuk Universitas Gadjah Mada melalui jalur Ujian Masuk Perguruan Tinggi
Negeri (UMPTN) pada Program Studi Matematika Jurusan Matematika Fakultas
Matematika dan Ilmu Pengetahuan Alam dan selesai pada tahun 2005.
Pertengahan tahun 2006 penulis lulus seleksi penerimaan Pegawai Negeri
Sipil (PNS) dan ditugaskan sebagai Dosen Tetap pada Jurusan Pendidikan Guru
Madrasah Ibtida’iyah Fakultas Tarbiyah dan Adab Institut Agama Islam Negeri
Sultan Maulana Hasanuddin Banten. Pada tahun 2009 penulis lulus seleksi masuk
Program Magister pada Program Studi Matematika Terapan di Institut Pertanian
Bogor melalui jalur Beasiswa Pendidikan Pascasarjana (BPPS) Dikti.

DAFTAR ISI
Halaman
DAFTAR TABEL ....................................................................................... ...... xi
DAFTAR GAMBAR .................................................................................. ..... xii
DAFTAR LAMPIRAN ............................................................................... .....xiv
I.

PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang ................................................................................... 1
1.2 Rumusan Penelitian............................................................................ 3
1.3 Tujuan Penelitian ............................................................................... 3

II.

TINJAUAN PUSTAKA ............................................................................. 5
2.1 Nilai Singular ..................................................................................... 5
2.2 Norm Vektor ...................................................................................... 5
2.3 Norm Matriks ..................................................................................... 5
2.3.1 Norm Frobenius .................................................................... 6
2.3.2 p-norm Matrix ....................................................................... 6
2.4 Mean Square Error ............................................................................ 6
2.5 Dekomposisi Nilai Singular ............................................................... 7
2.6 Ruang Null dan Ruang Kolom........................................................... 8
2.7 Rayleigh Quotient .............................................................................. 9
2.8 Diagonalisasi ..................................................................................... 10
2.9 Karhunen–Loève Transform ............................................................. 10
2.10 Konsep Dasar Kompresi Data ........................................................... 11
2.10.1 Principal Component Basis .................................................. 13
2.11 Konsep Teori Informasi .................................................................... 14
2.12 Aproksimasi Matriks Rank Rendah .................................................. 15
2.13 Citra Digital ...................................................................................... 15
2.13.1 Representasi Citra Digital .................................................... 15
2.13.2 Menyimpan dan Menampilkan Citra Digital........................ 18
2.13.3 Tipe Citra Digital pada MATLAB ....................................... 20
2.14 Kompresi Citra Digital ...................................................................... 21
2.14.1 Teknik Kompresi Citra Digital ............................................. 23
2.14.2 Kompresi Citra dengan SVD ................................................ 26
2.14.3 Kompresi Citra dengan SSVD ............................................. 27
2.14.4 Atribut Kompresi Citra Digital............................................. 29
2.15 Citra dan Pengolahan Citra di MATLAB ......................................... 30
2.15.1 Membaca dan Menulis File Citra ......................................... 30
2.15.2 Menampilkan Citra di MATLAB ......................................... 32

III. METODE PENELITIAN ........................................................................... 35
3.1 Metode Penelitian............................................................................. 35

3.2
3.3

Instrumen Penelitian ......................................................................... 35
Langkah Penelitian ........................................................................... 36
3.3.1 Menyiapkan Alat Uji ............................................................ 36
3.3.2 Membandingkan Efektivitas Teknik Shuffle......................... 37

IV. HASIL DAN PEMBAHASAN .................................................................. 43
4.1. Penelitian Kompresi Citra ................................................................ 43
4.2. Algoritme Kompresi Citra ................................................................ 45
4.2.1. Metode Kompresi SVD ........................................................ 45
4.2.2. Metode Kompresi SSVD ...................................................... 47
4.3. Ilustrasi Metode Kompresi Citra ...................................................... 48
4.4. Rancangan Uji Coba ......................................................................... 50
4.5. Hasil Uji Coba dan Analisis ............................................................. 52
V.

KESIMPULAN .......................................................................................... 71

DAFTAR PUSTAKA ......................................................................................... .73
LAMPIRAN ....................................................................................................... .77

DAFTAR TABEL
Halaman
2.1

Fungsi untuk membaca dan menulis file citra pada MATLAB .............. 30

2.2

Fungsi untuk menampilkan citra ............................................................. 33

4.1

Nilai-nilai MSE dan rank dari matriks A, A1, X1, dan X1–1 ...................... 49

4.2

Nilai-nilai MSE dan rank dari matriks B, B1, Y1, dan Y1–1 ...................... 49

4.3

Nilai e(p) untuk citra lena484.jpg. ....................................................... 53

4.4

Nilai rank citra lena484.jpg dengan parameter kompresi 1 ................. 57

4.5

Nilai rank citra lena484.jpg dengan parameter kompresi 20 ............... 58

4.6

Nilai rank citra lena484.jpg dengan parameter kompresi 65 ............... 60

4.7

Ukuran citra lena484.jpg dengan parameter kompresi 65 ................... 61

4.8

Nilai CPU Time dan MSE kompresi untuk citra lena484.jpg.............. 61

4.9

Ukuran file citra dan rasio hasil kompresi lena484.jpg ........................ 63

4.10 Nilai rank citra lena484.jpg sebelum dan sesudah shuffle ................... 63
4.11 Beberapa nilai e(p) untuk citra sample_101.jpg. .................................. 64
4.12 Atribut hasil kompresi citra sample_101.jpg ........................................ 65
4.13 Nilai rank citra sample_101.jpg untuk p = 65 ...................................... 66
4.14 Nilai CPU Time dan MSE kompresi untuk citra sample_101.jpg ........ 66
4.15 Ukuran file citra dan rasio hasil kompresi citra sample_101.jpg.......... 67
4.16 Beberapa nilai e(p) untuk citra sample_900.jpg. .................................. 68
4.17 Nilai CPU Time dan MSE kompresi untuk citra sample_900.jpg ........ 69
4.18 Nilai rank citra sample_900.jpg untuk p = 163 dan toleransi 0.4......... 69
4.19 Ukuran file citra dan rasio hasil kompresi sample_900.jpg .................. 70

DAFTAR GAMBAR
Halaman
2.1

Vektor data didekati dalam terminologi arahnya. ................................... 11

2.2

The Pixel Coordinate System. ................................................................. 16

2.3

Contoh Vector Image. ............................................................................. 16

2.4

Contoh bentuk rasterized dari huruf ‘a’ diperbesar 16 kali dan
menggunakan piksel dengan ketelitian ganda. ........................................ 17

2.5

Bidang warna RGB Image dengan class double. .................................... 21

2.6

Citra format bitmap yang ditampilkan dengan penampil citra
IrfanView. ............................................................................................... 22

2.7

Informasi detail file citra lena.bmp melalui IrfanView. ......................... 22

2.8

Contoh Run-length Encoding. ................................................................. 23

2.9

Contoh hasil Run-length Encoding. ........................................................ 24

2.10 Contoh informasi file citra dengan format JPEG. ................................... 25
2.11 Menampilkan file citra dalam MATLAB. ............................................... 33
2.12 Menggunakan subplot. .......................................................................... 34
3.1

Skema pemrosesan metode SVD untuk citra berwarna. ......................... 38

3.2

Skema pemrosesan metode SSVD. ......................................................... 39

3.3

Diagram penghitungan MSE antara citra asli dengan citra hasil
kompresi. ................................................................................................. 40

3.4

Skema langkah-langkah penelitian.......................................................... 41

4.1

Citra lena484.jpg asli. .......................................................................... 51

4.2

Atribut file citra lena484.jpg. ............................................................... 51

4.3

Citra SVD_r1_lena484.jpg. ................................................................... 54

4.4

Atribut file citra SVD_r1_lena484.jpg. ................................................. 55

4.5

Citra SSVD_r1_lena484.jpg. ................................................................ 56

4.6

Atribut file citra SSVD_r1_lena484.jpg................................................ 56

4.7

Citra SVD_r20_lena484.jpg. ................................................................ 57

4.8

Citra SSVD_r20_lena484.jpg. .............................................................. 58

4.9

Citra SVD_r65_lena484.jpg. ................................................................ 59

4.10 Citra SSVD_r65_lena484.jpg. .............................................................. 59
4.11 Grafik respon perubahan rank terhadap MSE dari kedua metode untuk
citra lena484.jpg. Rank/term yang digunakan adalah 1, 2, 3, 4, 5,
10, 20, 40, 65, 80, 100, 120, 140, 180, dan 200...................................... 62
4.12 Citra simulasi. ......................................................................................... 64
4.13 Hasil kompresi citra sample_101.jpg dengan parameter kompresi
65 . .......................................................................................................... 65
4.14 Hasil kompresi citra sample_900.jpg dengan parameter kompresi
163 .. ....................................................................................................... 68

DAFTAR LAMPIRAN
Halaman
1.1  Lemma 2.1 ................................................................................................... 77 
1.2  Teorema 2.1 ................................................................................................. 78 
1.3  Teorema 2.2 ................................................................................................. 78 
1.4  Teorema 2.3 ................................................................................................. 79 
2.1  Kompresi Citra dengan SVD ....................................................................... 81
2.2  Kompresi Citra dengan SSVD ..................................................................... 84
3.1  Contoh Penghitungan MSE Metode SVD dan SSVD ................................. 91 
3.2  Contoh Langkah Menyimpan Variabel MATLAB ke MAT-File ............... 93 

BAB I
PENDAHULUAN

1.1

Latar Belakang
Internet kini menjadi media yang efektif dan efisien untuk memperoleh

informasi. Baik itu berupa teks biasa (plain text) seperti artikel maupun berupa
gambar. Salah satu jenis gambar yang sering disertakan dalam suatu laman web
(web page) adalah citra (image). Besar kecilnya ukuran citra akan memengaruhi
cepat lambatnya laman tersebut terbuka. Oleh karena itu, dilakukan beberapa cara
untuk mempercepat terbukanya sebuah laman yang memuat citra. Salah satu cara
mempercepatnya adalah dengan mengompres citra tersebut. Tujuannya adalah
agar citra yang disertakan ukurannya menjadi lebih kecil sehingga beban yang
diberikan kepada browser dalam membuka laman tersebut menjadi lebih kecil
dengan tanpa kehilangan kelayakan citra untuk dilihat secara kasat mata. Selain
itu, juga dapat mengurangi ruang penyimpanan di dalam media penyimpanan.
Kompresi data adalah proses mengubah sebuah data masukan menjadi data yang
lain yang memiliki ukuran yang lebih kecil. Data tersebut bisa berupa file di
komputer atau sebuah buffer di dalam memori komputer. Tujuan kompresi pada
citra adalah untuk mengurangi ketidakrelevanan dan redundansi data citra dengan
maksud agar disimpan atau dikirimkan dalam bentuk yang lebih efisien.
Pemanfaatan singular value decomposition (SVD) atau dekomposisi nilai
singular untuk mengompres citra telah cukup lama dipelajari. Beberapa di
antaranya seperti yang dituliskan oleh Scheick (1997) dalam Linear Algebra with
Applications dan Khaeroni (2005) dalam Pemampatan Citra Menggunakan
Dekomposisi Nilai Singular.
Jika suatu citra (yang juga merupakan matriks) berpangkat rendah (low
rank) atau dapat diaproksimasi cukup baik oleh suatu matriks yang juga
berpangkat rendah, maka SVD dapat digunakan untuk menentukan aproksimasi
tersebut (Ranade et al. 2006). Artinya, dengan tidak menyertakan beberapa
elemen dari citra aproksimasi tersebut sudah dapat merepresentasikan citra
aslinya.
1

2

Ranade et al. (2006) menjelaskan salah satu modifikasi dari proses atau
metode kompresi menggunakan SVD dan dari beberapa percobaan memberikan
hasil kompresi yang lebih baik dibandingkan dengan metode kompresi SVD.
Metode modifikasi ini dikenal dengan nama shuffle-SVD (SSVD). Dinamakan
demikian karena sebelum dilakukan dekomposisi, matriks A terlebih dahulu
dipermutasi dengan sebuah data permutasi independen P.
Misalkan X adalah matriks hasil permutasi sedemikian sehingga X = P(A).
Matriks X kemudian didekomposisi menggunakan SVD. Misalkan rank dari A
adalah r dan aproksimasi rank p dari X adalah Xp dengan p ≤ r. Secara empiris
diperoleh bahwa untuk nilai p yang sama, P–1(Xp) akan menghasilkan aproksimasi
yang lebih baik untuk A dibandingkan Ap, di mana P–1 menyatakan permutasi
balikan (re-shuffle) dari P. Dengan melakukan shuffle (SSVD) diharapkan akan
diperoleh hasil kompresi yang lebih baik dibandingkan bila tidak di-shuffle
sebelumnya (SVD).
Sementara Hafsah et al. (2007) membandingkan hasil penerapan metode
SSVD pada pemrosesan secara global dengan pemrosesan secara blocking dimana
block yang digunakan adalah square-block pada pemrosesan citra dan dengan
teknik blocking dan ukuran block-nya seragam (uniform). Dari penelitian yang
dilakukan dapat disimpulkan bahwa melalui pemrosesan secara global SSVD
lebih unggul dibandingkan SVD, tetapi melalui pemrosesan terhadap block yang
dipilah-pilah (blocking) SSVD tidak terbukti lebih unggul dibandingkan SVD.
Ranade et al. (2006) dan Hafsah et al. (2007) menerapkan metode SVD
dan SSVD terhadap citra keabuan (grayscale image), baik dengan teknik global
maupun teknik blocking. Penelitian ini menerapkan metode SVD dan SSVD
terhadap citra berwarna (color image) dengan teknik global kemudian
membandingkan hasil kompresi dari kedua metode tersebut secara empiris.
Ranade et al. (2006) mengklaim bahwa teknik shuffle yang diterapkan terhadap
metode SVD untuk mengompres citra selalu memberikan hasil yang lebih baik
daripada tanpa menerapkan shuffle. Demikian juga dengan Hafsah et al. (2007)
menyatakan bahwa metode SSVD selalu lebih baik daripada metode SVD dalam
mengompres citra.

3

1.2

Rumusan Penelitian
Untuk memudahkan langkah-langkah dan metode penelitian, maka dibuat

rumusan dari penelitian ini, yaitu sebagai berikut:
1.

Bagaimana algoritme kompresi citra menggunakan SVD dan SSVD.

2.

Bagaimana efektivitas penerapan teknik shuffle terhadap metode SVD.

3.

Bagaimana kebenaran klaim bahwa teknik shuffle yang diterapkan pada
metode SVD selalu memberikan hasil yang lebih baik daripada tanpa dishuffle sebelumnya.

1.3

Tujuan Penelitian
Berdasarkan latar belakang masalah di atas, maka tujuan dari penelitian ini

adalah untuk menyusun algoritme kompresi citra menggunakan SVD dan SSVD
kemudian mengetahui efektivitas penerapan teknik shuffle terhadap metode SVD
dan mengetahui benar atau tidaknya klaim bahwa teknik shuffle yang diterapkan
pada metode SVD selalu memberikan hasil yang lebih baik daripada tanpa dishuffle sebelumnya.

4

BAB II
TINJAUAN PUSTAKA

2.1

Nilai Singular
Diberikan A matriks m x n dengan rank(A) = r. Akar nilai ciri positif dari

ATA disebut dengan nilai singular dari A (Goldberg 1991).

2.2

Norm Vektor
Norm vektor (vector norm) pada  n didefinisikan sebagai fungsi

f :  n   sedemikian sehingga untuk setiap x, y   n dan    memenuhi
ketiga aksioma berikut.
(1) f  x   0 dan f  x   0  x  0
(2) f  x  y   f  x   f  y 
(3) f  x    f  x 
Untuk selanjutnya norm vektor x ditulis  x   (Golub dan Loan 1996). Salah satu
jenis dari norm vektor adalah p-norm vektor dan didefinisikan sebagai
x

p



 x1    xn
p

p



1
p

,

p  1.

Dengan menggunakan definisi di atas, diperoleh norm 1, 2, dan ∞ untuk
sebarang x   n sebagai berikut

x 1  x1    xn
 



2

x 2  x1    xn
x





1
2 2

1

  xT x  2  

 max xi
1i  n

Untuk selanjutnya, jika tidak disebutkan secara jelas, simbol x digunakan untuk
menyatakan x 2 .
 

2.3

Norm Matriks
Fungsi f :  mxn   disebut norm matriks (matrix norm) jika untuk
5

6
setiap A, B   mxn dan    memenuhi ketiga aksioma berikut:
(1) f  A  0 dan f  A  0  A  0
(2) f  A  B   f  A  f  B 
(3) f  A   f  A
Untuk memudahkan penulisan, norm matriks A ditulis A sehingga A  f  A 
(Golub dan Loan 1996).

2.3.1 Norm Frobenius
Untuk sebarang matriks A berukuran m x n, norm Frobenius (Frobenius
Norm) dari matriks A didefinisikan sebagai (Meyer 2000)
A

2
F

  aij  trace  AT A 
2

i, j

2.3.2 p-norm Matrix
Untuk sebarang matriks A berukuran m x n, p-norm dari matriks A
didefinisikan sebagai (Golub dan Loan 1996)
A p  max Ax
x p 1

p

Untuk selanjutnya, jika tidak disebutkan secara jelas, simbol A digunakan untuk
menyatakan A 2 .

2.4

Mean Square Error
Mean Square Error (MSE) merupakan salah satu ukuran yang dapat

digunakan untuk menentukan kualitas suatu aproksimasi. Misalkan matriks A
berukuran m x n dan B merupakan aproksimasi untuk A. Jika aij menyatakan
elemen baris ke-i dan kolom ke-j dari A, maka MSE antara matriks A dengan B
didefinisikan sebagai

MSE 

2
1 m n
aij  bij  (Thyagarajan 2006)


mn i 1 j 1

7

Dari sini MSE dapat dinyatakan dalam norm Frobenius, yaitu
MSE 

1
A B
mn

2
F





1
T
trace  A  B   A  B 
mn



 
2.5

Dekomposisi Nilai Singular
Misalkan A sebarang matriks berukuran m x n dengan rank(A) = r.

Singular Value Decomposition (SVD) atau dekomposisi nilai singular dari A
adalah faktorisasi dalam bentuk

A  U V T

(2.1)

dengan U = [U1 U2 . . . Um] dan V = [V1 V2 . . . Vn] merupakan matriks ortogonal.

Matriks U berukuran m x m dan V berukuran n x n, dan   
0
matriks

berukuran

m

x

n

dengan

0
adalah
0 

  diag ( 1 ,  2 ,,  r )

dan

 0 
T
 1   2     r  0 (Nicholson 2001). Dari sini, Am,n  U m,m 
 Vn ,n .
0
0

 m,n
Misalkan A sebarang matriks berukuran m x n dan 1 , , n menyatakan
nilai ciri dari matriks ATA. Selanjutnya digunakan notasi sedemikian sehingga

1  2  3    n .
Misalkan

x, y menyatakan hasil kali dalam baku antara vektor x dan

vektor y. Diambil sebarang {V1, . . ., Vn} basis ortonormal untuk

n

dan Vi

merupakan vektor ciri yang bersesuaian dengan nilai ciri dari ATA, yaitu i untuk
setiap i. Dengan kata lain {V1, . . ., Vn} merupakan basis ciri ortonormal untuk
ATA. Karena {V1, V2, . . ., Vn} ortonormal maka Vi , V j  0 untuk i  j dan

Vi ,Vi

 Vi

2

 12  1. Sehingga untuk setiap Vi dapat ditulis
Vi , V j   ij

(2.2)

Perhatikan bahwa untuk setiap i dan j
AVi , AV j  ( AVi )T AV j  Vi T ( AT AV j )  Vi T ( jV j )   j Vi , V j   j ij . (2.3)

Karena Vi  1 untuk setiap i, dengan mengambil i = j diperoleh

8

i  AVi

2

untuk setiap i = 1, 2, . . ., n.

Terlihat bahwa i  0 untuk setiap i. Sehingga bilangan

 i  i untuk i = 1, 2, . . ., r
tidak lain merupakan nilai singular dari A dengan  1   2     r  0 dan
  i2

2

AVi

(2.4)

untuk setiap i.

2.6

Ruang Null dan Ruang Kolom
Misalkan A sebarang matriks berukuran m x n dengan A = [A1 A2 . . . An]

Himpunan N(A) = {x 
dan CS(A) = {x 

n

: Ax = 0} 

n

disebut ruang null (null space) dari A

: x = 1 A1 +  2 A2 +. . .+  n An ,  i 

m

} 

m

disebut ruang

kolom (column space) dari A (Anton 2000).

Lemma 2.1 (Nicholson 2001)
Misalkan A sebarang matriks berukuran m x n dan rank(A) = r dan {V1, . . ., Vn}
merupakan basis ciri ortonormal untuk ATA.
1) Matriks A memiliki tepat r nilai singular.
2) {AV1, AV2, . . ., AVr} merupakan basis ortogonal untuk CS(A).
Bukti pada Lampiran 1, sub 1.1.

AVi   i  0 , i = 1, 2, . . ., r. Jika

Dari Lemma di atas, diperoleh
didefinisikan vektor unit
Ui 

untuk i = 1, 2, . . ., r dalam

1

i

(2.5)

AVi

m

, maka {U1, U2, . . ., Ur} merupakan himpunan

yang ortonormal. Kemudian ditentukan sebanyak m – r vektor yang saling
ortogonal dengan {U1, U2, . . ., Ur} dan U j  1 , j = r + 1, . . ., m. Sehingga {U1,
U2, . . ., Ur, Ur+1, . . ., Um} tetap merupakan basis ortonormal untuk

m

. Dari sini

9

dibentuk U = [U1 U2 . . . Um] dan V = [V1 V2 . . . Vn].
Perhatikan pula bahwa

U i ,U j  AVi /  i , AV j /  j  1/ ( i j ) Vi , AT AV j
 1/ ( i j ) Vi ,  2j V j  ( j /  i ) ij   ij .
Jika Ui menyatakan kolom ke-i dari U maka U iT adalah baris ke-i dari UT.
Diperoleh (U TU )ij  U iTU j dan
U TU  U iT U j    U j ,U i   [ ji ]  [ ij ]  I ,
V T V  Vi T V j    V j , Vi   [ ji ]  [ ij ]  I .
Jadi U dan V ortogonal.

Teorema 2.1 (Goldberg 1991)
Diberikan A sebarang matriks berukuran m x n dengan rank(A) = r dan nilai
singular  1     r . Jika didefinisikan U, , dan V seperti uraian di atas, maka U
dan V matriks ortogonal dan A dapat didekomposisikan sebagai
A  U V T

(2.6)

Bukti pada Lampiran 1, sub 1.2.

2.7

Rayleigh Quotient
Diberikan A matriks simetri berukuran n x n dengan nilai ciri 1    n .

Misalkan x, y sebarang vektor tak nol di

Ax, y  x, Ay

x, y 

n

n

. Karena A simetri maka

. Rayleigh Quotient R(x) dari matriks simetri A

terhadap x dengan x  0 didefinisikan sebagai R( x) 

Ax, x
x

2

(Scheick 1997).

Teorema 2.2 (Scheick 1997)
Diberikan A matriks simetri berukuran n x n dengan nilai ciri 1    n dan
sebarang x 

n

dengan x ≠ 0.

10
1) Jika x adalah vektor ciri dari A yang bersesuaian dengan i maka R(x) = i ,
untuk suatu i.
2) 1  R( x)  n .
3) λ1 = max{R(x) dan λn = min{R(x) .

Bukti pada Lampiran 1, sub 1.3.

Teorema 2.3 Extended Maximal Principle (Scheick 1997)
Diberikan A matriks simetri berukuran n x n dengan nilai ciri 1  2    n dan

ek k 1 merupakan basis ciri ortogonal untuk A, maka:
n

1)

1  max{R( x) : x  0}

(2.7)

2) i  max{R ( x) : x  0, x  e1 , e2 , , ei 1} untuk i  2,, n .

(2.8)

Bukti pada Lampiran 1, sub 1.4.

2.8

Diagonalisasi
Diberikan matriks A berukuran n x n. Matriks A dikatakan dapat

didiagonalkan (diagonalizable) jika terdapat matriks invertibel  sedemikian
sehingga  1 A   merupakan matriks diagonal atau A   1 . Dalam hal ini
dikatakan  mendiagonalkan matriks A (Nicholson 2001).
Untuk setiap matriks simetri R, terdapat matriks ortogonal  sedemikian
sehingga T R   atau R   dimana  merupakan matriks diagonal
yang entrinya merupakan nilai ciri dari matriks R (Jain 1989). Dengan demikian
dapat ditulis
R k  k  k , 1 ≤ k ≤ n
dimana  k merupakan vektor ciri dari R yang bersesuaian dengan nilai ciri k .

2.9

Karhunen–Loève Transform
Definisi lebih lengkap mengenai Karhunen–Loève Transform dapat dilihat

pada Jain (1989). Misalkan x adalah vektor acak berukuran n x 1, dengan x[k]
adalah peubah acak pada suatu ruang peluang untuk 1 ≤ k ≤ n. Misalkan R =

11
E[xxT] adalah matriks autokorelasi dari x, jelas bahwa R = RT atau R merupakan
matriks simetri.

Misalkan vk adalah vektor ciri matriks R yang bersesuaian

dengan nilai ciri k . Himpunan {  k } dibentuk dari {vk} dengan terlebih dahulu
melakukan proses ortogonalisasi dan normalisasi sehingga tetap berlaku (Jain
1989)
R k  k  k , untuk 1 ≤ k ≤ n
Jika    1

 2   n  maka  merupakan matriks ortogonal (uniter)

sehingga T   1 .
Karhunen–Loève Transform (KLT) dari x didefinisikan sebagai (Jain
1989)
y  T x

2.10

Konsep Dasar Kompresi Data
Diberikan n vektor data X1, X2, . . ., Xn 

m

. Kemudian dicari vektor-

vektor e1, e2, . . . dengan arah yang terbaik untuk vektor data tersebut.

Gambar 2.1

Vektor data didekati dalam terminologi arahnya.

Untuk suatu vektor unit e maka

f , e e merupakan proyeksi vektor dari f

pada span{e}. Pada Gambar 2.1, misalkan proyeksi vektor Xk pada ruang yang
dibangun oleh e1 adalah a, begitu juga untuk proyeksi vektor Xk pada ruang yang
dibangun oleh e2 dan e3 adalah b dan c. Terlihat pada gambar di atas,
dibandingkan dengan vektor a dan b, vektor c merupakan vektor yang arahnya
paling mendekati atau yang hampir sama dengan vektor data Xk. Dalam tinjauan

12

aproksimasi, jarak antara Xk dengan vektor proyeksi ini adalah yang paling dekat.
Sehingga masalah yang timbul adalah meminimumkan X k  c atau sama dengan
2

meminimumkan X k  c , maka
2

Xk  c  Xk

dan nilai dari X k

2

meminimumkan  c

2

 c

2

adalah tetap maka meminimumkan X k  c
2

2

sama dengan

2

atau memaksimumkan c .

Perhatikan bahwa,
2

2

c  X k , e3 e3
n

Misalkan D (e)   X k , e

2

 X k , e3

2

e3

2

2

 X k , e3

maka D(e) merupakan ukuran seberapa baik e

k 1

menunjuk pada arah Xk, k = 1, . . ., n sebagai sebuah himpunan. Misalkan pertama
kali dipilih vektor unit e = e1, maka vektor arah ini akan memaksimumkan
jumlahan tersebut. Untuk mendapatkan arah terbaik berikutnya, dicari suatu
vektor e  e1 dengan D(e) maksimum, katakan vektor ini e2. Secara umum,
setelah ditemukan e1, . . ., ep-1, dicari e = ep yang ortogonal dengan vektor-vektor
tersebut dan memaksimumkan D(e).
n

Perhatikan bahwa D (e)   X k , e
k 1

2

n

  eT X k X kT e , sehingga
k 1

D(e)  eT XX T e  eT Qe ,

(2.9)

X  [ X 1  X n ] dan Q = XXT.

(2.10)

dengan

Permasalahan di atas dapat disajikan sebagai berikut:
Memaksimumkan eTQe dengan e  1 .
Jika diberikan e1, . . ., ep-1, permasalahan di atas menjadi
Memaksimumkan eTQe dengan e  1 , dan e  e1, . . ., ep-1.
Permasalahan tersebut tidak lain merupakan extended maximal principle
2

untuk Rayleigh Quotient dari Q, dengan R (e)  Qe, e / e  eT Qe /1  eT Qe .

13

Menurut Teorema 2.3 vektor pemaksimal R(e) merupakan vektor ciri dari Q yang
ortogonal, sebut e1, e2, . . .em. Menurut Teorema 2.2, diperoleh barisan nilai
maksimumnya adalah D(e1 )  1 , D(e2 )  2 , . . . , D(em )  m , dengan

1  2    m tak lain merupakan akar ciri dari Q. Di lain pihak, perhatikan
bahwa akar ciri tak nol dari Q=XXT tak lain adalah i   i2 dan vektor ciri–nya
adalah ei = Ui dengan X = UVT merupakan SVD dari X dengan nilai singular
dari X adalah  i .

2.10.1 Principal Component Basis
Basis

ek k 1
m

m

untuk

yang ditemukan melalui proses di atas adalah

ortonormal karena U ortogonal. Dengan demikian, setiap x 
m

x   i ei , i  x, ei / ei

2

m

dapat ditulis

 x, ei .

i 1

(2.11)

Koordinat dari x di dalam basis ini, yaitu  i , disebut principal components dari x.
Basis ek k 1 disebut principal component basis.
m

Permasalahan yang muncul dalam kompresi data adalah berapa banyak  i
p

yang diperlukan untuk merepresentasikan x? Misalkan s p   i ei merupakan
i 1

proyeksi dari x pada span ek k 1 . Dari sini,
p

x  sp

2

2

 x  sp

2

m

p

m

p

  i ei   i ei   i   i 
2

2

i 1

2

2

i 1

i 1

2

i 1

2

m



i  p 1

i .
2

Jika residu ini diabaikan maka sp bisa diterima sebagai aproksimasi untuk
x. Kemudian ditentukan berapa banyak term yang dibutuhkan jika x adalah salah
satu dari Xk. Perhatikan bahwa

x  sp

2



m



i  p 1

2
i



m

e

i  p 1

T
i

xxT ei

Jika diambil x = Xk dan dijumlahkan semua atas k serta dari kenyataan bahwa
Qei  i ei atau eiT Qei  eiT ei i  i , diperoleh

14

n


k 1

n

X k  sp ( X k )  
2

m



k 1 i  p 1

eiT X k X kT ei 

n
m
m
T 
T 
T


e
X
X
e
e
Qe
 i  
 i i i p 1 i .
k
k  i
i  p 1
k 1
i  p 1

m

Sehingga untuk merepresentasikan x dalam himpunan

 X k k 1 ,
n

cukup

dengan memilih p sedemikian sehingga
m



i

i  p 1
m

(2.12)


i 1

i

kecil.
Selanjutnya, proyeksi suatu vektor x dapat dihitung dengan memotong
ekspansi principal components-nya
p

p

i 1

i 1

s p   x, ei ei   ei eiT x  e1  e p  e1  e p  x
T

(2.13)

Jika dengan mengambil nilai p seperti di atas dapat diterima, berarti sub-ruang
span ek k 1 memuat sebagian besar informasi sebenarnya.
p

2.11

Konsep Teori Informasi
Teori informasi pertama kali diperkenalkan oleh Shannon (1948). Teori

tersebut dianggap sebagai dasar teori penelitian kompresi data (Zadeh 1965;
Acharya dan Ray 2005). Shannon membuktikan bahwa terdapat batas pada
kompresi data lossless. Batas itu disebut entropy rate yang disimbolkan dengan H.
Nilai H bergantung pada sumber informasi, sehingga memungkinkan untuk
melakukan kompresi sumber informasi secara lossless dengan nilai kompresi
mendekati H (Hafsah 2007).
Shannon juga menemukan teori kompresi data lossy yang dikenal dengan
teori rate-distortion. Pada kompresi data lossy, data yang telah diekstrak tidak
harus sama dengan data asli (original). Meskipun demikian, sejumlah distorsi
dapat ditolerir (Hafsah 2007).

15

2.12

Aproksimasi Matriks Rank Rendah
Misalkan A matriks berukuran m x n dengan rank(A) = r dan SVD dari A

dinyatakan sebagai
r

A    iU iVi T

(2.14)

i 1

Jika nilai singular  p 1 , ,  r lebih kecil dibandingkan dengan  1 , ,  p maka
dengan ‘membuang’ sebanyak r – p term pada (2.14) akan memberikan
aproksimasi untuk A dan memiliki rank yang lebih kecil daripada r (Greenacre
1984). Teorema aproksimasi dengan rank rendah (low rank approximation)
pertama kali dinyatakan dan dibuktikan oleh Eckart dan Young (1936) dan pada
beberapa jurnal disebut dengan Eckart-Young Theorem. Teorema tersebut
menyebutkan bahwa jika matriks A berukuran m x n dengan rank(A) = r dan SVD
r

p

i 1

i 1

dari A adalah  A    iU iVi T   maka Ap    iU iVi T merupakan aproksimasi
terbaik dengan rank p untuk A, yaitu Ap meminimumkan 
m

n

 (a
i 1 j 1

ij



 xij )2  trace  A  X 

T

 A  X 

(2.15)

untuk setiap matriks X dengan rank p atau kurang (Greenacre 1984).

2.13

Citra Digital

2.13.1 Representasi Citra Digital
Komputer menampilkan citra sebagai koleksi titik-titik (dot) yang disebut
dengan pixel (picture element) atau piksel. Informasi visual disimpan dalam
struktur data array atas bit-bit bilangan. Setiap titik dari gambar dipetakan ke satu
atau lebih bit dalam memori komputer.
Citra digital dibangun oleh piksel-piksel yang dapat dianggap sebagai
sebuah titik kecil pada layar. Citra dengan ukuran m x n adalah citra yang
dibangun oleh m piksel pada arah vertikal dan n piksel pada arah horisontal. Citra
digital direpesentasikan dengan suatu matriks atas bilangan-bilangan di mana
setiap bilangan tersebut merepresentasikan nilai intensitas di suatu titik. Titik pada
citra inilah yang disebut dengan piksel. Intensitas piksel disebut dengan gray

16

levels.
Jika C adalah matriks citra berukuran m x n maka Crc adalah nilai
intensitas pada posisi yang bersesuaian dengan entri pada baris r dan kolom c citra
yang direpresentasikan oleh matriks tersebut.

Gambar 2.2

The Pixel Coordinate System.

Salah satu cara untuk merepresentasikan sebuah citra menggunakan
komputer adalah dengan menyatakan sebuah citra menggunakan angka-angka
untuk merepresentasikan entri-nya berdasarkan posisi dan ukuran bentuk
geometris dan bentuk seperti garis, kurva, persegi, atau lingkaran. Citra seperti ini
disebut dengan citra vektor (vector image).

draw circle
center
radius
fill-color
stroke-color
stroke-width
draw circle
center
radius
fill-color
draw circle
center
radius
fill-color
draw line
start
end
stroke-color
stroke-width

Gambar 2.3

0.5, 0.5
0.4
yellow
black
0.05
0.35, 0.4
0.05
black
0.65, 0.4
0.05
black
0.3, 0.6
0.7, 0.6
black
0.1

Contoh Vector Image.

17

Citra yang disimpan dan ditampilkan dengan cara yang sama disebut
bitmapped image atau bitmap (Sutopo 2002). Citra bitmap (atau raster images)
adalah

“foto

digital”,

bentuk

yang

paling

sering

digunakan

untuk

merepresentasikan citra alami dan juga merupakan bentuk grafis dengan detail
yang sangat banyak. Citra bitmap bisa juga menyatakan bagaimana suatu grafis
disimpan ke dalam memori video komputer. Terminologi bitmap merujuk pada
bagaimana memberikan pola bit-bit di dalam peta piksel ke suatu warna yang
spesifik.

Gambar 2.4

Contoh bentuk rasterized dari huruf ‘a’ diperbesar 16 kali dan
menggunakan piksel dengan ketelitian ganda.

Citra bitmap berbentuk sebuah larik (array) di mana nilai pada setiap
elemen disebut dengan piksel (pixel – picture element) yang bersesuaian dengan
warna yang diberikan oleh citra tersebut. Setiap garis horisontal di dalam citra
disebut dengan garis pindai (scan line). Huruf ‘a’ direpresentasian dengan sebuah
matriks berukuran 12 x 14 sebagaimana yang diperlihatkan pada Gambar 2.3,
bilangan-bilangan

di

dalam

matriks

menggambarkan

tingkat

kecerahan

(brightness) dari pikselnya. Bilangan yang lebih besar bersesuaian dengan area
yang lebih terang sedangkan yang lebih rendah adalah lebih gelap.

18

2.13.2 Menyimpan dan Menampilkan Citra Digital
Citra digital memerlukan ruang penyimpanan yang besar. Untuk
merepresentasikan citra berukuran 640 x 480 piksel, di mana setiap piksel
direpresentasikan dengan 1 byte memori (merepresentasikan bilangan 0–255),
memerlukan 640 x 480 x 1 byte = 307.200 byte = 300 KB = 0.29 MB memori.
Komputer menyimpan sebuah file citra ke dalam disk atau media
penyimpanan lainnya dalam bentuk biner (binary). Komputer menyimpan
informasi data piksel dan metadata yang berisi informasi pendukung tambahan,
seperti dimensi dan tag. Menyimpan sebuah file citra erat kaitannya dengan
format penyimpanan yang digunakan. Biasanya file citra disimpan oleh software
tertentu yang akan menerapkan algoritme sesuai dengan format digunakan. Salah
satu format penyimpanan yang sering digunakan adalah JPEG (Joint
Photographic Experts Group).
Format JPEG merupakan skema kompresi file bitmap. Awalnya, file yang
menyimpan hasil foto digital memiliki ukuran yang besar sehingga tidak praktis.
Dengan format baru ini, hasil foto yang semula berukuran besar berhasil
dikompresi sehingga ukurannya kecil.
Format ini dikembangkan pada awal tahun 1980 oleh Joint Photographic
Experts Group (JPEG). JPEG merupakan format yang paling sering digunakan di
internet. Implementasi format JPEG terbaru dimulai sejak tahun 1996 dan
semakin berkembang dengan inovasi format baru yang menyertai perkembangan
teknologi yang memanfaatkan format JPEG lebih luas. Walaupun format JPEG
merupakan metode kompresi gambar yang gratis, sebuah perusahaan bernama
Forgent pada tahun 2002 mempatenkan format ini dan akan menarik biaya lisensi.
Segera grup JPEG mengumumkan sebuah format JPEG 2000 sebagai sebuah
format pengganti. Namun dua hal di atas terlambat, karena JPEG sudah digunakan
secara luas dan hak paten belum ditetapkan oleh pengadilan.
Standar kompresi file gambar yang dibuat oleh kelompok JPEG ini
menghasilkan kompresi yang sangat besar tetapi dengan akibat berupa adanya
distorsi pada gambar yang hampir selalu tidak terlihat. JPEG adalah sebuah
format gambar yang sangat berguna untuk membuat gambar jenis fotografi

19

berkualitas tinggi dalam ukuran file yang sangat kecil. Format file grafis ini telah
diterima oleh Telecommunication Standardization Sector atau ITU-T dan
Organisasi Internasional untuk Standardisasi atau ISO. JPEG kebanyakan
digunakan untuk melakukan kompresi gambar menggunakan analisis Discrete
Cosine Transform