• Tidak ada hasil yang ditemukan

Perbandingan Kualitas Citra Hasil Kompresi Metode Run Length Encoding Dengan Transformasi Wavelet Daubechies Pada Citra Digital

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perbandingan Kualitas Citra Hasil Kompresi Metode Run Length Encoding Dengan Transformasi Wavelet Daubechies Pada Citra Digital"

Copied!
104
0
0

Teks penuh

(1)

DAUBECHIES PADA CITRA DIGITAL

SKRIPSI

TEGUH ARIF FEBIANTO

101401063

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(2)

PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET

DAUBECHIES PADA CITRA DIGITAL

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

TEGUH ARIF FEBIANTO 101401063

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PERBANDINGAN KUALITAS CITRA HASIL

KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET

DAUBECHIES PADA CITRA DIGITAL

Kategori : SKRIPSI

Nama : TEGUH ARIF FEBIANTO

Nomor Induk Mahasiswa : 101401063

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Ade Candra, ST, M.Kom Drs. Agus Salim Harahap, M.Si NIP.19790904 200912 1 002 NIP.19540828 198103 1 004

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET

DAUBECHIES PADA CITRA DIGITAL

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, April 2015

(5)

PENGHARGAAN

Puji syukur kehadirat Allah SWT yang telah memberikan Rahmat dan Hidayah-Nya kepada penulis sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Dalam penulisan ini tidak lupa penulis mengucapkan terima kasih kepada pihak-pihak yang telah banyak memberi motivasi hingga pada akhirnya penulis mampu menyelesaikan tugas akhir ini dengan baik. Oleh karena itu penulis mengucapkan banyak terima kasih kepada:

1. Bapak Prof. Dr. Syahril Pasaribu, DTMH, MSc(CTM), SpA(K) sebagai Rektor Universitas Sumatera

Utara (USU).

2. Bapak Dr. Muhammad Zarlis sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi

Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

5. Bapak Drs. Agus Salim Harahap, M.Si selaku Dosen Pembimbing 1. 6. Bapak Ade Candra, ST, M.Kom selaku Dosen Pembimbing 2.

7. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM dan Bapak Herriyance ST, M.Kom selaku Dosen Pembanding.

8. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar dan pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

9. Ayahanda Dwi Suseno, Ibunda Yayat Sugiati, serta abang-abang saya Gustian Yudha Utama dan Rangga Adhi Anggara yang selalu memberikan kasih sayang, doa dan dukungannya kepada penulis.

(6)

11. Rekan-rekan kuliah, Ananda Putri Ritonga, Saddam Husein Siregar, Vito Erpindo, Angga Wiranda, Azhar Fadillah, Singgih Tri Mukti, Janwandi Ruliansen Sinaga, Fajrul Falah, Agus Prabowo, Danny Rizky dan seluruh mahasiswa S1 Ilmu Komputer stambuk 2010, serta Ahmad Ridwan, Alif Judha, Anggie Ermando, Eric Evan, Nanda Fadillah, dan Rikcy Almeda yang selalu memberikan semangat dan dorongan kepada penulis selama menyelesaikan skripsi ini.

12. Abang dan kakak stambuk 2007, 2008, 2009 yang telah bersedia membantu dan berbagi ilmu yang bermanfaat, serta seluruh adik-adik stambuk yang telah memberikan semangat kepada penulis dalam penyelesaian skripsi ini.

Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Akhirnya, semoga skripsi ini bermanfaat bagi pribadi, keluarga, masyarakat, organisasi dan negara.

Medan, April 2015

(7)

ABSTRAK

Pada penyimpanan citra digital, ukuran citra akan mempengaruhi penggunaan memori. Semakin besar ukuran citra maka semakin besar memori yang dibutuhkan. Kompresi citra merupakan sebuah metode yang dilakukan untuk mereduksi ukuran citra digital. Metode Run Length Encoding dan metode Transformasi Wavelet Daubechies merupakan metode yang dapat digunakan dalam proses kompresi citra digital. Pada penelitian ini, metode Run Length Encoding dan metode Transformasi Wavelet Daubechies akan dibandingkan dalam menentukan kualitas citra hasil kompresi berdasarkan proses running time, rasio kompresi dan data redudansi. Citra digital yang digunakan yaitu citra grayscale dengan format Bitmap (*.BMP). Citra hasil kompresi dapat dikembalikan ke ukuran semula dengan proses dekompresi citra. Metode Run Length Encoding memiliki running time proses yang lebih baik dibandingkan dengan Transformasi Wavelet Daubechies, berdasarkan percobaan terhadap lima citra berbeda dengan ukuran yang sama dimana kecepatan rata-rata untuk metode Run Length Encoding adalah 1,03125 detik sedangkan kecepatan rata-rata untuk metode Transformasi Wavelet Daubechies adalah 2,571876 detik. Metode Run Length Encoding juga lebih baik berdasarkan rasio kompresi dan data redudansi, jika citra yang digunakan tidak memiliki banyak perbedaan warna piksel. Sedangkan, jika citra yang digunakan memiliki banyak perbedaan warna, maka metode Transformasi Wavelet Daubechies lebih baik berdasarkan rasio kompresi dan data redudansi.

Kata kunci : Bitmap (*.BMP), Kompresi, Dekompresi, Run Length Encoding,

Transformasi Wavelet Daubechies

(8)

COMPARISON OF IMAGE QUALITY COMPRESSION RESULT BETWEEN RUN LENGTH ENCODING AND

DAUBECHIES WAVELET TRANSFORM

ABSTRACT

On digital image storage, the size of image will influence the use of memory. The bigger the size of an image then the bigger memory will be needed. Image Compression is the method that reduce the size of digital image. Run Length Encoding and Daubechies Wavelet Transform are methods that can be used in the process of digital image compression. In this research, Run Length Encoding method and Daubechies wavelet transformation method will be compared to decide the quality of image compression result based on running time process, compression ratio and redundancy data. Digital image used is grayscale image with Bitmap format (*.BMP). Image compression result can be returned to the original size with image decompression process. Run Length Encoding has better running time process than Daubechies Wavelet Transform, based on experiments of five different images with the same size where the average speed of Run Length Encoding method is 1,03125 second while the average speed Daubechies Wavelet Transform is 2,571876 second. Run Length Encoding method is also better based on compression ratio and redundancy data, if the image that is used does not have many pixel color differences. Meanwhile, if the image has many pixel color differences, then Daubechies Wavelet Transform method is better based on compression ratio and redundancy data.

Keywords : Bitmap (*.BMP), Compression, Decompression, Run Length Encoding,

(9)

DAFTAR ISI

Daftar Gambar xii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori

2.1 Pengertian Citra 6

2.2 Format File Citra 8

2.2.1 Format Vektor 8

2.2.2 Format Bitmap 8

2.3 Kompresi 9

2.3.1 Teknik Kompresi Citra 9

2.3.2 Kriteria Kompresi Citra 10

2.4 Dekompresi 11

2.5 Run Length Encoding (RLE) 11

2.6 Transformasi Wavelet Daubechies 14

2.6.1 Wavelet 14

2.6.1 Wavelet Daubechies 14

(10)

3.1 Analisis Sistem 17

3.1.1 Analisis Masalah 17

3.1.2 Analisis Kebutuhan Sistem 18

3.1.2.1 Kebutuhan Fungsional Sistem 18

3.1.2.2 Kebutuhan Non Fungsional Sistem 19

3.1.3 Pemodelan Sistem 20

3.1.3.1 Use Case Diagram 20

3.1.3.1.1 Use Case Run Length Encoding 22 3.1.3.1.2 Use Case Transformasi Wavelet Daubechies 23

3.1.3.1.3 Use Case Kompresi RLE 24

3.1.3.1.4 Use Case Dekompresi RLE 25

3.1.3.1.5 Use Case Kompresi Transformasi Wavelet Daubechies 26 3.1.3.1.6 Use Case Dekompresi Transformasi Wavelet

Daubechies 27

3.1.3.2 Activity Diagram 28

3.1.3.2.1 Activity Diagram Run Length Encoding 28 3.1.3.2.2 Activity Diagram Transformasi Wavelet Daubechies 29

3.1.3.3 Sequence Diagram 30

3.1.3.4 Flowchart 31

3.1.3.4.1 Flowchart Sistem 31

3.1.3.4.2 Flowchart Kompresi Run Lengh Encoding 32 3.1.3.4.3 Flowchart Dekompresi Run Lengh Encoding 33 3.1.3.4.4 Flowchart Kompresi Transformasi Wavelet Daubechies 34 3.1.3.4.5 Flowchart Dekompresi Transformasi Wavelet

Daubechies 35

3.2 Perancangan Sistem 36

3.2.1 Pseudocode Program 36

