Hasil dan Pembahasan T1 672015710 Full text

8 basis data, dan menampilkan animasi cara penulisan serta suara cara membaca aksara dengan pustaka Ion. Pengujian yang dilakukan terhadap prototype awal ini menemukan bahwa pada performanya, proses OCR masih cenderung lambat sehingga dibutuhkan cara lain untuk mempercepat proses. Evaluasi juga diberikan oleh beberapa pengguna, yakni agar menambahkan fitur penerjemahan dan latihan menulis aksara Jepang pada aplikasi ini. Pada siklus berikutnya, dilakukan perubahan pada kode program untuk memperbaiki kelemahan dan menambah fitur pada aplikasi. Efisiensi OCR dioptimalkan dengan melakukan penyusutan pada matriks hasil pindaian dari kamera untuk selanjutnya dikonversi ke dalam bentuk bitmap yang diperlukan oleh OCR. Dengan demikian, proses OCR dapat dilakukan dengan lebih cepat. Selain optimasi kode, pada siklus kedua dilakukan penambahan fungsi penerjemahan dan latihan untuk membantu pengguna agar lebih cepat menghafalkan huruf-huruf aksara Jepang. Tahap kelima adalah penulisan laporan hasil penelitian. Pada tahap ini, proses penelitian didokumentasikan proses penelitian yang sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan, yang nantinya akan menjadi jurnal penelitian.

4. Hasil dan Pembahasan

Aplikasi yang dihasilkan ditujukan untuk para pengguna device Android yang tertarik untuk mempelajari aksara Jepan. Aplikasi ini dikembangkan dengan kebutuhan minimal Android SDKadalah API8, yaitu Android SDK 4.0. Pembatasan versi ini disesuaikan dengan kebutuhan minimum dari pustakaOpenCV yang digunakan untuk membuat aplikasi ini. Selain pustaka OpenCV untuk membantu menjalankan modul AR, aplikasi ini juga dibuat dengan bantuan beberapa pustaka lainnya, seperti pustaka Ion untuk menampilkan gambar berformat gif dan pustaka Tesseract untuk melakukan pengenalan karakter fisik. Fungsi utama dari aplikasi dihasilkan ini adalah mengetahui cara menulis dan membaca karakter aksara Jepang yang terdapat pada media cetak. Pada awalnya aplikasi melakukan pemindaian karakter aksara Jepang pada media fisik dengan menggukan pustaka OpenCV. Proses pemindaian dengan menggunakan OpenCV akan menghasilkan citra digital dalam format matriks pada setiap frame yang dipindai secara terus-menerus.Dalam pustaka OpenCV, matriks direpresentasikan sebagai suatu array multi-dimensi numerik, yang menampung informasi hasil pemindaian kamera. Matriks hasil pemindaian tersebut dikonversi ke dalam format bitmap oleh fungsi matToBitmapyang dimiliki OpenCV. Kode Program 1 Proses Pemindaian Karakter Fisik 1 public Mat onCameraFrameCvCameraViewFrame inputFrame { 2 Rect rect = new Rectbmp_start_x, bmp_start_y, R_WI, R_HI; 3 Mat cropped_mat = new Matmat, rect; 4 Utils.matToBitmapcropped_mat, bmp; 5 doOCR = new DoOCR; 6 doOCR.execute; 7 doOCR.delegate = this; 8 return mat; 9 } 9 Gambar bitmap yang dihasilkan pemindaian karaktermenjadi masukan dari proses yaitu proses pengenalan karakter OCR. Proses ini dilakukan dengan memanfaatkan pustaka Tesseractselama proses pemindaian berlangsung. Proses ini dilakukan secara real-timetepat setelah proses pemindaian menghasilkan keluaran. Hasil dari proses adalah karakter bahasa Jepang dijital berformat UTF-8. Kode proses pengenalan karakter dapat dilihat para Kode Program 2. Kode Program 2 Proses Pengenalan Karakter Fisik OCR 1 protected String doInBackgroundVoid... params { 2 tessBaseAPI.setImagebmp; 3 resultText = tessBaseAPI.getUTF8Text; 4 handler.postDelayednew Runnable { 5 Override 6 public void run { 7 tessBaseAPI.stop; 8 } 9 }, 2000; 10 isOCRing = false; 11 return resultText; 12 } Setelah proses pengenalan karakter selesai, aplikasi memilikiteks berupa karakter aksara Jepang yang dikenali oleh komputer bertipe data String. Teks tersebut kemudian dipecah menjadi karakter-karakter tunggal lalu dimasukkan ke dalam sebuah array pada elemen masing-masing. Aplikasi kemudian membuat beberapa textviewsebanyak jumlah karakter yang ada, lalu memasukkan karakter- karakter tersebut ke dalam masing-masing textview. Lalu setiap textview yang ada diberikan onclicklistener untuk menangani masukan klik yang akan dilakukan oleh pengguna. Proses ini dapat dilihat pada Kode Program 3. Kode Program 3Proses Pemasangan Textview 1 resultArr = resultText.split; 2 tvResult = new TextViewgetApplicationContext; 3 tvResult.setTextresultArr[i] = null ? resultArr[i] : -; 4 LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT; 5 tvResult.setLayoutParamsllp; 6 tvResults.addtvResult; 7 tvResult.setOnClickListenernew View.OnClickListener { 8 Override 9 public void onClickView v { 10 TextView tvSelected = TextViewv; 11 ifTextViewv.getText.toString = 12 charaSelectedtvSelected; 13 } 14 }; Proses pemasangan textview dilanjutkan dengan proses pengambilan informasi dari basis data dan proses pembangkitan nama berkas gif untuk ditampilkan kepada pengguna. Kedua proses ini membutuhkan masukan berupa array hasil pemindaian pada proses sebelumnya yang ditunjukkan pada Kode Program 3 baris pertama. Aplikasi menggunakan nama berkas yang dibangkitkan tersebut untuk mencari berkas yang sesuai dalam direktori resources. Ketika aplikasi mendapatkan berkas yang sesuai, berkas tersebut akan ditampilkan 10 kepada pengguna dengan memanfaatkan pustaka Ion. Kedua proses ini masng- masing dapat dilihat pada Kode Program 4 dan Kode Program 5. Kode Program 4Pembangkitan Nama Berkas 1 private String getCharaFileNameint char_id, int type{ 2 String file_name = ; 3 iftype == 1{ 4 file_name += katakana; 5 char_id -= 0; 6 }else iftype == 2{ 7 file_name += hiragana; 8 char_id -= 51; 9 }else iftype == 3{ 10 file_name += kanji; 11 char_id -= 102; 12 } 13 file_name += _ + char_id; 14 return file_name; 15 } Kode Program 5Pemasangan Berkas Gambar Bergerak 1 long image_res_id = this.getResources.getIdentifier getCharaFileName japrom.getId, japrom.getType, drawable, this.getPackageName; 2 ifimage_res_id == 0{ 3 ivShowJapChar.setImageResourceR.drawable.no_file; 4 }else{ 5 Ion.withivShowJapChar.load android.resource:mel.jap.app + image_res_id; 6 } Untuk membantu pengguna mengetahui cara membaca karakter, aplikasi dapat mengeluarkan suara yang sesuai dengan karakter yang terbaca. Proses ini dilakukan dengan menggunakan fungsi TextToSpeech yang dimiliki oleh Android SDK.Selain itu, aplikasi juga menampilkan animasi cara penulisan karakter berupa gambar gif yang menggunakan pustaka Ion. Tampilan fungsi pemindaian karakter, fungsi penerjemahan, dan fungsi latihan dapat dilihat berturut-turut pada Gambar 6, 7, dan 8. Gambar 6 Tampilan Proses Pemindaian Karakter Fisik 11 Pengujian aplikasi yang dilakukan meliputi pengujian alfa maupun pengujian beta. Pengujian alfa dilakukan untuk melakukan validasi fungsi-fungsi yang dimiliki aplikasi apakah sesuai dengan yang dirancang atau tidak. Pengujian alfa pada penelitian ini menggunakan teknik black box, yaitu pengujian fungsional yang berfokus pada mampu tidaknya aplikasi bekerja berdasarkan persyaratan tiap fungsinya [14]. Materi pengujian dapat dilihat pada Tabel 1. Tabel 1 Tabel Pengujian Alfa Fungsi Hasil Keputusan Pemindaian Karakter Aplikasi memindai obyek fisik ke dalam sistem. Valid Pengenalan Karakter OCR Obyek fisik dikenali dalam format dijital UTF-8. Valid Animasi Penulisan Karakter Sistem membangkitkan nama berkas dan menampilkan berkas gambar bergerak gif kepada pengguna. Valid Suara Pengucapan Karakter Sistem mengeluarkan suara pengucapan karakter sesuai dengan yang dipindai oleh pengguna. Valid Berdasarkan keputusan-keputusan yang terdapat pada Tabel 1, dapat disimpulkan bahwa aplikasi ini sudah memenuhi fungsi yang diharapkan dan dapat berjalan dengan efektif. Untuk memberi hasil yang optimal, jarak perangkat dengan media cetak serta ukuran tulisan yang dipindai harus diperhatikan agar pemindaian menghasilkan citra yang tajam dan terfokus. Selain itu, akurasi pemindaian menjadi sangat kecil ketika dilakukan pada tulisan tangan. Kesalahan yang terjadi pada aplikasi yang ditemukan dalam pengujian alfa ini adalah kesalahan Gambar 7 Tampilan Proses Penerjemahan Gambar 8 Tampilan Proses Pelatihan 12 pengenalan karakter. Kesalahan ini disebababkan oleh beberapa faktor, seperti jumlah cahaya pada lingkungan obyek yang dipindai, kefokusan kamera yang digunakan, serta ukuran karakter yang dipindai oleh aplikasi. Selain itu, dari total 110 karakter yang dicakup oleh aplikasi, terdapat 6 karakter yang secara konsisten salah dibaca oleh aplikasi. Kesalahan ini diantisipasi dengan membuat suatu fungsi korespondensi karakter pada aplikasi. Tabel 2 Kesalahan Pembacaan Karakter Karakter Asli Keterangan Karakter Hasil Keterangan エ e katakana 工 koo kanji カ ka katakana 力 ryoku kanji ト to katakana 卜 boku kanji ノ no katakana 丿 tidak terdefinisi ロ ro katakana 口 kuchi kanji く ku katakana tidak terdefinisi Pengujian beta pada aplikasi dilakukan kepada sampel pengguna sebanyak 30 orang yang sedang belajar bahasa Jepang di berbagai tempat serta berasal dari berbagai kalangan dan usia. Responden diminta untuk mengisi kuesioner sebagai penilaian tingkat kepuasan mereka terhadap aplikasi. Penilaian kuesioner dilakukan dalam skala Likert dengan lima skala, yaitu sangat setuju SS, Setuju S, netral N, tidak setuju ST, dan sangat tidak setuju STS. Tabel 3Hasil Perhitungan Skala Likert No Pertanyaan SS S N TS STS Hasil Kinerja Aplikasi 1 Aplikasi ini sudah berjalan dengan baik 18 10 2 - - 90.7 2 Kecepatan proses pemindaian karakter sudah baik 15 14 1 - - 89.3 3 Proses pengenalan karakter sudah akurat 18 3 6 3 - 84 Antarmuka 1 Tampilan antarmuka aplikasi ini menarik 5 10 12 3 - 71.3 2 Tata letak tombol, tab, dan elemen lainnya membuat aplikasi mudah digunakan 13 10 7 - - 84 3 Antarmuka aplikasi ini dapat dimengerti dengan baik 13 7 6 4 - 79.3 Fungsionalitas dan Materi 1 Animasi penulisan karakter membantu pemahaman belajar 21 9 - - - 94 2 Fitur pindai pada aplikasi ini membantu pembelajaran 22 8 - - - 94.7 3 Fitur quiz pada aplikasi ini membantu pembelajaran 16 6 8 - - 85.3 4 Fitur terjemahan pada aplikasi ini membantu pembelajaran 17 9 4 - - 88.7 13 Kolom hasil pada Tabel 3 menunjukkan persentase tingkat kepuasan para responden terhadap aplikasi yang dihitung berdasarkan skala Likert. Para responden sangat puas terhadap kinerja maupun fungsionalitas dari aplikasi. Untuk antarmuka aplikasi, para responden merasa puas terhadap tata letak dari elemen-elemen antarmuka. Tabel 3 juga menunjukkan bahwa antarmuka aplikasi dapat dimengerti sehingga memudahkan mereka untuk menggunakan aplikasi.

5. Simpulan