Anda di halaman 1dari 46

PERANCANGAN APLIKASI SPEECH TO TEXT PADA BAHASA

MINANGKABAU MENGGUNAKAN POCKETSPHINX

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Untuk Memperoleh


Gelar Sarjana Teknik Pada Fakultas Teknik
Universitas Islam Riau Pekanbaru

FITRIA ANJELYA FAFRIKA


173510216

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS ISLAM RIAU
PEKANBARU
2022
DAFTAR ISI
Hal

DAFTAR ISI .................................................................................................................. i


DAFTAR TABEL ........................................................................................................ iii
DAFTAR GAMBAR ................................................................................................... iv
BAB I ............................................................................................................................ 1
PENDAHULUAN......................................................................................................... 1
1.1 Latar Belakang................................................................................................ 1
1.2 Identifikasi Masalah ....................................................................................... 3
1.3 Batasan Masalah ............................................................................................. 3
1.4 Rumusan Masalah .......................................................................................... 4
1.5 Tujuan Penelitian ............................................................................................ 4
1.6 Manfaat Penelitian .......................................................................................... 4
BAB II ........................................................................................................................... 5
LANDASAN TEORI .................................................................................................... 5
2.1 Tinjauan Pustaka ............................................................................................ 5
2.2 Dasar Teori ..................................................................................................... 6
2.2.1 Bahasa Minangkabau .............................................................................. 6
2.2.2 Android ................................................................................................... 8
2.2.3 Android Studio ........................................................................................ 9
2.2.4 Python ................................................................................................... 11
2.2.5 Speech Recognition ............................................................................... 12
2.2.5.1 Pengertian Speech Recognition ............................................................. 12
2.2.5.2 Konsep dan Algoritma Speech Recognition .......................................... 13
2.2.6 CMUSphinx .......................................................................................... 15
2.2.8 Data Flow Diagram (DFD) ................................................................... 17
2.2.9 Flowchart............................................................................................... 19
BAB III........................................................................................................................ 22

i
METODOLOGI PENELITIAN .............................................................................. 22
3.1 Alat Dan Bahan Yang Digunakan ................................................................ 22
3.1.1 Spesifikasi Perangkat Keras (Hardware) .............................................. 22
3.1.2 Spesifikasi Perangkat Lunak (Software) ............................................... 22
3.2 Analisa Sistem .............................................................................................. 23
3.2.1 Analisa Sistem Yang Berjalan .............................................................. 23
3.2.2 Analisa Sistem yang Diusulkan ............................................................ 23
3.3 Alur Kerja ..................................................................................................... 24
3.4.1 Tahap Pengumpulan Data ..................................................................... 24
3.4.2 Tahap Training ...................................................................................... 25
3.4.3 Tahap Implementasi Data Training Pada Android ............................... 28
3.4 Perancangan Sistem ...................................................................................... 29
3.4.1 Desain Context Diagram ....................................................................... 29
3.4.2 Hierarchy Chart .................................................................................... 30
3.4.3 DFD (Data Flow Diagram) .................................................................. 31
3.4.4 Desain Antarmuka ................................................................................. 36
3.4.5 Desain Logika Program......................................................................... 38
DAFTAR PUSTAKA ................................................................................................ 41

ii
DAFTAR TABEL
Hal

Tabel 2. 1 Simbol DFD .............................................................................................. 18


Tabel 2. 2 Simbol Flowchart .................................................................................... 20

iii
DAFTAR GAMBAR

Gambar 3. 1 Use Case Diagram Sistem Berjalan ...................................................... 23


Gambar 3. 2 Use Case Diagram Sistem Diusulkan ................................................... 24
Gambar 3. 3 Alur Kerja Tahap Training .................................................................. 26
Gambar 3. 4 Context Diagram ................................................................................... 30
Gambar 3. 5 Hierarchy Chart .................................................................................... 31
Gambar 3. 6 Data Flow Diagram Level 1 ................................................................. 32
Gambar 3. 7 Data Flow Diagram Level 2 proses 2 ................................................... 34
Gambar 3. 8 Desain Antarmuka Menu Utama .......................................................... 36
Gambar 3. 9 Desain Antarmuka Form Bahasa .......................................................... 37
Gambar 3. 10 Flowchart ............................................................................................ 39

iv
BAB I

PENDAHULUAN

1.1 Latar Belakang

Sumatra Barat adalah salah satu daerah terindah di Indonesia. Banyak

sekali tempat wisata di Sumatra Barat yang dapat dikunjungi oleh wisatawan.

Bukan hanya makanan yang terkenal, negeri nan elok ini juga terkenal dengan

bahasa, falsafah kehidupan masyarakatnya, kekayaan budaya yang masih terjaga

serta pesona alamnya nan indah.

Bahasa menjadi salah satu unsur paling penting yang mempengaruhi

kehidupan maupun kebudayaan manusia. Bahasa memiliki peran penting dalam

kehidupan manusia karena ia menjadi alat komunikasi yang utama. Sebagai alat

komunikasi, bahasa meliputi kata, kumpulan kata, klausa dan kalimat yang

diungkapkan secara lisan maupun tulisan.

Bahasa Minangkabau ialah salah satu bahasa daerah yang digunakan oleh

masyarakat Minang di Sumatera Barat. Bahasa Minangkabau atau sering disebut

Baso Minangkabau adalah suatu bahasa Austronesia yang dituturkan oleh Suku

Minangkabau yang berasal dari wilayah Dataran Tinggi Minangkabau di Sumatra

Barat. Melalui diaspora masyarakat bersuku Minangkabau, bahasa ini juga

dituturkan di beberapa wilayah lain terutama di daerah-daerah sekitar Sumatra

Barat terutama di Sumatra Utara, Jambi, Bengkulu, sebagian Aceh, sebagian

1
2

