• Tidak ada hasil yang ditemukan

Mufan Sari Wahyuni Lubis

N/A
N/A
Protected

Academic year: 2021

Membagikan "Mufan Sari Wahyuni Lubis"

Copied!
5
0
0

Teks penuh

(1)

Hal: 439-443

Penerapan Algoritma Levenstein Pada Aplikasi Kompresi File Gambar

Mufan Sari Wahyuni Lubis

Program Studi Teknik Informatika, Universitas Budi Darma, Medan, Sumatera Utara, Indonesia Email: mufanlubis@gmail.com

Abstrak

Pada saat ini perkembangan dalam dunia teknologi berkembang sangat pesat seiring dengan kebutuhan masyarakat dalam memperoleh informasi secara cepat. Berbagai macam fasilitas teknologi terus dikembangkan agar masyarakat dapat melakukan pertukaran informasi dalam bentuk gambar atau citra, teks, dan audio dengan baik. Gambar (citra) merupakan hal yang vital dan menjadi bagian integral dari kehidupan sehari-hari. Keterbatasan media penyimpanan menjadi kendala untuk mengelola suatu gambar atau citra. Untuk mengatasi masalah tersebut maka data di kompresi untuk mengurangi ukurannya. Salah satu kegunaan kompresi adalah untuk memperkecil kapasitas kosong dalam memori media penyimpanan, agar kita tidak terlalu boros menggunakan media penyimpanan tersebut. Kompresi data berarti suatu teknik untuk memampatkan data agar diperoleh data dengan ukuran yang lebih kecil daripada ukuran aslinya sehingga lebih efisien dalam menyimpannya serta mempersingkat waktu pertukaran data tersebut. Dengan adanya kompresi diharapkan dapat menghemat biaya serta waktu yang dikeluarkan guna menambah fasilitas media penyimpanan data pada komputer serta mempercepat proses transfer data.

Kata Kunci: Kompresi Data, Algoritma Levenstein, File Gambar, Citra, BMP, Grayscale.

1. PENDAHULUAN

Pada saat ini perkembangan dalam dunia teknologi berkembang sangat pesat seiring dengan kebutuhan masyarakat dalam memperoleh informasi secara cepat. Berbagai macam fasilitas teknologi terus dikembangkan agar masyarakat dapat melakukan pertukaran informasi dalam bentuk gambar atau citra, teks, dan audio dengan baik. Gambar (citra) merupakan hal yang vital dan menjadi bagian integral dari kehidupan sehari-hari. Pada kepentingan tertentu, gambar (citra) digunakan sebagai alat untuk mengungkapkan pertimbangan (reason), interpretasi, ilustrasi, penggambaran (represent), ingatan (memorise), pendidikan, komunikasi, evaluasi, navigasi, hiburan, dan lain sebagainya.

Keterbatasan media penyimpanan menjadi kendala untuk mengelola suatu gambar atau citra. Data dengan ukuran file gambar yang besar akan memakan waktu menyimpan lebih lama dibandingkan dengan file gambar yang memiliki ukuran lebih kecil, terkadang ada resiko tidak dapat tertampung pada media penyimpanan dan tidak tersampaikannya, sehingga akan memperkecil kapasitas kosong dalam memori media penyimpanan.

Untuk mengatasi masalah tersebut maka data di kompresi untuk mengurangi ukurannya. Salah satu kegunaan kompresi adalah untuk memperkecil kapasitas kosong dalam memori media penyimpanan, agar kita tidak terlalu boros menggunakan media penyimpanan tersebut. Kompresi data berarti suatu teknik untuk memampatkan data agar diperoleh data dengan ukuran yang lebih kecil daripada ukuran aslinya sehingga lebih efisien dalam menyimpannya serta mempersingkat waktu pertukaran data tersebut[1].

Dari penelitian sebelumnya yang dilakukan oleh Cut Try Utari, menunjukkan bahwa teknik kompresi citra bertujuan untuk meminimalkan kebutuhan memori dalam mempresentasikan citra digital dengan mengurangi duplikasi data. Kompresi data berarti suatu teknik untuk memampatkan dalam citra sehingga memori yang

dibutuhkan menjadi lebih sedikit daripada representasi citra data agar diperoleh data dengan ukuran yang lebih kecil dari pada ukuran aslinya sehingga lebih efisien dalam menyimpannya serta mempersingkat waktu pertukaran data tersebut[2].

