## Journal of Computer System and Informatics (JoSYC)
Volume 1, No. 2, Februari 2020, Page 39-45 ISSN 2714-8912 (media online) ISSN 2714-7150 (media cetak)

## Penerapan Algoritma Unary Coding Pada Aplikasi Kompresi Short
Message Service (SMS)

## Mesiria Sitorus
Program Studi Teknik Informatika, STMIK Budi Darma, Medan, Indonesia Email: sitorusmesiria05@gmail.com
Abstrak −Komunikasi merupakan suatu usaha pesan antar manusia, bentuk informasi yang disampaikan dengan beragam  cara,  yaitu  dengan  bentuk  suara,  maupun  teks  secara  digital.  Oleh  karena  itu  semakin  banyaknya informasi yang didapat secara digital, maka akan membutuhkan media penyimpanan teks yang sangat besar. Short Message Service (SMS) adalah suatu  fasilitas dari  teknologi GSM (Global Sistem for Mobile) untuk mengirim dan menerima suatu  pesan singkat berupa teks melalui perangkat  telepon genggam  (handphone). Pengirim dan penerima SMS tidak perlu berada dalam status berhubungan (connected) satu sama lain ketika akan saling bertukar pesan SMS. Kompresi SMS teks dapat dilakukan dengan beberapa metode seperti Unary Coding. Unary Coding merupakan  jenis  kompresi  lossless,  dan  Unary  Coding  sudah  banyak  digunakan  kompresi  data  dan  banyak digunakan  dengan  gabungan  beberapa  teknik  modifikasi.  Pada  Unary  Coding,  kompresi  dilakukan  dengan mengetahui frekuensi dari setiap simbol pada sebuah string. Kemudian frekuensi akan diurutkan secara descending order.  Perolehan  n  untuk  setiap  simbol  yang  di  peroleh  dari    penomoran  secara  descending    order  inilah  yang kemudian akan dikodekan dengan n-1 bit 1  diikuti satu bit 0.
Kata Kunci: SMS, Kompresi, Unary Coding
Abstract − Communication is an  effort between human messages, the form of information  delivered in  various ways, namely with the form of sound, and text digitally. Therefore, the more information obtained digitally, it will require a very large text storage media. Short Message Service  (SMS) is a facility of GSM (Global System for Mobile) technology to send and receive short messages in the form of text through mobile devices. The sender and recipient of the SMS need not be connected to each other when exchanging SMS messages. Text SMS compression can be done by several methods such as Unary Coding. Unary Coding is a type of lossless compression, and Unary Coding  has been widely  used data compression  and is widely  used with a combination of several modification techniques. In Unary Coding, compression is done by knowing the frequency of each symbol on a string. Then the frequency will be sorted by descending order. The acquisition of n for each symbol obtained from the descending order numbering is then encoded with n-1 bit 1 followed by one bit 0.
Keywords : SMS, Compression, Unary Coding

