• Tidak ada hasil yang ditemukan

Perbandingan Kompresi Citra Menggunakan Algoritma Run- Length Encoding Dengan Algoritma Elias Delta Code

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Kompresi Citra Menggunakan Algoritma Run- Length Encoding Dengan Algoritma Elias Delta Code"

Copied!
88
0
0

Teks penuh

(1)
(2)
(3)

CURRICULUM VITAE DATA PRIBADI:

Nama: Sayed Hafitz

Tempat/Tanggal Lahir: Medan, 03 September 1992 Jenis Kelamin: Laki-Laki

Warga Negara: Indonesia Agama: Islam

Alamat: Jl. Deposito No. 17 Komplek Wartawan Medan – 20239 Email: sayed.hafetz@gmail.com

Nomor Handphone: 082161323400 / 087868674661 PENDIDIKAN FORMAL:

Tahun Pendidikan Kota

2014-Sekarang Ekstensi S1 Ilmu Komputer Universitas Sumatera Utara

Medan 2011-2014 D3 Teknik Informatika Universitas

Sumatera Utara

Medan 2008-2011 SMA PLUS Shafiyyatul Amaliyyah Medan 2005-2008 SMP PLUS Shafiyyatul Amaliyyah Medan

1999-2005 SD Negeri No. 064967 Medan

PENDIDIKAN NON FORMAL:

Tahun Pendidikan Kota

2003-2005 Twinkleland English School Medan

Kursus yang diikuti:

(4)

DAFTAR PUSTAKA

Alkhudri, M. S., 2015, Implementasi Kombinasi Metode Huffman Dan Run-Length Encoding Untuk Kompresi Citra Digital, Ilmu Komputer,

Universitas Sumatera Utara.

Andika, R., 2014, Implementasi Metode Punctured Elias Codes Pada Kompresi File Text, Ilmu Komputer, Universitas Sumatera Utara.

Boolos & Jeffrey, 1974. Computability and Logic(4th ed.). Cambridge University

Press, London.

Erdiansyah, Umri, 2014, Perbandingan Algoritma Elias Delta Code Dengan Levenstein Untuk Kompresi File Teks, Ilmu Komputer, Universitas

Sumatera Utara.

Faradisa, I. S. & Budiono, B. F., 2011, Implementasi Metode Huffman Sebagai Kompresi Citra, Teknik Elektro, Institut Teknologi Nasional Malang.

Gacs, P. & Lovasz, L. 1999. Complexity of Algorithms. Spring: London.

Figueiredo, M.A.T. 2009. Elias Coding. Instituto Superior Tecnico, Lisboa, Portugal.

Knuth, D., 1968. The Art of Computer Programming, United States of

America.

Lubis, E. R., 2014, Analisis Perbandingan Kompresi Citra Menggunakan Lempel-Ziv-Markov Chain Algorithm (LZMA) Dan Run Length Encoding,

Ilmu Komputer, Universitas Sumatera Utara.

(5)

Paryono, P., 2010. Citra Digital.

Pramitarini, Y., 2011, Analisa Pengiriman Citra Terkompresi JPEG Dengan Teknik Spread Spektrum Direct Sequence (DS-SS), Teknik Telekomunikasi, Institut Teknologi Sepuluh November.

Putra, D., 2010. Pengolahan Citra Digital. Yogyakarta: Penerbit Andi.

Salomon, D. & Motta, G. 2010. Handbook of Data Compression. Fifth Edition. Springer.

Salomon, D., 2007, Data Compression The Complete Reference 4th Ed, London: Springer.

Santi, R. 2010. Perancangan Perangkat Lunak Kompresi File Citra Dengan Menggunakan Algoritma Run Length Encoding (RLE), Ilmu Komputer,

Universitas Sumatera Utara.

Sutoyo, T., 2009. Teori Pengolahan Citra Digital. Yogyakarta: Penerbit ANDI.

(6)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini penulis memaparkan analisis permasalahan yang diangkat yang disajikan dengan diagram dan flowchart serta dipaparkan juga perancangan sistem yang akan dibangun, baik yang berupa perangkat keras ataupun perangkat lunak, cara melakukan pengujian dan bentuk topologi.

3.1 Analisis

Analisis sistem ialah proses identifikasi mengenai hal-hal yang dibutuhkan dan harus ada pada sistem, agar sistem tersebut dapat berjalan sesuai dengan tujuan utama. Analisis sistem dapat dilakukan dengan menentukan apa-apa saja yang menjadi input dari sistem, proses apa yang dilakukan sistem dan apa yang menjadi output dari sistem tersebut. Untuk menganalisis sebuah sistem ada beberapa hal yang biasa dilakukan, yaitu sebagai berikut:

3.1.1 Analisis Masalah

Analisis masalah yang akan dilakukan adalah bagaimana mengkompresi citra dengan format *.bmp dengan menggunakan metode Run-Length Encoding dan Elias Delta Code. Kemudian citra didekompresi kembali dengan metode yang sama. Masalah

(7)

Gambar 3.1 Diagram Ishikawa Pada Analisis Masalah

3.1.2 Analisis Kebutuhan

Untuk membangun sebuah sistem, perlu dilakukan sebuah tahap analisis kebutuhan sistem. Analisis kebutuhan sistem dapat dikelompokkan menjadi 2 bagian yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

1. Kebutuhan fungsional sistem merupakan segala sesuatu yang dibutuhkan sistem. Dalam pengimplementasian sistem kompresi dan dekompresi citra dengan menggunakan metode Run-Length Encoding dan Elias Delta Code ini memiliki kebutuhan fungsional yang harus dipenuhi, antara lain:

a. Citra digital yang akan dikompresi berformat *.bmp.

b. Proses implementasi pada sistem ini dilakukan dengan melakukan kompresi dan

dekompresi menggunakan metode Run-Length Encoding dan Elias Delta Code.

c. Sistem akan menampilkan citra yang telah berhasil dikompresi dan berusaha

mengembalikan citra kembali dengan proses dekompresi.

2. Kebutuhan non-fungsional sistem, antara lain : a. Performa

(8)

b. Informasi

Sistem dapat menyediakan informasi tentang citra yang digunakan pada sistem.

c. Dokumentasi

Software yang dibangun dapat menyimpan hasil citra baik yang telah

dikompresi, maupun yang telah didekompresi. d. Efisiensi

Sistem dirancang sesederhana mungkin agar memudahkan pengguna dalam menggunakan atau menjalankan aplikasi tersebut.

e. Ekonomi

Sistem harus dapat bekerja dengan baik tanpa harus mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat lunak.

3.1.3 Analisis Proses

Tujuan dari tahap analisis proses adalah mengetahui tahapan dan cara kerja dari system yang digunakan secara spesifik. Analisis proses dilakukan pada tahapan pemodelan sistem. Hal ini dilakukan guna mengetahui apa saja yang harus dilakukan oleh system sehingga dengan mudah melakukan pemrograman pada sistem yang akan dibangun.

Dalam sistem ini terdapat dua proses utama yaitu proses kompresi dan dekompresi dengan menggunakan metode Run-Length Encoding dan Elias Delta Code. Secara umum, proses kompresi maupun dekompresi dari kedua metode ini

serupa, hanya saja nilai dari pixel yang akan digunakan yang akan berbeda menurut perhitungan masing-masing metode. Pada proses kompresi, sistem awalnya membaca gambar yang terdapat pada file. Setelah itu sistem membangkitkan kode Run-Length Encoding atau Elias Delta Code berdasarkan banyaknya pixel pada tabel pixel yang

(9)

3.2 Perancangan Sistem

Untuk memudahkan pengoperasian aplikasi ini, maka perlu dibuatkan rancangan perangkat lunak berupa rancangan Flowchart, Use Case, Activity, Sequence Diagram, dan pseudocode.

3.2.1 Diagram Flowchart Pada Kompresi Dan Dekompresi Citra

Rancangan diagram Flowchart diagram yang menggambarkan aliran data citra dari User (eksternal entiti) ke sistem kompresi dan dekompresi Run-Length Encoding dan

Elias Delta Code secara global. Pada sistem kompresi terdapat proses-proses

pengolahan citra dan proses kompresi dan dekompresi dengan algoritma Run-Length Encoding dan Elias Delta Code. Selanjutnya citra hasil kompresi akan kembali ke

User. Rancangan diagram aliran data kompresi Run-Length Encoding dan Elias Delta

(10)

