PERFORMANSI MODIFIKASI LZW UNTUK KOMPRESI SMS
LAPORAN TUGAS AKHIR
Deny Aprianto 13203092/Teknik Telekomunikasi
PROGRAM STUDI TEKNIK ELEKTRO SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2007
HALAMAN PENGESAHAN
PERFORMANSI MODIFIKASI LZW UNTUK KOMPRESI SMS
Disusun sebagai prasyarat untuk mendapatkan gelar sarjana
Disusun oleh : DENY APRIANTO 13203092
Pembimbing,
Dr.Ir. Hendrawan NIP : 131660121
ABSTRAK Short Message Service atau SMS merupakan salah satu layanan yang disediakan untuk mengirimkan pesan text singkat antar peralatan telekomunikasi tanpa kabel. Pesan text yang dikirimkan merupakan kombinasi alphanumerik. Text alphanumerik yang digunakan dalam SMS menggunakan sistem pengkodean text dengan panjang tetap yaitu 7 bit per karakter atau 8 bit per karakter atau 16 bit per karakter sesuai dengan jenis alphanumerik yang digunakan. Sistem pengkodean 7 bit per karakter adalah sistem pengkodean ASCII yang dipakai secara luas. SMS yang menggunakan sistem pengkodean ini hanya mampu menampung 160 karakter untuk setiap satu paket SMS. Oleh karena itu, untuk meningkatkan jumlah karakter yang dapat ditampung dengan menggunakan satu paket SMS diperlukan sistem pengkodean yang membutuhkan bit yang lebih sedikit. Pada laporan tugas akhir ini akan dicoba bagaimana performansi modifikasi LZW untuk kompresi data dengan menggunakan emulator. Modifikasi ini dirasa perlu dilakukan untuk menutupi kelemahan dari dictionary techniques yang secara umum kurang baik digunakan untuk kompresi data yang sedikit dan memerlukan protokol pengiriman seperti SMS. Laporan ini juga berisi bagaimana perencanaan pembuatan program dengan menggunakan UML, hasil simulasi beserta grafiknya, serta analisa kekurangan dan kelebihan dari modifikasi LZW ini.
Kata kunci : SMS, LZW, J2ME, SendSMS, TerimaSMS
i
ABSTRACT Short message service(SMS) is a service to enable short text messages transmission between wireless device communications. Short text messages are sent in the form of alphanumeric combination. SMS uses fixed length alphanumeric text encoding which is 7 bits per character or 8 bits per character or 16 bits per character depend on the kind of alphanumeric used. Widely used ASCII system encoding use 7 bit per character. SMS that use this encoding system only contains maximum 160 characters for each SMS packet. To increase the SMS packet capacity, other encoding system can be used to lessen the number of bits. In this final project, the writer will try how LZW’s modified will work if this algorithm used for compressing data using emulator. This modified felt necessary to be done to cover the weakness of dictionary techniques that generally not good for compressing small data and need sending’s protocol like SMS. This final project also contains planing of making the program using UML, the result from simulation with their grafic, and the analysis about the advantages disadvantages of this LZW modification.
Keywords : SMS, LZW, J2ME, SendSMS, TerimaSMS
ii
and
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa, karena atas segala rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan laporan tugas akhir ini. Penyusunan laporan tugas akhir ini dilakukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Elektro di Institut Teknologi Bandung. Pada kesempatan ini, penulis mengucapkan terima kasih yang sebesarbesarnya kepada : 1. Orang tua atas segala dukungan dan doanya sehingga penulis dapat menyelesaikan penulisan laporan tugas akhir ini. 2. Bapak Dr.Ir.Hendrawan, selaku pembimbing tugas akhir akhir yang selalu membantu penulis dalam mengerjakan tugas akhir ini. 3. Kharis, Yusdi dan Hadi atas segala bantuan dan sarannya dalam pengerjaan tugas akhir ini. 4. Teman-teman di kos yang membantu menciptakan suasana kondusif sehingga penulis dapat menyelesaikan penulisan tugas akhir ini. 5. Seluruh
teman-teman
tehnik
elektro
yang
membantu
penulis
menyelesaikan tugas akhir ini. Penulis menyadari bahwa tugas akhir ini sederhana dan jauh dari sempurna. Oleh sebab itu segala kritik dan saran yang membangun sangat diharapkan. Akhir kata semoga tugas akhir ini dapat berguna dan bermanfaat bagi pembaca.
Bandung, September 2007
Penulis
iii
DAFTAR ISI ABSTRAK .............................................................................................................. i ABSTRACT........................................................................................................... ii KATA PENGANTAR .......................................................................................... iii DAFTAR ISI......................................................................................................... iv DAFTAR TABEL................................................................................................ vii DAFTAR GAMBAR .......................................................................................... viii BAB I ..................................................................................................................... 1 PENDAHULUAN ................................................................................................. 1 1.1 Latar Belakang ............................................................................................. 1 1.2 Perumusan Masalah ..................................................................................... 2 1.3 Tujuan Penelitian ......................................................................................... 2 1.4 Batasan Masalah .......................................................................................... 2 1.5 Metodologi Penelitian .................................................................................. 2 1.6 Sistematika Penulisan .................................................................................. 3 BAB II.................................................................................................................... 4 DASAR TEORI ..................................................................................................... 4 2.1 Pendahuluan................................................................................................. 4 2.1.1 Kompresi Lossless ..................................................................................... 4 2.1.2 Kompresi Lossy ......................................................................................... 4 2.1.3 Dictionary Coding...................................................................................... 5 2.1.4 Algoritma Lempel-Ziv ............................................................................... 6 2.1.5. Algoritma LZW ........................................................................................ 6 2.2. Sistem Pengkodean ..................................................................................... 8 2.2.1. Fixed Length Encoding............................................................................ 8 2.2.2. Variable Length Encoding ....................................................................... 8 2.2.3. Prefix Code .............................................................................................. 9 BAB III ................................................................................................................ 10 PERANCANGAN SIMULASI ........................................................................... 10 3.1. Batasan dan Karakteristik Modifikasi LZW ............................................. 10
iv
3.1.1. Pemilihan Dictionary Technique LZW.............................................. 11 3.1.2. Pemilihan J2ME................................................................................. 11 3.2. Sistem Modifikasi LZW ........................................................................... 11 3.2.1 UML untuk SendSMS......................................................................... 12 3.2.1.1. Use Case Diagram SendSMS .......................................................12 3.2.1.2. Sequence Diagram SendSMS .......................................................14 3.2.1.3. Collaboration Diagram SendSMS ...............................................15 3.2.1.4. Activity Diagram SendSMS .........................................................15 3.2.1.5. Class Diagram SendSMS .............................................................19 3.2.2. UML untuk TerimaSMS .................................................................... 20 3.2.2.1. Use Case Diagram TerimaSMS ...................................................20 3.2.2.2. Sequence Diagram TerimaSMS ...................................................21 3.2.2.3. Collaboration Diagram TerimaSMS.............................................. 22 3.2.2.4. Activity Diagram TerimaSMS ......................................................22 3.2.2.5. Class Diagram TerimaSMS..........................................................25 BAB IV ................................................................................................................ 27 SIMULASI DAN ANALISIS.............................................................................. 27 4.1. Simulasi..................................................................................................... 27 4.1.1. Pembuatan Project SendSMS ............................................................ 27 4.1.2. Pembuatan Project TerimaSMS......................................................... 35 4.2. Performansi Algoritma Modifikasi LZW untuk Kompresi SMS ............. 42 4.2.1. Informasi Data Pengujian .................................................................. 42 4.2.2. Tabel dan Grafik SMS Total.............................................................. 43 4.2.3. Tabel dan Grafik SMS Terkompresi.................................................. 45 4.2.4. Tabel dan Grafik SMS Tidak Terkompresi ....................................... 46 4.3. Kelebihan dan Kekurangan Modifikasi LZW serta Ide Mengatasinya..... 48 4.3.1. Kekurangan Algoritma Modifikasi LZW dan Ide Memperbaikinya . 51 4.3.2. Kelebihan Algoritma Modifikasi LZW ............................................. 54 BAB V KESIMPULAN DAN SARAN .............................................................. 55 5.1. Kesimpulan ............................................................................................... 55 5.2. Saran ......................................................................................................... 55
v
DAFTAR PUSTAKA .......................................................................................... 56 LAMPIRAN A…………………………………………………………………A-1 LAMPIRAN B ................................................................................................... B-1 Atribut dan Method Class Java ....................................................................... B-1
vi
DAFTAR TABEL Tabel 4 - 1 Persentase Kompresi Total..........................................................43 Tabel 4 - 2 Persentase SMS Terkompresi......................................................45 Tabel 4 - 3 Persentase SMS Tidak Terkompresi............................................46 Tabel Lampiran – 1 Atribut Kompresi dan Dekompresi………………......A-1 Tabel Lampiran – 2 Method Kompresi dan Dekompresi………………….A-1
vii
DAFTAR GAMBAR Gambar 3 – 1 Use Case SendSMS……………………………………………... 12 Gambar 3 – 2 Sequence Diagram SendSMS……………….………………… .. 14 Gambar 3 – 3 Collaboration Diagram SendSMS……………..………………... 15 Gambar 3 – 4 Activity Diagram SendSMS……………...……………........... …16 Gambar 3 – 5 Activity Diagram Compressi………………..………………….. 17 Gambar 3 – 6 Class Diagram SendSMS……………………………………… .. 19 Gambar 3 – 7 Use Case TerimaSMS…..……………………………………… . 20 Gambar 3 – 8 Sequence Diagram TerimaSMS……..……….…………………. 21 Gambar 3 – 9 Collaboration Diagram TerimaSMS……..……..……………… . 22 Gambar 3 – 10 Activity Diagram TerimaSMS…....……...…………………… . 23 Gambar 3 – 11 Activity Diagram Decompress…….………..……………...…. 24 Gambar 3 – 12 Class Diagram TerimaSMS…….……………………………... 25 Gambar 4 – 1 User Interface J2ME WTK22…………………………………….27 Gambar 4 – 2 User Interface Membuat Project Baru……………………………27 Gambar 4 – 3 User Interface API Selection…………………………………......28 Gambar 4 – 4 User Interface Setting Vendor dan Versi…………………………29 Gambar 4 – 5 User Interface Optional…………………………………………...29 Gambar 4 – 6 User Interface Setting SMS Port………………………………….29 Gambar 4 – 7 User Interface Setting MIDLET………………………………….30 Gambar 4 – 8 User Interface Setting Push Registry…………………………......30 Gambar 4 – 9 User Interface Setting Permission…………………………….......30 Gambar 4 – 10 Tampilan KToolbar………………………………………….......31 Gambar 4 – 11 Compiling SendSMS…………………………………………….32 Gambar 4 – 12 Tampilan Awal Emulator……………………………………......33 Gambar 4 – 13 Proses Simulasi……………………………………………….....34 Gambar 4 – 14 User Interface J2ME WTK22…………………………………...35 Gambar 4 – 15 User Interface Membuat Project Baru…………………………..35 Gambar 4 – 16 User Interface API Selection……………………………………36 Gambar 4 – 17 User Interface Setting Vendor dan Versi………………………..37
viii
Gambar 4 – 18 User Interface Optional……………………………………....37 Gambar 4 – 19 User Interface Setting SMS Port……………………………..37 Gambar 4 – 20 User Interface Setting MIDLET……………………………..38 Gambar 4 – 21 User Interface Setting Push Registry………………………...38 Gambar 4 – 22 User Interface Setting Permission…………………………....38 Gambar 4 – 23 Tampilan KToolbar………………………………………......39 Gambar 4 – 24 Compiling TerimaSMS……………………………………....40 Gambar 4 – 25 Tampilan Awal Emulator…………………………………….40 Gambar 4 – 26 Proses Simulasi…………………………………………….....41 Gambar 4 – 27 Grafik Kompresi Total………………………………………..45 Gambar 4 – 28 Grafik SMS Terkompresi……………………………………..46 Gambar 4 – 29 Grafik SMS Tidak Terkompresi……………………………....48
ix