## 1. PENDAHULUAN
Salah satu teknologi alat komunikasi yaitu telepon genggam atau dikenal sebagai Handphone (Hp). Handphone menjadi  kebutuhan  utama  bagi  orang  yang  membutuhkan  informasi  dan  komunikasi  diseluruh  penjuru  dunia. Komunikasi  merupakan suatu  usaha pesan antar manusia, bentuk  informasi  yang disampaikan dengan beragam cara, yaitu dengan bentuk suara, maupun teks secara digital. Oleh karena itu semakin banyaknya informasi yang didapat secara digital, maka akan membutuhkan media penyimpanan teks yang sangat besar.
Pengguna  SMS  yang  semakin  jarang  digunakan  karena  masyarakat  pada  umumnya  lebih  banyak menggunakan  aplikasi  berbasis Android yang  lebih  mudah  digunakan,  contohnya WhatsApp,  Messengger  Lite, Line dan aplikasi yang bersifat chat lainnya. Kini sudah banyak paket perdana yang serba murah dipasaran dijual bebas yang membuat beberapa pihak lebih memilih membeli paket perdana dari pada harus mengisi pulsa untuk SMS atau telponan.
Short Message Service (SMS) adalah suatu fasilitas dari teknologi Global Sistem for Mobile (GSM) untuk mengirim  dan  menerima  suatu  pesan  singkat  berupa  teks  melalui  perangkat  telepon  genggam  ( handphone) . Pengirim dan penerima SMS tidak perlu berada dalam status berhubungan ( connected) satu sama lain ketika akan saling bertukar pesan SMS. SMS diciptakan sebagai standart pesan ( message) oleh European Telecommunication Standart Institute (ETSI). Panjang setiap pesan dalam SMS maksimal 160 karakter.
Jika penggunaan karakter dalam penulisan pesan lebih dari 160 karakter, tentunya pada proses pengiriman pesan  akan  lebih  lama  dan  penggunaan  layanan  akan  menghitung  pengiriman  pesan  lebih  dari  sekali. Pastinya akan membutuhkan biaya tambahan disetiap pengirimannya. Dengan adanya proses kompresi terhadap teks SMS maka  akan  terjadi  pemampatan  terhadap teks  SMS  sehingga  dapat  menghemat  biaya  pengiriman  SMS  (pulsa). Banyak  teknik  algoritma  yang  dapat  digunakan  untuk  melakukan  kompresi SMS,  maka  penulis  menggunakan algoritma Unary Coding sebagai algoritma kompresi untuk aplikasi kompresi SMS dan dapat membantu pengguna Android dalam  mengatasi  penggunaan  biaya  dan  menggunakan  kembali  aplikasi  SMS  yang  semakin  jarang digunakan.  Agar  dapat  menjadi  bahan  pertimbangan  bagi  pengguna  dalam  melakukan  kompresi  SMS  menjadi lebih baik dan lebih akurat.

## Journal of Computer System and Informatics (JoSYC)
Volume 1, No. 2, Februari 2020, Page 39-45 ISSN 2714-8912 (media online)

## ISSN 2714-7150 (media cetak)
Dari penelitian sebelumnya yang dilakukan oleh Yulianta, Nur Ani pada tahun 2010 yang telah membuat aplikasi  kompresi  SMS. Aplikasi  kompresi  SMS dengan menggunakan  algoritma Shannon Fano , hanya dapat berjalan  jika handphone yang  digunakan  sudah  terinstal  aplikasi  tersebut.  Aplikasi  ini  berjalan  pada  operator seluler berbasi Global Sistem for Mobile (GSM)[1].
Dari  penelitian  sebelumnya  yang  dilakukan  oleh Mhd.Rajani  Pane  pada  tahun  2017  yang telah  berhasil membuat  aplikasi  kompresi  teks pada Unary Coding . Pada saat  proses kompresi  aplikasi ini membaca karakter yang ada dalam data teks, kompresi file teks yang efektif, dan dapat dilihat pada data teks berukuran kecil, rasio kompresi teks dengan menerapkan Unary Coding [2].
Kompresi  SMS  teks  dapat  dilakukan  dengan  beberapa  metode  seperti Unary  Coding . Unary  Coding merupakan  jenis  kompresi lossless ,  dan Unary  Coding sudah  banyak  digunakan  kompresi  data  dan  banyak digunakan  dengan  gabungan  beberapa  teknik  modifikasi. Pada Unary  Coding, kompresi  dilakukan  dengan mengetahui frekuensi dari setiap simbol pada sebuah string . Kemudian frekuensi akan diurutkan secara descending order .  Perolehan  n  untuk  setiap  simbol  yang  di  peroleh  dari    penomoran  secara descending order inilah  yang kemudian  akan  dikodekan  dengan  n-1  bit  1   diikuti  satu  bit  0.  Untuk  simbol  terakhir,  perolehan  kode    dengan metode Unary Coding akan dimodifikasi, yaitu n-1 bit 1 tanpa diikuti satu bit 0. Pada metode Unary Coding tidak terdapat pembagian frekuensi simbol-simbol yang ada pada sebuah string[2].

