Transcript Tugas Akhir

Tugas Akhir
Aplikasi Mobile Belajar Melafalkan
Bahasa Inggris
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.
Gambar 1 Gambaran Umum Sistem
Pada gambar 1, pengguna terlebih dahulu memilih kategori yang telah tersedia, kemudian akan muncul gambar,
kata dalam bahasa Inggris, kata cara pengucapan dan kata dalam bahasa Indonesia. Pengguna menggunakan
fungsi “Dengar” untuk mendengarkan pelafalan kata dalam bahasa Inggris dari database (mengaktifkan fitur Textto-Speech). Text-to-Speech yang aktif akan mengubah teks dari database menjadi suara yang akan didengar
pengguna. Setelah itu, pengguna menggunakan fungsi “Lafal” agar dapat melakukan pelafalan yang akan
dicocokkan dengan kata bahasa Inggris yang tersimpan pada database (mengaktifkan fitur Speech input). Speech
input yang aktif akan mengubah suara dari pengguna menjadi teks, dimana membutuhkan koneksi internet agar
dapat merespon terhadap RecognizerIntent dan melakukan streaming pada server google.
Pencocokan yang dilakukan akan menghasilkan sebuah nilai yang akan disimpan dan ditampilkan dalam bentuk
grafik. Selain itu, pengguna juga dapat menambah serta menghapus pengguna lain dan hanya seorang admin yang
diperbolehkan untuk menambah, mengubah serta menghapus kategori dan
item baru.
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-to-Speech
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);
}
Use Case Diagram
System
Melihat daftar pengguna
<<extend>>
Menambah pengguna
<<extend>>
<<extend>>
Menghapus pengguna
Mengaktifkan pengguna
<<include>>
Mencocokkan pelafalan
Pengguna
Melihat nilai
<<include>>
Menambah kategori
Melihat perbandingan profil
<<include>>
Menambah Item
Admin
Menghapus kategori
Menghapus item
Gambar 2 Use Case Diagram Aplikasi Mobile Belajar Melafalkan Bahasa Inggris
Use Case Diagram
• Kemampuan sistem untuk dapat berinteraksi dengan pengguna dan
admin dapat digambarkan dalam use case diagram pada gambar 2.
• Use case untuk menambah pengguna, menghapus pengguna, dan
mengaktifkan pengguna merupakan perluasan/extend dari use case
untuk melihat daftar pengguna karena pada use case ini belum
tentu dikerjakan pada saat use case melihat daftar pengguna
dikerjakan. Use case untuk mencocokkan pelafalan merupakan
bagian/include dari use case untuk mengaktifkan pengguna karena
pada use case ini akan dilakukan jika use case mengaktifkan
pengguna dikerjakan. Use case untuk melihat perbandingan profil
merupakan bagian/include dari use case untuk melihat nilai karena
pada use case ini akan dilakukan jika use case melihat nilai
dikerjakan. Use case untuk menambah item merupakan
bagian/include dari use case untuk menambah kategori karena pada
use case ini akan dilakukan jika use case menambah kategori
dikerjakan.
Activity Diagram Mencocokkan
Pelafalan
Pengguna
Sistem
Memilih Kategori
Menampilkan item
meminta pelafalan sistem
Text-to-Speech
[Item]
[suara : pelafalan item]
Mengkonfirmasi Pelafalan
Memasukkan Suara
[suara : pelafalan pengguna]
Speech Input
Mencocokkan kata
Mencari pada server google
cocok
tidak cocok
[pesan: salah]
menampilkan pesan
Kalkulasi nilai salah
menampilkan pesan
Menampilkan Item selanjutnya
[pesan: benar]
[Nilai : baru]
Gambar 3 Activity Diagram Mencocokkan Pelafan
Activity Diagram Mencocokkan
Pelafalan
• Proses pada gambar 3 dimulai dari pengguna memilih kategori setelah itu
akan ditampilkan item : gambar, kata dalam bahasa Inggris, kata ucap dan
kata dalam bahasa Indonesia serta fungsi “Dengar” agar dapat mendengar
suara pelafalan dari kata bahasa Inggris yang diproses dari Text-to-Speech.
Pengguna melanjutkan dengan memasukkan suara (melafalkan sesuai
contoh pelafalan) yang akan diproses oleh Speech input untuk diubah ke
teks, setelah itu dicocokkan. Kemudian pengguna menunggu hasil yang
akan ditampilkan berupa kata “Benar” atau “Salah”. Apabila kata “Salah”
yang tampil maka akan dikalkulasi nilai salah dan dikembalikan ke item
tersebut untuk melakukan pengulangan lafal hingga benar. Apabila kata
“Benar” yang tampil maka akan dikalkulasi nilai yang ada, setelah itu akan
ditampilkan item selanjutnya berupa gambar, kata dalam bahasa Inggris,
kata ucapan dan kata dalam bahasa Indonesia. Apabila telah
menyelesaikan pembelajaran melafalkan bahasa Inggris maka hasil
akhirnya berupa nilai keseluruhan yang ditambahkan tanggal dapat
digunakan dalam grafik nilai.
Sequence Diagram Mencocokkan
Pelafalan
: Pengguna
Form Ujian Item
loadItem
DatabaseHelper
itemStandar
itemDatabase
Nilai
GlobalVariabel TextoSpeech SpeechInput
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)
14 : pilih Dengar()
13 : displayItem()
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()
item terakhir
Gambar 4 Sequence Diagram Mencocokkan Pelafan
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.
Class Diagram Mencocokkan
Pelafalan
GlobalVariabel
ItemStandar
SpeechInput
DatabaseHelper
FUjianItem
TextToSpeech
ItemDatabase
Nilai
Gambar 5 Class Diagram Mencocokkan Pelafalan
Class Diagram Mencocokkan
Pelafalan
• Pada gambar 5, menunjukkan class diagram
mencocokkan pelafalan, dimana class
FUjianItem berelasi dengan class
GlobalVariabel, class ItemStandar, class
ItemDatabase, class Nilai, class TextToSpeech,
class SpeechInput, dan class DatabaseHelper
agar dapat melakukan fungsi mencocokkan
pelafalan dan menyimpan nilai kesalahan
kedalam database.
Class Diagram Menambah Data
FPengaturanPengguna
FPengaturanKategori
FTambahPengguna
FTambahKategori
Pengguna
DatabaseHelper
Kategori
0..1
0..*
FPengaturanItem
FTambahItem
Item
Gambar 6 Class Diagram Menambah Data
Class Diagram Menambah Data
•
•
Pada gambar 6, menunjukkan class diagram menambah data, dimana class
FPengaturanPengguna berelasi dengan class FTambahPengguna yang berarti class
FTambahPengguna adalah bagian dari class FPengaturanPengguna, agar pada
aplikasi, class FTambahPengguna dapat dijadikan tab tambah pengguna pada form
pengaturan pengguna. Relasi antara class FTambahPengguna dengan class
Pengguna dimaksudkan agar isian yang dibutuhkan untuk membuat pengguna
baru dapat ditampung terlebih dulu. Relasi antara class FTambahPengguna
dengan class DatabaseHelper dan class Pengguna dimaksudkan agar hasil
tampungan pada class Pengguna, dapat digunakan class DatabaseHelper untuk
menyimpan kedalam database.
Relasi antara class FPengarutanKategori, class FTambahKategori, class Kategori dan
class DatabaseHelper sama halnya dengan menangani fungsi tambah pengguna,
begitu juga untuk menangani fungsi tambah item yang ditangani oleh relasi antara
class FPengaturanItem, class FTambahItem, class Item dan class DatabaseHelper.
Relasi antara class Kategori dengan class Item dilakukan untuk menunjukkan
hubungan antara item dan kategori, dimana kategori boleh tidak memiliki item dan
sebuah item maksimal memiliki satu kategori.
Component Diagram Aplikasi
Kategori
Item
SpeechInput
Admin
UjianItem
Nilai
Pengguna
TTS
DatabaseHelper
Gambar 7 Component Diagram Aplikasi
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.
Deployment Diagram Aplikasi
Android 2.2
Kategori
Item
Server Google
Admin
Nilai
UjianItem
Pengguna
TTS
DatabaseHelper
Gambaran 8 Deployement Diagram Aplikasi
SpeechInput
Deployment Diagram Aplikasi
• Pada gambar 8, menunjukkan deployement
diagram aplikasi belajar melafalkan bahasa
Inggris yang berguna untuk menampilkan
rancangan fisik jaringan, dimana untuk
mengetahui dimana tempat komponen
diletakkan.
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
Gambar 9 Tampilan Item
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/JENIWeb%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 Programmer’s 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