PENGEMBANGAN PEMBELAJARAN PENGENALAN KATA DALAM BAHASA INDONESIA MENGGUNAKAN
MULTIMEDIA INTERAKTIF DAN SPEECH RECOGNITION
Youllia Indrawaty[1], Andriana Zulkarnain[2], Reza Rianto[1]
[1]Jurusan Teknik Informatika, Fakultas Teknologi Industri Institut Teknologi Nasional Bandung
[2]Jurusan Teknik Elektro, Fakultas Teknik Universitas Langlangbuana Bandung
youllia@itenas.ac.id, andriana6970@gmail.com, reza.rianto4@gmail.com, ABSTRAK
Ali, M (2005) menyatakan bahwa media pembelajaran berbasis komputer mempunyai pengaruh yang signifikan terhadap daya tarik siswa untuk mempelajari kompetensi yang diajarkan. Dalam pembelajaran anak usia dini, dibutuhkan media pembelajaran seperti permainan edukatif. Permainan tebak gambar dapat membantu meningkatkan penguasaan kosakata anak-anak usia dini. Berdasarkan permasalahan tersebut, dibangun suatu aplikasi pembelajaran pengenalan kata dalam bahasa Indonesia berupa permainan tebak gambar dengan menggunakan multimedia interaktif dan menerapkan speech recognition. Pada permainan tebak gambar, sistem akan memberi skor persentase keakuratan pengucapan kata untuk setiap jawaban. Persentase didapat dengan menggunakan algoritma Jaro Winkler distance yang mengukur kesamaan antara dua string, dan algoritma Levenshtein distance yang menghitung jumlah perbedaan string antara dua string. Setelah dilakukan uji beta, 49%
responden anak-anak preschool memilih setuju aplikasi pembelajaran pengenalan kata menarik, 32.5% memilih biasa saja dan 18.5% memilih sangat setuju.
Kata Kunci: multimedia interaktif, speech recognition, algoritma jaro winkler distance, algoritma levenshtein distance
ABSTRACT
Ali, M (2005) reveals that computer based instructional media has significant influence in attracting students to learn new competencies. In education for early aged students, instructional media such as educational games are needed. For example a game of picture - guessing can help students to enrich vocabulary at early age. Basing on the above explanations, an educational speech recognition in Indonesia Language was developed in form of picture-guessing application using interactive media an by applying speech accuracy of recognition method. In the picture-guessing game, the system will score the percentage of the accuracy of pronounciation for every given problem. This percentage is calculated using Jaro-Winkler Distance algorithm which measures the resembleness of two strings and Levenshtein Distance algorithm which calculate the difference between two strings. The result gained from Beta testing, 49% of children respondents agreed that the speech recognition application was interesting, 32.5% think that the application was not special, and 18.5%
agreed it was very interesting.
Keywords: interactive multimedia, speech recognition, levenshtein distance algorithm, jaro winkler distance algorithm
2 PENDAHULUAN
Latar Belakang
Ali, M (2005) menyatakan bahwa penggunaan media pembelajaran berbasis komputer mempunyai pengaruh yang signifikan terhadap daya tarik siswa untuk mempelajari kompetensi yang diajarkan.
Fungsi media dalam proses belajar mengajar yaitu untuk meningkatkan minat peserta didik dalam kegiatan belajar.
Dalam pembelajaran anak usia dini, dibutuhkan media pembelajaran seperti permainan edukatif. Permainan tebak gambar dapat membantu meningkatkan penguasaan kosakata pada anak-anak usia dini.
Berdasarkan permasalahan tersebut, dibangun suatu aplikasi pembelajaran pengenalan kata dalam bahasa indonesia berupa permainan tebak gambar dengan menggunakan multimedia interaktif dan menerapkan speech recognition. Aplikasi dapat dimanfaatkan di berbagai tempat untuk perkembangan pembelajaran.
Penerapan speech recognition pada aplikasi ini bertujuan agar sistem dapat mengenali ucapan anak. Sehingga selain meningkatkan kosakata anak, juga meningkatkan kemampuan lisan anak.
Pada aplikasi yang dibangun, terdapat konten berupa gambar-gambar bertema buah-buahan dan binatang. Gambar- gambar tersebut ditampilkan pada saat user melakukan latihan tebak gambar maupun memainkan permainan tebak gambar. Sistem akan memberi skor persentase keakuratan pengucapan kata untuk setiap jawaban user. Persentase didapat dengan menggunakan algoritma Levenshtein Distance untuk menghitung jumlah perbedaan string antara dua string dan algoritma Jaro Winkler Distance
untuk mengukur kesamaan antara dua string.
Rumusan Masalah
Berdasarkan latar belakang, maka rumusan masalah dalam penelitian ini, yaitu:
1. Bagaimana membangun aplikasi pembelajaran pengenalan kata dalam bahasa Indonesia menggunakan multimedia interaktif dan speech recognition yang dapat dipahami dan menarik untuk anak-anak preschool Pendidikan Anak Usia Dini (PAUD).
2. Bagaimana cara sistem mengenali suara sehingga dapat dijadikan sebagai suatu proses pembelajaran.
3. Bagaimana mengimplementasikan algoritma Jaro-Winkler distance dan algoritma Levenshtein distance untuk mengukur akurasi pengucapan kata.
Tujuan
Tujuan dari penelitian ini adalah membangun aplikasi pengembangan pembelajaran pengenalan kata dalam bahasa Indonesia menggunakan multimedia interaktif dan speech recognititon.
Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut:
1. Aplikasi berbasis web dan dioperasikan pada browser Google Chrome yang terhubung dengan jaringan internet.
2. Website masih dalam lingkup localhost.
3 3. Input ucapan yang dikenali sistem
adalah ucapan dalam bahasa Indonesia.
4. Sistem pengenalan ucapan menggunakan jenis isolated word.
5. Persentase keakuratan kata diukur menggunakan algoritma Jaro- Winkler distance dan algoritma Levenshtein distance.
6. Database suara memanfaatkan fitur dari Google Speech API.
7. Model skenario multimedia interaktif yang digunakan adalah model Petri Net.
8. Aplikasi yang dibangun ditujukan untuk pembelajaran anak-anak Pendidikan Anak Usia Dini (PAUD) usia 4-6 tahun.
DASAR TEORI
Model Skenario Petri Net[3]
Petri net adalah salah satu model untuk merepresentasikan sistem terdistribusi diskret. Sebagai sebuah model, Petri net merupakan grafik 2 arah yang terdiri dari place, transition, dan tanda panah yang menghubungkan keduanya. Di samping itu, untuk merepresentasikan keadaan sistem, token diletakkan pada place tertentu. Ketika sebuah transition terpantik, token akan bertransisi sesuai tanda panah.
Gambar 1 Model Gambar Petri Net (sumber: www.theriac.org)
Google Speech API[4]
API (Application Programming Interface), secara sederhana bisa diartikan sebagai kode program yang merupakan antarmuka atau penghubung antara aplikasi atau web yang dibuat dengan fungsi-fungsi yang dikerjakan.
Google Speech API adalah fungsi- fungsi pemrograman yang disediakan oleh Google Speech agar Google Speech bisa di integrasikan kedalam Web atau aplikasi yang dibangun. Google Speech API adalah library javascript yang menyediakan layanan speech recognition dan konversi speech-to-text.
Google merilis chrome versi 25 yang menambahkan kemampuan pengenalan suara melalui Web Speech API sehingga aplikasi web yang dikembangkan oleh developer dapat terintegrasi dengan fitur voice command ke dalam aplikasi ataupun ekstensi Chrome.
Fitur Web Speech API diciptakan oleh Google dan bekerja pada produk- produk Google seperti Google Chrome versi 25+, Android, Gmail. Cara untuk menggunakan teknologi Web Speech API adalah menggunakan fungsi html5 webkit- speech.
Browser akan merekam suara dari mikrofon dan mengirimkan data audio ke server Google yang bertanggung jawab untuk pengolahan speech recognition yaitu Gwebservice menggunakan HTTPS POST. Setelah proses speech recognition pada server, server akan mengirimkan hasil teks berupa objek JSON kedalam browser.
Algoritma Jaro-Winkler Distance[1]
Algoritma Jaro-Winkler distance merupakan varian dari Jaro distance metric yaitu sebuah algoritma untuk mengukur kesamaan antara dua string, biasanya
4 algoritma ini digunakan di dalam
pendeteksian duplikat. Semakin tinggi Jaro-Winkler distance untuk dua string maka semakin mirip dengan string tersebut. Nilai normalnya ialah 0 menandakan tidak ada kesamaan dan 1 yang menandakan adanya kesamaan (Kurniawati, Sulistyo dan Sazali 2010, h.2).
Algoritma Jaro-Winkler distance memiliki kompleksitas waktu quadratic runtime complexity yang sangat efektif pada string pendek. Dasar dari algoritma ini memiliki tiga bagian:
1. Menghitung panjang string
2. Menemukan jumlah karakter yang sama di dalam dua string
3. Menemukan jumlah transposisi Pada algoritma jaro digunakan rumus untuk menghitung jarak (dj) antara dua string yaitu s1 dan s2 adalah:
...(1) dimana:
m = jumlah karakter yang sama persis
|s1| = panjang string 1
|s2| = panjang string 2 t = jumlah transposisi
Jarak teoritis dua buah karakter yang disamakan dapat dibenarkan jika tidak melebihi :
...(2)
Jaro-Winkler distance menggunakan prefix scale (p) yang memberikan tingkat penilaian yang lebih dan prefix length (l) yang menyatakan panjang awalan yaitu panjang karakter yang sama dengan string yang dibandingkan sampai ditemukannya ketidaksamaan. Bila string s1 dan s2 yang
diperbandingkan, maka Jaro Winkler distance-nya (dw) adalah :
...(3) dimana:
dj = Jaro distance untuk string s1 dan s2
l = panjang prefiks umum di awal string p = konstanta scaling factor. Nilai standar untuk konstanta p = 0.1
Algoritma Levenshtein Distance[2]
Levenshtein distance merupakan metrik yang digunakan untuk perhitungan beda jarak antara dua string. Metode ini sering juga disebut dengan Edit Distance (Husain,2013). Yang dimaksud dengan distance adalah jumlah modifikasi yang dibutuhkan untuk mengubah suatu bentuk string ke bentuk string yang lain.
Algoritma ini menghitung jumlah operasi string paling sedikit yang diperlukan untuk mentransformasikan suatu string menjadi string yang lain (Adiwidya, 2009). Algoritma Levenshtein distance bekerja dengan menghitung jumlah minimum pentranformasian suatu string menjadi string lain. Ada 3 macam operasi utama yang dapat dilakukan oleh algoritma ini, yaitu:
1. Operasi pengubahan karakter 2. Operasi penambahan karakter 3. Operasi penghapusan karakter Setelah mendapatkan biaya edit distance maka untuk menghitung nilai Levenshtein distance atau perhitungan similarity menggunakan persamaan berikut:
...(4) dimana:
d= edit distance
maxLength(str1,str2)= jumlah karakter terbanyak antara string 1 dan string 2
5 ANALISIS DAN PERANCANGAN
Perancangan Aplikasi
Pada tahap perancangan aplikasi, digunakan use case untuk menentukan interaksi pemakaian sistem antara pengguna dengan sistem. Berikut adalah use case diagram pada aplikasi pembelajaran pengenalan kata dalam bahasa Indonesia menggunakan multimedia interaktif dan speech recognition yang terdiri dari satu buah aktor, yaitu user. Use case diagram tersebut dapat dilihat pada Gambar 2
user
Melakukan Latihan Pengucapan Kata pada
Menu Latihan
Memulai Tebak Gambar pada Menu Permainan
sistem
Gambar 2 Use Case Diagram Gambar 2 memberikan gambaran fungsi- fungsi yang ada didalam aplikasi yaitu user dapat melakukan latihan pengucapan kata pada menu latihan dan memulai permainan tebak gambar pada menu permainan.
Sitemap
Dalam aplikasi pengenalan kata dalam bahasa Indonesia menggunakan multimedia interaktif dan speech recognition terdapat empat menu utama yang dapat diakses oleh user, yaitu menu beranda, menu bantuan, menu latihan serta menu permainan. Adapun beberapa menu itu terlihat pada Gambar 3:
Aplikasi Pembelajaran Pengenalan Kata dalam Bahasa Indonesia Menggunakan Multimedia Interaktif
dan Speech Recognition
Permainan Latihan Bantuan Beranda
Gambar 3 Sitemap Sistem Perancangan Model Skenario Petri Net Dalam pembangunan aplikasi pengembangan pembelajaran pengenalan kata dalam bahasa Indonesia menggunakan multimedia interaktif dan speech recognition ini, model skenario multimedia interaktif yang digunakan adalah model petri net. Perancangan model skenario petri net nya antara lain :
Petri Net Menu Utama
M
A
3 2 1 Au
A = Animasi
M = Musik 1 = Menu Bantuan
2 = Menu Latihan 3 = Menu Main Keterangan :
Au = Audio
Gambar 4 Petri Net Menu Utama
6 Penjelasan Gambar 4:
Pada model skenario multimedia interaktif petri net menu utama, M (Musik) yang berekstensi .mp3, A (Animasi), serta Au (Audio) yang berekstensi .wav dengan durasi 3 detik, muncul secara bersamaan.
Setelah A (Animasi) dan Au (Audio) berhenti, muncul pilihan-pilihan tombol 1 (Menu Bantuan), 2 (Menu Latihan), dan 3 (Menu Permainan) dengan M (Musik) play secara terus menerus.
Flowchart
Flowchart atau diagram alir adalah penggambaran secara grafik dari langkah- langkah dan urutan prosedur dari suatu program. Berikut adalah flowchart proses mencari nilai similarity
Start
Input kata
Mencocokkan kata menggunakan algoritma Jaro Winkler dan algoritma Levenshtein distance
Similarity
Tampilkan persentase kata similarity
Selesai
Gambar 5 Flowchart Sistem Pengecekan dilakukan per kata, ketika user selesai input kata, sistem akan mencocokkan kata ke dalam database dengan menggunakan algoritma Jaro
Winkler distance dan algoritma Levenshtein distance untuk mengetahui distance atau jarak terpendek antar kata dan mengukur kesamaan antara dua string, kemudian diselesaikan dengan similarity untuk menentukan persentase terbesarnya.
Setelah itu sistem akan menampilkan persentase kata.
Berikut adalah flowchart algoritma jaro winkler distance:
Start
$string1,
$string2
$str1_len = strlen(
$string1 );
$str2_len = strlen(
$string2 );
$distance = (int) floor(min(
$str1_len,
$str2_len ) / 2.0);
$commons1 = getCommonChara
cters( $string1,
$string2,
$distance );
$commons2 = getCommonChara
cters( $string2,
$string1,
$distance );
if( ($commons1_len = strlen(
$commons1 )) == 0)
return 0;
if( ($commons2_len = strlen(
$commons2 )) == 0)
return 0;
$transpositions = 0;
$upperBound = min(
$commons1_len,
$commons2_len );
$i = 0;
$i <
$upperBound;
$commons1[$i] !=
$commons2[$i]
$transpositions++;
$i++
$transpositions /=
2.0;
return the Jaro distance
End No
Yes
Yes
No
Yes
Yes No
No
Gambar 6 Flowchart Algoritma Jaro-Winkler Distance
7 Berikut adalah flowchart algoritma
levenshtein distance:
Start
$s, $t;
$s == $t
return 0
strlen($s) ==
0
return strlen($t);
strlen($t) ==
0
return strlen($s);
$v0, $v1
= array();
$i = 0;
$i <=
strlen($t);
return
$v1[strlen($t)];
End $v0[$i] = $i;
$j = 0;
$j <
strlen($t);
$cost = ($s[$i] ==
$t[$j])
$min=($v1[$j] + 1);
$v0[$j + 1] + 1)<$min)$min=($v
0[$j + 1] + 1);
$min=($
v1[$j] + 1);
$v0[$j] +
$cost)<$min)
$min=($v0[$
j] + $cost);
$v1[($j + 1)]
= $min;
$j++
$j = 0;
$j <
strlen($t);
$v0[$j] =
$v1[$j];
$j++
$i++
Yes
No Yes
Yes Yes
Yes
Yes
Yes Yes
No
No
No
No No
No
No
Gambar 7 Flowchart Algoritma Levenshtein Distance
IMPLEMENTASI DAN PENGUJIAN SISTEM
Hasil Implementasi
Pada tahap implementasi dijelaskan mengenai gambaran atau tampilan dari aplikasi pengembangan pembelajaran pengenalan kata dalam bahasa indonesia menggunakan multimedia interaktif dan
speech recognition. Gambar 8 merupakan hasil pengujian.
Gambar 8 Hasil Pengujian Penjelasan Gambar 8:
Words
S1 a l p u k a t
S2 a l p u k a t
m=7 (jumlah karakter yang sama antara string 1 dan string 2 adalah ‘a-l-p-u-k-a-t’) s1=7 (jumlah karakter kata yang tersimpan dalam database)
s2=7 (jumlah karakter kata input user) t=0 (transposisi)
Perhitungan jarak (dj):
dj=1/3*(m/s1 + m/s2 + (m-t)/m) dj=1/3*(7/7 + 7/7 + 7-0/7) dj=1/3*(1 + 1 + 1)
dj=3/3 dj=1
Pencarian jaro winkler distance nya (dw):
l=4 (jumlah karakter yang sama pada 4 karakter pertama yaitu ‘alpu’)
p=0.1 (prefix nilai konstanta=0.1) dw=dj+(lp(1-dj))
dw=1+(4*0.1(1-1)) dw=1+(0.4*0)
8 dw=1+(0)
dw=1
Perhitungan levenshtein:
d=0 (jarak levenshtein) length= max(s1,s2) = 7 leven=d/MaxLength leven=0/7
jaro winkler & leven= jaro - leven jaro winkler & leven= 1 - (0/7) jaro winkler & leven= 1 - 0 jero winkler & leven= 1 Perhitungan similarity : jaro winkler & leven=1*100 jaro winkler & leven=100%
Gambar 9 Hasil Pengujian Penjelasan Gambar 9:
Words
S1 a n j i n g
S2 a n t i n g
m=5 (jumlah karakter yang sama antara string 1 dan string 2 adalah ‘a-n-i-n-g’) s1=6 (jumlah karakter kata yang tersimpan dalam database)
s2=6 (jumlah karakter kata input user)
t=0 (transposisi) Perhitungan Jarak (dj):
dj=1/3*(m/s1 + m/s2 + (m-t)/m) dj=1/3*(5/6 + 5/6 + 5-0/5) dj=1/3*(0.83 + 0.83 + 1) dj=0.88
Pencarian Jaro-Winkler distance nya (dw):
l=2 (jumlah karakter yang sama pada 4 karakter pertama yaitu ‘an’)
p=0.1 (prefix nilai konstanta=0.1) dw=dj+(lp(1-dj))
dw=0.88+(2*0.1(1-0.88)) dw=0.88+(0.2*0.12) dw=0.88+(0.024) dw=0.904
Perhitungan Levenshtein:
d=1 (jarak levenshtein) length= max(s1,s2) = 6 leven=d/MaxLength leven=1/6
leven=0.16
jaro winkler & leven= jaro - leven jaro winkler & leven= 0.904 – 0.16 jaro winkler & leven= 0.904 – 0.16 jero winkler & leven= 0.744 Perhitungan similarity :
jaro winkler & leven=0.744*100 jaro winkler & leven=74.44%
Pengujian Sistem Beta
Pada pengujian Beta, dilakukan uji terhadap koresponden tujuan utama fungsi aplikasi pengembangan pembelajaran pengenalan kata dalam bahasa Indonesia menggunakan multimedia interaktif dan speech recognition. Setelah semua kuesioner diperiksa maka diperoleh Tabel 1 yang menampilkan hasil perhitungan kuesioner dari tiap pertanyaan.
9 Tabel 1 Hasil Perhitungan
Kuesioner
Nilai Kriteria
Pemahaman Pemanfaatan
Nilai 1 0 0 0 0 0 0 0 0
Nilai 2 0 0 0 0 0 0 0 0
Nilai 3 1 5 5 4 8 12 11 7
Nilai 4 9 8 7 11 6 3 4 7
Nilai 5 5 2 3 0 1 0 0 1
Nilai
Kriteria
Keinteraktifan Relevansi
Nilai 1 0 0 0 0 0 0 0 0
Nilai 2 0 0 0 0 0 0 0 0
Nilai 3 0 5 0 0 2 7 4 7
Nilai 4 6 8 6 7 12 6 10 8
Nilai 5 9 2 9 8 1 2 1 0
Jumlah
Nilai 1 0
Nilai 2 0
Nilai 3 78
Nilai 4 118
Nilai 5 44
Persentase
Nilai 1 0%
Nilai 2 0%
Nilai 3 32.5%
Nilai 4 49%
Nilai 5 18.5%
PENUTUP Kesimpulan
Berdasarkan penelitian yang sudah dilakukan, maka dapat diambil kesimpulan sebagai berikut :
1. Berdasarkan Tabel 1 Hasil Perhitungan Kuesioner, 49%
responden anak-anak preschool Pendidikan Anak Usia Dini (PAUD) memilih setuju aplikasi pengembangan pembelajaran pengenalan kata dalam bahasa Indonesia menggunakan multimedia interaktif dan speech recognition menarik, 32.5% memilih biasa saja dan 18.5% memilih sangat setuju.
2. Berdasarkan penjelasan Gambar 8 dan Gambar 9, aplikasi dapat mengenali suara sehingga dapat dijadikan sebagai suatu proses pembelajaran.
3. Berdasarkan Gambar 8 dan Gambar 9,
Algoritma Jaro-Winkler distance dan algoritma Levenshtein distance telah
berhasil digunakan untuk mengukur akurasi pengucapan kata.
Daftar Pustaka
[1] Konstantinidis, S. 2005. “Computing the Levenshtein distance of a regular language”. Information Theory Workshop.
[2] Shapeshed, 2014. “The HTML5 Speech Recognition API.”
(http://shapeshed.com/html5-speech- recognition-api, diakses tanggal 8 Agustus 2014.)
[3] Wikipedia., 2013, “Petri net”
(id.wikipedia.org/wiki/Petri_net, diakses tanggal 11 Mei 2014)
[4] Wikipedia., 2014, “Jaro-Winkler Distance.”
(http://en.wikipedia.org/wiki/Jaro- Winkler_distance, diakses tanggal 11 Mei 2014)