Raras Krasmala, menyimpulkan bahwa hasil kompresi tergantung pada pemilihan kualitas kompresi yang diinginkan. Jika kita memilih kompresi dengan kualitas standar, maka citra hasil kompresi dengan citra yang asli tidak akan terlihat perbedaannya namun pengurangan ukuran bytes tidak terlalu drastis. Tetapi apabila kita memilih kualitas kompresi rendah, maka ukuran bytes pada citra akan berkurang namun kualitas gambar hasil kompresi akan terlihat perbedaannya dengan citra asli[3].

2. TEORITIS A. Kompresi

Proses kompresi merupakan proses mereduksi ukuran suatu data untuk menghasilkan representasi digital yang padat atau mampat (compact) namun tetap dapat mewakili kuantitas informasi yang terkandung pada data tersebut. Pada citra, video, dan audio, kompresi mengarah pada minimisasi jumlah bit rate untuk representasi digital. Pada beberapa literatur, istilah kompresi sering disebut juga source coding, data compression, bandwidth compression, dan signal compression[5].

B. Kompresi Citra

Kompresi citra digital merupakan upaya untuk melakukan transformasi terhadap data atau simbol penyusunan citra digital menjadi data atau simbol lain, tanpa menimbulkan perubahan yang terlihat signifikan atas citra digital tersebut bagi mata manusia yang mengamatinya. Tujuannya adalah untuk mengurangi redudansi dari data-data yang terdapat dalam citra sehingga dapat di simpulkan atau ditransmisikan secara efisien[3].

(2)

C. Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dan 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[7].

D. Algoritma Levenstein Code

Algoritma Levenstein Code atau Levenstein Coding merupakan pengkodean universal untuk bilangan bulat non-negatif yang dikembangkan oleh Vladimir Levenshein pada tahun 1968. Algoritma ini tidak banyak diketahui atau kurang dikenal. Algoritma Levenstein Code merupakan algoritma yang prosesnya melalui tahapan-tahapan tertentu baik pada saat pengkodean maupun pembacaan sandi[9].

Proses pengkodean pada algoritma Levenstein Code adalah kode nol pada Levenstein Code adalah 0 tunggal. Untuk mengkodekan angka positip n, lakukan langkah-langkah berikut:

a. Atur jumlah variabel C menjadi 1.

b. Tuliskan representasi biner dari nomor tanpa awalan “1” ke kode awal.

c. Misalkan M adalah jumlah bit yang dituliskan pada langkah kedua.

d. Jika M tidak sama dengan 0, tambahkan C dengan 1. Ulangi langkah kedua, dengan M dimasukkan sebagai nomor baru.

e. Jika M sama dengan 0, tambahkan C “1” bit dan 0 ke awal kode. Tabel Levenstein Code yang menunjukkan 18 kode Levenstein dapat dilihat pada tabel 1 di bawah ini.

Tabel 1. Kode Levenstein

𝒏 Kode Levenstein 𝒏 Kode Levenstein

0 0 9 1110 1 001 1 10 10 1110 1 010 2 110 0 11 1110 1 011 3 110 1 12 1110 1 100 4 1110 0 00 13 1110 1 101 5 1110 0 01 14 1110 1 110 6 1110 0 10 15 1110 1 111 7 1110 0 11 16 11110 0 00 0000 8 1110 1 000 17 11110 0 00 0001 3. ANALISA

Analisa merupakan suatu usaha untuk mengamati secara detail sesuatu hal atau benda dengan cara menguraikan komponen-komponen pembentuknya atau penyusunnya untuk dikaji lebih lanjut. Analisa bertujuan untuk mendapatkan pemahaman metode yang diangkat secara keseluruhan tentang sistem yang akan dibuat berdasarkan masukan dari pihak-pihak dan juga analis yang berkepentingan dengan sistem tersebut.

A. Penerapan Metode

Cara kerja proses kompresi dilakukan dengan menerapkan konsep sebuah kompresi dengan aturan-aturan yang sesuai dengan algoritma yang digunakan. Dari hasil kompresi maka didapat perbandingan kapasitas sebelum dimampatkan maupun rasio setelah dilakukannya kompresi. Dalam melakukan kompresi ada beberapa langkah yang dilakukan yaitu:

a. Citra awal yang akan di lakukan pengkompresian b. Mengambil nilai pixel dari citra tersebut.

c. Melakukan kompresi sesuai metode pemampatan yang digunakan

d. Citra hasil kompresian (encode).

Untuk lebih jelasnya akan dipaparkan contoh dari proses kompresi dengan menerapkan metode Levenstein. Dibawah ini merupakan file gambar ekstensi *bmp berjenis

grayscale, kedalaman warna 8 bit dengan resolusi

1944x1944 pixel. Diambil sampel dari file gambar dibawah dengan resolusi sebesar 5x5 pixel.