3.2.1.1 Pseudocode Kompresi Run Length Encoding 36 3.2.1.2 Pseudocode Dekompresi Run Length Encoding 37 3.2.1.3 Pseudocode Kompresi dengan Transformasi Wavelet

Daubechies 38

3.2.1.3.1 Pseudocode Transformasi Wavelet Daubechies 38 3.2.1.3.2 Pseudocode Kuantisasi 39 3.2.1.3.3 Pseudocode Encoding 39

3.2.1.4 Pseudocode Dekompresi dengan Transformasi Wavelet

Daubechies 40

3.2.1.4.1 Pseudocode Inverse Transformasi Wavelet Daubechies 40 3.2.1.4.2 Pseudocode Dekuantisasi 41 3.2.1.4.3 Pseudocode Decoding 41 3.2.2 Perancangan Antarmuka Pengguna (User Interface) 42

3.2.2.1 Perancangan Antarmuka Home 42

(11)

Bab 4 Implementasi dan Pengujian Sistem

4.1 Implementasi Sistem 47

4.1.1 Implementasi Algoritma 47

4.1.1.1 Implementasi Algoritma Kompresi Run Length Encoding 47 4.1.1.2 Implementasi Algoritma Dekompresi Run Length Encoding 49 4.1.1.3 Implementasi Algoritma Kompresi Transformasi Wavelet

Daubechies 50

4.1.1.4 Implementasi Algoritma Dekompresi Transformasi Wavelet

Daubechies 53

4.2 Pengujian Sistem 57

4.2.1 Pengujian 57

4.2.1.1 Pengujian Proses Run Length Encoding 57 4.2.1.2 Pengujian Proses Transformasi Wavelet Daubechies 61

4.2.2 Hasil Pengujian 64

4.2.2.1 Hasil Pengujian Berdasarkan Ukuran Citra yang Berbeda 64 4.2.2.2 Hasil Pengujian Berdasarkan Citra yang Berbeda 66 4.2.2.3 Hasil Pengujian Berdasarkan Spesifikasi Komputer

yang Berbeda 69

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 71

5.2 Saran 72

Daftar Pustaka 73

Lampiran A : Listing Program A-1

(12)

DAFTAR TABEL

Halaman

Tabel 2.1 Contoh Citra Belum Terkompres 13

Tabel 3.1 Spesifikasi Use Case Run Length Encoding 22 Tabel 3.2 Spesifikasi Use Case Transformasi Wavelet Daubechies 23

Tabel 3.3 Spesifikasi Use Case Kompresi RLE 24

Tabel 3.4 Spesifikasi Use Case Dekompresi RLE 25

Tabel 3.5 Spesifikasi Use Case Kompresi Transformasi Wavelet Daubechies 26 Tabel 3.6 Spesifikasi Use Case Dekompresi Transformasi Wavelet Daubechies 27

Tabel 4.1 Matriks Citra 8x8 48

Tabel 4.2 Proses Kompresi Run Length Encoding 48

Tabel 4.3 Matriks Hasil Dekompresi 50

Tabel 4.4 (a) Matriks Transformasi Wavelet Daubechies (b) Matriks Citra

Awal 51

Tabel 4.5 Matriks Hasil Transformasi 51

Tabel 4.6 (a) Matriks Hasil Transformasi (b) Matriks Kuantisasi

(c) Matriks Hasil Kuantisasi 52

Tabel 4.7 Matriks Hasil Pembulatan Nilai Kuantisasi 52 Tabel 4.8 Proses Encoding Citra Hasil Kuantisasi 53

Tabel 4.9 Matriks Hasil Decoding 54

Tabel 4.10 (a) Matriks Hasil Decoding (b) Matriks Kuantisasi

(c) Matriks Hasil Dekuantisasi 55

Tabel 4.11 (a) Matriks Hasil Dekuantisasi (b) Matriks Inverse Transformasi

Wavelet Daubechies (c) Matriks Hasil Inverse Transformasi 56 Tabel 4.12 Matriks Hasil Dekompresi Transformasi Wavelet Daubechies 56 Tabel 4.13 Hasil Pengujian Proses Kompresi Berdasarkan Ukuran Citra yang

Berbeda 64

Tabel 4.14 Hasil Pengujian Proses Dekompresi Berdasarkan Ukuran Citra

yang Berbeda 66

Tabel 4.15 Hasil Pengujian Proses Kompresi Berdasarkan Citra yang Berbeda 67 Tabel 4.16 Hasil Pengujian Proses Dekompresi Berdasarkan Citra yang

Berbeda 68

Tabel 4.17 Spesifikasi Komputer 69

Tabel 4.18 Hasil Pengujian Proses Kompresi Berdasarkan Komputer yang

Berbeda 69

Tabel 4.19 Hasil Pengujian Proses Dekompresi Berdasarkan Komputer yang

Berbeda 70

(13)

Halaman

Gambar 2.1 Ilustrasi digitalisasi citra 7

Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem 18 Gambar 3.2 Use Case Diagram Perbandingan Metode Kompresi Run Length

Encoding dengan Transformasi Wavelet Daubechies 21 Gambar 3.3 Activity Diagram Run Length Encoding 28 Gambar 3.3 Activity Diagram Transformasi Wavelet Daubechies 29

Gambar 3.4 Sequence Diagram Sistem 30

Gambar 3.5 Flowchart Sistem 31

Gambar 3.6 Flowchart Kompresi Run Length Encoding 32 Gambar 3.7 Flowchart Dekompresi Run Length Encoding 33 Gambar 3.8 Flowchart Kompresi Transformasi Wavelet Daubechies 34 Gambar 3.9 Flowchart Dekompresi Transformasi Wavelet Daubechies 35 Gambar 3.10 Pseudocode Kompresi Run Length Encoding 36 Gambar 3.11 Pseudocode Dekompresi Run Length Encoding 37 Gambar 3.12 Pseudocode Transformasi Wavelet Daubechies 38

Gambar 3.13 Pseudocode Kuantisasi 39

Gambar 3.14 Pseudocode Encoding 39

Gambar 3.15 Pseudocode Inverse Transformasi Wavelet Daubechies 40

Gambar 3.16 Pseudocode Dekuantisasi 41

Gambar 3.17 Pseudocode Decoding 41

Gambar 3.18 Perancangan Antarmuka Home 42

Gambar 3.19 Perancangan Antarmuka Menu Perbandingan 43

Gambar 3.20 Perancangan Antarmuka Menu Help 46

Gambar 4.1 Matriks Hasil Pengkodean 49

Gambar 4.2 Matriks Hasil Kompresi 49

Gambar 4.3 Matriks Hasil Encoding 53

Gambar 4.4 Matriks Hasil Kompresi 53

Gambar 4.5 Kotak Dialog Browse File Citra BMP 57

Gambar 4.6 Proses Input File 58

Gambar 4.7 Kotak Dialog Save As Citra Hasil Kompresi Run

Length Encoding 58

Gambar 4.8 Hasil Proses Kompresi Run Length Encoding 59 Gambar 4.9 Kotak Dialog Browse File Hasil Kompresi Run Length Encoding 59 Gambar 4.10 Kotak Dialog Save As Citra Hasil Dekompresi Run

Length Encoding 60

(14)

Transformasi Wavelet Daubechies 61 Gambar 4.13 Hasil Proses Kompresi Transformasi Wavelet

Daubechies 62

Gambar 4.14 Kotak Dialog Browse File Hasil Kompresi Transformasi Wavelet

Daubechies 62

Gambar 4.15 Kotak Dialog Save As Citra Hasil Dekompresi

Transformasi Wavelet Daubechies 63

Gambar 4.16 Hasil Proses Dekompresi Transformasi Wavelet

Daubechies 63

Gambar 4.17 Citra Awal (.bmp) 64

Gambar 4.18 (a) satu.bmp (b) dua.bmp (c) tiga.bmp (d) empat.bmp

(15)

ABSTRAK

