PERANCANGAN PROGRAM APLIKASI MEMBACA SMS MENGGUNAKAN SUARA DENGAN METODE HIDDEN MARKOV MODELS Fransisca Regina Departemen Matematika dan Statistika, Universitas Bina Nusantara Jl. K.H Syahdan No. 9, Kemanggisan, Jakarta Barat Telp 021 – 5350660 ext. 2349, Fax 021 – 5350644 Email
:
[email protected]
Dosen Pembimbing : Dr. Ir. Haryono Soeparno, M.Sc Ro’fah Nur Rachmawati, S.Si., M.Si
ABSTRAK Pesan adalah perintah, permintaan atau perkataan seseorang yang disampaikan melalui orang lain. Bertukar pesan merupakan salah satu cara untuk berkomunikasi dalam kehidupan bermasyarakat. Seiring dengan perkembangan zaman dan teknologi, bertukar pesan menjadi lebih mudah dan sangat cepat, dibuktikan dengan adanya telepon selular dan aplikasi sms yang terdapat dalam telepon selular sehingga dapat mempermudah komunikasi. Akan tetapi dari kemudahan yang ada, terdapat salah satu hal yang menghambat yaitu tingginya mobilitas dan hambatan untuk orang dengan berkebutuhan khusus. Oleh karena itu, dibutuhkan sebuah program aplikasi yang dapat mengatasi hambatan tersebut. Program aplikasi ini adalah aplikasi membaca sms menggunakan suara. Aplikasi ini menggunakan metode yang dapat menterjemahkan pesan teks menjadi suara. Metode yang digunakan adalah Hidden Markov Models (HMM). HMM merupakan pengembangan model statistika dan berguna untuk menganalisis teks kemudian menterjemahkan teks dan diubah menjadi suara. Program ini dibuat menggunakan bahasa pemrograman Java. Karena jenis telepon selular yang sedang tren sekarang adalah smartphone, maka akan dibuat untuk telepon selular berbasis Android. Kata Kunci : telepon selular, sms, teks ke suara, HMM, smartphone Android ABSTRACT Message is a command , request or words of person wants to communicated through others. Send and reply message was one way to communicate in social life. Along with the times and technology, send and reply messages even easier and very quickly, evidenced by the mobile phone and sms application contained in mobile phone so as to facilitate communication. But from
an existing convenience, there is one thing holding the high mobility and barriers to people with disabilities. Therefore, it takes an application program that can overcome these obstacles. This application program is an application to read sms using voice. This application uses a method that can translate text into sound. The method used is the Hidden Markov Models (HMM). HMM is a statistical model development and is useful for analyzing the text and then translates the text and converted into sound. The program was created using the Java programming language. Since this type of mobile phone is now trending smartphones, it will be created for mobile phones based on Android. Keywords : handphone, sms, text to speech, HMM, smartphone Android
1. PENDAHULUAN DEWASA ini penggunaan alat telekomunikasi yang dapat disebut sebagai telepon selular, ponsel atau handphone di Indonesia meningkat cukup tajam jika dibandingkan dengan awal tahun 2000 pada saat telepon selular dianggap menjadi barang yang mahal. Telepon selular telah menjadi bagian kebutuhan primer bagi masyarakat Indonesia pada umumnya. Kebutuhan primer ini mengakibatkan telepon selular menjadi sebuah candu. Banyak orang yang tidak dapat hidup tanpa telepon selular lebih dari semenit saja dan tidak ada orang yang bisa ketinggalan telepon selular jika bepergian. Telepon selular tidak lagi digunakan untuk telepon dan SMS saja. Fitur atau kegunaan dari telepon selular semakin canggih seiring perkembangan zaman sehingga telah dianggap sebagai asisten pribadi dalam hidup manusia. Kecanggihan produk telepon selular dapat dilihat dari aplikasi dan layanan yang tertanam di dalamnya. Aplikasi dan layanan memberikan kemudahan bagi kehidupan manusia. Namun tidak semua aplikasi dan layanan memberikan kemudahan, ada beberapa jenis aplikasi yang membuat orang menjadi kesulitan. Misalnya saja, SMS adalah sebuah layanan untuk menerima, membaca dan membalas atau disebut juga bertukar pesan melalui telepon selular. Pada umumnya membaca adalah kegiatan melihat objek dengan bantuan mata, membaca SMS membutuhkan bantuan berupa koordinasi antara otak, mata dan tangan pada saat membaca pesan dalam telepon selular. Konsentrasi otak untukmemerintahkan mata membaca SMS menjadi hambatan bagi kebanyakkan orang. Misalnya, untuk orang yang sedang melakukan kegiatan dengan tingkat konsentrasi tinggi pada umumnya dan secara khusus untuk orang dengan berkebutuhan. Kendala menjadi hambatan dan hambatan mempersulit seseorang ketika melakukan kegiatan yang seharusnya mudah. Oleh karena itu, kendala dan hambatan mejadi masalah yang harus dipecahkan dengan solusi permasalahannya. KAJIAN pustaka yang menjadi dasar dalam penulisan, yaitu : Gales, Mark & Young, Steve. (2008). The Application of Hidden Markov Models in Speech Recognition, Foundations and Trends ® in Signal Processing, vol 1, no 3, pp 195 – 304, 2007. Boston : Delft. Makalah ini berisi tentang metode Hidden Markov Models (HMM) yang diterapkan ke dalam beragam macam aplikasi speech recognition dengan bantuan algoritma yang berhubungan dengan HMM. Raitio, Tuomo. (2008). Hidden Markov Model Based Finnish Text – to – Speech System Utilizing Glottal Inverse Filtering. Helsinki University of Technology. Finlandia Makalah ini berisi tentang perbandingan dan perkembangan beragam macam aplikasi text to speech berbahasa Finlandia atau disebut Finnish dengan menggunakan metode Hidden Markov Model (HMM). RUANG lingkup pada pembuatan perancangan program adalah program yang akan dibuat ini membutuhkan data berupa suara manusia sebagai database yang dimasukkan pada program dan kemudian digunakan untuk membaca pesan singkat yaitu SMS. Program akan menghasilkan keluaran berupa suara pada telepon selular berbasis Android. Bermacam – macam kata dalam bentuk ucapan manusia akan dimasukkan ke dalam program sebagai database yang akan diakses ketika menjalankan program. Pada saat menerima pesan singkat di telepon selular Android, program berjalan untuk membaca pesan singkat yang masuk. Dalam menterjemahkan teks menjadi suara, program ini menggunakan metode yang sedang berkembang pada saat ini yaitu : Hidden Markov Models. PERUMUSAN masalah dalam perancangan program meliputi program akan menterjemahkan input berupa teks, proses analisis pada penterjemahan teks yang dimasukkan akan diubah ke dalam bentuk suara melalui sebuah metode Hidden Markov Models. Data yang diperlukan dan digunakan dalam pembuatan program ini adalah database yang telah dibuat sebelumnya. Data untuk penulisan skripsi ini menggunakan data yang telah ada dari sumber – sumber berupa buku, jurnal, makalah dan internet. Setelah program aplikasi berhasil dibuat, output program adalah suara yang telah dimasukkan dan menjadi aplikasi
handphone berbasis Android. Sebuah metode yaitu Hidden Markov Models akan bekerja untuk menganalisis dan menterjemahkan dalam program aplikasi dan menjadi dasar dalam penulisan skripsi ini. TUJUAN penelitian dari perancangan program adalah dapat merancang program aplikasi membaca SMS dengan menggunakan suara dan mengimplementasikan atau menerapkan program membaca SMS agar dapat digunakan untuk membantu orang dengan tingkat mobilitas tinggi dan meningkatkan efektivitas pada umumnya. Manfaat yang akan diperoleh dalam perancangan program adalah memberi kemudahan untuk orang dengan tingkat mobilitas tinggi agar dapat membaca SMS menggunakan alat bantu berupa suara manusia dan dapat dipakai dan digunakan bagi orang dengan berkebutuhan khusus dalam bentuk aplikasi yang tertanam di dalam jenis handphone seperti smartphone Android serta menjadi solusi pemecahan masalah dari kendala dan hambatan yang berguna dalam kehidupan manusia sehingga meningkatkan efektivitas kerja manusia dalam membaca pesan sms.
2. METODE PENELITIAN DALAM perancangan program ini, metode penelitian yang digunakan adalah a. Membuat data masukkan sebagai database yang akan dipergunakan dalam pembuatan program. b. Mencari sumber – sumber data lain yang diperlukan pada internet dalam website www.android.com c. Database yang telah dibuat kemudian dilakukan training dan analisis dengan menggunakan metode Hidden Markov Models sehingga dapat menterjemahkan pesan teks yaitu SMS menjadi suara. d. Membuat program untuk aplikasi Android yaitu program untuk dapat menerima pesan masuk atau SMS sebagai aplikasi.
3. HASIL DAN BAHASAN 3.1 SHORT Message Service Layanan pesan singkat atau disebut juga SMS merupakan suatu fasilitas untuk mengirim dan menerima suatu pesan singkat berupa teks melalui telepon selular. Pada awalnya, ide adanya SMS berasal dari mesin faks yang dapat berfungsi untuk pertukaran teks. Sebelum digunakan oleh banyak orang di dunia, SMS mengalami pengoptimalan fungsinya sebagai pertukaran pesan selama lebih dari satu dasawarsa. Salah satu kelebihan dari SMS adalah biaya yang murah. Selain itu SMS merupakan metode simpan dan forward sehingga pada saat telepon selular tidak aktif atau diluar service area, penerima tetap dapat menerima SMS apabila telepon selular tersebut sudah aktif kembali. Prinsip kerja SMS adalah setiap pertama kali pengiriman pesan SMS dilakukan akan menuju ke pusat SMS yang bertugas untuk menyimpan pesan dan mencoba mengirimkan beberapa kali ke tujuan sampai waktu yang ditentukan pada pusat pesan telepon selular. SMS bekerja menggunakan sinyal yang terbatas pada telepon selular. Oleh karena itu, SMS memiliki keterbatasan karakter dalam pengetikkan teks yaitu 160 karakter dan membutuhkan SMSC atau pusat SMS.(Farial, Dody. 2010. Pengertian SMS. http://ilmucomputer2.blogspot.com/2009/09/pengertiansms.html). SMS berkembang pesat setelah diuji coba ke pasaran pada tahun 1993 dan masyarakat lebih memilih layanan SMS sebagai sarana untuk berkomunikasi serta jauh lebih mudah digunakan. Dari tahun ke tahun, pengiriman pesan SMS terus meningkat dan semua orang mulai dari anak – anak, remaja, orang dewasa hingga orang tua tidak dapat jauh – jauh dari SMS. Pesan SMS yang harus dibaca per kalimat membutuhkan konsentrasi dan menjadi hambatan bagi kebanyakkan orang. Misalnya orang dengan mobilitas tinggi dan orang dengan berkebutuhan khusus, memiliki hambatan dalam membaca pesan dalam kalimat. Oleh karena itu, perancagan program aplikasi membaca SMS menggunakan suara akan menjadi solusi dan mengubah hambatan menjadi kemudahan untuk orang.
3.2 DASAR – dasar Speech Production Ucapan atau speech diproduksi dengan mengatur aliran udara dari paru – paru melalui tenggorokkan, hidung dan mulut. Udara yang berada di dalam paru – paru ditekan keluar oleh dada dan jaringan paru – paru sehingga aliran udara keluar menuju trakea dan laring. Pada laring, aliran udara diproses oleh vocal folds dan menghasilkan suara. Suara yang telah dihasilkan akan diteruskan ke bagian faring, hidung dan mulut dan disebut juga saluran vokal. Pada akhirnya dapat terdengar sebagai suara yang dipancarkan oleh mulut dan sekitar bibir. Mekanisme produksi suara diilustrasikan pada Gambar 1. Dasar produksi speech diklasifikasikan ke dalam tiga kategori. Pertama adalah suara yang dihasilkan ketika berbicara diproduksi dengan menggunakan tekanan udara dan masuk ke dalam vocal folds sehingga menghasilkan getaran dan sinyal harmonik secara periodik. Kedua, suara yang tidak diucapkan dibuat dari aliran udara di sepanjang saluran vokal. Hal ini menyebabkan gelombang suara yang bersifat kontinu tetapi tidak harmonik. Ketiga adalah pada saat selesai mengucapkan kata konsonan akan berhenti diproduksi di dalam aliran saluran vokal dan melepaskan tekanan udara yang telah dihasilkan sebelumnya.
Gambar 1 Mekanisme Produksi Speech
3.3 SPEECH Synthesis Speech Synthesis atau lebih dikenal dengan istilah Text to Speech (TTS) adalah suara buatan yang dibuat dari suara manusia sebagai speech engine agar dapat berkata seperti manusia untuk beragam macam aplikasi. TTS menterjemahkan teks atau kata ke dalam suara yang berguna untuk memberikan informasi dari aplikasi ke manusia. Padaawalnya, TTS dibuat dengan cara merekam suara manusia dan disimpan ke dalam database. Akan tetapi kualitas suara yang direkam tidak dapat dimengerti dan tidak terdengar dengan jelas seperti suara robot. Namun seiring dengan perkembangan teknologi, kualitas suara tersebut dapat terdengar seperti suara manusia. TTS berisi data untuk mentransformasikan teks ke suara secara real time dan dapat membacakan teks dengan intonasi suara serta kecepatan membaca yang jelas. Pada awal tahun 1990 – an, banyak komputer yang menerapkan speech synthesizer untuk memberikan kemudahan dalam pengoperasian komputer bagi orang dengan berkebutuhan.
3.4 HIDDEN Markov Models Model Markov Tersembunyi atau dalam Bahasa Inggris disebut dengan Hidden Markov Modesl (HMM) merupakan pengembangan model statistik yang terkenal dari sebuah sistem yang diasumsikan oleh Markov Chain dengan parameter yang tidak diketahui sehingga memiliki tantangan untuk dapat menentukan parameter yang tersembunyi (hidden) berdasarkan parameter yang diamati. Parameter yang telah ditentukan kemudian akan digunakan untuk menganalisa lebih jauh, misalnya pada aplikasi speech synthesis atau text to speech. Menurut Nikolai V. Shokhirev. 2001. Hidden Markov Models. Diakses tanggal 4–11–2011 dari http://www.shokhirev.com/nikolai/abc/alg/hmm/hmm.html, definisi HMM adalah variant dari finite state machine yang terdiri dari : a. Hidden State b. Simbol Observasi c. Transition Probabilities
dimana
probabilitas dari a ke b dengan waktu. selanjutnya yaitu
dan state sebelumnya yaitu
dan
. A adalah probabilitas untuk state
.
d. Output Probabilities probabilitas yaitu
adalah kondisi
dimana
di O. B adalah output
pada state sebelumnya
e. Initial State Probabilities Dapat ditulis juga menjadi
3.5 ALGORITMA Viterbi Tujuan dari decoding adalah untuk mencari state sequence yang tersembunyi (hidden). Algoritma viterbi membantu mencari state sequence tersembunyi itu dengan cara menelusuri setiap state hingga mendapatkan state terbaik dan maksimum. Definisi : sebagai probabilitas yang ada pada setiap state. Berikut ini adalah langkah – langkah algoritma Viterbi : Langkah 1 : Inisialisasi Langkah 2 : Rekursi
, , Langkah 3 : Terminasi
Langkah 4 : Jalur state sequence dengan backtracking
3.6 ANDROID MENURUT Safaat, Nazruddin. (2011:1), mendefinisikan Android sebagai berikut : “Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka”. Pada Juli 2000, Google Inc. bekerja sama dengan Android Inc. yang merupakan perusahaan pendatang baru untuk membuat peranti lunak pada ponsel atau smartphone. Para pendiri Android bertugas mengembangkan program perangkat selular yang didukung oleh kernel Linux. Sejak kerjasama itu terjadi, banyak yang menganggap fungsi Android adalah perangkat lunak pada telepon selular sehingga muncul rumor bahwa Google akan memasuki pangsa pasar telepon selular. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance adalah konsorsium 34 perusahaan yang terdiri dari perusahaan peranti keras, peranti lunak dan telekomunikasi. Android pertama kali diperkenalkan ke pasaran September 2007, Google mengajukan hak paten aplikasi telepon selularnya dengan mengenalkan dan meluncurkan produk smartphone yang menggunakan Android sebagai sistem operasinya. Pada saat perilisan perdananya, Android dan Open Handset Alliance mendukung pengembangan open source pada perangkat mobile. Di lain pihak, Google merilis kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan platform perangkat telepon selular. Sejak peluncuran Android hingga sekarang, Android berkembang sangat pesat dari segi teknologi hingga segi jumlah perangkat yang ada di dunia. Hal ini dikarenakan sistem operasi yang open source dan bebas didistribusikan serta dukungan sangat tinggi dari para komunitas open source di dunia. Android disebut sebagai platform masa depan yang lengkap, terbuka dan bebas. Lengkap karena programmer dapat mengembangkan platform dengan pendekatan komprehensif dan dalam sistem operasi Android disediakan tools untuk membangun software. Terbuka atau open source merupakan platform yang disediakan oleh Android agar programmer dapat membuat aplikasinya tanpa lisensi. Bebas dikembangkan oleh siapa saja dan bebas biaya untuk membayar lisensi atau royalti pada platform Android. Android telah menjadi platform generasi baru yang mendasari perkembangan aplikasi mobile masa depan. Dalam menjalankan sistem operasinya, Android mempunyai arsitektur yang terdiri dari :
Gambar 2. Arsitektur Android
a. Applications Widgets Layer applications merupakan tempat yang menghubungkan antar aplikasi yaitu hasil aplikasi yang didownload, menginstall aplikasi dan aplikasi yang berjalan. Pada layer ini terdapat aplikasi inti yang berisi email, kalender, kontak, browser, dan lain – lain. Aplikasi dibuat dengan menggunakan bahasa pemrograman Java. b. Application Frameworks
Android adalah “Open Development Platform”. Android memberikan kemudahan kepada pengembang untuk membangun aplikasi yang bagus dan inovatif. Pengembang bebas mengakses perangkat keras, sumber informasi, menjalankan service background, mengatur alarm, dan sebagainya. Pengembang memiliki akses penuh menuju API (Application Programming Interface) frameworks seperti yang dilakukan oleh aplikasi inti. Dalam arsitektur ini, aplikasi dirancang agar dapat menggunakan kembali komponen yang sudah digunakan (reuse). Para pembuat aplikasi melakukan pengembangan untuk dijalankan di sistem operasi Android. Komponen – komponen yang termasuk di dalam Applications Frameworks adalah sebagai berikut : 1. Views merupakan komponen yang digunakan untuk membangun aplikasi seperti list, grids, text boxes, buttons, dan embedded web browser 2. Content Provider adalah komponen yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain, misalnya contacts atau untuk membagi data 3. Resource Manager adalah komponen yang menyediakan akses ke sumber data yaitu localized strings, graphics, dan layout files 4. Notification Manager adalah komponen yang bertugas mengatur semua aplikasi sehingga menampilkan custom alerts pada the status bar 5. Activity Manager adalah komponen yang mengatur siklus hidup dari semua aplikasi c. Libraries Layer ini berada pada level yang sama dengan Android Run Time dan berisi fitur Android yang biasanya digunakan oleh para pembuat aplikasi ketika mengakses libraries untuk menjalankan aplikasi. Dalam layer ini berjalan di atas kernel dan meliputi berbagai library C / C++ inti seperti Libc dan SSL : 1. Libraries media adalah library yang mendukung playback dan recording dalam berbagai format audio dan video seperti MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG 2. Libraries untuk mengatur tampilan 3. Libraries graphics yang terdiri dari SGL dan OpenGL untuk grafis 2D dan 3D 4. Libraries SQLite adalah relational database engine dan tersedia untuk semua aplikasi 5. Libraries SSL dan WebKit terintegrasi dengan web browser dan security 6. Libraries LiveWebcore mencakup modern web browser dengan engine embedded web view 7. Libraries 3D adalah implementasi OpenGL ES 1.0 API’s. Pada library ini menggunakan hardware 3D acceleration dan highly optimized 3D software rasterizer d. Android Run Time Android Run Time terletak pada lapisan setelah Linux Kernel. Dalam Android Run Time terdiri dari 2 bagian yang menjadi dasar untuk proses pembuatan aplikasi Android, yaitu : 1. Core Libraries adalah aplikasi Android yang dibuat dengan bahasa pemrograman Java dan merupakan sebuah libraries yang berfungsi untuk menterjemahkan bahasa Java / C yang dilakukan oleh Core Libraries. 2. Dalvik Virtual Machine (DVM) merupakan salah satu elemen kunci dari Android dan virtual mesin berbasis register bukan virtual machine Java yang dioptimalkan untuk menjalankan fungsi secara efisien, dimana pengembangan dapat membuat linux kernel melakukan threading, keamanan, proses dan fungsionalitas tingkat rendah serta manajemen memori sehingga pembuat aplikasi dapat membuat aplikasi dengan bahasa pemrograman C / C++ seperti sistem operasi linux. e. Linux Kernel Layer ini berisi inti dari sistem operasi Android yang terdiri dari sistem untuk mengatur sistem proses, memori, resource, drivers, dan sistem lainnya. Kernel berperan sebagai abstraction layer antara hardware dan keseluruhan software Android dibangun di atas kernel Linux 2.6. Akan tetapi, secara keseluruhan android bukan linux karena di dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux adalah sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karena itu pada android terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan lain – lain. Proses pembuatan atau perancangan sebuah program aplikasi untuk Android dibuat dalam bahasa pemrograman Java. Program yang dibuat akan dikompilasi dengan data file lain dan dalam proses kompilasinya di – package oleh tools yang dinamakan “apt tools” serta menghasilkan file dengan ekstensi apk. File apk ini yang disebut dengan aplikasi dan diinstal pada perangkat mobile. Terdapat 4 jenis komponen pada aplikasi Android, yaitu : a. Activities Activities merupakan hal yang ada pada aplikasi Android. Sebuah activity, biasanya berupa satu layar dalam aplikasi. Activity ini dinyatakan dengan sebuah class tunggal yang merupakan perpanjangan atau extends dari class activity. Class akan menampilkan interface yang tediri dari Views dan respons untuk menjalankan aksi tertentu. Dan kebanyakan aplikasi Android terdiri atas beberapa layar. Misalnya, ketika akan mengirim sms maka akan terlihat satu layar yang berisi daftar kontak dan layar kedua untuk menulis isi sms.
b. Service Service tidak memiliki Graphic User Interface (GUI), tetapi service berjalan pada background. Contoh, ketika memainkan musik, service mungkin memainkan musik atau mengambil data dari jaringan, tetapi service harus berada dalam kelas utama. Misalnya, media player sedang memutar lagu dari daftar lagu, aplikasi ini akan memiliki dua atau lebih activity yang memungkinkan pengguna untuk memilih lagu atau mengetik sms sambil memutar lagu. Untuk menjaga agar musik tetap berjalan, activity player dapat menjalankan service pada thread utama dari proses aplikasi. c. Broadcast Receiver Broadcast Receiver berfungsi menerima dan menyampaikan notifikasi. Contoh broadcast adalah seperti notifikasi zona waktu yang berubah, baterai habis, gambar yang telah selesai diambil oleh kamera atau perubahan referensi bahasa yang digunakan. Aplikasi juga dapat menginisiasi broadcast misalnya memberikan informasi pada aplikasi lain bahwa data yang telah diunduh ke perangkat dan siap untuk digunakan. Broadcast receiver tidak memiliki user interface (UI) tetapi memiliki sebuah activity untuk merespon informasi yang diterima atau mungkin menggunakan Notification Manager untuk memberitahu pengguna seperti lampu layar atau perangkat getar dan lain sebagainya. d. Content Provider Content provider membuat kumpulan aplikasi data yang dapat digunakan secara spesifik oleh aplikasi lain. Data disimpan dalam file sistem seperti database SQLite. Content provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya ketika aplikasi membutuhkan peta atau aplikasi untuk mengakses data kontak dan navigasi dan fungsi content provider berjalan.
3.7 Teori Perancangan Aplikasi View dan Teks Pokok penyusun tampilan grafis disebut view. Setiap view dideskripsikan oleh objek view yang tugasnya adalah menggambarkan area kotak dan meng – handle event di area tersebut. View merupakan class dasar untuk objek widget yang berinteraksi dengan user. Contoh widget adalah button, checkbox, textview, dan lain – lain. Objek Viewgroup merupakan tipe view yang berfungsi sebagai container untuk menampung beberapa view termasuk viewgroup lainnya. Viewgroup dapat menampung view dan widget vertikal atau horizontal. Viewgroup merupakan class dasar bagi layout layar. Layout mendefinisikan elemen user interface, posisi dan action yang dapat ditentukan dalam bentuk XML atau Java. Biasanya layout awal dinyatakan dalam XML dan perubahan saat run time dinyatakan di Java. Dengan menggunakan viewgroup dan widget, pembuatan antarmuka menjadi lebih mudah. Berikut ini adalah widget yang digunakan dalam membuat tampilan menu pada aplikasi android yang terdiri dari : a. Button adalah tampilan kotak yang digunakan sebagai register ketika layar disentuh pada bagian tengahnya. b. CheckBox adalah sejenis button dengan tampilan cek dan deskripsi yang dapat dipilih dan tidak dipilih. Pada perancangan program aplikasi ini menggunakan checkbox sebagai tampilan visual menu untuk menjalankan aplikasi. c. RadioButton adalah sejenis button dengan tampilan titik yang dapat dipilih ketika disentuh tetapi tidak dapat dimatikan. Radio button dapat digabungkan dan dikelompokkan lebih dari satu radio button menjadi satu kesatuan dan hanya dapat dipilih satu radio button saja. d. Spinner adalah button yang menunjukkan pemilihan sekarang dan memungkinkan grafik untuk menunjukkan. Ketika spinner disentuh, maka nilai yang ada akan ditampilkan dan ketika pemilihan dibuat, maka akan ditampilkan di spinner. e. ProgressBar adalah sebuah bilah yang menyala secara visual yang menunjukkan persentase kemajuan sebuah proses. Audio di Android Suara atau audiodi android terdiri dari dua macam framework yang dapat dipakai untuk merekam dan memainkan file audio dan tergantung pada aplikasi yang dijalankan. Dua macam framework tersebut adalah sebagai berikut : a. Media Player / Media Recorder merupakan metode standar untuk memanipulasi audio tetapi hanya dapat digunakan untuk file audio berbasis file atau stream data. Metode ini diproses dengan cara menciptakan thread sendiri. b. Audio Track / Audio Recorder merupakan metode yang menyediakan akses direct ke raw audio. Digunakan untuk memanipulasi audio di memori dan akan menuliskan buffer pada saat menjalankan audio atau penggunaan lain yang tidak membutuhkan file atau stream. Pada metode ini tidak menciptakan thread sendiri. User Interface Hardware Pada perancangan program aplikasi berbasis Android, digunakan user interface hardware berupa sensor. Dalam smartphone Android terdapat sensor yang canggih dan powerful berkat kemajuan dunia elektronika
yaitu Micro Electro Mechanical Systems (MEMS). MEMS adalah sumber alat sensor yang dibuat menjadi mudah. Berikut ini beberapa sensor yang digunakan dan terdapat dalam Android: a. TYPE_ACCELEROMETER digunakan untuk mengatur akselarasi dalam 1 m/s2 . Sensor ini digunakan dalam perancangan program aplikasi. b. TYPE_ALL digunakan untuk mengukur tipe sensor dan merupakan konstanta. c. TYPE_GYROSCOPE digunakan untuk mengukur orientasi berdasarkan momentum sudut. d. TYPE_LIGHT digunakan untuk mengukur cahaya ambient di lux. e. TYPE_MAGNETIC_FIELD digunakan untuk mengukur medan magnet dalam satuan (mikro Tesla). f. TYPE_PRESSURE digunakan untuk mengukur tekanan udara. g. TYPE_PROXIMITY digunakan untuk mengatur objek penghalang dalam sentimeter h. TYPE_TEMPERATURE digunakan untuk mengukur temperature dalam derajat celcius.
3.8 Aplikasi Mobile Aplikasi mobile atau mobile application adalah proses pembuatan dan pengembangan aplikasi untuk perangkat gengam, misalnya telepon selular. Aplikasi mobile telah terdapat dalam telepon selular pada saat proses pembuatan, atau sekarang ini dapat didownload oleh pengguna dari aplikasi market yang tersedia dalam perangkat telepon selular. Sebuah aplikasi mobile mempunyai karakteristik sebagai berikut : a. Ukuran yang kecil b. Memori yang terbatas c. Daya proses yang terbatas d. Penggunaan daya yang rendah e. Konektivitas yang terbatas Salah satu tipe aplikasi berupa mobile adalah SMS. Menurut Fling, Brian (2009:70). SMS adalah aplikasi paling dasar yang dapat dibuat dan dirancang terlebih dahulu. dan aplikasi yang terintegrasi dengan aplikasi lain. Aplikasi SMS ini terdapat beragam macam jenis seperti pengguna yang mengirimkan kata kunci kepada konten premium dan dibalas dengan konten berupa link ke sebuah website. Aplikasi SMS mempunyai dua macam sifat yaitu bebas dan premium. Bebas berarti tidak ada biaya tambahan di luar biaya SMS. Premium berarti terdapat biaya tambahan dalam pertukaran konten. Terdapat keunggulan dan kelemahan dari aplikasi SMS. Keunggulan dari aplikasi SMS adalah a. SMS bekerja pada setiap perangkat mobile secara kontinu. b. SMS berguna untuk mengirimkan “alert” tepat waktu kepada pengguna. c. SMS dapat dimasukkan ke dalam web atau aplikasi mobile. d. SMS dapat digunakan untuk mengatur dan mengelola. Kelemahan dari aplikasi SMS adalah a. SMS hanya terbatas sampai 160 karakter. b. SMS memberikan pengalaman berbasis teks yang terbatas. c. SMS dapat menjadi sangat mahal.
3.9 Unified Modeling Language Unified Modeling Language atau disingkat dengan UML adalah sebuah bahasa dari gambaran perancangan program berorientasi objek berdasarkan diagram atau grafik yang digunakan sebagai visualisasi, spesifikasi, dan dokumentasi. Dalam perancangan program berorientasi objek, UML mendeskripsikan berdasarkan diagram yang terdiri dari : a. Structural Diagram 1. Class Diagram Mendeskripsikan jenis – jenis objek dalam sistem dan berbagai macam hubungan statisyang terjadi. Class diagram menunjukkanproperti dan operasi sebuah Class dan batasan yang terdapat dalam hubungan dengan objek. Class diagram merupakan alat terbaik dalam perancangan perangkat lunak. Class diagram membantu pengembang mendapatkan struktur sistem dan menghasilkan rancangan sistem yang baik. 2. Deployment Diagram Menggambarkan elemen perangkat keras yang merupakan bagian arsitektur fisik dari perancangan sistem. b. Behavioral Diagram 1. Use Case Diagram Memodelkan proses berdasarkan pandangan user.Use case diagram terdiri atas diagram untuk use case dan aktor. Aktor adalah orang yang berinteraksi dengan sistem aplikasi. 2. Sequence Diagram Urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari Use Case, interaksi antar class dan urutan proses yang terlibat. 3. Activity Diagram Menampilkan proses secara prosedur dari elemen sistem. 3.10 HASIL
Tampilan layar berupa menu yang dapat dipilih oleh pengguna. Menu yang ada terdiri dari 6 buah pilihan menu. Tiga dari menu adalah menu checkbox yang berguna untuk mengatur jalannya aplikasi. Tiga menu lainnya adalah menu lanjutan yang bertujuan untuk cek aplikasi, menu kontak, dan aturan lanjutan. Aplikasi membaca sms ini akan berjalan pada telepon selular berbasis Android.
Gambar 3 Rancangan Layar
Flowchart tentang proses berjalannya program membaca ini. Program dimulai dengan membuat input suara sebagai database. Database ini adalah data untuk text to speech menggunakan Bahasa Indonesia. Database dibuat dengan metode Hidden Markov Models (HMM) untuk melakukan analisis dan training data agar dapat menterjemahkan teks ke suara pada aplikasi. Database TTS telah tersedia bagi handphone berbasis Android. Aplikasi membaca sms menggunakan suara berjalan setiap sms masuk seperti orang yang sedang bercerita kepada orang lain. Start
Menyimpan data TTS Bahasa Indonesia
Pesan teks masuk
Penterjemahan pesan teks dengan menggunakan HMM
Dengarkan pesan teks masuk berupa suara
Suara dapat didengar oleh user
Gambar 4 Flowchart program Class Diagram mendeskripsikan jenis objek dalam sistem dan berbagai macam hubungan statis yang terjadi. Class diagram menunjukkan properti dan operasi sebuah Class dan batasan yang terdapat dalam hubungan dengan objek seperti yang ditunjukkan pada Gambar 5.
Gambar 5 Class Diagram Sequence Diagram berisi tentang urutan perancangan program aplikasi membaca sms ini.Urutan ini dilakukan untuk mencapai tujuan dari use case seperti yang ditunjukkan pada Gambar 6.
Gambar 6 Sequence Diagram
Diagram use case merupakan diagram yang menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar dan dapat menjelaskan sistem secara fungsional yang terlihat oleh user. Biasanya dibuat pada awal pengembangan. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Inti dari use case adalah “apa” yang diperbuat sistem, bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case digunakan untuk melakukan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat sebuah daftar belanja, dan sebagainya. Pada gambar 7 dijelaskan use case diagram yang menunjukkan fungsionalitas dari program membaca sms menggunakan suara ini.
Gambar 7 Use case diagram
Rich picture adalah suatu skema (pemetaan) tentang hal-hal yang harus diperhatikan dalam melakukan suatu perancangan dan merupakan bagian dari tahap awal perancangan program. Rich picture dibuat dengan
cara meletakkan tema pada bagian tengah gambar dan meletakkan hal – hal lainnya yang berhubungan dengan tema tersebut seperti pada gambar 8.
Start Data dari web http://code.google.com/ p/eyes-
Penterjemahan teks
free/downloads/list/
Perancang program
Program membaca
Tampilan data berupa suara di handphone Android
Gambar 8 Rich picture State transition diagram adalah diagram yang menggambarkan behavior, yaitu bagaimana kerja sistem melalui kondisi (state) di suatu kelas berdasarkan event dan message yang dikirimkan dan diterima oleh kelas tersebut serta kejadian yang menyebabkan kondisi berubah. State transition diagram juga menggambarkan aksi yang dilakukan karena kejadian tertentu. Pada gambar 9 di bawah digambarkan behavior dari kerja program membaca sms
Mengaktifkan aplikasi
Berhenti membaca pesan
Pilih menu service
Tekan menu berhenti
Pilih menu baca semua pesan
Tampilan muka
Pilih menu baca pengirim pesan Tekan menu ubah kontak
Tampilan kontak
Tekan menu pengaturan lanjutan
Tampilan pengaturan lanjutan
Gambar 9 State Transition Diagram
Menjalankan aplikasi ketika pesan masuk
Membaca pengirim pesan ketika pesan masuk
4. SIMPULAN DAN SARAN 4.1 SIMPULAN yang dapat diuraikan dari perancangan aplikasi membaca sms dengan menggunakan suara dan hasil implementasi program adalah metode yang dipakai dalam pembuatan program ini adalah metode Hidden Markov Models (HMM). Dalam perancangan program, metode ini digunakan untuk menterjemahkan input pesan teks, dan diubah menjadi suara atau text to speech. Program aplikasi membaca sms menggunakan suara ini adalah aplikasi yang dapat membaca pesan masuk dalam Bahasa Indonesia dan berjalan ketika pesan masuk, kemudian membacakan pesan tersebut seperti orang yang sedang berbicara. Program ini menggunakan metode Hidden Markov Models yang telah dibuat ke dalam sebuah database text to speech. 4.2 SARAN dari hasil perancangan dan implementasi program membaca sms dengan menggunakan suara adalah dapat dikembangkan aplikasi membaca sms lebih lanjut untuk membuat program aplikasi yang dapat menterjemahkan teks lebih banyak seperti huruf berupa akronim atau singkatan, simbol, dan sebagainya serta disarankan agar dalam mengembangkan aplikasi, dapat digunakan pada berbagai macam jenis handphone sehingga dapat memberikan kemudahan bagi banyak pengguna aplikasi ini.
5. REFERENSI Gales, Mark & Steve Young. (2008). The Application of Hidden Markov Models in Speech Recognition, Foundations and Trends ® in Signal Processing, vol 1, no 3, pp 195 – 304, 2007. Boston : Delft. Farial, Dody. (2010). SMS memiliki keterbatasan karakter dalam pengetikkan teks yaitu 160 karakter dan membutuhkan SMSC atau pusat SMS. Pengertian SMS, diakses tanggal 12 Desember 2011 dari http://ilmucomputer2.blogspot.com/2009/09/pengertian-sms.html. Fling, Brian. (2009). Mobile Design and Development. USA : O’Reilly Media. Raitio, Tuomo. (2008). Hidden Markov Model Based Finnish Text – to – Speech System Utilizing Glottal Inverse Filtering. Helsinki University of Technology. Finlandia. Tesis tidak diterbitkan. Finlandia : Master of Science and Technology. Safaat, Nazruddin. (2011). Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung : Informatika. Schröder, Marc. (2007). Unit Selection Speech Synthesis. German : DFKI. Suhartono, Eko. (2011). Cara kerja MBROLA terdiri dari 2 cara yaitu mengubah teks ke fonem dan mengubah fonem ke speech. Konsep Mbrola (Konversi dari teks ke ucapan (text to speech)), diakses tanggal 20 Mei 2012 dari http://mbrola.blogspot.com/2011/04/konsep-mbrola-konversi-dari-teks-ke.html Winarno, Edy ,Ali Zaki & SmitDev Community. (2012). Hacking & Programming dengan Android SDK untuk Advanced. Jakarta : Elex Media Komputindo.
6. RIWAYAT PENULIS FRANSISCA REGINA lahir di Jakarta pada 4 September 1989. Penulis menamatkan S1 di Universitas Bina Nusantara, Jakarta dalam bidang Teknik Informatika dan Matematika pada tahun 2012.