Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Perancangan Aplikasi Kompresi SMS dengan Algoritma Shannon Fano Menggunakan J2ME Yulianta1, Nur Ani2 Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana1,3 Jurusan Sistem Informasi, Fakultas Ilmu Komputer, Universitas Mercu Buana2
[email protected] Algoritma yang digunakan pada aplikasi ini adalah algoritma Shannon-Fano. Aplikasi ini dibuat dengan menggunakan bahasa JAVA, yaitu J2ME, dan akan berjalan pada ponsel berbasis JAVA MIDP 2.0.
Abstrak -- Penelitian ini bertujuan untuk menghasilkan aplikasi yang dapat melakukan kompresi SMS (Short Message Service) dengan menggunakan algoritma Shannon Fano sehingga dapat menghemat biaya dalam pengiriman SMS tersebut karena memaksimalkan pengiriman SMS dalam satu halaman. Penentuan huruf yang sering muncul (probabilitas huruf) merupakan salah satu langkah yang harus dilakukan dalam algoritma Shanon Fano. Pemodelan menggunakan UML dipilih dalam penelitian ini agar sesuai dengan tools yang digunakan untuk membangun aplikasi. Adapun tools yang digunakan adalah bahasa Java 2 Micro Edition (J2ME) dari Sun Microsystems. Hasil kompresi berdasarkan jumlah karakter yang diketikkan, dimana setiap karakter memiliki jumlah bit yang berbeda. Aplikasi hanya dapat digunakan untuk operator seluler berbasis GSM.
II. METODE PENELITIAN Metode penelitian yang digunakan dalam penelitian ini meliputi studi literatur mengenai proses pengiriman SMS dan kompresi dengan algoritma Shannon Fano Kompresi merupakan proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan dan waktu untuk transmisi data. 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 penyimpangan data, mempercepat pengiriman data, dan memperkecil kebutuhan bandwidth.
Kata Kunci : SMS (Short Message Service), J2ME, Shannon Fano, probabilitas huruf
A. Short Messaging Service (SMS) Short Messaging Service (SMS) merupakan salah satu fitur dari GSM yang dikembangkan dan distandarisasi oleh ETSI. Pada saat kita mengirim pesan SMS dari handphone, maka pesan SMS tersebut tidak langsung dikirim ke handphone tujuan, akan tetapi terlebih dahulu dikirim ke SMS Center (SMSC) dengan prinsip Store and Forward, setelah itu baru dikirimkan ke handphone yang dituju. Dengan adanya SMSC ini, kita dapat mengetahui status dari SMS yang dikirim, apakah telah sampai atau gagal diterima oleh handphone tujuan. Apabila handphone tujuan dalam keadaan aktif dan menerima SMS yang dikirim, ia akan mengirim kembali pesan konfirmasi ke SMSC yang menyatakan bahwa SMS telah diterima. Kemudian SMSC mengirimkan kembali status tersebut kepada si pengirim. Tetapi jika handphone tujuan dalam keadaan mati atau diluar jangkauan, SMS yang dikirimkan akan disimpan pada SMSC sampai periode validitas terpenuhi, Jika periode validitas terlewati maka SMS itu akan dihapus dari SMSC dan tidak dikirimkan ke handphone tujuan. Proses pengiriman SMS dapat dilihat pada Gambar 1. dibawah ini.
I. PENDAHULUAN Sebuah pesan SMS maksimal terdiri dari 140 bytes, dengan kata lain sebuah pesan bisa memuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16bit untuk bahasa jepang, Bahasa Mandarin dan Bahasa Korea yang memakai Hanzi (Aksara Kanji/Hanja). Dalam melakukan pengiriman pesan SMS seorang pengguna dapat mengirim pesan lebih dari 140 byte, tetapi untuk itu seorang pengguna harus membayar lebih dari sekali. Hal ini terjadi karena pesan yang dikirimkan lebih dari satu halaman sehingga proses pengiriman pesan akan dilakukan sebanyak jumlah halaman yang ada, jumlah halaman sesuai dengan yang diketikkan. 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. Dalam penelitian ini, akan dibuat sebuah aplikasi kompresi SMS yang berfungsi untuk menambah pemuatan karakter SMS yang akan di kirimkan dalam satu halaman, dengan cara mengkompresi isi pesan atau teks SMS. Proses dimulai dengan merancang dan membangun sebuah aplikasi kompresi SMS. 26
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Pengirim
SMSC
alternatif kode biner yang panjangnya ditentukan berdasarkan probabilitas dari simbol tersebut (Rhee, M.Y., 2003). Menurut Shannon, entropi dari sebuah sumber informasi H(S) dinyatakan pada persamaan (3) dimana E adalah suatu ukuran untuk menentukan berapa banyak informasi dikodekan menjadi sebuah pesan dengan kata lain entropi adalah suatu ukuran ketidakpastian dalam sebuah pesan dan memberikan jumlah aktual bit isi informasi dalam sumber pesan (Menezes, A.J., et al., 1997). Dalam hal ini yang perlu dicermati adalah karena informasi dan ketidakpastian merupakan suatu konsep yang sepadan. Satuan entropi (coding theory) dinyatakan dalam bits per symbol, satuan ini ditentukan oleh dasar algoritma, bahwa bilangan basis dua adalah berbentuk binary (bit) dan bilangan basis 10 adalah berbentuk decimal (digit) (Rhee, M.Y., 2003). Semua media baik berupa teks, grafik, audio, atau video mempunyai redudansi. Redudansi (berulang) terjadi ketika representasi dari sebuah media yang berkapasitas x bytes dan y bytes (y<x), maka x merupakan suatu redudansi relatif terhadap y. Dalam bentuk lain, redudansi terjadi jika representasi dari isi capture suatu media tidak dapat dipahami oleh manusia kemudian dihapus tetapi tidak akan mempengaruhi isi media aslinya, seperti dalam kasus penangkapan frekuensi audio di luar jangkauan pendengaran manusia dapat dihindari tanpa banyak mempengaruhi kualitas isinya. Redudansi dapat diketahui dengan terlebih dahulu mengetahui secara bertahap nilai-nilai Compression Factor (FK), Compression Ratio (RK), Enthropy (E) adalah jumlah informasi rata-rata dalam setiap huruf, baru kemudian diketahui nilai Redudancy (R) atau dapat dikatakan sebagai tingkat optimalisasi suatu metode. Berikut ini adalah penjelasan dan penjabaran persamaannya:
Penerima
Gambar 1. Skema Cara Kerja SMS B. Protocol Data Unit (PDU) Dalam pengiriman dan penerimaan pesan SMS terdapat dua mode yaitu mode text dan mode PDU (Protocol Data Unit). Mode text adalah format pesan dalam bentuk text asli yang dituliskan pada saat akan mengirim pesan. Sesungguhnya mode Text ini adalah hasil enkode dari mode PDU. Sedangkan mode PDU adalah format pesan dalam bentuk heksadesimal octet dan semi-decimal octet dengan panjang mencapai 160 (7 bit) atau 140 (8 bit) karakter. Di Indonesia, tidak semua operator GSM maupun terminal mendukung mode text, sehingga mode yang digunakan adalah mode PDU. Pada pengiriman pesan terdapat dua jenis mobile, yaitu Mobile Terminated (Handphone Penerima) dan Mobile Originated (Handphone Pengirim). C. SMS PDU Pengirim (Mobile Originated) SMS PDU Pengirim adalah pesan yang dikirim dari handphone ke terminal yang kemudian dikirimkan ke SMSC. Pada prinsipnya apabila kita mengirim pesan ke nomor tujuan, pesan itu akan melalui SMSC. Pesan yang akan dikirimkan oleh terminal masih dalam bentuk Text, sedangkan dalam pengiriman ke SMSC harus dalam bentuk PDU. Untuk itu sebelum dikirim, terminal atau handphode akan melakukan perubahan dari format Text menjadi format PDU, proses ini sering disebut proses encodec. Adapun skema dari format PDU Pengirim telah diatur dan ditetapkan oleh ETSI sebagai berikut : Tabel 1. Skema format SMS PDU Pengirim SC A
PDU Type
M R
D A
PI D
DC S
VP
UD L
U D
Contoh : Kita mengirim pesan SMS ke nomor 628122898840 dengan isi pesan Pesan pendek dengan batas waktu pengiriman (waktu penyimpanan pesan di SMSC, jika nomor tujuan tidak dapat menerima pesan) 5 hari. Maka format PDU adalah :
Media Informatika, Vol. 5, No. 2, Desember 2007, 129-139
0011000C912618229888040000AB0CD0 F23CEC06C1CB6E72790D
Misalkan dalam sebuah pesan memiliki probabilitas karakter “a” muncul sebanyak 1/16 maka isi informasinya adalah 4 bit, sehingga karakter string ”aaaaa” mempunyai total isi 20 bit. Berbeda dengan kode ASCII yang menggunakan 8 bit untuk merepresentasikan karakter ”aaaaa” sehingga total isi menjadi 40 bit. Dalam proses kompresi data, kemunculan probabilitas suatu data yang paling banyak harus dikodekan menjadi bit biner yang paling sedikit untuk memperkecil nilai perhitungan yang
D. Algoritma Shannon Fano Algoritma Shannon-Fano coding ditemukan oleh Claude Shannon (bapak teori informasi) dan Robert Fano pada tahun 1949. Pada saat itu metode ini merupakan metode yang paling baik tetapi hampir tidak pernah digunakan dan dikembangkan lagi setelah kemunculan algoritma Hufman. Pada dasarnya metode ini menggantikan setiap simbol dengan sebuah 27
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
menyebabkan semakin kecilnya hasil bit informasi yang diproses. Berikut ini adalah dua metode algoritma yang ada pada algoritma Shannon-Fano: a. Algoritma Shannon-Fano tak adaptif (statik), algoritma ini menggunakan metode statistika untuk menentukan jumlah probabilitas huruf. Berikut ini adalah urutan langkah algoritma secara static: 1. Menentukan jumlah probabilitas huruf, 2. Mengurutkan huruf pada suatu tabel, 3. Meletakan pada baris pertama untuk huruf yang memiliki probabilitas tertinggi, 4. Melakukan pembagian terhadap tabel atas dua kelompok dengan probabilitas yang sama atau saling mendekati, 5. Memberikan kode nol pada kelompok pertama dan kode nol pada kelompok kedua, 6. Mengulangi langkah empat dan lima sampai tidak ada lagi kemungkinan untuk membagi kelompok-kelompok tersebut dalam dua sub kelompok lagi. b. Algoritma Shannon-Fano adaptif (dinamik), hampir sama dengan algoritma statik hanya memiliki tambahan escape pada setiap langkah data masuk. Berikut ini adalah urutan langkah algoritma secara dinamik. 1. Menyimpan statistik dari huruf pertama sampai posisi aktual pada sebuah tabel, 2. Menggabungkan perhitungan statistik dan kode dalam pengkodean pesan, Media Informatika, Vol. 5, No. 2, Desember 2007, 129-139 133 3. Menganggap kosong pada saat awal tabel, karena itu digunakan satu huruf khusus yang disebut sebagai escape. 4. Mengurutkan data berdasarkan runtun masukan, 5. Menyusun kembali berdasarkan kode ASCII, 6. Menambah satu pada jumlah escape setiap ada pemunculan huruf yang baru, sedangkan jika huruf tersebut pernah muncul maka jumlah escape tidak bertambah yang bertambah hanya pada huruf yang muncul kembali.
penyusunan binary tree. Metode ini sangat efisien untuk mengompresi file text yang berukuran besar. Untuk langkah-langkahnya sebagai berikut : 1. Mengurutkan karakter berdasarkan probabilitasnya yang terbesar. 2. Membagi menjadi 2 berdasarkan selisih paling sedikit dari nilai dua kelompok karakter yang terurut tadi. 3. Secara rekursif dibagi menjadi 2 bagian, setiap bagian memiliki nilai yang sama atau dengan selisih paling sedikit. 4. Memberikan nilai 1 kekanan dan 0 ke kiri pada pohon biner. Contoh : Source = {A, B, C, D, E } Peluang={0.35, 0.17, 0.17, 0.16, 0.15 Membagi menjadi 2 kelompok besar: kelompok 1 = A dengan total peluang 0.35kelompok 2 = B, C, D, E dengan total peluang 0.65selisih kel 1 dan 2 = 0.30 kelompok 1 = A, B dengan total peluang 0.52kelompok 2 = C, D, E dengan total peluang 0.48selisih kel 1 dan 2 = 0.04 –> paling sedikit kelompok 1 = A , B, C dengan total peluang 0.69kelompok 2 = D, E dengan total peluang 0.31selisih kel 1 dan 2 = 0.38 Jadi yang digunakan AB dan CDE, maka tree awalnya yaitu :
Kemudian dari 2 leaf yang terbentuk dilakukan proses pembagian lagi seperti diatas sampai tidak bisa dibagi lagi. Sehingga menghasilkan tree yang lengkap seperti berikut :
Berdasarkan studi literatur yang dilakukan maka langkah selanjutnya adalah melakukan analisa kebutuhan aplikasi, merancang dan membangun aplikasi. Setelah tahap-tahap tersebut barulah dilakukan implementasi dan pengujian aplikasi yang menggunakan dua perangkat uji coba, yaitu menggunakan emulator dan telepon genggam.
Setelah Tree lengkap telah terbentuk maka dilakukan pembacaan dari root sampai ke karakter pada leaf. Dari pembacaan dihasilkan codeword sebagai berikut : A = 00 –> 2 bit B = 01 C = 10 D = 110 –>3bit E = 111
III. HASIL DAN PEMBAHASAN A. Analisa Kebutuhan Pada prinsipnya algoritma Shannon Fano menggunakan pendekatan top down dalam
Dari code word diatas diperoleh panjang rata-ratanya : Lavg = 0.35*2 + 0.17*2 + 0.17*2 + 0.16*3 + 0.15 * 3 = 2,31 bit/char
28
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Nilai entropinya yaitu H( S ) = H( P1,P2,P3,P4,P5) = -P1 log P1 -P2 log P2 – P3 log P3 – P4 log P4 – P5 log P5 –> log basis 2 = 2,23 bit/char
Listing 1 Program Password.java
Jadi Efisiensinya: H(s)/Lavg = 2,232/2,31=96,67%
... public Password(SFA midlet, Display display) { super ("Save Password"); this.display = display; this.midlet = midlet; cmLogin = new Command("Login", Command.OK,1); cmSave = new Command("Save", Command.OK,1); cmUbahPass = new Command("Change Password", Command.OK,2); cmExit = new Command("Exit", Command.EXIT,5); cmUbah = new Command("Change", Command.OK,1); cmBack = new Command("Back", Command.BACK,1); cmAbout = new Command("About me", Command.OK,3); cmHelp = new Command("Help", Command.HELP,4); ...
Jadi dengan metode ini akan terasa sangat efektif jika banyak terjadi perulangan karakter pada text. B. Implementasi Pada tahapan implementasi terdapat dua cakupan yaitu spesifikasi kebutuhan sistem yang meliputi emulator J2ME dan telepon genggam, implementasi yang meliputi proses pengkodean, disain antarmuka dan hal-hal yang berhubungan dengan pengujian aplikasi. Kode Program Potongan-potongan program yang akan dijelaskan mengacu pada analisa sebelumnya dimana penulis merancang source code aplikasi mobile device sebagai berikut : 1. Kode program untuk menampilkan menu aplikasi (listing 1). 2. Kode program untuk pemanggilan pilihan daftar surat menu pilihan „Tulis Pesan‟ yang akan memanggil file SFA.java pada aplikasi mobile device (listing 2). 3. Kode program untuk proses kompresi ketika membuat pesan, pesan yang diketikkan secara otomatis dikompres dan dihitung prosentase panjang karakter yang dihasilkan. Proses kompres tersebut ditangani oleh kelas Kompres.java pada fungsi byte[] kompres(String st) pada listing 3. Method tersebut digunakan untuk mengkompres data yang kita ketikkan dengan cara memanggil method tersebut disertai dengan data pesan yang akan dikompresi, misal: kompres(tfPesan.getString()). 4. Kode program untuk dekompresi, ketika pesan diterima, pesan akan didekompresi oleh method String dekompres (listing 4).
Listing 2 Program SFA.java ... */else if (cmd == formMain.cmNext){ formMain.removeAllGUI(); formMain.setTitle("New Message"); formMain.removeCommand(formMain.cmNext); //display.setCurrent(formMain.tIsi); formMain.append(formMain.tIsi); formMain.append(siA); formMain.append(siB); formMain.append(siC); formMain.addCommand(formMain.bKirim); formMain.addCommand(formMain.bKeluar); formMain.addCommand(formMain.cmBack); formMain.setCommandListener(this); formMain.ticker.setString("Ketikkan pesan Anda!"); formMain.setTicker(formMain.ticker); . . .
Listing 3 Program Kompres.java
29
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
public byte[] kompres(String st) { rf.readTablText(); String jadi=""; for (int i = 0; i<st.length(); i++){ for (int j = 0; j
Gambar 2. Jendela Aplikasi Form Kirim Pesan Dan Terima Pesan Keterangan: 1. Jumlah karakter asli yang akan dikirim. 2. Jumlah karakter hasil kompresi yang akan dikirim. 3. Prosentase karakter hasil kompresi terhadap karakter asli. 4. Pesan yang diterima. 5. Nomor handphone pengirim. Tabel 2 Data Pesan SMS Hasil Simulasi Pengiriman dan Penerimaan SMS
Listing 4 Program dekompres.java public String dekompres(byte[] ba) String data = byteAKeString(ba); String plainText="", temp=""; int hasil=-1,counter,panjang; boolean endFile=false;
{
System.out.println(data); temp=data.substring(0,4); while (endFile == false){ panjang = data.length(); if (panjang >= 4) counter = 4; else counter = panjang; if (counter <= data.length()) temp = data.substring(0,counter); while (rf.findIndex(temp) == -1 && counter <= 13 && counter <= panjang) { counter = counter + 1; if (counter <= data.length()) temp = data.substring(0, counter); } hasil =rf.findIndex(temp); if (hasil == -1) endFile = true; else { plainText = plainText + rf.indexChar[hasil]; data = data.substring(counter); }} return plainText; }
Pesan Asli
Panjang Pesan Asli
Byte Pesan Kompresi
Assala mu ‘alaiku m. Hai apa kabar friends ? Giman a kabar mu hari ini?
66 karakter
100000101000010 001010000111010 001100010010111 110100101000011 101001101000000 010000110110101 011110001010100 110110111010001 011101010110000 010100101011010 001111011110001 100111011010001 010111011001010 001001000101100 101001011010011 010100111101010 110000010100101 011010001110011 000100101101010 010100011101101 101101101011101 1011001000111
heksade simal
Panjang Pesan Terkirim
82 84 50 E8 C4 BE 94 3A 68 08 6D 5E 2A 6D D1 75 60 A5 68 F7 8C ED 15 D9 44 8B 29 69 A9 EA C1 4A D1 CC 4B 52 8E DB 6B B6 47
41 karakter
Pengujian Tahapan pengujian ini meliputi skenario pengujian, hasil pengujian, dan analisis hasil pengujian. Pengujian dengan metode Black Box Testing dilakukan dengan menjalankan aplikasi SMS Kompresi dengan Algoritma Shannon Fano terlebih dahulu. Kemudian dilakukan pengujian dengan menekan tombol-tombol yang terdapat pada jendelajendela dari aplikasi tersebut apakah sesuai dengan yang diharapkan. Selanjutnya pengujian dilakukan ketika aplikasi sedang berlangsung. Setelah tahap pengujian maka dapat dianalisa bahwa :
Antarmuka Pada jendela aplikasi ini, setelah pengguna sudah menuliskan pesan yang akan dikirim, apabila pengguna ingin mengirim pesan maka pengguna dapat menekan tombol menu lalu pilih tombol kirim, dan apabila pengguna ingin kembali ke menu „Pemasukkan nomor tujuan‟ maka pengguna dapat menekan tombol „back‟ seperti pada gambar berikut ini.
30
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
1.
2.
3.
Adanya perbedaan tampilan pada kedua alat penguji tersebut, jika pada telepon genggam merk Nokia tipe 6630 pengguna menekan tombol ok maka pada emulator J2ME Sun Java Wireless ToolKit 2.5 pengguna menekan tombol Launch, tetapi mempunyai fungsi yang sama. Selama pengujian tombol-tombol yang ada pada emulator Sun Java Wireless ToolKit 2.5 maupun telepon genggam merk NOKIA tipe 6630 berfungsi dengan baik. Apabila kita hanya ingin menjalankan program Java, maka kita cukup memiliki virtual machine Java (JRE) saja. Tetapi seandainya kita ingin merancang perangkat lunak sendiri, JRE saja tidak cukup, untuk lebih meningkatkan produktivitas perancangan perangkat lunak maka kita memerlukan JDK (Java Development Kit) untuk membuat program aplikasi berbasis Java.
4.
5.
Daftar Pustaka [1] Hendry. 2008. Belajar Otodidak Java Dengan NetBeans 6.0. Jakarta : Penerbit PT. Elex Media Komputindo.
Tabel 3 Skenario Pengujian Skenario Pengujian Hasil yang diinginkan Login
Change password
Abaout me
Help
Exit
next
Kirim
[2] Menezes, A.J, P.C.V. Oorschot, dan S.A. Vanstone. (1997). Handbook of Applied Cryptography, CRC Press. Inc.
Pengguna ponsel Tampil halaman login dan memilih tombol akan diarahkan ke menú login. pemasukkan nomor tujuan. Pengguna ponsel Tampil form change memilih tombol password. change password. Pengguna ponsel Tampil tentang penjelasan memilih tombol aplikasi. About me. Pengguna ponsel Tampil penjelasan memilih tombol penggunaan aplikasi. Help. Pengguna ponsel memilih tombol menu l keluar. Pengguna ponsel memilih tombol next. Pengguna ponsel memilih tombol Kirim
tombol Launch, pada telepon genggam menekan ok. Perbedaan tersebut didasarkan pada fitur atau tampilan pada masing-masing telepon genggam. Pada aplikasi „ SMS Kompresi dengan Algoritma Shannon Fano‟, pencarian phone number, masih tergantung pada jenis dan type telepon seluler yang digunakan . Karena hal itu bisa saja mempersulit pengguna dalam melakukkan pencarian phone number. Aplikasi ini hanya berjalan pada operator seluler berbasis GSM.
[3] Rhee, M.Y. (2003), Internet Security: Cryptographic Principles, Algorithms and Protocols, John Wiley & Sons Ltd [4] Romi Wiryadinata, Data Compression Coding Using Static & Dinamic Method of Shannon Fano Algorithm, Media Informatika, Vol. 5, No. 2, Desember 2007, 129-139 ISSN: 08544743 tersedia di: http://journal.uii.ac.id/index.php/mediainformatika/article/viewFile/115/77, akses April 2010
Setelah memilih menu exit, aplikasi akan langsung keluar. Tampil halaman penulisan pesan
[5] Shalahudin, M dan Rosa A.S. 2008. Pemrorgraman J2ME (Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile). Bandung : Penerbit Informatika Bandung.
Tampilan pesan terkirim ke nomor tujuan.
[6] Wijono, Matius Soesilo dan G. Sri Hartati Wijono dan B. Hery Suharto. 2005. Java 2 SE Dengan JBuilder. Yogyakarta : Penerbit Andi.
IV. KESIMPULAN Kesimpulan yang dapat diambil dalam perancangan aplikasi mobile devices „ SMS Kompresi dengan Algoritma Shannon Fano‟ ini adalah sebagai berikut : 1. Aplikasi „ SMS Kompresi dengan Algoritma Shannon Fano‟, hanya dapat berjalan jika handphone yang digunakan sudah terinstall aplikasi tersebut. 2. Hasil kompresi berdasarkan jumlah karakter yang diketikkan, dimana setiap karakter memiliki jumlah bit yang berbeda-beda. 3. Terdapat sedikit perbedaan tampilan menu pada telepon genggam. Jika pada emulator untuk menjalankan aplikasi „ SMS Kompresi dengan Algoritma Shannon Fano‟ pengguna menekan 31
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
32