PERBANDINGAN PEMAMPATAN CITRA DENGAN WAVELET … · Dalam penelitian ini data citra yang dipakai...
-
Upload
phungduong -
Category
Documents
-
view
221 -
download
0
Transcript of PERBANDINGAN PEMAMPATAN CITRA DENGAN WAVELET … · Dalam penelitian ini data citra yang dipakai...
PERBANDINGAN PEMAMPATAN CITRA DENGAN
WAVELET DAUBECHIES, MORLET, DAN MEYER
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Diajukan Oleh :
Christophorus Tommy Astanto
NIM : 013124043
PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNVERSITAS SANATA DHARMA
YOGYAKARTA 2007
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERSEMBAHAN
Bermimpilah tentang apa yang ingin kamu impikan, pergilah ke tempat kamu ingin pergi, jadilah seperti yang kamu inginkan, karena kamu hanya memiliki satu kehidupan dan satu kesempatan untuk melakukan hal-hal
yang ingin kamu lakukan
Kupersembahkan karya ini untuk :
Yesus Kristus atas segala-galanya yang ada di Bumi ini
Bp.Aloysius Hendarto & Ibu M.M Sri Utami
terima kasihku atas kasih sayang, cinta, pengorbanan dan dukungan yang selama ini kalian berikan padaku
Yohanes Tommy Gratsianto
aku bangga memiliki adik sepertimu
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK
Pemampatan data citra adalah suatu teknik yang digunakan untuk
memperkecil ukuran berkas citra sehingga dapat menghemat media penyimpanan.
Terdapat banyak metode pemampatan yang mempunyai prinsip kerja yang
berbeda-beda dan menghasilkan data keluaran yang ukurannya berbeda pula,
diantaranya adalah metode pemampatan dengan menggunakan wavelet
Daubechies, Morlet, dan Meyer. Penelitian ini bertujuan untuk mengetahui
metode mana yang terbaik dari ketiga metode tersebut menurut hasil pemampatan
dan waktu tempuh proses pemampatan.
Dalam penelitian ini data citra yang dipakai bertipe *.Jpg. Kriteria
perbandingan meliputi kompleksitas algoritma yang dipakai, lamanya proses
pemampatan, dan ukuran file hasil pemampatan dari ketiga metode tersebut.
Hasil analisis algoritma untuk ketiga metode pemampatan menunjukkan
bahwa waktu tempuh algoritma Morlet dan Meyer masing-masing adalah O(1),
sedangkan waktu tempuh untuk algoritma Daubechies adalah O(n). Sedangkan
dari hasil pengujian program diperoleh hasil bahwa pemampatan dengan Wavelet
Daubechies lebih baik dibandingkan dengan Wavelet Meyer dan Wavelet Morlet
untuk data yang sama. Maka dapat disimpulkan bahwa dari hasil analisis
algoritma diketahui algoritma Meyer memiliki waktu tempuh yang relatif lebih
cepat, sedangkan menurut hasil proses pemampatan, pemampatan terbaik
diperoleh dengan Wavelet Daubechies.
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
Image Compresion is a technic which is used to reduce the size of an
image so that it would save storage media. There are many image comparisson
methods with different mechanism as well as different output, namely image
comparisson methods using wavelet Daubechies, Morlet, and Meyer. This
research aims to discover the best method out of the three methods mentioned
above according to the result of the compression process.
The image data which is used in this research is the *.Jpg file. The
comparison criteria includes the complexity of the algorithm, the duration of the
compression process, and the size of the output file from the tree methods above.
The result of the algorithm analysis for three methods of compression
indicates that the running time for the Morlet and Meyer algorithm is O(1), while
the running time for Daubechies algorithm is O(n). As the result of some
experiment it is found that for the same data, the result of compression using
wavelet Daubechies is better than using wavelet Morlet and Meyer. Therefore, it
can be concluded that in term of algorithm analysis, it Meyer algorithm performs
a relatively faster running time than other algorithm, where as in term of the
result, the best compression is yielded from wavelet Daubechies.
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini
tidak memuat karya atau bagian karya lain, kecuali yang telah disebutkan dalam
kutipan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 26 Maret 2007
Penulis
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji syukur kepada Tuhan YME atas segala Berkat yang dicurahkan-Nya
sehingga penulis dapat menyelesaikan tugas akhir ini.
Pada kesempatan ini, penulis ingin menyampaikan ucapan terima kasih
yang sebesar-besarnya kepada:
1. Yang terhormat Ibu A. Rita Widiarti, S.Si., M.Kom., selaku dosen
pembimbing yang dengan kritik dan sarannya telah banyak membantu penulis
dalam mempersiapkan dan menyelesaikan skripsi ini.
2. Bapak Ir. Ig. Aris Dwiatmoko, M.Sc selaku Dekan Fakultas MIPA Universitas
Sanata Dharma.
3. Ibu P. H. Prima Rosa selaku Kepala Program Studi Ilmu Komputer
Universitas Sanata Dharma.
4. Seluruh Dosen Ilmu Komputer Universitas Sanata Dharma yang telah
membimbing penulis selama studi.
5. Pak Tukijo atas kerjasamanya selama ini.
6. Dianny Faila Sophia Hartatri yang telah memberikan semangat dan dukungan
dalam menyelesaikan studi serta skripsi ini.
7. Teman-teman M7 (Denny “Adens”, Sonie “Gontenk”, Fajar ”Boncel”, Simon
”Dewarengkong”, Dance, Rolens).terima kasih atas dukungan, semangat dan
persahabatan yang ada selama ini.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8. Teman-teman Ilmu Komputer angkatan 2001 Arief ”Pakdhe”, Roy ”C-Tepu”,
Krisnawan ”Tarzan”, Samuel, Ferdi”Koh Edi”, Wanda”Bakso”,Anto”Ndorone
Wonosobo”, Rully, Enink dll.
9. Teman-teman seperjuanganku( Wawan”Produk Gagal”, Andi ”Pakdhe”, Didit,
Nino, Samsu, Aris ”Mr. Bean” dll)
Penulis menyadari bahwa dalam menyelesaikan skripsi ini masih banyak
kekurangan, karena keterbatasan kemampuan penulis dalam pengalaman dan
pengetahuan, oleh karena itu, kritik dan saran yang bersifat membangun akan
sangat diharapkan dalam sempurnanya skripsi ini.
Besar harapan penulis semoga hasil penelitian ini dapat berguna bagi
pembaca.
Yogyakarta, 26 Maret 2007
Penulis
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
HALAMAN JUDUL............................................................................ i
HALAMAN PERSETUJUAN............................................................. ii
HALAMAN PENGESAHAN.............................................................. iii
HALAMAN PERSEMBAHAN........................................................... iv
ABSTRAK............................................................................................ v
ABSTRACT.......................................................................................... vi
HALAMAN KEASLIAN KARYA...................................................... vii
KATA PENGANTAR........................................................................... viii
DAFTAR ISI......................................................................................... x
DAFTAR TABEL................................................................................. xiv
DAFTAR GAMBAR............................................................................. xv
BAB I. PENDAHULUAN
1.1. Latar Belakang Masalah................................................................. 1
1.2. Rumusan Masalah.......................................................................... 2
1.3. Batasan Masalah............................................................................ 2
1.4. Tujuan akhir................................................................................... 2
1.5. Metodologi Penelitian..................................................................... 2
1.6. Sistematika Penulisan..................................................................... 4
BAB II. LANDASAN TEORI
2.1. Pengertian Citra............................................................................... 5
2.2. Format Citra................................................................................... 6
2.2.1. Citra Biner (Monokrom)...................................................... 7
2.2.2. Citra Skala Keabuan (Gray Scale)...................................... 7
2.2.3. Citra Warna (True Color).................................................... 8
2.3. Pengertian Pemampatan................................................................. 9
2.3.1. Teknik Pemampatan Data Citra........................................... 9
2.4. Metode Terbaik.............................................................................. 11
2.5. Pengertian Gelombang Singkat...................................................... 11
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.5.1. Sejarah Gelombang Singkat................................................... 13
2.6. Metode Alihragam Gelombang Singkat........................................... 14
2.6.1. Metode Pemampatan Gelombang Singkat............................. 14
2.6.2. Tolak Ukur Perbedaan Citra Asli dan Rekonstruksi............. 18
2.6.3. Rasio Pemampatan Data Citra............................................. 18
2.7. Wavelet Daubechies...................................................................... 19
2.7.1. Algoritma Gelombang Singkat Daubechies....................... 19
2.8. Wavelet Meyer.............................................................................. 21
2.9. Wavelet Morlet.............................................................................. 22
2.10. Teori Analisis Algoritma............................................................. 22
2.10.1. Kompleksitas Waktu (Time Complexity).......................... 24
2.10.1.1. Keadaan Dari Kompleksitas Waktu.................... 25
BAB III. ANALISIS DAN PERANCANGAN
3.1. Analisis Sistem............................................................................. 30
3.2. Kebutuhan..................................................................................... 31
3.3. Perancangan Sistem....................................................................... 31
3.3.1. Perancangan Proses.............................................................. 31
3.4. Algoritma Program......................................................................... 34
3.4.1. Algoritma Program Pemampatan Wavelet Daubechies...... 34
3.4.2. Flowchart Program Pemampatan Wavelet Daubechies…… 35
3.4.3. Algoritma Program Pemekaran Wavelet Daubechies........ 35
3.4.4. Flowchart Program Pemekaran Wavelet Daubechies……. 37
3.4.5. Algoritma Program Pemampatan Wavelet Meyer.............. 37
3.4.6. Flowchart Program Pemampatan Wavelet Meyer.............. 38
3.4.7. Algoritma Program Pemekaran Wavelet Meyer................. 38
3.4.8. Flowchart Program Pemekaran Wavelet Meyer.................. 40
3.4.9. Algoritma Program Pemampatan Wavelet Morlet.............. 40
3.4.10. Flowchart Program Pemampatan Wavelet Morlet.............. 41
3.4.11. Algoritma Program Pemekaran Wavelet Morlet................. 41
3.4.12. Flowchart Program Pemekaran Wavelet Morlet................. 43
3.5. Hubungan Antar Tampilan............................................................. 43
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.6. Perancangan Interface Program..................................................... 44
3.6.1. Form Utama......................................................................... 44
3.6.2. Form Informasi Program...................................................... 45
3.6.3. Form Pilihan......................................................................... 45
3.6.4. Form Open Citra.................................................................. 46
3.6.5. Form Pemampatan............................................................... 47
3.6.6. Form Pemampatan Citra...................................................... 48
3.6.7. Form Pemekaran Citra......................................................... 49
3.6.8. Form Detail……………………………………………….. 49
BAB IV. IMPLEMENTASI
4.1. Implementasi Program.................................................................. 50
4.1.1. Tampilan Layar Utama....................................................... 51
4.1.1. Tampilan Layar Menu Pilihan............................................. 51
4.1.1. Tampilan Layar Open.......................................................... 52
4.1.1. Tampilan Layar Kompresi................................................... 52
4.1.1. Tampilan Menu Pemampatan.............................................. 53
4.1.1. Tampilan Menu Pemekaran................................................. 54
4.1.1. Tampilan Menu Informasi................................................... 54
4.1.1. Tampilan Menu Detail......................................................... 55
4.1.1. Tampilan Menu Peringatan.................................................. 55
4.2. Analisis Program............................................................................ 55
4.2.1. Gelombang Singkat Daubechies.......................................... 56
4.2.2. Gelombang Singkat Meyer................................................... 56
4.2.3. Gelombang Singkat Morlet.................................................. 57
BAB V. ANALISIS DAN HASIL UJI PROGRAM
5.1. Analisis Worst Case........................................................................ 59
5.1.1. Analisis Worst Case Pemampatan Daubechies………….... 59
5.1.2. Analisis Worst Case Pemampatan Meyer…………………. 61
5.1.3. Analisis Worst Case Pemampatan Morlet……………….... 61
5.2. Hasil Uji Program........................................................................... 63
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB VI. KESIMPULAN DAN SARAN
6.1. Kesimpulan.................................................................................... 66
6.2. Saran............................................................................................... 67
DAFTAR PUSTAKA..................................................................................... 68
LAMPIRAN.................................................................................................... 69
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 5.1 Hasil kompleksitas waktu................................................................. 62
Tabel 5.2 Perbandingan berdasarkan besar ukuran file hasil pemampatan..... 63
Tabel 5.3 Perbandingan Berdasar waktu tempuh proses pemampatan............ 64
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar1.1 Diagram metode waterfall................................................................ 3
Gambar 2.1 Citra biner dan representasinya dalam data digital.......................... 7
Gambar 2.2 Citra skala keabuan 4 bit dan representasinya dalam data digital.... 8
Gambar 2.3 Citra Warna dan representasinya dalam data digital........................ 8
Gambar 2.4 Penyandian Transform................................................................... 10
Gambar 2.5 Runtutan Pemampatan Data............................................................ 15
Gambar 2.6 pemrosesan citra dengan dua iterasi (a), pemrosesan
citra dengan tiga iterasi (b)............................................................. 15
Gambar 2.7 Wavelet daubechies.......................................................................... 20
Gambar 2.8 Wavelet Meyer…………………………………………………….. 21
Gambar 2.9 Wavelet Morlet................................................................................. 22
Gambar 3.1 Diagram Konteks............................................................................. 32
Gambar 3.2. Diagram Aliran Data Level 1.......................................................... 32
Gambar 3.3 Diagram Alir Data Level 2 Proses 1……………………………… 33
Gambar 3.4 Diagram Aliran Data Level 2 Proses 2…………………………… 34
Gambar 3.5 Flowchart pemampatan Daubechies.............................................. 35
Gambar 3.6 Flowchart pemekaran Daubechies................................................. 37
Gambar 3.7 Flowchart pemampatan Meyer....................................................... 38
Gambar 3.8 Flowchart pemekaran Meyer.......................................................... 40
Gambar 3.9 Flowchart pemampatan Morlet....................................................... 41
Gambar 3.10 Flowchart pemekaran Morlet....................................................... 43
Gambar 3.11 Hubungan antar tampilan............................................................. 44
Gambar 3.12 Form Utama.................................................................................. 44
Gambar 3.13 Form Informasi...............................................................................45
Gambar 3.14 Form Pilihan.................................................................................. 45
Gambar 3.15 Form Open Citra............................................................................ 46
Gambar 3.16 Form Kompresi Wavelet................................................................ 47
Gambar 3.17 Form Pemapatan Citra....................................................................48
Gambar 3.18 Form Pemekaran Citra................................................................... 49
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.19 Form Detail.....................................................................................49
Gambar 4.1 Jendela Command Window............................................................. 50
Gambar 4.2 jendela pengaktifan folder (Current Directory)............................... 50
Gambar 4.3 Layar Utama.....................................................................................51
Gambar 4.3 Layar Menu Pilihan......................................................................... 51
Gambar 4.4 Layar Open file................................................................................ 52
Gambar 4.4 Layar Menu kompresi...................................................................... 52
Gambar 4.6 Menu Pemampatan.......................................................................... 53
Gambar 4.7 Layar Menu Pemekaran................................................................... 54
Gambar 4.8 Layar Informasi Program................................................................. 54
Gambar 4.9 Layar Menu Detai............................................................................ 55
Gambar 4.10 Tampilan peringatan...................................................................... 55
Gambar 4.11 Tampilan Taylortool…………………………………………….. 58
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Media penyimpanan pada komputer walaupun sudah berukuran cukup
besar ternyata tidak dapat memenuhi kebutuhan penyimpanan data dan informasi
yang berkembang dengan cepat. Untuk mengatasi masalah tersebut maka
dikembangkan suatu teknik yang dapat memperkecil ukuran berkas data sehingga
permasalahan media penyimpanan dapat teratasi. Teknik tersebut adalah teknik
pemampatan data.
WinZip, WinRAR adalah dua contoh program untuk pemampatan berkas
data. Berdasarkan percobaan yang dilakukan penulis, dua contoh program di atas
ternyata memiliki rasio pemampatan yang baik untuk pemampatan berkas teks,
tetapi kurang baik jika digunakan untuk memampatkan berkas citra.
Dengan melihat masalah di atas, maka penulis akan membuat suatu program
yang digunakan untuk memampatkan berkas citra dengan menggunakan teknik
pemampatan berkas citra berbasis wavelet yang dianggap mampu memberikan
hasil pemampatan yang baik. Wavelet yang digunakan untuk tujuan pemampatan
berkas citra tersebut adalah Wavelet Daubechies, Morlet dan Meyer. Penulis
memilih ketiga metode tersebut dikarenakan ketiga metode tersebut mempunyai
syarat dan karakteristik yang berbeda. Selain itu, wavelet juga lebih baik dari
metode pemampatan JPEG untuk memampatkan berkas citra. (Qiao, 2005)
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
1.2 Rumusan Masalah
Manakah metode terbaik dalam proses pemampatan dan pemekaran berkas
citra berdasarkan metode Morlet, Meyer, dan Daubechies di tinjau dari
kompleksitas waktu dan hasil pemampatan.
1.3 Batasan Masalah
Adapun batasan masalah dari tugas akhir ini adalah:
1. Pembuatan program yang dirancang menggunakan MATLAB versi
6.5.1 untuk pemampatan dan pemekaran citra dengan file yang
berekstensi *.jpg.
2. Program ini hanya akan membandingkan dua faktor yaitu
membandingkan ukuran file yang telah dimampatkan dan
membandingkan waktu proses (running time).
1.4 Tujuan
Merancang dan mengembangkan sebuah program pemampatan dan
pemekaran berkas citra menggunakan perangkat lunak MATLAB.
1.5 Metodologi
1. Metode Studi Pustaka
Metode ini sebagai penunjang dalam proses pengumpulan data dengan
mempelajari berbagai macam literatur yang berkaitan dengan
pembuatan program ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
2. Metode Pengembangan Perangkat Lunak dengan paradigma Waterfall
Gambar1.1 Diagram metode waterfall
Metode ini digunakan sebagai penunjang dalam proses pembuatan
program sesuai dengan kebutuhan pemakai. Didalam metode ini
terdapat beberapa tahapan yang akan dilakukan yaitu:
1. Rekayasa Sistem
Tahapan ini digunakan untuk mengumpulkan kebutuhan program
dengan sedikit melibatkan analisis dan perancangannya.
2. Analisis
Tahapan ini digunakan untuk menganalisis tentang prosedur atau
fungsi yang akan digunakan dan user interface program.
3. Perancangan
Merupakan tahapan yang memusatkan pada karakteristik dari
user inteface dan prosedure atau fungsi secara mendetail.
4. Penulisan Program
Menterjemahkan hasil rancangan ke dalam program.
5. Pengujian
Menguji apakah program sudah sesuai dengan yang diinginkan.
Pengujian
Rekayasa Sistem
Analisis
Perancangan
Penulisan Program
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.6 Sistematika Penulisan Laporan
Untuk mempermudah memahami penulisan proposal ini, maka penulis
membuat sistematika penulisan sebagai berikut :
BAB I PENDAHULUAN
Berisi tentang latar belakang, batasan masalah, tujuan penulisan, dan
sistematika penulisan.
BAB II LANDASAN TEORI
Berisi tentang teori-teori yang dapat digunakan sebagai bahan
pendukung dari pembuatan program dan penulisan skripsi secara
keseluruhan yaitu pengertian citra, pengertian kompresi data, macam
teknik pemampatan data, pengertian wavelet, wavelet Daubechies,
Morlet dan Meyer.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Berisi tentang analisis sistem, analisis kebutuhan, rancangan user
interface yang akan digunakan dalam pembuatan program beserta
algoritma yang akan digunakan.
BAB IV IMPLEMENTASI PROGRAM
Berisi tentang hasil implementasi program, menjelaskan setiap
aplikasi yang ada dalam program.
BAB V ANALISIS DAN HASIL UJI PROGRAM
Berisi tentang analisis program serta analisis perbandingan antara
ketiga wavelet tersebut berdasarkan hasil pengujian program.
BAB VI KESIMPULAN DAN SARAN
Berisi tentang kesimpulan dan saran setelah mengimplementasikan
program.
DAFTAR PUSTAKA
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
LANDASAN TEORI
2.1. Pengertian Citra
Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optis,
contohnya foto, bersifat analog, contohnya sinyal video seperti gambar pada
monitor televisi, atau bersifat digital yang langsung disimpan pada pita magnetis.
Menurut presisi yang digunakan untuk menyatakan titik-titik koordinat pada
domain spasial atau bidang dan untuk menyatakan nilai keabuan atau warna suatu
citra, maka secara teoritis citra dapat dikelompokkan menjadi empat kelas citra,
yaitu citra kontinu-kontinu, kontinu-diskret, diskret-kontinu, dan diskret-diskret;
dengan label pertama menyatakan presisi titik-titik koordinat pada bidang citra
sedangkan label kedua menyatakan presisi nilai keabuan atau warna. Kontinu
dinyatakan dengan presisi angka tidak terhingga, sedangkan diskret dinyatakan
dengan presisi angka terhingga.
Komputer digital bekerja dengan angka-angka presisi terhingga, dengan
demikian hanya citra dari kelas diskret-diskret yang dapat diolah dengan
komputer. Citra dari kelas tersebut lebih dikenal sebagai citra digital.
Citra digital merupakan larikan dua-dimensi atau matriks yang unsur-
unsurnya menyatakan tingkat keabuan unsur gambar, jadi informasi yang
terkandung bersifat diskret. Citra digital tidak selalu merupakan hasil langsung
data rekaman sistem. Kadang-kadang hasil rekaman data bersifat kontinu seperti
gambar pada monitor televisi, foto sinar-X, dan lain sebagainya. Dengan demikian
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
untuk mendapatkan citra digital diperlukan suatu proses konversi, sehingga citra
tersebut selanjutnya dapat diproses dengan komputer (Murni, 1992).
2.2 Format Citra
Setiap citra digital memiliki beberapa karakteristik, antara lain ukuran
citra, resolusi dan format. Umumnya citra digital berbentuk persegi panjang yang
memiliki panjang dan lebar tertentu. Ukuran inilah yang biasanya dinyatakan
dalam banyaknya titik atau piksel, sehingga ukuran selalu bernilai bulat. Dalam
hal ini tentu saja harus ada hubungan antara titik penyusun citra dengan satuan
panjang. Hal tersebut dinyatakan sebagai resolusi yang merupakan ukuran
banyaknya titik untuk setiap satuan panjang. Biasanya satuan yang digunakan
adalah dpi (dot per inch). Makin besar resolusi makin banyak titik yang
terkandung dalam citra dengan ukuran fisik yang sama. Hal ini memberikan efek
penampakan citra menjadi semakin halus.
Komputer dapat mengolah isyarat-isyarat elektronik digital yang merupakan
kumpulan sinyal biner (bernilai dua: 0 dan 1). Untuk itu citra digital harus
memiliki format tertentu sehingga dapat merepresentasikan objek pencitraan
dalam bentuk kombinasi data biner.
Pada kebanyakan kasus, terutama untuk keperluan penampilan secara visual,
nilai data digital tersebut merepresentasikan warna dari citra yang diolah, dengan
demikian format data citra digital berhubungan erat dengan warna. Format citra
digital yang banyak dipakai adalah citra biner, skala keabuan, warna dan warna
berindeks.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Format citra digital ada bermacam-macam. Citra yang merepresentasikan
informasi yang hanya bersifat biner untuk membedakan 2 keadaan tentu tidak
sama citra dengan informasi yang lebih kompleks. Pada citra digital semua
informasi tadi disimpan dalam bentuk angka, seadangkan penampilan angka
tersebut biasanya dikaitkan dengan warna.
2.2.1 Citra Biner (Monokrom)
Pada citra biner, setiap titik bernilai 0 atau 1, masing-masing
merepresentasikan warna tertentu. Warna hitam bernilai 0 dan warna putih
bernilai 1. Setiap titik pada citra hanya membutuhkan 1 bit, sehingga setiap byte
data dapat mengandung informasi 8 titik.
Gambar 2.1 Citra biner dan representasinya dalam data digital.
2.2.2 Citra Skala Keabuan (gray scale)
Citra skala keabuan memberi kemungkinan warna lebih banyak daripada
citra biner, karena ada nilai-nilai lain diantara nilai minimum (nilai 0) dan nilai
maksimumnya. Banyaknya kemungkinan nilai dan nilai maksimumnya
bergantung pada jumlah bit yang digunakan.
Format citra ini disebut skala keabuan karena pada umumnya warna yang
dipakai adalah warna antara warna hitam sebagai warna minimal dan warna putih
sebagai warna maksimalnya sehingga warna antaranya adalah abu-abu.
= 10011101=$9D
= 01101110=$6A
= 01101101=$6D
= 10011110=$91
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Gambar 2.2 Citra skala keabuan 4 bit dan representasinya dalam data digital.
2.2.3 Citra Warna (true color)
Pada citra warna, setiap titik mempunyai warna yang spesifik yang
merupakan kombinasi dari tiga warna dasar yakni merah, biru, hijau. Format citra
ini sering disebut sebagai citra RGB (red-green-blue). Setiap warna dasar
memiliki intensitas sendiri dengan nilai maksimum 255 (8 bit), misalnya warna
kuning merupakan kombinasi warna merah dan hijau sehingga nilai RGB=nya
adalah 255 255 0; sedangkan warna ungu muda nilai RGB-nya adalah 150 0 150.
Dengan demikian setiap titik pada citra warna membutuhkan data 3 byte.
Jumlah kombinasi warna yang mungkin untuk format citra ini adalah 224 atau
lebih dari 16 juta warna, dengan demikian bisa dianggap mencakup semua warna
yang ada, inilah sebabnya format ini dinamakan true color.
Gambar 2.3 Citra Warna dan representasinya dalam data digital.
= 15 10 7 10 15 13 0 13=$FA 7A FD 0D
= 12 4 15 7 11 15 15 1 =$C4 F7 BF F1
= 10 5 15 7 14 14 2 15 =$A5 F7 EE 2F
= 15 15 3 11 13 15 15 7=$FF 3B DF F7
= 255 255 255 255 0 0 128 128 128 128 128 0
= 0 255 255 0 128 0 204 255 255 0 0 255
= 150 150 150 51 51 51 255 255 255 95 95 95
= 255 204 183 204 255 204 128 0 0 255 0 255
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
2.3 Pengertian Pemampatan
Pemampatan merupakan suatu proses mengubah stream data input
menjadi stream data output agar menjadi lebih kecil. Jika proses pemampatan
efektif, maka hasil berkas keluarannya akan lebih kecil dari berkas aslinya, atau
dengan kata lain pemampatan merupakan suatu teknik yang digunakan untuk
memperkecil ukuran suatu berkas masukan, sehingga dapat dimuat dalam media
penyimpanan.
Ruang penyimpanan pada komputer sebenarnya boleh dikatakan sangat
terbatas, walaupun memakai hard disk yang berukuran gigabyte.
2.3.1. Teknik Pemampatan Data Citra
Teknik ini dapat dibagi menjadi dua kelas besar yaitu:
1. Pemampatan yang bersifat tanpa merugi (lossless), dan
2. Pemampatan yang bersifat merugi (lossy)
Teknik pemampatan data bersifat tanpa merugi (lossles) adalah teknik
pemampatan dimana hasil dekompresi haruslah persis sama dengan inputannya.
Pemampatan jenis ini sering digunakan untuk memampatkan data berupa teks dan
executable file.
Teknik pemampatan data yang bersifat merugi (lossy) adalah teknik
pemampatan di mana hasil dekompres tidak harus selalu persis dengan inputan.
Perbedaan inputan dan hasil dekompres hanya cukup kecil. Teknik pemampatan
ini sering digunakan dalam data citra. Hal ini disebabkan karena pada jenis data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
tersebut terdapat data yang jika dihilangkan tidak berpengaruh besar pada
informasi yang diberikan.(Muller, 2003)
Salah satu prosedur standar pemampatan lossy melalui penyandian
transform, ini diperlihatkan pada gambar 2.4
Gambar 2.4 Penyandian Transform
Pada gambar 2.4 menunjukkan proses penyandian transform yaitu dimana
sinyal asli pertama kali akan dikenai proses transform maju kemudian dilakukan
penyandian koefisien hasil dari transform maju. Selanjutnya setelah dilakukan
penyandian koefisien dilakukan transform balik yang selanjutnya menghasilkan
sinyal rekonstruksi. Ide ini bertujuan untuk menampilkan data menggunakan basis
matematika yang berbeda dengan harapan tampilan baru itu akan memperjelas
korelasi yang ada. Pemampatan dicapai dengan memperhitungkan transform yang
berhubungan dengan basis ini, nilai korelasi dibawah batas ambang sampai
menuju 0, dan penyandian (encoding) tanpa merugi koefisien yang tidak bernilai
0.
Data citra yang dimampatkan menggunakan file dengan ekstensi Bmp dan
JPG. Citra dengan ekstensi Bmp memiliki kelebihan, yaitu memiliki kualitas
gambar terbaik namun memiliki ukuran berkas yang relatif besar sehingga akan
menambah beban saat memanggilnya kembali ( me-load) dan membutuhkan
memori yang besar juga untuk menyimpannya.
Transform maju
Koefisien Penyandian
Transform balik
Sinyal rekonstruksi
Sinyal asli
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Citra dengan ekstensi JPG merupakan kebalikan dari Bmp, yaitu ukuran
berkasnya kecil sehingga hanya membutuhkan memori yang kecil untuk
menyimpannya. Kelemahan dari JPG adalah jika sering mengedit gambar
tersebut, kualitas gambar tersebut semakin lama semakin turun karena JPG tidak
menyimpan informasi setiap piksel dari image tersebut. JPG menyimpan
berdasarkan mapping warna dan lokasi warna tersebut.
2.4 Metode Terbaik
Suatu metode pamampatan dapat disebut metode terbaik, jika memenuhi
persyaratan sebagai berikut (Mubarak, 2002) :
1. Seberapa besar prosentase berkas hasil pemampatan dapat diketahui.
2. Keutuhan file tetap terjamin.
3. Kecepatan program pelaksana proses pemampatan cukup memadahi.
4. Kemudahan pemakaian program serta kesederhanaan fasilitas tambahan
yang diperlukan.
2.5 Pengertian Gelombang-Singkat (GS)
GS adalah fungsi matematis yang memenuhi persyaratan matematika dan
digunakan dalam penyajian data atau fungsi lain. Penghitungan menggunakan
fungsi superposisi telah ada sejak tahun 1800, ketika Joseph Fourier menemukan
bahwa grafik sinus dan kosinus dapat disuperposisikan untuk menggambarkan
fungsi periodik lain. Meskipun demikian, dalam analisis GS, ukuran yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
digunakan terhadap data mempunyai suatu fungsi tertentu. Algoritma GS
memproses data pada ukuran-ukuran atau resolusi-resolusi yang berbeda. Jika kita
melihat suatu sinyal dengan jendela (window) yang besar maka diperoleh gambar
yang besar. Demikian pula, bila kita melihat dengan window yang kecil maka
akan diperoleh gambar yang kecil pula. Hasil pada analisis GS dapat diibaratkan
seperti melihat hutan secara menyeluruh dengan pohon-pohonnya (Graps, 1995).
Para ilmuwan telah berusaha menemukan fungsi yang lebih tepat daripada
fungsi sinus dan kosinus sebagai basis analisis Fourier untuk memperkirakan
sinyal bergelombang. Menurut pengalaman mereka, tidak ada masalah bila fungsi
itu bersifat non-lokal(memiliki lingkup tidak terbatas). Namun mereka kurang
berhasil dalam menangani sharp spikes. Ternyata dengan analisis GS, dapat
digunakan fungsi penghampiran yang memiliki wilayah (domain) yang terbatas
dan teratur.
Prosedur analisis GS didasarkan pada protoripe fungsi GS, yang disebut
analyzing wavelet atau GS Induk (mother wavelet). Analisis sementara dilakukan
dengan penyusutan (contraction), versi prototipe frekuensi tinggi GS, sedangkan
analisis frekuensinya dilakukan dengan pelebaran, versi frekuensi rendah GS yang
sama, karena sinyal asli atau fungsi masukan dapat digambarkan dalam bentuk
ekspansi GS (menggunakan koefisien pada kombinasi linear sejumlah fungsi GS),
operasi data dapat digambarkan dengan mempergunakan koefisien GS terkait.
Jika selanjutnya pemilihan GS terbaik disesuaikan dengan data yang ada atau
dipangkas hingga koefisien di bawah suau titik awal, data tersebut digambarkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
secara jarang. Penyandian yang jarang ini menjadikan GS sangat berguna dalam
bidang pemampatan data.
2.5.1 Sejarah Gelombang Singkat
Gelombang Singkat merupakan keluarga fungsi yang dihasilkan oleh suatu
GS basis ψ (x) disebut mother wavelet. Dimana dasar teori dari Gelombang
Singkat tersebut adalah menampilkan fungsi umum dalam bentuk baku yang lebih
sederhana, meliputi ukuran dan posisi yang berbeda-beda. Teori tersebut
diciptakan untuk menelaah berbagai bidang yang berbeda, misalnya pemrosesan
sinyal terdapat teknik seperti pengkodean subbidang, tapis cermin kuadratur, dan
bagan piramid. Dalam matematika abstrak, teknik analisis berdasarkan deret
Fourier yang kadang-kadang memberikan hasil yang kurang maksimal. Sebagai
penggantinya digunakan teknik Littlewood-Paley. Teknik pengganti ini
dikembangkan pada tahun 30-an untuk memahami masalah seperti penjumlahan
deret Fourier dan sifat batas bagi fungsi gelombang singkat analisis.
Pada tahun 70-an, penguraian (dekomposition) secara atomis menjadi
jumlah fungsi yang lebih sederhana digunakan dalam teori Space Hardy. Pada
awal 80-an, Stromberg menemukan gelombang singkat ortogonal pertama untuk
lebih memahami tentang ruang Sobolev dan Hardy yang digunakan untuk
mengukur ukuran kehalusan fungsi gelombang singkat. Pada awal 80-an,
ditemukan bahwa teknik Littlewood-paley memiliki analogi tertentu dan bisa
memberikan satu penjelasan mengenai hasil dalam analisis harmonis. Hal ini
ditemukan oleh Yves Meyer dan Mike Frazier serta Bjorn Jawerth dalam
penelitian ϕ -transform. Hal ini dapat menggantikan peranan deret Fourier dalam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
aplikasi numeris. Teori Gelombang Singkat berasal dari teori Littlewood-Paley
atas usul Yves Meyer dan Jean Morlet.
Pierre-Gilles Lemarie dan Yves Meyer mengembangkan ekspansi
Gelombang Singkat ortogonal. Selanjutnya Ingrid Daubechies memberikan reka
bentuk Gelombang Singkat yang kompak dengan ketidak teraturan tinggi tetapi
dengan sifat beraturan (regularyty). Ini membawa ke awal sejarah teori
Gelombang Singkat. Beberapa orang telah membuat tambahan penting pada
masalah tadi dalam beberapa tahun ini.
2.6 Metode Alihragam Gelombang-Singkat
Gelombang-singkat merupakan fungsi yang memenuhi persyaratan
matematis tertentu dan digunakan di dalam merepresentasikan data atau fungsi
lain. Gagasan ini adalah sesuatu yang baru.
Perkiraan menggunakan superposisi telah ada sejak awal tahun 1800-an
ketika Joseph Fourier menemukan bahwa ia bisa melakukan superposisi terhadap
sinus dan cosinus untuk merepresentasikan fungsi-fungsi lain (Graps, 1995).
2.6.1 Metode Pemampatan Gelombang Singkat
Metode pemampatan alihragam pada dasarnya terdiri atas tiga tahap, yaitu:
a. Transform.
b. Kuantisasi.
c. Penyandian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Hal tersebut dapat kita lihat dalam diagram berikut:
Gambar 2.5 Runtutan Pemampatan Data.
Pada gambar 2.5 proses kompresi citra asli terdiri dari tiga tahap, yaitu
TGS kedepan, Pengkuantisasi, Penyandian. Dari proses kompresi diperoleh citra
hasil pemampatan yang selanjutnya akan menjadi inputan dalam proses
dekomposisi. Dalam proses ini citra hasil pemampatan yang ingin dimekarkan
akan melewati tiga tahap, yaitu : Pengawasandi, Pengkuantisasi balik, TGS
belakang.
(a) (b) Gambar 2.6 pemrosesan citra dengan dua iterasi (a), pemrosesan citra dengan
tiga iterasi (b).
Pada gambar 2.6 menunjukkan bidang citra yang terdiri dari empat daerah
yang menghasilkan empat buah citra yaitu : fLL, fLH, fHL, fHH. Dari keempat citra
fLL fLH
fHL FHH
fLH
fHL FHH
fLL fLH
fHL fHH
Citra asli TGS
kedepan Pengkuantisasian Penyandian
Pengawa- sandi
Pengkuantisasi balik
TGS kebelakang
DEKOMPOSISI
KOMPRESI
Citra Rekonstruksi
Citra Hasil Pemampatan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
tersebut yang memiliki citra yang terbaik adalah fLL karena gambar akan
berkumpul pada daerah tersebut.
Catatan : Apabila pemrosesan terhadap baris dan kolom dianggap sebagai
satu iterasi, maka jumlah subbidang yang terbentuk dapat dihitung
melalui rumus : Jumlah Subbidang = 3n + 1, dimana n = cacah iterasi.
a. Transform
Transform merupakan salah satu proses yang bersifat pemetaan
baku untuk keefektifan dan kemudahan sesuai dengan tujuan pemampatan
data yang bersifat merugi. Transform citra bekerja terhadap blok-blok
piksel. Blok piksel biasanya berukuran kecil, misalnya dapat dipilih 4x4,
8x8, 16x16 maupun yang lain, dan bukan pada keseluruhan citra sekaligus.
Ada beberapa alasan mengapa blok-blok yang dipilih berukuran
kecil:
1. Transform blok berukuran kecil atas citra tertentu lebih mudah
dihitung dan diproses daripada transform citra dengan ukuran
penuh.
2. Korelasi antar piksel-piksel berjauhan yang lebih kecil daripada
piksel-piksel yang berdekatan akan mempermudah proses
transform itu sendiri.
b. Kuantisasi
Transform gelombang-singkat memberikan hasil berupa koefisien-
koefisien yang sebagian besar bernilai nol atau mendekati nol. Walaupun
demikian koefisien yang dihasilkan memiliki nilai yang masih sangat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
bervariasi. Untuk itu diperlukan proses kuantisasi yang bertujuan untuk
membatasi koefisien-koefisien menjadi nilai lain yang jumlah
kemungkinannya menjadi sedikit.
Pengkuantisasi yang umum dipakai adalah pengkuantisasi vektor
dan pengkuantisasi skalar. Pengkuantisasi vektor mengkuantisasi sejumlah
nilai sekaligus menggantikan sejumlah nilai dengan sebuah lambang,
sedangkan pengkuantisasi skalar melakukan kuantisasi terhadap setiap nilai
secara individual.
Sebelum hasil pengkuantisasi disandikan ke lambang yang
sesungguhnya berdasarkan entropi, terdapat proses yang disebut
pengalokasian bit. Untuk mencapai rasio pemampatan yang sesuai dengan
kebutuhan pemakai, diperlukan upaya untuk mengalokasikan bit-bit yang
sesuai dengan anggaran bit, sedemikian rupa sehingga total distorsi untuk
seluruh koefisien gelombang-singkat menjadi sekecil mungkin.
C. Penyandian.
Penyandian adalah suatu teknik pemampatan data tanpa kerugian
yang berarti. Penyandian dapat dibagi dalam dua kategori, yaitu :
1) Penyandian dengan panjang tetap (Fixed Length Coding / FLC)
2) Penyandian dengan panjang bervariasi (Variable Length
Coding/VLC).
Pada FLC setiap simbol diganti dengan jumlah bit yang sama.
Sedangkan pada VLC yang disebut penyandian entropi, masing-masing
simbol dialokasikan dengan panjang bit yang berbeda. Pada prinsipnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
kata sandi yang pendek diterapkan pada simbol yang sering muncul dan
kata sandi yang lebih panjang dikenakan pada simbol yang jarang muncul.
Jika kata sandi ki mempunyai probabilitas pi maka :
∑i
pi = 1
Sehingga penyandian entropi didapatkan sebagai berikut(Swelden, 1995):
H = -∑i
pi log2 pi
2.6.2. Tolak Ukur Perbedaan Citra Asli Dan Rekonstruksi.
Ciri khusus yang dimiliki alihragam gelombang-singkat diskret
(Discrete Wavelete Transform) sesungguhnya adalah dapat merekonstruksi
secara acak. Hal ini berarti bahwa sesungguhnya tidak ada informasi yang
hilang sesudah hasil alih ragam dikembalikan. Adanya informasi yang
hilang pada pemampatan data citra melalui alih ragam gelombang-singkat
adalah berawal pada saat terjadi kuantisasi. Kuantisasi inilah yang
menyebabkan pemampatan bersifat merugi(lossy).
Karena citra hasil rekonstruksi tidak sama persis dengan citra asli,
maka kinerja pemampatan data citra perlu diamati dengan pengukuran yang
bersifat obyektif. Tolak ukur yang dipergunakan dalam keperluan ini adalah:
a. RMSE (Root Mean-Square Error)
b. PSNR(Peak Signal-to-Noise Ratio).
2.6.3. Rasio Pemampatan Data Citra.
Ukuran kemampuan pemampatan data dapat dilakukan dengan
mudah. Pemampatan data citra diperoleh dengan membagi ukuran citra asli
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
(Uasli) dengan ukuran citra yang dimampatkan (Umampat). Hasilnya disebut
dengan rasio pemampatan (R).
R =Umampat
Uasli
Semakin besar rasio pemampatan berarti semakin kecil ukuran
hasil pemampatan yang berarti juga semakin baik metode tersebut
digunakan untuk memampatkan.
2.7 Wavelet Daubechies
Inggrid Daubechies adalah salah satu tokoh yang paling menonjol
dalam penelitian wavelet karena beliau yang menemukan apa yang disebut
pendukung wavelet orthogonal, sehingga analisis wavelet secara diskret
dapat dipraktekkan. Untuk penulisan nama wavelet Daubechies adalah
sebagai berikut: dbN, dimana N adalah urutan , sedangkan db adalah
surename.
2.7.1. Algoritma GS Daubechies
Algoritma ini digunakan berdasarkan hasil yang dilakukan
Shensa yang memperlihatkan suatu penyandian antara tapis
”Langrange a trous” dan kuadrat pemikiran dari tapis GS
Daubechies.
Perhitungan dari pengurutan skala N Daubechies tapis w
diproses dalam dua langkah yaitu:
1. Menghitung tapis P ”Langrangea trous”
2. Meringkas suatu square root.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Penjelasan :
• P dihubungkan tapis ”Langrange a trous” adalah suatu
tapis simetris yang panjangnya 4N-1. P diidentifikasi
sebagai :
P = [ α(N) 0 α(N-1) 0 ... 0 α(1) 1 α(1) 0 α(2) 0 α(N) ]
dimana α(k) =∏
∏
≠+−=
≠+−=
−
−
N
kiNi
N
kiNi
ik
i
1
1
)(
)21(
, untuk k = 1,2,3, ..., N
• Kemudian, jika w menunjukkan dbN Daubechies tapis
penyekalaan dari jumlah 2 , w adalah suatu square root
dari P. Lebih jelasnya, P = conv(wrev(w),w),dan w adalah
suatu tapis dengan panjang 2N, yang berhubungan dengan
polynomial yang memiliki N zeros dilokasi pada -1 dan N –
1 zeros kurang dari 1 dalam modulus.
Bentuk dari wavelet Daubechies:
Gambar 2.7 Wavelet daubechies.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
2.8 Wavelet Meyer
Wavelet Meyer dan fungsi skala didefinisikan dalam frekuensi
domain dari :
0)( =ωψ , jika |ω |∉ ⎥⎦⎤
⎢⎣⎡
38,
32 ππ
)2()( πωψ = -1/2 e i 2/ω sin ⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎠⎞
⎜⎝⎛ −1||
23
2ω
ππ v , jika
34||
32 πωπ
≤≤
)2()( πωψ = -1/2 e i 2/ω cos ⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎠⎞
⎜⎝⎛ −1||
43
2ω
ππ v , jika
38||
34 πωπ
≤≤
dimana :
=)(av a 4(35 - 84 a +70 a 2-20 a 3), [ ]1,0∈a
• ( ) ( )πωφ 2= -1/2cos ⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎠⎞
⎜⎝⎛ −1||
23
2ω
πνπ if
34||
32 πωπ
≤≤
• ( ) ( )πωφ 2= -1/2 if 3
2|| πω ≤ ,
• ( ) 0=ωφ if ||ω >3
4π
Bentuk wavelet Meyer :
Gambar 2.8 Wavelet Meyer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
2.9 Wavelet Morlet
Wavelet Morlet tidak memiliki fungsi penyekalaan, tetapi bersifat
eksplisit. Fungsi dan bentuk wavelet Morlet :
( ) ex =ψ cos (5x)
Bentuk dari waveletMorlet:
Gambar 2.9 Wavelet Morlet
2.10 Teori Analisis Algoritma
Analisis algoritma merupakan proses analisis program, secara khusus
kompleksitas waktu. Analisis algoritma digunakan untuk memperoleh aturan-
aturan yang sederhana, yang menciptakan efisiensi pada algoritma pada saat
algoritma tersebut diimplementasikan dan diuji. Efisiensi dilakukan pada sistem
komputer yang berubah-ubah. Analisis algoritma secara tepat terhadap algoritma
yang komplek biasanya tidak mungkin dilakukan, yang terjadi adalah sebuah
pendekatan yang belum sempurna. Hal ini dikarenakan algoritma yang komplek
terlalu banyak memakai faktor yang mempengaruhi algoritma tersebut. Pada
akhirnya yang dapat dilakukan adalah mencoba untuk melakukan analisis secara
tepat terhadap karakteristik utama dari algoritma.
Pendefinisian parameter-parameter nyata dan aturan-aturan yang pasti
adalah faktor penting dalam analisis. Sedangkan detail-detail mengenai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
implementasi yang rumit dapat diabaikan. Di lain pihak pendekatan yang
dilakukan tetap diharapkan mampu memberikan informasi yang signifikan tentang
algoritma. Usaha untuk membandingkan perbedaan pada algoritma, yaitu
menentukan yang terbaik sesuai tujuan yang akan dilakukan.
Tingkat efisiensi dari algoritma menyangkut dua hal, yaitu :
1. Waktu Tempuh
Proses dari suatu algoritma di dalam mencari solusi dari suatu masalah
memerlukan waktu tertentu. Satuan waktu yang dibutuhkan diharapkan
dalam waktu yang relatif singkat (efisien). Adapun hal-hal yang
mempengaruhi waktu tempuh tersebut adalah :
• Banyaknya langkah
Semakin banyak langkah atau instruksi yang digunakan, maka
semakin lama waktu tempuh yang dibutuhkan dalam proses
tersebut.
• Besar dan jenis input data
Ukuran atau besar serta jenis masukan yang digunakan akan sangat
berpengaruh pada proses perhitungan. Jika jenis data yang
diinginkan adalah dengan tingkat ketelitian tunggal (single
precision) maka waktu tempuhnya relatif lebih cepat apabila
digunakan data dengan ketelitian ganda (double precision).
Demikian pula jika dibandingkan dengan data-data yang triple
precision ataupun quadruple precision.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
• Jenis operasi
Jenis operasi meliputi operasi aritmatika, operasi logika dan lain-
lain.
• Komputer dan kompilator
Faktor ini diluar dari rancangan atau pembuatan algoritma yang
efisien. Walaupun algoritma yang dibuat sudah mencapai waktu
tempuh yang sangat efisien, namun apabila menggunakan
komputer yang berkemampuan lambat, maka waktu tempuhnya
akan menjadi lambat pula. Kompilator yang digunakan juga akan
berpengaruh terhadap waktu tempuh suatu algoritma.
2. Jumlah Memori Yang Digunakan
Banyaknya langkah yang digunakan dan jenis variabel atau data yang
digunakan dalam suatu algoritma akan mempengaruhi penggunaan
memori. Dalam hal ini diharapkan dapat memperkirakan senerapa banyak
kebutuhan memori yang dipergunakan selama proses berlangsung hingga
diperoleh penyelesaiannya. Dengan demikian dapat disiapkan storage
yang memadai agar proses dari suatu algoritma berlangsung tanpa ada
hambatan (kekurangan memori).
2.10.1 Kompleksitas Waktu (Time Complexity)
Kompleksitas waktu adalah sebuah fungsi dengan ukuran n
masukan atau dengan kata lain waktu yang oleh suatu algoritma untuk
melakukan eksekusi dengan sempurna. (Azmoodeh, 1990). Spectrum dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
kompleksitas sebuah algoritma dapat diilustrasikan sebagai berikut :
(Azmoodeh,1990)
1< log log n < log n < n < n log n < n2 < n3 < …. < 2n < n!
2.10.1.1 Keadaan dari Kompleksitas Waktu
Komplesitas waktu dari suatu fungsi polinomial F(N) dengan N
input data dapat dibedakan atas tiga keadaan, yaitu : (Suryadi, 1996)
1. Worst Case
Suatu keadaan yang merupakan nilai maksimal dari fungsi F(N) untuk
setiap masukan yang mungkin. Hal ini merupakan suatu keadaan yang
terburuk dari proses di dalam suatu algoritma, sehingga waktu yang
ditempuh oleh algoritma tersebut adalah waktu yang maksimum.
2. Average Case
Average Case merupakan suatu keadaan dari waktu tempuh yang
ekivalen dengan nilai ekspektasi dari fungsi F(N) untuk setiap
masukan data yang mungkin. Nilai ekspetasi dari fungsi F(N) = E,
yang didefinisikan sebagai:
E = n1 p1 + n2 p2 + ... + nk pk
Dengan :
n1, n2, ..., nk merupakan nilai-nilai yang muncul.
P1, p2, ... , pk merupakan peluang (probabilitas) dari setiap nilai (n) yang
muncul.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
3. Best Case
Suatu keadaan yang merupakan nilai minimum dari fungsiF(N) untuk
setiap masukan yang mungkin. Hal ini merupakan suatu keadaan yang
terbaik dari proses didalam suatu algoritma. Dengan demikian waktu
yang ditempuh oleh algoritma tersebut adalah waktu yang minimum.
Hal pertama yang dilakukan untuk mengetahui keadaan kompleksitas
waktu dari suatu algoritma adalah dengan menghitung waktu tempuh (running
time). Waktu tempuh operasi dasar suatu program untuk ukuran masukan (n)
dinyatakan dengan T(n). Dalam beberapa hal T(n) didefinisikan sebagai waktu
tempuh dalam keadaan worst case yang merupakan nilai maksimum melebihi
semua ukuran masukan (n) dari waktu tempuh pada masukan (Aho, 1993).
Waktu tempuh dari suatu algoritma dilambangkan dengan notasi-O (”big
Oh”), dimana definisi secara matematika dari ”big Oh” adalah sebagai berikut :
” f(n) merupakan ”big Oh” dari g(n) dengan notasi (f(n) = O(g(n)) jika dan hanya
jika terdapat dua buah konstanta bulat positif c dan n0 sedemikian sehingga
| f(n) | ≤ c | g(n) | untuk setiap n ≥ n0.”
Adapun teorema-teorema dari waktu tempuh terdiri dari :
Teorema 2.1 ” Penjumlahan Waktu Tempuh ”
” Andaikan T1(n) dan T2(n) waktu tempuh dari dua bagian program P1 dan
P2, dan T1(n) adalah O(f(n)), T2(n) adalah O(g(n)). Maka T1(n) + T2(n)
yaitu waktu tempuh dari P1 diikuti dengan P2 adalah O(max(f(n),g(n))).”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Contoh 2.1:
Jika terdapat tiga langkah (step) program yang mempunyai waktu tempuh
masing-masing O(n2), (n3), dan O(n log n), maka waktu tempuh dari dua
langkah program yang pertama adalah O(max(n2,n3)) = O(n3). Sehingga
waktu tempuh dari semua langkah adalah O(max(n3,n log n)).
Teorema 2.2 ”Perkalian Waktu Tempuh”
” Andaikan T1(n) dan T2(n) waktu tempuh dari dua bagian program P1 dan
P2, dan T1(n) adalah O(f(n)), T2(n) adalah O(g(n)). Maka T1(n) . T2(n)
adalah O(f(n)g(n)), dan T2(n) . T1(n) adalah O(g(n)f(n)). Sehingga O(d f(n))
adalah O(f(n)), jika d adalah suatu konstanta positif.”
Contoh 2.2:
O(n2/2) adalah O(n2).
Prinsip-prinsip umum untuk menganalisis waktu tempuh :
1. Waktu tempuh untuk setiap perintah penugasan (assigment), read, dan
write adalah O(1).
2. Waktu tempuh dari deretan perintah atau perintah-perintah yang
berurutan diperoleh dengan menjumlahkan waktu tempuh dari setiap
perintah-perintah tersebut.
3. waktu tempuh dari statement –if adalah waktu dari statement yang
akan dieksekusi ditambah dengan waktu untuk mengevaluasi kondisi.
Umumnya waktu tempuh untuk mengevaluasi kondisi adalah O (1).
Sedangkan waktu tempuh dari statement if-then-else adalah waktu
untuk mengevaluasi kondisi ditambah dengan waktu terbanyak yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
dibutuhkan untuk mengeksekusi statement jika kondisi dipenuhi dan
untuk mengeksekusi statement ketika kondisi tidak dipenuhi.
4. Time untuk mengeksekusi perulangan (loop) adalah jumlahan dari
semua waktu selama perulangan, yaitu dari waktu untuk
mengeksekusi body dari perulangan dan waktu untuk mengevaluasi
kondisi dari perulangan (yang pada umumnya adalah O(n)).
Contoh 2.3:
If A[j-1]>A[j] then (1)
Begin
Temp:= A[j-i]; (2)
A[j-i]:=A[j]; (3)
A[j]:=temp; (4)
End;
Berdasarkan aturan 1, perintah (2), (3), dan (4) mempunyai waktu tempuh
O(1). Berdasarkan teorema penjumlahan waktu tempuh, maka waktu
tempuh untuk kelompok statement dari (2), (3), dan (4) adalah
O(max(1,1,1)) = O(1). Untuk menghitung waktu tempuh dari statement –if
dimana waktu untuk mengevaluasi kondisi mempunyai waktu O(1) dan
akan dikerjakan apabila hasil evaluasi benar (true) atau salah (false), maka
diambil asumsi worst case, yaitu mengandaikan body dari statement –if
dikerjakan. Diperoleh waktu tempuh dari kelompok statement –if diatas
yaitu baris (1), (2), (3), dan (4) mempunyai waktu tempuh O(1).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Teorema 2.3 :
” Jika f(n) adalah fungsi polinomial dalam n dengan derajat (tingkat) m,
yang ditulis dengan notasi :
f(n) = am nm + am-1 nm-1 + a1 n + a0
Maka ”big oh” dari f(n) adalah n yang dinotasikan f(n) = O(nm).”
Contoh 2.4:
F(n) = 3n3 + 2n2, maka waktu tempuhnya adalah O(n3).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Berkas-berkas data khususnya citra termasuk berkas yang memiliki ukuran
yang cukup besar dan karena media penyimpanan pun terbatas, maka diperlukan
suatu upaya untuk mengkompres (memampatkan) data citra tersebut sehingga
dapat dimuat dalam media penyimpanan. Kemudian, jika berkas tersebut dikirim
via internet akan lebih menguntungkan setelah dikompres daripada sebelum
dikompres karena waktu dan biaya yang diperlukan akan hemat. Maka penulis
akan merancang suatu program yang dapat digunakan untuk memampatkan data
khususnya data citra.
Adapun program pemampatan yang akan dibuat menggunakan Gelombang
Singkat (Wavelet) Morlet, Meyer, dan Daubechies. Selain membuat program
untuk pemampatan data citra dengan ketiga wavelet tersebut, penulis juga akan
membandingkan ketiga wavelet tersebut. Perbandingan yang akan diuji meliputi
waktu tempuh (running time), ukuran file setelah pemampatan.
Program tersebut dirancang dengan mengunakan perangkat lunak
MATLAB versi 6.5.1 yang nantinya dapat digunakan untuk pemapatkan dan
pemekarkan berkas citra dengan format *.Jpg, sehingga didapatkan hasil sebuah
citra baru dengan disertai ukuran berkas setelah pemampatan dan waktu yang
diperlukan selama proses pemampatan.
30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
3.2 Kebutuhan Sistem
Dalam pembuatan tugas akhir ini penulis menggunakan perangkat lunak
MATLAB versi 6.5.1. Selain itu penulis juga menggunakan perangkat keras
yang terdiri dari :
• Processor : Intel P4
• Memory : 256 Mb
• VGA Card : 128 Mb
• Media Penyimpanan : Hard disk
• Media Masukkan : Keyboard
• Sistem Operasi : Windows XP
3.3 Perancangan
Pada tahap ini, akan dilakukan proses perancangan terhadap
program pemampatan dan pemekaran yang akan dibangun. Proses
perancangan ini akan dibagi dalam dua bagian proses yaitu : perancangan
proses, dan perancangan interface program.
3.3.1 Perancangan Proses.
Proses pemampatan dan pemekaran yang terjadi dalam sistem,
akan dijelaskan dalam diagram konteks dan diagram arus data (DAD).
Diagram konteks dan DAD untuk proses-proses yang terjadi dalam sistem
adalah sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Gambar 3.1 Diagram Konteks
Pada gambar 3.14 terdapat proses pemampatan dan pemekaran data citra
dimana dalam proses tersebut mempunyai masukan ( input ) berupa data gambar (
citra, ukuran citra, format citra) dan menghasilkan keluaran (output) berupa data
pemampatan (citra pemampatan, ukuran citra pemampatan, waktu proses
pemampatan) dan data pemekaran (citra pemekaran, ukuran citra pemekaran,
waktu proses pemekaran).
Gambar 3.2. Diagram Aliran Data Level 1
Pada Diagram diatas terdapat tiga proses yaitu Proses Pemampatan, Proses
Pemekaran dan Proses Menampilkan Hasil. Dalam proses Pemampatan data
masukan (input) berupa citra asli, ukuran citra asli, format citra asli. Sedangkan
keluarannya berupa citra hasil pemampatan, ukuran citra hasil pemampatan,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
waktu proses pemampatan. Demikian juga untuk proses Pemekaran inputannya
berupa citra hasil pemampatan, ukuran citra hasil pemampatan, waktu proses
pemekaran. Dan keluarannya berupa citra hasil pemekaran, ukuran citra hasil
pemekaran, waktu proses pemekaran. Untuk proses ketiga yaitu Menampilkan
Hasil masukannya berasal dari dua proses yaitu proses Pemampatan dan proses
Pemekaran dengan data inputan yang sama yaitu citra hasil pemampatan, ukuran
citra hasil pemampatan, waktu proses pemampatan, berupa citra hasil
pemampatan, ukuran citra hasil pemampatan, waktu proses pemekaran. Untuk
keluaran pada proses ketiga ini berupa citra, ukuran citra, format citra
pemampatan maupun pemekaran.
Gambar 3.3 Diagram Alir Data Level 2 Proses 1
Pada gambar DAD Level II Proses 1 di atas menjelaskan bahwa pada proses
pemampatan data (Proses I dalam DAD Level I) dipecah lagi menjadi tiga proses
yaitu proses pemampatan meyer, proses pemampatan morlet, dan proses
pemampatan daubechies.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 3.4 Diagram Aliran Data Level 2 Proses 2
Pada gambar DAD Level II Proses 2 di atas menjelaskan bahwa pada proses
pemekaran data (Proses 2 dalam DAD Level I) dipecah lagi menjadi tiga proses
yaitu proses pemekaran meyer, proses pemekaran morlet, dan proses pemekaran
daubechies.
3.4. Algoritma Program.
Algoritma pemampatan maupun pemekaran citra sangat penting untuk dibuat
karena akan mempermudah dalam proses coding, karena dengan menggunakan
algoritma kita dapat mengetahui jalannya proses yang akan kita buat. Untuk
algoritma program dalam tugas akhir ini terdiri dari 2, yaitu :
• Algoritma Program Pemampatan.
• Algoritma Program Pemekaran.
3.4.1 Algoritma Program Pemampatan Wavelet Daubechies
Untuk algoritma pemampatan langkah-langkahnya adalah :
1. Pilih file citra dan simpan dalam variabel x.
2. Tampilkan citra yang akan dimampatkan.
3. Proses pemampatan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
• Proses penghitungan nilai [P,R] dimana P adalah nilai
Lagrange a Trouse dan R adalah nilai parsial dari w, dimana w
adalah suatu square root dari P.
• Proses penghitungan nilai w.
4. Tampilkan hasil pemampatan.
5. Selesai.
3.4.2 Flowchard Program Pemampatan Wavelet Daubechies
Gambar 3.5 Flowchart pemampatan Daubechies.
3.4.3 Algoritma Program Pemekaran Daubechies
Untuk algoritma pemekaran langkah-langkahnya adalah :
1. Baca citra.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
2. Baca ukuran matrik
3. Definisikan larik baris dan kolom.
4. Rekonstruksi semua kolom
• for kolom = 1 tojumlah kolom do
• g = 2
• while g<= jumlah kolom do
- Lakukan langkah rekonstruksi
• g = g*2
• end while
• end for
5. Rekonstruksi semua baris
• for kolom = 1 tojumlah baris do
• g = 2
• while g<= jumlah baris do
- Lakukan langkah rekonstruksi
• g = g*2
• end while
• end for
6. Tampilkan citra hasil pemekaran
7. Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
3.4.4 Flowchart Proses Pemekaran Daubechies
Gambar 3.6 Flowchart pemekaran Daubechies.
3.4.5 Algoritma Program Pemampatan Wavelet Meyer
Untuk algoritma pemampatan langkah-langkahnya adalah :
1. Pilih file citra simpan pada variabel x.
2. Tampilkan citra yang akan dimampatkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
3. Proses pemampatan.
• P = [-20 70 -84 35 0 0 0 0]
• Y = polyval(p, [-20 70 -84 35 0 0 0 0] )
4. Tampilkan hasil pemampatan.
5. Selesai
3.4.6 Flowchard Program Pemampatan Wavelet Meyer
Gambar 3.7 Flowchart pemampatan Meyer.
3.4.7 Algoritma Program Pemekaran Meyer
Untuk algoritma pemekaran langkah-langkahnya adalah :
1. Baca citra.
2. Baca ukuran matrik
3. Definisikan larik baris dan kolom.
4. Rekonstruksi semua kolom
• for kolom = 1 tojumlah kolom do
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
• g = 2
• while g<= jumlah kolom do
- Lakukan langkah rekonstruksi
• g = g*2
• end while
• end for
5. Rekonstruksi semua baris
• for kolom = 1 tojumlah baris do
• g = 2
• while g<= jumlah baris do
- Lakukan langkah rekonstruksi
• g = g*2
• end while
• end for
6. Tampilkan citra hasil pemekaran
7. Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
3.4.8 Flowchart Proses Pemekaran Meyer
Gambar 3.8 Flowchart pemekaran Meyer.
3.4.9 Algoritma Program Pemampatan Wavelet Morlet
Untuk algoritma pemampatan langkah-langkahnya adalah :
1. Pilih file citra dan simpan pada variabel x.
2. Tampilkan citra yang akan dimampatkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
3. Proses pemampatan.
• P = [0 -1307/36 0 389/12 0 -13 0 1]
• Y = polyval(p, [0 -1307/36 0 389/12 0 -13 0 1] )
4. Tampilkan hasil pemampatan.
5. Selesai
3.4.10 Flowchard Program Pemampatan Wavelet Morlet
Gambar 3.9 Flowchart pemampatan Morlet.
3.4.11 Algoritma Program Pemekaran Morlet
Untuk algoritma pemekaran langkah-langkahnya adalah :
1. Baca citra.
2. Baca ukuran matrik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
3. Definisikan larik baris dan kolom.
4. Rekonstruksi semua kolom
• for kolom = 1 tojumlah kolom do
• g = 2
• while g<= jumlah kolom do
- Lakukan langkah rekonstruksi
• g = g*2
• end while
• end for
5. Rekonstruksi semua baris
• for kolom = 1 tojumlah baris do
• g = 2
• while g<= jumlah baris do
- Lakukan langkah rekonstruksi
• g = g*2
• end while
• end for
6. Tampilkan citra hasil pemekaran
7. Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
3.4.12 Flowchart Proses Pemekaran Morlet
Mulai
Baca citra
Baca ukuran matriks
Definisi larik baris dan kolom
for kolom = 1 tojumlah kolom
g =2
While g<= jumlah kolom
Lakukan langkah rekonstruksi
g =g*2
Ya
Tidak
for kolom = 1 tojumlah baris
g =2
While g<= jumlah baris
Lakukan langkah rekonstruksi
g =g*2
Ya
Tidak
Selesai
Tampilkan Citra Pemekaran
Gambar 3.10 Flowchart pemekaran Morlet.
3.5 Hubungan Antar Tampilan
Keseluruhan antar-muka disajikan menjadi beberapa lapisan untuk
membantu pemahaman pengguna, mulai dari informasi bersifat umum sampai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
ketingkat yang paling spesifik berdasarkan topik yang dipilih, sehingga nantinya
dapat terjadi suatu hubungan yang hirarkis.
Gambar 3.11 Hubungan antar tampilan
3.6 Perancangan Interface Program
Software yang digunakan dalam pembuatan program tugas akhir ini adalah
MATLAB versi6.5.1. Adapun rancangan untuk Form-Form dalam program tugas
akhir ini sebagai berikut :
3.6.1 Form utama
Gambar 3.12 Form Utama
LOGO
keluar
Info
masuk Penyusun
PERBANDINGAN WAVELET MEYER, MORLET, DAUBHECIEST
Universitas Sanata Dharma
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Pada gambar 3.1 terdapat 4 buah tombol pilihan, yaitu:
• Tombol Informasi : Untuk memanggil Form Informasi dari
program.
• Tombol Masuk : Untuk memanggil Form kompresi citra.
• Tombol Keluar : Untuk keluar dari program.
3.6.2. Form Informasi Program
Pada Form ini terdapat 2 tombol, yaitu:
• Tombol Kembali : Untuk kembali ke Form sebelumnya.
• Tombol Keluar : Untuk keluar dari program.
3.6.3 Form Pilihan
Gambar 3.14 Form Pilihan.
Pada Form ini terdapat 2 buah tombol, yaitu:
• Tombol Buka File : Untuk Formju ke Form open.
• Tombol Keluar : Untuk keluar dari program.
Form Pilihan : Buka File
Keluar
penyusun
Informasi Program
logo
Kembali Keluar
Gambar 3.13 Form Informasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
3.6.4 Form Open Citra.
Gambar 3.15 Form Open Citra
Pada Form ini terdapat 2 buah tombol, yaitu :
• Tombol “Open” = memasukan file citra yang telah dipilih
ke Form pemampatan yang kemudian citra tersebut akan
diolah.
• tombol “Cancel” = membatalkan citra yang dipilh untuk
keluar ke Form Kompresi Citra.
Open File Look in Picture File name
Open
Cance
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
3.6.5 Form Pemampatan
Gambar 3.16 Form Kompresi Wavelet
Pada Form ini terdapat 6 buah tombol, yaitu :
• Tombol Detail : Untuk menampilkan detail dari citra.
• Tombol Kembali : Untuk Kembali ke Form sebelumnya.
• Tombol Batal : Untuk membatalkan pemrosesan.
• Tombol Meyer : Untuk melakukan pemrosesan citra
dengan metode Meyer.
• Tombol Morlet : Untuk melakukan pemrosesan citra
dengan metode Morlet.
• Tombol Daubechies : Untuk melakukan pemrosesan citra
dengan metode Daubechies.
Pemampatan Citra dengan Metode Wavelet
Citra Asli Citra Pemampatan
Filesize(byte) :
Detail
Kembali
Batal
Metode P
Meyer
Morlet
Daubechies
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
3.6.6 Form Pemampatan Citra
Gambar 3.17 Form Pemapatan Citra
Pada Form ini terdapat 4 buah tombol, yaitu :
• Tombol Detail : Untuk menampilkan detail dari citra.
• Tombol Kembali : Untuk kembali ke Form sebelumnya.
• Tombol Mekar : Untuk ke Form pemekaran.
• Tombol Batal : Untuk membatalkan pemrosesan.
Pemampatan Citra dengan Metode Wavelet
Citra Asli Citra Pemampatan
Filesize(byte) : Detail
Kembali
Sebelum Pemampatan :
Rasio :
Hasil Pemampatan :
FileSize(byte) :
Waktu :
Detail
Mekarkan
Batal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
3.6.7 Form Pemekaran Citra.
Gambar 3.18 Form Pemekaran Citra.
Pada Form ini terdapat 2 buah tombol, yaitu :
• Tombol Detail : Untuk menampilkan detail dari citra.
• Tombol Form Utama : Untuk kembali ke Form utama.
3.6.8. Form Detail
Gambar 3.19 Form Detail
Pada Form ini terdapat 2 tombol, yaitu:
• Tombol Kembali : Untuk kembali ke Form sebelumnya.
• Tombol Keluar : Untuk keluar dari program.
Pemekaran Citra dengan Metode Wavelet
Citra Pemampatan Citra Pemekaran
FileSize(byte) : Detail
Form Utama
Pemekaran Citra dengan Metode Wavelet
Citra Pemampatan Citra Pemekaran
Filesize(byte) : Detail
Sebelum Proses : Hasil Pemekaran :
Waktu :
Informasi Citra
Kembali Keluar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
BAB IV
IMPLEMENTASI DAN ANALISIS
4.1 Implementasi Program.
Dalam pembuatan program pemampatan dan pemekaran ini menggunakan
perangkat lunak MATLAB versi 6.5.1. Untuk mengaktifkan program dengan
perangkat lunak ini harus menjalankan program MATLAB terlebih dahulu karena
program ini belum dibuat file .EXE nya. Untuk mengaktifkan program
pemampatan dan pemekaran ini pengguna terlebih dahulu mengetikkan perintah
”utama” pada jendela Command Window dimana perintah tersebut akan
memanggil layar tampilan utama program pemampatan dan pemekaran ini.
Gambar 4.1 Jendela Command Window
Akan tetapi sebelum menjalankan program terlebih dahulu kita mengaktifkan
direktori file atau folder tempat program tersebut kita simpan pada Current
Directory
Gambar 4.2 jendela pengaktifan folder (Current Directory)
50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
4.1.1 Tampilan Layar Utama
Gambar 4.3 Layar Utama.
Pada layar utama ini terdapat 3 buah tombol yaitu: tombol INFO
PROGRAM, MASUK, dan KELUAR. Untuk tombol INFO PROGRAM akan
memanggil layar informasi tentang program pemampatan dan pemekaran ini.
Untuk Tombol MASUK akan memanggil tampilan menu pilihan. Sedangkan
untuk tombol KELUAR digunakan untuk keluar dari program ini.
4.1.2 Tampilan Layar Menu Pilihan.
Gambar 4.3 Layar Menu Pilihan
Pada layar utama ini terdapat 2 buah tombol yaitu: tombol BUKA FILE, dan
KELUAR. Untuk tombol BUKA FILE akan memanggil layar open dimana
dilayar tersebut kita dapat memilih file citra yang akan kita mampatkan.
Sedangkan untuk tombol KELUAR digunakan untuk kembali ke menu utama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
4.1.3 Tampilan Layar Open.
Gambar 4.4 Layar Open file
Pada tampilan ini user akan memilih gambar yang akan dimampatkan.dalam layar
ini terdapat dua tombol yaitu : OPEN dan CANCEL. Pada tombol OPEN akan
digunakan untuk menuju layar kompresi, sedangkan untuk tombol CANCEL akan
kembali ke menu sebelumnya.
4.1.4 Tampilan Layar Kompersi
Gambar 4.4 Layar Menu kompresi
Pada tampilan diatas terdapat enam tombol yaitu : tombol DETAIL, BACK,
BATAL, MEYER, MORLET, dan DAUBECHIES. Untuk tombol DETAIL
digunakan untuk menampilkan detail dari citra yang akan dimampatkan. Tombol
BACK digunakan untuk kembali ke menu sebelumnya. Tombol BATAL
digunakan untuk membatalkan proses pemampatan dan akan kembali ke menu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
sebelumnya. Tombol MEYER, MORLET, dan DAUBECHIES digunakan untuk
melakukan proses pemampatan dengan menggunakan wavelet tersebut.
4.1.5 Tampilan Menu Pemampatan.
Gambar 4.6 Menu Pemampatan
Pada menu ini terdapat dua kolom yaitu kolom citra asli dan citra pemampatan.
Didalam kolom citra asli terdapat tampilan citra asli, ukuran file citra asli, rasio
pemampatan dan dua tombol yaitu Detail dan Back. Untuk tombol Detail akan
menampilkan detail citra asli, sedangkan untuk tombol Back akan kembali ke
menu sebelumnya. Untuk kolom citra pemampatan terdapat tampilan citra
pemampatan, ukuran citra pemampatan, flops, waktu pemampatan dan tiga
tombol yaitu : Detai, Mekarkan, Batal. Untuk tombol Detail akan menampilakan
detail citra hasil pemampatan, tombol Mekarkan akan menuju ke layar
pemekaran, dan untuk tombol Batal akan melakukan pembatalan pemekaran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
4.1.6 Tampilan Menu Pemekaran
Gambar 4.7 Layar Menu Pemekaran
Pada menu ini terdapat dua kolom yaitu kolom citra pemampatan dan citra
pemekaran. Didalam kolom citra pemampatan terdapat tampilan citra
pemampatan, ukuran file citra pemampatan, dan tombol yaitu Detail. Untuk
tombol Detail akan menampilkan detail citra asli. Untuk kolom citra pemekaran
terdapat tampilan citra pemekaran, ukuran citra pemekaran, flops, waktu
pemekaran dan dua tombol yaitu : Detai, Menu Utama. Untuk tombol Detail akan
menampilakan detail citra hasil pemekaranan, tombol Menu Utama akan menuju
ke layar Menu Utama.
4.1.7 Tampilan Menu Informasi
Gambar 4.8 Layar Informasi Program.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Pada menu ini berisi informasi program pemampatan citra dengan metode wavelet
Daubechies, Morlet, dan Meyer.
4.1.8 Tampilan Menu Detai
Gambar 4.9 Layar Menu Detai.
Menu Detail ini berisi informasi detail dari citra yang akan dimampatkan, setelah
dimampatkan, maupun sesudah dimekarkan. Isi dari informasi tersebut adalah
nama file, ukuran file (dalam byte), format citra, lebar dan tinggi citra.
4.1.9 Tampilan Menu Peringatan.
Gambar 4.10 Tampilan peringatan
4.2 Analisis Program
Pada bagian ini akan dijelaskan bagaimana menggunakan Gelombang
Singkat Morlet, Meyer, dan Daubechies untuk pemampatan dan pemekaran
berkas citra.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
4.2.1 Gelombang Singkat Daubechies
Untuk dapat menggunakan Gelombang Singkat ini, maka diperlukan suatu
fungsi yang telah disediakan pada Perangkat Lunak MATLAB untuk tujuan
kompresi, yaitu fungsi dbaux yang diberikan dibawah ini:
%DBAUX Daubechies wavelet filter computation. % W = DBAUX(N,SUMW) is the order N Daubechies scaling % filter such that SUM(W) = SUMW. % Possible values for N are: % N = 1, 2, 3, ... % Caution: Instability may occur when N is too large. % W = DBAUX(N) is equivalent to W = DBAUX(N,1) % W = DBAUX(N,0) is equivalent to W = DBAUX(N,1) if errargn(mfilename,nargin,[1:2],nargout,[0:1]), error(’*’); end if nargin < 2 | sumw==0 , sumw = 1; end % if P is the ”Lagrange a trous” filter of order N % and if w denotes the order N daub scaling filter, % one has: P = 2*conv(wrev(w),w). [P,R] = wlagrang(N); % R gives partial root location of w. % w have N zeros located at -1. W = real(poly([R(abs(R)<1);-ones(N,1)])); w = sumw*(w/sum(w)); Fungsi ini sudah disediakan oleh perangkat lunak MATLAB dengan nama
dbaux. Fungsi ini akan melakukan penghitungan nilai w yang nantinya digunakan
untuk memampatkan citra asli. Sebelum nilai w dihitung akan dilakukan
penghitung nilai [P,R] terlebih dahulu dengan menggunakan fungsi wlagrang.
Dimana nilai P adalah nilai Lagrang a Trous dari pemfilteran nilai N, dimana
dalam program ini nilai N = 1. Sedangkan nilai R adalah nilai yang digunakan
untuk menentukan lokasi dari w.
4.2.2 Gelombang Singkat Meyer.
Hal yang sama dapat dilakukan pada gelombang singkat ini.
Dengan fungsi taylortool dapat dibuat fungsi Meyer untuk keperluan
pemampatan data. Fungsi tersebut adalah meyeraux.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Function y = meyeraux(x); %MEYERAUX Meyer wavelet auxiliary function. % Y = MEYERAUX(X) returns values of the auxiliary % function used for Meyer wavelet generation evaluated % at the elements of the vector or matrix X. % The function is 35*x^4 – 84*x^5 + 70*x^6 – 20*x^7. % See also MEYER. If errargn(mfilename,nargin,[1],nargout,[0:1]), error(’*’), end % Auxiliary function values. P = [-20 70 -84 35 0 0 0 0]; y = polyval(p,x);
Fungsi ini terdapat pada Perangkat Lunak MATLAB. Dimana dalam
fungsi ini telah terdapat nilai P. Nilai P tersebut digunakan untuk
menghitung nilai y dimana nilai y akan digunakan untuk melakukan proses
pemampatan citra asli. Nilai y dihitung dengan rumus y = polyval(p,x)
dimana polyval adalah suatu fungsi untuk menentukan nilai masing-
masing elemen matrik citra yang dimampatkan. Polyval disini akan
mengevaluasi nilai p pada masing-masing elemen dari x.
4.2.3 Gelombang Singkat Morlet.
Hal yang sama dapat dilakukan pada gelombang singkat ini. Dengan
fungsi taylortool dapat dibuat fungsi Morlet untuk keperluan pemampatan data.
Fungsi tersebut dapat dilihat dibawah ini:
function y = morletaux(x); %MORLETAUX Morlet wavelet auxiliary function. % Y = MORLETAUX(X) returns values of the auxiliary % function used for Morlet wavelet generation evaluated % at the elements of the vector or matrix X. % The function is 1 – 13 * x ^ 2 + 389 / 12 * x ^ 4 – 1307 / 36 *x ^ 6 % See also MORLET. if errargn(mfilename,nargin,[1],nargout,[0:1]), error('*'), end % Auxiliary function values. p = [ 0 -1307/6 0 389/12 0 -13 0 1]; y = polyval(p,x);
Fungsi ini cara kerjanya menyerupai fungsi meyeraux dimana didalam fungsi ini
terdapat nilai p yang nantinya digunakan untuk melakukan proses pemampatan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Fungsi ini tidak terdapat dalam perangkat lunak MATLAB. Untuk menentukan
nilai p MATLAB telah menyediakan suatu tools yaitu Taylortool yang dapat
digunakan untuk menentukan nilai p tersebut. Untuk membuat fungsi morletaux
sebagai berikut:
>> taylortool dengan mengetikkan fungsi tersebut pada command windows akan
menampilkan tampilan sebagai berikut :
Setelah memasukkan rumus umum dari wavelet morlet maka akan didapat hasil
dari perhitungan dengan menggunakan fungsi taylortool. Hasil dari perhitungan
ini yang nantinya akan digunakan untuk membuat fungsi auxiliary.
Fungsi GS Morlet adalah:
( ) ex =ψ cos (5x)
Fungsi Auxiliary hasil dari taylortool adalah:
Morlet = 1 – 13x2 + 389/12x4 – 1307/36x6
Gambar 4.11 Tampilan Taylortool
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
BAB V
ANALISIS DAN HASIL UJI PROGRAM
5.1 Analisis Worst Case
5.1.1 Analisis Worst Case Algoritma Pemampatan Daubechies
Untuk melakukan analisi worst case hanya akan dilakukan ketika semua
syarat pemampatan terpenuhi, atau dengan kata lain analisis akan dilakukan
pada proses pemampatan.
function y = dbaux(x); (1) if errargn(mfilename,nargin,[1:2],nargout,[0:1]), error(’*’); end (2) if nargin < 2 | sumw==0 , sumw = 1; end (3) [P,R] = wlagrang(N); (4) W = real(poly([R(abs(R)<1);-ones(N,1)])); (5) w = sumw*(w/sum(w));
Berdasar pinsip analisis 1, baris (1), (2) yaitu kondisi –if dihitung
berdasarkan baris (1), (2) yaitu O(max(1,1)) = O(1) time. Untuk baris (4),
(5) adalah O(1). Berdasarkan teorema penjumlahan dari waktu tempuh,
maka waktu tempuh untuk keseluruhan, yaitu O(max(1,1)) = O(1) time.
Untuk baris ke (3) merupakan suatu fungsi tersendiri sehingga untuk
mengetahui jumlah waktu tempuh untuk keseluruhan harus kita hitung
terlebih dahulu. Fungsi dari wlagrang(N) sebagai berkut :
function [P,R] = wlagrang(N) (1) if errargn(mfilename,nargin,[1 2],nargout,[0:2]), error('*'); end (2) lon = 2*N-1; (3) sup = [-N+1:N]; (4) a = zeros(1,N); (5) for k = 1:N (6) nok = sup(sup ~= k); (7) a(k) = prod(0.5-nok)/prod(k-nok); end (8) P = zeros(1,lon); (9) P(1:2:lon) = a;
59
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
(10) P = [wrev(P),1,P]; (11) if nargout>1 (12) R = roots(P); (13) [s,K] = sort(abs(R+1)); (14) R = R(K(lon+2:2*lon)); (15) [s,K] = sort(abs(R)); (16) R = R(K); End
Berdasar pinsip analisis 1, baris (1), (2) yaitu kondisi –if dihitung
berdasarkan baris (1), (2) yaitu O(max(1,1)) = O(1) time. Untuk baris (2),
(3), (4), (6), (7), (8), (9), (10), (12), (13), (14), (15), (16) adalah O(1). Untuk
baris (11) dihitung berdasarkan baris (12), (13), (14), (15), (16), yaitu
O(max( 1,1,1,1,1)) = O(1) time. Untuk kondisi perulangan pada baris (5)
akan diperoleh waktu dari waktu tempuh baris (6), (7), yaitu :
∑=
==+++=n
ktimenOnxO
1.)()(11.....11)1(
Berdasarkan teorema penjumlahan dari waktu tempuh, maka waktu
tempuh untuk keseluruhan, yaitu O(max(1,n)) = O(n) time. Sehingga
kompleksitas waktu untuk fungsi wlagrang adalah F(n) = O(n).
Setelah kompleksitas waktu dari fungsi wlagrang diperoleh, selanjutnya
dapat kita hitung fungsi keseluruhan dari metode pemampatan wavelet
Daubechies, yaitu berdasarkan teorema penjumlahan dari waktu tempuh,
maka waktu tempuh keseluruhan, yaitu O(max(1,n)) = O(n) time. Sehingga
kompleksitas waktu untuk algoritma pemampatan Daubechies secara
keseluruhan adalah F(n) = O(n) time dengan n masukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
5.1.2 Analisis Worst Case Algoritma Pemampatan Meyer
Untuk melakukan analisi worst case hanya akan dilakukan ketika semua
syarat pemampatan terpenuhi, atau dengan kata lain analisis akan dilakukan
pada proses pemampatan.
Function y = meyeraux(x); %MEYERAUX Meyer wavelet auxiliary function. % Y = MEYERAUX(X) returns values of the auxiliary % function used for Meyer wavelet generation evaluated % at the elements of the vector or matrix X. % The function is 35*x^4 – 84*x^5 + 70*x^6 – 20*x^7. % See also MEYER. (1) If errargn(mfilename,nargin,[1],nargout,[0:1]), error(’*’), end % Auxiliary function values. (2) P = [-20 70 -84 35 0 0 0 0]; (3) y = polyval(p,x);
Berdasar pinsip analisis 1, baris (1) yaitu kondisi –if dihitung berdasarkan
baris (1), yaitu O(max(1)) = O(1) time. Untuk baris (2), (3) adalah O(1).
Berdasarkan teorema penjumlahan dari waktu tempuh, maka waktu tempuh
untuk keseluruhan, yaitu O(max(1,1)) = O(1) time. Sehingga kompleksitas
waktu untuk algoritma pemampatan Meyer adalah F(n) = O(1).
4.3.3 Analisis Worst Case Algoritma Pemampatan Morlet
Untuk melakukan analisi worst case hanya akan dilakukan ketika semua
syarat pemampatan terpenuhi, atau dengan kata lain analisis akan dilakukan
pada proses pemampatan.
function y = morletaux(x); %MORLETAUX Morlet wavelet auxiliary function. % Y = MORLETAUX(X) returns values of the auxiliary % function used for Morlet wavelet generation evaluated % at the elements of the vector or matrix X. % The function is 1 – 13 * x ^ 2 + 389 / 12 * x ^ 4 – 1307 / 36 *x ^ 6 % See also MORLET. (1) if errargn(mfilename,nargin,[1],nargout,[0:1]), error('*'), end % Auxiliary function values. (2) p = [ 0 -1307/6 0 389/12 0 -13 0 1]; (3) y = polyval(p,x);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Berdasar pinsip analisis 1, baris (1) yaitu kondisi –if dihitung berdasarkan
baris (1), yaitu O(max(1)) = O(1) time. Untuk baris (2), (3) adalah O(1)..
Berdasarkan teorema penjumlahan dari waktu tempuh, maka waktu tempuh
untuk keseluruhan, yaitu O(max(1,1)) = O(1) time. Sehingga kompleksitas
waktu untuk algoritma pemampatan Morlet adalah F(n) = O(1).
Setelah perhitungan waktu tempuh (worst case) di atas, maka telah
dihasilkan kompleksitas waktu dari ketiga algoritma tersebut. Berikut ini
hasil perhitungan kompleksitas waktu dari ketiga algoritma pemampatan
citra, yaitu Meyer, Morlet, dan Daubechies berdasarkan data-data yang
diperoleh dari proses analisis :
ALGORITMA KOMPLEKSITAS WAKTU
MEYER 1
MORLET 1
DAUBECHIES N
Tabel 5.1 Hasil kompleksitas waktu
Berdasarkan spectrum dari kompleksitas algoritma (Azmoodeh,1990),
semakin besar waktu tempuh yang dipunyai sebuah algoritma, maka
semakin besar pula waktu yang diperlukan untuk algoritma dalam
memecahkan solusi dari suatu masalah. Dapat diambil kesimpulan bahwa
pada pemampatan dengan wavelet Meyer dan Morlet merupakan algoritma
dengan waktu terkecil untuk melakukan proses pemampatan dibandingkan
dengan algoritma pemampatan Daubechies yang mempunyai waktu tempuh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
lebih besar, sehingga dibutuhkan waktu yang lebih lama dari kedua
algoritma yang lain untuk melakukan proses pemampatan.
5.2 Hasil Uji Program
Pada tahap uji coba program digunakan beberapa file yang akan
dimampatkan, berikut ini akan ditampilkan hasil perbandingan proses
pemampatan untuk masing-masing metode pemampatan.
Hasil perbandingan ketiga metode pemampatan adalah sebagai berikut :
Ukuran File Hasil Pemampatan dengan Algoritma : (bytes)
Nama File Ukuran File Asli (bytes)
Daubechies Morlet Meyer 01.Jpg 38517 331 342 346
02.Jpg 67520 331 342 346
03.Jpg 67014 331 342 346
04.Jpg 15606 331 342 346
05.Jpg 506335 331 342 346
0Beach.Jpg 65515 331 342 346
0Cool.Jpg 126594 331 342 346
0Cooll.Jpg 208415 331 342 346
0Cow.Jpg 95980 331 342 346
0eiffel.Jpg 115380 331 342 346
0einst.Jpg 73960 331 342 346
0eminem.Jpg 17992 331 342 346
0F4.jpg 24631 331 342 346
0ganja.Jpg 3359 331 342 346
0guevara.Jpg 3062 331 342 346
0Hitler.Jpg 5860 331 342 346
0Logo1.Jpg 8267 331 342 346
0movie.Jpg 108842 331 342 346
0orangutan.Jpg 108460 331 342 346
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
0rossi.Jpg 118131 331 342 346
0rossi46.Jpg 85016 331 342 346
3d.Jpg 173286 331 342 346
06.Jpg 13336 331 342 346
07.Jpg 177797 331 342 346
08.Jpg 75978 331 342 346
09.Jpg 226875 331 342 346
10.Jpg 23267 331 342 346
017_GR3195.Jpg 34608 331 342 346
41.Jpg 64199 331 342 346
Beach027.Jpg 322692 331 342 346
Beach028.Jpg 472053 331 342 346
Castel.Jpg 327260 331 342 346
Tabel 5.2 Perbandingan berdasarkan besar ukuran file hasil pemampatan.
Tampak pada Tabel 5.2 ukuran terkecil pada file hasil pemampatan untuk
proses memampatkan file dihasilkan oleh algoritma pemampatan Daubechies.
Hasil perbandingan algoritma berdasarkan waktu tempuh (running time)
dalam melakukan proses pemampatan :
Waktu tempuh File Pemampatan Dengan
Algoritma : (detik)
Nama File Ukuran File
Asli (bytes)
Daubechies Morlet Meyer
01.Jpg 38517 0.2810 0.0320 0.0000
02.Jpg 67520 0.0160 0.0310 0.0310
03.Jpg 67014 0.0160 0.0620 0.0470
04.Jpg 15606 0.0620 0.0150 0.0160
05.Jpg 506335 0.0470 0.0320 0.0160
0Beach.Jpg 65515 0.3280 0.0940 0.0620
0Cool.Jpg 126594 0.0320 0.0460 0.0320
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
0Cooll.Jpg 208415 0.2660 0.0470 0.0630
0Cow.Jpg 95980 0.0320 0.0310 0.0320
0eiffel.Jpg 115380 0.0310 0.0470 0.0320
0einst.Jpg 73960 0.0310 0.0310 0.0160
0eminem.Jpg 17992 0.0320 0.0470 0.0160
0F4.jpg 24631 0.0470 0.0310 0.0310
0ganja.Jpg 3359 0.0470 0.0470 0.0470
0guevara.Jpg 3062 0.0160 0.0320 0.0310
0Hitler.Jpg 5860 0.0470 0.0310 0.0470
0Logo1.Jpg 8267 0.0470 0.0310 0.0160
0movie.Jpg 108842 0.0310 0.0150 0.0320
0orangutan.Jpg 108460 0.0470 0.0160 0.0310
0rossi.Jpg 118131 0.0310 0.0470 0.0160
0rossi46.Jpg 85016 0.0310 0.0310 0.0310
3d.Jpg 173286 0.0150 0.0310 0.0310
06.Jpg 13336 0.0310 0.0320 0.0310
07.Jpg 177797 0.0470 0.0160 0.0150
08.Jpg 75978 0.0310 0.0470 0.0310
09.Jpg 226875 0.0470 0.0310 0.0150
10.Jpg 23267 0.0310 0.0310 0.0470
017_GR3195.Jpg 34608 0.0310 0.0310 0.0310
41.Jpg 64199 0.0310 0.0310 0.0310
Beach027.Jpg 322692 0.2190 0.0470 0.0310
Beach028.Jpg 472053 0.0470 0.0150 0.0470
Castle.Jpg 327260 0.0470 0.0320 0.0310
Tabel 5.3 Perbandingan Berdasar waktu tempuh proses pemampatan.
Untuk Table 5.3 dapat disimpulkan bahwa algoritma yang memiliki waktu
tempuh tercepat untuk proses pemampatan adalah algoritma pemampatan Meyer.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Adapun kesimpulan dari penelitian yang telah penulis lakukan
terhadap kinerja tiga algoritma pemampatan yaitu Wavelet Daubechies,
Meyer, dan Morlet adalah :
1. Untuk hasil analisis algoritma waktu tempuh algoritma pemampatan
Meyer dan Morlet masing-masing mempunyai waktu tempuh yang sama,
yaitu O(1). Untuk algoritma pemampatan Daubechies mempunyai waktu
tempuh O(n), hal ini sesuai dengan waktu paling lama yang dibutuhkan
algoritma pemampatan Daubechies untuk menyelesaikan proses
pemampatan diantara algoritma pemampatan Meyer dan Morlet.
2. Untuk ketiga algoritma pemampatan waktu pemampatan terbaik diperoleh
dari algoritma pemampatan Meyer, sedangkan untuk proses pemampatan
keberhasilan pemampatan yang paling baik dicapai oleh algoritma
pemampatan Daubechies.
66
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
6.2 Saran
Adapun saran yang penulis sampaikan setelah dilakukan penelitian ini
adalah :
1. Pemampatan file tidak hanya untuk berkas citra tetapi dapat dilakukan
untuk berkas teks, suara, maupun video.
2. Dalam pembuatan program pemampatan ini dapat menggunakan
Perangkat Lunak lain, misalnya Borlan Delphi, Turbo C, dll.
3. Menambahkan fasilitas Save sehingga dapat memudahkan user untuk
memberi nama file hasil pemampatan dan pemekaran karena dalam
program ini berkas yang dimampatkan dan dimekarkan langsung diberi
nama mampat.Jpg dan mekar.Jpg.
4. Dapat digunakan analisis average case pada tahap analisis, sehingga data
yang dihasilkan dapat lebih akurat dan tepat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
DAFTAR PUSTAKA
Achmad, B., Ir. M.Sc. (2001). Teknologi Pengolahan Citra. Yogyakarta. Universitas Gajah Mada.
Arhami, M., S.Si., M.Kom. dan Desiani., A., S.Si., M.Kom.(2005).Pemrograman Matlab. Yogyakarta. Andi Offset.
Harkeson, D., Harris, G.A., dan Johnson, P.D. (2001). Introduction to: Information and Data Compression. Second Edition.
Jaffard, S., Meyer, Y., dan Ryan, R.D. (2001). Wavelet Tools for Science and Technology. Society for Industrial and Aplliend Mathematics.
Kovacevic, J dan Vetterli, M. (1995). Wavelet and Subband Codding. New Jerssy. Prentice Hall PTR..
Missiti, M., Missiti, Y., Oppenheim, G., dan Poggi, I.M. (1996). Wavelet toolbox: For Use with MATLAB. Version 1. Mathwork.
Mubarak, R.(2003). Diktat Kompresi Data. Yogyakarta.
Mubarak, R. (2003). Pemampatan Data Dengan Menggunakan Transform Gelombang Singkat (Wavelet Transform). Yogyakarta.
Muller, V.(2003). Kompresi Data dan Ilmu Bahasa Sandi. Yogyakarta.
Salomon, D. (2001). Data Compression Method. New York.
Suryadi, M.T. (1996). Pengantar Analisis Algoritma. Gunadarma.
68
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
LAMPIRAN LISTING PROGRAM FUNGSI UTAMA function varargout = utama(varargin) % UTAMA Application M-file for utama.fig % FIG = UTAMA launch utama GUI. % UTAMA('callback_name', ...) invoke the named callback. % Last Modified by GUIDE v2.0 10-Nov-2003 13:56:56 if nargin == 0 % LAUNCH GUI fig = openfig(mfilename,'reuse'); % Generate a structure of handles to pass to callbacks, and store it. handles = guihandles(fig); guidata(fig, handles); if nargout > 0 varargout{1} = fig; end elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK try if (nargout) [varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard else feval(varargin{:}); % FEVAL switchyard end catch disp(lasterr); end end % tombol info program -------------------------------------------------function varargout = pushbutton1_Callback(h, eventdata, handles, varargin) utama=close; bantuan % tombol masuk --------------------------------------------------------function varargout = pushbutton2_Callback(h, eventdata, handles, varargin) utama=close; pilihan % tombol keluar --------------------------------------------------
69
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
function varargout = pushbutton3_Callback(h, eventdata, handles, varargin) close % fungsi letak layar dan tampil logo ----------------------------- function varargout = figure1_CreateFcn(h, eventdata, handles, varargin) % Atur posisi agar di tengah ------------------------------------- satuanLama = get(0, 'Units'); set(0, 'Units', 'Pixels'); set(h, 'Units', 'Pixels'); ukuranLayar = get(0, 'ScreenSize'); posisiFigur = get(h, 'Position'); posisiFigur(1:2) = [(ukuranLayar(3)-posisiFigur(3))/2 (ukuranLayar(4)-posisiFigur(4))/2]; set(h, 'Position', posisiFigur); set(0, 'Units', satuanLama); % Tampilkan logo USD --------------------------------------------- [logo, logoMap] =imread('06.jpg'); set(gca, 'Units', 'Pixels'); p = get(gca, 'Position'); p(1:2) = [200 225]; p(3:4) = [200 200]; set(gca, 'Position', p); logoHnd = imshow(logo); set(gca, 'Units', 'Normal'); FUNGSI OPEN %fungsi untuk membuka berkas citra…………………………………………………………………….. pilihan=close; clc; clear; [fname,pname] =uigetfile('*.jpg','Open Citra',10,30); x=fname; asli=fname; if strcmp(fname,x) kompres(x,asli) else clear; pilihan; end FUNGSI PILIH % pilih.m utama=close; clear; clc; figpilih=figure(... 'Name','ILMU KOMPUTER USD',... 'NumberTitle','off',... 'Resize','off',...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
'Backingstore','off',... 'Units','normalized',... 'Position',[0.3005 0.5 0.4 0.3],... 'Color',[0 0.25 0.5],... 'Visible','on',... 'MenuBar','none'); % keterangan ............................................ uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.07 0.8 0.87 0.12],... 'BackgroundColor',[0 0.25 0.5],... 'foregroundcolor',[1 1 0],... 'HorizontalAlignment','left',... 'FontName','monotype corsiva',... 'FontSize',14,... 'String','Menu Pilihan : '); % tombol Buka ......................................... uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.2 0.53 0.7 0.2],... 'BackgroundColor',[0.754 0.67 0.63],... 'String','Buka File',... 'FontName','monotype corsiva',... 'FontSize',14,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk Membuka File .',... 'Callback','open'); % tombol keluar ......................................... uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.2 0.2 0.7 0.2],... 'BackgroundColor',[0.754 0.67 0.63],... 'String','Keluar',... 'FontName','monotype corsiva',... 'FontSize',14,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk membatalkan pilihan.',... 'Callback','tanya1'); FUNGSI INFO_ASLI function figmampat=infoasli(x) %Judul Figur........................................................... figmampat=figure(... 'Name','Detail Citra Asli',... 'Numbertitle','off',... 'Resize','on',... 'Backingstore','off',...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
'Unit','normalized',... 'Position',[0 0 1 0.95],... 'Color',[0 0.25 0.5],... 'Visible','on',... 'Menubar','none'); %judul............................................................ uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.15 0.9 0.7 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',15,... 'FontWeight','bold',... 'String','Informasi Citra Asli'); in=imfinfo(x); % Nama File.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.2 0.7 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','right',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','Nama File :'); % Nama File.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.5 0.7 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String',in.Filename); % Size.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.2 0.6 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','right',... 'FontName','MS Sans Serif',...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','Ukuran File (byte) :'); % Size.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.5 0.6 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String',in.FileSize); % Format.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.2 0.5 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','right',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','Format :'); % Format.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.5 0.5 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String',in.Format); % Widht.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.2 0.4 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','right',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
'String','Lebar :'); % Widht.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.5 0.4 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String',in.Width); % Tinggi.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.2 0.3 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','right',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','Tinggi :'); % Tinggi.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.5 0.3 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String',in.Height); %Close........................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.45 0.08 0.1 0.06],... 'BackgroundColor',[0 0.25 0.5],... 'String','Close',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk kembali',.... 'Callback','close(gcf)');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
FUNGSI KOMPRESI % kompres.m % Fungsi untuk menampilkan berkas citra yang akan dimampatkan function figmampat=kompres(x,asli) clc; % Judul Figure................................... figmampat=figure(... 'Name','MENU KOMPRES WAVELET',... 'Numbertitle','off',... 'Resize','off',... 'Backingstore','off',... 'Units','normalized',... 'Position',[0.01 0.006 0.98 0.95],... 'Color',[0 0.25 0.5],... 'Visible','on',... 'Menubar','none'); % judul pemampatan citra dengan metode.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.15 0.96 0.7 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',15,... 'FontWeight','bold',... 'String','PEMAMPATAN CITRA DENGAN METODE WAVELET'); % judul citra asli.................................... uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.05 0.86 0.32 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',14,... 'FontWeight','bold',... 'String','CITRA ASLI'); % judul Citra Pemampatan................................ uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.45 0.86 0.62 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',14,... 'FontWeight','bold',... 'String','CITRA PEMAMPATAN');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
% garis1 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.0 0.9 1 0.007],... 'BackgroundColor',[1 1 1]); % garis2 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.0 0.84 1 0.007],... 'BackgroundColor',[1 1 1]); % garis3 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.5 0.01 0.005 0.89],... 'BackgroundColor',[1 1 1]); % garis4 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.0 0.23 1 0.007],... 'BackgroundColor',[1 1 1]); % tampilan citra asli ............................. subplot('position',[0 0.25 0.5 0.55]); imshow(asli); in=imfinfo(asli); fs=in.FileSize; % hasil proses......................................... uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.005 0.18 0.18 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String','Filesize(bytes) :'); % hasil ukuran.............................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.17 0.18 0.25 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String',fs); %vfg uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.25 0.18 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String','Metode Pemampatan'); %untuk proses pemampatan............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.27 0.03 0.15 0.04],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Daubichies',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk memulai proses pemampatan citra.',... 'Callback','prosesdaubichies(x,asli)'); %untuk proses pemampatan............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.27 0.08 0.15 0.04],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Morlet',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk memulai proses pemampatan citra.',... 'Callback','prosesmorlet(x,asli)'); %untuk proses pemampatan............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.27 0.13 0.15 0.04],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Meyer',... 'FontName','MS Sans Serif',... 'FontSize',10,...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk memulai proses pemampatan citra.',... 'Callback','prosesmeyer(x,asli)'); % tombol detail.......................................... uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.05 0.13 0.15 0.04],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Detail',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk informasi citra asli secara menyeluruh.',... 'Callback','infoasli(x)'); % back............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.05 0.08 0.15 0.04],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Back',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk kembali ke menu sebelumnya.',... 'Callback','open'); % batal............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.05 0.03 0.15 0.04],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Batal',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk pembatalan proses.',... 'Callback','batal');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
FUNGSI MEKAR % mekar.m function figmekar=mekar(x,asli,strf,strdt) kompres2db=close; clc; % Judul Figure................................... figmekar=figure(... 'Name','MENU PEMEKARAN BERKAS',... 'Numbertitle','off',... 'Resize','off',... 'Backingstore','off',... 'Units','normalized',... 'Position',[0.01 0.006 0.98 0.95],... 'Color',[0 0.25 0.5],... 'Visible','on',... 'Menubar','none'); % judul .................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.15 0.96 0.7 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',14,... 'FontWeight','bold',... 'String','PEMEKARAN CITRA DENGAN METODE WAVELET'); % judul .................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.05 0.86 0.32 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',14,... 'FontWeight','bold',... 'String','CITRA PEMAMPATAN'); % judul .................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.45 0.86 0.62 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',14,... 'FontWeight','bold',...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
'String','CITRA PEMEKARAN'); % garis1 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.0 0.9 1 0.007],... 'BackgroundColor',[1 1 1]); % garis2 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.0 0.84 1 0.007],... 'BackgroundColor',[1 1 1]); % garis3 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.5 0.01 0.005 0.89],... 'BackgroundColor',[1 1 1]); % garis4 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.0 0.23 1 0.007],... 'BackgroundColor',[1 1 1]); % citra asli ............................................... subplot('position',[0 0.25 0.5 0.55]); imshow('mampat.jpg'); in=imfinfo('mampat.jpg'); fsmpt=in.FileSize; % citra hasil ............................................... subplot('position',[0.5 0.25 0.5 0.55]); imshow('mekar.jpg'); in=imfinfo('mekar.jpg'); fsmkr=in.FileSize; % hasil proses.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.01 0.18 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','HASIL PEMEKARAN :');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
% Sebelum proses.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.01 0.18 0.3 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','SEBELUM PEMEKARAN :'); % sizeasli.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.02 0.12 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String','FileSize (bytes) : '); % isizeasli.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.2 0.12 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String',fsmpt); % hasil proses.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.53 0.18 0.3 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','HASIL PEMEKARAN :');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
% size.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.52 0.12 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String','FileSize (bytes) : '); % isize.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.7 0.12 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String',fsmkr); % Time.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.52 0.06 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String','Waktu(Detik) : '); % itime.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.7 0.06 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String',strdt);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
% tombol Menu Utama.......................................... uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.83 0.08 0.15 0.065],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Kembali',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk kembali ke menu utama untuk mengulangi proses.',... 'Callback','tanya'); %info untuk citra hasil pemekaran............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.83 0.15 0.15 0.065],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Detail',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk informasi detail citra hasil pemekaran.',... 'Callback','infomekar'); %info untuk citra pemampatan............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.33 0.15 0.15 0.065],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Detail',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk informasi detail citra hasil pemampatan.',... 'Callback','infokompres'); FUNGSI KOMPRES_DAUBECHIES function []=prosesdaubichies(x,asli,strf,strdt,hasil) %prosesdb.m % fungsi ysng digunsksn untuk memampatkan citra .............. kompres=close; asli=asli; clc; N=1; % N = vanissing momment untuk psi; [y,m]=imread(x); % untuk menampilkan waitbar + menghitung Flops dan Time .....
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
i = 0; h = waitbar(0,'Tunggu beberapa saat .....'); i = 1:9; i = 1; t=0; i = i+1; waitbar(i/9); t = clock; i = i+1; waitbar(i/9); flops(0) i = i+1; waitbar(i/9); y=dbaux(N); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); close(h); f=flops; dt=etime(clock,t); strf = num2str(f,'%20.0f'); strdt = num2str(dt,'%10.4f'); hasil=y; imwrite(y,'mampat.jpg','jpg'); kompres2db(x,asli,strf,strdt); end; FUNGSI KOMPRES_MORLET function []=prosesmorlet(x,asli,strf,strdt,hasil) %prosesmorlet.m % fungsi ysng digunakan untuk memampatkan citra ......... kompres=close; clc; [y,m]=imread(x); % untuk menampilkan waitbar + menghitung Flops dan Time ...... i = 0; h = waitbar(0,'Tunggu beberapa saat .....'); i = 1:9; i = 1; t=0; i = i+1; waitbar(i/9); t = clock; i = i+1; waitbar(i/9); flops(0) i = i+1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
waitbar(i/9); y =morlet(x); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); close(h); f=flops dt=etime(clock,t); strf = num2str(f,'%20.0f'); strdt = num2str(dt,'%10.4f'); hasil=y; %x1=y1; imwrite(y,'mampat.jpg','jpg'); kompres2morlet(x,asli,strf,strdt); end FUNGSI KOMPRES_MEYER function []=prosesmeyer(x,asli,strf,strdt,hasil) %prosesnstd.m % fungsi ysng digunsksn untuk memampatkan citra ............ kompres=close; asli=asli; clc; [y,m]=imread(x); % untuk menampilkan waitbar + menghitung Flops dan Time ........ i = 0; h = waitbar(0,'Tunggu beberapa saat .....'); i = 1:9; i = 1; t=0; i = i+1; waitbar(i/9); t = clock; i = i+1; waitbar(i/9); flops(0) i = i+1; waitbar(i/9); y=meyeraux(x); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); close(h); f=flops; dt=etime(clock,t); strf = num2str(f,'%20.0f'); strdt = num2str(dt,'%10.4f'); hasil=y; imwrite(y,'mampat.jpg','jpg'); kompres2meyer(x,asli,strf,strdt); end; end; FUNGSI UNTUK MENAMPILKAN HASIL PEMAMPATAN % fungsi untuk menampilkan hasil pemampatan ............. function figmampat=kompres2db(x,asli,strf,strdt) clc; asli=asli; % Judul Figure................................... figmampat=figure(... 'Name','KOMPRESI WAVELET METODE DAUBICHIES',... 'Numbertitle','off',... 'Resize','off',... 'Backingstore','off',... 'Units','normalized',... 'Position',[0.01 0.006 0.98 0.95],... 'Color',[0 0.25 0.5],... 'Visible','on',... 'Menubar','none'); % judul pemampatan citra dengan metode.............. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.15 0.96 0.7 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',14,... 'FontWeight','bold',... 'String','PEMAMPATAN CITRA DENGAN WAVELET DAUBICIES'); % judul citra asli.......................... uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.05 0.86 0.32 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
'FontWeight','bold',... 'String','CITRA ASLI'); % judul Citra Pemampatan............................... uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.45 0.86 0.62 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','CITRA PEMAMPATAN'); % garis1 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.0 0.9 1 0.007],... 'BackgroundColor',[1 1 1]); % garis2 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.0 0.84 1 0.007],... 'BackgroundColor',[1 1 1]); % garis3 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.5 0.01 0.005 0.89],... 'BackgroundColor',[1 1 1]); % garis4 ................................................ uicontrol(... 'Style','frame',... 'Units','normalized',... 'Position',[0.0 0.23 1 0.007],... 'BackgroundColor',[1 1 1]); [x,map]=imread('mampat.jpg'); % Tampilan citra hasil ......................... subplot('position',[0.5 0.25 0.5 0.55]); imshow(x,map); title('mampat.jpg '); in=imfinfo('mampat.jpg'); fshsl=in.FileSize; % Tampilan citra asli ............................. subplot('position',[0 0.25 0.5 0.55]);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
imshow(asli); in=imfinfo(asli); fsasli=in.FileSize; % sizeasli.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.02 0.12 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String','Ukuran File (bytes) : '); % isizeasli.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.23 0.12 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String',fsasli); % Sebelum proses................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.01 0.18 0.3 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','center',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','SEBELUM PEMAMPATAN :'); % hasil proses.................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.53 0.18 0.3 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','MS Sans Serif',... 'ForegroundColor',[1 1 0],... 'FontSize',12,... 'FontWeight','bold',... 'String','HASIL PEMAMPATAN:'); % size..................................................
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.52 0.12 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String','Ukuran File(bytes) :'); % isize.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.7 0.12 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String',fshsl); % Time.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.52 0.06 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String','Waktu(Detik) : '); % itime.................................................. uicontrol(... 'Style','text',... 'Units','normalized',... 'Position',[0.7 0.06 0.2 0.035],... 'BackgroundColor',[0 0.25 0.5],... 'HorizontalAlignment','left',... 'FontName','Times New Roman',... 'ForegroundColor',[1 1 0],... 'FontSize',10,... 'FontWeight','bold',... 'String',strdt); % tombol Pemekaran.......................................... uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.83 0.08 0.15 0.065],...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
'BackgroundColor',[0.9 0.9 0.9],... 'String','Mekarkan',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk proses pemekaran citra.',... 'Callback','proses2db(x,asli)'); %info untuk citra hasil pemampatan................. uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.83 0.15 0.15 0.065],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Detail',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk informasi detail citra hasil pemampatan.',... 'Callback','infokompres'); %info untuk citra asli............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.33 0.15 0.15 0.065],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Detail',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk informasi detail citra asli.',... 'Callback','infoasli(asli)'); %tombol back ............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.33 0.08 0.15 0.065],... 'BackgroundColor',[0.9 0.9 0.9],... 'String','Back',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini untuk kembali ke menu sebelumnya.',... 'Callback','back'); %batal lagi............................ uicontrol(... 'Style','push',... 'Units','normalized',... 'Position',[0.83 0.01 0.15 0.065],...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
'BackgroundColor',[0.9 0.9 0.9],... 'String','Batal',... 'FontName','MS Sans Serif',... 'FontSize',10,... 'FontWeight','bold',... 'TooltipString','Tekan tombol ini pembatalan proses pemekaran.',... 'Callback','batal1'); FUNGSI DAUBECHIES function w = dbaux(N,sumw); % Check arguments. if errargn(mfilename,nargin,[1:2],nargout,[0:1]), error('*'); end if nargin < 2 | sumw==0 , sumw = 1; end [P,R] = wlagrang(N); w = real(poly([R(abs(R)<1);-ones(N,1)])); w = sumw*(w/sum(w)); FUNGSI MORLET function y=morlet(a) p = [0 (-1307/36) 0 (389/12) 0 -13 0 1]; y = polyval(p,[0 (-1307/36) 0 (389/12) 0 -13 0 1]); FUNGSI MEYER function y = meyeraux(x); % Check arguments. if errargn(mfilename,nargin,[1],nargout,[0:1]), error('*'), end % Auxiliary function values. p = [-20 70 -84 35 0 0 0 0]; y = polyval(p,[-20 70 -84 35 0 0 0 0]); FUNGSI PEMEKARAN_MEYER function [hasil]=proses2meyer(x,asli,strf,strdt) clc; asli=asli; [x,m]=imread(asli); kompres2meyer=close; [a,m]=imread('mampat.jpg'); y=a; i = 0; h = waitbar(0,'Tunggu beberapa saat .....'); i = 1:9; i = 1; t=0; i = i+1; waitbar(i/9);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
t = clock; i = i+1; waitbar(i/9); flops(0) i = i+1; waitbar(i/9); jum_baris=size(y,1); jum_kolom=size(y,2); m=log(jum_baris)/log(2); n=log(jum_kolom)/log(2); citraB=zeros(1,2); %B=Baris citraK=zeros(2,1); %K=Kolom for Kolom = 1:n g =2; while g<=m for i=1:g/2 citraK(2*i-1)=(y(i,Kolom)+y(g/2+i,Kolom))/sqrt(2); citraK(2*i)=(y(i,Kolom)-y(g/2+i,Kolom))/sqrt(2); end; g =g*2; end; y(1:2,Kolom) = citraK(1:2)*sqrt(2); end; for Baris =1:m g=2; while g <= n for i =1:g/2 citraB(2*i-1)=(y(Baris,i)+y(Baris,g/2+i))/sqrt(2); citraB(2*i)=(y(Baris,i)-y(Baris,g/2+i))/sqrt(2); end; g =g*2; end; y(Baris,1:2)=citraB(1:2)*sqrt(2); end; i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); close(h); % hitung flops dan waktu ............................... f=flops; dt=etime(clock,t); strf = num2str(f,'%20.0f'); strdt = num2str(dt,'%10.4f'); imwrite(x,'mekar.jpg','jpg');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
mekar(x,asli,strf,strdt); FUNGSI PEMEKARAN_DAUBECHIES function [hasil]=proses2daubechies(x,asli,strf,strdt) clc; asli=asli; [x,m]=imread(asli); kompres2daubechies=close; [a,m]=imread('mampat.jpg'); y=a; i = 0; h = waitbar(0,'Tunggu beberapa saat .....'); i = 1:9; i = 1; t=0; i = i+1; waitbar(i/9); t = clock; i = i+1; waitbar(i/9); flops(0) i = i+1; waitbar(i/9); jum_baris=size(y,1); jum_kolom=size(y,2); m=log(jum_baris)/log(2); n=log(jum_kolom)/log(2); citraB=zeros(1,2); %B=Baris citraK=zeros(2,1); %K=Kolom for Kolom = 1:n g =2; while g<=m for i=1:g/2 citraK(2*i-1)=(y(i,Kolom)+y(g/2+i,Kolom))/sqrt(2); citraK(2*i)=(y(i,Kolom)-y(g/2+i,Kolom))/sqrt(2); end; g =g*2; end; y(1:2,Kolom) = citraK(1:2)*sqrt(2); end; for Baris =1:m g=2; while g <= n for i =1:g/2 citraB(2*i-1)=(y(Baris,i)+y(Baris,g/2+i))/sqrt(2); citraB(2*i)=(y(Baris,i)-y(Baris,g/2+i))/sqrt(2); end; g =g*2; end; y(Baris,1:2)=citraB(1:2)*sqrt(2); end; i = i+1; waitbar(i/9); i = i+1; waitbar(i/9);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); close(h); % hitung flops dan waktu ............................... f=flops; dt=etime(clock,t); strf = num2str(f,'%20.0f'); strdt = num2str(dt,'%10.4f'); imwrite(x,'mekar.jpg','jpg'); mekar(x,asli,strf,strdt); FUNGSI PEMEKARAN_MORLET function [hasil]=proses2morlet(x,asli,strf,strdt) clc; asli=asli; [x,m]=imread(asli); kompres2morlet=close; [a,m]=imread('mampat.jpg'); y=a; i = 0; h = waitbar(0,'Tunggu beberapa saat .....'); i = 1:9; i = 1; t=0; i = i+1; waitbar(i/9); t = clock; i = i+1; waitbar(i/9); flops(0) i = i+1; waitbar(i/9); jum_baris=size(y,1); jum_kolom=size(y,2); m=log(jum_baris)/log(2); n=log(jum_kolom)/log(2); citraB=zeros(1,2); %B=Baris citraK=zeros(2,1); %K=Kolom for Kolom = 1:n g =2; while g<=m for i=1:g/2 citraK(2*i-1)=(y(i,Kolom)+y(g/2+i,Kolom))/sqrt(2); citraK(2*i)=(y(i,Kolom)-y(g/2+i,Kolom))/sqrt(2); end; g =g*2; end; y(1:2,Kolom) = citraK(1:2)*sqrt(2);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
end; for Baris =1:m g=2; while g <= n for i =1:g/2 citraB(2*i-1)=(y(Baris,i)+y(Baris,g/2+i))/sqrt(2); citraB(2*i)=(y(Baris,i)-y(Baris,g/2+i))/sqrt(2); end; g =g*2; end; y(Baris,1:2)=citraB(1:2)*sqrt(2); end; i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); i = i+1; waitbar(i/9); close(h); % hitung flops dan waktu ............................... f=flops; dt=etime(clock,t); strf = num2str(f,'%20.0f'); strdt = num2str(dt,'%10.4f'); imwrite(x,'mekar.jpg','jpg'); mekar(x,asli,strf,strdt); FUNGSI BATAL % batal.m clc; tombol=questdlg('Anda ingin kembali ke menu sebelumnya ?',... 'Perhatian !','Ya','Tidak','Tidak'); if strcmp(tombol,'Ya') clear; kompresnstd=close; open; else end FUNGSI TANYA % tanya1.m clc;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
tombol=questdlg('Apakah Anda ingin keluar atau kembali?',... 'Perhatian !','Keluar','Kembali','Kembali'); if strcmp(tombol,'Keluar') clear; pilihanstd=close; utama; else clear; pilihanstd=close; pilihan; end FUNGSI BATAL % batal.m clc; tombol=questdlg('Apakah Anda yakin membatalkan proses ?',... 'Perhatian !','Ya','Tidak','Tidak'); if strcmp(tombol,'Ya') clear; kompres2nstd1=close; pilihan; else end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
Contoh Output Hasil Running Program Daubechies
NO Gambar Asli Gambar Pemampatan
Gambar Pemekaran
1
0Beach.Jpg
mekar.Jpg
2
0cool.Jpg
mekar.Jpg 3
06.Jpg
Mekar.Jpg 4
02.Jpg
Mekar.jpg
5
0einst.Jpg
Mekar.Jpg
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
Contoh Output Hasil Running Program Meyer
NO Gambar Asli Gambar Pemampatan
Gambar Pemekaran
1
0Beach.Jpg
mekar.Jpg
2
0cool.Jpg
mekar.Jpg 3
06.Jpg
Mekar.Jpg 4
02.Jpg
Mekar.jpg
5
0einst.Jpg
Mekar.Jpg
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
Contoh Output Hasil Running Program Morlet
NO Gambar Asli Gambar Pemampatan Gambar Pemekaran 1
0Beach.Jpg
mekar.Jpg
2
0cool.Jpg
mekar.Jpg 3
06.Jpg
Mekar.Jpg 4
02.Jpg
Mekar.jpg
5
0einst.Jpg
Mekar.Jpg
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI