MERPATI VOL. 5, NO. 3, DESEMBER 2017

ISSN: 2252-3006

Rancang Bangun Aplikasi Pembaca SMS Berbahasa Indonesia Berbasis Android

Ni Kadek Ayu Anggraeni, I Putu Agung Bayupati, I Made Sukarsa

Program Studi Teknologi Informasi Universitas Udayana Bukit Jimbaran, Bali, Indonesia, telp. (0361) 701806 e-mail: ayuanggraeni122@gmail.com, bayupati@ee.unud.ac.id, sukarsa@ee.unud.ac.id

Abstrak

Pesatnya pertumbuhan penggunaan telepon genggam di Indonesia belum diimbangi oleh pengetahuan untuk memanfaatkannya dengan layak dan bertanggung jawab. Penyalahgunaan telepon genggam yang sering terjadi adalah membaca Short Message Service (SMS) di saat yang tidak tepat seperti ketika mengendarai kendaraan bermotor. Aktivitas membaca SMS seperti ini dianggap berbahaya karena dapat mengurangi konsentrasi pengguna telepon genggam. Aplikasi Pembaca SMS Berbahasa Indonesia adalah solusi yang ditawarkan untuk mempermudah pembacaan pesan dengan cara mengubah data teks SMS ke bentuk suara menggunakan Google Text-to-speech. Perubahan dari teks ke suara dilakukan agar pengguna dapat mengetahui isi pesan SMS tanpa bersentuhan fisik dengan telepon genggamnya sehingga meminimalisir kemungkinan hilangnya konsentrasi pengguna. Fitur penerjemah singkatan dan emoticon juga tersedia pada Aplikasi Pembaca SMS. Metode penerjemahan meliputi ekstraksi teks dan referensi ke kamus singkatan dan emoticon. Ekstraksi teks bertujuan untuk memisahkan kata dan simbol ke dalam variabelnya tersendiri, sedangkan referensi kamus digunakan sebagai pembanding antara variabel data dengan isi basis data. Kuesioner penelitian menunjukkan Aplikasi Pembaca SMS berkategori baik dengan nilai 76,36%.

Kata kunci: Aplikasi Pembaca SMS, Android, Text to Speech, Bahasa Indonesia

Abstract

The rapid growth of mobile phone users in Indonesia has not been accompanied by the knowledge of how to use it properly and responsibly. One of the most common misuses of mobile phones is reading Short Message Service (SMS) in inappropriate situations, such as when driving a motor vehicle. SMS reading activity while driving is considered dangerous because it reduces driver's concentration. SMS Reader Application based on Android platform offers to assist SMS reading activity by changing its text into speech using Google Text-to-speech. The application can only read SMS that is written in Indonesian. Text conversion into speech is used to give SMS's information to users without any physical contact with their mobile phones. Abbreviation and emoticon translator features are also available in SMS Reader application. The methods to translate abbreviation and emoticon are text extraction and dictionary references. Text extraction method aims to separate words and symbols into their own variables, and dictionary references are used as the comparison model for words and symbols variables. The result of the research questionnaire shows that 76,36% of the respondents were satisfied with the application abilities to read and translate SMS text.

Keywords: SMS Reader Application, Android, Text to Speech, Indonesian Language

  • 1.   Pendahuluan

Pesatnya pertumbuhan penggunaan telepon genggam di Indonesia belum diimbangi oleh pengetahuan untuk memanfaatkannya dengan layak dan bertanggung jawab. Penyalahgunaan telepon genggam yang sering terjadi adalah membaca SMS (Short Message Service) ketika sedang mengendarai kendaraan bermotor. The National Safety Council melaporkan bahwa 281.000 sampai 768.000 kecelakaan lalu lintas di Amerika Serikat pada tahun 2012 disebabkan oleh aktivitas membaca SMS. Laporan The National Safety Council didukung oleh hasil survei American Automobile Association yang menunjukkan bahwa sebanyak 48,5% dari warga Amerika Serikat berusia 18 sampai 24 tahun membaca SMS ketika mengemudi

kendaraan bermotor [1].

Aktivitas membaca SMS saat mengemudi menimbulkan efek negatif karena mengakibatkan gangguan visual, gangguan kognitif dan gangguan fisik [2]. Gangguan visual terjadi ketika pengendara mengalihkan pandangannya dari jalan raya untuk membaca SMS di telepon genggamnya. Gangguan kognitif menyebabkan pengendara harus membagikan perhatiannya antara mengemudi kendaraannya dan membaca pesan. Gangguan fisik ketika membaca SMS contohnya adalah pengendara yang melepaskan tangannya dari setir kendaraan.

Teknologi hands-free berfungsi untuk meminimalkan kontak fisik antara pengguna dengan telepon genggam, sehingga pengguna dapat mengoperasikan telepon genggamnya saat melakukan aktivitas yang lain. Telepon genggam yang mendukung teknologi hands-free dapat mengurangi gangguan visual, kognitif dan fisik yang dialami oleh seseorang ketika sedang melakukan aktivitas yang membutuhkan konsentrasi tinggi, seperti mengemudikan kendaraan bermotor. Salah satu contoh teknologi hands-free yang populer adalah aplikasi khusus yang mengubah teks SMS ke bentuk suara secara otomatis ketika pesan masuk ke telepon genggam.

Penelitian yang dibahas dalam jurnal "Android Text Messaging Application for Visually Impaired People" oleh Siddhesh R. Baravkar, Mohit R. Borde dan Mahndra K. Nivangune menghasilkan aplikasi Android daMessenger [3]. Aplikasi daMessenger dapat memberikan info pesan SMS kepada penyandang tunanetra dengan cara mengubah teks SMS menjadi suara. Aplikasi berjalan pada background sistem operasi Android, sehingga dapat menangkap pesan yang masuk walaupun tidak sedang dioperasikan pengguna.

Sudibyo P. Arbie dalam jurnalnya yang berjudul "Rancang Bangun Aplikasi Text to Speech Bahasa Indonesia" membahas tentang teknologi text to speech yang dapat mengolah teks berbahasa Indonesia [4]. Aplikasi yang dibangun adalah berbasis dekstop dan menggunakan basis data diphone IndoTTS. Perubahan teks menjadi suara melalui proses pemisahan suku kata dan pemanggilan data suara suku kata yang bersangkutan dari basis data diphone IndoTTS.

Penelitian Rancang Bangun Aplikasi Pembaca SMS Berbahasa Indonesia Berbasis Android bertujuan untuk menghasilkan Aplikasi Pembaca SMS yang dapat membaca pesan SMS berbahasa Indonesia. Aplikasi yang dihasilkan diharapkan memiliki keunggulan yang sama dengan aplikasi daMessenger yaitu berbasis mobile dan mampu mengambil data SMS secara otomatis. Aplikasi Pembaca SMS dapat mengambil data SMS secara otomatis tanpa melalui layar interface karena adanya sebuah service pada background sistem Android yang berfungsi untuk mengeksekusi fungsi pembacaan SMS ketika terjadi event masuknya SMS baru.

Keunggulan yang terdapat pada Aplikasi Pembaca SMS adalah pengunaan mesin Google Text-to-speech serta penambahan fitur penerjemahan singkatan dan emoticon. Kelebihan dari penggunaan Google Text-to-speech adalah programmer diberikan keleluasaan untuk memanggil fungsi text to speech milik Google tanpa keluar dari lingkungan Android Software Development Kit (SDK). Keunggulan Google Text-to-speech juga dapat dilihat dari sisi maintenance sistem. Google Text-to-speech diperbarui secara berkala. Versi terakhir Google Text-to-speech adalah 3.13.3 dan dirilis pada tanggal 5 Desember 2017.

Penambahan fitur penerjemahan singkatan dan emoticon diperlukan untuk menghasilkan keluaran suara yang jelas dan dapat dimengerti oleh pengguna aplikasi. Penulis SMS umumnya menggunakan gaya penulisan bahasa SMS atau textese [5]. Bahasa SMS atau textese adalah sebutan untuk penulisan pesan SMS yang tidak sesuai dengan tata bahasa yang berlaku, contohnya menyingkat kata, menggabungkan huruf dan angka, serta menggunakan emoticon yaitu kombinasi tanda atau simbol yang merepresentasikan emosi tertentu. Penggunaan gaya penulisan bahasa SMS sulit untuk dihindari karena keterbatasan jumlah karakter yang dapat dikirim dalam satu SMS. Pembacaan sebuah teks yang masih memiliki singkatan dan emoticon akan berpengaruh terhadap kualitas penyampaian informasi karena pengucapan kata yang tidak sesuai dengan aturan pengucapan Bahasa Indonesia.

  • 2.    Metodologi Penelitian

Metodologi penelitian memaparkan penelaahan kepustakaan yang mendasari proses pembuatan Aplikasi Pembaca SMS Berbahasa Indonesia Berbasis Android.

  • 2.1.    Pengumpulan Data

Pengumpulan data dilakukan melalui studi literatur dengan menganalisis beberapa teori, metode atau model yang berkaitan dengan text to speech, basis data SQLite, serta penggunaan mesin Google Text-to-speech pada Android. Proses pengumpulan data juga mempersiapkan isi kamus referensi untuk singkatan dan emoticon. Kamus singkatan adalah basis data singkatan SMS dan digunakan sebagai referensi untuk menerjemahkan singkatan SMS. Kamus emoticon digunakan sebagai panduan untuk mengenali rangkaian simbol yang memiliki makna emosi tertentu, contohnya simbol “:)” diterjemahkan menjadi “senyum”.

  • 2.2.    Perancangan Sistem Aplikasi

Perancangan sistem aplikasi adalah proses untuk menentukan fitur-fitur dan daftar aktivitas yang terjadi pada Aplikasi Pembaca SMS. Gambaran umum sistem aplikasi yang terlihat pada Gambar 1 terdiri dari empat modul. Modul sistem Aplikasi Pembaca SMS antara lain Modul Ekstraksi Kata dan Emoticon, Modul Penerjemah Singkatan, Modul Manajemen Kamus, dan Modul Manajemen Setting Aplikasi.

Modul Ekstraksi Kata dan Emoticon terdiri dari 7 tahapan antara lain pengambilan dan penyimpanan teks SMS, penerjemahan emoticon, case folding, tokenisasi, pengulangan huruf, konversi angka, dan eliminasi huruf vokal berulang. Pengambilan dan penyimpanan teks SMS adalah proses pengambilan data teks SMS yang asli yang disimpan dalam sebuah variabel lokal. Penerjemahan emoticon adalah proses menerjemahkan emoticon yang berpedoman pada kamus emoticon. Case folding bertujuan untuk mengubah semua karakter pada data SMS ke bentuk huruf kecil. Tokenisasi adalah proses untuk memisahkan teks SMS kata per dengan pemisah berupa spasi atau simbol menggunakan regex. Pengulangan huruf adalah tahapan pemrosesan teks untuk melakukan pengulangan karakter atau huruf yang berada di depan angka 2 (“baik2” menjadi “baik baik”). Konversi angka berfungsi untuk mengubah angka (0, 1, 3, 4, 5, 6, 7, 8 dan 9) menjadi huruf (“o”, “i”, “e”, “a”, “s”, “g”, “t”, “b” dan “g”) contohnya “s4y4” menjadi “saya”. Eliminasi huruf vokal berulang adalah tahapan untuk menghapus huruf vokal (a, i, u, e, o) yang berulang. Penghapusan huruf vokal berulang diperlukan untuk memperjelas hasil suara sintesis Google TTS (contohnya “cemunguuuddhh eaaa” menjadi “cemungudddhh ea”)

Modul Penerjemah Singkatan berfungsi untuk memproses hasil ekstraksi dari Modul Ekstraksi Kata dan Emoticon. Hasil dari proses ekstraksi dibandingkan dengan basis data kamus singkatan. Hasil terjemahan adalah gabungan dari kata-kata terjemahan yang telah disusun sehingga dapat dibaca dengan baik oleh mesin Google Text-to-speech.

Modul Manajemen Kamus berfungsi untuk melakukan pembaruan basis data pada Aplikasi Pembaca SMS. Aplikasi sudah memiliki data master singkatan dan emoticon yang dapat diidentifikasikan, namun pengguna memiliki hak untuk menambah, mengubah atau menghapus data pada basis data. Modul terakhir adalah Modul Manajemen Setting Aplikasi. Modul Manajemen Setting berperan sebagai fitur tambahan untuk memaksimalkan kinerja serta memberikan keleluasaan bagi pengguna untuk mengatur pembacaan teks. Pengaturan aplikasi meliputi pilihan suara Google Text-to-speech (berupa kecepatan, tinggi nada, dan

volume), pembacaan otomatis, pengiriman jawaban otomatis dan privasi pembacaan.

  • 3.    Kajian Pustaka

Kajian pustaka memuat beberapa teori mengenai Google Text-to-speech, SMS, Sistem Operasi Android, dan SQLite yang mendukung pemecahan masalah penelitian.

  • 3.1.    Google Text-to-Speech

Sistem text to speech (TTS) adalah sebuah sistem yang dapat mengkonversikan sebuah teks menjadi suara buatan yang diucapkan sedekat mungkin dengan aturan pelafalan kata yang normal sesuai dengan bahasa yang dipilih [6]. Input dari sistem TTS adalah sebuah teks dan output sistem adalah suara sintesis atau suara buatan. Google Text-to-speech adalah sebuah engine text to speech yang dapat digunakan oleh perangkat Android untuk mengubah teks dalam beberapa bahasa yang didukung ke bentuk suara atau speech. Mesin text to speech milik Google dapat digunakan oleh berbagai aplikasi, baik oleh aplikasi buatan Google atau programmer lainnya [7].

  • 3.2.    SMS (Short Message Service)

SMS atau Short Message Service merupakan sebuah layanan yang banyak diaplikasikan pada sistem komunikasi tanpa kabel, memungkinkan dilakukannya pengiriman pesan dalam bentuk alphanumeric antara terminal pengguna atau antara terminal pengguna dengan sistem eksternal seperti email, paging dan sebagainya [8]. Teknologi telepon seluler mendukung concatenated SMS untuk mengatasi jumlah karakter yang dapat dikirim melalui SMS. Jumlah karakter yang bisa dikirim setiap satu SMS adalah 160 karakter. Penggunaan concatenated SMS menyebabkan teks SMS yang lebih dari 160 karakter atau SMS multipart dipecah kemudian dikirim melalui jaringan telepon seluler. Teks SMS pada sisi penerima yang terpisah-pisah digabung kembali sehingga seolah-olah membentuk satu SMS dengan teks yang panjang. Penggunaan mode concatenated SMS berlaku pada SMS dengan format PDU (Protocol Data Unit). Jumlah maksimal SMS multipart adalah 255 bagian. Jumlah bagian SMS yang tekirim menggunakan concatenated tergantung dari jaringan seluler serta telepon genggam pengirim dan penerima SMS.

  • 3.3.    Sistem Operasi Android

Android adalah sebuah sistem operasi open source berbasis mobile. Android pertama kali dikembangkan oleh Open Handset Alliance yang dalam proses pembuatannya diberikan bantuan finansial oleh Google Inc. Tujuan dibangunnya Android adalah untuk menciptakan sistem yang standar bagi perangkat mobile. Android kemudian dibeli oleh Google Inc. dan tanggal 5 November 2007 dirilis ke publik untuk pertama kalinya [9]. Android menggunakan Java sebagai bahasa pemrogramannya. Pengembangan aplikasi untuk sistem operasi Android dibagi menjadi tiga yaitu pengembangan aplikasi native (Java), pengembangan aplikasi web (PHP) dan pengembangan aplikasi hybrid (Java dan PHP) [10].

  • 3.4.    SQLite

SQLite adalah sebuah Relational Database Management System atau Sistem Relasional Manajemen Basis Data yang umumnya digunakan pada telepon genggam berbasis Android. SQLite memiliki satu algoritma input dan output data, serta dua algoritma pencari yaitu algoritma Brute Force dan Binary Search. Algoritma Brute Force digunakan untuk mencari data yang tidak berdasarkan pada primary key baris. Algoritma Binary Seach mencari data menggunakan primary key baris. Data primary key baris basis data SQLite yang sudah diurutkan dari nilai terbawah dan tertinggi sehingga mempercepat proses pencarian menggunakan algoritma Binary Search [11].

  • 4.   Hasil dan Pembahasan

Hasil dan pembahasan terdiri dari rancangan basis data aplikasi, uji coba aplikasi, proses penerjemahan singkatan dan emoticon serta analisis hasil pengujian aplikasi.

  • 4.1.    Rancangan Basis Data

Basis data pada aplikasi dibangun dengan SQLite yang memiliki tipe data lebih sederhana dibandingkan dengan MySQL, PostreSQL maupun manajemen basis data lainnya.

Basis data pada Aplikasi Pembaca SMS terbagi menjadi 6 tabel. Physical Data Model atau PDM dari basis data Aplikasi Pembaca SMS ditunjukkan pada Gambar 2.

tb_jawab_otomatis

status_jawab_otomatis waktu

pesan

Gambar 2. Struktur Basis Data Aplikasi

Basis data Aplikasi Pembaca SMS memiliki 6 tabel, diantaranya tb_kata_asli, tb_singkatan, tb_emoticon, tb_privasi, tb_setting dan tb_jawab_otomatis. Tabel tb_kata_asli digunakan untuk menyimpan data kata asli Bahasa Indonesia dan memiliki hubungan one-to-many dengan tabel tb_singkatan. Tabel tb_singkatan menyimpan data kata singkatan dari data kata asli pada tabel tb_kata_asli. Tabel tb_emoticon berfungsi menyimpan daftar emoticon berupa simbol dan artinya. Table tb_privasi menyimpan data pengaturan privasi pembacaan SMS. Tabel tb_setting berfungsi menyimpan pengaturan status pembacaan SMS masuk secara otomatis serta cepat, tinggi nada dan volume suara yang digunakan. Tabel tb_jawab_otomatis menyimpan pengaturan fitur jawaban otomatis dimana aplikasi dapat mengirim pesan otomatis ketika pesan baru masuk.

  • 4.2.    Uji Coba Aplikasi

Aplikasi Pembaca SMS memiliki tiga menu yaitu Menu Pengaturan Aplikasi, Menu Kamus Singkatan dan Menu Kamus Emoticon. Gambar 3 memperlihatkan Menu Pengaturan Aplikasi yang terdiri dari tiga bagian submenu yaitu Pengaturan Suara Google TTS, Pengaturan Privasi dan Jawab Otomatis. Submenu Pengaturan Suara Google TTS berfungsi untuk mengatur pembacaan pesan SMS oleh Google Text-to-speech. Submenu Pengaturan Privasi berfungsi untuk mengatur bagian pesan SMS apa yang dapat dibacakan sehingga privasi pengguna terjaga. Submenu Jawab Otomatis berfungsi untuk mengatur pengiriman SMS balasan otomatis.

Gambar 3. Menu Pengaturan Aplikasi

Submenu Pengaturan Suara Google TTS memiliki sebuah Toggle Button bernilai Aktif atau Tidak Aktif yang berfungsi sebagai penanda pengaturan pembacaan SMS otomatis dan digunakan pengguna untuk mengatur status pembacaan otomatis sehingga tidak mengganggu aktivitas pengguna. Fitur lainnya yang terlihat pada Gambar 3 adalah pengaturan suara untuk hasil sintesis ucapan Google Text-to-speech. Pengguna dapat mengubah cepat suara, volume serta tinggi nada sesuai dengan keinginannya. Tombol Tes Suara digunakan untuk mengecek bagaimana hasil pengaturan suara yang tersimpan.

Submenu Privasi Pembacaan berfungsi untuk mengatur bagian pesan SMS yang boleh dibacakan oleh aplikasi. Tiga opsi yang tersedia pada Submenu Privasi Pembacaan yaitu Baca Isi SMS, Baca Nama Pengirim, dan Baca dari Pengirim Nomor Tak Dikenal. Gambar 4 adalah tampilan dari Submenu Privasi Pembacaan serta ketiga pengaturannya.

Gambar 4. Submenu Privasi Pembacaan

Opsi Baca Isi SMS yang aktif menandakan bahwa aplikasi diberikan ijin untuk membaca isi pesan yang diterima. Opsi Baca Nama Pengirim berfungsi untuk membacakan nama pengirim pesan sesuai dengan data kontak telepon atau jika nomor tidak tersimpan yang dibacakan hanyalah nomor telepon pengirim. Opsi Baca dari Nomor Tak Dikenal memberikan pengguna keleluasaan untuk menentukan apakah aplikasi dapat membaca isi pesan yang terkirim dari nomor telepon yang tidak terdaftar di kontak telepon.

Submenu Jawab Otomatis yang terlihat pada Gambar 5 berfungsi untuk mengirimkan pesan SMS balasan kepada pengirim secara otomatis setelah melewati durasi waktu tertentu. Pengguna dapat menentukan isi pesan SMS balasan yang dikirimkan. Durasi waktu pengiriman SMS balasan dihitung dalam satuan detik.

Gambar 5. Submenu Jawab Otomatis

Aplikasi mengirimkan jawaban otomatis jika pengguna mengaktifkan Opsi Aktifkan Jawaban Otomatis. Opsi Waktu Tunggu Pengiriman digunakan jika pengguna ingin menjawab pesan secara manual ketika Opsi Aktifkan Jawaban Otomatis diaktifkan. Opsi Waktu Tunggu Pengiriman menyebabkan penundaan pengiriman jawaban otomatis sampai batas waktu tertentu. Selisih waktu tersebut dapat dimanfaatkan pengguna untuk menjawab pesan.

Aplikasi Pembaca SMS memiliki fitur kamus singkatan dan emoticon yang dapat diakses melalui Menu Kamus Singkatan dan Menu Kamus Emoticon. Kamus singkatan dan emoticon sudah siap pakai pada saat Aplikasi Pembaca SMS dibuka pertama kalinya, namun pengguna dapat mengubah atau menambahkan data baru pada kamus. Gambar 6 adalah tampilan

kamus singkatan dan emoticon yang sudah tersimpan pada basis data aplikasi.



Gambar 6. Menu Kamus Singkatan dan Emoticon

Menu Kamus Singkatan dan Emoticon menggunakan Fragment yang ditambahkan dengan ListView sehingga dapat menampilkan semua data singkatan. Daftar kamus dan emoticon disusun berdasarkan urutan abjadnya dari yang terkecil ke terbesar untuk memudahkan pengguna mengeksplorasi isi kamus. Pengguna aplikasi dapat menambahkan data kamus baru dengan memilih Submenu Tambahkan Singkatan Baru atau Submenu Tambahkan Emoticon Baru.

Sebuah dialog ditampilkan ketika tejadi event masuknya SMS baru. Event masuknya SMS baru mengakibatkan Service BroadcastReceiver tereksekusi dan memanggil sebuah dialog yang terpisah dari tampilan aplikasi utama. Dialog yang ditunjukkan pada Gambar 7 tetap muncul pada saat terjadi event masuknya SMS baru walaupun pengguna tidak sedang membuka Aplikasi Pembaca SMS.

Gambar 7. Tampilan Pembacaan SMS


Gambar 7 adalah hasil pengambilan SMS oleh Aplikasi Pembaca SMS. Service BroadcastReceiver dijalankan ketika terjadi event masuknya SMS baru dan memanggil sebuah dialog yang menampilkan detail SMS berupa pengirim dan isi SMS, serta pilihan untuk mengirim SMS balasan melalui tampilan yang sama. Gambar 7 menunjukkan bahwa pengirim dengan nomor telepon 085829219747 tidak tersimpan pada kontak pengguna, sehingga aplikasi membacakan nama pengirim dalam bentuk angka (‘nol delapan lima delapan dua sembilan dua satu sembilan tujuh empat tujuh’). Dialog Gambar 8 menampilkan nama pengirim pesan SMS karena nomor pengirim sudah tersimpan dalam kontak telepon.

Adrian

Bagaimana kabarmu?

TUTUP JAWAB

Gambar 8. Tampilan Pembacaan SMS dengan Nomor Pengirim yang Tersimpan

Gambar 8 adalah hasil pengambilan data SMS dengan nomor pengirim yang sudah

terdaftar dalam  kontak telepon. Aplikasi Pembaca SMS  sudah memiliki permission

READ_CONTACT yang disimpan pada file manifest. Permission READ_CONTACT menandakan bahwa aplikasi dapat melihat daftar kontak dari telepon dimana aplikasi terpasang.

  • 4.3.    Proses Penerjemahan Singkatan dan Emoticon

Proses penerjemahan singkatan dan emoticon pada Aplikasi Pembaca SMS menggunakan regex dan referensi kamus. Regex berfungsi untuk memisahkan kata dari tanda baca dan menyimpannya ke dalam sebuah variabel array. Setiap elemen variabel array dicocokkan dengan isi kamus singkatan dan emoticon.

Gambar 9 adalah flowchart atau diagram alir untuk pemrosesan teks pada Aplikasi Pembaca SMS. Proses penerjemahan singkatan dan emoticon dimulai dengan menangkap isi teks SMS sesuai dengan urutan Protocol Description Unit. Protocol Description Unit atau PDU adalah pasangan karakter ASCII yang mereprentasikan informasi SMS yaitu nomor telepon penerima SMS, nomor telepon pengirim, waktu pengiriman dan isi pesan.

Penangkapan SMS masuk berdasarkan urutan diperlukan untuk menangani kemungkinan SMS yang panjangnya lebih dari 160 karakter sehingga dihitung menjadi lebih dari satu SMS. Contohnya, sebuah SMS dengan jumlah karakter 200 ditangkap oleh Broadcast Receiver sebagai dua SMS sehingga diperlukan cara untuk menggabungkan keduanya. Cara yang dipakai pada Aplikasi Pembaca SMS adalah menggunakan identifier unik pada setiap SMS. Identifier tersebut didapatkan dari data PDU yang dimiliki masing-masing SMS. Pengulangan pengambilan SMS berdasarkan PDU berfungsi untuk menggabungkan SMS yang berkarakter lebih dari 160 karakter dengan tujuan agar ditangkap menjadi satu SMS.

Langkah selanjutnya adalah mengambil nomor pengirim SMS melalui data PDU-nya. Nomor pengirim diubah pada bagian “+62” menjadi “0” agar tidak mengganggu pengucapan Google Text-to-speech. Nomor yang sudah diubah kemudian dibandingkan dengan daftar kontak Android untuk mengetahui apakah nomor tersebut sudah tersimpan pada memori perangkat Android.

Gambar 9. Flowchart Pemrosesan Teks Aplikasi Pembaca SMS

Pemrosesan emoticon dimulai dengan mencari banyaknya emoticon yang tersimpan dalam kamus. Setiap emoticon dibandingkan dengan teks dan jika teks memiliki rangkaian karakter yang sama diganti dengan emoticon tersebut. Pemrosesan singkatan dimulai dengan memisahkan setiap rangkaian karakter dengan delimiter berupa regex [^A-Za-z0-9] yang bernilai match dengan setiap karakter bukan huruf. Delimiter yang dikenali oleh Aplikasi Pembaca SMS adalah simbol titik, koma, tanda tanya, angka, atau spasi yang berada di antara dua kata. Setiap array teks kemudian dibandingkan dengan daftar singkatan pada basis data. Isi array teks yang match atau sama dengan isi daftar singkatan diganti dengan singkatan yang sesuai. Array kemudian digabungkan kembali menjadi satu string teks. String teks inilah yang menjadi hasil pemrosesan teks Aplikasi Pembaca SMS. Tabel 1 adalah Contoh Pemrosesan Teks berdasarkan pada flowchart pemrosesan teks.

Tabel 1. Contoh Pemrosesan Teks

Proses

Nilai

Teks SMS Asli

Hlo, apa kbr? Km sekrang lg kuliah dimna sih? Msh tnggal di Surabaya ga? Ak ada krjaan di kantor, km msh buka usaha freelance? Blh mnta tolong bantuin nih ak g ngerti :( sm krjaannku. Sktar 5000000 ok? Maacii :)

(Jumlah karakter: 211. Terhitung 2 SMS)

Array SMS[0]

Hlo, apa kbr? Km sekrang lg kuliah dimna sih? Msh tnggal di Surabaya ga? Ak ada krjaan di kantor, km msh buka usaha freelance? Blh mnta tolong bantuin

Array SMS[1]

nih ak g ngerti :( sm krjaannku. Sktar 5000000 ok? Maacii :)

Hasil Perulangan PDU

Hlo, apa kbr? Km sekrang lg kuliah dimna sih? Msh tnggal di Surabaya ga? Ak ada krjaan di kantor, km msh buka usaha freelance? Blh mnta tolong bantuin nih ak g ngerti :( sm krjaannku. Sktar 5000000 ok? Maacii :)

Nomor Pengirim

+62891666783

Nomor Pengirim

0891666783

Hasil Pemrosesan Emoticon

Hlo, apa kbr? Km sekrang lg kuliah dimna sih? Msh tnggal di Surabaya ga? Ak ada krjaan di kantor, km msh buka usaha freelance? Blh mnta tolong bantuin nih ak g ngerti semosi sedih sm krjaannku. Sktar 5000000 ok? Maacii emosi senang

Hasil case folding

hlo, apa kbr? km sekrang lg kuliah dimna sih? msh tnggal di surabaya ga? ak ada krjaan di kantor, km msh buka usaha freelance? blh mnta tolong bantuin nih ak g ngerti semosi sedih sm krjaannku. sktar 5000000 ok? maacii emosi senang

Hasil tokenisasi

[hlo], [apa], [kbr], [Km], [sekrang], [lg], [kuliah], [dimna], [sih], [Msh], [tnggal], [di], [Surabaya], [ga], [Ak], [ada], [krjaan], [di], [kantor], [km], [msh], [buka], [usaha], [freelance], [Blh], [mnta], [tolong], [bantuin], [nih], [ak], [g], [ngerti], [emosi], [sedih], [sm], [krjaannku], [Sktar], [5000000], [ok], [Maacii], [emosi], [senang]

Hasil eliminasi huruf vokal berulang

[hlo], [apa], [kbr], [Km], [sekrang], [lg], [kuliah], [dimna], [sih], [Msh], [tnggal], [di], [Surabaya], [ga], [Ak], [ada], [krjan], [di], [kantor], [km], [msh], [buka], [usaha], [frelance], [Blh], [mnta], [tolong], [bantuin], [nih], [ak], [g], [ngerti], [emosi], [sedih], [sm], [krjannku], [Sktar], [5000000], [ok], [Macii], [emosi], [senang]

Hasil Pemrosesan Basis Data (tergantung banyaknya kamus singkatan)

[halo], [apa], [kabar], [Kamu], [sekrang], [lagi], [kuliah], [dimana], [sih], [Masih], [tinggal], [di], [Surabaya], [ga], [Aku], [ada], [krjan], [di], [kantor], [kamu], [masih], [buka], [usaha], [frelance], [Boleh], [minta], [tolong], [bantuin], [nih], [aku], [ga], [ngerti], [emosi], [sedih], [sama], [krjannku], [Sktar], [5000000], [ok], [Macii], [emosi], [senang]

Hasil Penggabungan

halo apa kabar Kamu sekrang lagi kuliah dimana sih Masih tinggal di Surabaya ga Aku ada krjan di kantor kamu masih buka usaha frelance Boleh minta tolong bantuin nih aku ga ngerti emosi sedih sama krjannku Sktar 5000000 ok Maacii emosi senang

Tabel 1 adalah contoh pemrosesan teks berdasarkan flowchart yang sudah dibahas sebelumnya. Hasil penggabungan teks terakhir terdapat beberapa kata yang tidak dapat diterjemahkan salah satunya adalah “krjan” dan “krjannku”. Gagalnya proses penerjemahan singkatan terjadi karena “krjan” dan “krjanku” belum ditambahkan ke dalam kamus singkatan.

  • 4.4.    Hasil Pengujian Aplikasi

Uji coba Aplikasi Pembaca SMS bertujuan untuk mengetahui penilaian pengguna terhadap jalannya aplikasi. Pengujian aplikasi dilakukan dengan metode kuesioner yang melibatkan 10 pengguna. Kategori pertanyaan kuesioner dibedakan menjadi empat, yaitu tampilan aplikasi, kestabilan aplikasi, pengaturan pembacaan, serta singkatan dan emoticon. Tingkat kesuksesan Aplikasi Pembaca SMS berdasarkan hasil kuesioner ditentukan menggunakan tabel skor kuesioner Skala Likert. Tabel 2 adalah Tabel Penilaian Pengujian Aplikasi.

