APLIKASI KOMPRESI TEKS SMS PADA MOBILE DEVICE DENGAN MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

dokumen-dokumen yang mirip
Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

BAB 2 TINJAUAN PUSTAKA

APLIKASI KOMPRESI TEKS SMS PADA MOBILE DEVICE BERBASIS ANDROID DENGAN MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

BAB 2 LANDASAN TEORI

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

BAB 2 TINJAUAN PUSTAKA

Penerapan Pohon Biner Huffman Pada Kompresi Citra

PENINGKATAN EFISIENSI KODE HUFFMAN (HUFFMAN CODE) DENGAN MENGGUNAKAN KODE HUFFMAN KANONIK (CANONICAL HUFFMAN CODE)

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

Penerapan Pengkodean Huffman dalam Pemampatan Data

Kompresi. Definisi Kompresi

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL. foto, bersifat analog berupa sinyal sinyal video seperti gambar pada monitor

BAB 2 Tinjauan Teoritis

BAB II DASAR TEORI. 2.1 Pendahuluan

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

Teknik Kompresi Citra Menggunakan Metode Huffman

PEMAMPATAN CITRA (IMA

KOMPRESI CITRA. Pertemuan 12 Mata Pengolahan Citra

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011

Pemampatan Citra. Esther Wibowo Erick Kurniawan

BAB 2 TINJAUAN PUSTAKA

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. Dalam bidang teknologi informasi, komunikasi data sangat sering

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA

BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

1. PENDAHULUAN 1.1. Latar Belakang Masalah

BAB II LANDASAN TEORI. Kompresi data atau pemampatan data adalah suatu proses pengubahan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

~ By : Aprilia Sulistyohati, S.Kom ~

Analisis Algoritma Huffman Statis Dalam Kompresi Teks Pada Short Message Service (SMS)

KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON HUFFMAN. Nama : Irfan Hanif NIM :

Pemampatan Data dengan Kode Huffman pada Perangkat Lunak WinZip

TEKNIK KOMPRESI LOSSLESS TEXT

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO MULTIMEDIA. Kompresi. Oky Dwi Nurhayati, ST, MT

KOMPRESI DATA DAN TEKS. By : Nurul Adhayanti

Pemampatan Citra Pemampatan Citra versus Pengkodean Citra

Kompresi. Pengertian dan Jenis-Jenis Kompresi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Analisa Perbandingan Rasio Kecepatan Kompresi Algoritma Dynamic Markov Compression Dan Huffman

BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN. halaman khusus untuk pengaksesan dari handphone. Semakin baik informasi akan

KONSEP. Tujuan Kompresi:

Kompresi Data dengan Kode Huffman dan Variasinya

SATUAN ACARA PERKULIAHAN ( SAP )

1. Pendahuluan. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TUGAS AKHIR IMPLEMENTASI ALGORITMA METODE HUFFMAN PADA KOMPRESI CITRA

KOMPRESI CITRA. lain. Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa perangkat,

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : 640 x 480 = 4800 karakter 8 x 8

Kode Huffman dan Penggunaannya dalam Kompresi SMS

PENERAPAN METODE HUFFMAN DALAM PEMAMPATAN CITRA DIGITAL

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON- FANO UNTUK KOMPRESI FILE TEXT

Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC

BAB 1 PENDAHULUAN Latar Belakang


>>> Kompresi Data dan Teks <<<

Kata Kunci Kompresi, Dekompresi, Metode Huffman, SMS, Teks, Data.

KOMPRESI TEKS dengan MENGGUNAKAN ALGORITMA HUFFMAN

PERANCANGAN APLIKASI KOMPRESI CITRA DENGAN METODE RUN LENGTH ENCODING UNTUK KEAMANAN FILE CITRA MENGGUNAKAN CAESAR CHIPER

DIGITAL IMAGE CODING. Go green Aldi Burhan H Chandra Mula Fitradi Mardiyah

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN

Perbandingan Kompresi Data Menggunakan Algoritma Huffman dan Algoritma DMC

DATA COMPRESSION CODING USING STATIC AND DYNAMIC METHOD OF SHANNON-FANO ALGORITHM

BAB I PENDAHULUAN. Saat ini perkembangan teknologi berkembang sangat cepat. Penyimpanan

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT.

PEMAMPATAN DATA DIGITAL MENGGUNAKAN METODA RUN-LENGTH

PENGANTAR KOMPRESI DATA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

MKB3383 -TEKNIK PENGOLAHAN CITRA. Kompresi Citra. Muhammad Zidny Naf an, M.Kom. Genap, 2016/2017

Implementasi Metode Run Length Encoding (RLE) untuk Kompresi Citra

JURNAL IT STMIK HANDAYANI

ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS

IMPLEMENTASI ALGORITMA RUN LENGTH ENCODING UNTUK PERANCANGANAPLIKASI KOMPRESI DAN DEKOMPRESI FILE CITRA

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

KOMPRESI DAN TEKS. By Aullya Rachmawati,

BAB 2 LANDASAN TEORI

KOMPRESI DATA. Multimedia Jurusan Teknik Informatika. Riki Ruli S -

Sending Image as Text Message in SMS with Lossy Compression and Run Length Algorithm Method

BAB 2 LANDASAN TEORI

BAB I. PENDAHULUAN Latar Belakang Masalah

BAB IV HASIL DAN UJI COBA

Abstrak. Kata kunci: MMS, Steganografi, LSB-Insertion, Huffman Code, Image, PNG, Embedding.

Transkripsi:

APLIKASI KOMPRESI TEKS SMS PADA MOBILE DEVICE DENGAN MENGGUNAKAN ALGORITMA HUFFMAN KANONIK Azanuddin Dosen Tetap STMIK Budi Darma Medan Jl. Sisingamangaraja No. 338 Simpang Limun Medan www.stmik-budidarma.ac.id//email:azanuddin@yahoo.co.id Abstrak Peningkatan kualitas citra merupakan salah satu proses awal dalam peningkatan mutu citra. Peningkatan mutu citra diperlukan karena seringkali citra yang dijadikan objek pembahasan mempunyai kualitas yang buruk, misalnya citra mengalami derau, kabur. Metode contrast streching dibuat dengan beberapa tahapan yaitu antara lain image enhancement berupa proses perbaikan citra dengan meningkatkan kualitas citra baik kontras maupun kecerahan. Peningkatan mutu citra adalah suatu proses mendapatkan citra yang lebih mudah diinterpretasikan oleh mata manusia. Proses pengolahan citra yang termasuk dalam kategori peningkatan mutu citra terdiri dari proses-proses yang bertujuan memperbaiki mutu citra untuk memperoleh keindahan gambar, untuk kepentingan analisis citra, dan untuk mengoreksi citra. Kata kunci: Penajaman,Citra Digital,Contrast Streching 1. Pendahuluan Short Message Service (SMS) merupakan salah satu aplikasi dari teknologi sellular yang paling banyak diminati, karena user dapat berkomunikasi dengan mengirimkan pesan-pesan pendek tanpa perlu khawatir akan biayanya dan waktu penyampainya pun relatif cepat. SMS adalah sebuah pesan yang dikirimkan dari sender ke receiver dengan panjang karakter maksimal adalah 160 karakter untuk setiap satu SMS. Untuk mengirimkan pesan yang lebih dari 160 karakter, maka biaya yang dikeluarkan pun berlipat sesuai jumlah karakter SMS. Dalam menulis pesan SMS, seorang pengguna biasa melakukannya dengan cara menyingkat isi pesan tersebut. Hal ini dilakukan selain karena kesulitan atau malas untuk mengetikkan isi pesan juga untuk menghemat tempat, sehingga terkadang, isi pesan yang ada, harus di edit untuk menyesuaikan agar dapat termuat dalam satu halaman SMS dan tentu akan merepotkan para pengguna ketika harus melakukan pengiriman SMS, sehingga perlu dibuat suatu aplikasi dilakukan dengan cara menyusun teks yang ada (mengkodekan informasi) menggunakan informasi lain yang lebih rendah daripada representasi data yang tidak terkodekan dengan suatu sistem enkoding tertentu. Proses dekoding merupakan kebalikan dari enkoding yang berarti menyusun kembali data dari hasil enkoding menjadi sebuah karakter kembali. Proses enkoding dilakukan terhadap data SMS yang akan dikirimkan ke handphone tujuan sedangkan dekoding dilakukan terhadap data SMS yang diterima oleh handphone penerima. Dengan adanya proses kompresi terhadap teks SMS maka akan terjadi pemampatan terhadap data SMS sehingga dapat menghemat biaya pengiriman SMS (pulsa). Selain itu dengan adanya untuk menambah pemuatan karakter SMS yang akan dikirimkan dalam satu halaman, dengan cara mengkompresi isi pesan atau teks SMS tersebut. Kompresi merupakan proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan dan waktu untuk transmisi data. Contoh kompresi sederhana yang biasa dilakukan misalnya adalah menyingkat kata-kata yang sering digunakan tapi sudah memiliki konvensi umum. Misalnya kata yang dikompres menjadi kata yg. Saat ini terdapat berbagai tipe algoritma kompresi, antara lain: Huffman, LZ77 dan variannya (LZ78, LZW, GZIP), Dynamic Markov Compression (DMC), Run -Length, Shannon-Fano dan lain-lain. Kompresi data menjadi sangat penting karena dapat memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, dan memperkecil kebutuhan bandwidth. Proses kompresi terhadap teks SMS dilakukan dengan cara melakukan proses enkoding dan dekoding terhadap data berupa teks SMS. Enkoding data proses enkoding dan dekoding terhadap teks SMS maka hal ini dapat memproteksi isi pesan SMS ketika terjadi penyadapan. Hal ini terjadi karena isi pesan akan sulit dibaca jika pesan tersebut belum dilakukan proses dekoding. 2. Landasan Teori 2.1 Kompresi Data Kompresi data merupakan cabang dari Teori Informasi. Teori Informasi sendiri adalah salah satu cabang Matematika yang berkembang sekitar akhir 1940an. Tokoh utama dari Teori Informasi adalah Claude Shannon dari Bell Laboratory. Teori Informasi Diterbitkan Oleh : STMIK Budi Darma Medan 28

memfokuskan pada berbagai metode tentang informasi termasuk penyimpanan dan pemrosesan pesan. Teori Informasi mempelajari pula tentang redundancy pada pesan. Semakin banyak redundancy semakin besar pula ukuran pesan, upaya mengurangi redundancy ini yang akhirnya melahirkan subyek ilmu tentang kompresi data. Wayan Name Astagina (2010). Pengantar Kompresi Data. tanggal akses 19/05/2011, http:// yanname.blogspot.com/2010/03/pengantarkompresi-data.html. Kompresi data merupakan sebuah cara untuk memadatkan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil sehingga lebih efisien dalam penyimpanannya dan mempersingkat waktu pertukaran data tersebut. Keuntungan kompresi data adalah penghematan tempat pada media penyimpanan dan penghematan bandwidth pada pengiriman data. Namun kompresi data juga memiliki sisi negatif, bila data yang terkompresi ingin dibaca, perlu dilakukan dekompresi terlebih dahulu. Pada pengiriman data, penerima data harus mengerti proses decoding dalam data terkompresi yang diterima atau dengan kata lain, penerima juga harus memiliki perangkat lunak yang sama dengan pengirim sehingga dapat melakukan proses decoding tersebut. Berikut ini adalah beberapa teknik kompresi data yang dikategorikan menurut jenis data yang akan dikompresi, yaitu: 1. Teknik kompresi untuk citra diam (still image) Contoh: JPEG, GIF dan run-length. 2. Teknik kompresi untuk citra bergerak ( motion picture) Contoh: MPEG. 3. Teknik kompresi untuk data teks Contoh: half byte. 4. Teknik kompresi untuk data umum Contoh: LZW, half byte dan Huffman. 5. Teknik kompresi untuk data sinyal speech Contoh: PCM, SBC, LPC dan CELP. Ada empat pendekatan yang digunakan pada kompresi suatu data, yaitu: 1. Pendekatan statistik Kompresi didasarkan pada frekuensi kemunculan derajat keabuan pixel didalam seluruh bagian. Contoh: Huffman coding. 2. Pendekatan ruang Kompresi didasarkan pada hubungan spasial antara pixel-pixel didalam suatu kelompok yang memiliki derajat keabuan yang sama dalam suatu daerah gambar atau data. Contoh: Run-Length encoding 3. Pendekatan kuantisasi Kompresi dilakukan dengan mengurangi jumlah derajat keabuan yang tersedia. Contoh: Kompresi kuantisasi (CS&Q) 4. Pendekatan Fraktal Kompresi dilakukan pada kenyataan bahwa kemiripan bagian-bagian di dalam data atau citra atau gambar dapat dieksploitasi dengan suatu matriks transformasi Contoh: Fractal image compression. Berdasarkan Output, Algoritma Kompresi Data dapat diklasifikasikan menjadi dua jenis, yaitu: 1. Algoritma Kompresi Lossless 2. Algoritma Kompresi Lossy 2.1.1 Algoritma Kompresi Lossless Lossless data kompresi adalah kelas dari algoritma data kompresi yang memungkinkan data yang asli dapat disusun kembali dari data kompresi. Lossless data kompresi digunakan dalam berbagai aplikasi seperti format ZIP dan GZIP. Lossless juga sering digunakan sebagai komponen dalam teknologi kompresi data lossy. Kompresi Lossless digunakan ketika sesuatu yang penting pada kondisi asli. Beberapa format gambar sperti PNG atau GIF hanya menggunakan kompresi lossless, sedangkan yang lainnya seperti TIFF dan MNG dapat menggunakan Algoritma lossy atau lossless. http://www.hilman.web.id/posting/blog/1105/aplikasikompresi-data-tergantung-jenis-file-terbaik-adalahpaq8p-dan-win-rk.html. Algoritma lossless menghasilkan data yang identik dengan data aslinya, hal ini dibutuhkan untuk banyak tipe data, contohnya: executable code, word processing files, tabulated numbers, dan sebagainya. Misalnya pada citra atau gambar dimana Algoritma ini akan menghasilkan hasil yang tepat sama dengan citra semula, pixel per pixel sehingga tidak ada informasi yang hilang akibat kompresi. Namun ratio kompresi (Rasio kompresi yaitu, ukuran file yang dikompresi dibanding yang tak terkompresi dari file) dengan Algoritma ini sangat rendah. Algoritma ini cocok untuk kompresi citra yang mengandung informasi penting yang tidak boleh rusak akibat kompresi, misalnya gambar hasil diagnosa medis. Contoh Algoritma lossless adalah metode run-length, Huffman, delta dan LZW. Kompresi Lossless dibagi menjadi 2 yaitu : 1. Algoritma berbasis Entropi Algoritma berbasis Entropi, atau disebut juga berbasis statistik, menggunakan model statistik dan probabilitas untuk memodelkan data, keefisienan kompresi bergantung kepada berapa banyak karakter yang digunakan dan seberapa besar distribusi probabilitas pada data asli. Contoh algoritma yang berbasis entropi adalah: Huffman Coding, Adaptive Huffman, dan Shannon Fano, Run Length, Burrows wheeler transform 2. Algoritma berbasis Dictionary Algoritma berbasis dictionary, bekerja dengan cara menyimpan pola masukan sebelumnya, dan menggunakan index dalam mengakses pola tersebut jika terdapat perulangan. Contoh algoritma yang berbasis dictionary adalah: LZ77, Diterbitkan Oleh : STMIK Budi Darma Medan 29

LZ78, LZW, DEFLATE, dan LZMA. membuat kode ini lebih efisien dalam beberapa hal dibandingkan dengan kode Huffman. 2.1.2 Algoritma Kompresi Lossy Lossy kompresi adalah suatu Algoritma untuk mengkompresi data dan men-dekompresinya, data yang diperoleh mungkin berbeda dari yang aslinya tetapi cukup dekat perbedaaanya. Lossy kompresi ini paling sering digunakan untuk kompres data multimedia (Audio, gambar diam). Sebaliknya, kompresi lossless diperlukan untuk data teks dan file, seperti catatan bank, artikel teks dll. Format kompresi lossy mengalami generation loss yaitu jika melakukan berulang kali kompresi dan dekompresi file akan menyebabkan kehilangan kualitas secara progresif. hal ini berbeda dengan kompresi data lossless. ketika pengguna yang menerima file terkompresi secara lossy (misalnya untuk mengurangi waktu download) file yang diambil dapat sedikit berbeda dari yang asli dilevel bit ketika tidak dapat dibedakan oleh mata dan telinga manusia untuk tujuan paling praktis. Algoritma ini menghasilkan ratio kompresi yang lebih besar daripada Algoritma lossless. Misal terdapat image asli berukuran 12,249 bytes, kemudian dilakukan kompresi dengan JPEG kualitas 30 dan berukuran 1,869 bytes berarti image tersebut 85% lebih kecil dan ratio kompresi 15%. Contoh Algoritma lossy adalah Algoritma CS&Q ( coarser sampling and/or quantization), JPEG, dan MPEG. Ada dua skema dasar lossy kompresi : 1. Lossy Transform Codec Sampel suara atau gambar yang diambil, di potong kesegmen kecil, diubah menjadi ruang basis yang baru, dan kuantisasi. hasil nilai kuantisasi menjadi entropy coded. 2. Lossy Predictive Codec Sebelum atau sesudahnya data di-decode digunakan untuk memprediksi sampel suara dan frame picture saat ini. kesalahan antara data prediksi dan data yang nyata, bersama-sama dengan informasi lain digunakan untuk mereproduksi prediksi, dan kemudian dikuantisasi dan kode. 2.2 Kode Huffman Kanonik Kode Huffman kanonik merupakan suatu bentuk variasi dari kode Huffman yang memiliki sifat dapat dideskripsikan dengan sangat kompres (compactly described) (Rd. Aditya Satrya Wibawa, 2009, p.4). Hal ini disebabkan kode Huffman kanonik memiliki aturan-aturan penulisan yang baku sehingga beberapa hal dapat disepakati dan tidak perlu dituliskan pada deskripsi kode. Contohnya adalah kode harus terurut berdasarkan urutan simbol, panjang kode suatu simbol harus sesuai dengan aras simpul simbol tersebut pada pohon Huffman. Deskripsi kode yang compact Gambar 1 : Pohon Huffman Tabel 1 : Kode Huffman dari Pohon Huffman Seperti yang diketahui, jika terdapat n-1 simpul dalam, Penulis dapat membuat 2 n -1 kode Huffman baru dengan cara melabeli ulang ( relabelling) setiap sisi dari simpul dalam (karena setiap sisi simpul dalam memiliki dua pilihan kemungkinan pelabelan, yaitu 0 dan 1). Pada contoh di atas Penulis akan memiliki 2 5 = 32 kode Huffman yang berbeda. Tetapi, Penulis nyatakan kode tersebut dalam sebagai 00x, 10y, C, D. Semua permutasi yang mungkin terhadap A, B, C, dan D akan menghasilkan kode Huffman yang valid dalam arti panjang kodenya ( codelength) akan sama dan semua kodenya akan berupa kode awalan ( prefix code). Terdapat 4! permutasi yang mungkin dan (x,y) memiliki empat kemungkinan nilai. Maka, total kode Huffman yang mungkin dihasilkan sebenarnya berjumlah 96 buah kode. Ini berarti terdapat kodekode awalan lain yang tidak bisa dihasilkan oleh pohon Huffman (Huffman tree), tetapi memiliki panjang kode rata-rata ( average codelength) yang sama dengan yang dihasilkan oleh pengkodean Huffman. Kode Huffman kanonik (Canonical Huffman Code) merupakan kode yang semacam itu. Sebuah contoh diberikan berikut ini : Diterbitkan Oleh : STMIK Budi Darma Medan 30

Gambar 2 : Pohon Huffman Kanonik Tabel 2 : Kode Huffman Kanonik dari pohon Huffman 2.3.4 Proses Decoding Untuk melakukan operasi decoding dengan string bit sebagai input. Definisikan v sebagai sebuah variabel penyimpan input bits (yang akan di-decode) sepanjang nilai biner yang direpresentasikan oleh v lebih kecil dari first(l). Nilai first(l) akan tetap dibutuhkan walaupun tidak terdapat kode dengan panjang kode l. Saat nilai v bertambah besar melebihi atau sama dengan nilai first(l), itu berarti loop program sedang berada di antara dua buah kelompok kode (kelompok kode berdasarkan kesamaan panjang kode), jadi harus menentukan batas address kelompok kode ini untuk mengakses simbol yang disimpan pada array dalam memori. Berikut ini adalah algoritmanya. Untuk menunjukkan proses decoding kode Huffman kanonik akan di-decode sebuah potongan string biner berikut ini: 00001000000001000000000110010001011 Mengikuti algoritma yang sudah dijelaskan sebelumnya, proses decode untuk simbol pertama adalah : 1. Nilai l = 1 2. Assign bit pertama, yaitu 0, pada variabel v. 3. Nilai representasi biner dari v adalah 0 yang lebih kecil daripada first(1) =2, maka rangkaikan bit berikutnya, yaitu 0, sehinggan nilai v = 00. 4. Nilai l = 2. 5. Nilai representasi biner dari v adalah 0 yang lebih kecil daripada first(2) =1, maka rangkaikan bit berikutnya, yaitu 0, sehinggan nilai v = 000. 6. Nilai l = 3. 7. Nilai representasi biner dari v adalah 0 yang lebih kecil daripada first(3) =1, maka rangkaikan bit berikutnya, yaitu 0, sehinggan nilai v = 0000. 8. Nilai l = 4. 9. Nilai representasi biner dari v adalah 0 yang lebih kecil daripada first(4) =2, maka rangkaikan bit berikutnya, yaitu 1, sehinggan nilai v = 00001. 10. Nilai l = 5. 11. Nilai representasi biner dari v adalah 1 yang lebih besar daripada first(5) = 0, maka stop condition terpenuhi dan loop berhenti.. 12. Nilai difference = 1 0 = 1. 13. Output simbol pada address ke first_address(5) + difference = 0 + 1 = 1. Dapat dilihat pada tabel, simbol dengan address 1 adalah b. 14. Nilai l diinisialisasi kembali menjadi 1 dan program siap me-decode simbol berikutnya. Dengan melakukan langkah yang serupa pada simbol ketiga sampai ketujuh, Penulis akan memperoleh hasil 00001 00000 00010 00000 00011 001 00010 11 di-decode menjadi bacadec. Untuk dua bit terakhir atau sama dengan satu simbol terakhir, langkah-langkahnya akan dijabarkan sebagai berikut: 1. Nilai l = 1 2. Saat ini, program sudah sampai pada bit ke-34 yang akan Penulis sebut current bit. Assign current bit, yaitu 1, pada variabel v. 3. Nilai representasi biner dari v adalah 1 yang lebih kecil daripada first(1) = 2, maka rangkaikan bit berikutnya, yaitu 1, sehinggan nilai v = 11. 4. Nilai l = 2. 5. Nilai representasi biner dari v adalah 3 yang lebih besar daripada first(2) = 1, maka stop condition terpenuhi dan loop berhenti. 6. Nilai difference = 3 1 = 2. 7. Output simbol pada address ke first_address(2) + difference = 5 + 2 = 7. Dapat dilihat pada tabel, simbol dengan address 7 adalah h. 8. Lihatlah bahwa string biner telah habis sehingga stop condition kalang loop terluar terpenuhi dan program berhenti. Hasil akhir proses decode yang Penulis dapatkan adalah bacadech yang merupakan hasil decoding dari string biner 00001 00000 00010 00000 00011 001 00010 11. 3. Analisa 3.1.1 Analisa Encoding Berikut merupakan sebuah teks SMS yang akan dikirimkan sebanyak 193 karakter. Jumlah ini diatas 160 karakter, karena sebuah SMS yang dikirimkan dengan maksimal 160 karakter dalam satu framenya, maka hasil yang akan tampak adalah penghematan memory dan bandwith saja, dari segi biaya tidak akan Diterbitkan Oleh : STMIK Budi Darma Medan 31

berpengaruh karena pengguna akan tetap mengeluarkan cost yang sama. Karakter SMS yang dikirim sebanyak 193 akan mengakibatkan pengirim harus mengirimkan lebih dari 1 frame. Pengiriman lebih dari kapasitas maksimum sebuah SMS akan membuat pengirim membayar cost 2 SMS jika dilakukan tanpa melakukan kompresi terlebih dahulu Sebagai Contoh : Pak, hari ini saya berangkat dari Medan menggunakan Lion Air penerbangan JT 387 pada pukul 12.00 WIB dan akan tiba di Jakarta pada pukul 14.00 WIB. Atas perhatiannya, saya ucapkan terima kasih. Tabel 3 : Karakter di Enkoding Tabel 4 : Karakter yang telah dikodekan ke Huffman Kanonik 3.1.2 Analisa Dekoding Untuk melakukan proses dekoding maka hal pertama yang harus dilakukan adalah membaca bit-bit tersebut berdasarkan panjang kode yang paling panjang, berdasarkan tabel 3.2, contoh string Pak, kode adalah 9 dan berdasarkan contoh string diatas dapat 001000111. Setelah dilakukan pembacaan bit maka langkah berikutnya adalah melakukan konversi terhadap kode tersebut menjadi bentuk desimal, 001000111 akan direpresentasikan ke dalam bentuk desimal menjadi 71. Setelah didapat bentuk desimal maka lakukan pencarian pada tabel apakah kode dengan panjang 9 dan representasi desimal 71 terdapat di dalam tabel atau tidak. Jika data tersebut tidak ditemukan maka lakukan sehingga kini data menjadi 00100011 dan akan direpresentasikan sebagai 35. Lakukan pencarian data pada tabel 3.2 sampai data berhasil ditemukan. Proses ini dilakukan sampai semua bit telah berhasil diterjemahkan. Berikut Penjelasan dari proses dekodingnya, dengan contoh Pak, : Kode bit = 00100011110110010010011 LANGKAH I Diterbitkan Oleh : STMIK Budi Darma Medan 32

2. Baca kode sebanyak 9 bit dari posisi awal sebelah kiri, maka didapat : 001000111 3. Ubah kode kebentuk desimal 6. Lakukan pencarian sampai semua bit telah berhasil diterjemahkan. 001000111 71 9 [tidak ada] 00100011 35 8 P 0010001 17 7 [tidak ada] 001000 8 6 [tidak ada] 00100 4 5 [tidak ada] 0010 2 4 [tidak ada] 001 1 00 0 0 0 LANGKAH II 2. Baca kode sebanyak 9 bit dimana posisi awal dari posisi huruf yang berhasil ditemukan terakhir, maka didapat : 110110010 3. Ubah kode kebentuk desimal 6. Lakukan pencarian sampai semua bit telah berhasil diterjemahkan. 110110010 434 9 [tidak ada] 11011001 217 8 [tidak ada] 1101100 108 7 [tidak ada] 110110 54 6 [tidak ada] 11011 27 5 [tidak ada] 1101 13 4 a 110 6 11 3 1 1 LANGKAH III 2. Baca kode sebanyak 9 bit dimana posisi awal dari posisi huruf yang berhasil ditemukan terakhir, maka didapat : 100100100 3. Ubah kode kebentuk desimal 6. Lakukan pencarian sampai data berhasil ditemukan. 100100100 292 9 [tidak ada] 10010010 146 8 [tidak ada] 1001001 73 7 [tidak ada] 100100 36 6 [tidak ada] 10010 18 5 k 1001 9 4 [tidak ada] 100 4 10 2 1 1 LANGKAH IV 2. Baca kode sebanyak 9 bit dimana posisi dari posisi huruf yang berhasil ditemukan terakhir, maka didapat : 010011 3. Ubah bit kebentuk desimal 6. Lakukan pencarian sampai data berhasil ditemukan. 010011 19 6, 01001 9 5 [tidak ada] 0100 4 Diterbitkan Oleh : STMIK Budi Darma Medan 33

4 [tidak ada] 010 2 01 1 0 0 Hasil akhir dari proses decode adalah Pak, yang didapat dari string biner 00100011 1101 10010 010011 [2]. Sholahudin, M., Rosa, A. S., 2006, Pemrograman J2ME Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile, Bandung, Informatika. [3]. Tim Penelitian Dan Pengembangan Wahana Komputer, 2005, Pengembangan Aplikasi Sistem Informasi Akademik Berbasis SMS Dengan Java, Jakarta, Salemba Infotek. [4]. (Http://en.wikipedia.org/wiki/Huffman_coding) [5]. (http://www.besoeki.com/2011/aplikasikompresi-7-zip.html.) 4. Penutup 4.1 Kesimpulan Dari hasil penulisan dan analisa dari bab-bab sebelumnya, maka dapat diambil kesimpulankesimpulan, dimana kesimpulan-kesimpulan tersebut kiranya dapat berguna bagi para pembaca, sehingga penulisan skripsi ini dapat lebih bermanfaat. Adapun kesimpulan-kesimpulan tersebut adalah sebagai berikut : 1. Aplikasi Kompresi Teks SMS yang dirancang dapat dijalankan pada mobile device dengan syarat perangkat mobile tersebut harus mendukung fitur Java TM. 2. Aplikasi Kompresi Teks SMS yang dirancang dapat dijalankan pada mobile device dengan fitur java dan yang mendukung profil MIDP ( Mobile Information Device Profile) 2.0 3. Algoritma Huffman kanonik dapat diterapkan dalam Aplikasi Kompresi Teks SMS tersebut, sehingga proses enkoding dan dekoding akan lebih optimal. 4.2 Saran Penulis juga memiliki beberapa saran untuk mahasiswa atau para pembaca. Adapun saran-saran yang dapat penulis berikan antara lain : 1. Untuk pengembangan lebih lanjut, pesan yang dikompresi tidak hanya pesan dengan tipe teks saja, tetapi juga pesan yang mendukung MMS. 2. Untuk pengembangan lebih lanjut, tidak menggunakan RMS dalam mekanisme menyimpan pesan masuk dan keluar, tapi menggunakan basis data yang lain seperti Sql lite. 3. Untuk pengembangan lebih lanjut, metode kompresi yang digunakan tidak hanya satu tapi bisa dikombinasikan dari beberapa metode kompresi sehingga dapat dicapai hasil yang lebih maksimal. berbasis apa pun. Daftar Pustaka [1]. Raharjo Budi, Haryanto Imam dan HaryonoArif, 2007, Tuntunan Pemrograman JavaUntuk Handphone, Bandung, Informatika. Diterbitkan Oleh : STMIK Budi Darma Medan 34