Irianto Bunga
Pratama
06 41010 0080
Pendahuluan
Bahasa Inggris adalah salah satu bahasa yang digunakan sebagai alat
komunikasi universal pada ruang lingkup internasional. Bagi para
pemula yang belajar bahasa Inggris secara mandiri, menghadapi
masalah dalam pelafalan yang baik dan benar. Teknologi komputer yang
berkembang saat ini dapat membantu dalam pembelajaran secara
mandiri dikarenakan memiliki fasilitas multimedia yang dapat
mengeluarkan gambar, suara, dan pengenalan suara.
Android adalah sebuah sistem operasi berberbasiskan java, yang
berjalan pada linux 2.6 kernel di dalam mobile phone. Sistem ini sangat
ringan dan memiliki banyak fitur antara lain voice search, speech input,
text to speech. Dengan adanya dukungan fitur tersebut,
penulis
akan membuat Aplikasi Mobile Belajar Melafalkan Bahasa Inggris.
Maka dengan adanya Aplikasi Mobile Belajar Melafalkan Bahasa Inggris
diharapkan para pemula yang ingin belajar bahasa Inggris dasar dapat
melafalkan kata-kata bahasa Inggris dengan baik dan benar secara
mandiri
Gambaran Sistem
Pembuatan Aplikasi Mobile Belajar Melafakan Bahasa Inggris membutuhkan fitur Text-to-Speech dan Speech
Input yang dapat melafalkan serta mencocokkan suara pengguna dengan sebuah kata bahasa Inggris yang
benar pada database. Dalam hal ini, fitur Text-to-Speech dan Speech Input telah tersedia pada sistem operasi
Android.
Text to Speech
Pada aplikasi ini item akan muncul dan pengguna dapat menggunakan fungsi
Dengar agar dapat mendengar pelafalan kata bahasa Inggris yang tersimpan
pada database. Proses pelafalan dapat dilakukan karena menggunakan paket/fitur
Android yang telah tersedia yaitu Text-toSpeech (TTS) yang didukung oleh mesin
TTS yaitu Pico TTS. Untuk mengimplementasikan Text-to-Speech, aplikasi perlu
mengetahui bahasa mana yang akan digunakan untuk berbicara sebagai sumber
daya bahasa, dalam kasus ini aplikasi menggunakan bahasa Inggris dimana bahasa
ini telah didukung. Jadi suara dan kamus khusus sebagai sumber daya bahasa yang
diperlukan diambil sebelum aplikasi TTS dapat memulai untuk berbicara. Apabila
terjadi penyimpangan terhadap pelafalan, TTS API memungkinkan aplikasi untuk
melakukan query platform untuk ketersediaan file bahasa. Sekarang Text-toSpeech dimisalkan dengan benar diinisialisasi dan dikonfigurasi, aplikasi dapat
memulai untuk berbicara, dengan menggunakan method speak(), contohnya:
String kt_bhs_ing = "one";
mTts.speak(kt_bhs_ing, TextToSpeech.QUEUE_FLUSH, null);
Ketika pelayanan TTS pada aplikasi telah selesai digunakan, maka dapat dihentikan
dengan memanggil mTts.shutdown(), dalam activity method onDestroy().
Speech Input
Pada aplikasi ini setelah item muncul dan pengguna mendengarkan kata dalam bahasa Inggris, maka pengguna
dapat menggunakan fungsi Lafal agar dapat melafalkan kata bahasa Inggris sesuai contoh pelafalan yang telah
dilakukan. Proses memasukkan suara pengguna dapat dilakukan karena menggunakan paket/fitur Android yang
telah tersedia yaitu Speech Input yang didukung oleh server google dimana membutuhkan koneksi internet agar
dapat merespon RecognizerIntent. Untuk mengimplementasikan Speech Input, aplikasi memverifikasi bahwa
perangkat target mampu mengenali speech input:
//cek fitur voice recognition
PackageManager pm = getPackageManager();
List activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
if (activities.size() != 0){ speakButton.setOnClickListener(this); } else {
speakButton.setEnabled(false);
speakButton.setText("Pengenalan suara tidak aktif"); }
Aplikasi kemudian menggunakan startActivityForResult() untuk memberitahukan bahwa sedang meminta voice
recognition, serta sebuah parameter tambahan yang menentukan salah satu dari dua model bahasa. Aplikasi voice
recognition yang menangani hasil dari proses voice input, kemudian melewati pengenalan string kembali ke
aplikasi dengan memanggil onActivityResult().
//memulai voice recognition
private void startVoiceRecognitionActivity() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo");
startActivityForResult(intent,VOICE_RECOGNITION_REQUEST_CODE);}//menangani hasil balik
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {
//memasukkan hasil kedalam daftar
ArrayList<String> matches = data.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS);
mList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,matches));
} super.onActivityResult(requestCode, resultCode, data);
}
Menambah pengguna
<<extend>>
<<extend>>
Menghapus pengguna
Mengaktifkan pengguna
<<include>>
Mencocokkan pelafalan
Pengguna
Melihat nilai
<<include>>
Menambah kategori
<<include>>
Menambah Item
Admin
Menghapus kategori
Menghapus item
Gambar 2 Use Case Diagram Aplikasi Mobile Belajar Melafalkan Bahasa Inggris
Sistem
Memilih Kategori
Menampilkan item
Text-to-Speech
[Item]
Mengkonfirmasi Pelafalan
Memasukkan Suara
Speech Input
Mencocokkan kata
cocok
tidak cocok
[pesan: salah]
menampilkan pesan
menampilkan pesan
Menampilkan Itemselanjutnya
[pesan: benar]
[Nilai : baru]
Sequence Diagram
Mencocokkan Pelafalan
: Pengguna
FormUjian Item
loadItem
DatabaseHelper
itemStandar
itemDatabase
Nilai
1 : meminta ujian()
2 : getIdKategori()
3 : setLocale("en_US")
4 : setLanguage("US")
5 : setLanguageModel("WEBSEARCH")
idKategori Standar
-3 s/d -1
6 : loadItem(idKategori)
7 : cekKategori(idKategori)
8 : new ItemStandar()
9 : getItemStandar(idKategori)
10 : getIsiItem(idKategori)
11 : new itemDatabase(this,idKategori)
12 : loadDatabase(idKategori)
13 : displayItem()
14 : pilih Dengar()
15 : lafalTeks(kataInggris)
16 : suara pelafalanTTS()
17 : pilih lafal()
18 : masukkanSuara()
19 : cariKemungkinanTeks()
20 : cekLafal(teks[])
21 : display Pesan()
22 : tambahNilaiSalah()
jawaban
Salah
23 : cekBatasItem(idx)
jawaban
Benar
24 : displayItemSelanjutnya()
25 : tambahNilai(nilai)
26 : new Nilai(score,tanggal,idKategori,idPengguna)
27 : int := sukses
28 : displayNilaiAkhir()
itemterakhir
Sequence Diagram
Mencocokkan Pelafalan
Pada gambar 4 dimulai dari pengguna meminta ujian
item pada form ujian item, dimana id kategori diambil
dari globalvariabel agar dapat menyesuaikan dengan
item yang akan ditampilkan. locale pada kontrol TTS
diatur untuk dapat melafalkan kata dalam bahasa
Inggris, language serta language model pada kontrol
speech input diatur untuk dapat mengubah suara
pengguna kedalam bentuk teks yang akan disesuaikan
dengan bahasa yang telah diatur. Pada kontrol
loaditem id kategori akan dicek terlebih dahulu untuk
menyesuaikan pengambilan data item, dimana data
item yang diambil berasal dari item standar atau item
database.
SpeechInput
DatabaseHelper
FUjianItem
TextToSpeech
ItemDatabase
Nilai
Class Diagram
Menambah Data
FPengaturanPengguna
FPengaturanKategori
FTambahPengguna
FTambahKategori
Pengguna
DatabaseHelper
Kategori
0..1
0..*
FPengaturanItem
FTambahItem
Item
Class Diagram
Menambah Data
Component Diagram
Aplikasi
Kategori
Item
SpeechInput
Admin
UjianItem
Nilai
Pengguna
TTS
DatabaseHelper
Component Diagram
Aplikasi
Pada gambar 7, menunjukkan
komponen diagram aplikasi belajar
melafalkan bahasa Inggris yang
berguna untuk mempermudah
pengembang untuk mengetahui
urutan compiler dan runtime.
Item
Server Google
Admin
Nilai
UjianItem
SpeechInput
Pengguna
TTS
DatabaseHelper
Kebutuhan Perangkat
Keras
Aplikasi Mobile Belajar Melafalkan Bahasa
Inggris dijalankan pada perangkat handphone
(telepon genggam) Android, jadi perangkat
keras yang digunakan adalah handphone
Android. Spesifikasi handphone yang
dibutuhkan untuk menjalankan aplikasi ini
adalah:
Layar berwarna 16M colors
Internal memory 20,28MB
Support GPRS dan Wifi
CPU 800MHz processor
Kebutuhan Perangkat
Lunak
Kebutuhan perangkat lunak yang
digunakan untuk mengembangkan
Aplikasi Mobile Belajar Melafalkan Bahasa
Inggris adalah:
Sistem Operasi Froyo 2.2
Android SDK r10-linux
ADT Plugin for Eclipse
Eclipse 3.6.0
Sqlite3.6.2
Terminal/cmd
Tampilan Ujian
Item/Mencocokkan Pelafalan
Tampilan Ujian
Item/Mencocokkan Pelafalan
Tampilan ujian item berfungsi untuk menampilkan item
berdasarkan kategori, dapat dilihat pada gambar 9. Pada
tampilan ini, terdapat text view kesalahan yang berfungsi
untuk menampilkan nilai kesalahan dalam pelafan, text view
judul/kategori item yang berfungsi untuk menampilkan nama
kategori, image view gambar item yang berfungsi untuk
menampilkan gambar item, text view kata dalam bahasa
Inggris yang berfungsi untuk menampilkan kata dalam bahasa
Inggris, image view gambar kata cara ucap yang berfungsi
untuk menampilkan kata cara ucap sesuai kamus bahasa
Inggris, text view kata dalam bahasa Indonesia yang berfungsi
untuk menampilkan kata dalam bahasa Indonesia, tombol
dengar yang berfungsi untuk mengucapkan kata dalam
bahasaa Inggris dan tombol lafal untuk menerima pelafalan
pengguna.
Kesimpulan
Kesimpulan yang dapat diambil dari
pembuatan Aplikasi Mobile Belajar
Melafalkan Bahasa Inggris adalah sebagai
berikut:
Berdasarkan hasil uji coba, Aplikasi Mobile Belajar
Melafalkan Bahasa Inggris yang dibuat mampu
berjalan pada sistem operasi android versi 2.2
Berdasarkan hasil uji coba, didapatkan bahwa
Aplikasi Mobile Belajar Melafalkan Bahasa Inggris
yang dibuat bersifat dinamis, dimana dapat
melakukan maintenance data kategori dan item.
Saran
Saran yang dapat diberikan untuk pengembangan
lebih lanjut antara lain:
Mengembangkan aplikasi dengan menambahkan server
untuk menangani manipulasi data dinamis yaitu kategori
dan item pada suatu jaringan, agar terjaga validnya data
yang digunakan dalam pembelajaran.
Mengembangkan aplikasi dengan menambahkan animasi
serta desain grafis yang lebih menarik untuk mendukung
interaksi pembelajaran antara pengguna dengan aplikasi.
Mengembangkan aplikasi dengan menambahkan fungsi
pemilihan bahasa, agar dapat melafalkan dan
mencocokkan pelafalan dalam berbagai bahasa, serta
pengaturan tingkat kemudahan dalam pengenalan
pelafalan pengguna
Daftar Pustaka
Android Developers. 2010. Android SDK Docs. http://www.android.com/ diakses tanggal 5 November 2010
Avestro, Joyce. 2007. JENI-Web Programming-Bab 7 - Pengenalan MVC. http://poss.ipb.ac.id/files/JENI-Web
%20Programming-Bab%207-Pengenalan%20MVC.pdf diakses tanggal 11 November 2010
Blackduck. 2010. Android Opportunity, Complexity, and Abundance.
http://ducks.blackducksoftware.com/~whitepapers/WP-AND-0910-UL-AC-W.pdf diakses tanggal 12 Oktober 2010
Boggs, Wendy and Boggs, Michael. 2002. Mastering UML with Rational Rose 2002. California: Sybex Inc.
DiMarzio, Jerome. 2008. Android A Programmers Guide. USA America:
The McGraw-Hill Companies
Hashimi, Sayed Y. and Komatineni, Satya. 2009. Pro Android. United State of America: Appress, Inc.
Hashimi, Sayed Y., Komatineni, Satya and MacLean, Dave. 2010. Pro Android 2. United State of America: Appress,
Inc.
Izzan, Ahmad dan Mahfuddin, FM. 2007. How To Master English. Jakarta: Kesaint Blanc
Melissa, Gressia. 2008. Pencocokan Pola Suara (Speech Recognition) dengan Algoritma FFT dan Divide and
Conquer. Bandung: Institut Teknologi Bandung
Mohindra, Dhruv. 2008. The Android Project: Incident Response And Forensics.
http://www1.webng.com/dhruv/material/android_report.pdf diakses tanggal 12 Oktober 2010
Rizky, Soetam. 2006. Interaksi Manusia dan Komputer. Surabaya: STIKOM
Salim, Drs. Peter, M.A. 2006. The Contemporary English Indonesian Dictionary with British and American
Pronunciation and Spelling. Jakarta: Media Eka Pustaka
Selaras Sunny, Ananti. 2009. Speech Recognition Menggunakan Algoritma Program Dinamis. Bandung: Institut
Teknologi Bandung
Sholiq. 2006. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Yogyakarta: Graha Ilmu
Sholiq. 2010. Analisis dan Perancangan Berorientasi Obyek. Bandung:
CV. Muara Indah
Sudarmawan, ST., MT. dan Ariyus, Dony. 2007. Interaksi Manusia dan Komputer. Yogyakarta: CV. ANDI OFFSET