Tabel 2. Penilaian Pengujian Aplikasi

Skor

1

2

3

4

5

Pilihan

Sangat

Tidak  Tidak

Cukup

Setuju

Sangat

Setuju

Setuju

Setuju

Jumlah Pemilih

0

14

16

56

24

Jumlah  Pemilih  x

0

28

48

224

120

Skor

Total Skor            420

Jumlah Respon       110

Jumlah skor tertinggi untuk pilihan Sangat Setuju adalah 5 x 110 = 550 dan jumlah skor terendah untuk pilihan Sangat Tidak Setuju adalah 1 x 110 = 110. Total skor penilaian

diperoleh angka 420, maka penilaian interpretasi pemilih didapatkan melalui rumus Index %. Hasil kalkulasi rumus Index % menunjukkan hasil pengujian Aplikasi Pembaca SMS. Hasil pengujian Aplikasi Pembaca SMS dengan metode kuesioner Skala Likert adalah Rumus Index %=I°≥L⅛1oo = g*100=76,36%. Hasil kalkulasi Index % terhadap total skor kuesioner mendapatkan nilai 76,36% dan termasuk pada kriteria Baik atau Setuju.

  • 5.   Kesimpulan

Aplikasi Pembaca SMS yang dihasilkan mampu mengubah data SMS menjadi suara dan dapat mengartikan singkatan dan emoticon. Penerjemahan singkatan dilakukan dengan memisahkan teks menggunakan regex dan membandingkan setiap kata dengan basis data. Penerjemahan emoticon dilakukan dengan ekstraksi simbol menggunakan regex dengan syarat harus ada spasi atau simbol yang memisahkan antara huruf biasa dengan simbol emoticon. Hasil terjemahan singkatan emoticon sangat bervariasi dan tergantung pada kelengkapan entry data pada basis data. Evaluasi aplikasi melalui metode kuesioner menghasilkan nilai 76,76% dengan kriteria Baik.

Daftar Pustaka

  • [1]    J. He, A. Chaparro, X. Wu, J. Crandall, and J. Ellis, “Mutual interferences of driving and texting performance,” Comput. Human Behav., vol. 52, pp. 115–123, 2015.

  • [2]    K. M. Sherin et al., “Preventing Texting While Driving,” Am. J. Prev. Med., vol. 47, no. 5, pp. 681–688, 2014.

  • [3]    S. R. Baravkar, “Android text messaging application for visually impaired people,” IRACST – Eng. Sci. Technol. An Int. J., vol. 3, no. 1, pp. 58–61, 2013.

  • [4]    S. P. Arbie, A. S. M. Lumenta, A. M. Rumagit, and A. P. R. Wowor, “Rancang Bangun Aplikasi Text to Speech Bahasa Indonesia,” e-journal Tek. Elektro dan Komput., vol. 2, no. 3, pp. 57–62, 2013.

  • [5]    R. Bali, “A Theoretical Review on SMS Normalization using Hidden Markov Models (HMMs),” Int. J. Comput. Trends Technol., vol. 4, no. 7, pp. 2388–2391, 2013.

  • [6]    K. R. Aida-Zade, C. Ardil, and a M. Sharifova, “The main principles of text-to-speech synthesis system,” Int. J. Signal Process., vol. 7, no. 1, pp. 13–19, 2013.

  • [7]    L. R, A. S, S. S, B. C, and G. Fernando, “Android Speech-to-speech Translation System

for Sinhala,” Int. J. Sci. Eng. Res., vol. 6, no. 10, pp. 1660–1664, 2015.

  • [8]   M. Sukarsa and G. M. Rupayana, “Rancang Bangun Web Iklan Berbasis Mobile,” Lontar

Komput. J. Ilm. Teknol. Inf., vol. 2, no. 1, 2011.

  • [9]   A. F. Waruwu, I. P. A. Bayupati, and I. K. G. Darma Putra, “Augmented Reality Mobile

Application of Balinese Hindu Temples: DewataAR,” I. J. Comput. Netw. Inf. Secur., vol. 2, no. January, pp. 59–66, 2015.

  • [10]    N. K. A. W. Harmandya, Mentari, Gusti Made Arya Sasmita, “Rancang Bangun Aplikasi Tryout Ujian Nasional Sekolah Menengah Pertama (SMP) Berbasis Android,” Lontar Komput., vol. 6, no. 2, pp. 108–119, 2015.

  • [11]    A. A. Kompiang Oka Sudana, I. K. A. Purnawan, and N. M. R. M. Dewi, “Android based translator of balinese into indonesian using binary search method,” Int. J. Softw. Eng. its Appl., vol. 8, no. 6, pp. 165–182, 2014.

238

Rancang Bangun Aplikasi Pembaca SMS Berbahasa Indonesia Berbasis Android

(Ni Kadek Ayu Anggraeni)