## 2. METODOLOGI PENELITIAN

## 2.1 Kompresi
Kompresi merupakan memampatkan atau mengecilkan ukuran sebuah file sehingga diperoleh file dengan ukuran lebih kecil dari pada aslinya. Contoh kompresi sederhana yang bisa dilakukan adalah menyingkat kata-kata yang biasa  kita  gunakan  sehari-hari.  Misalnya,  kata  “yang”  dikompresi  menjadi  kata  “yg”.  Teknik  kompresi  bisa dilakukan  terhadap  teks,  gambar,  audio,  dan  video.  Kompresi  merupakan  proses  pengubahan  sekumpulan  data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan dan waktu untuk transmisi data[1]

## 2.2 Algoritma Unary Coding
Algoritma unary coding merupakan algoritma kompresi data dan sudah banyak digunakan untuk penggabungan beberapa teknik modifikasi. Unary coding ini direpresentasikan dalam sebuah string dari n bit 1 diikuti dengan satu bit 0 yang mengakhiri yang didefenisikan sebagai n-1 bit 1 diikuti satu bit 0 atau sebaliknya. Pada algoritma Unary Coding tidak terdapat pembagian frekuensi simbol-simbol yang ada pada sebuah string [2]. Berikut ini adalah langkah-langkah dalam kompresi algoritma Unary Coding : 1. Low 0.0.
2. High 1.0. 3. While (simbol input masih ada) do.
4. ambil simbol input. 5. codeRange high – low. 6. High low + CodeRange x high_range(s).
7. Low low + CodeRange x low_range(s).
8. End while.
9. Output low.
Berikut ini adalah langkah-langkah dalam algoritma dekompresi Unary Coding : 1. ambil encoded symbol (ES) 2. repeat
3. cari range dari simbol yang melingkupi encoded symbol (ES) 4. cetak simbol 5. CodeRange ← high_range – low_range
6. ES = ES – low_range
7. ES = ES/CodeRange
8. Until simbol habis
2.3 Short Message Service (SMS)
Short Message Service (SMS) adalah layanan dasar yang memperbolehkan pertukaran pesan teks singkat antara pelanggan.  SMS  pertama  kali  berhasil  diuji  coba  pada  tahun  1992  melalui  jaringan  saluran  komunikasi  GSM Eropa. Sejak berhasil di ujicoba penggunaan SMS terus berkembang. Di tahun 2001 tercatat sekitar 102.9 milyar SMS  saling  dikirim  di  seluruh  dunia.  Gartner  Dataquest,  salah  satu  industri  lembaga  penelitian  utama, memperkirakan jumlah SMS akan tumbuh menjadi 146 milyar pada tahun 2002 dan mencapai puncaknya sekitar 168 milyar pada tahun 2003 sebelum terjadi penurunan. Pesan ini bisa dikirim dari peralatan bergerak GSM tetapi juga dari internet, telex, facsimillie [4].

## Journal of Computer System and Informatics (JoSYC)

## 3. HASIL DAN PEMBAHASAN

