KAMUS DAN HUFFMAN CODES
Dina Diana Tambunan¹, Maman Abdurohman², Adiwijaya³
¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom
Abstrak
SMS (Short Message Service) adalah salah satu aplikasi pada mobile phone yang masih diminati hingga kini. Biaya yang dikenakan, dihitung dengan satuan unit pulsa. Sering sekali saat
menuliskan pesan, pesan yang telah dituliskan melebihi 1 (satu) unit pulsa. Sedangkan keinginan user adalah mengirimkan jumlah SMS yang lebih, namun unit pulsa yang dibebankan lebih murah. Untuk itu aplikasi kompresi SMS diharapkan memiliki rasio kompresi yang tinggi, dengan tujuan meminimalkan pemakaian pulsa, waktu yang singkat, dan mampu diimplementasikan pada mobile device yang memiliki sumberdaya terbatas. Tugas akhir ini menggunakan metoda
kompresi berbasis kamus dan dynamic huffman code sebagai algoritma kompresinya. Kamus dibangun dengan menggunakan record Store pada J2ME. Isi kamus merupakan hasil pengumpulan data dari pengguna aplikasi SMS dan diperoleh hasil 781 kata yang akan dikodekan ke dalam 781 kode. Besar kamus yang dibangun, sebesar 9024 Bytes yang terdiri dari 27 record, 26 record utuk huruf, dan 1 record untuk simbol lainnya. Aplikasi ini memiliki besar 122Kbyte. Penyimpanan kata pada record dilakukan dengan cara yang berbeda dengan biasanya, untuk meminimalkan jumlah memory yang terpakai.
Rasio kompresi yang dihasilkan adalah 09.40 %, performansi ini masih dapat ditingkatkan jika database pada kamus ditambah. Waktu kompresi pada umumnya lebih besar dibanding degan waktu dekompresi. RAM yang dibutuhkan saat aplikasi diproses adalah 2.85 Kbytes.
Metode kompresi dynamic huffman code tidak dapat diterapkan pada sistem, karena metode kompresi dynamic huffman lebih sesuai jika digunakan pada sistem real time.
Kata Kunci : Kompresi, SMS, berbasis kamus, dynamic huffman code, performansi, J2ME.
Abstract
SMS (Short Message Service) is an interested application of mobile phone until now. Its cost is counted in a cost unit called pulse. People usually use more than one pulse unit when they write a message. On the other hand, they want to send more message with lower pulse unit. For this reason, SMS-compression application is expected to have a high compression ratio intended to minimize pulse usage, short in time, and can be implemented in a limited-resource mobile device. This final project used a dictionary-based compression method as its compression algorithm. The dictonary is build by using record Store in J2ME. Its contents are 781 words collected from SMS user, and then will be coded to 781 codes. Its size is 9024 Bytes consisted of 27 records, i.e 26 records for characters, and 1 record for other symbols. This application is 122 Kbytes. To minimize memory usage, the words storing to record is conducted with different way from the usual.
The compression ratio resulted is 09.40%, this performance can be increased if the database in dictionary is increased too. The compression time is bigger than decompression time in general. The RAM needed when the application is being processed is 2.85 Kbytes.
Compression method dynamic huffman codes can’t be implemented in system because it is suitably implemented in real time system.
Keywords : Compression, SMS, dictionary-based, dynamic huffman code, performance, J2ME
Powered by TCPDF (www.tcpdf.org)
1
1.
PENDAHULUAN
1.1
Latar belakang
Kehadiran aplikasi-aplikasi baru (contohnya : MMS dan Video Conference) dalam teknologi sellular, belum mampu menggeser penggunaan aplikasi Short Message Service (SMS). Hingga kini, SMS masih merupakan applikasi favorit di kalangan user teknologi sellular.
SMS memungkinkan user saling bertukar pesan-pesan singkat yang ditulis dalam bentuk karakter. Dimana operator mengenakan biaya pengiriman pesan berdasarkan jumlah karakter pesan yang dikirimkan. Biaya yang dikenakan, dihitung dengan satuan unit pulsa. Harga setiap unit pulsa berbeda-beda sesuai kebijakan operator. Dimana satu unit pulsa hanya bisa mengirimkan maksimum 160 karakter. Jika user ingin mengirimkan pesan lebih dari 160 karakter, maka user dikenakan biaya lebih dari satu unit pulsa. Ini berarti biaya yang dikeluarkan oleh user semakin besar.
Saat ini banyak operator yang membuat kebijakan penurunan biaya komunikasi termasuk tarif SMS dengan tujuan menarik konsumen. Namun penurunan tarif tersebut hanya berlaku untuk operator yang sama. Sehingga biaya SMS ke operator lain tetap sama. Penurunan tarif tidak mengakibatkan biaya untuk pengiriman SMS menjadi gratis. Hal ini didukung dengan kebijakan pemerintah dalam regulasi pulsa, yang menetapkan biaya minimum SMS. Sehingga setiap pengguna layanan SMS akan tetap dikenakan tarif tertentu sesuai kebijakan operator.
Dengan adanya permasalahan di atas, maka Tugas Akhir ini berusaha untuk mengurangi pengenaan biaya terhadap pengiriman SMS, dengan melakukan kompresi pada pesan yang akan dikirimkan. Kompresi ini akan mengurangi jumlah karakter yang dikirim, tanpa kehilangan informasi di dalamnya .
Banyak metode / algoritma kompresi yang telah dikembangkan diantaranya Huffman, dynamic huffman codes, LIFO, LZ77, LZ78, LZW, DMC, Arithmetic, Shannon-Fano, berbasis kamus, induksi grammar, dll. Setiap algorima memiliki keunggulan masing-masing. Pemilihan algoritma kompresi sangat dipengaruhi dengan kebutuan dan batasan akan kompresi data tersebut. Kompresi pada SMS memiliki kebutuhan akan rasio kompresi yang tinggi, dengan tujuan meminimalkan pemakaian pulsa. Selain itu, diharapkan proses kompresi akan menggunakan waktu yang relatif singkat, karena pengguna layanan SMS mengharapkan pesan dikirimkan, cepat diterima oleh penerima. Sedangkan yang menjadi batasan penerapan aplikasi
kompresi di mobile device adalah keterbatasan memory, pengirim data hanya
dilakukan sekali, kompres dan dekompres dilakukan pada mobile device yang berbeda.Dengan adanya kebutuhan dan batasan tersebut, maka tugas akhir ini akan menggunakan metoda kompresi berbasis kamus dan dynamic huffman codes sebagai algoritma kompresi untuk aplikasi kompresi SMS
2
J2ME (Java Micro Edition),C++ dengan OS Symbian, Phyton, dll adalah bahasa
pemograman yang digunakan untuk membangun sebuah aplikasi pada mobile device.
J2ME adalah bahasa pemograman yang tidak tergantung pada OS (Operating System)
mobile device. Sehingga aplikasi kompresi SMS yang akan dikembangkan dengan
menggunakan J2ME MIDP(Mobile Information Device Profile) 2.0 dengan WTK
(Wireless Tool Kit) 2.2 sebagai emulator. Pilihan MIDP 2.0 didasarkan pada kondisi mobile device yang saat ini banyak digunakan pengguna mobile device, telah suport
MIDP 2.0. Selain itu teknologi MIDP 2.0 memungkinkan share resource (berbagi
sumberdaya cth: record store) antar aplikasi.
Alpikasi kompresi SMS akan ditanamkan pada mobile divice diterapkan pada handphone yang support Java MIDP 2.0.
1.2
Perumusan Masalah
Permasalahan yang dijadikan objek penelitian pada Tugas Akhir ini adalah Pembuatan applikasi kompresi di SMS dengan menggunakan metode kompresi berbasis kamus dan dynamic huffman codes dan mengimplementasikannya pada mobile device yang support dengan Java MIDP 2.0. Dan Pengujian serta analisa hasil pengujian aplikasi. Aplikasi tidak berhubungan dengan transmisi pesan. Aplikasi hanya bekerja pada device, yang digunakan sebelum mengirim pesan, dan setelah pesan diterima. Input aplikasi adalah berupa SMS dan outputnya berupa SMS hasil kompresi. Software yang digunakan adalah Java MIDP 2 dengan WTK 2.0. Penelitian ini tidak akan membahas tentang ketahanan software terhadap serangan (robustness).
1.3
Tujuan
Tujuan dari penulisan Tugas Akhir ini adalah :
1. Membuat dan mengimplementasikan aplikasi kompresi teks dengan metode
kompresi berbasis kamus dan dynamic huffman codes pada SMS.
2. Menganalisa performansi metode kompresi berbasis kamus dan dynamic huffman
codes pada teks SMS dengan parameter performansi adalah rasio kompresi, waktu kompresi, dan RAM(Random Access Memory) yang digunakan saat proses berlangsung.
1.4
Metode Penyelesaian Masalah
Metodologi yang digunakan untuk menyelesaikan masalah dalam Tugas Akhir ini adalah :
1. Studi Literatur
Studi literatur dari beberapa buku, jurnal, artikel yang membahas algoritma kompresi dan karakteristiknya serta pembuatan aplikasi dengan menggunakan J2ME pada mobile device.
3 2. Konsultasi dengan dosen pembimbing dan pihak lain di luar pembimbing untuk
mendapatkan masukan untuk penyelesaian tugas akhir ini. 3. Perancangan Sistem
Merancang pemecahan masalah berdasarkan hasil analisis yang didokumentasikan dalam suatu spesifikasi dengan menggunakan metode pengembangan perangkat luanak.
4. Implementasi
Pembuatan aplikasi dengan menggunakan J2ME MIDP 2.0 dengan wireless toolkit 2.0, dan menanamkannya di handphone yang sesuai dengan spesifikasi. 5. Pengujian
Pengujian dilakukan dengan mengirimkan berbagai pesan, dengan jumlah karakter yang berbeda-beda untuk mengetahui hasil kompresi. Pengujian dilakukan pada mobile device, dengan menggunakan pesan yang sama pada aplikasi dengan metode kompresi yang berbeda.
Powered by TCPDF (www.tcpdf.org)
38
5
KESIMPULAN DAN SARAN
5.1
Kesimpulan
Berdasarkan analisa dan pengujian maka dapat diambil kesimpulan sebagai berikut:
1. Rasio kompresi pada metoda berbasis kamus, sangat dipengaruhi oleh
ketersedian kamus yang lengkap, sehingga dapat memetakan lebih banyak karakter pada pesan menjadi kode untuk kompresi.
2. Waktu yang diperlukan untuk melakukan kompresi maupun dekompresi
tidak hanya tergantung pada jumlah karakter pesan saja, tetapi juga dipengaruhi oleh posisi letak kata atau singkatan di dalam kamus.
3. Penggunaan aplikasi kompresi SMS bisa diimplementasikan pada mobile
device dengan RAM minimal 2.85 MB.
4. Pemilihan metode kompresi dynamic huffman code untuk sistem kompresi
SMS tidak tepat.
5.2
Saran
Penulis mengharapkan penelitian dapat dikembangkan lebih lanjut diantaranya:
1. Diharapkan adanya penelitian tentang kompresi terhadap MMS, karena
biaya MMS jauh lebih besar jika dibanding dengan SMS.
2. Diharapkan adanya penelitian tentang kompresi pada aplikasi chating yang
saat ini banyak digunakan di mobile phone pada jaringan GPRS.
3. Diharapkan adanya penelitian yang emggabungkan metoda kompresi SMS
berbasis kamus dan statistikal, yang memungkinkan besar rasio kompresi semakin besar.
4. Diharapkan untuk penelitian kompresi pada sistem store-and-forward tidak
menggunakan dynamic huffman code sebagai metoda kompresinya.
Powered by TCPDF (www.tcpdf.org)
39
DAFTAR PUSTAKA
[1] Bloch Cynthia , Wagner Annette. MIDP 2.0 Style Guide for the Java 2 Platform, Micro
Edition Sun microsystem,Inc. ,2003
[2] Daconta C. Michael , Java untuk pemograman C/C++ ANDI Yogyakarta 1997
[3] Dermawati Rully, Tugas Akhir. Kompresi SMS dengan Menggunakan Metode
Perulangan Karakter dan Metode Induksi Hirarki Grammar serta Metode Kombinasi Perulangan Karakter Induksi Hirarki Grammar Jurusan Teknik Informatika
STT Telkom Bandung
[4] Haris Tom ,How File Compression Works
www.howstuffworks.com/file-compression.htm di download pada tanggal 25 Januari 2007
[5] Held Gilbert, Marshall Thomas R. Data Compression England,1991
[6] Java Comunity Procces,Wireless Messaging API Vertion 1.0 , Sun Microsystems, Inc.
,2002
[7] Linawati, Panggabean P Henry., Kompresi huffman, LZW, dan DMC pada berbagai tipe
file, Jurusan Ilmu Komputer, FMIPA Universitas Katolik Parahyangan Bandung
home.unpar.ac.id/~integral/Volume%209/Integral%209%20No.%201/Abstract-9-1.htm di download pada tanggal 26 Januari 2007
[8] Mobile Communication Laboratory, Modul J2ME Short Course for Advanced, Mobile
Communication Laboratory STT Telkom, 2007
[9] Nelson Mark, Jean – Loup Gailly, The data compression Book 2nd ed. M & T Books
New York,1996
[10] Sayood Khalid , Introduction to Data Compression,University of Nebraska -Lincoln
[11] Tremblett Paul. Instant Wireless Java with J2ME California U.S.A,2002
[12] VITTER JEFFREY SCOTT, Design and Analysis of Dynamic Huffman Codes , Brown
University, Providence, Rhode Island,1987
www.cs.duke.edu/~jsv/Papers/Vit87.jacmACMversion.pdf di download pada tanggal 17 Oktober 2007
[13] VITTER JEFFREY SCOTT, ALGORITHM 673Dynamic Huffman Coding ,Brown
University, Providence, Rhode Island, 1989
[14] White James, Hemphill David, Java 2Micro Edition Java in Small Things ,Manning
40 Publications Co, 2002
[15] Wicaksono Ady. Aplikasi Wireless dengan Java Jakarta.2002
[16] www.binaryessence.com/dct/en000111.htm di download pada tanggal 18 Oktober 2007
[17] www.smartphoneware.com/download/task_man60/best_task_man60.zip . di download
pada tanggal 10 Januari 2008
Powered by TCPDF (www.tcpdf.org)