Pada penyimpanan citra digital, ukuran citra akan mempengaruhi penggunaan memori. Semakin besar ukuran citra maka semakin besar memori yang dibutuhkan. Kompresi citra merupakan sebuah metode yang dilakukan untuk mereduksi ukuran citra digital. Metode Run Length Encoding dan metode Transformasi Wavelet Daubechies merupakan metode yang dapat digunakan dalam proses kompresi citra digital. Pada penelitian ini, metode Run Length Encoding dan metode Transformasi Wavelet Daubechies akan dibandingkan dalam menentukan kualitas citra hasil kompresi berdasarkan proses running time, rasio kompresi dan data redudansi. Citra digital yang digunakan yaitu citra grayscale dengan format Bitmap (*.BMP). Citra hasil kompresi dapat dikembalikan ke ukuran semula dengan proses dekompresi citra. Metode Run Length Encoding memiliki running time proses yang lebih baik dibandingkan dengan Transformasi Wavelet Daubechies, berdasarkan percobaan terhadap lima citra berbeda dengan ukuran yang sama dimana kecepatan rata-rata untuk metode Run Length Encoding adalah 1,03125 detik sedangkan kecepatan rata-rata untuk metode Transformasi Wavelet Daubechies adalah 2,571876 detik. Metode Run Length Encoding juga lebih baik berdasarkan rasio kompresi dan data redudansi, jika citra yang digunakan tidak memiliki banyak perbedaan warna piksel. Sedangkan, jika citra yang digunakan memiliki banyak perbedaan warna, maka metode Transformasi Wavelet Daubechies lebih baik berdasarkan rasio kompresi dan data redudansi.

Kata kunci : Bitmap (*.BMP), Kompresi, Dekompresi, Run Length Encoding,

Transformasi Wavelet Daubechies

(16)

COMPARISON OF IMAGE QUALITY COMPRESSION RESULT BETWEEN RUN LENGTH ENCODING AND

DAUBECHIES WAVELET TRANSFORM

ABSTRACT

On digital image storage, the size of image will influence the use of memory. The bigger the size of an image then the bigger memory will be needed. Image Compression is the method that reduce the size of digital image. Run Length Encoding and Daubechies Wavelet Transform are methods that can be used in the process of digital image compression. In this research, Run Length Encoding method and Daubechies wavelet transformation method will be compared to decide the quality of image compression result based on running time process, compression ratio and redundancy data. Digital image used is grayscale image with Bitmap format (*.BMP). Image compression result can be returned to the original size with image decompression process. Run Length Encoding has better running time process than Daubechies Wavelet Transform, based on experiments of five different images with the same size where the average speed of Run Length Encoding method is 1,03125 second while the average speed Daubechies Wavelet Transform is 2,571876 second. Run Length Encoding method is also better based on compression ratio and redundancy data, if the image that is used does not have many pixel color differences. Meanwhile, if the image has many pixel color differences, then Daubechies Wavelet Transform method is better based on compression ratio and redundancy data.

Keywords : Bitmap (*.BMP), Compression, Decompression, Run Length Encoding,

(17)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Citra (image) adalah kombinasi antara titik, garis, bidang, dan warna untuk menciptakan suatu imitasi dari suatu obyek, biasanya obyek fisik atau manusia. Citra dapat berwujud gambar (picture) dua dimensi, seperti lukisan, foto dan berwujud tiga dimensi, seperti patung.

Citra yang dapat kita sentuh dan kita lihat secara nyata dan real ukuran, besarnya, atau dapat kita pegang merupakan citra analog. Ada jenis citra yang lain adalah citra digital yang akan lebih mudah diolah dalam sistem komputerisasi. Citra digital merupakan citra yang direpresentasikan dalam bit-bit atau piksel-piksel (Napitupulu, 2012).

Citra sebagai salah satu komponen multimedia memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Namun seringkali representasi citra digital membutuhkan memori yang besar. Semakin besar ukuran citra tentu semakin besar pula memori yang dibutuhkannya. Pada sisi lain, kebanyakan citra mengandung duplikasi data.

Duplikasi data pada citra dapat berarti dua hal. Pertama, besar kemungkinan suatu pixel dengan pixel tetangganya memiliki initensitas yang sama, sehingga penyimpanan setiap pixel memboroskan tempat. Kedua, citra banyak mengandung bagian yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulang kali karena mubazir atau redundan. Masalah tersebut dapat diatasi dengan kompresi citra.

(18)

Pemampatan atau kompresi citra merupakan suatu metode yang sangat bermanfaat bagi perkembangan citra digital. Dengan kompresi, data citra digital yang ukurannya besar, dapat dikompres sehingga mempunyai ukuran yang lebih kecil (Napitupulu, 2012). Prinsip umum yang digunakan pada proses pemampatan citra adalah mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan untuk merepresentasikan citra menjadi lebih sedikit daripada representasi citra semula.

Berdasarkan jumlah informasi yang dikurangi terdapat dua jenis kompresi, yaitu lossless dan lossy. Pada skema kompresi lossless, citra hasil rekonstruksi memiliki karakteristik dan kualitas yang identik dengan citra aslinya. Sementara pada lossy, kualitas citra hasil rekonstruksinya menurun karena terdaat beberapa bagian informasi yang dihilangkan (Putra, 2010). Contoh metode kompresi lossy adalah teknik kompresi dengan kuantisasi, CS&Q, JPEG, MPEG dan Wavelet. Contoh metode kompresi lossless adalah kompresi Huffman, LZW, dan RLE.

Kompresi citra yang dibahas adalah kompresi citra dengan metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies. Alasan membandingkan kedua metode tersebut adalah untuk mengetahui metode mana yang lebih baik diantara keduanya berdasarkan parameter yang digunakan untuk mengetahui kualitas citra hasil kompresi metode tersebut.

(19)

1.2Rumusan Masalah

Rumusan masalah pada penelitian ini adalah bagaimana membandingkan kualitas citra hasil kompresi menggunakan metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital yang dapat dijadikan sebagai acuan oleh pengguna.

1.3Batasan Masalah

Batasan masalah meliputi :

1. File citra yang dikompresi merupakan citra grayscale dengan format BMP.

2. Parameter pembanding kualitas citra diukur dengan proses running time, rasio kompresi dan data redudansi.

3. Transformasi Wavelet yang digunakan adalah wavelet Daubechies D1. 4. Bahasa pemrograman yang digunakan MATLAB.

1.4Tujuan Penelitian

Tujuan dari penelitian ini adalah membandingkan kualitas kompresi citra digital dari metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital yang dapat dijadikan sebagai acuan oleh pengguna.

1.5Manfaat Penelitian

(20)

1.6Metode Penelitian

Penelitian ini menerapkan beberapa metode penelitian sebagai berikut: 1. Studi Literatur

Pada tahap ini penulisan dimulai dengan studi kepustakaan yaitu proses pengumpulan bahan-bahan referensi baik dari buku, artikel, jurnal, makalah maupun melalui media internet mengenai pengolahan citra digital, citra file bitmap, kompresi, dekompresi, algoritma kompresi Run Length Encoding (RLE) dan transformasi Wavelet Daubechies serta beberapa referensi lainnya untuk menunjang pencapaian tujuan skripsi.

2. Analisis dan Perancangan Sistem

Pada tahap ini penulis menganalisis proses kerja kompresi file citra menggunakan metode kompresi Run Length Encoding (RLE) dan transformasi Wavelet Daubechies, dan selanjutnya dilakukan perancangan sistem yang meliputi perancangan proses kerja sistem, perancangan interface, serta algoritma pemograman.

3. Implementasi Sistem

Pada tahap ini, penulis mengimplementasikan hasil perbandingan kualitas citra hasil kompresi file citra ke dalam bahasa pemrograman.

4. Pengujian Sistem

Pada tahap ini dilakukan pengujian terhadap aplikasi yang dibangun sesuai dengan tujuan yang ingin dicapai, yaitu melakukan perbandingan kualitas citra hasil kompresi dengan menggunakan metode kompresi Run Length Encoding (RLE) dan transformasi Wavelet Daubechies.

5. Dokumentasi Sistem

(21)

1.7Sistematika Penulisan

Sistematika dalam penulisan skripsi ini adalah sebagai berikut:

BAB 1 PENDAHULUAN

Bab pendahuluan ini menjelaskan latar belakang masalah dari penelitian yang akan dilakukan beserta batasan masalah, tujuan dan manfaat penelitian, metode penelitian dan sistematika penulisan skripsi ini.

BAB 2 TINJAUAN PUSTAKA

Bab ini menjelaskan tentang beberapa teori-teori dasar yang mendukung penelitian seperti citra, format file citra, kompresi citra, dekompresi citra, algoritma Run Length Encoding (RLE), dan algoritma Transformasi Wavelet Daubechies.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelaskan mengenai analisis proses kerja kompresi file citra menggunakan metode kompresi Run Length Encoding (RLE) dan transformasi Wavelet Daubechies, dan selanjutnya dilakukan perancangan sistem yang meliputi perancangan proses kerja sistem, perancangan interface, serta algoritma pemograman. Model Unified Modelling Language (UML) yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram dan perancangan tampilan antarmuka sistem.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini membahas mengenai hasil pengujian dari perbandingan kualitas citra hasil kompresi metode Run Length Encoding (RLE) dengan transformasi Wavelet Daubechies.

BAB 5 KESIMPULAN DAN SARAN

(22)

BAB 2

TINJAUAN PUSTAKA