## 3.1 Analisa Kompresi
Analisa merupakan tahap awal yang harus dilakukan untuk memecahkan masalah yang dihadapi. Tahap ini sangat penting  karena  proses  analisa  yang  akurat  akan  menghasilkan  pengembangan    dari  perangkat  lunak  untuk memuaskan pengguna.  Analisa merupakan kegiatan penguraian dari suatu  sistem informasi  yang utuh kedalam bagian  komponennya  dengan  maksud  untuk  mengidentifikasi  dan  mengevaluasi  permasalahan.  Setelah mengetahui  permasalahan  yang  ingin  diselesaikan  maka  dilanjutkan  dengan  proses  perancangan  model  yang nantinya  akan  memenuhi  kebutuhan  dalam  memberi  solusi  penyelesaian  masalah  yang  sedang  dibahas. Bahwasannya antara pengirim dan penerima sama-sama menggunakan aplikasi SMS Android. Pada penelitian ini akan dibuat sebuah sitem untuk pengkompresian teks dan dekompresinya.
Unary Coding umumnya dipersentasikan dalam sebuah string dari n bit 1 diikuti dengan satu bit 0 yang mengakhiri yang didefinisikan sebagai n-1 bit diikuti satu bit 0, sebaliknya alternatif dapat juga secara ekuivalen dimulai dari n bit 0 diiukuti dengan bit 1 yang mengakhiri yang didefinisikan sebagai n-1 bit 0 diiukuti dengan satu bit 1.
Berikut ini merupakan contoh proses kompresi dengan metode Unary Coding .
1. Diberikan input karakter yang akan dijadikan teks SMS sebagai berikut :
HAI APA KABAR RIA? String : 18
2. Berdasarkan  input  string  diatas,  setiap  karakter  akan  dipetakan  kedalam  tabel  frekuensi,  kemudian mengurutkan nilai karakter yang terbesar.
Tabel 1. Frekuensi Karakter Frekuensi H 1 A 6 I 2 SPASI 3 P 1 K 1 B 1 R 2 ? 1 Tabel 2. Frekuensi Karakter Terbesar Karakter Frekuensi A 6 SPASI 3 I 2 R 2 H 1 P 1 K 1 B 1 ? 1 Tabel 3. Frekuensi Kode Biner KARAKTER ASCII BINER FREKUENSI BIT * FREK A 65 01000001 6 48 SPASI 32 00100000 3 24 I 73 01001001 2 16 R 82 01010010 2 16 H 72 01001000 1 8 P 80 01010000 1 8 K 75 01001011 1 8 B 66 01000010 1 8 ? 63 00111111 1 8 TOTAL 144
N merupakan urutan dari frekuensi tertinggi hingga frekuensi terendah. Apabila terdapat beberapa simbol dengang frekuensi yang sama maka simbol-simbol tersebut diurutkan berdasarkan kemunculannya pada string yang akan dikompresi. Pada Unary Coding integer non-negatif didefinisikan sebagai n-1 bit 1 yang diiukuti oleh

## Journal of Computer System and Informatics (JoSYC)
Volume 1, No. 2, Februari 2020, Page 39-45 ISSN 2714-8912 (media online)

