Pemanfaatan Google API Text-to-Speech Dalam Otomatisasi Pembacaan Pesan Masuk Perangkat Android
UNDANG-UNDANG REPUBLIK INDONESIA NOMOR 28 TAHUN 2014 TENTANG HAK CIPTA Lingkup Hak Cipta Pasal 1 Ayat 1 : 1. Hak Cipta adalah hak eksklusif pencipta yang timbul secara otomatis berdasarkan prinsip deklaratif setelah suatu ciptaan diwujudkan dalam bentuk nyata tanpa mengurangi pembatasan sesuai dengan ketentuan peraturan perundang-undangan. Ketentuan Pidana: Pasal 113 1. 2. 3. 4. Setiap Orang yang dengan tanpa hak melakukan pelanggaran hak ekonomi sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf i untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 1 (satu) tahun dan/atau pidana denda paling banyak Rp100.000.000 (seratus juta rupiah). Setiap Orang yang dengan tanpa hak dan/atau tanpa izin Pencipta atau pemegang Hak Cipta melaku- kan pelanggaran hak ekonomi Pencipta sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf c, huruf d, huruf f, dan/atau huruf h untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 3 (tiga) tahun dan/atau pidana denda paling banyak Rp500.000.000,00 (lima ratus juta rupiah). Setiap Orang yang dengan tanpa hak dan/atau tanpa izin Pencipta atau pemegang Hak Cipta melaku- kan pelanggaran hak ekonomi Pencipta sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf a, huruf b, huruf e, dan/atau huruf g untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 4 (empat) tahun dan/atau pidana denda paling banyak Rp1.000.000.000,00 (satu miliar rupiah). Setiap Orang yang memenuhi unsur sebagaimana dimaksud pada ayat (3) yang dilakukan dalam ben- tuk pembajakan, dipidana dengan pidana penjara paling lama 10 (sepuluh) tahun dan/atau pidana denda paling banyak Rp4.000.000.000,00 (empat miliar rupiah). Pasal 114 Setiap Orang yang mengelola tempat perdagangan dalam segala bentuknya yang dengan sengaja dan men- getahui membiarkan penjualan dan/atau penggandaan barang hasil pelanggaran Hak Cipta dan/atau Hak Terkait di tempat perdagangan yang dikelolanya sebagaimana dimaksud dalam Pasal 10, dipidana dengan pidana denda paling banyak Rp100.000.000,00 (seratus juta rupiah).
Fiqhi Maulana Najirah Umar M. Adnan Nur Pemanfaatan Google API Text-to-Speech Dalam Otomatisasi Pembacaan Pesan Masuk Perangkat Android Diterbitkan Oleh
Pemanfaatan Google API Text-to-Speech Dalam Otomatisasi Pembacaan Pesan Masuk Perangkat Android Penulis Tata Letak Desain Cover : Fiqhi Maulana Najirah Umar M. Adnan Nur : Riza Ardyanto : Ridwan Nur M Penerbit: CV. Bintang Semesta Media Anggota IKAPI Nomor 147/DIY/2021 Jl. Karangsari, Gang Nakula, RT 005, RW 031, Sendangtirto, Berbah, Sleman, Yogyakarta 57773 Telp: 4358369. Hp: 085865342317 Facebook: Penerbit Bintang Madani Instagram: @bintangpustaka Website: Email: Cetakan Pertama, Maret 2022 Bintang Semesta Media Yogyakarta xii + 128 hal : 14.5 x 20.5 cm ISBN : 978-623-5361-17-8 Dicetak Oleh: Percetakan Bintang 085865342319 Hak cipta dilindungi undang-undang All right reserved Isi di luar tanggung jawab percetakan
Prakata Puji dan Syukur penulis panjatkan kehadirat Allah SWT atas berkah dan karunia-Nya sehingga penulis dapat menyelesaikan buku dengan judul "Pemanfaatan Google Text-To-Speech Dalam Otomatisasi Pembacaan Pesan Masuk Perangkat Android." Buku ini membahas pengembangan perangkat lunak android yang menggunakan Google Cloud Text-to-Speech untuk mengubah pesan teks yang masuk pada perangkat android menjadi suara sehingga memberikan kemudahan bagi pengguna yang mengalami gangguan penglihatan. Pengembangan perangkat lunak yang disajikan pada buku ini meliputi pemodelan dan perancangan aplikasi dengan flowchart dan diagram use case, perancangan dan pembuatan basis data pada SQLite, perancangan antarmuka, implementasi dan pembuatan aplikasi pada Android Studio serta pengujian pada beberapa perangkat dan versi android. Landasan dan kebutuhan dalam pengembangan aplikasi android text-to-speech juga diberikan untuk menggambarkan secara lengkap kepada pembaca terkait resource dan tools yang digunakan. v
vi Pemanfaatan Google Cloud Text-to-Speech pada pengembangan aplikasi android yang dibahas dalam buku ini diharapkan dapat memberikan pengetahuan tambahan bagi pembaca khususnya pengembang aplikasi berbasis android baik dari sisi pengembangan aplikasi maupun pemanfaatan Google Apis. Penulis menyadari masih banyak kekurangan pada buku ini sehingga untuk penyempurnaan, penulis mengharapkan kritik dan saran yang membangun dari pembaca. Makassar, Maret 2022 Penulis
Daftar isi Prakata ... v Daftar isi ... vii Daftar tabel ... ix Daftar gambar ... x Daftar lampiran ... xii BAGIAN PERTAMA Pengantar Aplikasi Pembaca Pesan ... 1 A. Aplikasi Text-to-Speech Berbahasa Indonesia Sepi Peminat ... 1 B. Gambaran Aplikasi ... 6 C. Kebutuhan Aplikasi ... 8 BAGIAN KEDUA Landasan Pengembangan Aplikasi Pembaca Pesan ... 11 A. Kaidah Bahasa Indonesia ... 11 B. Teknologi Pemrosesan Bahasa ... 12 C. Text-to-Speech ... 13 D. Google API... 15 E. Implementasi Google Text-to-Speech API ... 16 vii
viii F. Android ... 21 G. Flowchart ... 29 H. Unified Modeling Language (UML) ... 30 I. SQLite ... 40 BAGIAN KETIGA Penerapan Aplikasi Pembaca Pesan... 41 A. Permodelan Aplikasi yang Diusulkan ... 41 B. Perancangan Fitur ... 50 C. Perancangan Database ... 53 D. Perancangan Antar Muka ... 55 E. Implementasi Antarmuka ... 61 F. Pengujian Aplikasi... 69 BAGIAN KEEMPAT Kesimpulan ... 77 Daftar Pustaka ... 79 Lampiran ... 82 Panduan Penggunaan Aplikasi Pembaca Pesan ... 103 Biodata Penulis ... 127
DAFTAR TABEL Tabel 2. 1 Use Case Diagram ... 32 Tabel 2. 2 Class Diagram ... 35 Tabel 2. 3 Sequence Diagram ... 37 Tabel 2. 4 Activity Diagram ... 38 Tabel 4.1 Tabel Chat ... 54 Tabel 4. 3 Tabel Rencana Pengujian Fitur ... 70 Tabel 4. 4 Tabel Hasil Pengujian Fitur ... 71 ix
x DAFTAR GAMBAR Gambar 1. Use Case Aplikasi yang diusulkan ... 6 Gambar 3. Diagram Blok Aplikasi Text-To-Speech Klien/Server ... 19 Gambar 4. 1 Flowchart Aplikasi yang diusulkan ... 42 Gambar 4. 2 Inisialisasi Notification Listener Service ... 43 Gambar 4.3 Inisialisasi TTS ... 44 Gambar 4. 4 Objek ke string ... 45 Gambar 4. 5 Flowchart Parsing Kalimat ... 47 Gambar 4. 7 Fragment dalam activity ... 50 Gambar 4. 8 Flowchart Input Singkatan ... 51 Gambar 4. 9 Option Menu ... 52
Gambar 4. 10 Rancangan Welcome Activity ... 56 Gambar 4. 11 Rancangan Halaman Utama ... 57 Gambar 4. 12 Rancangan Context Menu ... 58 Gambar 4. 13 Rancangan Tambah Kata Singkatan ... 59 Gambar 4. 14 Rancangan Hapus Pesan Telegram ... 60 Gambar 4. 15 Rancangan Hapus Pesan WhatsApp ... 61 Gambar 4. 16 Ikon Aplikasi Pembaca Pesan ... 61 Gambar 4. 17 Tampilan Welcome Activity ... 62 Gambar 4. 18 Tampilan Halaman Utama ... 63 Gambar 4. 19 Tampilan Action Context Menu ... 64 Gambar 4. 20 Tampilan Tambah Kata Singkatan ... 65 Gambar 4. 21 Tampilan Hapus Pesan Telegram... 66 Gambar 4. 22 Tampilan Hapus Pesan WhatsApp ... 67 Gambar 4. 23 Tampilan Hasil Penerimaan Pesan ... 68 xi
xii DAFTAR LAMPIRAN Tabel Lampiran 1 Tabel Hasil Membaca Pesan di Xiaomi MI A2 ... 83 Tabel Lampiran 2 Tabel Hasil Membaca Pesan di Samsung A7 (A750) ... 87 Tabel Lampiran 3 Tabel Hasil Membaca Pesan di OPPO A7 ... 90 Tabel Lampiran 4 Tabel Hasil Membaca Pesan di Realme 6 Pro ... 94 Tabel Lampiran 5 Tabel Hasil Membaca Pesan di Nokia 3 ... 97 Tabel Lampiran 6 Pengujian berdasarkan nama dan gelar ... 100 Tabel Lampiran 7 Pengujian berdasarkan singkatan huruf kapital ... 101 Tabel Lampiran 8 Pengujian berdasarkan akronim ... 102 Source Code ... 109
1 BAGIAN PERTAMA Pengantar Aplikasi Pembaca Pesan A. Aplikasi Text-to-Speech Berbahasa Indonesia Sepi Peminat Penggunaan ponsel pintar (smartphone) di Indonesia diperkirakan akan terus bertambah. Pada tahun 2015, penggunaan ponsel pintar sebanyak 28,6% dari populasi penduduk di Indonesia. Seiring dengan berjalannya waktu, smartphone semakin terjangkau sehingga penggunaannya semakin meningkat. Angka yang berlaku pada setiap orang yang mengakses internet setidaknya satu kali setiap bulan mendudukkan Indonesia di peringkat ke-6 terbesar di dunia dalam hal jumlah penggunaan internet. 56,2% dari populasi penduduk di Indonesia telah menggunakan smartphone pada tahun 2018. Pada tahun 2019, sebanyak 63,3% dari populasi penduduk di Indonesia menggunakan smartphone. Hingga pada tahun 2025, diperkirakan 89,2% populasi penduduk di Indonesia, dengan kata lain bertambah 25,9% dari data yang ada akan menggunakan smartphone (databoks.katadata, 2020).
2 Menurut Marius dan Sapto, ada tiga alasan orang Indonesia menggunakan internet, di antaranya adalah untuk mengakses media sosial atau komunikasi sebanyak 72%, memperoleh informasi harian sebanyak 65%, dan mengikuti tren perkembangan zaman sebanyak 51%. Tiga alasan mengakses internet tersebut diimplementasikan melalui empat kegiatan pokok, yaitu menggunakan jejaring sosial sebanyak 87%, sumber informasi sebanyak 69%, berkirim pesan instan sebanyak 60% dan mencari berita terbaru sebanyak 60% (Marius, Sapto, 2014). Dalam artikel yang dibahas oleh Scott Jeffrey ada dua instant messaging yang memiliki kelebihan yang berbeda menjadi daya tarik bagi pengguna ponsel, yaitu Telegram dengan keunggulan lebih ringan dan berbasis cloud yang mempunyai proses sinkronisasi yang mulus dan WhatsApp dengan kelebihan tampilan yang mudah dengan aplikasi enkripsi dan menjadi instant messaging terpopuler (Jeffrey, 2014). Berkomunikasi menggunakan instant messaging biasanya pengguna mengalami beberapa keterbatasan dalam membaca pesan yang diterima sehingga menghambat informasi dan tidak tersampaikan dengan cepat. Beberapa keterbatasan tersebut seperti jarak ponsel dengan pengguna, penyandang tunanetra, berkendaraan, dan keterbatasan aktivitas lainnya. Dengan teknologi Text-To-Speech (TTS) keterbatasan tersebut menjadi solusi yang baik untuk mempermudah pengguna. Text-To-Speech adalah suatu aplikasi yang memproses dua konversi, yaitu konversi teks ke phonem dan konversi phonem ke ucapan melalui tahap secara berurutan dengan masukan dalam
bentuk teks dan menghasilkan keluaran dalam bentuk ucapan. Namun, dalam mengkonversi teks menjadi suara dibutuhkan fonem dan prosodi untuk menghasilkan pengucapan yang dapat dimengerti sehingga membutuhkan penyimpanan yang sangat besar untuk data fonem dan prosodi dalam bahasa Indonesia. Aplikasi text-to-speech memang sudah cukup banyak muncul di dunia. Namun, sebagian besar aplikasi-aplikasi tersebut menggunakan bahasa Inggris sebagai dasar utama. Sementara itu, aplikasi text-to-speech yang dikhususkan untuk bahasa Indonesia masih kurang diminati untuk diteliti. Hal tersebut tentunya membuat perkembangan aplikasi text-to- speech berbahasa Indonesia belum banyak beredar luas, padahal banyak hal yang bisa dipelajari dari aplikasi text-to-speech. Teknologi Text-to-speech memungkinkan suatu aplikasi dapat mengubah deretan kata-kata sebagai input dan diproses menjadi ucapan sebagai output. Text-to-speech juga bisa mengkonversi teks pesan ke dalam bentuk ucapan sehingga isi pesan tertentu dapat didengarkan secara real time. Namun, dari aplikasi tersebut masih terdapat penulisan teks pesan yang belum bisa dibaca dengan jelas. Penyingkatan kata dalam penulisan pesan tersebut belum dapat dikenali oleh aplikasi text-to-speech dengan baik sehingga aplikasi mengeluarkan ucapan yang kurang jelas dan bermakna ambigu yang menimbulkan terjadinya kesalahpahaman pada penerima pesan. Langkah awal dalam membentuk sintesis ucapan adalah dengan merekam berbagai macam kata dalam Bahasa Indonesia 3
4 dan disimpan pada database. Kemudian, hasil rekaman tersebut disegmentasi menjadi unit-unit diphone. Perangkaian unit- unit diphone dilakukan dengan algoritma Time Domain Pitch Synchronous Overlap-Add (TD PSOLA). Algoritma TD-PSOLA memperkenankan menggunakan suara rekaman untuk dirangkai dengan lancar dan halus, juga memberikan kemudahan dalam mengendalikan pitch dan durasi. Dengan menggunakan algoritma tersebut, perangkaian antar unit-unit diphone yang memiliki transisi antar dua bunyi berdekatan diharapkan akan lebih halus dan dapat mengurangi bunyi yang mempunyai sifat letupan sehingga sintesis ucapan yang dihasilkan mampu memenuhi tiga kriteria, yaitu terdengar jelas dan dapat dimengerti, lancar dan alami (intelligibility, fluidity, naturalness). Google Text-to-Speech API memiliki tingkat keakuratan sintesis ucapan tinggi dan memungkinkan user dapat menyintesis ucapan sehingga terdengar lebih alami, serta menawarkan pilihan sebanyak 30 suara yang tentunya tersedia dalam berbagai bahasa yang mudah diintegrasikan dengan aplikasi dan perangkat yang ada. Sebagai API (Application Programming Interface) yang gampang digunakan, Google Text-to-Speech juga mendukung aplikasi serta perangkat jenis apa pun yang mampu melakukan transmisi REST atau gRPC, di antaranya smartphone, komputer, tablet, dan IoT. Beberapa pemanfaatan Google Text-to-Speech antara lain mekanisasi secara otomatis pusat panggilan dan umpan balik interaktif dari jenis perangkat IoT.
Pada dasarnya, aplikasi text-to-speech dari Google ini adalah solusi yang serba guna untuk menghasilkan suatu natural experience untuk beberapa jenis kasus pemanfaatan. Fitur yang canggih dari Google tersebut mampu meringankan pekerjaan, terutama pada saat membutuhkan fitur yang mampu memproses perekaman suara. Karena adanya aplikasi text- to-speech tersebut, maka user dapat mempunyai device yang mampu berinteraksi kembali kepada user. Fitur teknologi canggih pada text-to-speech ini bahkan mampu digunakan untuk memfasilitasi penyandang tunanetra agar dapat mendengarkan dan memahami suatu pesan teks. Berdasarkan uraian tersebut, penulis mengusulkan aplikasi pembaca pesan yang akan menerima teks pesan dari Telegram dan WhatsApp kemudian mengubahnya menjadi ucapan menggunakan Google API text-to-speech voice berbahasa Indonesia. Aplikasi Text-To-Speech Bahasa Indonesia ini berbasis android yang mampu mengucapkan kata singkatan dengan jelas. Aplikasi tersebut juga melakukan interaksi pada user dalam proses penyempurnaan database kata singkatan sehingga aplikasi dapat mengenali kata singkatan lebih banyak. Selain itu, aplikasi ini dilengkapi dengan fitur manajemen pesan seperti menghapus dan mendengarkan kembali pesan yang telah diterima serta memasukkan singkatan untuk menghasilkan keluaran yang baik. 5
6 B. Gambaran Aplikasi Aplikasi pembaca pesan masuk pada perangkat android dapat digambarkan dalam diagram use case berikut: Gambar 1. Use Case Aplikasi yang diusulkan Berikut adalah aktor-aktor yang terdapat pada aplikasi. a. Penerima Merupakan aktor yang berperan menerima pesan. b. Pengirim Aktor yang berperan untuk mengirim pesan. Use case adalah suatu fungsi yang disiapkan pada aplikasi sebagai unit-unit yang saling bertransmisi terhadap unit lain atau aktor. Use case yang terdapat pada aplikasi adalah sebagai berikut.
a. Mengirim Pesan Fungsionalitas untuk mengirim pesan. b. Menerima Pesan Fungsionalitas untuk menerima pesan. c. Membuka Aplikasi Fungsionalitas untuk membuka aplikasi Pembaca Pesan d. Mengaktifkan Permission Fungsionalitas untuk mengaktifkan izin aplikasi agar pesan baru dapat dibaca secara otomatis e. Text to Speech Fungsionalitas untuk mengkonversi pesan teks ke dalam bentuk ucapan (suara) yang akan dituturkan oleh Google text-to-speech engine. f. Mengelola pesan Fungsionalitas untuk mengelola pesan masuk yang tersimpan untuk dibacakan kembali atau ingin dihapus. g. Mengelola singkatan Fungsionalitas untuk mengelola data singkatan yang tersimpan di database h. Menambah kata Fungsionalitas untuk menambah kata singkatan pada database singkatan 7
8 C. Kebutuhan Aplikasi 1. Kebutuhan Functional Kebutuhan fungsional merupakan kebutuhan yang berkaitan secara langsung terhadap aplikasi. Berikut adalah kebutuhan fungsional yang diperlukan pada aplikasi yang ingin dibangun. a. User bisa dengan gampang memahami message atau informasi walaupun tanpa intensitas konsentrasi yang tinggi. b. Message atau informasi bisa diterima ketika user tengah melakukan aktivitas lainnya, contohnya saat berjalan-jalan, menangani atau sedang memperhatikan objek lainnya 2. Kebutuhan Non-Functional a. Software Software atau perangkat lunak yang dibutuhkan dalam mengimplementasikan aplikasi yang dibuat antara lain: 1) Android Studio versi 3.5.2, 2) Android SDK (Software Development Kit) Manager, 3) Java (jdk-8u121-windows-x64), 4) SQLite Manager.
9 b. Hardware H a r d w a r e y a n g d i g u n a k a n d a l a m mengimplementasikan aplikasi antara lain: 1) Smartphone Xiaomi MI A2 Spesifikasi smartphone yang digunakan antara lain: a) Android versi 10.0, Android Pure, b) RAM 4 GB, Internal 64 GB, c) Processor Qualcomm SDM660 Snapdragon 660. 2) Smartphone Samsung A7 (A750) Spesifikasi smartphone yang digunakan antara lain: a) Android versi 10.0, One UI 2.0, b) RAM 4 GB, Internal 64 GB, c) Processor Exynos 7885 3) Smartphone OPPO A7 Spesifikasi smartphone yang digunakan antara lain: a) Android versi 8.1, ColorOS 5.2, b) RAM 4 GB, Internal 64 GB, c) Processor Mediatek MT6771 Helio P60. 4) Smartphone Realme 6 Pro Spesifikasi smartphone yang digunakan antara lain: a) Android versi 10.0, Realme UI, b) RAM 6 GB, Internal 64 GB,
10 c) Processor Qualcomm SM7125 Snapdragon 720G. 5) Smartphone Nokia 3 Spesifikasi smartphone yang digunakan antara lain: a) Android versi 8.0, b) RAM 2 GB, Internal 16 GB, c) Processor Mediatek MT6737. 6) Desktop Spesifikasi desktop yang digunakan antara lain: a) Laptop DELL Inspiron, b) Processor Intel Core i3-5005U @ 2.0GHz, c) RAM 8 GB, d) SSD 256 GB, Harddisk 500 GB,
11 BAGIAN KEDUA Landasan Pengembangan Aplikasi Pembaca Pesan A. Kaidah Bahasa Indonesia Bahasa Indonesia terdiri dari bahasa tulisan dan bahasa lisan. Terkadang ada beberapa perbedaan pada kedua jenis bahasa ini. Pada bahasa lisan, terdapat istilah phonem, yaitu suatu kesatuan bahasa terkecil yang dapat membedakan arti. Pada bahasa tulisan, phonem disimbolkan dengan huruf. Maka huruf merupakan tulisan dari phonem. Sering kali istilah phonem disamaartikan dengan huruf, padahal tidak selalu berlaku demikian. Berikut adalah konsep bahasa Indonesia berdasarkan Pedoman Umum Ejaan Bahasa Indonesia yang disempurnakan. 1. Abjad Abjad yang ada dalam bahasa Indonesia terdiri atas 52 huruf, yaitu 26 huruf besar (A-Z) dan 26 huruf kecil (a- z).
12 2. Phonem Phonem merupakan istilah linguistik yang berarti satuan terkecil dalam sebuah bahasa yang masih bisa menunjukkan perbedaan makna. 3. Diphone Diphone adalah gabungan dari dua buah fonem bahasa Indonesia (Arman, 2004). B. Teknologi Pemrosesan Bahasa Bahasa terdiri atas dua bagian, yaitu bahasa alami dan bahasa buatan. Bahasa alami merupakan bahasa yang biasa digunakan untuk berkomunikasi antar manusia, seperti bahasa Indonesia, bahasa daerah, dan sebagainya. Bahasa buatan merupakan bahasa yang dibuat secara khusus untuk memenuhi kebutuhan tertentu, misalnya bahasa pemrograman komputer. Suatu aplikasi pemrosesan bahasa alami secara lisan dapat dibentuk dari tiga sub-aplikasi (Pramono, 2013): 1. Sub-Aplikasi Natural Language Processing (NLP), mempunyai fungsi dapat melakukan pemrosesan secara simbolik terhadap bahasa tulisan. Beberapa bentuk aplikasi sub-aplikasi ini adalah penerjemah bahasa alami, aplikasi pemeriksaan sintak bahasa, aplikasi yang dapat menyimpulkan suatu narasi dan sebagainya. 2. Sub-Aplikasi Text-to-Speech (TTS), mempunyai fungsi dapat mengkonversi teks (tulisan) menjadi ucapan (bahasa lisan).
3. Sub-Aplikasi Speech Recognition (SR), merupakan aplikasi yang dapat mengubah ataupun mengenali suatu ucapan (bahasa lisan) menjadi teks (bahasa tulisan). C. Text-to-Speech Text-to-speech adalah suatu aplikasi yang dapat mengubah deretan kata-kata sebagai input menjadi ucapan sebagai output secara otomatis dengan cara fonetisasi (penyusunan fonem- fonem untuk membentuk ucapan). Tujuan dari penggunaan text-to-speech (TTS) adalah untuk mengkonversi masukan berbentuk teks menjadi ucapan agar dapat dipahami oleh pengguna. Maka dari itu, text-to-speech mengirimkan informasi dari mesin kepada manusia. Aplikasi text-to- speech sering kali disebut sebagai aplikasi pensintesis ucapan. Aplikasi ini bisa dimanfaatkan untuk berbagai macam aplikasi (Wundari, 2009). Membaca merupakan suatu proses men-decode-kan sinyal tulisan menjadi pesan agar dapat memahami pesan tersebut supaya didapatkan suatu pengertian (pemahaman). Membaca dengan bersuara (reading aloud) adalah suatu tindakan mengubah sinyal tulisan menjadi sinyal berbentuk ucapan (speech). Dalam tulisan ada satu hal yang paling penting yang diabaikan, yaitu prosodi. Prosodi berguna untuk membentuk emosi dari pembicara. Pada bahasa tulisan, prosodi ini mempunyai komponen yang terbatas karena tidak adanya cara agar dapat mengekspresikan sejumlah fitur pada prosodi tersebut. Memang bisa diberikan tanda baca seperti tanda 13
14 seru (!), tanda tanya (?) dan semacamnya agar dapat memberi penekanan, tetapi hal-hal lain, misal kemarahan, kesakitan, ataupun sarkasme, tidak mempunyai metode khusus untuk mengutarakannya. Dalam tulisan termaksud bahasa yang bukan suatu bagian dari linguistik, seperti bahasa matematika. Saat menemui suatu bahasa matematika, mesin dituntut dapat memberikan perbedaan dengan bahasa natural (natural language). Kendala tersebut dikategorikan masalah semiotik. Bahasa natural diistilahkan seperti aplikasi semiotik. Mesin dituntut menginterpretasikan arti yang memiliki lambang semiotik saat menemukan kalimat yang mengandung lambang tersebut. Supaya mesin bisa memproses tulisan tersebut, mesin dituntut bisa mengenali bagian mana pada sebuah teks yang memiliki keterkaitan dengan masalah semiotik. Kendala-kendala yang diungkap tersebut biasa dijumpai pada proses membaca sehingga dapat diidentifikasi model dari text-to-speech yang mampu melakukan proses yang diinginkan (Wundari, 2009). Metode sintesis ucapan memungkinkan mesin bisa mengabaikan perintah atau informasi pada user melalui "ucapan". Proses tersebut melibatkan pemecahan kata menjadi phonem, menganalisis agar penanganan khusus pada text seperti angka, jumlah mata uang, perubahan pitch suara, dan juga pemberian tanda-tanda baca (Arman, 2004). Message atau informasi yang dikirimkan melalui ucapan mempunyai kelebihan, di antaranya (Dutoit, 1997):
1. User bisa dengan gampang memahami message atau informasi walaupun tanpa intensitas konsentrasi yang tinggi. 2. Message atau informasi bisa diterima ketika user tengah melakukan aktivitas lainnya, contohnya saat berjalan- jalan, menangani atau sedang memperhatikan objek lainnya. D. Google API Google API merupakan bagian dari Framework Google. Beberapa API (Application Programming Interface) yang tersedia di Google yang memiliki manfaat bagi developer aplikasi seperti web, mobile, ataupun desktop dapat menggunakan sejumlah fitur yang sudah disediakan Google, contohnya: AdSense, Search Engine, Translation, YouTube dan lain sebagainya. Secara sederhana API dapat dimaksudkan sebagai kode program yang merupakan antarmuka atau penghubung antara aplikasi ataupun web yang dikembangkan dengan fungsi- fungsi yang dikerjakan. Contohnya dalam hal ini Google API merupakan kode program yang bisa ditambahkan ke aplikasi untuk memanfaatkan fungsi atau feature yang telah disiapkan oleh Google. Contohnya developer bisa menambahkan fitur Google Map pada aplikasi yang sedang dibangun. Google API bisa dipelajari secara langsung lewat Google Code. Dengan menggunakan Google Code, developer bisa belajar mengenai Google API dan bisa mengimplementasikan ke aplikasi yang sedang dibangun. Beberapa API yang disiapkan oleh Google antara lain (Irawan, 2014): 15
16 1. Language API: menggunakan fitur translation milik Google. 2. Earth API: menggunakan fitur yang terdapat pada Google Earth. 3. Maps API: menggunakan fitur yang terdapat pada Google Maps. 4. Search API: menggunakan fitur pencarian milik Google Search. 5. Visualization API: membuat grafik maupun diagram dengan Google API. 6. YouTube API: menggunakan fitur yang terdapat pada YouTube misalnya untuk pencarian video. 7. Text to Speech API: mengubah text ke bentuk ucapan. E. Implementasi Google Text-to-Speech API Pemanfaatan Google Text-to-Speech API memungkinkan pengembang agar dapat mengkonversi teks ke dalam ucapan (suara). Untuk memanfaatkan fitur API ini, pengembang android bisa memakai interface dan class yang telah disediakan Google API (package android.speech.tts) (Irawan, 2014). 1. Interface Terdapat beberapa interface yang terdapat pada package android.speech.tts, di antaranya: a. SynthesisCallback b. TextToSpeech.OnInitListener c.
2. Classes Terdapat beberapa class yang terdapat pada package android.speech.tts, di antaranya: a. SynthesisRequest, berisi data yang dibutuhkan oleh mesin untuk mensintesis ucapan. b. TextToSpeech, mensintesis ucapan dari teks untuk diputar langsung atau untuk membuat file suara, c. TextToSpeech.Engine, konstanta dan nama parameter untuk mengendalikan text-to- speech, d. TextToSpeech.EngineInfo, informasi tentang terpasang nya mesin text-to-speech, e. TextToSpeechService, kelas abstrak dasar untuk implementasi mesin Text-to-Speech. Untuk dapat memanfaatkan fitur Google Text-to-Speech API pada program diperlukan beberapa langkah, di antaranya mengimpor class yang berhubungan dengan text-to-speech, yaitu Untuk dapat memanfaatkan kelas text-to-speech, diperlukan inisialisasi sebuah objek dari class text-to-speech dan menentukan initListenere. 17
18 Private EditText write; tts = new TextToSpeech.OnInitListener() { @Override public void onInit(int status) {} } ); Pada listener ini, harus menentukan properti untuk objek text-to-speech, seperti bahasa, pitch dan lain sebagainya. Bahasa dapat diatur dengan memanggil method setLanguage(), yaitu tts.setLanguage(Locale.UK); Method setLanguage mengambil objek lokal sebagai parameter. Berikut contoh daftar dari beberapa objek lokal (tergantung masing- masing device): US, CANADA_FRENCH, GERMANY, ITALY, JAPAN, CHINA. Setelah mengatur bahasa, dapat memanggil method speak tts.speak(toSpeak, TextToSpeech.QUEUE_ FLUSH, null); Terlepas dari method speak, ada beberapa method lain yang disediakan pada class text-to-speech yaitu addSpeech (String text, String filename), getLanguage(), isSpeaking(), setPitch (floatpitch), setSpeechRate (float speechRate), shutdown() dan stop().
Gambar 2. Diagram Blok Aplikasi Sintetis Text-To-Speech Gambar 3. Diagram Blok Aplikasi Text-To-Speech Klien/Server Pada Gambar 2 dapat dilihat teks dikonversi ke ucapan melalui sejumlah unit pemrosesan. Teks masukan biasanya berisi tanda baca, singkatan, akronim dan simbol tanpa kata. 19
20 Pada unit normalisasi teks masukan semua teks kalimat akan diubah menjadi teks yang hanya berisi urutan kata-kata tanpa disingkat. Sebagian besar tanda baca berguna untuk menunjukkan keakuratan yang sesuai sehingga teks normalisasi tanda baca digunakan sebagai masukkan pada unit prosody. Singkatan dan akronim diubah menjadi urutan kata yang mungkin atau tidak bergantung pada teks. Fungsi utama dari normalisasi teks adalah mengkonversi simbol ke kata. Misalnya, angka, jumlah mata uang, tanggal, waktu, dan alamat email terdeteksi, diklasifikasikan dan kemudian dikonversi menjadi teks yang bergantung pada posisi simbol dalam kalimat. Teks dari normalisasi dikirim pada unit pronunciation sebagai awal analisis setiap kata untuk menentukan representasi morfologisnya. Kata-kata yang dihasilkan kemudian diubah menjadi urutan fonem. Terdapat tiga aturan yang digunakan oleh unit pronunciation untuk melakukan konversi di antaranya letter-to-sound, representasi statistik yang mengubah urutan huruf ke urutan fonem berdasarkan bahasa yang ada dan kamus. Kumpulan aturan ini akan membentuk database yang besar. Fonem yang dihasilkan akan dikirim ke unit prosody bersama dengan tanda baca yang diambil dari unit normalization. Unit prosody akan menghasilkan informasi timing dan pitch yang dibutuhkan untuk speech synthesis dari struktur kalimat, tanda baca, kata-kata tertentu dan beberapa kalimat. Tanggal, waktu dan mata uang adalah contoh bagian kalimat yang didefinisikan khusus, nada masing-masing ditentukan dari
seperangkat aturan model statistik yang dibuat untuk jenis informasi tersebut. Ritme, atau durasi fonem, tanggal dan nomor telepon biasanya berbeda satu sama lain. Kumpulan aturan atau model statistik ini juga membutuhkan database cukup besar Unit acoustic signal synthesis, menggabungkan pitch, durasi dan fonem dari unit pronunciation dan unit prosody untuk menghasilkan signal akustik yang baik. Ada beberapa metode dalam speech synthesize, yang pertama adalah formant synthesize, merupakan pemodelan suara manusia dan fonem synthesize, untuk menghasilkan kata yang diperlukan teknik synthesize berkualitas tinggi yang digunakan secara luas adalah synthesize gabungan, di mana suara seorang artis direkam untuk menghasilkan database, menentukan urutan unit yang digunakan dan menggabungkannya sedemikian rupa sehingga durasi dan pitch dimodifikasi untuk mendapatkan prosody yang diinginkan (Hillsboro, P.V., Sunnyvale, T.F.M, 2004). F. Android Android merupakan sebuah operating aplikasi untuk device mobile berbasis linux yang meliputi operating aplikasi, middleware dan application. Android menyiapkan platform open source untuk para developer agar dapat mengembangkan aplikasi mereka. Sejumlah fitur yang dimiliki pada device smartphone berbasis Android (Salman, W., Puspita, B., 2017) di antaranya: 1. Dalvik Virtual Machine, yaitu Java Runtime Environment yang sudah melalui proses optimasi untuk device 21
22 dengan size memori yang relatif kecil. Fitur machine tersebut membuat aplikasi dapat running dengan lancar pada device berbasis android. 2. Touch-screen atau layar sentuh. Fitur ini terbilang fenomenal dikarenakan belum pernah diaplikasikan pada perangkat ponsel model lama. Dengan memanfaatkan fitur ini maka proses navigation menu menjadi lebih mudah dikarenakan user tinggal memilih dan menekan menu yang ingin dijalankan tanpa perlu harus melakukan scroll ke atas-bawah atau samping kiri-kanan. 3. Multipage. Pengguna bisa menambahkan halaman baru ke layar yang membuat tampilan ikon aplikasi di layar menjadi banyak. Fitur ini berguna untuk menambah efektivitas dan mempercepat akses ke berbagai aplikasi. 4. Bersifat terbuka (open source) agar user bisa mempelajari, membuat serta memodifikasi berdasarkan keinginan sendiri. 5. Kualitas suara dan grafik yang mumpuni karena pada aplikasi Android sudah disediakan standar suara dan video seperti MP3, mkv. 6. SQLite, sebagai basis data yang berguna sebagai media penyimpanan berbagai macam aplikasi smartphone. 7. Adanya tersedia berbagai jenis library/services yang bisa langsung dimanfaatkan, misalnya browser, GPS, kamera, Bluetooth, dan Wifi. 8. Miracast, merupakan bentuk protokol yang mengizinkan perangkat baru seperti Samsung Galaxy Note 20 agar
23 dapat menikmati layanan streaming audio dan video pada TV yang memiliki fitur Miracast. Fitur ini memiliki kemiripan dengan Airplay yang telah lama ada di sejumlah perangkat keluaran Apple. 9. Gesture Typing Keyboard. Fitur yang mempunyai kemiripan dengan swipe keyboard yang telah lama diperkenalkan, namun google menyempurnakannya di Android 4.2 dengan memberikan akurasi yang lebih baik dan respons yang lebih cepat. a. Versi Android Ponsel pertama yang menggunakan operating aplikasi Android adalah HTC Dream yang dirilis pada 22 Oktober 2008. Pada tahun 2010, diperkirakan hampir semua vendor seluler di dunia memakai Android sebagai aplikasi operasinya. Berikut merupakan versi-versi Android yang sudah dirilis: 1) Android versi 1.1 Google merilis Android versi 1.1 pada 9 Maret 2009, versi ini memiliki pembaruan estetik pada alarm, jam, aplikasi, pencarian suara, mengirimkan pesan dengan gmail, dan pembaruan aplikasi email. 2) Android versi 1.5 (Cupcake) Dirilis di pertengahan bulan Mei 2009 membawa sejumlah pembaruan dan menambahkan sejumlah fitur pada android versi ini yaitu mampu me-record dan menonton video dengan mode kamera, mengunggah
24 video ke YouTube dan image ke Picasa secara real time dari ponsel, support Bluetooth A2DP, memungkinkan terhubung secara automatic pada headseat Bluetooth, screen animation, dan keyboard pada layar yang bisa menyesuaikan dengan aplikasi. 3) Android versi 1.6 (Donut) Versi ini lebih mengunggulkan aplikasi-aplikasi standar salah satunya yakni proses pencarian yang semakin baik, fitur galeri menjadi semakin rapi dan ramah pengguna, support resolusi layar WVGA, meningkatkan Android market dan memungkinkan upgrade OS ke versi 2.1. 4) Android versi 2.0/2.1 (Éclair) Versi OS Android 4th generation yang mendapat tambahan google map pada versi ini, memiliki sejumlah tambahan fitur yang lebih meningkat dan canggih misalnya pada kamera 3,2 mega pixel telah support flash, tampilan kontak lebih istimewa, HTML5 yang diusung pada perubahan tampilan antarmuka dengan peramban baru dan penambahan terakhir yaitu fitur Bluetooth 2.1 yang memiliki kecepatan lebih cepat. 5) Android versi 2.2 (Froyo: Frozen Yoghurt) Versi ini dirilis pada tahun 2010 yang telah dilengkapi dengan sejumlah fitur baru dan di klaim lebih cepat hingga lima kali dari versi sebelumnya, kemampuan record video HD, bisa meng-install aplikasi di kartu memori dan memungkinkan pembaruan otomatis di Android market.
25 6) Android versi 2.3 (Gingerbread) Kelebihan dan peningkatan di versi ini yakni, performa peningkatan dalam game, suara, kualitas video, kamera, dan sebagainya. Juga dilengkapi papan ketikan virtual yang memiliki penyeleksi kata, manajemen power, control aplikasi dan support kamera yang meningkat serta membawa tampilan antarmuka hemat energi. 7) Android versi 3.1 (Honeycomb) Versi ini khusus diciptakan untuk device tablet dan tidak support di ponsel. Desain khusus agar kecanggihan tablet bisa bekerja dengan maksimal. 8) Android versi 4.0 (Ice Cream Sandwich) Versi pertama yang memakai fitur pembuka kunci dengan face recognition. Versi ini menampilkan antarmuka yang lebih halus jika dibandingkan versi lamanya serta memiliki jenis font baru. 9) Android versi 4.1 (Jelly Bean) Versi ini memiliki penambahan peningkatan di antaranya, yaitu voice search yang semakin cepat, ramalan cuaca, info kemacetan, dan sebagainya. Peningkatan keyboard virtual. 10) Android versi 4.4 (KitKat) Versi ini membawa sejumlah fitur yang terbilang baru di antaranya, SMS yang mempunyai integrasi langsung dengan google hangouts. Penambahan fitur Cloud printing serta dapat menerima perintah suara
26 dari Google now yang lebih hemat baterai dan bisa langsung menuju kamera walaupun layar terkunci. 11) Android versi 5.0 (Lollipop) Versi ini mengusung user interface yang dinamakan "Material Design". 64-bit ART compiler. Project volta, yang berguna untuk meningkatkan daya hidup baterai 30% lebih tahan lama. 12) Android versi 6.0 (Marshmallow) Versi ini membawa power management baru bernama Doze. Support fingerprint, perizinan yang dirancang ulang, aplikasi pada waktu instalasi tidak lagi diberikan semua hak akses secara otomatis. 13) Android versi 7.0 (Nougat) Versi ini membawa sejumlah fitur baru yakni Fitur Daydream untuk menggunakan Virtual Reality, Multitasking ditingkatkan lebih baik, Multi Windows dan Double tab chrome, Penghemat data untuk meminimalisir data internet, Editor Quick Settings, Emoji baru, serta tombol cancel saat men-download 14) Android versi 8.0 (Oreo) Versi ini memiliki sejumlah fitur baru adapun fiturnya adalah Tampilan interface homescreen, notification, app drawer, setting menu storage dan battery management, Support autofill, Smart Text Selection, Picture-In-Picture, Wifi Aware atau Neighbor Awareness Networking (NAN), Background Limit, Bluetooth Audio.
27 15) Android versi 8.1 (Oreo) Versi ini memiliki sejumlah fitur baru adapun fiturnya adalah penyempurnaan App Shortcut, Menu pengaturan lebih sederhana. 16) Android versi 9.0 (Pie) Versi ini memiliki sejumlah fitur baru meliputi user interface dan notification yang lebih fresh, dark mode, fitur Screenshot dengan banyak kelebihan, Dashboard, penguncian dengan keamanan ekstra, satu tombol Home untuk mengontrol navigasi, status baterai pada layar ambient. 17) Android versi 10.0 Versi ini memiliki sejumlah fitur baru adapun fiturnya adalah Fitur Smart reply, Navigation Gesture, Live caption, Digital Wellbeing, Mode Fokus (Dicoding, 2020). b. Android Studio Android Studio merupakan sebuah IDE untuk Android Development yang diperkenalkan Google pada acara Google I/O 2013. Android Studio adalah pengembangan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu IntelliJ IDEA. Android Studio adalah IDE resmi untuk pengembangan aplikasi Android. Android Studio di-launching pada 16 Mei 2013 saat Konferensi Google I/O oleh Produk Manajer Google, Ellie Powers. Android studio merupakan aplikasi gratis di bawah Apache License 2.0. Android Studio versi 0.1 dirilis pada bulan Mei 2013, lalu di luncurkan versi beta
28 0.8 pada bulan Juni 2014. Versi paling stabil di-launching di Desember 2014, berbasiskan JetBrainns' IntelliJ IDEA, Android Studio di rancang khusus untuk pengembangan android. Aplikasi ini sudah support Windows, Mac OS X, dan Linux (Syaputra, 2017). c. Android SDK (Software Development Kit) Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk memulai pengembangan di platform Android menggunakan Java Programming Language. Android adalah subset software untuk smartphone yang meliputi operating aplikasi, middleware dan key app yang diluncurkan google. Saat ini disediakan Android SDK (Software Development Kit) untuk alat bantu dan Application Programming Interface sebagai awal pengembangan aplikasi di platform Android menggunakan Java Programming Language. Karena platform aplikasi netral, Android memungkinkan user untuk mengembangkan aplikasi yang diinginkan dan bukan suatu aplikasi standar Smartphone (Safaat, H., N., 2012). d. Java Java adalah bahasa pemrograman yang dibuat oleh James Gosling dan dibantu oleh rekan-rekan perusahaan software-nya yang bernama Sun Microaplikasis, di tahun 1991. Bahasa pemrograman ini mulanya diinisialisasi dengan nama "Oak", akan tetapi di tahun 1995 namanya diganti menjadi "Java".
Java berjalan di atas sebuah mesin penerjemah (interpreter) dengan nama Java Virtual Machine (JVM). JVM tersebut lah yang akan menerjemah kode bit (bytecode) dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin sehingga Bahasa Pemrograman Java disebut sebagai portable programming language karena bisa running di berbagai operating aplikasi, dengan ketentuan terdapat JVM di operating aplikasi tersebut. Alasan terbesar penyusunan Java Programming Language yaitu dapat mengembangkan aplikasi-aplikasi yang bisa dipasang di bermacam device elektronik. Oleh karena itu, Java tidak boleh bergantung pada platform. Sebab itu Java Programming Language dikenal dengan istilah "write once, run everywhere" dalam dunia pemrograman sehingga program code hanya ditulis satu kali, tetapi bisa running di platform mana pun (Shalahudin, 2010). G. Flowchart Flowchart atau bagan alur adalah bagan (diagram) alir yang merupakan sekumpulan simbol-simbol atau skema yang menunjukkan kegiatan-kegiatan program dari awal sampai akhir (Andika, 2017). Penggunaan flowchart yaitu agar dapat menyederhanakan rangkaian proses atau tata cara atau prosedur agar pemahaman user terhadap informasi menjadi lebih mudah. Flowchart dapat digunakan pada segala sesuatu yang mengandung rangkaian kegiatan dan aliran data. Lima jenis Flowchart adalah sebagai berikut: 29
30 1. Flowchart Aplikasi 2. Flowchart Document 3. Flowchart Schematic 4. Flowchart Program 5. Flowchart Process H.	Unified	Modeling	Language (UML) Unified Modeling Language (UML) merupakan suatu bahasa standar industri untuk visualisasi, perancangan dan dokumentasi software aplikasi. UML memberi penawaran suatu pedoman baku yang diperuntukkan pada perancangan model aplikasi. Pemanfaatan UML user bisa merancang model untuk berbagai macam software application, dan dapat membuat hardware dapat menjalankan aplikasi tersebut, jaringan apa pun dan operating aplikasi, serta di-code dalam bahasa pemrograman apa pun. Namun, karena UML dalam hal penggunaan juga memakai kelas dan operasi pada konsep dasarnya sehingga lebih pas untuk pengembangan software dalam bahasa-bahasa object oriented, misalnya C++, Java, C# atau VB.NET. Oleh karena itu, UML tetap bisa dipakai pada pemodelan procedural application pada Visual Basic ataupun C (Herlawati, Widodo Pudjo, P., 2011). Layaknya bahasa-bahasa pada umumnya, UML mendefinisikan notasi dan syntax atau semantik. Notasi UML adalah kumpulan bentuk khusus untuk menggambarkan bermacam diagram software. Bentuk setiap diagram mempunyai
arti tertentu, dan syntax UML mendefinisikan bagaimana bentuk dari diagram tersebut bisa dikombinasi. 1. Use Case Use Case Diagram adalah suatu jenis pemodelan yang dapat menggambarkan sifat aplikasi yang akan dibuat. Di use case pendeskripsian suatu interaksi antar satu ataupun lebih actor dengan aplikasi yang akan dirancang. Sehingga diagram use case dapat dipakai untuk mengetahui fungsionalitas apa saja yang terdapat di dalam sebuah aplikasi serta siapa yang mempunyai hak menggunakan fungsionalitas tersebut. Ada beberapa symbol dalam mendeskripsikan diagram use case, yakni use case, actor dan relasi. Yang menjadi poin utama dalam hal diagram use case adalah bukan mendeskripsikan user interface arsitektur dari aplikasi, kebutuhan non-fungsional dan tujuan performasi. Namun demikian penamaan use case adalah nama dituliskan sesederhana mungkin, bisa dimengerti dan memakai kata kerja (Herlawati, Widodo Pudjo, P., 2011). 31
32 No. 1. 2. 3. 4. 5. Tabel 2. 1 Use Case Diagram Gambar Nama Keterangan Actor Spesifikasi himpunan peran yang user gunakan saat berinteraksi dengan use case. Dependency Relasi perubahan yang terjadi pada satu elemen independent dapat mempengaruhi elemen yang sedang bergantung padanya elemen non-independent. Generalization Relasi descendent berbagi sifat dan struktur data terhadap objek di atasnya yaitu ancestor. Include Mendefinisikan bahwa use case adalah sumber eksplisit. Extend Mendefinisikan bahwa use case target memperluas sifat dari use case sumber.
6. 7. 8. 9. 10. Association Penghubung antara objek. Aplikasi Mendefinisikan paket bahwa aplikasi memiliki batasan. Use Case Pendeskripsian urutan suatu aksi yang menampilkan aplikasi dan memberi hasil yang terukur untuk actor. Collaboration Aturan yang berinteraksi dan elemen lain yang sedang bekerja sama menyediakan perilaku yang lebih besar dari kuantitas dan elemennya. Note Elemen fisik yang aktif ketika aplikasi running dan menunjukkan cerminan sumber daya komputasi. Sumber: (Herlawati, Widodo Pudjo, P., 2011) Sumber: (Herlawati, Widodo Pudjo, P., 2011) 33
34 2. Class Diagram Class Diagram mendeskripsikan struktur aplikasi dari segi pengertian classes yang akan dirancang agar dapat membangun aplikasi. Berikut merupakan bagian dari Class Diagram. a. Atribut adalah variabel-variabel yang dipunyai suatu kelas dan mendeskripsikan properti dengan sebaris teks di dalam class tersebut b. Operasi atau metode merupakan fungsionalitas yang dimiliki suatu kelas. Class Diagram menggambarkan macam-macam objek pada aplikasi dan bermacam relasi statik yang terlibat antar diagram. Class Diagram juga menunjukkan properti dan operasi sebuah class dan keterbatasan yang ada dalam relasi objek tersebut, Class Diagram mendeskripsikan structure dan deskripsi class, package, dan objek serta relasi satu sama lain seperti containment, pewaris, asosiasi dan sebagainya. Kelas memiliki tiga area pokok: a. Nama, yakni nama terhadap sebuah class. b. Atribut, yakni karakter dan sifat data terhadap objek dalam class. c. Operasi, yakni fungsionalitas atau perubahan yang memungkinkan bisa di implementasikan ke atau oleh suatu objek dalam class (Herlawati, Widodo Pudjo, P., 2011).
No. 1. 2. 3. 4. 5. Gambar 35 Tabel 2. 2 Class Diagram Nama Keterangan Generalization Relasi antar descendent berbagi sifat dan structure data terhadap objek di atasnya ancestor. Nary Association Usaha agar terhindar dari asosiasi terhadap lebih dari 2 objek. Class Kumpulan dari objek- objek yang berbagi atribut serta operasi yang sama. Collaboration Penggambaran terhadap urutan aksi yang ditampilkan aplikasi yang memberi hasil yang terukur bagi suatu aktor. Realization Operasi yang dilakukan oleh suatu objek.
36 6. 7. Dependency Relasi perubahan yang terjadi pada satu elemen independent dapat mempengaruhi elemen yang sedang bergantung padanya elemen non- independent. Association Penghubung antara objek. Sumber: (Herlawati, Widodo Pudjo, P., 2011) a. Sequence Diagram Sequence Diagram mendeskripsikan perilaku objek pada use case dengan menggambarkan keterangan waktu dan pesan yang bertransmisi antara objek. Sehingga agar dapat menggambarkan sequence diagram diperlukan pengetahuan objek-objek yang dipakai pada suatu use case serta metode-metode yang terlibat dalam kelas yang diinisiasi menjadi objek tersebut (Herlawati, Widodo Pudjo, P., 2011).
No. 1. 2. 37 Tabel 2. 3 Sequence Diagram Gambar Nama Keterangan LifeLine Objek entity, interaksi antar user interface. Message Spesifikasi terhadap interaksi antara objek yang berisi informasi mengenai aktivitas yang berlangsung. Sumber: (Herlawati, Widodo Pudjo, P., 2011) d. Activity Diagram Activity Diagram mendeskripsikan aliran kerja terhadap activity pada aplikasi. Perlu diketahui di sini bahwa activity diagram mendeskripsikan aplikasi activity bukan apa yang dikerjakan oleh actor, sehingga aplikasi dapat melakukan aktivitas. Activity Diagram memungkinkan perilaku parallel. Activity Diagram juga sering dipakai untuk mengartikan hal-hal berikut: 1) Perancangan proses bisnis dalam hal tiap urutan activity yang dideskripsikan adalah proses bisnis aplikasi yang didefinisikan.
38 No. 1. 2. 3. 2) Pengurutan atau pengelompokan interface terhadap aplikasi bahwa tiap activity dianggap mempunyai suatu desain user interface. 3) Perancangan pengujian bahwa tiap activity dianggap membutuhkan suatu pengujian dan diperlukan definisi studi kasusnya (Herlawati, Widodo Pudjo, P., 2011). Tabel 2. 4 Activity Diagram Gambar Nama Keterangan Start Point Start point menunjukkan awal dimulainya alur kerja dalam activity diagram. Di UML, start Point disimbolkan lingkaran hitam. End Point End point menunjukkan berakhirnya suatu activity diagram. Kadang kala terdapat lebih dari satu end point di suatu activity diagram. End point disimbolkan dengan simbol lingkaran hitam yang dikelilingi oleh lingkaran. Activities Activities menunjukkan suatu task dalam alur kerja.
4. 5. 6. 7. 8. 39 Fork (Pencabangan) Activity Diagram memungkinkan terjadinya pengelompokan jalur yang dapat menunjukkan objek mana yang terlibat pada suatu aktivitas. Percabangan tunggal terjadi karena adanya yang saling terkoneksi dengan aktivitas berikutnya. Joint (Penggabungan / Merge) Transisi yang bisa menciptakan cabang ke dua atau lebih percabangan Decision (Kondisi) Decision merupakan activity diagram yang menjadi indikasi satu kondisi yang memungkinkan terjadinya perbedaan transisi. State Transition (Alur) State transition mendeskripsikan activity setelah activity sebelumnya. Swimlane (Kelompok) Swimlane adalah penggambaran objek mana yang memiliki peranan terhadap aktivitas tertentu. Sumber: (Herlawati, Widodo Pudjo, P., 2011)
40 I. SQLite SQLite adalah sebuah basis data yang bersifat ACID- compliant dan memiliki library yang relatif kecil. SQLite adalah project yang bersifat public domain yang disusun oleh D. Richard Hipp. SQLite merupakan open source database yang telah cukup lama ada, terbilang stabil, dan sangat populer pada device kecil, termasuk Android. SQLite terbilang ringan untuk setiap aplikasi yang menggunakannya. Aplikasi memungkinkan mengatur relational database engine untuk men-secure data dengan aman dan efisien. Pada Android, SQLite dijadikan satu di dalam Android runtime, oleh karena itu tiap aplikasi Android bisa membuat database SQLite. Dikarenakan SQLite memakai user interface SQL, sehingga penggunaan untuk orang awam pun menjadi cukup mudah untuk digunakan (Djuandi, 2011). Adapun tools yang cukup populer adalah SQLite Manager. SQLite Manager merupakan suatu program yang terbilang cukup membantu programmer untuk pengelolaan basis data SQLite, contohnya mendesain tabel, index dan menjalankan perintah-perintah SQL. Program ini terbilang mudah untuk dipakai dan sangat bermanfaat untuk keperluan yang praktis (Djuandi, 2011).
41 BAGIAN KETIGA Penerapan Aplikasi Pembaca Pesan A. Permodelan Aplikasi yang Diusulkan Permodelan aplikasi adalah sekumpulan activity dalam perancangan model perwakilan atau gagasan terhadap objek ataupun actual situational ke bentuk sederhana dari sesuatu fakta yang rumit. Pada permodelan atau rancangan desain aplikasi, item, dan component dibutuhkan perancangan agar tercapai tujuan yang dapat memudahkan dan menambah efektivitas kinerja dan activity serta mendeskripsikan tentang suatu mekanisme yang benar dalam merancang suatu aplikasi yang sesuai dengan kebutuhan. Permodelan yang digunakan yaitu flowchart pada gambar 4.1 berikut ini.
42 Gambar 4. 1 Flowchart Aplikasi yang diusulkan
Menurut Gambar 4.1, Flowchart aplikasi dapat dijelaskan sebagai berikut: 1. Inisialisasi Notifikasi dan Text to Speech Pada tahap ini, sebelum aplikasi dapat mengkonversi teks menjadi suara, diperlukan inisialisasi. Inisialisasi ada dua macam, yaitu inisialisasi Notification Listener Service dan Text to Speech Google API. Aplikasi ini membutuhkan izin dari user untuk menjalankan Notification Listener Service di Smartphone. Gambar 4. 2 Inisialisasi Notification Listener Service Gambar 4.2 merupakan source code untuk mendapatkan izin menerapkan Notification Listener Service yang ditempatkan pada file Android Manifest. Inisialisasi Notification Listener Service merupakan proses yang berjalan di belakang (background thread) berfungsi untuk mengambil segala informasi dari pemberitahuan atau notifikasi yang masuk ke smartphone Android. Inisialisasi ini dilakukan ketika aplikasi pertama kali dijalankan. Pada saat Notification Listener Service terinisialisasi, selanjutnya aplikasi melakukan inisialisasi Text to Speech (TTS). 43
44 Gambar 4.3 Inisialisasi TTS Gambar 4.3 merupakan source code untuk menerapkan Text to Speech ke dalam class Notification Service dengan turunan dari Notification Listener Service. Class Notification Service akan dibahas pada tahap selanjutnya. Kemudian mengatur bahasa yang digunakan: tts.setLanguage(new Locale("id","ID")); Namun inisialisasi ini membutuhkan voice data yang diunduh dari Google Text-to-Speech. Saat inisialisasi berhasil aplikasi akan mengatur bahasa yang digunakan bahasa Indonesia. 2. Notifikasi Pesan Masuk Pada Gambar 4.3 class Notification Service digunakan untuk membaca pemberitahuan pada Status Bar. Dengan menggunakan method onNotificationPosted dari Notification Listener Service memungkinkan pemberitahuan yang diposting pada Status Bar akan dijadikan sebagai objek dengan StatusBarNotification. Kemudian, objek yang diterima akan diproses pada tahap selanjutnya. Ini merupakan tahap untuk input pesan yang diambil dari notifikasi pesan instan seperti Telegram ataupun WhatsApp.
3. Dapatkan Pesan dari Notifikasi Tahap ini merupakan proses dari on Notification Posted yang memungkinkan objek yang telah diterima diproses dengan memisahkan string menjadi bagian-bagian pesan yang terdiri dari pack, tittle, dan text. Proses pertama yang dilakukan adalah mendapatkan pack atau asal aplikasi dengan method get Package Name, kemudian mendapatkan title atau judul dengan nama variabel "android.title" dan mendapatkan text dengan nama variabel "android.text". Gambar 4. 4 Objek ke string Jika pack yang diterima bernilai "org.telegram. messenger" dan "com.whatsapp". Kemudian membuat intent baru menggunakan intent filter "Msg" untuk mengirim nilai yang diperoleh sebagai pesan Broadcast menggunakan method: Broadcast(msgrcv); Pesan Broadcast yang diterima yaitu string pack, tittle, text dan juga date and time. String Date and time didapatkan dari hasil ketika pesan ditampilkan pada Status Bar sesuai waktu menerima pesan menggunakan method Simple Date Format ("dd-MM-yyyy HH:mm:ss"). Kemudian, nilai dari 45
46 send Broadcast (msgrcv) akan dikirim dan diterima sesuai fragment yang dibuat. 4. Tambahkan ke Database Chat Ketika pack yang diterima sesuai dengan nilai yang ditentukan, maka pack, title, text, date dan time pesan akan disimpan ke dalam tabel chat yang berada pada database SQLite. Pesan yang tersimpan diperlukan untuk mendukung fasilitas pengolahan data ataupun validasi hasil konversi teks ke ucapan. 5. Menampilkan Pesan Pesan yang telah disimpan pada database akan ditampilkan pada menu utama aplikasi. 6. Normalisasi Pesan Proses pemecahan kalimat kemudian menggabungkan kembali menjadi satu kalimat dengan membuat fungsi parse Singkatan berlangsung pada proses ini. Flowchart parsing kata bisa dilihat pada Gambar 4.5.
47 Gambar 4. 5 Flowchart Parsing Kalimat Berikut adalah penjelasan Gambar 4.5 Parsing Kalimat: a. Memecah kalimat Pada tahap ini string isi pesan yang telah diterima dari proses sebelumnya akan dipecah menjadi beberapa kata dengan karakter spasi sebagai pembatas. Dengan fungsi words.split("\\s+"). Sebagai contoh teks
48 pesan "Bsk/ mau/ ka/ ke/ kmps/ cma/ tkt/ ka/ hjn/". b. Mengambil satu kata Tahap ini akan memproses kata pertama, yaitu "Bsk" yang diterima dari pemecahan pada tahap sebelumnya sampai dengan kata terakhir pada kalimat yang didapatkan. c. Cek kata singkatan Tahap cek kata singkatan ini akan memproses kata pertama kemudian membandingkan kata tersebut dengan yang terdapat di basis data tabel singkatan. Apabila terdapat kesamaan kata dengan kata pada tabel singkatan, aplikasi akan melakukan tahap konversi kepanjangan. Akan tetapi, apabila tidak terdapat kesamaan kata terhadap tabel singkatan, aplikasi akan mengecek apakah masih ada kata saat proses pemecahan. d. Konversi kepanjangan Tahap ini merupakan tahap kondisi apabila terdapat kesamaan kata terhadap basis data tabel singkatan, singkatan tersebut akan dikonversi berdasarkan kepanjangan yang dimaksud. Sebagai contoh kata singkatan "kmps" sama dengan kata singkatan yang terdapat dalam database "kmps" dengan kepanjangan kata "kampus" sehingga aplikasi akan mengkonversi "kmps" menjadi "kampus".
49 e. Apakah masih terdapat kata? Tahap ini merupakan tahap pengulangan. Jika masih ada kata dalam kalimat yang telah dipecah pada tahap memecah kalimat, aplikasi akan kembali ke tahap mengambil satu kata sesuai banyaknya panjang kata yang telah dipecah. f. Gabungkan kata Proses pada tahap ini adalah menggabungkan kembali semua kata dari tahap-tahap sebelumnya sehingga membuat kalimat yang utuh. 7. Suarakan pesan Gambar 4. 6 Output suara setelah normalisasi Pada tahap ini isi teks yang telah melalui proses normalisasi pada pesan yang diterima, selanjutnya dikonversi menjadi suara oleh text-to-speech dengan menyebutkan [Pengirim], [title] atau yang mengirimkan dan [text] yang merupakan isi pesan masuk. API Google Text-to- Speech memungkinkan untuk mengatur antrean pemrosesan konversi teks menjadi suara. Terdapat dua jenis pengaturan antrean, yaitu QUEUE_ADD yang akan menyelesaikan proses konversi satu per satu sebelum memproses pesan baru yang masuk pada antrean. Selanjutnya adalah antrean QUEUE_FLUSH yang akan memproses pesan baru pada
50 antrean dan menghentikan proses konversi pesan yang sedang berjalan. B. Perancangan Fitur Pada rancangan fitur digunakan Method setup View Pager untuk menampilkan fragment ke dalam activity sehingga satu tampilan akan menampilkan dua buah tab untuk melihat pesan dari Telegram dan WhatsApp. Gambar 4. 7 Fragment dalam activity Pada class Chat Adapter extends android.support.v7.widget. RecyclerView memungkinkan mengatur tata letak ketika menaruh package, tittle, text, date and time serta dapat menampung lebih banyak data. Adapun beberapa fitur pada activity ini di antaranya: 1. Menu Input Singkatan Input singkatan dibuat untuk membenarkan output suara yang sesuai dengan tata bahasa yang benar. Input Singkatan menggunakan method on Options Item Selected yang terdapat pada options menu kemudian ditampilkan menggunakan Alert Dialog yang di dalamnya terdapat dua Edit Text untuk proses input. Proses input singkatan dimulai dari input kata singkatan, kemudian input kata
yang dimaksud. Sebagai contoh singkatan "Kmps" dan kepanjangan "Kampus". Setelah proses input selesai user dapat menekan tombol simpan dan tidak. Jika pilihan simpan, singkatan dan juga kepanjangan akan tersimpan ke dalam database pada tabel singkatan. Flowchart input kata singkatan bisa dilihat pada gambar 4.8: Gambar 4. 8 Flowchart Input Singkatan 2. Hapus Pesan Hapus pesan dibuat untuk memudahkan dalam manajemen pesan ketika data yang diterima terlalu banyak. Menghapus pesan terbagi menjadi dua pilihan, 51
52 di antaranya menghapus berdasarkan Id dan pack pada tabel Chat. Menghapus berdasarkan Id memungkinkan menghapus satu pesan, dengan menekan lama pesan yang ingin dihapus kemudian menekan pilihan "Ya" pada Alert Dialog yang muncul maka pesan telah terhapus. Menghapus berdasarkan pack dari Telegram dan WhatsApp. Pilihan menghapus ini terdapat pada options menu kemudian menekan pilihan "Ya" ketika Alert Dialog tampil. Gambar 4. 9 Option Menu
3. Suarakan Tahap ini memungkinkan user dapat mendengarkan kembali pesan yang diterima. Pilihan ini terdapat pada class Chat Adapter yang akan ditampilkan terus-menerus sebanyak jumlah List Chat yang diterima dengan icon button voice. Ketika tombol ditekan method set On Click Listener diaktifkan, maka event on Click akan menjalankan fungsi text-to-speech pada pesan yang dipilih. C. Perancangan Database Rancangan basis data pada aplikasi diberi nama autospeech.db dan terdiri dari dua tabel. Tabel 4.1 dibuat untuk mendapatkan package, title, text dan datetime ketika menerima pesan serta berfungsi sebagai pengelola dalam manajemen pesan nantinya. Tabel 4.2 dibuat untuk menyimpan kata singkatan dan kepanjangan yang nantinya digunakan sebagai pembanding dan hasil keluaran. Aplikasi database yang digunakan adalah SQLite dengan menggunakan turunan dari SQLite Asset Helper untuk mendapatkan akses penyimpanan database baca dan tulis ke database yang memungkinkan dalam manipulasi data seperti mencari, menambah, mengubah atau menghapus satu atau lebih record pada tabel. SQLite ini telah tersedia built- in pada Android SDK. Berikut adalah tabel yang digunakan dalam basis data: 53
54 Field id Pengirim Pesan Pack DateTime Field Id Word Mean- ing Type Integer Text Text Text Text Type Integer Text Text Tabel 4.1 Tabel Chat Range Data Atribut Fungsi
Primary key, auto increment Sebagai indeks untuk pengurutan pesan 1024
Identitas pengirim pesan
1024
Isi Pesan
package whatsapp atau telegram
Waktu penerimaan Tabel 4. 2 Tabel Singkatan Atribut Fungsi Primary key, auto increment Sebagai indeks untuk pengurutan
Sebagai masukan kata
Kata yang akan diu
capkan
D. Perancangan Antar Muka Antarmuka merupakan aspek aplikasi komputer atau program yang dapat dilihat, didengar, berinteraksi atau dipersepsikan oleh user, serta perintah atau aplikasi mekanik yang dipakai oleh user agar dapat memegang kendali operasi dan pemasukan data. Rancangan user interface bisa dilihat dalam uraian sebagai berikut: 1. Halaman Welcome Activity Rancangan berikut merupakan rancangan halaman welcome activity, antara lain: a. ImageView, Panduan singkat aplikasi b. @String/skip, String perintah lewatkan halaman c. Pager, dots navigasi halaman d. @String/next, String perintah ke halaman selanjutnya e. @String/start, String perintah memulai aplikasi 55
56 Gambar 4. 10 Rancangan Welcome Activity 2. Rancangan Halaman Utama Berikut merupakan rancangan halaman utama, antara lain: a. app_name, Nama Aplikasi b. context_menu, pilihan fitur menu aplikasi c. tabs rcv_telegram, tab menampilkan pesan telegram d. tabs rcv_whatsapp, tab menampilkan pesan WhatsApp e. Scrool_View, tampilan halaman yang dapat di- scroll f. btn_Bunyi, button untuk mendengarkan pesan g. text_pengirim, berisikan nama pengirim pesan
h. text_pesan, berisikan isi pesan yang diterima i. txt_datetime, tanggal dan waktu pesan diterima Gambar 4. 11 Rancangan Halaman Utama 3. Rancangan Context Menu Rancangan berikut merupakan rancangan fitur-fitur aplikasi, antara lain: a. Tambah Singkatan, fitur untuk menambah kata singkatan b. Hapus Pesan WhatsApp, fitur untuk menghapus semua pesan WhatsApp yang tampil di aplikasi c. Hapus Pesan Telegram, fitur untuk menghapus semua pesan telegram yang tampil di aplikasi d. Aktifkan Ucapan, fitur untuk mengaktifkan ucapan e. Matikan Ucapan, fitur untuk menonaktifkan ucapan 57
58 Gambar 4. 12 Rancangan Context Menu 4. Rancangan Tambah Kata Singkatan Rancangan berikut merupakan rancangan untuk menambah kata singkatan, antara lain: a. add_database_singkatan, kotak dialog untuk memasukkan kata singkatan b. Kata Singkatan, form untuk mengisi kata singkatan c. Kata yang Dimaksud, form untuk mengisi kepanjangan kata d. Negative Button, perintah untuk membatalkan e. Positive Button, perintah untuk menyetujui
Gambar 4. 13 Rancangan Tambah Kata Singkatan 5. Rancangan Hapus Pesan Telegram Rancangan berikut merupakan rancangan untuk menghapus semua pesan telegram, antara lain: a. hapus_pesanT, kotak dialog untuk menghapus pesan telegram b. ImageView, Simbol peringatan c. TextView, berupa teks Konfirmasi dan deskripsi perintah d. NegativeButton, perintah untuk membatalkan e. PositiveButton, perintah untuk menyetujui 59
60 Gambar 4. 14 Rancangan Hapus Pesan Telegram 6. Rancangan Hapus Pesan WhatsApp Rancangan berikut merupakan rancangan untuk menghapus semua pesan WhatsApp, antara lain: a. hapus_pesanW, kotak dialog untuk menghapus pesan WhatsApp b. ImageView, Simbol peringatan c. TextView, berupa teks Konfirmasi dan deskripsi perintah d. NegativeButton, perintah untuk membatalkan e. PositiveButton, perintah untuk menyetujui
Gambar 4. 15 Rancangan Hapus Pesan WhatsApp E. Implementasi Antarmuka Implementasi user interface dikembangkan memakai layout dengan ekstensi .xml. Implementasi yang dikembangkan adalah sebagai berikut. 1. Icon Aplikasi Gambar 4. 16 Ikon Aplikasi Pembaca Pesan Untuk menjalankan aplikasi, klik ikon aplikasi Pembaca Pesan hingga muncul halaman Welcome Activity. 61
62 2. Tampilan Halaman Welcome Activity Gambar 4. 17 Tampilan Welcome Activity Pada saat masuk di halaman Welcome Activity, user akan melihat panduan singkat dan diperkenankan untuk mengaktifkan Permission Akses Notifikasi. Kemudian klik SELANJUTNYA.
3. Tampilan Halaman Utama Gambar 4. 18 Tampilan Halaman Utama Tampilan berikutnya yaitu tampilan antarmuka pada aplikasi saat user menjalankan aplikasi. Dalam satu tampilan terdapat dua tabLayout yang dibagi menjadi fragment halaman Telegram dan fragment halaman WhatsApp sehingga tampilan pada layout activity menjadi lebih atraktif. 63
64 4. Tampilan Action Context Menu Gambar 4. 19 Tampilan Action Context Menu Pada halaman antarmuka ini terdapat fitur action bar dan options menu. Action bar adalah elemen UI yang terletak di layar bagian kanan atas sedangkan options menu ditampilkan ketika pengguna menekan tombol atau ikon menu untuk menampilkan perintah-perintah umum yang tersedia.
5. Tampilan Tambah Kata Singkatan Gambar 4. 20 Tampilan Tambah Kata Singkatan Tambah singkatan merupakan menu untuk input singkatan dan input kepanjangan kata yang nantinya sebagai output ucapan yang benar. Ketika memilih option tambah singkatan Alert Dialog akan ditampilkan yang di dalamnya terdapat dua edittext untuk melakukan input kata singkatan dan kepanjangan kata yang dimaksud serta dua pilihan simpan untuk menyimpan input singkatan dan kepanjangan, dan tidak untuk membatalkan pilihan. 65
66 6. Tampilan Hapus Pesan Telegram Gambar 4. 21 Tampilan Hapus Pesan Telegram Hapus pesan Telegram merupakan pilihan untuk menghapus seluruh pesan berdasarkan package yang dipilih dengan menekan tombol pilihan "HAPUS" untuk menghapus dan tombol pilihan "TIDAK" untuk membatalkan yang muncul sebagai alert dialog pada layar aplikasi.
7. Tampilan Hapus Pesan WhatsApp Gambar 4. 22 Tampilan Hapus Pesan WhatsApp Hapus pesan WhatsApp merupakan pilihan untuk menghapus seluruh pesan berdasarkan package yang dipilih dengan menekan tombol pilihan "HAPUS" untuk menghapus dan tombol pilihan "TIDAK" untuk membatalkan yang muncul sebagai alert dialog pada layar aplikasi. 67
68 8. Tampilan Hasil Penerimaan Pesan Gambar 4. 23 Tampilan Hasil Penerimaan Pesan Ketika mendapatkan pemberitahuan pesan masuk, maka aplikasi akan mengkonversi teks isi pesan yang diterima menjadi ucapan, kemudian activity akan menerima (BroadcastReceiver) dari sendBroadcast sehingga membuat pesan yang diterima ditampilkan secara real time pada tiap fragment yang dituju. Gambar 4.23 menunjukkan pesan baru telah diterima dari package WhatsApp, tittle (pengirim) dan text (isi pesan). Selanjutnya, aplikasi text-to-speech menerjemahkan isi pesan tersebut menjadi suara [ap-li-ka- si pem-ba-ca pe-san i-ni meng- gu-na-kan goo-gle A-P-I],
kemudian pesan secara real time akan tampil dengan nama pengirim "Uji Coba Prog", isi pesan "Aplikasi pembaca pesan ini menggunakan google API" dan waktu terima "27-02-2021 00:39:30". Pesan yang diterima akan tersimpan ke dalam database pada tabel Chat kemudian ditampilkan pada setiap fragment Telegram dan fragment WhatsApp. Ucapan juga dapat diaktifkan dan dinonaktifkan melalui kontrol ucapan, yang dalam hal ini tidak akan mengganggu proses menampilkan pesan di setiap fragment. Setiap pesan yang ditampilkan dapat didengarkan kembali ketika button suara ditekan dan apabila pesan ditekan lama akan menampilkan menu pop-up peringatan untuk memilih menghapus pesan atau tidak. F. Pengujian Aplikasi Pengujian sebuah aplikasi adalah pokok utama yang memiliki tujuan agar dapat mengetahui tercapai ataupun tidaknya tujuan dibuatnya aplikasi, dan menemukan kesalahan-kesalahan atau kekurangan-kekurangan pada software yang dikembangkan sesuai standarisasi dengan tujuan pengembangan software tersebut. Pengujian dilakukan pada setiap view, service dan text to speech. Pengujian ini dilakukan secara Black-Box, yaitu diuji dengan memperhatikan input ke aplikasi dan output terhadap aplikasi. Rencana pengujian direncanakan terbagi dua, yaitu pengujian fitur dan pengujian membaca pesan yang diterima. Rencana pengujian fitur aplikasi ini bisa dilihat pada Tabel 4.3. 69
70 No. 1 2 3 4 5 6 Tabel 4. 3 Tabel Rencana Pengujian Fitur Fitur yang diuji Service Detail Pengujian Menjalankan tugas aplikasi yang bekerja di belakang layar Menerima pesan Telegram dan WhatsApp Text-to- Speech Mengkonversi teks ke ucapan dari pesan yang diterima Mendengarkan pesan yang diterima View Mes- sage Menampilkan pesan yang telah diterima Menampilkan pesan per hala- man Sound Menekan btn_Bunyi untuk men- jalankan fungsi Text-to- Speech Delete Menghapus pesan berdasarkan package atau pop-up Menampilkan peringatan meng- hapus atau tidak Input Sing- katan Menampilkan kotak dialog input singkatan dan kepanjangan Memasukkan singkatan ke da- lam database Jenis Uji Black-box Black-box Black-box Black-box Black-box Black-box
71 Pengujian aplikasi akan dilakukan di beberapa brand device yang berbeda guna mendeteksi kesalahan (bug) dan mengetahui kualitas aplikasi yang dibangun, device yang akan digunakan antara lain: 1. Xiaomi MI A2 2. Samsung A7 (A750) 3. OPPO A7 4. Realme 6 Pro 5. Nokia 3 Berdasarkan rencana uji terhadap aplikasi bisa dilihat pada tabel 4.4. Tabel 4. 4 Tabel Hasil Pengujian Fitur Aksi/Data Masukan Mengaktifkan Pengaturan Notification Access pada smartphone Yang Diharapkan Pengamatan Menerima pesan dari Telegram dan WhatsApp tanpa membuka Aplikasi Pembaca Pesan Aplikasi menerima pesan dari Telegram dan WhatsApp tanpa membuka Aplikasi Pembaca Pesan Kesimpulan Berhasil Mendownload voice suara Bahasa Indonesia pada Google Text To Speech Menerima pesan notification dari Telegram dan WhatsApp kemudian mengubah teks pesan menjadi ucapan Aplikasi menerima pesan notification dari Telegram dan WhatsApp kemudian mengubah teks pesan menjadi ucapan Berhasil
72 View Message ketika membuka Aplikasi Pembaca Pesan Menekan tombol Sound pada tiap pesan yang diterima Delete Pesan Menampilkan pesan yang diterima dari Telegram dan WhatsApp Pesan teks dikonversi menjadi ucapan berdasarkan teks pilihan pesan Memilih pesan yang akan dihapus berdasarkan beberapa pilihan hapus Aplikasi menampilkan pesan yang diterima dari Telegram dan WhatsApp Aplikasi mengkonversi teks pesan berdasarkan teks pesan yang dipilih Aplikasi memilih pesan yang akan dihapus berdasarkan beberapa pilihan hapus Berhasil Berhasil Berhasil
73 Input Singkatan Memasukkan kata singkatan dan kepanjangan pada dialog yang ditempilkan dan mendapatkan kata dari database Aplikasi dapat memasukkan kata singkatan dan kepanjangan pada dialog serta mendapatkan kata dari database Berhasil Dari hasil pengamatan pada tabel 4.4, aplikasi menerima pesan dari Telegram dan WhatsApp tanpa membuka aplikasi Pembaca Pesan berjalan dengan baik sehingga user akan menerima setiap pesan yang masuk. Aplikasi menerima notifikasi pesan dari Telegram dan WhatsApp kemudian mengubah teks pesan menjadi suara berjalan dengan baik sehingga user dapat mendengarkan isi pesan yang telah diterima. Aplikasi menampilkan pesan yang diterima dari Telegram dan WhatsApp berjalan dengan baik. Aplikasi mengkonversi teks pesan berdasarkan teks pesan yang dipilih berjalan dengan baik sehingga pengguna dapat mendengarkan ulang pesan ketika tidak memiliki waktu untuk membaca dan bagi peneliti sebagai hasil validasi untuk teks yang telah dikonversi. Aplikasi memilih pesan yang akan dihapus berdasarkan pilihan yang ada berjalan dengan baik sehingga user dapat memanajemen data yang telah diterima tidak terlalu besar. Serta aplikasi dapat memasukkan kata singkatan dan kepanjangan yang nantinya akan digunakan dalam perbandingan kata sebagai output. Pengujian yang telah dilakukan di beberapa brand perangkat yang berbeda tidak ditemukan perbedaan output yang dihasilkan,
74 ini dikarenakan aplikasi menggunakan Text-to-Speech Engine yang sama yaitu Google. Hanya terdapat perbedaan letak Akses Notifikasi untuk mengaktifkan Aplikasi Pembaca Pesan, ini dikarenakan kustomisasi aplikasi operasi android dari brand itu sendiri. Pengujian hasil dikelompokkan menjadi 4 skenario pengujian. Pertama, pengujian pesan yang sama dari setiap brand smartphone yang berbeda. Kedua, yaitu pengujian berdasarkan nama dan gelar. Ketiga, yaitu pengujian berdasarkan singkatan dengan huruf kapital. Keempat, yaitu pengujian berdasarkan akronim. Hasilnya, pengujian dinyatakan berhasil. Dalam pengujian yang telah dilakukan di antaranya semua kata baku yang ada di dalam kamus besar bahasa Indonesia (KBBI), angka, simbol, tanggal, waktu, beberapa nama produk, penyebutan satuan bilangan sampai dengan bilangan mencapai satuan kuadtriliun, beberapa singkatan sesuai dengan ejaan yang disempurnakan serta kata singkatan yang terdapat dalam database singkatan. Namun, satu pesan pengujian dinyatakan tidak sesuai karena kata [atm bca] merupakan singkatan dengan menggunakan huruf kecil dan kata tersebut tidak terdapat dalam database kata- kata khusus maupun dalam KBBI. Singkatan akan terbaca jika menggunakan huruf kapital [ATM BCA] dengan menyebutkan tiap huruf yang ada sesuai penulisan singkatan nama resmi lembaga. Kata singkatan yang belum dimasukkan ke dalam database tidak terbaca baik dikarenakan belum memiliki maksud kata. Setelah melakukan pengujian kembali pada kata yang tidak
terbaca dengan baik seperti kata [a-tm b-ca] menjadi [A-T-M B-C-A] membuat aplikasi dapat mengenali kata sehingga pesan dapat dibaca dengan baik. 75
77 BAGIAN KEEMPAT Kesimpulan Aplikasi pembaca pesan text-to-speech berjalan di operating aplikasi android yang dibuat memakai Android Studio dengan bahasa pemrograman Java dan menggunakan aplikasi manajemen database SQLite. Aplikasi pembaca pesan text to speech dapat menerima pack, tittle dan text dari Telegram dan WhatsApp sebagai masukkan kemudian teks dikonversi menjadi suara sebagai keluaran. Aplikasi pembaca pesan text to speech dengan turunan dari Notification Listener Service mampu menerima langsung pesan setiap pemberitahuan dari pesan Telegram dan WhatsApp yang mempunyai batasan 1024 karakter per setiap pesan dan akan ditampilkan pada layar smartphone dengan isi pesan sebagai masukan dan langsung dikonversi menjadi suara yang membuatnya bekerja di belakang layar tanpa harus membuka aplikasi utama. Dengan fungsi antrean QUEUE_ADD pada Google Text-to-Speech API memungkinkan pesan yang diterima akan diproses satu per satu.
78 Aplikasi pembaca pesan text to speech menyediakan masukan kata singkatan dan kata yang dimaksud jika kata tidak sesuai dengan yang diucapkan. Aplikasi akan membandingkan kata singkatan yang telah dimasukkan ke dalam database dan membuat aplikasi mengucapkan kata yang dimaksud sesuai dengan kata singkatan tersebut. Aplikasi ini bersifat case sensitive terhadap singkatan dan akronim sesuai dengan input dari pengguna. Aplikasi juga mempunyai batasan dalam membedakan antara singkatan kata maupun akronim kata. Adapun dalam rangka pengembangan berkelanjutan aplikasi tersebut, penulis memiliki beberapa saran bagi pihak-pihak yang berminat ataupun memang yang concern di bidang ini, di antaranya: Pertama, aplikasi pembaca pesan dapat dikembangkan agar bisa dijalankan smartphone pada operating aplikasi selain Android seperti IOS, Windows Phone, dan sebagainya. Kedua, mengembangkan aplikasi dengan keluaran suara yang berbeda tergantung dengan teks yang tertulis seperti teks dalam bahasa Inggris, bahasa Arab, bahasa Jepang dan beberapa bahasa lainnya. Ketiga, mengembangkan aplikasi agar dapat ditambahkan fitur seperti menu pop-up untuk menambahkan kata singkatan ke dalam library aplikasi pembaca pesan dari sumber aplikasi yang lain, seperti aplikasi Telegram atau WhatsApp. Keempat, mengembangkan aplikasi yang sebaliknya, yaitu Speech-to-Text.
DAFTAR PUSTAKA Andika, D. 2017. "Pengertian Flowchart". it-jurnal. Diakses 5 November 2020. flowchart/ Arman, A. 2004. Konversi dari Teks ke Ucapan. Pusparisa,Yosepha. 2020. "Pengguna Smartphone Diperkirakan Mencapai 89% Populasi pada 2025". databoks.katadata. Diakses 7 November 2020. Anonim. 2020. "Inilah Urutan Versi Android dari Awal Hingga Terbaru". decoding. Diakses 7 November 2020. Djuandi, F. 2011. "Menggunakan Database di Android:. Dutoit, T. 1997. An Introduction Text-to-Speech Synthesis, Ilustrated, ed, Springer Science & Business Media. Herlawati, Widodo Pudjo, P. 2011. Menggunakan UML. Bandung: Informatika. Hillsboro, P.V., Sunnyvale, T.F.M. 2004. Client/Server Architecture for Text-to-Speech Synthesis. Irawan, A. 2014. Implementasi Speech to Text dan Text to Speech Pada Aplikasi Traveling Conservations Assistance Berbasis Mobile. Skripsi. Universitas Komputer Indonesia. Jeffrey, S. 2014. WhatsApp vs Line vs Telegram: the best instant messenger apps compared - TorrApk [WWW Document]. whatsapp-vs-line-vs- telegram (accessed 11.23.17). 79
80 Marius, Sapto. 2014. Profil Pengguna Internet Indonesia. PUSKAKOM. Mullennix, J. 2010. Computer Synthesized Speech Technologies. New York: Medical Information Science Reference. Pelton, G. E. 1993. Voice Processing. New York: McGraw-Hill Education. Anonim. 2015. "Smartphone Lagi, Penyebab Kecelakaan di Jalan". plazainformasi.jogjaprov.go.id. Pramono, J. 2013. "Rancang Bangunan Aplikasi Text to Speech Sebagai Alat Bantu Pembelajaran Bahasa Inggris". Naskah Publikasi. AMIKOM. Prasetyo, D. 2006. Aplikasi Pensintesa Ucapan Berbahasa Indonesia Sebagai Pembaca SMS. Semarang: Fakultas Teknik, Universitas Diponegoro. Rahmawati, H. 2011. Penggunaan Bahasa Indonesia dalam Bahasa SMS. Safaat, H., N. 2012. Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika. Salman, W., Puspita, B. 2017. Perancangan Aplikasi Pengaduan Masyarakat pada Dashboard Smart City Berbasis Web dan Android. Makassar: Universitas Hasanuddin. Shalahudin, M. 2010. Java di WEB. Informatika. Syaputra, R. 2017. "Modul Programming Android dengan Android Studio - 1". Taylor, P. 2009. Text to Speech Synthesis. Cambridge. Toma S,A., Tarsa G.I . 2010. A TD-PSOLA Based Method for
Speech Synthesis and Compression. IEEE. Wundari, B. 2009. Aplikasi Text-to-Speech Dengan Metode Unit Selection Synthesis Untuk Bahasa Indonesia. Jakarta: Univ. Indonesia. Yunus, R. D. 2007. Aplikasi Text-to-Speech Berbahasa Indonesia sebagai Pembaca SMS. Semarang: Universitas Stikubank. 81
82 LAMPIRAN
83 1. Pengujian yang dilakukan di device Xiaomi MI A2 Tabel Lampiran 1 Tabel Hasil Membaca Pesan di Xiaomi MI A2 No. Input Output Tele- gram Output WhatsApp Output yang diinginkan Hasil Uji Coba 1 Aplikasi ini menggu- nakan google text to speech [ap-li- ka-si i-ni meng- gu- na- kan goo-gle text to- [ap-li-ka-si i-ni meng- gu-na- kan goo-gle text to speech] [ap-li-ka-si i-ni meng- gu-na-kan goo-gle text- to speech] Berhasil speech] 2 ; [ti-tik [ti-tik ko-ma] [ti-tik ko- Berhasil ko-ma] ma] 3 Tolong di [to- [to-long di [to-long di Berhasil transfer di long di trans-fer di trans-fer ATM BCA trans- fer di A-T-M B-C-A] di A-T-M B-C-A] A-T-M B-C-A] 4 Tolong di transfer di- atm bca [to- long di trans- fer di [to-long di trans-fer di a-tm b-ca] [to-long di trans-fer di A-T-M B-C-A] Tidak- berhasil a-tm b-ca] 5 Jgn lah prg ke kos [ja- ngan lah per- [ja-ngan lah per-gi ke kos] [ja-ngan lah per-gi ke kos] Berhasil gi ke kos]
6 7 8 9 84 081242918588 RT 04 RW 02 blok AB 1 no 29 12.000.000 IDR Macbeth, Vans, Baker, Fallen, Vegan [ko- song de-la- pan sa- tu du-a em-pat du-a sem-bi- lan sa- tu de- la-pan li-ma de-la- pan de- la-pan] [er-te ko-song em-pat er- we ko-song du-a blok a- be sa-tu no-mor du-a sem-bi- lan] [du-a be-las ju-ta ru-pi- ah] [mac- beth vans, ba-ker, fa-len, ve-gan] [ko-song de- sa-tu la-pan du- a em-pat du-a sem-bi- lan sa- tu de- li-ma la-pan de-la-pan de- la-pan] [er-te ko-song em-pat er-we ko-song du-a blok a-be sa-tu no-mor du-a sem-bi-lan] [du-a be-las ju-ta ru-pi-ah] [mac-beth vans, ba-ker, fa-len, ve-gan] [ko-song de- la-pan sa- tu du-a em-pat du-a sem-bi- lan sa-tu de- la- pan li-ma de-la-pan de-la-pan] ko- [er-te song em-pat nol er-we du-a blok a- be sa-tu no-mor du-a sem-bi-lan] [du-a be-las ju-ta ru-pi- ah] [mac-beth vans, ba- ker,fa-len, ve-gan] Berhasil Berhasil Berhasil Berhasil
10 11 12 Kulupai kalo mau ka ke kampus Dimohon ke- pada seluruh anggota untuk meng- hadiri rapat yang akan dilaksanakan pada hari Ju- mat, 22 Janu- ari 2021 datang ki teman teman sekalian [ku-lu- pa-i ka- lo ma-u ka ke kam- pus] [di-mo- hon ke-pa- da se- lu-ruh ang- go-ta un-tuk meng- ha-di-ri ra-pat yang a-kan di-lak- sa-na- kan pa- da ha-ri jum-at tang- gal du-a pu-luh du-a ja- nu-a-ri du-a ri- bu du-a pu-luh sa-tu] [da- tang ki te-man te-man se-ka- li-an] [ku-lu-pa-i ka- lo ma-u ka ke kam-pus] [di-mo-hon ke-pa-da se- lu- ruh ang- go-ta un-tuk meng- ha-di-ri ra-pat yang a-kan di-lak- sa-na-kan pa- da ha-ri jum- at tang-gal du-a pu-luh du-a ja-nu-a- ri du-a ri-bu du-a pu-luh sa-tu] [da-tang ki te-man te-man se-ka-li-an] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se- lu-ruh ang- go-ta un-tuk meng-ha- di-ri ra-pat yang a-kan di-lak-sa- na-kan pa- da ha-ri jum- at tang-gal du-a pu-luh du-a ja-nu-a- ri du-a ri-bu du-a pu-luh sa-tu] [da-tang ki te-man te- man se-ka- li-an] 85 Berhasil Berhasil Berhasil
13 14 86 Jurnal ini dikonversi ke ucapan meng- gunakan perangkat lunak pener- jemah otom- atis bukan penerjemah- manusia Eh hai apa kabar? [jur-nal i-ni di-kon- ver-si ke u-ca- pan meng- gu-na- kan pe- rang- kat lu-nak pe-ner- je-mah o-to- ma- tis bu-kan pe-ner- je-mah ma-nu- si-a] [eh hai a-pa ka-bar] [jur-nal i-ni di-kon-ver-si ke u-ca-pan meng-gu-na- kan pe-rang- kat lu-nak pe-ner- je-mah o-to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] [jur-nal i-ni di-kon-ver- si ke u-ca- pan meng- gu-na-kan pe-rang-kat lu-nak pe- ner-je-mah o- to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] Berhasil Berhasil
No. 1 2 3 4 5 6 87 2. Pengujian yang dilakukan di device Samsung A7 (A750) Tabel Lampiran 2 Tabel Hasil Membaca Pesan di Samsung A7 (A750) Input Output Telegram Output WhatsApp Output yang diing- inkan Hasil Uji Coba Aplikasi ini menggunakan google text to speech [ap-li-ka-si i-ni meng- gu- na-kan goo-gle text to [ap-li-ka-si i-ni meng- gu-na- kan goo-gle text to speech] [ap-li-ka-si i-ni meng- gu-na-kan goo-gle text Ber- hasil speech] to speech] ; [ti-tik ko- [ti-tik ko-ma] [ti-tik ko- Ber- ma] ma] hasil Tolong di transfer di- ATM BCA [to-long di trans-fer di A-T-M B-C-A] [to-long di trans-fer di A-T-M B-C-A] [to-long di trans-fer di A-T-M B-C-A] Ber- hasil Tolong di transfer di atm bca [to-long di trans-fer di a-tm b-ca] [to-long di trans-fer di a-tm b-ca] [to-long di trans-fer di A-T-M B-C-A] Tidak ber- hasil Jgn lah prg ke kos [ja-ngan lah per-gi ke kos] [ja-ngan lah per-gi ke kos] [ja-ngan lah per-gi ke kos] Ber- hasil 081242918588 [ko-song de-la-pan sa-tu du-a em-pat du-a sem- bi- lan sa- tu de-la- pan li-ma de-la-pan de-la-pan] [ko-song de- la-pan sa-tu du- a em-pat du-a sem-bi- lan sa- tu de- la-pan li-ma de-la-pan de- la-pan] [ko-song de- la-pan sa- tu du-a em-pat du-a sem-bi- lan sa-tu de- la- pan li-ma de-la-pan de-la-pan] Ber- hasil
88 7 RT 04 RW 02 blok AB 1 no 29 8 12.000.000 IDR 9 Macbeth, Vans, Baker, Fallen, Veg- an 10 Kulupai kalo mau ka ke kampus 11 Dimohon ke- pada seluruh anggota untuk meng- hadiri rapat yang akan dilaksanakan pada hari Ju- mat, 22 Janu- ari 2021 [er-te ko- song em- pat er- we ko-song du-a blok a- be sa-tu no-mor du-a sem- bi-lan] [du-a be-las ju-ta ru-pi- ah] [mac-beth vans, ba- ker,fa-len, ve-gan] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se- lu-ruh ang- go-ta un-tuk meng-ha- di-ri ra-pat yang a-kan di-lak-sa- na- kan pa-da ha-ri jum-at tang- gal du-a pu-luh du-a ja-nu-a-ri du-a ri-bu du-a pu-luh sa-tu] [er-te ko-song em-pat er-we ko-song du-a blok a-be sa- tu no-mor du-a sem-bi- lan] [du-a be-las ju-ta ru-pi-ah] [mac-beth vans, ba-ker, fa-len, ve-gan] [ku-lu-pa-i ka-lo ma-u ka ke kam-pus] [di-mo-hon ke-pa-da se- lu- ruh ang- go-ta un-tuk meng- ha-di- ri ra-pat yang a-kan di-lak- sa-na-kan pa- da ha-ri jum- at tang-gal du-a pu-luh du-a ja-nu-a- ri du-a ri-bu du-a pu-luh sa-tu] [er-te ko- song em-pat er-we nol du-a blok a- be sa-tu no-mor du-a sem-bi-lan] [du-a be-las ju-ta ru-pi- ah] [mac-beth vans, ba- ker, fa-len, ve-gan] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se- lu-ruh ang-go-ta un-tuk meng-ha- di-ri ra-pat yang a-kan di-lak-sa- na-kan pa-da ha-ri jum- at tang-gal du-a pu-luh du-a ja-nu- a-ri du-a ri-bu du-a pu-luh sa- tu] Ber- hasil Berha- sil Berha- sil Berha- sil Berha- sil
12 13 14 datang ki teman teman sekalian Jurnal ini dikonversi ke ucapan meng- gunakan perangkat lunak pener- jemah otom- atis bukan penerjemah manusia Eh hai apa kabar? [da-tang ki te-man te- man se-ka- li-an] [jur-nal i-ni di-kon-ver- si ke u-ca- pan meng- gu-na- kan pe-rang-kat lu-nak pe- ner-je-mah o-to-ma- tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] [da-tang ki te- man te-man se-ka-li-an] [jur-nal i-ni di-kon-ver-si ke u-ca-pan meng-gu-na- kan pe-rang- kat lu-nak pe- ner- je-mah o-to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] [da-tang ki te-man te- man se-ka- li-an] [jur-nal i-ni di-kon-ver- si ke u-ca- pan meng- gu-na-kan pe-rang-kat lu-nak pe- ner-je-mah o- to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] 89 Berha- sil Berha- sil Berha- sil
90 3. Pengujian yang dilakukan di device OPPO A7 Tabel Lampiran 3 Tabel Hasil Membaca Pesan di OPPO A7 No. Input Output Tele- gram Output WhatsApp Output yang Hasil Uji Coba diinginkan 1 Aplikasi ini menggu- nakan google text to speech [ap-li- ka-si i-ni meng- gu- na- kan goo-gle text to [ap-li-ka-si i-ni meng- gu-na- kan goo-gle text to speech] [ap-li-ka-si i-ni meng- gu-na-kan goo-gle text- to speech] Berhasil speech] 2 ; [ti-tik [ti-tik ko- [ti-tik ko- Berhasil ko-ma] ma] ma] 3 Tolong di [to-long [to-long di [to-long di Berhasil transfer di- ATM BCA di trans- fer di A-T-M B-C-A] trans-fer di A-T-M B-C-A] trans-fer di A-T-M B-C-A] 4 Tolong di [to-long [to-long di [to-long di Tidak transfer di di trans- trans-fer di trans-fer atm bca fer di a-tm b-ca] a-tmb-ca] di A-T-M B-C-A] berhasil 5 Jgn lah prg ke kos [ja-ngan lah per- gi ke kos] [ja-ngan lah per-gi ke kos] [ja-ngan lah per-gi ke- kos] Berhasil
6 7 8 9 081242918588 RT 04 RW 02 blok AB 1 no 29 12.000.000 IDR Macbeth, Vans, Baker, Fallen, Vegan [ko-song de-la- pan sa-tu du-a em- pat du-a sem- bi- lan sa-tu de- la-pan li-ma de-la- pan de- la-pan] [er-te ko-song em-pat er- we ko-song du-a blok a- be sa-tu no-mor du-a sem-bi- lan] [du-a be- las ju-ta ru-pi-ah] [mac- beth vans, ba-ker, fa-len, ve-gan] [ k o - s o n g d e - l a - p a n sa-tu du- a em-pat du-a sem- sa- bi-lan de-la- tu pan li-ma d e - l a - p a n de-la-pan] [er-te ko- song em- pat er-we k o - s o n g du-a blok a-be sa-tu n o - m o r du-a sem- bi-lan] [du-a be- las ju-ta ru-pi-ah] [mac-beth vans, ba- ker, fa-len, ve-gan] [ko-song de- la-pan sa- tu du-a em-pat du-a sem-bi- lan sa-tu de- la- pan li-ma de-la-pan de-la-pan] [er-te ko- song em-pat nol er-we du-a blok a- be sa-tu no-mor du-a sem-bi-lan] [du-a be-las ju-ta ru-pi- ah] [mac-beth vans, ba- ker,fa-len, ve-gan] 91 Berhasil Berhasil Berhasil Berhasil
10 11 12 92 Kulupai kalo mau ka ke kampus Dimohon ke- pada seluruh anggota untuk meng- hadiri rapat yang akan dilaksanakan pada hari Jumat, 22 Jan- uari 2021 datang ki teman teman sekalian [ku- lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo- hon ke- pa-da se- lu-ruh ang-go- ta un-tuk meng- ha-di-ri ra-pat yang a-kan di- lak-sa- na- kan pa-da ha-ri jum-at tang-gal du-a pu- luh du-a ja-nu-a-ri du-a ri- bu du-a pu-luh sa-tu] [da- tang ki te-man te-man se-ka-li- an] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se-lu- ruh ang-go-ta un-tuk meng- ha- di-ri ra-pat yang a-kan di-lak-sa- na-kan pa-da ha- ri jum-at tang-gal du-a pu- luh du-a ja-nu-a-ri du-a ri-bu du-a pu- luh sa-tu] [da-tang ki te-man te-man se- ka-li-an] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se- lu-ruh ang- go-ta un-tuk meng-ha- di-ri ra-pat yang a-kan di-lak- sa- na-kan pa-da ha-ri jum- at tang-gal du-a pu-luh du-a ja-nu- a-ri du-a ri- bu du-a pu- luh sa-tu] [da-tang ki te-man te- man se-ka- li-an] Berhasil Berhasil Berhasil
13 14 Jurnal ini dikonversi ke ucapan meng- gunakan perangkat lunak pener- jemah otom- atis bukan penerjemah- manusia Eh hai apa kabar? [jur- nal i-ni di-kon- ver-si ke u-ca-pan meng- gu-na- kan pe- rang-kat lu-nak pe-ner- je-mah o-to- ma- tis bu-kan pe-ner- je-mah ma-nu- si-a] [eh hai a-pa ka- bar] [jur-nal i-ni di-kon- ver-si ke u-ca-pan meng-gu- na-kan pe- rang-kat lu-nak pe- ner- je-mah o-to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka- bar] [jur-nal i-ni di-kon-ver- si ke u-ca- pan meng- gu-na-kan pe-rang-kat lu-nak pe- ner-je-mah o- to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] 93 Berhasil Berhasil
94 4. Pengujian yang dilakukan di device Realme 6 Pro Tabel Lampiran 4 Tabel Hasil Membaca Pesan di Realme 6 Pro No. Input Output Telegram Output WhatsApp Output yang Hasil Uji diinginkan Coba 1 Aplikasi ini menggu- nakan google text to speech [ap-li- ka-si i-ni meng-gu- na-kan goo-gle text to- [ap-li-ka-si i-ni meng- gu-na- kan goo-gle text to speech] [ap-li-ka-si i-ni meng- gu-na-kan goo-gle text- to speech] Berhasil speech] 2 ; [ti-tik ko- [ti-tik ko- [ti-tik ko-ma] Berhasil ma] ma] 3 Tolong di [to-long di [to-long di [to-long di Berhasil transfer di- ATM BCA trans-fer di A-T-M B-C-A] trans-fer di A-T-M B-C-A] trans-fer di A-T-M B-C-A] 4 Tolong di transfer di- atm bca [to-long di trans-fer di a-tm b-ca] [to-long di trans-fer di a-tm b-ca] [to-long di trans-fer di A-T-M B-C-A] Tidak berhasil 5 Jgn lah prg ke kos [ja-ngan lah per-gi ke kos] [ja-ngan lah per-gi ke kos] [ja-ngan lah per-gi ke kos] Berhasil 6 081242918588 [ko-song de-la-pan sa-tu du-a em-pat du-a sem- bi- lan sa- tu de-la- pan li-ma de-la-pan de-la-pan] [ k o - s o n g d e - l a - p a n sa-tu du- a em-pat du-a sem- sa- bi-lan de-la- tu pan li-ma d e - l a - p a n de-la-pan] [ko-song de- la-pan sa- tu du-a em-pat du-a sem- bi-lan sa-tu de-la- pan li- ma de-la-pan de-la-pan] Berhasil
7 RT 04 RW 02 blok AB 1 no 29 8 12.000.000 IDR 9 Macbeth, Vans, Baker, Fallen, Vegan 10 Kulupai kalo mau ka ke kampus 11 Dimohon ke- pada seluruh anggota untuk menghadiri rapat yang akan dilak- sanakan pada hari Jumat, 22 Januari 2021 [er-te ko- song em- pat er- we ko-song du-a blok a- be sa-tu no-mor du-asem- bi-lan] [du-a be- las ju-ta ru-pi-ah] [mac-beth vans, ba- ker, fa-len, ve-gan] [ku-lu-pa-i ka-lo ma-u ka ke kam-pus] [di-mo- hon ke- pa-da se- lu-ruh ang-go-ta un-tuk meng-ha- di-ri ra- pat yang a-kan di- lak-sa-na- kan pa-da ha-ri jum- at tang-gal du-a pu- luh du-a ja-nu-a-ri du-a ri-bu du-a pu- luh sa-tu] [er-te ko- em- song pat er-we k o - s o n g du-a blok a-be sa-tu n o - m o r du-a sem- bi-lan] [du-a be-las ju-ta ru-pi- ah] [mac-beth vans, ba- ker, fa-len, ve-gan] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se-lu- ruh ang-go-ta un-tuk meng- ha- di-ri ra-pat yang a-kan di-lak-sa- na-kan pa-da ha- ri jum-at tang-gal du-a pu- luh du-a ja-nu-a-ri du-a ri-bu du-a pu- luh sa-tu] [er-te ko- song em-pat nol er-we du-a blok a- be sa-tu no-mor du-a sem-bi-lan] [du-a be-las ju-ta ru-pi- ah] [mac-beth vans, ba- ker, fa-len, ve-gan] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se- lu-ruh ang- go-ta un-tuk meng-ha- di-ri ra-pat yang a-kan di-lak-sa-na- kan pa-da ha-ri jum- at tang-gal du-a pu-luh du-a ja-nu- a-ri du-a ri- bu du-a pu- luh sa-tu] 95 Berhasil Berhasil Berhasil Berhasil Berhasil
12 13 14 96 datang ki teman teman sekalian Jurnal ini dikonversi ke ucapan menggunakan perangkat lunak pener- jemah otom- atis bukan penerjemah- manusia Eh hai apa kabar? [da-tang ki te-man te-man se- ka-li-an] [jur-nal i-ni di- kon-ver-si ke u-ca- pan meng- gu-na- kan pe-rang- kat lu-nak pe-ner-je- mah o-to- ma- tis bu-kan pe-ner-je- mah ma- nu-si-a] [eh hai a-pa ka- bar] [da-tang ki te-man te-man se- ka-li-an] [jur-nal i-ni di-kon-ver- si ke u-ca- pan meng- gu-na-kan pe-rang-kat lu-nak pe- ner- je-mah o-to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] [da-tang ki te-man te- man se-ka- li-an] [jur-nal i-ni di-kon-ver- si ke u-ca- pan meng- gu-na-kan pe-rang-kat lu-nak pe- ner-je-mah o- to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] Berhasil Berhasil Berhasil
No. 1 2 3 4 5 6 5. Pengujian yang dilakukan di device Nokia 3 Tabel Lampiran 5 Tabel Hasil Membaca Pesan di Nokia 3 Input Output Telegram Output WhatsApp Output yang diinginkan Aplikasi ini menggu- nakan google text to speech [ap-li-ka-si i-ni meng- gu- na-kan goo-gle text to [ap-li-ka-si i-ni meng- gu-na- kan goo-gle text to speech] [ap-li-ka-si i-ni meng- gu-na-kan goo-gle text to speech] speech] ; [ti-tik ko- [ti-tik ko- [ti-tik ko- ma] ma] ma] Tolong di [to-long di [to-long di [to-long di transfer di ATM BCA trans-fer di A- T-M B-C-A] trans-fer di A-T- M B-C-A] trans-fer di A-T-M B-C-A] Tolong di [to-long di [to-long di [to-long di transfer di atm bca trans-fer di a- tm b-ca] trans-fer di a-tm b-ca] trans-fer di A-T-M B-C-A] Jgn lah prg ke kos [ja-ngan lah per-gi ke kos] [ja-ngan lah per-gi ke kos] [ja-ngan lah per-gi ke kos] 081242918588 [ko-song de-la-pan sa-tu du-a em-pat du-a sem- bi- lan sa-tu de-la- pan li-ma de-la-pan de-la-pan] [ k o - s o n g d e - l a - p a n sa-tu du- a em-pat du-a sem-bi-lan sa- tu de-la- pan li-ma d e - l a - p a n de-la-pan] [ko-song de-la-pan sa- tu du-a em-pat du-a sem- bi-lan sa-tu de-la- pan li-ma de-la- pan de- la-pan] 97 Hasil Uji Coba Berhasil Berhasil Berhasil Tidak berhasil Berhasil Berhasil
7 8 9 10 11 98 RT 04 RW 02 blok AB 1 no 29 12.000.000 IDR Macbeth, Vans,Baker, Fallen, Vegan Kulupai kalo mau ka ke kampus Dimohon ke- pada seluruh anggota un- tuk menghad- iri rapat yang akan dilak- sanakan pada hari Jumat, 22 Januari 2021 [er-te ko- song em- pat er- we ko-song du-a blok a- be sa-tu no-mor du-a sem-bi-lan] [du-a be- las ju-ta ru-pi-ah] [mac-beth vans, ba- ker, fa-len, ve-gan] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se- lu-ruh ang-go-ta un-tuk meng-ha- di-ri ra-pat yang a-kan di-lak-sa- na- kan pa-da ha- ri jum-at tang-gal du-a pu- luh du-a ja-nu-a-ri du-a ri-bu du-a pu- luh sa-tu] ko- [er-te em- song pat er-we k o - s o n g blok du-a sa- a-be tu no-mor du-a sem- bi-lan] [du-a be-las ju-ta ru-pi- ah] [mac-beth vans, ba- ker, fa- len, ve-gan] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se-lu- ruh ang-go-ta un-tuk meng- ha- di-ri ra-pat yang a-kan di-lak-sa- na-kan pa-da ha-ri jum-at tang- gal du-a pu-luh du-a ja-nu-a-ri du-a ri-bu du-a pu-luh sa-tu] ko- [er-te em- song er-we pat nol du-a blok a- be no- sa-tu mor du-a sem-bi-lan] [du-a be-las ju-ta ru-pi- ah] [mac-beth vans, ba- ker,fa-len, ve-gan] [ku-lu-pa-i ka-lo ma-u ka ke kam- pus] [di-mo-hon ke-pa-da se- lu-ruh ang-go-ta un-tuk meng-ha- di-ri ra-pat yang a-kan di-lak-sa- na-kan pa-da ha- ri jum- at tang-gal du-a pu- luh du-a ja-nu-a-ri du-a ri- bu du-a pu- luh sa-tu] Berhasil Berhasil Berhasil Berhasil Berhasil
12 13 14 datang ki teman teman sekalian Jurnal ini dikonversi ke ucapan meng- gunakan perangkat lunak pener- jemah otom- atis bukan penerjemah manusia Eh hai apa kabar? [da-tang ki te-man te- man se-ka- li-an] [jur-nal i-ni di-kon- ver-si ke u-ca-pan meng-gu- na- kan pe- rang-kat lu-nak pe- ner-je-mah o-to-ma- tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka- bar] [da-tang ki te-man te- man se-ka- li-an] [jur-nal i-ni di-kon-ver- si ke u-ca- pan meng- gu-na-kan pe-rang-kat lu-nak pe- ner- je-mah o-to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] [da-tang ki te-man te- man se-ka- li-an] [jur-nal i-ni di-kon-ver- si ke u-ca- pan meng- gu-na-kan pe-rang-kat lu-nak pe- ner-je-mah o- to-ma-tis bu-kan pe- ner-je-mah ma-nu-si-a] [eh hai a-pa ka-bar] 99 Berhasil Berhasil Berhasil
100 6. Pengujian berdasarkan nama dan gelar Tabel Lampiran 6 Pengujian berdasarkan nama dan gelar No. Input Output Tele- gram Output WhatsApp Output yang diinginkan Hasil Uji Coba 1 W.R. Su- pratman [W R sup-rat- man] [W R sup- rat-man] [W R sup- rat-man] Berhasil 2 R.A. Kar- tini [R A kar-ti-ni] [R A kar- ti-ni] [R A kar- ti-ni] Berhasil 3 H. Agus [ha-ji a-gus] [ha-ji a-gus] [ha-ji a-gus] Berhasil 4 M.B.A [M B A] [M B A] [M B A] Berhasil 5 M.Sos. [M Sos] [M Sos] [M Sos] Berhasil 6 Jend. Sudirman [jen-de-ral su- dir-man] [jen-de-ral su-dir-man] [jen-de-ral su-dir-man] Berhasil
No. 1 2 3 4 5 6 101 7. Pengujian berdasarkan singkatan huruf kapital Tabel Lampiran 7 Pengujian berdasarkan singkatan huruf kapital Input Output Telegram Output WhatsApp Output yang diinginkan Hasil Uji Coba NKRI [ne-ga-ra [ne-ga-ra ke-sa- [ne-ga-ra Berhasil ke-sa-tu- an re-pub- lik in-do- ne-sia] tu-an re-pub-lik in-do-ne-sia] ke-sa-tu-an re-pub-lik in-do-ne- sia] ABRI [ang-ka- tan ber- sen-ja-ta re-pub-lik in-do-ne- sia] [ang-ka-tan ber-sen-ja-ta re- pub-lik in-do- ne-sia] [ang-ka-tan ber-sen-ja- ta re-pub-lik in-do-ne- Berhasil sia] BMKG [ba-dan me-teo- ro-lo-gi kli-ma-to- lo-gi geo- fi-si- ka] [ba-dan me-teo- ro-lo-gi kli- ma- to-lo-gi geo-fi- si-ka] [ba-dan me- teo-ro-lo-gi kli-ma-to- lo-gi geo-fi- si-ka] Berhasil SMA [se-ko-lah [se-ko-lah me- [se-ko-lah Berhasil me-ne- ngah a- tas] ne-ngah a- tas] me-ne-ngah a-tas] KTP [kar-tu tan-da pen-du- duk] [kar-tu tan-da pen-du-duk] [kar-tu tan- da pen-du- duk] Berhasil UGM [uni-ver- si-tas ga- djah ma-da] [uni-ver-si-tas ga-djah ma- da] [uni-ver-si- tas ga-djah ma-da] Berhasil
102 8. Pengujian berdasarkan akronim Tabel Lampiran 8 Pengujian berdasarkan akronim No. Input Output Tele- gram Output WhatsApp Output yang diinginkan 1 iptek [il-mu [il-mu pe-nge- [il-mu pe- pe-nge- ta-hu-an tek-no- lo-gi] ta-hu-an tek- no-lo-gi] nge-ta-hu- an tek-no-lo- gi] 2 PERSIJA [per-sa- [per-sa-tu-an [per-sa-tu- tu-an se- pak bo-la ja-kar-ta] se-pak bo-la ja-kar-ta] an se-pak bo-la ja- kar-ta] 3 Bawaslu [ba-dan pe-nga- was pe- mi-lu] [ba-dan pe- nga-was pe-mi- lu] [ba-dan pe-nga-was pe- mi-lu] 4 Sulsel [su-la- we-si se- la-tan] [su-la-we-si se-la-tan] [su-la-we-si se-la-tan] 5 tilang [buk-ti pe-lang- ga-ran] [buk-ti pe- lang-ga-ran] [buk-ti pe-lang-ga- ran] Hasil Uji Coba Berhasil Berhasil Berhasil Berhasil Berhasil
PANDUAN PENGGUNAAN APLIKASI PEMBACA PESAN 103
Source Code 109
127 BIODATA PENULIS Fiqhi Maulana meraih gelar Sarjana Komputer di STMIK Handayani pada Program Studi Teknik Informatika; sekarang bekerja pada beberapa proyek terutama di Desain Grafik, Layanan TI, dan Konsultan TI; menguasai Bahasa pemrograman Java, Corel Draw, Adobe Photoshop, Adobe Illustrator, SketchUp, Microsoft Office Advance. Najirah Umar adalah Dosen Kopertis Wilayah IX yang dipekerjakan pada STMIK Handayani; sebagai dosen pengampuh mata kuliah Teknik Riset Operasi, Rekayasa Perangkat Lunak, dan aktif melakukan penelitian antara lain Aplikasi E_Trash Menggunakan Teknologi Location Based Service (LBS), Personal popular Name Identification Through Twitter Data, Penelitian yang dilaksaakan didanai internal PT, maupun DP2M Kemenristek DIKTI dan menjadi Riviewer Jurnal Nasional.
128 M. Adnan Nur adalah Dosen Kopertis Wilayah IX yang dikerjakan pada STMIK Handayani; sebagai dosen pengampuh mata kuliah Pemrogram Web, Sistem Basis Data dan aktif melakukan penelitian antaralain Mobile Application Bimbingan Tugas Akhir Mahasiswa Pada STMIK Handayani Makassar sebagai Media Pendukung Pembelajaran Daring, Perbandingan Levenshtein Distance dan Jaro-Winkler Distance untuk Koreksi Kata dalam Preprocessing Analisis Sentimen Pengguna Twitter, Penelitian yang dilakukan didanai internal PT, maupun DP2M Kemenristek DIKTI.