Riau, serta di wilayah luar negeri meliputi Negeri Sembilan di Semenanjung Kra,

dan Singapura.

Dikarenakan banyaknya wisatawan asing yang datang untuk melihat

keindahan alam di Sumatra Barat, dikhawatirkan masih banyak warga yang belum

fasih dalam berbahasa asing dan akan kesulitan untuk berkomunikasi dengan

wisatawan. Untuk terjalinnya komunikasi yang baik maka pihak yang

berkomunikasi harus memahami bahasa yang disampaikan lawan bicara.

Agar komunikasi berjalan dengan baik maka perlu seorang penerjemah

atau alat bantu seperti mesin penerjemah dan kamus dwibahasa. Namun solusi ini

tidak mudah dan tidak murah untuk disediakan, disebabkan biaya untuk menyewa

penerjemah yang mahal serta kamus bahasa daerah kebahasa asing juga belum

banyak tersedia. Oleh karena itu dibutuhkan alat atau media untuk membantu

warga lokal berkomunikasi dengan wisatawan asing.

Speech to text ialah suatu metode yang dapat mengubah suara kedalam

bentuk text atau tulisan. Hal ini memungkinkan komputer dapat mengerti bahasa

manusia melalui perintah suara tersebut dan proses data suara yang di gunakan

pada speech to text diubah terlebih dahulu menjadi sebuah data numerik sehingga

komputer dapat menerjemahkan menjadi kata.

Speech to text sudah mulai digunakan dalam beberapa bidang seperti:

penejermah, rekam medis, dan beberapa pedukung keputusan lain-lain. Speech to

text dapat digunakan sebagai pengganti masukan berupa text lansung dan dapat

mempermudah dalam menggunakan aplikasi – aplikasi yang digunakan dalam


3

bidang tersebut. Salah satu contoh dari aplikasi yang memanfaatkan atau

menggunakan speech to text sebagai alat penejermah ialah Google Translate. Pada

aplikasi sistem tersebut dapat menerima masukan berupa suara sehingga sistem

dapat lansung menerjemahkan perkataan yang di ucapkan oleh kita dan dapat

mengubahnya menjadi bahasa lain. Namun Google Translate masih belum

mampu menerjemahkan bahasa daerah ke bahasa asing selain Bahasa Jawa dan

Bahasa Sunda.

Dengan dibangunnya aplikasi speech to text Bahasa Minangkabau

berbasis Android menggunakan pocketsphinx ini bertujuan untuk memahami

kata-kata dari Bahasa Minangkabau tersebut serta diharapkan dapat memudahkan

warga lokal dan wisatawan berkomunikasi dengan baik.

1.2 Identifikasi Masalah

Adapun identifikasi masalah yang dapat diambil dari latar belakang

tersebut adalah sebagai berikut:

1. Kesulitan warga dalam pemahaman dan penggunaan bahasa asing.

2. Tidak adanya alat bantu penerjemah bagi warga Minangkabau untuk dapat

berkomunikasi dengan wisatawan asing.

1.3 Batasan Masalah

Pada penelitian ini permasalahan di batasi dengan beberapa batasan

diantaranya:
4

1. Data yang dipakai adalah data suara dalam bentuk Bahasa Minangkabau.

2. Aplikasi ini hanya dapat digunakan untuk perangkat mobile yang

menggunakan operasi sistem android.

3. Aplikasi yang dibangun menggunakan suara sebagai input dan text sebagai

output (speech to text)

1.4 Rumusan Masalah

Bedasarkan latar belakang diatas maka dirancang suatu aplikasi yang

mencakup suatu permasalahan-permasalahan berikut:

1. Bagaimana merancang aplikasi speech to text Bahasa Minang Kabau

berbasis android menggunakan pocketsphinx?

2. Bagaimana cara untuk mendapatkan text dari suara?

1.5 Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah membangun aplikasi yang

mampu menerjemahkan Bahasa Minangkabau ke bahasa asing.

1.6 Manfaat Penelitian

Manfaat dari penelitian ini adalah:

1. Tersedianya aplikasi yang memudahkan komunikasi antara warga dan

wisatawan asing

2. Terjalinya komunikasi yang baik antara warga dan wisatawan asing.


BAB II

LANDASAN TEORI

2.1 Tinjauan Pustaka

Dalam penelitian ini dijabarkan beberapa hasil penelitian terdahulu dan

beberapa teori terkait penelitian untuk mendapatkan pengetahuan lebih bagi

penulis dalam melakukan penelitian.

Deslianti dan Syahputra (2018) dalam penelitian nya yang berjudul ―Aplikasi

Speech To Text Bahasa Indonesia Ke Bahasa Bengkulu Menggunakan

Pocketsphinx Berbasis Android‖ membahas tentang bagaimana membangun

sebuah aplikasi yang dapat membantu ketika sedang berpergian ke kota

Bengkulu untuk melakukan komunikasi dengan bahasa Bengkulu.

Dalam penelitian yang buat oleh Suryadharma, dkk (2014) yang berjudul

―Perancangan Aplikasi Speech To Text Bahasa Inggris Ke Bahasa Bali

Menggunakan Pocketsphinx Berbasis Android‖ membahas tentang membuat

aplikasi yang tidak memerlukan akses internet untuk penggunaan nya sehingga

dapat digunakan dimana saja bagi wisatawan yang ingin mengetahui kata-kata

dalam bahasa Bali. Selain itu aplikasi juga ditujukan bagi pengguna android yang

ingin menambah pembendaharaan kata dalam bahasa Bali.

Dalam jurnal lain oleh Guntara, dkk (2021), yang membahas tentang

―Pemanfaatan Google Speech to Text Untuk Aplikasi Pembelajaran Kamus

Bahasa Sunda Pada Platform Mobile Android‖ mengatakan bahwa bahasa Sunda

5
6