## ISSN 2714-7150 (media cetak)
sebuah bit 0, n yang terakhir diperoleh dengan melakukansebuah modifikasi, yaitu dengan hanya menggunakan n-1 bit 1 tanpa diikuti oleh sebuah bit 0. Pada contoh diatas dapat diperoleh kode Unary Coding sebagai berikut.
3. Lakukan pengurutan karakter secara descending order kemudian bangkitkan Unary Coding.
Tabel 4. Frekuensi Data Dengan Unary Coding
Karakter ASCII Unary Coding Jlh Bit Frekuensi Bit * Frek A 65 0 1 6 6 SPASI 32 10 2 3 6 I 73 110 3 2 6 R 82 1110 4 2 8 H 72 11110 5 1 5 P 80 111110 6 1 6 K 75 1111110 7 1 7 B 66 11111110 8 1 8 ? 63 111111110 9 1 9 TOTAL 61
4. Dapatkan hasil kompresi sebagai berikut : HAI APA KABAR RIA?
1111001101001111100101111110011111110011101011101100111111110
5. Selanjutnya biner tersebut dibagi menjadi 8 bit :
11110011 ( ó ) 11110011 ( ó ) 01001111 ( O ) 10101110 ( ® ) 10010111 (  ̶ ) 11001111 ( Ї ) 11100111 ( ç ) 000 11110 ( ˃ )
6. Sehingga Teks SMS yang dikirim : ó O  ̶  ç ó ® Ї ˃
Pada preses kompresi sebelumnya telah dihasilkan simbol teks SMS seperti : ó O  ̶  ç ó ® Ї ˃ dan pada kompresi sebelumnya telah dihasilkan juga data berupa kode biner seperti berikut :
1111001101001111100101111110011111110011101011101100111111110 Proses  dekompresi Unary  Coding diawali  dengan  menginput file  Unary  Coding yang  akan  dikompresi, kemudian kode-kode untuk setiap simbol dari file Unary Coding akan dibaca. Kode-kode tersebut akan dicocokkan bit per bit dengan kode simbol-simbol dari file asli . Berdasarkan urutan langkah no 4 nilai yang sudah menjadi kode akan dibaca oleh sistem, kemudian menggantinya dengan nilai awal sebagai berikut : Kode 11110 akan diganti dengan nilai karakter ‘H’ Kode 0 akan diganti dengan nilai karakter ‘A’ Kode 110 akan diganti dengan nilai karakter ‘I’ Kode 10 akan diganti dengan nilai karakter ‘SPASI’ Kode 0 akan diganti dengan nilai karakter ‘A’ Kode 111110 akan diganti dengan nilai karakter ‘P’ Kode 0 akan diganti dengan nilai karakter ‘A’ Kode 10 akan diganti dengan nilai karakter ‘SPASI’ Kode 1111110 akan diganti dengan nilai karakter ‘K’ Kode 0 akan diganti dengan nilai karakter ‘A’ Kode 11111110 akan diganti dengan nilai karakter ‘B’ Kode 0 akan diganti dengan nilai karakter ‘A’ Kode 1110 akan diganti dengan nilai karakter ‘R’ Kode 10 akan diganti dengan nilai karakter ‘SPASI’ Kode 1110 akan diganti dengan nilai karakter ‘R’ Kode 110 akan diganti dengan nilai karakter ‘I’ Kode 0 akan diganti dengan nilai karakter ‘A’ Kode 111111110 akan diganti dengan nilai karakter ‘?’
Maka  semua bit yang  sudah  terdekompresi  didapatkan  hasil  asli  teks  SMS   sebagai  berikut  :  HAI APA KABAR RIA?

## 3.2 Implementasi
Tampilan  program  memuat  tentang  perangkat  lunak  yang  di  bangun,  berupa print  screen dari  tampilan programnya, tampilan program ini memuat tentang Menu Utama , Menu SMS Masuk, Menu SMS Terkirim, dan tampilan program dapat dilihat dibawah ini :
1. Tampilan Menu Utama

## Journal of Computer System and Informatics (JoSYC)
Volume 1, No. 2, Februari 2020, Page 39-45 ISSN 2714-8912 (media online)

## ISSN 2714-7150 (media cetak)
Menu utama memiliki 4 pilihan yaitu buat pesan, SMS masuk, SMS terkirim, dan keluar, berikut tampilannya :
Gambar 1. Menu Utama

## 2. Menu Buat Pesan
Pada  tampilan  menu  buat  pesan  pengguna  dapat  membuat  pesan  baru  sekaligus  mengirm  pesan  yang  akan dikompresi, berikut tampilan menu buat pesan :

## Gambar 2. Buat Pesan

## 3. SMS Terkirim
Tampilan SMS terkirim dapat dilihat informasi tentang SMS yang dikirim, waktu SMS dan nomor tujuan, berikut tampilan SMS terkirim :

## Journal of Computer System and Informatics (JoSYC)
Volume 1, No. 2, Februari 2020, Page 39-45 ISSN 2714-8912 (media online)

## ISSN 2714-7150 (media cetak)
Pada menu ini pengguna dapat melihat SMS sebelum didekompresi dan melihat SMS setelah dikompresi, berikut tampilannya:

## Gambar 4. SMS Masuk
Pengujian sistem merupakan tahap di mana sistem akan diuji untuk mengidentifikasi apakah sudah sesuai dengan apa yang dirancang pada tahap analisis dan perancangan sistem. Pada tahapan ini merupakan uji coba dari hasil  program  yang  dibuat, mulai  dari  buat  pesan  baru  untuk  dikompresi  sebelum  dikompresi,  membuka  SMS masuk yang sudah terkompresi dan melihat SMS yang sudah terkirim pada nomor tujuan.