2.1Pengertian Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan (Sutoyo et al. 2009).

Citra tidak sama dengan teks yang hanya memberikan informasi secara jelas dengan kata-kata yang dipaparkan. Citra memberikan informasi dengan memberikan gambaran visual dan terkadang informasi yang diberikan dapat memacu imajinasi dari orang yang melihat citra tersebut.

Citra merupakan keluaran dari suatu sistem perekaman data yang bersifat optik, analog ataupun digital. Perekaman data citra dapat dibagi menjadi dua yaitu: 1. Citra Analog

Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto sinar-X, foto yang tercetak di kertas foto, lukisan , pemandangan alam, hasil CT scan, gambar-gambar yang terekam pada pita kaset, dan lain sebaginya (Sutoyo et al. 2009).

2. Citra Digital

(23)

Citra digital adalah citra yang terdiri dari sinyal-sinyal frekuensi elektromagnetis yang sudah di-sampling sehingga dapat ditentukan ukuran titik gambar tersebut yang pada umumnya disebut piksel (Santi, 2010).

Secara umum, pengolahan citra digital menunjuk pada pemrosesan gambar dua dimensi menggunakan komputer. Dalam konteks yang lebih luas, pengolahan citra digital mengacu pada pemrosesan setiap data dua dimensi. Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu (Handriyati, 2013).

Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x,y, dan nilai amplitudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital (Handriyati, 2013). Gambar 2.1 menunjukkan posisi koordinat citra digital.