Gambar 1. Mufan.bmp Grayscale Resolusi 5x5 px Matriks dibawah ini merupakan nilai piksel dari Gambar 1 diatas. Pada langkah ini, dilakukan perhitungan nilai piksel. Hal ini bertujuan untuk mengetahui besarnya ukuran file gambar yang akan dikompres. Untuk menampilkan nilai tiap pixelnya menggunakan software aplikasi matlab.

Tabel 2. Matriks Nilai Piksel 241 172 88 73 78 244 189 97 67 75 244 205 111 67 74 243 219 127 74 77 244 228 139 81 79

Gambar matriks diatas merupakan nilai piksel yang didapatkan dari software aplikasi matlab. Susun nilai piksel dalam bentuk tabel, hitung berapa banyak kemunculan dari nilai piksel dan nyatakan sebagai frekuensi lalu kalikan dengan kedalaman warna dari gambar, yang akan menghasilkan ukuran dari file gambar.

Tabel 3. Pemetaan Data Gambar Sebelum Dikompresi

No Nilai Piksel Frekuensi Bit (Kedalaman Warna) Frekuensi * Bit 1 241 1 8 8 2 172 1 8 8 3 88 1 8 8 4 73 1 8 8

(3)

Hal: 439-443 No Nilai Piksel Frekuensi Bit (Kedalaman Warna) Frekuensi * Bit 5 78 1 8 8 6 244 3 8 24 7 189 1 8 8 8 97 1 8 8 9 67 2 8 16 10 75 1 8 8 11 205 1 8 8 12 111 1 8 8 13 74 2 8 16 14 243 1 8 8 15 219 1 8 8 16 127 1 8 8 17 77 1 8 8 18 228 1 8 8 19 139 1 8 8 20 81 1 8 8 21 79 1 8 8 Jumlah = 200 bit

Perhitungan tabel diatas menghasilkan 200 bit, karena akan diubah menjadi satuan byte maka bagikan dengan 8. 200 bit / 8 = 25 bytes. Setelah mendapatkan ukuran dari nilai piksel, tahap selanjutnya menerapkan metode Levenstein. Sebelum melakukan tahap ini, urutkan terlebih dahulu berdasarkan dari nilai yang memiliki frekuensi terbesar ke terkecil. Pada tahap selanjutnya, urutkan kode levenstein sesuai dengan tabel kode yang terdapat pada tabel 3 Nilai piksel 244 memiliki frekuensi paling besar dan diurutkan paling atas kode levenstein nya adalah 0. Nilai 67 diurutkan kedua paling atas kode levenstein adalah 10, dan seterusnya.

Tabel 4. Pemetaan Data Gambar Proses Kompresi

No Nilai Piksel Kode Levenstein Freq Bit (Kode Levenstein) Freq * Bit 1 244 0 3 1 3 2 67 10 2 2 4 3 74 1100 2 4 8 4 241 1101 1 4 4 5 172 1110 0 00 1 7 7 6 88 1110 0 01 1 7 7 7 73 1110 0 10 1 7 7 8 78 1110 0 11 1 7 7 9 189 1110 1 000 1 8 8 10 97 1110 1 001 1 8 8 11 75 1110 1 010 1 8 8 12 205 1110 1 011 1 8 8 13 111 1110 1 100 1 8 8 14 243 1110 1 110 1 8 8 15 219 1110 1 111 1 8 8 16 127 11110 0 00 0000 1 12 12 17 77 11110 0 00 0001 1 12 12 No Nilai Piksel Kode Levenstein Freq Bit (Kode Levenstein) Freq * Bit 18 228 11110 0 00 0010 1 12 12 19 139 11110 0 00 0011 1 12 12 20 81 11110 0 00 0100 1 12 12 21 79 11110 0 00 0101 1 12 12 Jumlah = 175 bit Setelah nilai piksel mendapatkan masing-masing kode levenstein, lakukan perhitungan dengan menghitung bit dari kode levenstein tersebut dan kalikan dengan frekuensi nilai piksel. Lakukan penjumlahan dan mendapatkan ukuran file gambar terkompres dengan satuan bit. Ubah satuan menjadi byte dengan dibagikan 8 menjadi, 175 bit / 8 = 21,87 bytes.

Setelah diketahui kode untuk masing-masing nilai piksel maka akan diperoleh sebuah string bit yang telah dikompresi untuk Mufan.bmp.

Tabel 5. String Bit Yang Telah Dikompresi 11011110000111000111100101110011011101000111010 011011101010 01110101111101100101100111011101110111111110000 000011001111 00000001011110000001011110000001111110000010011 1100000101

