Kompresi SMS

Saat ini satu halaman SMS hanya mampu mengirimkan data maksimal sebesar 140 byte atau 160 karakter dengan format 7-bit. Karena keterbatasan tersebut, tak jarang user melakukan penyingkatan agar pesan yang akan dikirimkan dapat termuat dalam satu halaman SMS. Pemanfaatan algoritma kompresi pada teknologi SMS dapat membantu menambah kapasitas teks SMS yang akan dikirimkan. Pada penelitian ini akan dibuat suatu aplikasi untuk melakukan kompresi terhadap teks SMS yang berjalan pada ponsel berbasis JAVA MIDP 2.0.

Aplikasi kompresi SMS merupakan aplikasi yang dibuat agar dapat melakukan proses kompresi dan dekompresi terhadap teks SMS untuk kemudian mengirimkan atau menerima pesan tersebut. Algoritma kompresi yang digunakan pada aplikasi ini adalah algoritma Huffman kanonik dan LZW dimana teks SMS yang akan dikompresi harus merupakan teks SMS default mengacu pada spesifikasi GSM 03.38. Pada saat mengirim pesan, aplikasi akan bertindak sebagai kompresor sedangkan pada saat menerima pesan aplikasi akan bertindak sebagai dekompresor. Aplikasi ini dibuat dengan menggunakan bahasa JAVA, yaitu J2ME.

Aplikasi kompresi SMS secara keseluruhan mampu untuk melakukan proses kompresi dan dekompresi terhadap teks SMS. Aplikasi kompresi SMS dengan menggunakan algoritma Huffman kanonik secara rata-rata mampu melakukan kompresi teks SMS dengan rasio kompresi sebesar 36.02% dengan tingkat keberhasilan mereduksi jumlah halaman SMS sebesar 75%. Apabila menggunakan algoritma LZW aplikasi mampu mengkompresi teks SMS dengan rasio kompresi sebesar 21.90% dengan tingkat keberhasilan mereduksi jumlah halaman SMS sebesar 18.37%.

Kata Kunci: kompresi SMS, kompresi teks, kompresi Huffman, kompresi LZW, algoritma kompresi

Kompresi SMS.pdf

58 Responses