sudah dianggap bahasa yang terancam punah karena berdasarkan penelitian yang

dilakukan Balai Bahasa Provinsi Jawa Barat, hanya 40% anak-anak Jawa Barat

yang tahu dan dapat berbicara bahasa Sunda. Sehingga dibuatlah sebuah aplikasi

pembelajaran yang interaktif bernama RuangBasa yang dibangun dengan

memanfaatkan teknologi Google Speech To text.

Hal yang membedakan penelitian yang penulis buat dengan penelitian

terdahulu diatas terletak pada pebedaan kasus. Kasus yang akan penulis buat

yaitu perancangan aplikasi speech to text pada bahasa minangkabau

menggunakan pocketsphinx. Hasil penelitian ini diharapkan dimanfaatkan oleh

seluruh masyarakat yang ingin belajar bahasa minangkabau.

2.2 Dasar Teori

Dasar teori bertujuan memberikan gambaran dari teori yang terkait dalam

perancangan sistem.

2.2.1 Bahasa Minangkabau

Berdasarkan Wikipedia, Bahasa Minangkabau (Baso

Minangkabau; aksara Jawi: ‫ب ا سو‬ ‫)م ي ناڠ كاب او‬ adalah suatu bahasa

Austronesia yang dituturkan oleh Suku Minangkabau yang berasal dari

wilayah Dataran Tinggi Minangkabau di Sumatra Barat.

Dilansir dari http:petabahasa.kemdikbud.go.id, Bahasa Minangkabau

di Provinsi Sumatra Barat terdiri atas lima dialek, yaitu (1) dialek
7

Pasaman, (2) dialek Agam-Tanah Datar, (3) dialek Lima Puluh Kota, (4)

dialek Koto Baru, dan (5) dialek Pancung Soal. Dialek Pasaman

dituturkan di Kabupaten Pasaman Barat dan Pasaman. Dialek Agam-

Tanah Datar dituturkan di Kabupaten Agam, Tanah Datar, Kota Padang

Panjang, Padang Pariaman, Solok, Kota Solok, Solok Selatan, dan Pesisir

Selatan. Dialek Lima Puluh Kota dituturkan di Kabupaten Lima Puluh

Kota, Kota Payakumbuh, Tanah Datar, Kota Sawahlunto, Kabupaten

Sijunjung, dan Dharmasraya. Dialek Koto Baru dituturkan di Kabupaten

Dhamasraya. Dialek Pancung Soal dituturkan di Pesisir Selatan.

Dari kelima dialek tersebut, dialek Agam-Tanah Datar merupakan

dialek dengan jumlah penutur terbanyak dan memiliki sebaran geografis

yang terluas. Dialek ini digunakan sebagai bahasa Minangkabau umum di

pusat kota Sumatra Barat dengan menghilangkan ciri-ciri dialektal (ciri-

ciri kedaerahan) yang ada pada beberapa subdialek. Pada wilayah tutur

bahasa ini juga terdapat bahasa lain, yaitu bahasa Batak dialek

Mandailing yang terdapat di bagian utara Provinsi Sumatra Barat.

Berdasarkan hasil penghitungan dialektometri, persentase perbedaan

kelima dialek tersebut berkisar 51%—69%. Isolek Minangkabau

merupakan sebuah bahasa dengan persentase perbedaan berkisar 81%—

100% jika dibandingkan dengan bahasa Batak dan Mentawai.

Bahasa Minangkabau juga dituturkan di wilayah provinsi lain, yaitu

Provinsi Aceh, Sumatra Utara, Riau, Jambi, dan Bengkulu. Bahasa


8

Minangkabau di Provinsi Aceh terdiri atas tiga dialek, yaitu (1) dialek

Tamiang, (2) dialek Sunting, dan (3) dialek Aneuk Jamee. Bahasa

Minangkabau di Provinsi Riau terdiri atas lima dialek, yaitu (1) dialek

Rokan, (2) dialek Kampar, (3) dialek Basilam, (4) dialek Indragiri, dan

(5) dialek Kuantan

2.2.2 Android

Android adalah software besutan Google yang mencakup sistem

operasi atau OS, middleware dan aplikasi kunci yang berbasis Linux pada

suatu gadget seperti telephone cellular, smartphone dan komputer tablet.

Android menyediakan platform terbuka (open sources) bagi para

pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan

oleh berbagai macam piranti bergerak. Awalnya, Google Inc. membeli

Android Inc., pendatang baru yang membuat piranti lunak untuk ponsel.

Kemudian Google Inc mengembangkannya dengan cara membentuk

Open Handset Alliance (OHD), konsorsium dari 34 perusahaan peranti

keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel,

LG, Motorola, Qualcomm,T-Mobile, Samsung dan Nvidia.

Di dunia ini terdapat dua jenis distributor sistem operasi Android.

Pertama yang mendapat dukungan penuh dari Google atau Google Mail

Services (GMS) dan yang kedua adalah yang benar–benar bebas

distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open


9

Handset Distribution. Keputusan Google Inc. mengembangkan Android

dengan cara membentuk Open Handset Distribution dinilai sangat tepat

karena melalui hal tersebut saat ini Android telah berhasil menjadi salah

satu sistem operasi paling popular.

Pengembangan aplikasi pada platform Android menggunakan bahasa

pemrograman Java. Serangkaian aplikasi inti Android antara lain klien

email, program SMS, kalender, peta, browser, kontak, dan lain-lain.

Android bergantung pada versi Linux 2.6 untuk layanan sistem inti seperti

keamanan, manajemen memori, manajemen proses, network stack, dan

model driver. Kernel juga bertindak sebagai lapisan abstraksi antara

hardware dan seluruh software stack.

Dengan sistem distribusi open sources yang digunakan Android,

memungkinkan para pengembang untuk menciptakan berbagai macam

aplikasi menarik yang dapat dinikmati oleh para penggunanya, seperti

game, chatting dan lain-lain, hal ini pulalah yang membuat smartphone

berbasis Android ini lebih murah dibanding gadget sejenisnya.

2.2.3 Android Studio

Android Studio adalah Integrated Development Enviroment (IDE)

untuk sistem operasi Android, yang dibangun diatas perangkat lunak

JetBrains IntelliJ IDEA dan didesain khusus untuk pengembangan

Android. IDE ini merupakan pengganti dari Eclipse Android


10

Development Tools (ADT) yang sebelumnya merupakan IDE utama untuk

pengembangan aplikasi android.

Android studio sendiri pertama kali diumumkan di Google I/O

conference pada tanggal 16 Mei 2013. Ini merupakan tahap preview dari

versi 0.1 pada Mei 2013, dan memasuki tahap beta sejak versi 0.8 dan

mulai diliris pada Juni 2014. Versi rilis stabil yang pertama dirilis pada

Desember 2014, dimulai sejak versi 1.0. Sedangkan versi stabil yang

sekarang adalah versi 3.13 yang dirilis pada Juni 2018.

Fitur Fitur yang tersedia saat ini dalam stable version :

1. Dukungan Gradle-based build.

2. Android-specific refactoring dan perbaikan cepat.

3. Lint tools untuk menangkap kinerja, kegunaan, kompatibilitas versi,

dan masalah lainnya.

4. Integrasi Proguard dan kemampuan penananda tanganan aplikasi.

5. Template-based wizards untuk membuat template design umum

seperti drawer atau empty activity.

6. Mendukung untuk pengembangan aplikasi Android Wear.

7. Editor tata letak yang memungkinkan pengguna untuk menyeret dan

menjatuhkan (drag-and-drop) komponen UI, opsi untuk melihat tata

letak pada beberapa konfigurasi layar.


11

8. Dukungan bawaan untuk Google Cloud Platform, memungkinkan

integrasi dengan Firebase Cloud Messaging („Perpesanan Google

Cloud‟ Sebelumnya) dan Google App Engine.

9. Android Virtual Device (Emulator) untuk menjalankan dan men-

debug aplikasi di studio Android.

2.2.4 Python

Dilansir dari belajarpython.com, Python adalah bahasa pemrograman

interpretatif multiguna. Tidak seperti bahasa lain yang susah untuk dibaca

dan dipahami, python lebih menekankan pada keterbacaan kode agar

lebih mudah untuk memahami sintaks. Hal ini membuat Python sangat

mudah dipelajari baik untuk pemula maupun untuk yang sudah

menguasai bahasa pemrograman lain.

Bahasa ini muncul pertama kali pada tahun 1991, dirancang oleh

seorang bernama Guido van Rossum. Sampai saat ini Python masih

dikembangkan oleh Python Software Foundation. Bahasa Python

mendukung hampir semua sistem operasi, bahkan untuk sistem operasi

Linux, hampir semua distronya sudah menyertakan Python di dalamnya.

Dengan kode yang simpel dan mudah diimplementasikan, seorang

programmer dapat lebih mengutamakan pengembangan aplikasi yang

dibuat, bukan malah sibuk mencari syntax error.

print("Python sangat simpel")


12

Hanya dengan menuliskan kode print seperti yang diatas, kita sudah

bisa mencetak apapun yang diinginkan di dalam tanda kurung ().

Dibagian akhir kode pun, anda tidak harus mengakhirnya dengan tanda

semicolon (;)

2.2.5 Speech Recognition

2.2.5.1 Pengertian Speech Recognition

Speech Recognition adalah suatu pengembangan teknik dan

sistem yang memungkinkan komputer untuk menerima masukan

berupa kata yang diucapkan. Teknologi ini memungkinkan suatu

perangkat untuk mengenali dan memahami kata-kata yang

diucapkan dengan cara digitalisasi kata dan mencocokkan sinyal

digital tersebut dengan suatu pola tertentu yang tersimpan dalam

suatu perangkat. Kata-kata yang diucapkan diubah bentuknya

menjadi sinyal digital dengan cara mengubah gelombang suara

menjadi sekumpulan angka yang kemudian disesuaikan dengan

kode-kode tertentu untuk mengidentifikasikan kata-kata tersebut.

Hasil dari identifikasi kata yang diucapkan dapat ditampilkan

dalam bentuk tulisan atau dapat dibaca oleh perangkat teknologi

sebagai sebuah komando untuk melakukan suatu pekerjaan,

misalnya penekanan tombol pada telepon genggam yang

dilakukan secara otomatis dengan komando suara.


13

Alat pengenal ucapan, yang sering disebut dengan speech

recognizer, membutuhkan sampel kata sebenarnya yang

diucapkan dari pengguna. Sampel kata akan didigitalisasi,

disimpan dalam komputer, dan kemudian digunakan sebagai basis

data dalam mencocokkan kata yang diucapkan selanjutnya.

Sebagian besar alat pengenal ucapan sifatnya masih tergantung

kepada pembicara. Alat ini hanya dapat mengenal kata yang

diucapkan dari satu atau dua orang saja dan hanya bisa mengenal

kata-kata terpisah, yaitu kata-kata yang dalam penyampaiannya

terdapat jeda antar kata. Hanya sebagian kecil dari peralatan yang

menggunakan teknologi ini yang sifatnya tidak tergantung pada

pembicara. Alat ini sudah dapat mengenal kata yang diucapkan

oleh banyak orang dan juga dapat mengenal kata-kata kontinu,

atau kata-kata yang dalam penyampaiannya tidak terdapat jeda

antar kata.

2.2.5.2 Konsep dan Algoritma Speech Recognition

Untuk mengubah percakapan menjadi teks on-screen atau

perintah tertentu, komputer melakukan beberapa langkah yang

kompleks. Ketika berbicara, Anda mengeluarkan getaran di udara.

Kemudian, analog-to-digital converter (ADC) yang ada di

soundcard menerjemahkan gelombang analog ini menjadi data

digital yang dapat dimengerti oleh komputer. Untuk melakukan


14

hal tersebut, sistem Speech Recognition melakukan sampling atau

digitizing suara dengan cara mengambil ukuran yang paling pas

dari gelombang. Sistem menyaring suara yang telah didigitalkan

tersebut dan membuang gangguan (noise), dan kadang-kadang

memisahkannya ke dalam pita frekuensi yang berbeda. Frekuensi

adalah panjang gelombang suara, yang terdengar oleh telinga

manusia sebagai tinggi nada (pitch) yang berbeda.

Sistem ini juga menormalkan suara, atau mengaturnya ke

dalam tingkat volume yang tetap, terkadang juga mendatarkan

suara. Manusia tidak berbicara dalam kecepatan yang sama

sehingga suara harus diatur dengan kecepatan yang sama dengan

sampel-sampel template suara yang tersimpan dalam komputer.

Langkah selanjutnya adalah memecah sinyal menjadi bagian-

bagian kecil, dengan durasi seperseratus detik, atau bahkan

seperseribu pada kasus bunyi-bunyi konsonan atau mati.

Konsonan memberhentikan produksi suara dengan menghalangi

aliran gelombang pada bidang vokal, seperti ―p‖ atau ―t‖.

Program di komputer kemudian mencocokkan bagian-bagian

kecil ini dengan fonem yang dikenal dalam bahasa tertentu.

Fonem adalah elemen terkecil dalam sebuah bahasa,

merepresentasikan suara yang kita hasilkan, dan merangkainya ke

dalam bentuk ujaran yang memiliki makna. Komputer memeriksa


15

fonem-fonem dalam konteks (hubungan) dengan fonem-fonem

lain yang menyertainya. Komputer menjalankan alur (plot)

melalui sebuah model statistika yang kompleks, dan

membandingkannya dengan koleksi kata, frase, dan kalimat yang

telah dikenal. Program Speech Recognition selanjutnya

menentukan apa yang mungkin dikatakan oleh pengguna, dan juga

mengetikkannya sebagai teks atau mengeluarkannya sebagai

perintah pada komputer.

2.2.6 CMUSphinx

Menurut Suryadharma, dkk (2014) yang berjudul ―Perancangan

Aplikasi Speech To Text Bahasa Inggris Ke Bahasa Bali Menggunakan

Pocketsphinx Berbasis Android‖, Sphinx adalah opensourcetoolkit untuk

speech recognition yang dikembangkan oleh Carneige Mellon University

(CMU) yang berlokasi di Amerika Serikat. Untuk lebih mengenal dan

menghormati pembuatnya maka Sphinx juga sering disebut dengan

CMUSphinx. CMUSphinx menggunakan metode HMM dan

ngramstatisticallanguage model untuk membangun sebuah sistem

Automatic Speech Recognition (ASR).

CMUSphinx dikembangkan pertama kali oleh Kai-Fu Lee. Sphinx

project yang dikembangkan oleh Carneige Mellon University telah


16

melahirkan beberapa produk berupa kumpulan library untuk keperluan

penelitian tentang ASR. Produk-produk tersebut antara lain:

1. Pocketsphinx : library untuk pengenalan suara (recognizer) ditulis

dengan menggunakan bahasa C, versi ringan dari sphinx

2. Sphinxbase : library yang diperlukan untuk menjalankan

pocketsphinx

3. Sphinx4 : library untuk pengenalan suara (recognizer) ditulis

dengan menggunakan bahasa Java

4. CMUclmtk : tools untuk membangun language model

5. Sphinxtrain : tools untuk membangun acoustic model

6. Sphinx3 : decoder untuk speechrecognition yang ditulis dengan

menggunakan bahasa C.

2.2.7 Pocketsphinx

Pocketsphinx merupakan library pengenalan ucapan versi mobile dari

sistem Sphinx yang dirancang oleh Carnegie Mellon University. Proses

pembelajaran unit-unit suara disebut training, sedangkan proses

menggunakan pengetahuan yang diperoleh untuk menyimpulkan urutan

yang paling mungkin dari unit dalam sinyal yang diberikan disebut

decoding, atau secara sederhana disebut pengenalan (recognition). Karena

terdapat dua proses tersebut maka diperlukan sphinx trainer dan sphinx

decoder. Pocketsphinx adalah library yang berkorelasi dengan library lain


17

yaitu Sphinxbase yang menyediakan fungsionalitas umum untuk semua

tools yang ada di CMUSphinxproject. Komponen utama untuk

membangun pocketsphinx ini ada 3 yakni pocketsphinx, sphinxbase, dan

SphinxTrain.

1. Komponen Untuk Training

2. Komponen Untuk Decoding

3. Komponen Sphinxbase

2.2.8 Data Flow Diagram (DFD)

Menurut (Budiani, 2000), Data Flow Diagran (DFD) adalah

representasi grafik dari sebuah sistem. DFD menggambarkan komponen-

komponen sebuah sistem, aliran-aliran data diantara komponen-

komponen tersebut, asal, tujuan, dan penyimpanan dari data tersebut.

Tabel dibawah ini menunjukkan simbol yang digunakan dalan dfd baik

dalam versi E.Yourdon dan De Marco maupun versi Chris Gane dan

Trish Sarson.
18

Tabel 2. 1 Simbol DFD

Bentuk
Nama Simbol Keterangan
Menurut

Kesatuan luar (external entity)

atau biasa juga disebut entity


Gane &
saja. External entity (dapat
Sarson
Kesatuan berupa departemen lain, orang,

luar ataupun mesin) dapat

(External mengirim maupun menerima

Entity) data dari sistem. Setiap