3.2.1.1Flowchart Sistem Secara Umum

(11)
(12)

3.2.1.2Flowchart Algoritma Run-Length Encoding

Flowchart algoritma Run-Length Encoding digambarkan pada gambar 3.4

(13)

3.2.1.3Flowchart Algoritma Elias Delta Code

Flowchart algoritma Elias Delta Code digambarkan pada gambar 3.5

(14)

3.2.2 Diagram Use Case

Use Case Diagram merupakan bentuk pemodelan dari sistem yang menggambarkan

functional requirements dari sebuah sistem. Functional requirements dibuat

berdasarkan informasi dari kebutuhan sistem dan aktor yang berperan di dalamnya. Use Case Diagram untuk sistem dalam penelitian ini dapat dilihat pada Gambar 3.6.

Gambar 3.6 Use Case Diagram Pada Sistem

Use Case pada Gambar 3.6 menjelaskan bahwa user dapat melakukan proses

(15)

Pada proses dekompresi, user membuka file hasil kompresi kemudian menentukan direktori untuk file hasil dekompresi, dan user dapat melakukan dekompresi. Spesifikasi setiap Use Case dapat diuraikan sebagai berikut.

Tabel 3.1 Spesifikasi Use Case Kompresi

Name Kompresi

Actors Pengguna

Trigger Pengguna memilih Button Kompresi Preconditions -

Post Conditions Sistem menampilkan form untuk proses kompresi Success Scenario Pengguna mengeksekusi Button Kompresi

Alternative Flows -

Tabel 3.2 Spesifikasi Use Case Dekompresi

Name Dekompresi

Actors Pengguna

Trigger Pengguna memilih Button Dekompresi Preconditions -

Post Conditions Sistem menampilkan form untuk proses dekompresi Success Scenario Pengguna mengeksekusi Button Dekompresi

Alternative Flows -

Tabel 3.3 Spesifikasi Use Case Buka File Gambar

Name Buka File Gambar

Actors Pengguna

Preconditions Pengguna mengakses Button Buka File Gambar Post Conditions Sistem membaca File Input dari File gambar (*.bmp). Success Scenario 1. Pengguna mengeksekusi tombol Buka File Gambar.

2. Sistem menampilkan window untuk mencari File Input. 3. Pengguna memilih File Input (*.bmp).

(16)

Alternative Flows -

Tabel 3.4 Spesifikasi Use Case Kompres

Name Kompres

Actors Pengguna

Trigger Pengguna mengakses Button Kompres.

Preconditions 1. Pengguna memilih Button Kompresi dan menuju form Kompresi.

2. Pengguna mengeksekusi Button Open File Gambar. 3. Pengguna mengeksekusi Button Pilih Algoritma. 4. Pengguna mengeksekusi Button Save File Gambar. Post Conditions Sistem melakukan proses kompresi file gambar (*.bmp) Success Scenario 1. Pengguna mengeksekusi tombol Kompresi.

2. Sistem melakukan proses kompresi.

3. Sistem menghasilkan File Output hasil kompresi (*.rle atau *.eld).

Alternative Flows -

Tabel 3.5 Spesifikasi Use Case Pilih Algoritma

Name Pilih Algoritma

Actors Pengguna

Trigger Pengguna mengakses Button Pilih Algoritma. Preconditions Pengguna memilih Button Kompresi.

Post Conditions Sistem memilih kode Run-Length Encoding atau Elias Delta sebagai metode kompresi.

Success Scenario 1. Pengguna memilih kode melalui radio button kode Run-Length Encoding atau Elias Delta

Alternative Flows -

Tabel 3.6 Spesifikasi Use Case Simpan File Terkompresi

Name Save File Terkompresi

Actors Pengguna

(17)

Preconditions Pengguna memilih Button Kompresi.

Post Conditions Sistem menentukan direktori untuk menyimpan File hasil kompresi.

Success Scenario 1. Pengguna mengeksekusi tombol Save File Terkompresi. 2. Sistem menampilkan window untuk mencari direktori penyimpanan File.

3. Pengguna memilih direktori penyimpanan. 4. Pengguna mengeksekusi tombol Simpan. Alternative Flows -

Tabel 3.7 Spesifikasi Use Case Buka File Terkompresi

Name Buka File Terkompresi

Actors Pengguna

Preconditions Pengguna mengakses Button Buka File Terkompresi

Post Conditions Sistem membaca File Input dari File gambar (*.rle atau *.eld). Success Scenario 1. Pengguna mengeksekusi tombol Open File Terkompresi.

2. Sistem menampilkan window untuk mencari File Input hasil kompresi (*.rle atau *.eld).

3. Pengguna memilih File Input (*.rle atau *.eld). 4. Pengguna mengeksekusi tombol Ambil.

Alternative Flows -

Tabel 3.8 Spesifikasi Use Case Dekompres

Name Dekompres

Actors Pengguna

Trigger Pengguna mengakses Button Dekompres.

Preconditions 1. Pengguna memilih Button Dekompresi dan menuju form Dekompresi.

2. Pengguna mengeksekusi Button Open File Terkompresi. 3. Pengguna mengeksekusi Button Pilih Algoritma.

4. Pengguna mengeksekusi Button Save File Gambar. Post Conditions Sistem melakukan proses kompresi file gambar (*.bmp). Success Scenario 1. Pengguna mengeksekusi tombol Decompress.

2. Sistem melakukan proses dekompresi.

(18)

Tabel 3.9 Spesifikasi Use Case Simpan File Gambar

Name Simpan File Gambar

Actors Pengguna

Trigger Pengguna mengakses Button Simpan File Gambar. Preconditions Pengguna memilih Button Dekompresi.

Post Conditions Sistem menentukan direktori untuk menyimpan File hasil dekompresi.

Success Scenario 1. Pengguna mengeksekusi tombol Save File Gambar. 2. Sistem menampilkan window untuk mencari direktori penyimpanan File.

3. Pengguna memilih direktori penyimpanan. 4. Pengguna mengeksekusi tombol Simpan. Alternative Flows -

3.2.3 Diagram Activity

(19)
(20)
(21)

3.2.4 Diagram Sequence

Diagram Sequence adalah bentuk pemodelan sistem yang menggambarkan hubungan antar objek atau objek yang saling berinteraksi melalui pesan dalam eksekusi. Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima diantara objek dan diurutan yang mana. Diagram Sequence untuk sistem yang dirancang pada penelitian ini ada pada gambar 3.8. untuk proses kompresi dan pada gambar 3.9. untuk proses dekompresi.

Gambar 3.9 Sequence Diagram Pada Proses Kompresi

(22)

3.2.5 Alur Proses Sistem

3.2.5.1 Alur Proses Pembangkitan Run-Length Encoding

(23)

3.2.5.2 Alur Proses Pembangkitan Elias Delta Code

Rancangan User berfungsi sebagai perantara antara pengguna dengan perangkat lunak. Agar perangkat lunak dapat digunakan dengan baik oleh pengguna perlu dibuatkan rancangan menu.

3.3.1 Rancangan Menu Utama

Rancangan menu utama terdapat pada 3 button, yaitu Button Compress untuk menuju form Kompresi, Button Decompress untuk menuju form Dekompresi, dan Button

(24)

Gambar 3.11 Rancangan Menu Utama

Keterangan:

1. Label tempat menampilkan judul skripsi.

2. Button Compression untuk menuju ke form Kompresi. 3. Button Decompression untuk menuju ke form Dekompresi. 4. Button About Me untuk menuju ke form About Me.

3.3.2 Rancangan Form Kompresi

Rancangan kompresi terdapat beberapa button dan juga text box yang akan digunakan dalam melakukan kompresi.

2

(25)

Gambar 3.12 Rancangan Form Kompresi

Keterangan:

1. PictureBox berguna untuk gambar sebelum terkompres.

2. TextBox berguna untuk melihat nilai bit gambar yang terkompres.

3. Button berguna untuk pengambilan gambar. 4. Button berguna untuk mengkompres citra.

5. Button berguna untuk penyimpanan gambar setelah terkompres.

6. GroupBox berguna untuk mengelompokkan 2 Radio Button untuk pemilihan algoritma.

(26)

8. TextBox berguna untuk melihat Compression Ratio ketika mengklik Button Compress.

9. TextBox berguna untuk melihat Ratio of Compression ketika mengklik Button Compress.

10. TextBox berguna untuk melihat Redundancy Data ketika mengklik Button Compress.