## 1. Buat Pesan
Berikut tampilan dari aplikasi buat pesan yang akan dikompresi dan dikirim ke nomor tujuan .

## Gambar 5. Buat pesan

## 2. Menu SMS Masuk
Setelah melakukan kompresi, kemudian akan dilakukan proses dekompresi seperti tampilan berikut :
Volume 1, No. 2, Februari 2020, Page 39-45 ISSN 2714-8912 (media online) ISSN 2714-7150 (media cetak)

## 4. KESIMPULAN
Adapun kesimpulan yang diperoleh dari penulisan skripsi ini adalah sebagai berikut :
1. Mengkompresi SMS dapat dilakukan dengan menerapkan algotitma Unary Coding , dengan menerapka Algoritma Unary Coding  maka pengkompresian SMS berjalan dengan baik.
2. Algoritma Unary Coding membaca teks yang akan dikompresi terlebih dahulu dan mencari teks yang sama agar  tidak terjadi perulangan huruf yang sama dan menghemat teks.
3. Kompresi SMS dapat dirancang dan dibangun dengan menggunakan aplikasi android. Dengan begitu di harapkan memudahkan penulis  dalam menerapkan algoritma Unary Coding.

## REFERENCES
[1] A. Shannon, F. Menggunakan, J. S. Informasi, F. I. Komputer, and U. M. Buana, “Perancangan Aplikasi Kompresi SMS dengan,” 2010.
[2] I. Pendahuluan et al. , “Perancangan aplikasi kompresi menggunakan metode shannon fano dan unary coding pada file teks,” vol. 12, no. September, pp. 306–311, 2017.
[3] M.  K.  T.Sutoyo,  S.Si.,  M.Kom.,  Edy  Mulyanto,  S.Si.,  M.Kom,  Dr.Vincent  Suhartono,  Oky  Dwi  Nurhayati,  M.T., Wijanarto, Teori Pengolahan Citra Digital . Yogyakarta: C.V ANDI OFFSET, 2009.
[4] D. Boedi, H. C. Rustamaji, and M. A. Nugraha, “Aplikasi Kompresi Sms Berbasis Java Me Dengan Metode Kompresi Lzw-Huffman,” Semin. Nas. Inform. , vol. 2009, no. semnasIF, pp. 1–9, 2009.
[5] Wahidin, Aplikasi SMS dengan PHP untuk Orang Awam . Palembang: Penerbit Maxikom, 2010.
[6] R.  A.  S.  M.  Shalahuddin, Rekayasa  Perangkat  Lunak  Terstruktur  dan  Berorientasi  Objek .  Bandung:  Informatika Bandung, 2016.
[7] Nazruddin  Safaat  H, ANDROID  Pemrograman  Aplikasi  Mobile  Smartphone  dan  Tablet  PC  Berbasis  Android . Informatika Bandung, 2012.
[8] S. S. S.Kom, BUKU PINTAR Gadget Android . JAWA TENGAH: Kunci Komunikasi, 2014.
[9] N. Firly, Create Your Own Android Aplication . Jakarta: PT Elex Media Komputindo Kelompok Gramedia IKAPI, Jakarta 2018, 2018.
[10]  S. D. Nasution and Mesran, “Goldbach Codes Algorithm for Text Compression,” IJournals Int. J. Softw. Hardw. Res. Eng. , vol. 4, no. December, pp. 43–46, 2016.
[11]  S. D. Nasution, “PERANCANGAN APLIKASI KOMPRESI FILE TEKS DENGAN MENERAPKAN ALGORITMA GOLDBACH CODES,” J. Ilm. INFOTEK , vol. 1, no. 1, pp. 104–109, 2013.
[12]  S. D. Nasution, G. L. Ginting, M. Syahrizal, and R. Rahim, “Data Security Using Vigenere Cipher and Goldbach Codes Algorithm,” Int. J. Eng. Res. Technol. , vol. 6, no. 01, pp. 360–363, 2017.