DeMarco/
external entity diberikan nama
Yourdon
yang sesuai dan nama tersebut

harus merupakan kata benda.

Arus data menunjukkan

pergerakan data dari satu


Arus Data Gane &
bagian ke bagian lain dalam
(Data Sarson dan
sistem, dan ujung/kepala dari
Flow) DeMarco/
panah tersebut menunjukkan
Yourdon
arah tujuan data.
19

Proses adalah simbol yang

mengubah suatu data dari suatu


Gane &
bentuk menjadi bentuk yang
Sarson
lain. Atau dengan kata lain,

proses menerima input data


Proses
dan mengeluarkan output data

lain yang telah diproses. Suatu


DeMarco/
proses harus diberi nomor
Yourdon
untuk mengindikasikan level

diagramnya.

Simpanan data (data store)

Gane & adalah tempat menyimpan data

Simpan Sarson dalam suatu sistem, baik secara

data manual maupun secara

(Data elektronik. Simpanan data

Store) DeMarco/ digunakan jika suatu proses

Yourdon perlu menggunakan data

tersebut lagi kemudian.

2.2.9 Flowchart

Menurut (Santoso & Nurmalina, 2017), program flowchart adalah metode

dalam penulisan algoritma dengan menggunakan notasi grafis seperti gambar


20

atau bagan yang menampilkan langkah-langkah dari suatu program. Program

flowchart menggambarkan urutan intruksi-intruksi dengan simbol tertentu

untuk membantu programmer memecahkan masalah dalam suatu program.

Adapun simbol flowchart adalah sebagai berikut:

Tabel 2. 2 Simbol Flowchart

Keterangan
Simbol Nama

Merupakan simbol awal (start) dan

Terminator simbol akhir (stop) dari suatu

program

Merupakan simbol alir atau


Flow Line
penghubung program

Pemberian nilai awal atau pemberian


Preparation
nilai variabel

Penyambung flowchart pada


Off Page
halaman yang lain.
Connector

Penyambung flowchart pada satu


On Page
halaman.
Connector
21

Input atau Menampilkan pembacaan data

Output Data (read) atau penulisan data (write).

Simbol kondisi if yang

Desicion menghasilkan 2 nilai yaitu true atau

false.

Predefined Proses menjalankan sub program atau

Procces fungsi dan prosedur.


BAB III

METODOLOGI PENELITIAN

3.1 Alat Dan Bahan Yang Digunakan

Alat dan bahan yang digunakan dalam penelitian ini terdiri dari perangkat

keras (hardware) dan perangkat lunak (software). Spesifikasi hardware dan

software yang digunakan dalam penelitian ini adalah sebagai berikut:

3.1.1 Spesifikasi Perangkat Keras (Hardware)

Perangkat keras adalah perangkat komputer yang dapat dilihat dan

disentuh. Adapun spesifikasi perangkat keras (hardware) pada laptop yang

digunakan dalam melakukan penelitian ini adalah sebagai berikut:

1. Laptop MSI Katana Gf66

2. Ram 4 GB

3. Hardisk 500 GB

3.1.2 Spesifikasi Perangkat Lunak (Software)

Perangkat lunak (software) adalah sekumpulan program yang

berfungsi untuk mengoperasikan komputer. Adapun perangkat lunak yang

digunakan dalam pembuatan penulisan dan penelitian ini adalah sebagai

berikut:

22
23

1. Sistem Operasi : Microsoft Windows 10, Linux

2. Bahasa Pemograman : Java, XML

3. Framework : CMU Sphinx

4. Editor : Android Studio

5. Desain Logika Program : yed Graph Editor

3.2 Analisa Sistem

3.2.1 Analisa Sistem Yang Berjalan

Sebelumnya belum ada sistem atau aplikasi yang bisa digunakan untuk

belajar bahasa minangkabau secara digital selain bahasa minangkabau

tersebut dituliskan dalam beberapa artikel atau kamus bahasa daerah. Hal

itu tentu membuat masyarakat selain minang kebingungan dalam belajar

bahasa minang karena pada kamus dan artikel tersebut hanya

memperlihatkan tulisan saja sehingga pengguna tidak mengetahui apakah

kosa kata yang diucapkan benar atau salah.

Gambar 3. 1 Use Case Diagram Sistem Berjalan

3.2.2 Analisa Sistem yang Diusulkan


24

Dalam tahap ini penulis melakukan perancangan sistem yang pada

awalnya kosa kata anya berupa tulisan, seingga dengan sistem yang ini

pengguna dapat melakukan rekam suara pada aplikasi dan sistem akan

melakukan proses pencocokan suara yang ditangkap dengan data training

sehingga pengguna dapat mengetahui apakah kosa kata yang diucapkan

sudah benar.

Gambar 3. 2 Use Case Diagram Sistem Diusulkan

3.3 Alur Kerja

Dalam alur kerja penelitian pada pembuatan aplikasi minang digital ini dibagi

menjadi 3 tahapan yaitu tahap pengumpulan data, tahap training dan tahap

implementasi data training pada android.

3.4.1 Tahap Pengumpulan Data

Tahap pengumpulan data merupakan aktivitas yang dilakukan guna

mendapatkan informasi yang diperlukan dalam rangka mencapai tujuan

dari suatu penelitian. Pada tahap ini programmer membutuhkan 2 buah data

yaitu data vocab (kosa kata) dan data speech (suara). Data vocab

merupakan data yang berisi tentang kumpulan kosa kata yang dikumpulkan
25

programmer sebanyak 100 kosa kata keseharian lalu disimpan kedalam file

dengan ekstensi .txt.

Data speech merupakan data yang berisi tentang kumpulan data

rekaman suara. Programmer melakukan rekaman suara pada 10 orang

dengan menggunakan perangkat Audio Recoder pada Smartphone dengan