11. TextBox berguna untuk melihat waktu kompresi ketika mengklik Button Compress.

12. RadioButton berguna untuk memilih algoritma Run-Length Encoding. 13. RadioButton berguna untuk memilih algoritma Elias Delta Code. 14. TextBox berguna untuk melihat browse folder.

15. TextBox berguna untuk melihat resolusi gambar. 16. TextBox berguna untuk melihat nilai bit.

17. Button berguna untuk Zoom In Citra. 18. Button berguna untuk Zoom Out Citra.

(27)

Keterangan:

1. PictureBox berguna untuk gambar setelah string bit terdekompres. 2. TextBox berguna untuk melihat browse folder.

3. GroupBox berguna untuk mengelompokkan 2 Radio Button untuk pemilihan algoritma.

4. RadioButton berguna untuk memilih algoritma Run-Length Encoding. 5. RadioButton berguna untuk memilih algoritma Elias Delta Code. 6. Button berguna untuk pengambilan gambar.

7. Button berguna untuk mendekompres citra.

8. Button berguna untuk menyimpan gambar yang kembali ke asalnya. 9. Textbox berguna untuk melihat waktu dekompresi.

10. Button berguna untuk Zoom In Citra. 11. Button berguna untuk Zoom Out Citra.

3.3.4Rancangan Form About Me

Rancangan About Me terdapat pada biodata pembuatan di dalam sistem yang dibangun.

Gambar 3.14 Rancangan Form About Me

Gambar 3.14 Rancangan Form About Me

Keterangan:

1. Label berisi keterangan mengenai biodata penulis. 2. PictureBox berisi foto penulis.

3. PictureBox berisi gambar logo. 1

1

(28)

BAB IV

IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini penulis memaparkan bagaimana implementasi dari sistem dan juga hasil pengujian aplikasi yang dilakukan pada algoritma Run-Length Encoding dan Elias Delta Code yang sudah dibangun menggunakan C#.

4.1 Implementasi Algoritma

4.1.1 Implementasi Algoritma Run-Length Encooding

Berikut ini adalah contoh proses kompresi citra dengan algoritma Run-Length Encoding. Terdapat citra yang ber-resolusi 5 X 5 pixel dengan ukuran 1120 byte.

Gambar 4.1 Citra Grayscale 5 X 5 pixel

Tabel 4.1 Proses Pengkodean Algoritma Run-Length Encoding 53 64 121 73 30

65 149 193 173 72 115 208 104 197 107

(29)

Hasil kompresi yaitu:

Dari hasil kompresi algoritma Run-Length Encoding di atas dapat dihitung dengan parameter perbandingan, yaitu:

Ukuran citra sebelum dikompres = 1120 bit. Ukuran citra setelah dikompres = 88 bit Compression Ratio = 88

1120 X 100% = 7.866 % Ratio of Compression = 1120

88 = 12.73

Redundancy Data = 100% - 7.59 % = 6.86 %

4.1.2 Implementasi Algoritma Elias Delta Code

Berikut ini adalah contoh proses kompresi citra dengan algoritma Elias Delta Code pada gambar 4.1

Tabel 4.2 Proses Pengkodean Algoritma Elias Delta Code

PIXEL KETERANGAN KODE DELTA

53 1 1

64 2 = 102 (2 bit), Hapus angka 1 paling kiri dan

tambahkan 2 = 10 (2 bit), sehingga menjadi 10 | 0. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 0100.

0100

121 3 = 112 (2 bit), Hapus angka 1 paling kiri dan

tambahkan 2 = 10 (2 bit), sehingga menjadi 10 | 1. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 0101.

0101

73 4 = 1002 (3 bit), Hapus angka 1 paling kiri dan

tambahkan 3 = 11 (2 bit), sehingga menjadi 11

(30)

| 00. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 01100. 30 5 = 1012 (3 bit), Hapus angka 1 paling kiri dan

tambahkan 3 = 11 (2 bit), sehingga menjadi 11 | 01. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 01101.

01101

65 6 = 1102 (3 bit), Hapus angka 1 paling kiri dan

tambahkan 3 = 11 (2 bit), sehingga menjadi 11 | 10. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 01110.

01110

149 7 = 1112 (3 bit), Hapus angka 1 paling kiri dan

tambahkan 3 = 11 (2 bit), sehingga menjadi 11 | 11. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 01111.

(31)
(32)
(33)

111 23 = 101113 (5 bit), hapus angka 1 paling kiri

Proses kompresi untuk algoritma Elias Delta Code dapat dilihat pada tabel 4.3.

Tabel 4.3 Citra Yang Terkompresi Dengan Algoritma Elias Delta Code

(34)

104 1 00100101 8 8

Sebelum ditulis ke file hasil kompresi, maka dilakukan penambahan padding bit dan flag bit di akhir string bit. Bit tersebut dihasilkan dari panjang string bit itu sendiri

apakah habis dibagi 8 dan berapa sisanya jika dibagi 8. Karena jumlah string bit 192 tidak habis dibagi 8 dan sisanya adalah 1. Maka dibuatlah padding bit-nya adalah “0”

dan flag bit-nya adalah “00000001” menjadi

“10100010101100011010111001111001000000010000100100010001000110010010 000100101001001100010011100101000000101000100101001000101001100101010 0001010101001010110001010111001011000001011001000000001”, sehingga total bit keseluruhannya adalah 50 bit.

Dengan uraian hasil kompresi sebagai berikut:

(35)

10010101 00001010 10100101 01100010 10111001 01100000 10110010 00000001

Ukuran citra sebelum dikompres = 1120 bit. Ukuran citra setelah dikompres = 54 bit. Compression Ratio = 54

1120 X 100% = 4.82 % Ratio of Compression = 1120

54 = 20.74

Redundancy Data = 100% - 4.82 % = 3.82 %

Dari hasil perhitungan antara kedua algoritma tersebut, dapat diketahui bahwa algoritma Elias Delta Code lebih baik dibandingkan dengan Run-Length Encoding. Dilihat dari hasil Rc dan Rd dari Elias Delta Code lebih kecil dibandingkan dengan

Run-Length Encoding.

4.2 Implementasi Sistem

Implementasi sistem merupakan proses menerjemahkan hasil analisis dan perancangan sistem ke dalam sebuah bahasa pemrograman. Implementasi sistem pada penelitian ini dibangun menggunakan bahasa pemrogaman. Bahasa pemrograman bahasa pemrograman C#. Proses dari sistem atau modul kendali (controller) dan untuk tampilan antarmuka akan ditangani menggunakan bahasa C#. Proses dari sistem atau modul kendali (controller) dan untuk tampilan antarmuka akan ditangani menggunakan bahasa C#. Perangkat lunak yang digunakan sebagai Integrated Development Environment (IDE) untuk C# adalah SharpDevelop versi

(36)

Proses implementasi yang dirancang pada sistem ini dibagi menjadi 4 form dalam bahasa C#, di antaranya yaitu form home untuk halaman utama, form Kompresi untuk menu kompresi, form Dekompresi untuk menu dekompresi, dan form About Me untuk profil penulis dan tentang aplikasi.

4.2.1 Form Home

Form Home merupakan form yang pertama kali muncul pada saat aplikasi dijalankan.

Form ini terdiri dari 3 Button, yaitu Button Compress, Button Decompress, dan Button

About Me. Halaman utama pada aplikasi dapat dilihat pada Gambar 4.2.

Gambar 4.2 Tampilan Form Home

4.2.2 Form Kompresi

Form Kompresi merupakan form yang digunakan untuk melakukan proses kompresi.

(37)

Gambar 4.3 Tampilan Form Kompresi

4.2.3 Form Dekompresi

Form Dekompresi merupakan form yang digunakan untuk melakukan proses

(38)

Gambar 4.4 Tampilan Form Dekompresi

4.2.4 Form About Me

Form About Me merupakan form yang digunakan hanya untuk menampilkan

(39)

Gambar 4.5 Tampilan Form About Me

4.3 Pengujian Sistem

Pengujian sistem merupakan tahap mengidentifikasi hasil dari implementasi sistem apakah sistem telah berjalan sesuai dengan fungsi-fungsi yang sebelumnya ditentukan pada tahap analisis dan perancangan sistem. Pengujian sistem ini dilakukan pada File gambar yang berekstensi *.bmp. Pengujian sistem yang dilakukan pada penelitian ini dibagi dalam 2 proses utama yaitu pengujian proses kompresi dan pengujian proses dekompresi.