Selanjutnya adalah megubah kode Levenstein Mufan.bmp menjadi file gambar berbentuk piksel. Namun sebelum itu dilakukan pemeriksaan terhadap panjang string bit Mufan.bmp terlebih dahulu. Bit-bit itu dihasilkan dari panjang string bit itu sendiri apakah habis dibagi delapan dan berapa sisanya jika dibagi delapan. Jika sisa bagi panjang string bit terhadap 8 adalah 0 maka tambahkan “00000001” nyatakan dengan Bit Akhir. Karena jumlah string bit 175 tidak habis dibagi delapan dan sisanya adalah 7 bit, nyatakan sisa bagi tersebut dengan nilai n. Maka tambahkan 0 sebanyak 7 – n +”1” di akhir string bit. Nyatakan dengan L. Lalu tambahkan bilangan biner dari 9 - n. Nyatakan dengan Bit Akhir.

n = MOD (175,8) = 7 L = 7 – n + “1” L = 7 – 7 + “1” = 1

Bit Akhir = 9 – n Bit Akhir = 9 – 7 = 6 = 00000010

Tabel 6. String Bit Yang Telah Dilakukan Penambahan 11011110000111000111100101110011011101000111010 011011101010 01110101111101100101100111011101110111111110000 000011001111 00000001011110000001011110000001111110000010011 1100000101100000010

(4)

Hasil matriks nilai piksel kode Levenstein dapat dilihat pada gambar di bawah ini:

Tabel 7. Biner Yang Telah Dilakukan Penambahan 11011110 00011100 01111001 01110011 01110100 01110100 11011101 01001110 10111110 11001011 00111011 10111011 11111100 00000011 00111100 00000101 11100000 01011110 00000111 11100000 10011110 00001011 00000010 00000000 00000000

Biner yang ditebalkan merupakan biner tambahan yang bernilai nol. Setelah nilai biner tersusun sesuai dengan resolusi awal gambar maka lakukan pembacaan ke nilai desimal yang merupakan nilai piksel maka terbentuklah file gambar yang sudah dikompresi.

Tabel 8. Matriks Gambar Terkompresi 222 28 121 115 116 116 221 78 190 203 59 187 252 3 60

5 224 94 7 224

158 11 2 0 0

Gambar 2. Hasil Gambar Terkompresi

Dari hasil proses kompresi di atas dapat dihitung kinerja dari algoritma Levenstein, sebagai berikut:

Rasio = 100% -[Hasil Kompresi

Citra Asli 𝑥100%] Rasio = 100% -[107 128𝑥100%] Rasio = 100% - 84% = 16 % 4. IMPLEMENTASI

Implementasi sistem merupakan tahap dalam melakukan tindakan atau rencana yang telah disusun secara rinci dan jelas. Implementasi umumnya dilakukan apabila perencanaan yang sebelumnya telah selesai. Membutuhkan beberapa spesifikasi yakni meliputi perangkat keras (hardware), perangkat lunak (software) dan implementasi program.

a. Tampilan Form Menu Utama

Gambar dibawah merupakan menu utama, saat menjalankan program akan menampilkan dua pilihan menu, yaitu Menu yang mana jika di klik akan menampilkan dua sub menu, kompresi dan dekompresi. Menu yang kedua adalah keluar akan mengeluarkan dari program.

Gambar 3. Form Menu Utama b. Tampilan Form Kompresi

Tampilan halaman menu proses kompresi merupakan halaman yang digunakan untuk melakukan proses kompresi pada file gambar dengan menggunakan metode Levenstein. Gambar dibawah ini menunjukkan tampilan halaman menu kompresi.

Gambar 4. Form Kompresi c. Tampilan Form Dekompresi

Tampilan halaman menu dekompresi merupakan halaman yang digunakan untuk melakukan proses dekompresi pada file gambar dengan menggunakan metode Levenstein. Gambar dibawah ini menunjukkan tampilan halaman menu dekompresi.

Gambar 5. Form Dekompresi d. Hasil Pengujian Program

Pada sub bab ini menampilkan proses input dan output yang sudah dibangun dengan menggunakan software aplikasi yang sudah di tentukan.

(5)

Hal: 439-443

Gambar 6. Proses Kompresi

Gambar 7. Proses Dekompresi

5. KESIMPULAN

Kesimpulan yang dapat ditarik setelah dilakukan uji coba terhadap sistem yang dapat melakukan proses kompresi dan dekompresi file gambar menggunakan metode Levenstein, sebagai berikut:

a. Berdasarkan penelitian sebelumnya, dengan melakukan pengkompresian terhadap beberapa file teks dan uji coba yang telah dilakukan pada penelitian kali ini pada file gambar, jika dibandingkan algoritma Levenstein lebih bagus digunakan dalam pengkompresian file teks. Terlihat dari persentase rasio yang berhasil dimampatkan pada kompresi file teks lebih besar dibandingkan file gambar. Proses kompresi dan dekompresi pada file gambar ini sendiri menampilkan hasil yang cukup baik.

b. Proses penerapan metode Levenstein yang dilakukan pada contoh file gambar pada saat dikompresi menunjukkan hasil yang cukup efektif, dimana kinerja dari metode tersebut menghasilkan 13% rasio.

c. Dalam perancangan aplikasi ini menggunakan bahasa pemrograman Visual Basic 2008 menampilkan hasil yang baik.

REFERENCES

[1] M. I. Dzulhaq, “Aplikasi Kompresi File Dengan Metode Lempel-Ziv-Welchof,” J. Sisfotek Glob., vol. 4, no. 1, pp. 1–4,

2014.

[2] C. T. Utari, “IMPLEMENTASI ALGORITMA RUN LENGTH

ENCODING UNTUK PERANCANGAN APLIKASI

KOMPRESI DAN DEKOMPRESI FILE CITRA,” J. TIMES, vol. V, no. 2, pp. 1–8, 2016.

[3] R. Krasmala, A. B. Purba, U. T. Lenggana, and T. Informatika, “Kompresi Citra Dengan Menggabungkan Metode Discrete Cosine Transform ( DCT ) dan Algoritma Huffman,” JOIN, vol. 2, no. 1, pp. 1–9, 2017.

[4] E. B. Nababan and M. Zarlis, “Results Analysis of Text Data Compression On Elias Gamma Code , Elias Delta Code and Levenstein Code,” vol. 4, no. 9, 2014.

[5] D. Putra, Pengolahan Citra Digital. Andi, 2010.

[6] N. Mancelina, “PENERAPAN METODE PERBANDINGAN

EKSPONENSIAL DALAM MENGANALISA KINERJA

ALGORITMA FIXED LENGTH BINARY ENCODING DENGAN VARIABLE LENGTH BINARY ENCODING,” vol. 2, no. 1, pp. 1–4, 2017.

[7] T. et al Sutoyo, Teori Pengolahan Citra Digital. Andi, 2009. [8] P. D. Dr. Suarga, M. Sc., M. Math., Algoritma dan Pemograman.

Andi, 2006.

[9] D. Salomon, Handbook of Data Compression. Springer-Verlag London Limited, 2010.

[10] R. A. S, Rekaya Perangkat Lunak Terstruktur dan Berorientasi Objek. Informatika Bandung, 2015.

[11] W. Komputer, Panduan Aplikatif dan Solusi (PAS) Membangun Aplikasi Toko dengan Visual Basic 2008. Yogyakarta: Andi, 2009.

Gambar

Tabel 1. Kode Levenstein
Tabel 6. String Bit Yang Telah Dilakukan Penambahan  11011110000111000111100101110011011101000111010 011011101010  01110101111101100101100111011101110111111110000 000011001111  00000001011110000001011110000001111110000010011 1100000101100000010
Gambar 6. Proses Kompresi

Referensi

Dokumen terkait

The quotation above happens when Santiago finishes in helping a candy seller to assemble the stall, after he leaves the seller he realized that the two of them are not talking

Gambar 3.06 Gambar visualisasi analisa spasial dari tempat duduk VIP 80 Gambar 3.07 Gambar visualisasi analisa spasial dari tempat duduk paling belakang (dasar)

Sebagaimana Tercantum dalam penjelasan dari Pasal 24 Peraturan Pemerintah Nomor 24 Tahun 1997 tentang Pendaftaran Tanah, terdapat alat bukti tertulis untuk dapat

Oleh karena itulah, kami hendak melakukan penelitian terhadap motivasi mahasiswa Sastra Inggris Unisma dalam mempelajari Bahasa Inggris untuk mengetahui orientasi

Untuk variabel frekuensi kompresi dada sesudah dilaksanakan kompresi dada berdasarkan metode rule of Þ ve didapatkan pada kelom- pok perlakuan sebagian besar

Pada penelitian ini, peneliti melakukan pendekatan dengan cara observasi partisipan yang mengharuskan peneliti ikut dalam kegiatan Sapu Jagad 2017 yang mana

Dari hasil pengolahan data tabel 1.2 dapat diketahui bahwa hasil pengujian uji t menunjukkan bahwa secara parsial variabel harga, bauran produk, dan kualitas