melakukan rekaman sebanyak 5 kali dalam satu kata dengan kondisi

ruangan yang hening.

3.4.2 Tahap Training

Proses training yaitu proses dimana dilakukan pengolahan data vocab

dan data speech untuk menghasilkan output berupa data training yang akan

digunakan sebagai database pada sistem. Proses training dilakukan dengan

sistem operasi Linux dengan menggunakan tools Virtual Box, adapun alur

dari proses training dapat dilihat pada gambar dibawah ini :


26

Gambar 3. 3 Alur Kerja Tahap Training

Pada gambar 3.3 diatas menjelaskan alur kerja proses training,

programmer melakukan input data kosa kata, kemudian data tersebut

dicompile dengan menggunakan perangkat Sphinx Knowledge Base Tools

untuk menghasilkan file dictionary dan file language model. Programmer

melakukan input data speech dan dikonversi menggunakan perangkat

Audio online Converter menjadi file audio dengan format.WAV

(Waveform Audio Format), tipe mono, resolusi 16 bit dan 16.000 Hz

sampling rate. Semua file tersebut akan diinputkan dalam pocket sphinx.

Pada tahapan training diperlukan sejumlah data seperti file dictionary,

file language model, file filler, file phone, file transcription, file ids dan

file WAV.
27

a. File Dictionary merupakan file yang berisi gabungan dari kata dan

transkripsi fonetik atau pemetaan dari kata itu sendiri yang disusun

dalam satu baris.

Format penulisan file dictionary:

BABA B AH B AH

b. File Language model berfungsi untuk mendeskripsikan peluang kata

yang akan dipanggil saat frasa atau kata diucapkan. Dalam tahap

training, language model harus dalam format .DMP.

c. File Filler merupakan file yang berisi non-speech sounds, biasanya

digunakan untuk menggambarkan keheningan.

Format penulisan file filler:

<s> SIL

</s> SIL

<sil> SIL

d. File Phone merupakan file yang terdiri dari satu fonem pada tiap baris,

harus sesuai dengan fonem yang terdapat pada file dictionary ditambah

dengan file filler dan tidak boleh ada duplikasi dari fonem-fonem

tersebut. Fonem merupakan satuan terkecil dalam sebuah kata.

Format pada file phone:

AH

SIL
28

e. File Transcription merupakan file daftar transkripsi untuk setiap file

audio.

Format penulisan file transcription:

<s> BABA </s> (BABA)

f. File Ids merupakan file yang berisi daftar nama rekaman (id ucapan)

satu per satu. File ids berisi path dalam sistem file ke direktori WAV.

File ids tidak boleh menyertakan ekstensi file audio dalam penulisannya.

Format penulisan file ids:

record_ya/file_1

record_ya/file_2

Tahapan training ini akan menghasilkan output berupa data training

yang terdiri dari file mdef, file feat.params, file mixture_weights, file

means, file noisedict, file transition_matrices dan file variances yang akan

digunakan pada android studio.

3.4.3 Tahap Implementasi Data Training Pada Android

Pada tahap ini programmer akan mengeimplementasikan data training

kedalam android untuk dijadikan database. Adapun langkah-langkahnya

adalah sebagai berikut :

1. Pada foder project pilih folder models –> src –> main –> assets –> sync.

2. Pada folder sync buat folder baru dan letakkan file-file dari data training

didalam folder baru tersebut.


29

3. Pada folder sync buat file dictionary dengan ekstensi.dic dan file

grammar dengan ekstensi .gram.

4. Berikut adalah source code agar aplikasi dapat terkoneksi dengan

database.

private void setupRecognizer(File assetsDir) throws IOException {

recognizer = SpeechRecognizerSetup.defaultSetup()

.setAcousticModel(new File(assetsDir, " acc_model "))

.setDictionary(new File(assetsDir, "file.dic"))

.setRawLogDir(assetsDir)

.getRecognizer();

recognizer.addListener(this);

File minangGrammar = new File(assetsDir, "file.gram");

recognizer.addGrammarSearch(DIGITS_SEARCH,

minangGrammar);

3.4 Perancangan Sistem

Perancangan sistem dari aplikasi minang digital adalah sebagai berikut :

3.4.1 Desain Context Diagram

Context diagram merupakan alat untuk struktur analisis, pendekatan

struktur ini untuk menggambarkan sistem secara keseluruhan, informasi

yang dibutuhkan dan tujuan yang akan dihasilkan.


30

Gambar 3. 4 Context Diagram

Pada gambar 3.4 diatas, dapat dijelaskan bahwa pengguna melakukan

input berupa suara, kemudian sistem akan melakukan validasi antara suara

yang ditangkap dengan database. Sistem akan mengirimkan output berupa

kosa kata.

3.4.2 Hierarchy Chart

Hierarchy chart merupakan gambaran sub sistem yang menjelaskan

proses-proses yang terdapat dalam sistem utama dimana semua sub sistem

yang berada dalam ruang lingkup sistem utama saling berhubungan satu

dan lainnya yang membedakan adalah level prosesnya.


31

Gambar 3. 5 Hierarchy Chart

Pada gambar 3.5 diatas menjelaskan tentang proses yang terjadi pada

aplikasi minang digital yang digambarkan dalam hierarchy chart hanya

terdapat 2 level. Pada level pertama terdiri dari 3 proses yaitu proses input

suara, proses ekstraksi ciri dan proses perbandingan HMM (Hidden

Markov Model), pada level kedua terdiri dari sub proses pre-emphasis,

framing and windowing, FFT (Fast Fourirer Transform), mel frequency

wrapping dan discrete cosine transform.

3.4.3 DFD (Data Flow Diagram)

a. DFD level 1

DFD level 1 adalah proses keseluruhan yang ada pada aplikasi minang

digital. Proses yang digambarkan dalam DFD hanya berupa symbol-


32

simbol tertentu. Pada DFD sistem yang akan dibuat dapat dilihat seperti

gambar berikut.

Gambar 3. 6 Data Flow Diagram Level 1

Pada gambar 3.6 diatas adalah DFD level 1 pada aplikasi minang

digital, pada DFD level 1 ini pengguna melakukan input berupa data

suara, kemudian data suara akan masuk proses ektraksi ciri yang akan

diubah menjadi data mel cepstrum, data yang didapat pada proses

ekstraksi ciri akan dijadikan input pada proses perbandingan HMM

(Hidden Markov Model). Dimana data mel cepstrum akan dicocokkan

polanya dengan data phonetic pada database. Setelah didapat pola yang

cocok maka sistem akan mengirimkan hasil output berupa teks kata

hijaiyah kepada pengguna.


33

b. DFD Level 2 Proses 2

DFD level 2 Proses menggambarkan alur proses ekstraksi ciri. Adapun

alur proses ekstraksi ciri dapat dilihat seperti gambar berikut.


34

Gambar 3. 7 Data Flow Diagram Level 2 proses 2


35

Pada gambar 3.7 diatas adalah DFD level 2 proses 2 pada aplikasi

minang digital yang menggambarkan alur proses ektraksi ciri. Terdapat

5 sub-proses, yakni sub-proses pre-emphasis dimana data suara yang

masuk akan di filter menjadi data suara yang lebih halus, kemudian sub-

proses framing and windowing dimana data suara akan dipecah menjadi

beberapa potongan data suara agar mempermudah perhitungan dan

analisa suara. Sub-proses FFT akan mengubah data suara menjadi data

spectrum, sub-proses mel frequency wrapping akan menghasilkan data

mel spectrum dan sub-proses discrete cosine transform akan

menghasilkan data mel cepstrum yang akan digunakan sebagai input

pada proses perbandingan HMM (Hidden Markov Model).


36

3.4.4 Desain Antarmuka

Adapun desain antarmuka pada aplikasi minang digital adalah sebagai

berikut.

Gambar 3. 8 Desain Antarmuka Menu Utama


Penjelasan masing-masing atribut pada menu utama adalah sebagai berikut:

1. Button Mulai berfungsi untuk masuk ke fitur utama aplikasi.

2. Button Keluar berfungsi untuk keluar dari aplikasi.


37

Gambar 3. 9 Desain Antarmuka Form Bahasa

Penjelasan masing-masing atribut pada form mengaji adalah sebagai

berikut :

1. Button Mic berfungsi untuk melakukan proses rekam suara yang

dilakukan oleh pengguna.

2. Button Lanjut berfungsi untuk melanjutkan ke form selanjutnya.

3. Button Kembali berfungsi untuk kembali ke form sebelumnya.


38

4. ImageView Notifikasi berfungi untuk memberikan informasi kepada

pengguna, apabila benar maka akan muncul checklist image, apabila

salah maka akan mucul error image dan koreksi suara.

5. TextView Hasil berfungsi untuk menampilkan hasil dari kata yang

pengguna ucapkan.

6. TextView Keterangan berfungsi untuk memberikan informasi apakah

button mic telah aktif.

7. Image Hijaiyah berfungsi sebagai informasi kepada pengguna mengenai

kosa kata yang akan dibaca.

3.4.5 Desain Logika Program

Desain logika program merupakan gambaran alur flowchart yang akan

memperjelas aplikasi minang digital ini. Adapun gambar flowchart dari

analisa yang sudah dibahas yaitu sebagai berikut :


39

Gambar 3. 10 Flowchart
40

Pada gambar 3.10 diatas pengguna dapat mulai melakukan input suara

dengan menekan tombol mic, sistem akan melakukan proses ekstraksi ciri

dan membandingkan data suara dengan data training. Kemudian sistem

akan memberikan hasil berupa output kosa kata, apabila output kosa kata

sama dengan target kata yang tertera pada form maka akan muncul

notifikasi benar, dan apabila output kosa kata tidak sama dengan target,

maka akan muncul notifikasi salah dan sistem akan memutar audio

pengucapan kosa kata yang benar.


DAFTAR PUSTAKA

Belajarpython. Belajar Python. Diakses tanggal 2 April 2022, dari

https://belajarpython.com/tutorial/apa-itu-python.

Budiani, Ninuk. 2000. Data Flow Diagram: Sebagai Alat Bantu Desain Sistem.

Badan Pelayanan Kemudahan Ekspor dan Pegolahan Data Keuangan

Departemen Keuangan.

Deslianti, Dwita & Syahputra, Nio. (2018). Aplikasi Speech To Text Bahasa

Indonesia Ke Bahasa Bengkulu Menggunakan Pocketsphinx Berbasis Android.

Jurnal Universitas Muhammadiyah Bengkulu.

Guntara, Rangga R, dkk. (2021). Pemanfaatan google Speech To Text Untuk

Aplikasi Pembelajaran Kamus Bahasa Sunda Pada Platform Mobile Android.

Jurnal Sains Dan Teknologi. 4(1).

Petabahasa. Bahasa Minangkabau Provinsi Sumatra Barat.

Petabahasa.kemdikbud.go.id. Diakses tanggal 2 April 2022, dari

https://petabahasa.kemdikbud.go.id/infobahasa2.php?idb=15&idp=Sumatra%2

0Barat.

Suryadharma, I Kadek, dkk. (2014). Perancangan Aplikasi Speech To Text Bahasa

Inggris Ke Bahasa Bali Menggunakan Pocketsphinx Berbasis Android. E-

Proceeding of Engineering.1(1).

Wikipedia. Bahasa Minangkabau. Id.wikipedia.org. Diakses tanggal 2 April 2022,

dari https://id.wikipedia.org/wiki/Bahasa_Minangkabau.

41

Anda mungkin juga menyukai