Page 1 of 1
  1. putratama
    putratama 22 March 2014 at 7:48 pm | | Reply

    maksud sy itu sy kesulitan mencari referensi contoh source code huffman yg pake tabel fixed nya mas. Sy bingung dlm code nya tabel fixed nya dalam bentuk gimana? di stackoverflow nggak ada yg mbahas huffman dg tabel statis. kalo boleh bs minta contoh source codenya nggak mas? yg untuk fungsi huffman kanonik dg fixed table nya saja, untuk referensi sy. kalo boleh, email sy : [email protected] , makasih mas sebelumnya.

  2. putratama
    putratama 6 December 2013 at 11:09 am | | Reply

    mas, boleh lihat sourcecode huffman kanoniknya? sy skrg lg bikin perbandingan huffman, lzw, dan BWT untuk kompresi sms di android. tp implementasi saya beda mas, data yg dikompresi itu nantinya akan sy sembunyikan (steganografi) dalam sms. jd data yg sy kompresi sangat kecil, paling 1-4 kata shg kalo pake huffman biasa pasti malah jd lebih besar. sy br dpt pencerahan stlah baca artikel ini, tp sy kesulitan nyari referensi huffman kanonik. mohon pencerahannya mas.

  3. Azan
    Azan 18 July 2011 at 11:13 am | | Reply

    Oke Mas…

    Maaf mas bertanya lagi, yang saya masih binggung pada poin ke 2 kan ada a dikodekan 0011, nah kenapa a itu 0011 bukan 0001 atau yang lain, apa ada syarat2nya kanapa a jadi 0011.
    Mohon sarannya ya mas…

    trimaksh sbelumnya

  4. Azan
    Azan 1 July 2011 at 9:20 pm | | Reply

    salam Kenal Mas…

    Yang mau saya tanya mas :
    1. Apakah ada syarat2 khusus tentang pembuatan tabel statisnya

    2. Bagaimana bentuk pohon huffman kanoniknya mas, yang saya tahu, metode huffman kan menggunakan frekuensi kemunculan setiap karakter, apakah ada hubunganya dengan pembuatan tabel statisnya.

    Toloong ya Mas, saya butuh analisa tentang pohonya aja, tolong kirim ke email saya ya mas, atau ada linknya..

    Sebelumnya saya ucapkan terima kasih Mas..

  5. adit
    adit 14 December 2010 at 10:37 am | | Reply

    mas aku butuh bantuan nih…mas di jogja ya..ada alamat yg bsa dihubungi gak..email atau no HP..

  6. ryuzaqi13
    ryuzaqi13 11 October 2010 at 11:34 am | | Reply

    OK mas,,, gak papa.. Makasih mas herpur sebelumnya..

  7. ryuzaqi13
    ryuzaqi13 10 October 2010 at 4:52 pm | | Reply

    Ok mas.. gak papa udah mau cobain bantu aja udah senang sekali saya mas herpur….

    Saya udah kirim mas program saya ke email UGM mas..

    judulnya Program Kompresi SMS..

    Makasih ya mas sebelummnya… 😀

  8. ryuzaqi13
    ryuzaqi13 10 October 2010 at 8:33 am | | Reply

    bukan gitu mas maksud saya..
    jadi gini mas, dalam artikel yg mas buat pada halaman 6…
    Tentanga Mengirim dan menerima SMS Pada j2me.. point nomer 1..

    1. Pesan biner (binary message) yaitu pesan berbentuk biner yang dikirimkan melalui SMS. Pesan jenis ini menggunakan encode data 8-bit dengan jumlah data maksimum tiap halaman SMS sebesar 140 byte atau 133 byte jika momor port disertakan..

    ..
    Nah yang punya saya itu encode datanya pas di tes dalam binary message jadinya encode data 7 bit untuk 133 byte..

    gitu mas.. emang susah sih jelasinnya.. Mas kalo mas gak keberatan boleh gak saya kirim source code program saya ini yang langsung bisa di run di netbeans.. untuk dianalisa sama mas herpur…

    Kalo mas tidak keberatan saya kirim mas source codenya.,

    gmn mas??
    Oiya kalo mas mau sertakan juga ya email mas herpur untuk saya kirim…

  9. ryuzaqi13
    ryuzaqi13 9 October 2010 at 12:52 pm | | Reply

    mas sorry nanya lagi nih.. mas gmn ya caranya supaya sms hasil kompresi kita dihitung dengan mode 8 bit.. dengan kata lain Binary message tersebut dalam 133 karakter (beserta port) dihitung sebagai satu halaman..

    Soalnya mas gw nih udah berhasil bisa kompresi SMS yang mana pas dihitung 1 halamannya mank bener 133 karakter …

    Tapi herannya pas saya analisa corat coret di kertas malah sistem ngitungnya 133 karakter —- 1 halaman, dengan mode 7 bit… Otomatis saya rugi dalam hasil kompresinya mas…

    Yang harusnya 8 bit -133 karakter (1 halaman sms)
    Malah jadi 7 bit -133 karakter (1 halaman sms))

    mas ada validasi tertentu gak mas supaya bisa jadi 8 bit-133 karakter , 1 halaman tsb..

    Saya rasa validasinya ada di method Kompresinya Y??
    gmn mas??

  10. ryuzaqi13
    ryuzaqi13 2 October 2010 at 11:35 am | | Reply

    eh mas gak jadi pertanyaan sebelumnya…
    Alhamduillah udah jalan sekarang..
    udah bisa AMSnya jalan…

    Huuuuaaaaa seneng banget saya…

    Makasih banyak ya mas…

  11. ryuzaqi13
    ryuzaqi13 2 October 2010 at 10:30 am | | Reply

    Hmm.. udah saya coba mas pake link yang mas kasih untuk ngetes AMS tersebut.

    step by step udah saya coba untuk settingnya..
    Tapi terjadi error mas pas saya rubah pake execute “OTA ”
    ..
    Apa netbeans ato emulator saya gak support OTA??
    gmn tuh mas??

    mas pernah ngalamin yg kayak gini ga’???
    ada solusi>>?

  12. ryuzaqi13
    ryuzaqi13 1 October 2010 at 1:19 am | | Reply

    mas mau nanya nih di aplikasi yang mas buat ada yang namanya AMS.. yang kerjanya agar aplikasi bisa aktif ketika ada pesan masuk??

    gimana ya mas cara setting di Netbeansnya??
    mohon tutorialnya mas..
    Makasih..

  13. satria
    satria 8 September 2010 at 4:02 pm | | Reply

    mas kalo di kompresi pake metode huffman bukannya jadi karakter yg lain !
    trus saya kirim ,,,
    nah sebelum 160 sudah 2 lembar itungannya .
    saya sudah download aplikasi mas dari link

    https://herpur.web.id/herpur.web.id/aplikasi-kompresi-sms/

    aplikasi mas juga begitu kerjanya ,
    mengapa aplikasi kSMS punya mas tidak di itung 2 lembar .
    aplikasi kSMS juga merubah karakter kan …..

  14. satria
    satria 29 August 2010 at 8:03 am | | Reply

    mas saya mau tanya !
    ko apabila saya masukan karakter seperti
    âE$ãÓé€Ö dll , karakter yang tidak biasa
    mengapa sebelum 160 karakter
    sudah dihitung sebagai 2 lembar SMS
    tolong dibantu mas ,,,

  15. ahmad affandi
    ahmad affandi 31 July 2010 at 8:32 pm | | Reply

    hmm…. kayak gitu ternyata.. oke2….. mantep juga idenya mas… kalo aq cari2,,, memang tuh kompresi pake huffman yg fix lebih banyak keuntungannya dari dibandingkan pake pohon…

    Mas2 mau tanya lagi nih… hehe… Surry y ngerepotin….
    mas kalo dari artikel mas diketahui kalo kita menggunakan port yg diinisialisasikan sendiri sms menjadi 153 karakter dan itu memang terbukti dan telah saya buktikan sendiri///….

    saya juga udah bikin fix tabel berdasarkan saran mas… kalo yg alpabetnya sering diakses kodenya lebih pendek dibanding yg jarang diakses dan asumsi lain sebagainya…

    pertanyaannya…. kenapa ketika saya lagi melakukan percobaan, sms kompresinya menjadi 133 karakter untuk satu halaman,,,,,

    misalnya gini formatnya :

    184(2)->133(1)
    ini artinya 184 karakter dalam 2 lembar sms biasa dikompresi menjadi 133 karakter (1 halaman sms)

    186(2) -> 134(2)
    nah kalo yg ini format percobaan yg kedua, 186 karater dalam 1 lembar sms dikompresi menjadi 134 karakter (2 halaman sms)….

    gitu mas….

    Saya bingung dari mana perhitungan bahwa dalam hasil kompresi 133 karakter itu satu halaman,,,

    Tolong dijelaskan mas logikanya???

    Makasih sebelumnya.. udah mau jawab..:)
    Salam…

  16. haryoi
    haryoi 23 July 2010 at 11:18 am | | Reply

    Thx mas…ak coba dulu..ak instansiasinya pake new…mungkin gara2itu ya..

  17. ahmad affandi
    ahmad affandi 23 July 2010 at 9:44 am | | Reply

    oohhh…. bikin sendiri ya mas…
    ok2 … makasih infonya mas admin…

    sorry mas mau tanya lagi.. sorry2 banyak tanya nih.. heheh 🙂
    apa bedanya sih mas antara huffman biasa dengan huffman canonic????

    apakah perbedaannya kalo huffman biasa itu pake pohon,,, sedangkan huffman canonic itu gak pake pohon>??

    Trus… apakah mas memiliki referensi jurnal dari IEEE mengenai huffman canonic tersebut atau dari website biasa mas???

    dan yang terakhir nih mas admin….

    Apa sih prinsip dasar,,, agar saya juga bisa bikin sendiri static huffman canonic seperti yang mas lakukan…

    apakah mas hanya bikinnya sesuai keinginan sendiri atau ada syarat2 tertentu biar bisa bikin tuh koding… soalnya kalo setau saya mas… kode huffman itu gak boleh berasal dari prefiks kode huffman lainnya….

    makasih ya mas udah mau jawab…

    Maaf juga udah banyak tanya dan merepotkan…
    Salam kenal mas Herpur…

  18. ahmad affandi
    ahmad affandi 22 July 2010 at 12:34 pm | | Reply

    assalamualaikum mas admin….
    saya udah baca artikel mas tentang kompresi sms dengan huffman kanonik…..
    keren banget hasilnya….

    yang ingin saya tanyakan mas…
    mas admin dimana ya bisa ketemu tuh tabel jadinya…
    Soalnya aku cari2 di internet sampe pusing gak ketemu2 table yg udah fixed kayak gitu…

    yang ada malah kanoniknya pake tree semua…
    sedangkan yg artikel punya mas admin… gak ada pembuatan pohonnya…

    mohon bantuannya mas referesi.. atau link.. juga boleh mas admin tentang fixed table huffman canonical tersebut…

    Makasih sebelumnya atas artikel yg bermanfaat bgt buat aq…

  19. haryoi
    haryoi 21 July 2010 at 8:52 pm | | Reply

    mas…aku mau nanya ak lagi bikin aplikasi kompresi sms.. sama kaya mas bikin tapi cuma menggunakan metode LZW…tapi setelah coding…pas aku jalankan kok ada kesalahan pas pengompresian..pesan errornya “Uncaught exception java/lang/NullPointerException”…saya sendiri curiga klo kesalahannya pas pengiriman text yg mw dikompresi ke method yg fungsinya buat encoding text ini…karena disitu ada konversi dari string ke byte ..kayaknya method buat enkode ini ga mau nerima string (klo menurutku)..nah klo mas sndiri apa ngalamin hal yg sama..trs biar ga error gimana mas..apa ada settingan khusus..ato tambahan kode yg laen..THX mas..

  20. akira
    akira 19 July 2010 at 4:09 pm | | Reply

    salam kenal mas mas aku pake algo Lzw untuk buat kompresi sms tapi setelah baca artikel mengenai huffman kanonik aku jadi bimbang kerena hasilnya sudah ketahuan bahwa lzw masih kalah unggul dibandingkan huffman k.kira2 selain untuk data yang berulang kelebihan lzw yang tidak kalah dari huffman apaya mas beritahu aku dong kirim ke mailkux…thank u

  21. yumi
    yumi 22 June 2010 at 10:47 pm | | Reply

    ada,,link nya ada di nama saya ini,, ^^..blognya masih sederhana,,hhee,,

  22. yumi
    yumi 22 June 2010 at 2:05 pm | | Reply

    Okz,,insyaAllah saya akan brusaha,,

    Makasih mas bantuannya,,hhe kalau bisa sih g pake ngulang kuliahnya,, 🙂

  23. yumi
    yumi 21 June 2010 at 3:03 pm | | Reply

    Maaf mas, mampir lagi :),,saya udah bikin tabel kode huffmannya,,kalau pake cara mas ada 4 tabel, karakter, kode huffman, panjang bit, dan banyak bit(angka).

    Pertanyaannya, gimana masukkin keempat tabel itu dalam array?sya masih bingung u/program kompresi di javanya, saya udah cari2 tp belum ktemu jga,, wkt TA sya tinggal 1 bulan lebh dikit..

    Mohon bantuannya, trims baxk,

  24. Ali
    Ali 2 June 2010 at 3:39 pm | | Reply

    Bisakah dalam sebuah aplikasi saat pengiriman pesan menggunakan binary message dan teks message

  25. yumi
    yumi 26 April 2010 at 4:58 pm | | Reply

    iya,makasih mas, mau saya coba dulu untuk kompresi dan dekompresnya di java, tapi kalau ada yang bingung saya tanya-tanya lagi gpp y?maaf sudah ganggu.

  26. yumi
    yumi 24 April 2010 at 12:21 pm | | Reply

    Saya ni awam bgt ttg JAVA, ni sya sdg dlm proses ngerjain TA, judulx kompresi SMS berbasisi JAVA v pake algoritma huffman, kalo algonya udh pernah belajar, v yang bingung implementasi dlm bahasa JAVA j2ME nya gmn?yg saya dpt cuma aplikasi kirim dn terima SMS aja..gmn caranya supaya teks yang kita ketik mengacu ke tabel huffman itu(codingnya), trus di decoding lagi,,saya bingung mas,,mohon bantuannya,, kalau boleh saya mw liag

  27. danar
    danar 17 April 2010 at 12:47 pm | | Reply

    Mas, tolong kasih referensi tabel static Huffman yg udah jadi dunkz….????
    Soalnya lagi butuh bgt nie tabel static-nya…
    Klo bisa referensi yg slain kejut.com yaw….
    Thanks….

  28. deka
    deka 17 February 2009 at 8:26 pm | | Reply

    mas kompressi huffmanya pake adaptive atau static…??ada buat referensi tabel huffman gak..thx

  29. hartop
    hartop 5 February 2009 at 3:24 pm | | Reply

    mas bisa bantu enkripsi tentang sms ga??

  30. vina
    vina 26 January 2009 at 8:39 pm | | Reply

    wah asik tuh bole minta source code nya gak??
    mau belajar cara mengkompres niee…
    di kuliah kan cuma dikasi teorinya doank

Leave a Reply