4.3.1 Pengujian Proses Kompresi

Untuk melakukan proses kompresi tahap awal yang dilakukan adalah mengklik Button Compress. Setelah tampilan form Compress muncul maka lakukan langkah-langkah

berikut ini untuk melakukan proses kompresi.

1. Menekan tombol Ambil untuk membuka Open File Dialog, dan pilih File gambar (*.bmp) sebagai Input File.

(40)

3. Menekan radioButton untuk memilih satu algoritma antara Run-Length Encoding atau Elias Delta Code.

Gambar 4.6 Aplikasi Setelah Gambar, Resolution, dan Size Ditentukan

Gambar 4.7 Gambar Membesar Setelah Mengklik Zoom In

(41)

4. Menekan tombol Kompres untuk mengkompres citra yang diambil.

5. Menekan tombol Simpan untuk membuka Save File Dialog dan menentukan direktori untuk menyimpan file hasil kompresi (*.rle atau *.eld).

Gambar 4.9 Informasi Hasil Kompresi Run-Length Encoding

Gambar 4.10 Informasi Hasil Kompresi Elias Delta Code

(42)

Gambar 4.11 Hasil Kompresi Run-Length Encoding

Untuk File-file hasil kompresi Elias Delta Code dapat dilihat pada gambar 4.9 dan.

(43)

4.3.2 Pengujian Proses Dekompresi

Untuk melakukan proses dekompresi tahap awal yang dilakukan adalah menekan tombol Decompress untuk menuju ke Form Decompress. Setelah tampilan Form Decompress muncul maka lakukan langkah-langkah berikut ini untuk melakukan

proses dekompresi.

1. Menekan tombol Ambil untuk membuka Open File Dialog, dan pilih file hasil kompresi (*.rle atau *.eld) sebagai Input File.

2. Menekan tombol Decompress untuk melakukan proses dekompresi. Setelah proses dekompresi berhasil sistem akan menampilkan informasi hasil dekompresi dan waktu dekompresi pada citra.

3. Menekan tombol Simpan untuk membuka Save File Dialog dan menentukan direktori untuk menyimpan file hasil dekompresi (*.bmp).

Gambar 4.13 Informasi Hasil Dekompresi Run-Length Encoding

(44)

4.4 Hasil Perhitungan Kompleksitas Big Theta (�)

Untuk mengetahui algoritma mana yang lebih efektif pada kompresi maka dibutuhkan perhitungan kompleksitas waktu. Dapat dilihat pada tabel 4.4 untuk algoritma Run-Length Encoding dan tabel 4.5 untuk algoritma Elias Delta Code.

Tabel 4.4 Perhitungan Big Theta Pada Run-Length Encoding

(45)

24 sb + cur() + " " + k ()+" "

Dari perhitungan running time pada tabel maka didapat:

T(n)=C1+C1+C3n+C1n+C1n+C3n2+C2n2+C2n2+C2n2+C2n2+C2n2+C4n2+C2n2+C1n2+C1

n2+C4n2+C4n2+C2n2+C4n2+C2n2+C2n2+C2n2+C2n2+C2n2+C1n2+C2n2+C2n2+C2n2

=2C1+C3n+2C1n+C3n2+14C2n2+4C4n2+3C1n2

=2C1+n(C3+2C1)+n2(C3+14C2+4C4+3C1)

T(n) =θ(n2)

Tabel 4.5 Perhitungan Big Theta Pada Elias Delta Code

(46)

Dari perhitungan running time pada tabel maka didapat:

T(n) = C1+C2+ C2+ C3+C1n+C1n+C1n+C3n2+C4n2+C4n+C1n+C4n+C1n

= C1+2C2+C3+5C1n+ C3n2+C4n2+2C4n

= C1+2C2+C3+ n(2C4 + 5C1) + n2(C3 + C4)

T(n) =θ(n2)

Kedua tabel tersebut menunjukkan bahwa tabel kompleksitas algoritma Run-Length Encoding dan Elias Delta Code, C1, C2, C3, dan C4 merupakan barisan kode.

Dimana juga terdapat pseudocode, C sebagai konstanta, dan # sebagai ukuran masukan dan C dikali #. Selain itu, diambil pangkat terbesar dari nilai ukuran masukan (#), karena pangkat n yang terbesar adalah n2, maka T(n) = θ(n2). Dari kedua tabel diatas dapat dilihat bahwa algoritma Run-Length Encoding dan Elias Delta Code memiliki running time yang sama.

4.5 Hasil Pengujian

(47)

Tabel 4.6 Perbandingan Hasil Kompresi Menggunakan Algoritma Run-Length Encoding dan Elias Delta Code

Tabel di atas merupakan tabel hasil percobaan yang digunakan pada algoritma Run-Length Encoding dan Elias Delta Code. Dari tabel yang diperoleh dapat

disimpulkan bahwa algoritma Run-Length Encoding dan Elias Delta Code merupakan algoritma yang memiliki waktu kompresi dan dekompresi yang sama. Cr dan Rd yang lebih kecil dan Rc yang lebih besar adalah algoritma Elias Delta Code.

(48)

Gambar grafik di atas menunjukkan bahwa algoritma Elias Delta Code memiliki CR yang lebih kecil dibandingkan dengan Run-Length Encoding. Pada file „barbara.bmp‟, algoritma Elias Delta Code memiliki CR sebesar 4.82%, sedangkan Run-Length Encoding memiliki CR sebesar 7.86%.

Gambar 4.16 Grafik Rc (Ratio of Compression) Pada Gambar

Gambar grafik di atas menunjukkan bahwa algoritma Elias Delta Code memiliki Rc sebesar 20.74, sedangkan Run-Length Encoding memiliki Rc sebesar 12.73.

0 5 10 15 20 25

Run-Length Encoding

(49)

Gambar 4.17 Grafik Rd (Redundancy Data) Pada Gambar

Gambar grafik di atas menunjukkan bahwa algoritma Elias Delta Code memiliki CR yang lebih kecil dibandingkan dengan Run-Length Encoding. algoritma Elias

Delta Code memiliki CR sebesar 3.82%, sedangkan Run-Length Encoding memiliki

CR sebesar 6.86%. 0.00%

1.00% 2.00% 3.00% 4.00% 5.00% 6.00% 7.00% 8.00%

Run-Length Encoding

(50)

Gambar 4.18 Grafik Waktu KompresiPada Gambar

Gambar grafik di atas menunjukkan bahwa algoritma Run-Length Encoding memiliki waktu kompresi yang lebih cepat dibandingkan dengan Elias Delta Code. algoritma Run-Length Encoding memiliki waktu kompresi 0.013 m/s, sedangkan algoritma Elias Delta Code memiliki waktu kompresi 0.039 m/s.

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045

Run-Length Encoding

(51)

Gambar 4.19 Grafik Waktu DekompresiPada Gambar

Gambar grafik di atas menunjukkan bahwa algoritma Elias Delta Code memiliki waktu dekompresi yang sama dengan Run-Length Encoding, yaitu 0.001 m/s.

0 0.0002 0.0004 0.0006 0.0008 0.001 0.0012

Run-Length Encoding

(52)

BAB V

KESIMPULAN DAN SARAN

Pada bab ini akan disimpulkan, aplikasi yang telah dirancang telah dapat melakukan fungsi kompresi dan dekompresi. Pada bab ini juga disajikan saran-saran yang bermanfaat sebagai masukan bagi pengembangan aplikasi Kompresi Citra Menggunakan algoritma Run-Length Encoding dan Elias Delta Code yang lebih baik.

5.1 Kesimpulan

Dari penelitian yang dilakukan, maka kesimpulan yang dapat diambil adalah:

1. Aplikasi yang dirancang dalam penelitian ini telah mampu melakukan proses dekompresi file citra hasil kompresi menjadi file citra semula sebelum dikompresi.

2. Algoritma Run-Length Encoding memiliki waktu kompresi dan dekompresi yang sama dengan Elias Delta Code.

3. Algoritma Elias Delta Code memiliki Cr (Compression Ratio) yang lebih kecil dibandingkan dengan Run-Length Encoding, Algoritma Run-Length Encoding memiliki Cr (Compression Ratio) sebesar 7.86 %, sedangkan algoritma Elias Delta Code memiliki Cr (Compression Ratio) sebesar 4.82 %.

4. Algoritma Elias Delta Code memiliki Rc (Ratio of Compression) yang lebih besar dibandingkan dengan Run-Length Encoding. Algoritma Elias Delta Code memiliki Rc sebesar 20.74, sedangkan Run-Length Encoding memiliki RC sebesar 12.73.

5. Algoritma Elias Delta Code memiliki Rd (Redundancy Data) yang lebih kecil

(53)

algoritma Run-Length Encoding memiliki Rd sebesar 6.86 %, sedangkan Elias Delta Code memiliki Rd sebesar 3.82 %.

6. Ukuran citra hanya berresolusi maksimal 20x20 8 bit.

5.2 Saran

Saran yang dapat diberikan pada penelitian berikutnya untuk pengembangan dan perbaikan system lebih lanjut adalah:

1. Untuk penelitian berikutnya diharapkan menggunakan ukuran file citra baik yang lebih besar maupun yang lebih kecil.

2. Untuk penelitian berikutnya diharapkan mengkompres warna citra yang lain, seperti True Color, ataupun Indexed Color.

(54)

BAB II

TINJAUAN PUSTAKA

Pada bab ini akan membahas landasan atas teori-teori ilmiah untuk mendukung penelitian ini. Teori-teori yang dibahas mengenai pengertian citra, kompresi citra, algoritma dan jenisnya, serta beberapa sub pokok pembahasan lainnya yang menjadi landasan dalam penelitian ini.

2.1. Citra Digital

Citra digital adalah citra yang dapat diolah oleh komputer. Citra digital disebut juga citra diskrit di mana citra tersebut dihasilkan melalui proses digitalisasi terhadap citra kontinu. (Sutoyo, 2009)

(55)

Pada gambar 2.1. terdapat sebuah ilustrasi citra grayscale berukuran 200x200 pixel diambil sebagian (kotak kecil) berukuran 8x9. Setelah itu monitor akan

menampilkan sebuah kotak kecil, namun yang disimpan dalam memori komputer hanyalah angka-angka yang menunjukkan besar intensitas pada masing-masing pixel tersebut (Sutoyo, 2009). Citra digital merupakan sebuah matriks di mana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai pixel) menyatakan tingkat keabuan pada titik tersebut. Sebuah citra mungkin 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) disebut 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.

Gambar 2.2. Pixel Matriks (Pramitarini, 2011)

Pada gambar 2.2. terdapat nilai Digital dan banyak bit: M = banyak pixel per baris (panjang)

(56)

Citra digital memiliki 4 jenis, yaitu Citra Biner, Grayscale, True Color, dan Indexed Color.

2.1.1. Citra Biner

Citra biner (monochrome) atau disebut juga binary image, merupakan citra digital yang setiap pixel-nya hanya memiliki 2 kemungkinan derajat keabuan, yaitu 0 dan 1. Nilai 0 mewakili warna hitam, dan nilai 1 mewakili warna putih, di mana setiap pixel-nya membutuhkan media penyimpanan sebesar 1 bit.” (Paryono, 2010) Citra biner diperoleh melalui proses pemisahan pixel berdasarkan derajat keabuan yang dimilikinya. Pada citra biner, setiap titik bernilai 0 dan 1, masing-masing merepresentasikan warna tertentu. Nilai 0 diberikan untuk pixel yang memiliki derajat keabuan lebih kecil dari nilai batas yang ditentukan, sementara pixel yang memiliki derajat keabuan yang lebih besar dari batas akan di ubah menjadi nilai 1. Pada standard citra untuk ditampilkan di layer komputer, nilai biner ini berhubungan dengan ada tidaknya cahaya yang ditembakkan oleh electron gun yang terdapat di dalam monitor komputer. Angka 0 menyatakan tidak ada cahaya, dengan demikian warna yang direpresentasikan adalah hitam. Untuk angka 1, terdapat cahaya, sehingga warna yang direpresentasikan adalah putih. Standar tersebut disebut sebagai standar citra cahaya, sedangkan standar citra tinta/cat adalah berkebalikan, karena biner tersebut menyatakan ada tidaknya tinta. Setiap titik pada citra hanya membutuhkan 1 bit, sehingga setiap byte dapat menampung informasi 8 bit. (Pramitarini, 2011)

(57)

2.1.2. Citra Grayscale

Citra skala keabuan atau disebut juga dengan citra aras keabuan memberikan kemungkinan warna yang lebih banyak. Format citra ini disebut dengan aras keabuan karena ada warna abu-abu diantara warna minimum (hitam) dan warna maksimum (putih). Jumlah maksimum warna sesuai dengan bit penyimpanan yang digunakan, apakah 4 bit atau 8 bit. Citra dengan skala keabuan 4-bit memiliki 24 = 16 kemungkinan warna, yaitu 0 (minimal) hingga 15 (maksimal). Sementara citra digital dengan skala keabuan 8-bit memliki 28 = 256 kemungkinan warna, yaitu 0 (minimal) hingga 255 (maksimal). (Novitasari, 2011)

Gambar 2.4. Ilustrasi Citra Grayscale (Pramitarini, 2011)

2.1.3. Citra True Color

Pada citra warna (true color) setiap pixel-nya merupakan kombinasi dari tiga warna dasar merah, hijau, dan biru, sehingga citra warna ini disebut juga citra RGB (Red Green Blue). Setiap komponen warna memiliki intensitas sendiri dengan nilai

(58)

Gambar 2.5. Ilustrasi Citra True Color (Pramitarini, 2011)

2.1.4. Citra Indexed Color

Setiap pixel pada citra warna berindeks memiliki indeks dari suatu tabel warna yang tersedia (biasanya disebut Palette Color). Keuntungan yang diperoleh dengan menggunakan palet warna ini adalah kita dapat dengan cepat memanipulasi warna tanpa harus mengubah informasi dari setiap pixel pada citra. (Novitasari, 2011)

2.2 Kompresi Citra

Kompresi citra adalah proses yang bertujuan untuk mengurangi duplikasi data pada citra sehingga memory yang digunakan untuk merepresentasikan citra menjadi lebih sedikit daripada representasi citra semula. (Sutoyo, 2009)

Rasio citra kompresi adalah ukuran persentase citra yang telah berhasil dimampatkan. Secara matematis rasio pemampatan data ditulis sebagai berikut:

R = 100% - (K1/Ko) x 100 %…(1) Dimana:

R adalah rasio kompresi. Ko adalah Ukuran file asli.

(59)

Compressed

Compressed

Secara garis besar metode pemampatan citra atau kompresi citra dapat dikelompokkan dalam dua kelompok besar yaitu metode lossless dan metode lossy yaitu:

2.2.1 Metode Lossless

Metode Lossless merupakan kompresi citra dimana hasil dekompresi dari citra yang terkompresi sama dengan citra aslinya, tidak ada informasi yang hilang. Sayangnya, untuk ratio kompresi citra metode ini sangat rendah. (Sutoyo, 2009)

Compressed

Gambar 2.6. Kompresi Lossless

2.2.2 Metode Lossy

Metode Lossy merupakan kompresi citra dimana hasil dekompresi dari citra yang terkompresi tidak sama dengan citra aslinya, artinya bahwa ada informasi yang hilang, tetapi masih bisa ditolerir oleh persepsi mata. Metode ini menghasilkan ratio kompresi yang lebih tinggi dari pada metode lossless. Contohnya adalah color reduction, chroma subsampling, dan transform coding, seperti transformasi Fourier, Wavelet dll.

(Sutoyo, 2009)

Gambar 2.7. Kompresi Lossy

Original Restored

Original

(60)

2.2.3 Padding Dan Flag Bits

Khusus algoritma Elias Delta Code diperlukan padding dan flag bits untuk penambahan bit 0 sebanyak kekurangan jumlah bit, dan penambahan bilangan biner sepanjang 8 bit.

1. Padding

Padding bits adalah penambahan bit 0 sebanyak kekurangan jumlah bit-bit pada

proses kompresi sehingga jumlah keseluruhan bit data pada hasil kompresi merupakan kelipatan delapan (habis dibagi delapan) (Andika, 2014)

2. Flag

Flag bits adalah penambahan bilangan biner sepanjang 8 bit setelah padding bits

dimana flag bits ini merupakan sejumlah bilangan yang memberikan tanda bahwa terdapat n buah padding di dalam bit-bit data hasil kompresi. Penambahan flag bits ini dimaksudkan untuk mempermudah dalam membaca bit-bit data hasil

kompresi pada saat proses kompresi. (Andika, 2014)

2.2.4 Parameter Perbandingan

1. Compression Ratio (Cr)

Compression Ratio (Cr) adalah persentase besar data terkompresi, hasil

perbandingan antara data yang sudah dikompresi dengan data yang belum dikompresi (Salomon, 2007).

Cr = ���� �� ��� � ℎ���� � �� � X 100%…(2)

2. Ratio of Compression (Rc)

Ratio of Compression (Rc) adalah hasil perbandingan antara data yang belum

dikompresi dengan data yang sudah dikompresi (Salomon, 2007).

(61)

3. Redundancy Data (Rd)

Redundancy Data adalah kelebihan yang terdapat di dalam data sebelum

dikompresi. Jadi setelah data dikompresi dapat dihitung Redundancy data yaitu persentasi dari hasil selisih antara ukuran data sebelum dikompresi dengan data setelah dikompresi. (Salomon & Motta, 2010).

Rd= 100% – Cr…(4)

4. Waktu Kompresi

Waktu kompresi adalah waktu yang dibutuhkan oleh sebuah sistem untuk melakukan proses kompresi dari mulai pembacaan data hingga proses encoding pada data tersebut. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi itu.

2.3 Format File Citra Bitmap

Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per pixel). 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, 2009).

(62)

2.4 Pixel

Pixel (Picture Elements) adalah nilai tiap-tiap entri matriks pada bitmap. Rentang

nilai-nilai pixel ini dipengaruhi oleh banyaknya warna yang dapat ditampilkan. Jika suatu bitmap dapat menampilkan 256 warna maka nilai-nilai pixelnya dibatasi dari 0 hingga 255. Suatu bitmap dianggap mempunyai ketepatan yang tinggi jika dapat menampilkan lebih banyak warna (Putra, 2010).

2.5 Dekompresi Citra

Sebuah citra yang sudah terkompresi tentunya harus dapat dikembalikan lagi kebentuk aslinya, prinsip ini dinamakan dekompresi. Untuk dapat merubah citra yang terkompresi diperlukan cara yang berbeda seperti pada waktu proses kompresi dilaksanakan. Jadi pada saat dekompresi catatan header yang berupa byte-byte tersebut terdapat catatan isi mengenai isi dari file tersebut. (Alkhudri, 2015)

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 dekompresi. Proses dekompresi sempurna dan kembali ke bentuk aslinya.

Parameter perbandingan dalam dekompresi adalah waktu dekompresi. Waktu dekompresi adalah waktu yang dibutuhkan oleh sebuah sistem untuk melakukan proses dekompresi dari mulai pembacaan data hingga proses decoding pada data tersebut. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi itu.

Kompresi Dekompresi

Gambar 2.8 Alur Kompresi-Dekompresi Citra (Alkhudri, 2015)

Citra Asli Citra

(63)

2.6 Algoritma

Makna informal dari kata algoritma ada dalam persamaan berikut: “Tidak ada manusia yang dapat menulis begitu cepat, atau begitu lama, atau begitu kecil ("kecil, dan lebih kecil tanpa batas ... anda mungkin mencoba menulis di atas molekul, atom, elektron") untuk mencatat semua anggota dari kumpulan bilangan tak terbatas dengan menuliskan namanya, bergantian, dalam suatu notasi. Tapi manusia bisa melakukan sesuatu yang sama bergunanya, pada kasus kumpulan bilangan tak terbatas: Mereka dapat memberikan instruksi jelas untuk menentukan anggota ke-n dari set, untuk n terbatas acak. Instruksi tersebut diberikan secara eksplisit, dalam bentuk yang dapat diikuti oleh mesin penghitung, atau oleh manusia yang mampu melakukan hanya operasi-operasi dasar dengan simbol-simbol.” (Boolos & Jeffrey, 1974).

Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis. Langkah-langkah pemecahan masalah bisa dilakukan dengan berbagai cara yang berbeda (Wahyudi, 2004).

Ciri-ciri algoritma yaitu:

1. Algoritma harus berhenti setelah melakukan sejumlah langkah terbatas.

2. Aksi-aksi dalam algoritma terjadi dalam waktu terbatas, tiap langkah harus didefinisikan dengan tepat dan tidak bermakna ganda (non-ambiguous).

3. Algoritma memiliki nol atau lebih masukan (input). Input adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja.

4. Algoritma memiliki salah satu atau beberapa keluaran (output). Output adalah besaran yang mrmiliki hubungan dengan input.

5. Algoritma harus efektif, tiap langkah harus sederhana, dapat dikerjakan dalam sejumlah waktu yang logis (Knuth, 1968).

2.7 Algoritma Run-Length Encoding (RLE)

(64)

keabuan, sedangkan nilai Q menyatakan jumlah pixel berurutan yang memiliki derajat keabuan tersebut. (Lubis, 2014)

Berbeda dengan teknik-teknik sebelumnya yang bekerja berdasarkan karakter per karakter, teknik run length ini bekerja berdasarkan sederetan karakter yang berurutan. Run Length Encoding adalah suatu algoritma kompresi data yang bersifat Lossless. Algoritma ini mungkin merupakan algoritma yang paling mudah untuk

dipahami dan diterapkan.

Algoritma RLE ini cocok digunakan untuk mengkompres citra yang memiliki kelompok-kelompok pixel berderajat keabuan yang sama. Kompresi citra dengan algoritma RLE dilakukan dengan membuat rangkaian pasangan nilai (p,q) untuk setiap baris pixel, nilai pertama (p) menyatakan derajat keabuan, sedangkan nilai kedua (q) menyatakan jumlah pixel berurutan yang memiliki derajat kabuan tersebut (dinamakan Run-Length Encoding).

Langkah-langkah yang dibutuhkan untuk melakukan kompresi Run-Length

Encoding adalah sebagai berikut:

1. Periksa nilai saat ini dengan nilai tetangga, apabila nilai saat ini sama dengan nilai

tetangga maka gabungkan nilai tersebut menjadi satu dan tambahkan nilai counter

untuk nilai tersebut.

2. Apabila nilai saat ini dengan nilai tetangganya tidak sama maka simpan nilai saat ini

dan lanjut pemeriksaan seperti pada nomor 1.

3. Setelah proses 1 dan 2 telah dilakukan kemudian simpan hasil proses kompresi

tersebut.

Untuk melakukan proses dekompresi terhadap file yang telah mengalami proses kompresi Run Length Encoding (RLE) dapat dilihat pada langkah-langkah berikut ini.

1. Baca nilai yang terdapat pada citra kemudian periksa apakah nilai saat ini berulang atau tidak, apabila nilai saat ini berulang maka ulang nilai sebanyak perulangan yang ada.

(65)

2.8 Algoritma Elias Delta Code

Algoritma Elias Delta Code adalah sebuah algoritma kompresi yang dibuat oleh Peter Elias menggunakan kode yang telah dia buat sebelumnya, yaitu Elias Gamma Code, sebagai building block (Figueiredo, 2009).

Dalam kode Gamma, Elias menambah panjang kode dalam unary (α). Dalam kode berikutnya, δ (delta), ditambahkan pada panjang kode dalam biner (β). Dengan

demikian, Elias Delta Code, yang juga untuk bilangan bulat positif, sedikit lebih kompleks untuk dibangun (Salomon, 2007).

Untuk melakukan encode dengan Elias Delta Code dalam bilangan bulat positif n dilakukan dalam langkah-langkah berikut: (Salomon, 2007).

1. Tulis n dalam biner. Bit yang paling kiri (paling signifikan) akan menjadi 1.

2. Hitung bit, hapus bit paling kiri dari n, dan tambahkan hitungan, di dalam biner, apa yang tersisa dari bit n yang paling kiri setelah telah dihapus.

3. Kurangi 1 dari hitungan di langkah 2 ,dan tambahkan jumlah nol sebanyak hasil hitungan tersebut ke awal kode.

Contoh kasus pada bilangan integer 5, hasilnya: 5 = 1012 (3 bit). Hapus angka

1 paling kiri dan tambahkan 3 = 11, sehingga menjadi 11 | 01. 2 bit telah ditambahkan, jadi kita tambahkan 1 nol untuk mendapatkan kode delta 0 hasilnya 11|01. 2 bit sudah ditambahkan, kemudian tambahkan 1 nol untuk mendapatkan kode delta 0|11|01.

Untuk melakukan decode dengan Elias Delta Code, berikut adalah langkah-langkahnya:

1. Baca bit dari kode sampai proses decode dengan Elias Gamma Code dapat dilakukan. Proses ini dapat dilakukan dengan beberapa langkah berikut ini:

a. Hitung jumlah nol terdepan dari kode tersebut lalu gantikan perhitungan tersebut dengan C.

b. Periksa bit bagian kiri 2C + 1 (C nol, diikuti dengan 1, lalu diikuti dengan bit C selebihnya). Ini merupakan decode Elias Gamma Code M + 1.

2. Baca bit M berikutnya. Sebut ini sebagai L. 3. Bilangan bulat yang di decode adalah 2M + L.

(66)

Tabel 2.1 Kode Elias Gamma

Sebagai contoh, jika n = 5, kode deltanya adalah 01101. Hitung dua angka nol, sehingga C = 2. Nilai dari 2C paling kiri + 1 = 3 bit adalah 011 = 5, sehingga M + 1 =

(67)

daya komputasi yang digunakan oleh tugas tertentu. Teori komputasi pada dasarnya dibagi menjadi tiga bagian karakter yang berbeda. (Gács & Lovász, 1999).

1. Pengertian yang tepat dari algoritma, waktu, kapasitas, penyimpanan, dan lain-lain harus diperkenalkan. Perbedaan model mesin matematika harus digambarkan, waktu dan penyimpanan kebutuhan perhitungan dilakukan pada kebutuhan ini harus diperjelas (umumnya diukur sebagai fungsi dari ukuran input). Yang paling dasar pada kompleksitas adalah memberikan klasifikasi penting dari masalah yang timbul dalam praktek, bahkan timbul di daerah matematika klasik.

2. Menentukan kebutuhan sumber daya dari algoritma yang paling penting dalam berbagai bidang matematika, dan memberikan algoritma yang efisien untuk membuktikan bahwa masalah tertentu memiliki kompleksitas tertentu

3. Menemukan metode yang membuktikan “Hasil Negatif” yaitu untuk bukti

beberapa masalah sebenarnya terpecahkan di bawah pembatasan sumber daya tertentu.

2.10 Penelitian Yang Relevan

Berikut ini beberapa penelitian yang terkait dengan algoritma Run-Length Encoding dan Elias Delta Code:

1. Umri Erdiansyah (2014) dalam skripsi yang berjudul Perbandingan Algoritma Elias Delta Code Dengan Levenstein Untuk Kompresi File Teks. Dalam skripsi ini,

(68)

2. Ririani Santi (2010) dalam skripsi yang berjudul Perancangan Perangkat Lunak Kompresi File Citra Dengan Menggunakan Algoritma Run Length Encoding.

(69)

BAB I

PENDAHULUAN

Pada bab ini penulis akan menguraikan tentang latar belakang, rumusan masalah, batasan masalah dari penelitian, tujuan dan manfaat dari penelitian, metodologi yang dipakai dalam melakukan penelitian ini serta sistematika penulisannya.

1.1 Latar Belakang

Data atau informasi tidak hanya disajikan dalam bentuk teks, tetapi juga dapat berupa gambar, audio (bunyi, suara, musik), dan video. Keempat macam data atau informasi ini sering disebut multimedia. Saat ini orang tidak hanya dapat mengirim pesan dalam bentuk teks, tetapi juga dapat mengirim pesan berupa gambar maupun video, yang dikenal dengan layanan MMS (Multimedia Message Service).

Citra (image) sebagai salah satu komponen multimedia memegang peranan penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya akan informasi. (Faradisa, et al, 2011)

(70)

Saat ini, kebanyakan aplikasi menginginkan representasi citra dengan kebutuhan memori yang sesedikit mungkin. Kompresi citra (image compression) bertujuan meminimalkan kebutuhan memori untuk merepresentasikan citra digital.

Kompresi citra memberikan manfaat yang sangat besar dalam industri multimedia saat ini. Salah satunya adalah pada proses pengiriman data (data transmission) pada saluran komunikasi data. Citra yang telah dikompresi membutuhkan waktu pengiriman yang lebih singkat dibandingkan dengan citra yang tidak dikompresi.

Hal inilah yang mendasari perlunya suatu usaha untuk mengkompresi citra sehingga citra dapat disimpan dengan ukuran yang berbeda dengan yang asli.

Maka itu dirancanglah algoritma kompresi citra yang berfungsi untuk mengkompresi gambar sebelum nantinya akan disebarluaskan atau dikirimkan kepada seseorang. Algoritma kompresi citra yang digunakan di antaranya adalah Algoritma Run-Length Encoding dan Algoritma Elias Delta Code.

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas, maka permasalahan dalam skripsi ini dapat dirumuskan menjadi bagaimana mengambil file citra sebagai input citra yang akan dikompresi dan didekompresi, sehingga dapat menampilkan citra serta ukurannya sebelum dan sesudah kompresi.

1.3 Batasan Masalah

Batasan masalah dalam penelitian ini adalah: 1. Citra yang dikompresi adalah Grayscale.

2. File yang digunakan berupa file dalam bentuk *.bmp dan berresolusi maksimal 20x20 8 bit.

(71)

4. Parameter yang digunakan adalah Cr (Compression Ratio), Rc (Ratio of Compression), dan Rd (Redudancy Data), waktu kompresi, dan waktu

dekompresi.

1.4 Tujuan Penelitian

Tujuan penelitian dalam tugas akhir ini adalah menunjukkan hasil perbandingan algoritma Run-Length Encoding dan Elias Delta Code dengan menggunakan parameter Cr (Compression Ratio), Rc (Ratio of Compression), dan Rd (Redudancy Data), waktu kompresi, dan waktu dekompresi.

1.5 Manfaat Penelitian

Manfaat yang diharapkan dari penelitian ini antara lain:

1. Untuk mengetahui algoritma kompresi yang lebih baik di antara algoritma Run-Length Encoding dan Elias Delta Code.

2. Memperluas kapasitas penyimpanan file yang digunakan dengan mengurangi ukuran citra yang akan disimpan.

1.6 Metodologi Penelitian

Metodologi yang digunakan dalam tugas akhir ini adalah: 1. Metode Studi Pustaka

Mempelajari buku-buku, jurnal ilmiah, jurnal penelitian, paper, yang berkaitan tentang Algoritma Run-Length Encoding dan Elias Delta Code.

2. Metode Analisis sistem

Pada tahap ini akan dianalisis sistem yang akan dibuat, batasan sistem, kinerja sistem dan cara kerja sistem. Sehingga sistem dapat mengimplementasikan Algoritma Run-Length Encoding dan Elias Delta Code.

3. Metode Perancangan Sistem

(72)

4. Implementasi Sistem

Sistem diimplementasikan dengan menggunakan Algoritma Run-Length Encoding dan Elias Delta Code.

5. Pengujian Sistem

Pada tahap ini dilakukan pengujian kinerja sistem dan kebenaran hasil kompresi file gambar yang dilakukan dengan dua algoritma yang berbeda.

6. Dokumentasi

Pada tahap ini seluruh kegiatan dalam pembuatan sistem didokumentasikan kedalam bentuk tulisan berupa laporan skripsi.

1.7 Sistematika Penulisan

Setelah uraian di bab satu ini, penyajian selanjutnya disampaikan dengan sistematika berikut :

BAB 1: PENDAHULUAN

Menguraikan Latar Belakang, Rumusan Masalah, Batasan Masalah, Tujuan Penelitian, Manfaat Penelitian, Metodologi Penelitian, dan Sistematika Penulisan Skripsi.

BAB 2: TINJAUAN PUSTAKA

Berisi rangkuman informasi yang dihimpun dari pustaka yang relevan dengan topik yang menjadi objek kajian, untuk memperluas basis informasi dalam melakukan kajian dan/atau akan digunakan sebagai basis argumentasi di dalam mengemukakan pandangan.

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

(73)

BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM

Menguraikan analisis dan hasil yang diperoleh di akhir pelaksanaan Skripsi dan pokok-pokok kesimpulan yang dapat dikemukakan sehubungan dengan pencapaian hasil kajian kompresi Run-Length Encoding dan Elias Delta Code.

BAB 5: KESIMPULAN DAN SARAN

(74)

ABSTRAK

Citra digital adalah citra yang dapat diolah oleh komputer. Citra digital disebut juga citra diskrit di mana citra tersebut dihasilkan melalui proses digitalisasi terhadap citra kontinu. Pada penyimpanan citra digital, ukuran citra akan mempengaruhi besar kecilnya memori. Kompresi citra adalah proses pemampatan citra yang bertujuan untuk mengurangi duplikasi data pada citra sehingga memory yang digunakan untuk merepresentasikan citra menjadi lebih sedikit daripada representasi citra semula. Algoritma Run-Length Encoding dan algoritma Elias Delta Code merupakan metode yang dapat digunakan dalam proses kompresi citra digital. Algoritma Run-Length Encoding adalah melakukan kompresi dengan memindahkan pengulangan bit yang sama berturut-turut atau secara terus menerus. Algoritma Elias Delta Code adalah sebuah algoritma kompresi yang dibuat oleh Peter Elias menggunakan kode yang telah dia buat sebelumnya, yaitu Elias Gamma Code, sebagai building block. Pada penelitian ini, kedua algoritma tersebut akan dibandingkan dalam menentukan kualitas citra hasil kompresi berdasarkan waktu kompresi, Rc (Ratio of Compression), Cr (Compression Ratio), dan Rd (Redundancy Data). Citra digital yang digunakan yaitu citra grayscale dengan format *.bmp. Citra hasil kompresi dapat dikembalikan ke ukuran semula dengan proses dekompresi citra. Dalam percobaan yang dilakukan didapatkan bahwa kedua algoritma ini memberikan hasil yang berbeda dimana dan algoritma Elias Delta Code memberikan hasil kompresi yang lebih baik dalam proses pengkompresannya. Sedangkan algoritma Run-Length Encoding memberikan hasil yang terkadang baik tetapi terkadang metode ini tidak mengkompres citra sama sekali karena tidak adanya data yang berulang pada citra, tetapi metode ini mempunyai waktu yang jauh lebih cepat saat melakukan proses kompresi.

(75)

COMPARISON OF IMAGE COMPRESSION USING RUN-LENGTH ENCODING AND ELIAS DELTA CODE ALGORITHMS

ABSTRACT

Digital image is an image that can be processed by computers. Digital image is also called a discrete image in which the image is generated through the process of digitization of the continuous image. In the digital image storage, image size will affect the size of the memory. Image compression is a process that aims to reduce duplication of data in memory so that the image used to represent the image becomes less than the original image representation. Run-Length Encoding algorithms and algorithms Elias Delta Code is a method that can be used in the process of digital image compression. Run-Length Encoding algorithm is compression by moving the repetition of the same bit successively or continuously. Elias Delta Code algorithm is a compression algorithm created by Peter Elias used the code he had made previously, namely Elias Gamma Code, as a building block. Run-Length Encoding algorithms and algorithms Elias Delta Code is a method that can be used in the process of digital image compression. In this study, the algorithms will be compared to determine the quality of image compression based on the compression time, Rc (Ratio Compression), Cr (Compression of Ratio) and Rd (Redundancy Data). Digital imagery used is a grayscale image * .bmp format. Image compression results can be returned to its original size with image decompression process. In experiments conducted found that both of these algorithms give different results and algorithms where Elias Delta Code provides better compression results in the compression process. While the algorithm Run-Length Encoding provide results that are sometimes good but sometimes this method does not compress the image at all because of the absence of repetitive data in the image, but this method has a time much faster when performing the compression process.

(76)

ALGORITMA ELIAS DELTA CODE

SKRIPSI

SAYED HAFITZ

141421041

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(77)

PERBANDINGAN KOMPRESI CITRA MENGGUNAKAN ALGORITMA RUN-LENGTH ENCODING DENGAN ALGORITMA ELIAS DELTA CODE

SKRIPSI

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

SAYED HAFITZ 141421041

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

(78)

PERSETUJUAN

Judul : PERBANDINGAN KOMPRESI CITRA

MENGGUNAKAN ALGORITMA RUN- LENGTH ENCODING DENGAN ALGORITMA ELIAS

DELTA CODE

Kategori : SKRIPSI

Nama : SAYED HAFITZ

Nomor Induk Mahasiswa : 141421041

Program Studi : EKSTENSI S1 ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Herriyance, S.T, M.Kom M. Andri Budiman, S.T., M.Comp.,S.C.,M.E.M. NIP. 198010242010121002 NIP. 197510082008011011

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(79)

PERNYATAAN

PERBANDINGAN KOMPRESI CITRA MENGGUNAKAN ALGORITMA RUN-LENGTH ENCODING DENGAN ALGORITMA ELIAS DELTA CODE

SKRIPSI

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

Medan, September 2016

(80)

PENGHARGAAN

Dengan mengucapkan puji dan syukur kehadirat Allah SWT atas segala rahmat, hidayah serta karunianya sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung, teristimewa untuk kedua orangtua tercinta, Abah Said Hamid dan Mama Dewi Rita, kedua saudara tercinta, Abang Sayed Abdurahman dan Kakak Yuhana Endys Saputeri, dan seluruh keluarga. atas do‟a, dukungan, dan kasih sayang yang telah diberikan kepada penulis selama ini. Pada kesempatan ini pula penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar–besarnya kepada :

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Opim Salim Sitompul, M.Si selaku 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 Dr. Maya Silvi Lydia, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara .

5. Bapak M. Andri Budiman, S.T., M.Comp., S.C., M.E.M. selaku Dosen Pembimbing I yang telah banyak meluangkan waktunya dan dengan sabar telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.

6. Bapak Herriyance, S.T, M.Kom selaku Dosen Pembimbing II dan yang telah banyak meluangkan waktunya dan dengan sabar telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.

(81)

9. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU, terutama Abang Faisal.

10. Seluruh teman-teman Ilmu Komputer, baik Ekstensi maupun Reguler yang selalu memberikan dukungan kepada penulis.

11. Teman-teman Geng Naroow, Pratama Agung, Lia, Kevin, Ruth, Firma Fanny, Junita, dan Benyamin selaku teman-teman Ekstensi Ilmu Komputer 2014 yang selalu memberikan dukungan kepada penulis.

12. Teman-teman Imperial Team, Ichwan, Juanda, Rahmad Syuhada, dan Ahmad Syuhada selaku teman-teman Ekstensi Ilmu Komputer 2014 yang selalu memberikan dukungan kepada penulis.

13. Teman-teman seperjuangan, Ansharullah, Nevo, Lili, Ester, Roy, Aidil, Yudha, Winda, Ploren, Rofika, dan Chitra selaku teman-teman Ekstensi Ilmu Komputer yang sama-sama berjuang untuk mengerjakan skripsi dan yang selalu memberikan dukungan kepada penulis.

14. Teman-teman TGH, Karina, Ade, Tata, Dara, Vinka, Icut, Nova, Dewi, Monica, dan Kiki selaku teman-teman penulis sejak SMA yang selalu memberikan dukungan kepada penulis.

Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.

Medan, September 2016

Gambar

Tabel 4.3 Citra Yang Terkompresi Dengan Algoritma Elias Delta Code
Gambar 4.2 Tampilan Form Home
Gambar 4.3 Tampilan Form Kompresi
Gambar 4.4 Tampilan Form Dekompresi
+7

Referensi

Dokumen terkait

[r]

bahwa berdasarkan pertimbangan sebagaimana dimaksud huruf a, perlu menetapkan Keputusan Bupati Bantul tentang Pembentukan Majelis dan Sekretariat Tuntutan

[r]

Pengaruh Model Kooperatif Tipe Make A Match Terhadap Hasil Belajar Matematika Siswa Kelas VII SMP Negeri 9 Lubuklinggau Pengaruh Model Pembelajaran Kooperatif Tipe Make

• Penyediaan infrastruktur yang mendukung gaya pendidikan era Revolusi Industri 4.0 dengan 4 kemungkinan pembelajaran (konvensional, konvensional plus memanfaatkan hasil

‛‛ Campur Kode dan Alih Kode Pemakaian Bahasa Bali dalam Dharma Wacana Ida Pedanda Gede Made Gunung”.. Fakultas Sastra

Oleh sebab itu tujuan penelitian ini adalah untuk mengetahui apakah ada pengaruh media lagu terhadap hasil belajar matematika pada materi sifat-sifat bangun datar

• Hasil evaluasi TPN menyatakan bahwa ke 7 unit kerja tersebut belum dapat direviu oleh TPN karena surat usulan dari Kementerian Ristek Dikti tidak dilampirkan dengan hasil