Gambar 2.1 Ilustrasi Digitalisasi Citra (piksel pada koordinat x = 10, y =

(24)

2.2Format File Citra

2.2.1 Format Vektor

Citra vektor dihasilkan dari perhitungan matematis dan tidak berdasarkan piksel, yaitu data tersimpan dalam bentuk vektor posisi, di mana yang tersimpan hanya informasi vektor posisi dengan bentuk sebuah fungsi. Pada citra vektor, mengubah warna lebih sulit dilakukan, tetapi membentuk objek dengan cara mengubah nilai lebih mudah. Oleh karena itu, bila citra diperbesar atau diperkecil, kualitas citra relatif tetap baik dan tidak berubah. Citra vektor biasanya dibuat menggunakan aplikasi-aplikasi citra vektor, seperti CorelDRAW, Adobe Ilustrator, Macromedia Freehand, Autocad, dan lain-lain (Sutoyo et al. 2009).

2.2.2 Format Bitmap

Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital (Sutoyo et al. 2009).

(25)

2.3Kompresi

Pemampatan atau kompresi citra merupakan suatu metode yang sangat bermanfaat bagi perkembangan citra digital. Dengan kompresi, data citra digital yang ukurannya besar, dapat dikompres sehingga mempunyai ukuran yang lebih kecil (Napitupulu, 2012).

Kompresi data adalah sebuah metode yang dilakukan untuk mereduksi ukuran data atau file. Dengan melakukan kompresi atau pemadatan data, maka ukuran file atau data akan lebih kecil sehingga dapat mengurangi waktu transmisi saat data dikirim, dan tidak banyak menghabiskan ruang media penyimpanan (Santi, 2010).

Terdapat beberapa manfaat dari kompresi, yaitu :

1. Waktu pengiriman data pada saluran komunikasi data lebih singkat. Contohnya pengiriman gambar dari fax, video conferencing, download dari internet, pengiriman data medis, pegiriman dari satelit, dll.

2. Membutuhkan ruang memori dalam storage yang lebih sedikit dibandingkan dengan citra yang tidak dikompresi.

2.3.1 Teknik Kompresi Citra

Terdapat dua teknik dalam melakukan kompresi citra. 1. Lossy Compression

Lossy compression adalah kompresi citra di mana hasil dekompresi dari citra yang terkompresi tidak sama dengan citra aslinya karena ada informasi yang hilang, tetapi masih bisa ditolerir oleh persepsi mata. Metode ini menghasilkan rasio kompresi yang lebih tinggi daripada metode lossless. Contohnya adalah color reduction, chroma subsampling, dan transform coding seperti Fourier dan Wavelet, dan lain-lain.

2. Lossless Compression

(26)

2.3.2 Kriteria Kompresi Citra

Kriteria yang digunakan dalam pemampatan citra adalah : 1. Waktu kompresi dan waktu dekompresi

Algoritma pemampatan yang baik adalah algoritma yang membutuhkan waktu kompresi dan dekompresi paling sedikit.

2. Kebutuhan Memori

Algoritma pemampatan yang baik akan menghasilkan memori yang dibutuhkan untuk menyimpan hasil kompresi citra yang berkurang secara berarti. Semakin besar persentase pemampatan, semakin kecil kebutuhan memori yang diperlukan, sehingga kualitas citra semakin berkurang. Dan sebaliknya, semakin kecil persentase citra yang dimampatkan, semakin bagus hasil pemampatan tersebut. 3. Format Keluaran

Format citra hasil pemampatan yang baik adalah yang cocok dengan kebutuhan pengiriman dan penyimpanan data.

4. Data Redundansi

Data redundansi merupakan data berlebihan yang terdapat pada citra. Bila n1 dan n2 menyatakan jumlah satuan (unit) informasi dalam himpunan data yang mewakili data yang sama, maka data berlebihan relative (relative data redundancy) RD ddari himpunan data pertama dinyatakan sebagai berikut (Putra, 2010) :

Dengan CR merupakan rasio kompresi yang dinyatakan berikut (Putra, 2010) :

(27)

5. Rasio Kompresi Citra

Rasio kompresi citra adalah ukuran persentase citra yang telah berhasil dimampatkan. Rumus dalam menghitung rasio kompresi citra adalah sebagai berikut (Sutoyo et al. 2009) :

[

]

2.4Dekompresi

Sebuah data yang sudah dikompres tentunya harus dapat dikembalikan lagi ke bentuk aslinya, prinsip ini dinamakan dekompresi. Untuk dapat merubah data yang terkompres diperlukan cara yang berbeda seperti pada waktu proses kompresi dilaksanakan. Jadi pada saat dekompresi terdapat catatan header yang berupa byte-byte yang berisi catatan mengenai isi dari file tersebut (Santi, 2010).

Catatan header akan menuliskan kembali mengenai isi dari file tersebut, jadi isi dari file sudah tertulis oleh catatan header sehingga hanya tinggal menuliskan kembali pada saat proses dekompres. Proses dekompres dikatakan sempurna apabila file kembali kebentuk aslinya (Santi, 2010).

2.5Run Length Encoding (RLE)

Run Length Encoding (RLE) adalah algoritma kompresi yang sangat mendasar. RLE mempunyai hak paten bebas, yang berarti seseorang dapat menggunakan algoritma kompresi RLE dengan bebas. Metode kompresi ini sangat sederhana, yaitu hanya memindahkan pengulangan byte yang sama berturut-turut (secara terus menerus). Data masukan akan dibaca dan sederetan karakter yang sesuai dengan deretan karakter yang sudah ditentukan sebelumnya disubstitusi dengan kode tertentu (Santi, 2010).

(28)

Metode RLE memberikan hasil terbaiknya apabila data yang terkompresi tersusun atas rangkaian-rangkaian panjang bit dengan nilai yang sama. Metode ini mengganti rangkaian bit semacam itu dengan suatu kode yang mengindikasikan nilai apa yang berulang dan berapa kali perulangan itu terjadi. Sebagai contoh, lebih sedikit ruang yang dibutuhkan untuk menginformasikan bahwa suatu pola bit tersusun atas 253 bit 1, diikuti 118 bit 0, diikuti 87 bit 1 daripada yang dibutuhkan untuk menguraikan satu persatu seluruh 458 bit tersebut (Seftiani, 2012).

Algoritma RLE menggunakan pendekatan ruang. Algoritma ini cocok digunakan untuk memampatkan citra yang memiliki kelompok-kelompok piksel berderajat keabuan yang sama. Metode ini dilakukan dengan menyatakan seluruh baris citra menjadi sebuah baris run, lalu menghitung run-length untuk setiap derajat keabuan yang berurutan (Sutoyo et al. 2009).

Adapun proses algoritma kompresi Run Length Encoding adalah sebagai berikut :

1. Dua nilai piksel awal pada citra dibaca.

2. Periksa apakah nilai piksel pertama sama dengan nilai piksel kedua.

3. Jika nilai piksel pertama berbeda dengan nilai piksel kedua, maka akan dituliskan nilai piksel pertama diikuti dengan nilai 1, sedangkan nilai piksel kedua akan dijadikan piksel pertama, kemudian piksel selanjutnya menjadi piksel kedua dan melakukan perulangan seperti pada langkah 2.

4. Jika nilai piksel pertama sama dengan nilai piksel kedua, maka akan diperiksa nilai piksel selanjutnya, sampai ditemukan nilai piksel yang berbeda dengan nilai piksel pertama.

5. Nilai piksel pertama akan dituliskan dan diikuti dengan jumlah piksel yang memiliki nilai yang sama dengan piksel pertama.

(29)

Contoh, misalnya sebuah citra grayscale 3 bit berukuran 10 x 10 piksel akan dilakukan pengkodean dengan algoritma RLE, maka (Sutoyo et al. 2009) :

Tabel 2.1 Contoh Citra Belum Terkompres

Hasil Kompresi :

Semuanya = 52 piksel

Ukuran citra sebelum dikompres = 10 x 10 x 3 bit = 300 bit. Ukuran citra setelah dikompres = 52 x 3 bit = 156 bit. Rasio kompresi =

, artinya 48% dari citra semula telah dimampatkan.

Proses dekompresi Run Length Encoding adalah sebagai berikut : 1. Dua nilai piksel awal dibaca.

2. Nilai piksel pertama dituliskan sebanyak nilai piksel kedua.

3. Dua nilai piksel selanjutnya dibaca, kemudian lakukan perulangan pada langkah 2 dan 3 hingga semua piksel pada citra diperiksa.

(30)

2.6Transformasi Wavelet Daubechies

2.6.1 Wavelet

Wavelet adalah suatu metode pengolahan sinyal yang mana sebuah sinyal dipecah menjadi beberapa bagian yang merujuk kepada frekuensi yang berbeda-beda. Wavelet digunakan untuk menyusun, menganalisis dan mensintesis data numerik hasil pengukuran/pengamatan suatu fenomena fisis tertentu (Saragih, 2008).

Pada transformasi wavelet, sinyal digital dikalkulasikan untuk menentukan domain frekuensi dan waktu secara bersamaan. Transformasi ini dapat digunakan pada pengenalan objek, smoothing, dan kompresi.

Transformasi wavelet memiliki dua jenis dalam pengembangannya yaitu Continous Wavelet Transform (CWT) dan Discrete Wavelet Transform (DWT). Semua fungsi yang digunakan dalam transformasi CWT dan DWT diturunkan dari mother wavelet melalui translasi/pergeseran dan penskalaan/kompresi. Mother wavelet merupakan fungsi dasar yang digunakan dalam transformasi wavelet. Karena mother wavelet menghasilkan semua fungsi wavelet yang digunakan dalam transformasi melalui translasi dan penskalaan, maka mother wavelet juga akan menentukan karakteristik dari transformasi wavelet yang dihasilkan (Saragih, 2008).

2.6.2Wavelet Daubechies

Wavelet diartikan sebagai small wave atau gelombang singkat. Gelombang singkat tersebut merupakan fungsi basis yang terletak pada waktu berbeda. (Putra, 2010)

Sistem ini menggunakan Transformasi Wavelet Daubechies D1 (Haar). Adapun koefisien transformasi untuk Daubechies D1 adalah sebagai berikut (Putra, 2010) :

( ) ( ⁄ ) ( ) ( ⁄ )

Keterangan : h0 = low pass filter

(31)

Matriks H0 semua elemennya bernilai 0, kecuali h0(0) = 1/2 dan h0(1) = 1/2. Demikian juga untuk H1, semua elemennya juga bernilai 0, kecuali h1(0) = 1/2 dan dan h1(1) = -1/2. (Putra, 2010).

Matriks low pass Daubechies D1 H0(n) adalah (Putra, 2010) :

[

Sedangkan high pass Daubechies D1 H1(n) adalah (Putra, 2010) :

Algoritma kompresi citra dapat dijelaskan sebagai berikut (Putra, 2010) :

1. Transformasi linier digunakan untuk mengubah ruang warna secara linier menjadi warna dasar. Karena citra yang dikompresi merupakan citra dengan nilai ruang warna dasar R = G = B, maka warna dasar akan sama dengan citra awal (grayscale), dengan nilai piksel berkisar pada 0-255. Bila input citra adalah citra berwarna (nilai R, G, dan B berbeda), maka terlebih dahulu dilakukan proses transformasi ke citra grayscale.

2. Pada citra grayscale kemudian dilakukan proses transformasi gelombang yang akan menghasilkan empat komponen matriks, yaitu komponen detail (CD1), komponen horizontal (CH1), komponen vertikal (CV1), dan komponen aproksimasi(CA1). Komponen aproksimasi disimpan ke media penyimpanan agar komponen ini tidak dapat berubah.

3. Pada komponen-komponen hasil transformasi (selain komponen aproksimasi) dilakukan proses kuantisasi. Tujuan proses kuantisasi ini adalah untuk mengurangi jumlah variasi (redudansi) data pada komponen-komponen hasil transformasi selain komponen aproksimasi.

(32)

Algoritma dekompresi citra dapat dijelaskan sebagai berikut (Putra, 2010) : 1. Membaca data atau file terkompresi gelombang singkat.

2. Melakukan proses decoding dan dilanjutkan proses kuantisasi balik (de-quantization) untuk mengembalikan data yang sebelumnya dikuantisasi saat proses kompresi. Proses ini akan memperoleh kembali komponen-komponen detail, horizontal, dan vertikal.

3. Menggabungkan seluruh komponen hasil tahap 2 dengan komponen aproksimasi.

4. Melakukan transformasi gelombang singkat balik (invers wavelet transformation) terhadap komponen-komponen hasil tahap 3.

(33)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan tahapan yang bertujuan untuk memberikan pemahaman terhadap kinerja sistem dengan mengidentifikasi masalah-masalah yang muncul sehingga mengetahui kebutuhan-kebutuhan yang diharapkan dalam pembuatan sistem, agar sistem yang dirancang dapat berjalan sesuai dengan yang diharapkan.

Adapun sistem yang akan dirancang adalah sistem yang dapat membandingkan hasil metode kompresi Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital.

3.1.1 Analisis Masalah

Masalah dalam penelitian ini adalah bagaimana menghasilkan citra dengan ukuran yang lebih kecil, sehingga dapat menghemat penggunaan kapasitas memori atau media penyimpanan. Dalam sistem ini terdapat dua metode kompresi yang akan dibandingkan, yaitu metode Run Length Encoding (RLE) dan Transformasi Wavelet Daubechies. Kemudian akan dinilai metode mana yang lebih baik dalam proses kompresi dan dekompresi citra.

(34)

Material

Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem

3.1.2 Analisis Kebutuhan Sistem

Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis kebutuhan non-fungsional sistem.

3.1.2.1 Kebutuhan Fungsional Sistem

Kebutuhan fungsional yang harus dimiliki oleh sistem untuk membandingkan citra hasil kompresi metode Run Legth Encoding (RLE) dengan Transformasi Wavelet Daubechies adalah:

1. Sistem membaca masukan berupa citra grayscale dengan format Bitmap (*.BMP). 2. Sistem dapat melakukan pemampatan citra dengan metode Run Length Encoding

dan Transformasi Wavelet Daubechies.

3. Transformasi Wavelet yang digunakan adalah wavelet Daubechies D1.

4. Sistem dapat mengembalikan citra yang telah dikompresi (dekompresi) ke citra semula.

5. Sistem dapat menghitung nilai data redudansi, rasio kompresi, dan running time untuk dapat membandingkan metode kompresi mana yang lebih baik.

(35)

3.1.2.2 Kebutuhan Non Fungsional Sistem

Dalam memdukung suatu sistem, maka sistem tersebut harus memiliki fungsi sebagai berikut :

1. Performa

Sistem yang dirancang harus menunjukkan citra hasil kompresi maupun dekmpresi dari metode-metode yang digunakan serta menampilkan nilai nilai parameter yag digunakan agar metode-metode tersebut dapat dibandingkan. 2. Mudah dipelajari dan digunakan

Sistem yang akan dirancang harus memiliki tampilan yang tidak rumit, sehingga sistem dapat dengan mudah digunakan dan dipahami oleh user..

3. Hemat biaya

Sistem yang dirancang tidak memerlukan perangkat tambahan yang dapat menambah biaya user.

4. Dokumentasi

Sistem yang dirancang harus dapat menyimpan citra hasil proses kompresi maupun dekompresi citra digital.

5. Manajemen kualitas

Sistem yang dirancang harus memiliki parameter untuk menilai kualitas citra, yaitu dengan menggunakan running time, rasio kompresi, dan data redudansi. 6. Kontrol

(36)

3.1.3 Pemodelan Sistem

Pemodelan sistem bertujuan untuk mendapatkan gambaran tentang interaksi antara objek-objek dengan sistem. Pemodelan sistem juga menujukkan hal-hal apa saja yang dilakukan sebuah sistem, hingga sistem tersebut dapat digunakan sesuai dengan apa yang diharapkan.

Dalam skripsi ini akan digunakan UML (Unifield Modelling Language) untuk merancang sistem yang akan membandingkan metode kompresi Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital. Adapun model UML yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram.

3.1.3.1 Use Case Diagram

Use case diagram merupakan sebuah diagram yang dapat menggambarkan interaksi yang terjadi antara user dengan sistem serta dapat menjelaskan apa saja fungsi-fungsi yang akan dikerjakan oleh sistem. Use case diagram sistem yang akan dibangun dapat dilihat pada Gambar 3.2. Untuk mengidentifikasikan aktor dan use case yang terlibat pada sistem, kita perlu menjawab beberapa pertanyaan berikut ini:

1. Siapa yang menggunakan sistem? Jawaban: Pengguna.

2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem? Jawaban: Pengguna.

3. Apa saja yang dapat dilakukan pengguna pada sistem?

(37)

Pengguna

Run Length Encoding Dekompresi Run

Length Encoding Kompresi Run

Length Encoding

Kompresi Transformasi Wavelet Daubechies

Dekompresi

Transformasi Wavelet Daubechies

Perbandingan Metode Kompresi

Run

Length Encoding

dengan Transformasi

Wavelet Daubechies

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Transformasi Wavelet Daubechies

Gambar 3.2 UseCaseDiagram Perbandingan Metode Kompresi Run Length

(38)

3.1.3.1.1 Use Case Run Length Encoding

Tabel 3.1 merupakan spesifikasi use case Run Length Encoding

Tabel 3.1 Spesifikasi Use CaseRun Length Encoding

Name Run Length Encoding

Actors Pengguna

Trigger Pengguna mengakses tombol ‘Kompres’ pada panel Run Length Encoding.

Preconditions Pengguna memilih citra yang akan dikompresi. Post Conditions Sistem menampilkan gambar hasil dekompresi.

Success Scenario

1. Pengguna mengakses tombol ‘Kompres’ pada panel Run Length Encoding.

2. Sistem menyimpan citra hasil kompresi RLE, kemudian menampilkan citra hasil kompresi, detail citra, running time, rasio kompresi, dan data redudansi.

3. Pengguna mengakses tombol ‘Dekompresi’ pada panel Run Length Encoding.

4. Pengguna memilih file *.rle yang akan didekompresi. 5. Sistem menyimpan citra hasil dekompresi RLE,

kemudian menampilkan citra hasil dekompresi, detail citra, dan running time.

(39)

-3.1.3.1.2 Use Case Transformasi Wavelet Daubechies

Tabel 3.2 merupakan spesifikasi use case Transformasi Wavelet Daubechies

Tabel 3.2 Spesifikasi Use Case Transformasi Wavelet Daubechies

Name Transformasi Wavelet Daubechies

Actors Pengguna

Trigger Pengguna mengakses tombol ‘Kompres’ pada panel Transformasi Wavelet Daubechies.

Preconditions Pengguna memilih citra yang akan dikompresi. Post Conditions Sistem menampilkan gambar hasil dekompresi.

Success Scenario

1. Pengguna mengakses tombol ‘Kompres’ pada panel Transformasi Wavelet Daubechies.

2. Sistem menyimpan citra hasil kompresi Transformasi Wavelet Daubechies, kemudian menampilkan citra hasil kompresi, detail citra, running time, rasio kompresi, dan data redudansi.

3. Pengguna mengakses tombol ‘Dekompresi’ pada panel Transformasi Wavelet Daubechies.

4. Pengguna memilih file *.db yang akan didekompresi. 5. Sistem menyimpan citra hasil dekompresi Transformasi

Wavelet Daubechies, kemudian menampilkan citra hasil dekompresi, detail citra, dan running time.

(40)

-3.1.3.1.3 Use Case Kompresi RLE

Tabel 3.3 merupakan spesifikasi use case Kompresi RLE.

Tabel 3.3 Spesifikasi Use Case Kompresi RLE

Name Kompresi RLE

Actors Pengguna

Trigger Pengguna memilih tombol ‘Kompres’ pada panel Run Length Encoding.

Preconditions Sistem telah menampilkan citra awal.

Post Conditions

Sistem menyimpan dan menampilkan citra hasil kompresi RLE, serta menampilkan detail citra, running time, rasio kompresi, dan data redudansinya.

Success Scenario

1. Pengguna memilih tombol ‘Kompres’ pada panel Run Length Encoding.

2. Sistem membaca dua nilai piksel awal pada citra.

3. Sistem memeriksa apakah nilai piksel pertama sama dengan nilai piksel kedua.

4. Jika nilai piksel pertama berbeda dengan nilai piksel kedua, sistem akan menuliskan nilai piksel pertama diikuti dengan nilai 1, sedangkan nilai piksel kedua akan dijadikan piksel pertama, kemudian piksel selanjutnya menjadi piksel kedua dan melakukan perulangan seperti pada langkah 3.

5. Jika nilai piksel pertama sama dengan nilai piksel kedua, maka sistem akan memeriksa nilai piksel selanjutnya, sampai ditemukan nilai piksel yang berbeda dengan nilai piksel pertama.

6. Sistem akan menuliskan nilai piksel pertama dan diikuti dengan jumlah piksel yang memiliki nilai yang sama dengan piksel pertama. 7. Sistem akan membaca dua nilai piksel selanjutnya dan melakukan

perulangan pada langkah 3 sampai dengan langkah 6, hingga semua piksel pada citra diperiksa.

8. Sistem menyimpan dan menampilkan citra hasil kompresi RLE, serta menampilkan detail citra, running time, rasio kompresi, dan data redudansinya.

(41)

-3.1.3.1.4 Use Case Dekompresi RLE

Tabel 3.4 merupakan spesifikasi use case Dekompresi RLE.

Tabel 3.4 Spesifikasi Use Case Dekompresi RLE

Name Dekompresi RLE

Actors Pengguna

Trigger Pengguna memilih tombol ‘Dekompres’ pada panel Run Length Encoding.

Preconditions Sistem telah menampilkan citra hasil kompresi RLE.

Post Conditions

Sistem menyimpan dan menampilkan citra hasil dekompresi RLE, serta menampilkan detail citra, dan running time.

Success Scenario

1. Pengguna memilih tombol ‘Dekompres’ pada panel Run Length Encoding.

2. Pengguna memilih file hasil kompresi RLE yang akan didekompresi.

3. Sistem membaca dua nilai piksel awal.

4. Sistem menuliskan nilai piksel pertama sebanyak nilai piksel kedua.

5. Sistem membaca dua nilai piksel selanjutnya, kemudian melakukan perulangan pada langkah 3 dan 4 hingga semua piksel pada citra diperiksa.

6. Sistem menyimpan dan menampilkan citra hasil dekompresi RLE, serta menampilkan detail citra, dan running time.

(42)

-3.1.3.1.5 Use Case Kompresi Transformasi Wavelet Daubechies

Tabel 3.5 merupakan spesifikasi use case Kompresi Transformasi Wavelet Daubechies.

Tabel 3.5 Use Case Kompresi Transformasi Wavelet Daubechies

Name Kompresi Transformasi Wavelet Daubechies Actors Pengguna

Trigger Pengguna memilih tombol ‘Kompres’ pada panel Transformasi Wavelet Daubechies.

Preconditions Sistem telah menampilkan citra hasil dekompresi Transformasi Wavelet Daubechies

Post Conditions

Sistem menyimpan dan menampilkan citra hasil kompresi Transformasi Wavelet Daubechies, serta menampilkan detail citra, running time, rasio kompresi, dan data redudansinya.

Success Scenario

1. Pengguna memilih tombol ‘Kompres’ pada panelTransformasi Wavelet Daubechies

2. Sistem melakukan transformasi menggunakan Wavelet Daubechies terhadap citra

masukkan.

3. Sistem melakukan proses kuantisasi terhadap citra yabng sudah ditransformasi.

4. Sistem membaca dua nilai piksel awal pada citra terkuantisasi.

5. Sistem memeriksa apakah nilai piksel pertama sama dengan nilai piksel kedua.

6. Jika nilai piksel pertama berbeda dengan nilai piksel kedua, sistem akan menuliskan

nilai piksel pertama diikuti dengan nilai 1, sedangkan nilai piksel kedua akan

dijadikan piksel pertama, kemudian piksel selanjutnya menjadi piksel kedua dan

melakukan perulangan seperti pada langkah 3.

7. Jika nilai piksel pertama sama dengan nilai piksel kedua, maka sistem akan

memeriksa nilai piksel selanjutnya, sampai ditemukan nilai piksel yang berbeda

dengan nilai piksel pertama.

8. Sistem akan menuliskan nilai piksel pertama dan diikuti dengan jumlah piksel yang

memiliki nilai yang sama dengan piksel pertama.

9. Sistem akan membaca dua nilai piksel selanjutnya dan melakukan perulangan pada

langkah 3 sampai dengan langkah 6, hingga semua piksel pada citra diperiksa.

10.Sistem menyimpan dan menampilkan citra hasil kompresi Transformasi Wavelet

Daubechies, serta menampilkan detail citra, running time, rasio kompresi, dan data

redudansinya.

(43)

-3.1.3.1.6 Use Case Dekompresi Transformasi Wavelet Daubechies

Tabel 3.6 merupakan spesifikasi use case Dekompresi Transformasi Wavelet Daubechies.

Tabel 3.6 Spesifikasi Use Case Dekompresi Transformasi Wavelet Daubechies

Name Dekompresi Transformasi Wavelet Daubechies

Actors Pengguna

Trigger Pengguna memilih tombol ‘Dekompres’ pada panel Transformasi Wavelet Daubechies

Preconditions Sistem telah menampilkan citra hasil kompresi .

Post Conditions

Sistem menyimpan dan menampilkan citra hasil dekompresi Transformasi Wavelet Daubechies , serta menampilkan detail citra, dan running time.

Success Scenario

1. Pengguna memilih tombol ‘Dekompres’ pada panel Transformasi Wavelet Daubechies.

2. Pengguna memilih file hasil kompresi Transformasi Wavelet Daubechies yang akan didekompresi.

3. Sistem membaca dua nilai piksel awal.

4. Sistem menuliskan nilai piksel pertama sebanyak nilai piksel kedua.

5. Sistem membaca dua nilai piksel selanjutnya, kemudian melakukan perulangan pada langkah 3 dan 4 hingga semua piksel pada citra diperiksa.

6. Sistem melakukan proses dekuantisasi terhadap citra yang telah di-decoding.

7. Sistem melaukan proses invers trasformasi terhadap citra yang telah didekuantisasi.

8. Sistem menyimpan dan menampilkan citra hasil dekompresi Transformasi Wavelet Daubechies, serta menampilkan detail citra, dan running time.

(44)

-3.1.3.2 Activity Diagram

Berikut akan dijelaskan bagaimana proses ‘Perbandingan’ yang bertujuan untuk membandingkan citra hasil kompresi metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital dengan menggunakan activity diagram.

3.1.3.2.1 Activity Diagram Run Length Encoding

Gambar 3.3 menunjukan activity diagram run length encoding.

SISTEM USER

Pilih tombol 'Kompresi RLE' Membaca dua nilai piksel awal

Memeriksa apakah nilai piksel pertama dan kedua sama

Pilih tombol 'Dekompresi RLE'

Tulis nilai pertama, diikuti nilai 1 Memeriksa nilai piksel selanjutnya sampai didapatkan nilai piksel berbeda

Menuliskan nilai piksel pertama dan jumlah piksel yang sama dengan piksel pertama

Menjadikan piksel kedua menjadi piksel pertama dan piksel selanjutnya menjadi piksel kedua

ya tidak

Memeriksa apakah piksel kedua merupakan piksel terakhir

Menulis nilai piksel pertama

Menulis jumlah piksel

Menampilkan citra hasil kompresi Transformasi Wavelet Daubechies dan detail citra

Menampilkan rasio kompresi, data redudansi dan running time proses kompresi

ya

tidak

Membaca dua nilai piksel awal

Menuliskan nilai piksel pertama sebanyak nilai piksel kedua

Memeriksa apakah piksel kedua merupakan piksel terakhir

ya

tidak

Menampilkan citra hasil kompresi Transformasi Wavelet Daubechies dan detail citra

Menampilkan running time proses kompresi

(45)

3.1.3.2.2 Activity Diagram Transformasi Wavelet Daubechies

Gambar 3.4 menunjukan activity diagram transformasi wavelet daubechies.

SISTEM USER

Pilih tombol 'Kompresi RLE'

Membaca dua nilai piksel awal

Memeriksa apakah nilai piksel pertama dan kedua sama

Pilih tombol 'Dekompresi RLE'

Tulis nilai pertama, diikuti nilai 1 Memeriksa nilai piksel selanjutnya sampai didapatkan nilai piksel berbeda

Menuliskan nilai piksel pertama dan jumlah piksel yang sama dengan piksel pertama

Menjadikan piksel kedua menjadi piksel pertama dan piksel selanjutnya menjadi piksel kedua

ya tidak

Memeriksa apakah piksel kedua merupakan piksel terakhir

Menulis nilai piksel pertama

Menulis jumlah piksel

Menampilkan citra hasil kompresi Transformasi Wavelet Daubechies dan detail citra

Menampilkan rasio kompresi, data redudansi dan running time proses kompresi

ya

tidak

Membaca dua nilai piksel awal

Menuliskan nilai piksel pertama sebanyak nilai piksel kedua

Memeriksa apakah piksel kedua merupakan piksel terakhir

ya

tidak

Menampilkan citra hasil kompresi Transformasi Wavelet Daubechies dan detail citra

Menampilkan running time proses kompresi Melakukan transformasi wavelet daubechies terhadap citra

Melakukan kuantisasi terhadap citra

Melakukan dekuantisasi terhadap citra

Melakukan inverse transformasi wavelet daubechies terhadap citra

(46)

3.1.3.3 Sequence Diagram

Berikut akan dijelaskan tentang proses perbandingan kualitas citra hasil kompresi metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies dengan menggunakan sequence diagram. Gambar 3.4 menunjukan proses kerja sistem pada sequence diagram.

Pengguna

Kompresi RLE

Kompresi RLE

Dekompresi RLE Dekompresi RLE

Kompresi Transformasi Wavelet Daubechies

Dekompresi Transformasi Wavelet Daubechies Kompresi Transformasi Wavelet Daubechies

Dekompresi Transformasi Wavelet Daubechies Menyimpan citra, menampilkan citra, detail citra

Menampilkan running time, ratio kompresi, dan data redudansi

Menyimpan citra, menampilkan citra, detail citra

Menampilkan running time

Menyimpan citra, menampilkan citra, detail citra Menampilkan running time, ratio kompresi, dan data redudansi

Menyimpan citra, menampilkan citra, detail citra Menampilkan running time

Gambar 3.5 Sequence Diagram Sistem

(47)

3.1.3.4 Flowchart

Flowchart (diagram alir) adalah bagan yang menunjukkan urutan dan hubungan antar proses berserta pernyataannya. Bagan ini dibentuk dengan simbol-simbol yang dihubungan, yang artinya setiap simbol memiliki arti-arti tertentu.

3.1.3.4.1 Flowchart Sistem

Flowchart sistem dapat dilihat pada Gambar 3.6 sebagai berikut.

Mulai

(48)

3.1.3.4.2 Flowchart Kompresi Run Length Encoding

(49)

3.1.3.4.3 Flowchart Dekompresi Run Length Encoding

Flowchart Dekompresi Run Length Encoding dapat dilihat pada Gambar 3.8 sebagai berikut.

(50)

3.1.3.4.4 Flowchart Kompresi Transformasi Wavelet Daubechies

Flowchart Kompresi Transformasi Wavelet Daubechies dapat dilihat pada Gambar 3.9 sebagai berikut.

(51)

3.1.3.4.5 Flowchart Dekompresi Transformasi Wavelet Daubechies

Flowchart Dekompresi Transformasi Wavelet Daubechies dapat dilihat pada Gambar 3.10 sebagai berikut.

(52)

3.2 Perancangan Sistem

Pada tahapan ini akan dijelaskan tentang pseudocode dari program, perancangan perangkat lunak, hingga perancangan antamuka untuk pengguna (user interface).

3.2.1 Pseudocode Program

Pseudocode atau kode palsu merupakan penulisan ringkas dari algoritma pemrograman komputer dari suatu bahasa pemrograman, yang ditujukan untuk dibaca oleh manusia. Tujuannya adalah untuk memudahkan manusia dalam pemahaman dibandingkan menggunakan bahasa pemrograman yang umumnya digunakan. Adapun pseudocode yang akan dijelaskan dalam skripsi ini adalah pseudocode dari kompresi maupun dekompresi metode Run Length Encoding (RLE) dan kompresi maupun dekompresi Transformasi Wavelet Daubechies.

3.2.1.1Pseudocode Kompresi Run Length Encoding

Adapun pseudocode dari kompresi Run Length Encoding terlihat pada Gambar 3.11 sebagai berikut.

Gambar 3.11 Pseudocode Kompresi Run Length Encoding

citra  citraawal

citrahasil(1:2)  size(citra)

(53)

3.2.1.2Pseudocode Dekompresi Run Length Encoding

Adapun pseudocode dari dekompresi Run Length Encoding terlihat pada Gambar 3.12 sebagai berikut.

Gambar 3.12 Pseudocode Dekompresi Run Length Encoding

citra  citraawal

citrahasil  citra(1:2)

a  1 b  0

for i=2:length(citra)/2 for j=1:citra(2*i)

b  b+1

citrahasil(a,b)=citra(2*i-1) if (b==citra(2))

a  a+1

b  0

(54)

3.2.1.3Pseudocode Kompresi dengan Transformasi Wavelet Daubechies

3.2.1.3.1 Pseudocode Transformasi Wavelet Daubechies

Adapun pseudocode dari Transformasi Wavelet Daubechies terlihat pada Gambar 3.13 sebagai berikut.

Gambar 3.13 Pseudocode Transformasi Wavelet Daubechies

citra  citra_awal

[a,b]  size(citra)

count  0

citra_hasil  citra

level  1

while count < level,

k  1 j  1 index  1

while(k <= b), for j = 1:a,

citra_hasil1(j,index)  (citra(j,k)+citra(j,k+1))/2

citra_hasil1(j,(b/2)+(index))  (citra(j,k)-citra(j,k+1))/2

end

citra_hasil(index,k)(citra_hasil1(j,k)+citra_hasil1(j+1,k))/2

citra_hasil((a/2)+(index),k)

(citra_hasil1(j,k)-citra_hasil1(j+1,k))/2

(55)

3.2.1.3.2 Pseudocode Kuantisasi

Adapun pseudocode dari kuantisasi terlihat pada Gambar 3.14 sebagai berikut.

Gambar 3.14 Pseudocode Kuantisasi

3.2.1.3.3 Pseudocode Encoding

Adapun pseudocode dari encoding terlihat pada Gambar 3.15 sebagai berikut.

Gambar 3.15 Pseudocode Encoding

citra  citraawal

citrahasil(1:2)  size(citra)

(56)

3.2.1.4Pseudocode Dekompresi dengan Transformasi Wavelet Daubechies

3.2.1.4.1 Pseudocode Inverse Transformasi Wavelet Daubechies

Adapun pseudocode dari Inverse Transformasi Wavelet Daubechies terlihat pada Gambar 3.16 sebagai berikut.

Gambar 3.16 Pseudocode Inverse Transformasi Wavelet Daubechies

citra  citra_awal

while count < level

index  1 j  1 k  1

while j < a, for k = 1:b,

citra_hasil1(j,k)  (citra(index,k) + citra(index+a/2,k))

citra_hasil1(j+1,k)  (citra(index,k) - citra(index+a/2,k))

end

(57)

3.2.1.4.2 Pseudocode Dekuantisasi

Adapun pseudocode dari dekuantisasi terlihat pada Gambar 3.17 sebagai berikut.

Gambar 3.17 Pseudocode Dekuantisasi

3.2.1.4.3 Pseudocode Decoding

Adapun pseudocode dari decoding terlihat pada Gambar 3.18 sebagai berikut.

Gambar 3.18 Pseudocode Decoding

(58)

3.2.2 Perancangan Antarmuka Pengguna (User Interface)

Perancangan antarmuka (interface) merupakan proses untuk merancang perantara yang menghubungkan antara pengguna dengan sistem. Pada tahap ini akan dilakukan perancangan antarmuka sistem yang akan digunakan dimana sistem dirancang dalam 3 buah form, yaitu Home, Perbandingan, dan Help.

3.2.2.1Perancangan AntarmukaHome

Home merupakan halaman yang pertama kali muncul saat sistem dijalankan. Tampilan antarmuka Home memilki 3 menu yaitu ‘Perbandingan’, ‘Help’, dan ‘Exit. Tampilan antarmuka menu Home dapat dilihat pada Gambar 3.19.

PERBANDINGAN

Gambar 3.19 Perancangan Antarmuka Home

Keterangan:

1. Label untuk keterangan judul skripsi. 2. Label untuk keterangan nama dan nim. 3. Axes sebagai tempat untuk logo.

4. Button untuk membuka menu Perbandingan. 5. Button untuk membuka menu Help.

(59)

3.2.2.2Perancangan AntarmukaMenu Perbandingan

Perbandingan merupakan form yang digunakan untuk proses perbandingan kualitas citra hasil kompresi metode Run Length Encoding dengan Transformasi Wavelet Daubechies pada citra digital. Tampilan antarmuka menu Perbandingan dapat dilihat pada Gambar 3.20.

EXIT RUN LENGTH ENCODING VS TRANSFORMASI WAVELET DAUBECHIES

Citra Awal

Gambar 3.20 Perancangan Antarmuka Menu Perbandingan

Keterangan:

1. Button untuk kembali pada menu Home. 2. Button untuk keluar dari sistem.

3. Axes sebagai tempat citra awal.

4. Axes sebagai tempat citra hasil kompresi menggunakan metode Run Length Encoding.

5. Axes sebagai tempat citra hasil dekompresi menggunakan metode Run Length Encoding.

6. Axes sebagai tempat citra hasil kompresi menggunakan metode Transformasi Wavelet Daubechies.

7. Axes sebagai tempat citra hasil dekompresi menggunakan metode Transformasi Wavelet Daubechies.

8. Button untuk mengambil citra awal.

(60)

10.Button untuk melakukan dekompresi citra menggunakan metode Run Length Encoding.

11.Button untuk melakukan kompresi citra menggunakan metode Transformasi Wavelet Daubechies.

12.Button untuk melakukan dekompresi citra menggunakan metode Transformasi Wavelet Daubechies.

13.Label keterangan nama file citra awal. 14.Label keterangan ukuran citra awal.

15.Edit text untuk menampilkan nama file dari citra awal. 16.Edit text untuk menampilkan ukuran dari citra awal. 17.Button untuk me-reset proses kompresi citra.

18.Label keterangan ukuran file citra hasil kompresi menggunakan metode Run Length Encoding.

19.Label keterangan running time citra hasil kompresi menggunakan metode Run Length Encoding.

20.Label keterangan rasio kompresi citra menggunakan metode Run Length Encoding.

21.Label keterangan nilai redudansi data citra hasil kompresi menggunakan metode Run Length Encoding.

22.Edit text untuk menampilkan ukuran dari citra hasil kompresi menggunakan metode Run Length Encoding.

23.Edit text untuk menampilkan running time dari citra hasil kompresi menggunakan metode Run Length Encoding.

24.Edit text untuk menampilkan rasio kompresi dari citra hasil kompresi menggunakan metode Run Length Encoding.

25.Edit text untuk menampilkan nilai redudansi data dari citra hasil kompresi menggunakan metode Run Length Encoding.

26.Label keterangan ukuran file citra hasil dekompresi menggunakan metode Run Length Encoding.

27.Label keterangan running time citra hasil dekompresi menggunakan metode Run Length Encoding.

Gambar

Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem
Gambar 3.2 Use Case Diagram Perbandingan Metode Kompresi Run Length
Tabel 3.4 Spesifikasi Use Case Dekompresi RLE
Gambar 3.3 menunjukan activity diagram run length encoding.
+7

Referensi

Dokumen terkait

Di lahan belukar muda berumur 10 tahun telah dijumpai jenis suksesi lanjut (Rinorea anguifera) yang mendominasi tapak, sedangkan di tapak belukar dan agroforest berumur lebih dari

kelompok kontrol dan kelompok intervensi yang dimana kelompok intervensi diberikannya tindakan pemberian posisi alih baring sesuai prosedur sehingga didapatkan

individu dan kepuasan keda mampu menjelaskan variasi pada variabel kepemimpinan transformasional' Kepuasan kerja menjadi variabel yang penting unhrk diperhatikan karena

Berdasarkan temuan penelitian ini terungkap bahwa, setiap simbol yang terdapat pada kain songket dan dipakai oleh masyarakat adat dapat ditafsirkan sebagai nilai-nilai

Jika laptop menggunakan shared memori video (bagian dari memori utama yang digunakan untuk keperluan video), mungkin saja bahwamodul RAM rusak. Jalankan

Palestina, Israel , dan Timur Tengah adalah merupakan masalah yang setiap hari menjadi bahan berita di seluruh dunia.. Tampaknya, ini masalah rumit yang tidak akan pernah

PENDIDIKAN ANAK USIA DINI DAN PENDIDIKAN MASYARAKAT DIREKTORAT PEMBINAAN PENDIDIKAN ANAK USIA DINI.

2009 Novel: Tegar Bengawan Pemenang I Sayembara Penulisan Buku Pengayaan PUSBUK KEMENDIKBUD 2009 2009 Prophetic Learning Pro-U Media (Cetakan ke-2 pd 2010) 2008 Novel: