• Tidak ada hasil yang ditemukan

Implementasi Speech Recognition Untuk Sistem Keamanan Unlock Screen Pada Sistem Operasi Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Speech Recognition Untuk Sistem Keamanan Unlock Screen Pada Sistem Operasi Android"

Copied!
25
0
0

Teks penuh

(1)

LANDASAN TEORI

2.1. Speech Recognition

2.8.1. Suara

Suara adalah jenis gelombang mekanik longitudinal yang dihasilkan melalui getaran suatu benda dan dapat dideteksi oleh telinga. Suara terjadi karena getaran dari setiap substansi. Substansi dapat berupa udara, air, kayu, atau bahan lainnya. Satu-satunya tempat di mana suara tidak dapat merambat adalah ruang vakum. Ketika substansi bergetar atau bergerak maju dan mundur dengan cepat, mereka menghasilkan suara. Telinga kita mengumpulkan getaran ini dan memungkinkan kita untuk menafsirkannya. Sebuah gelombang suara dapat dideskripsikan oleh frekuensi dan amplitudo. Frekuensi 1 Hz berarti 1 cycle gelombang lengkap setiap satu detik. Satuan sebuah frekuensi adalah Hertz (Hz). Frekuensi yang dapat ditangkap oleh telinga manusia adalah antara 20 Hz sampai 20000 Hz. Amplitudo sebuah gelombang mengacu pada besarnya perubahan tekanan dan tingkat kerasnya (loudness) gelombang suara. (Gunawan. 2009)

(2)

Gambar 2.1 Proses Perambatan Gelombang Suara

Sumber: ttp://phya.snu.ac.kr/jyu/mima-14/downloads/files/06-air-on-the-g-string.pdf.

Setiap molekul udara berpindah pada jarak yang kecil sebagai getaran, namun mengakibatkan molekul yang bersebelahan bergetar semua terpengaruh berjalan sampai telinga. Semua gelombang pasti memiliki tiga sifat penting untuk kerja audio meliputi: panjang gelombang, amplitudo dan frekuensi. Gelombang suara dapat juga ditunjukkan dalam grafik seperti ditunjukkan Gambar 2.2.

Gambar 2.2 Grafik Gelombang Suara

Sumber:http://elektronika-dasar.web.id/teori-elektronika/sinyal-audio-gelombang-suara/

2.8.2. Pengucapan

Suara yang dapat dimengerti dapat diartikan dalam bahasa. Secara sederhana, bahasa dapat diartikan sebagai alat untuk menyampaikan sesuatu yang terlintas di dalam pikiran. Namun, lebih jauh bahasa bahasa adalah alat untuk berinteraksi atau alat untuk berkomunikasi, dalam arti alat untuk menyampaikan pikiran, gagasan, konsep atau perasaan. Dalam studi sosiolinguistik, bahasa diartikan sebagai sebuah sistem lambang, berupa bunyi, bersifat arbitrer, produktif, dinamis, beragam dan manusiawi.

(3)

memiliki makna. Contoh lambang bahasa yang berbunyi “nasi” melambangkan

konsep atau makna ‘sesuatu yang biasa dimakan orang sebagai makanan pokok’.

Dalam pengucapan bahasa, menurut (Iskak dan Yustinah. 2008), ada beberapa hal yang perlu diperhatikan:

1. Lafal

Lafal adalah cara seseorang atau sekelompok orang dalam masyarakat mengucapkan bunyi bahasa. Pengucapan bunyi dalam berbicara yang diucapkan masyarakat daerah Jawa berbeda dengan daerah Sumatera. Bunyi bahasa yang kita kenal dalam bahasa Indonesia meliputi Vokal, Konsonan, Diftong, dan Gabungan Konsonan sebagai berikut.

a. Vokal dilambangkan dengan huruf a, i, u, e, o.

b. Konsonan dilambangkan dengan huruf b, c, d, f, g, h, ,j, k, m, n, p, q, r, s, t, u,

v, w, x, y, z

c. Diftong dilambangkan dengan huruf oi, ai, au.

d. Gabungan konsonan dilambangkan dengan kh, ng, ny, sy.

2. Intonasi

Intonasi adalah lagu kalimat. Dari pengucapan menggunakan intonasi yang baik, seseorang dapat memahami apa maksud dan tujuan dari orang yang berbicara kepadanya, sehingga tidak terjadi salah pengertian. Intonasi juga merupakan paduan antara tekanan dan jeda yang menyertai suatu tutur dari awal hingga penghentian terakhir. Intonasi dipengaruhi oleh tinggi rendahnya nada dan keras lembutnya tekanan pada kalimat. Contoh: pelafalan dua kalimat dibawah ini untuk memahami perbedaan intonasi dalam kalimat.

a. Pergi! (intonasi yang naik)

b. Mereka tiba tadi pagi. (intonasi yang datar)

3. Tekanan

a. Tekanan Dinamik

(4)

- Mengemukakan sesuatu pertentangan

- Mengalihkan pembicaraan

- Menyebutkan beberapa jenis benda atau hal-hal yang berturut-turut

- Mementingkan tekanan pada kata yang dipentingkan

b. Tekanan Nada

Tekanan Nada yaitu, ucapan tinggi rendah suara dalam suatu tutur yang berfungsi untuk menyatakan suasana perasaan pembicara.

Contoh: “Huft, hari ini sungguh melelahkan.” (diucapkan dengan suara yang

rendah)

c. Tekanan Tempo

Tekanan tempo yaitu, tekanan yang diucapkan secara lambat pada beberapa kata yang dianggap penting agar diperhatikan pendengar.

Contoh: “B-E-S-O-K akan diadakan pertemuan dengan petinggi perusahaan.” (Kata “besok” diucapkan dengan tempo lambat.)

4. Jeda

Jeda adalah hentian sementara pada ujaran. Jeda biasanya ditandai dengan tanda koma (,), titik (.), titik koma (;), titik dua (:), tanda Tanya (?), dan tanda seru (!)

2.8.3. Speech recognition

Speech recognition adalah sistem yang digunakan untuk mengenali perintah kata dari

suara manusia dan kemudian diterjemahkan menjadi suatu data yang dimengerti oleh komputer. Keuntungan dari speech recognition ini antara lain adalah pada kecepatan dan kemudahan dalam penggunaannya. Kata– kata yang ditangkap dan dikenali bisa jadi sebagai hasil akhir, untuk sebuah aplikasi seperti command & control, penginputan data, dan persiapan dokumen. Parameter yang dibandingkan ialah tingkat penekanan suara yang kemudian akan dicocokkan dengan template database yang tersedia. Sedangkan sistem pengenalan suara berdasarkan orang yang berbicara dinamakan speaker recognition. Namun kompleksitas algoritma yang diimplementasikan speech recognition lebih sederhana daripada speaker recognition.

Speech recognition juga merupakan suatu pengembangan teknik dan sistem

(5)

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.

Pada saat ini, speech recognition digunakan untuk menggantikan peranan input dari keyboard dan mouse, dalam hal ini dapat menggantikan peranan touch screen pada smartphone berbasis Android.

2.8.4. Sejarah speech recognition

Speech recognition atau pengenalan ucapan termasuk ke dalam pengenalan biometrik,

yaitu yang digunakan untuk menganalisa fisik dan kelakuan manusia dalam autentifikasi. Pengidentifikasi biometrik sangat khas, karakteristik yang terukur digunakan untuk mengidentifikasi individu. Dua kategori pengidentifikasi biometrik meliputi karakteristik fisiologis dan perilaku. Karakteristik fisiologis berhubungan dengan bentuk tubuh. Karakteristik perilaku terkait dengan perilaku seseorang, termasuk namun tidak terbatas pada ritme mengetik, kiprah, dan suara.

Generasi pertama (1G) riset di bidang ini berlangsung dari tahun 1952 hingga tahun 1970. Peneliti pada generasi ini (Bell labs, RCA Labs, MIT Lincoln Labs (Amerika Serikat), University College London (Inggris), dan Radio Research Lab, Kyoto Univ.,

NEC Labs (Jepang)) berupaya mengenali digit/ silabel/ bunyi huruf vokal/ fonem

dengan menggunakan pendekatan heuristik.

(6)

mengenali semua pengguna (speaker-independent ASR) juga mulai dikembangkan di Bell Labs. Perkembangan penting lainnya pada generasi ini yaitu mulai dikembangkannya sistem pengenal ucapan yang mampu mengenali ucapan yang bersifat kontinyu (continuous speech recognition) dengan menggunakan penelusuran phonem secara dinamis yang dilakukan oleh Carnegie Mellon University. Teknologi untuk tidak sekedar mengenal ucapan tetapi juga memahami maksud dari ucapan tersebut juga mulai dikembangkan melalui program DARPA.

Awal generasi ketiga (3G) teknologi pengenal ucapan dimulai pada tahun 1980 yang ditandai dengan digunakannya pendekatan statistik. Pada sistem pengenal ucapan menggunakan pendekatan statistic, Hidden Markovs Model (HMM) digunakan untuk membuat model akustik, sedangkan untuk memodelkan bahasa mulai digunakan

n-gram. Untuk pemrosesan suara digunakan cepstrum + deltacepstrum. Selain itu,

pada generasi ketiga mulai dikenal sistem pengenal ucapan berbasis jaringan syaraf tiruan (neural network). Aplikasi manajemen pengaturan sumber daya berbasis pengenal ucapan terotomatisasi dikembangkan melalui DARPA program di berbagai lembaga riset/universitas dunia seperti sistem SPHINX (CMU), BYBLOS (BBN), DECIPHER (SRI), dan di Lincoln Labs, MIT, AT&T Bell Labs.

Speech Recognition pada awalnya menerapkan sebuah aturan gramatikal dan

sintaktikal dari sebuah percakapan. Jika kata-kata yang diucapkan masuk ke dalam aturan yang baku, program dapat menentukan kata-kata tersebut. Aksen, dialek, dan gaya berbahasa seseorang sangat mempengaruhi bagaimana sebuah kata atau frase diucapkan. Sistem berbasis aturan ini dianggap tidak berhasil, karena tidak mampu menangani variasi berbahasa. Hal ini juga menjelaskan mengapa program Speech

Recognition generasi awal tidak dapat menangani percakapan bersambung, karena

user harus berbicara kata perkata secara terpisah. Sebagai jalan keluar dari

(7)

2.8.5. Penggunaan speech recognition di berbagai bidang

Begitu pesatnya teknologi pada zaman ini memacu banyak pihak untuk bersaing dalam berbagai detil pengembangan setiap teknologi itu sendiri. Begitupun dengan

speech recognition yang ada sekarang ini. Banyak manfaat yang digunakan manusia

melalui speech recognition. Semua manfaat dan kegunaannya bertujuan untuk lebih memudahkan pekerjaan manusia dari teknologi sebelumnya. Adapun beberapa manfaat dan kegunaan dari speech recognition:

1. Medis

Peralatan elektronik yang menyimpan riwayat kesehatan atau Electronic Medical

Records (EMR) dapat digunakan secara lebih efektif bila menggunakan teknologi

speech recognition. Proses pencarian, pertanyaan dan pencarian akan lebih mudah

bila menggunakan suara daripada menggunakan keyboard. 2. Militer

Teknologi ini digunakan pada pengoperasian berbagai peralatan pesawat tempur seperti penentuan frekuensi radio, pengaktifan sistem autopilot, penentuan koordinat tuas kendali, parameter peluncuran senjata, pengaktifan sistem navigasi, dan pengaturan tampilan status penerbangan.

3. Otomotif

Salah satu kegunaan yang dapat diambil dari teknologi speech recognition adalah untuk start engine pada kendaraan. Kendaraan secara khusus mobil yang memiliki teknologi ini hanya cukup mengatakan kata untuk menghidupkan mesin mobil, maka mobil dapat menyala.

4. Gadget

Gadget atau alat-alat elektronik seperti tablet, smartphone, maupun laptop dapat

mengambil manfaat dari speech recognition untuk banyak tugas, seperti mencari file, voice search, maupun membuka layar yang terkunci pada smartphone.

5. Bangunan

Fungsi speech recognition juga dapat dipakai untuk keamanan sebuah bangunan. Pintu-pintu menuju ruangan dapat menguncinya dengan teknologi speech

(8)

2.8.6. Jenis-jenis speech recognition

Pengenalan ucapan dalam perkembangan teknologinya merupakan bagian dari pengenalan suara (proses identifikasi seseorang berdasarkan suaranya). Pengenalan suara sendiri terbagi menjadi dua, yaitu pengenalan pembicara (identifikasi suara berdasarkan orang yang berbicara) dan pengenalan ucapan (identifikasi suara berdasarkan kata yang diucapkan).

Berdasarkan kemampuan dalam mengenal kata yang diucapkan, terdapat 5 jenis pengenalan kata, yaitu:

1. Kata-kata yang terisolasi

Proses pengidentifikasian kata yang hanya dapat mengenal kata yang diucapkan jika kata tersebut memiliki jeda waktu pengucapan antar kata

2. Kata-kata yang berhubungan

Proses pengidentifikasian kata yang mirip dengan kata-kata terisolasi, namun membutuhkan jeda waktu pengucapan antar kata yang lebih singkat

3. Kata-kata yang berkelanjutan

Proses pengidentifikasian kata yang sudah lebih maju karena dapat mengenal kata-kata yang diucapkan secara berkesinambungan dengan jeda waktu yang sangat sedikit atau tanpa jeda waktu. Proses pengenalan suara ini sangat rumit karena membutuhkan metode khusus untuk membedakan kata-kata yang diucapkan tanpa jeda waktu. Pengguna perangkat ini dapat mengucapkan kata-kata secara natural. 4. Kata-kata spontan

Proses pengidentifikasian kata yang dapat mengenal kata-kata yang diucapkan secara spontan tanpa jeda waktu antar kata.

5. Verifikasi atau identifikasi suara

Proses pengidentifikasian kata yang tidak hanya mampu mengenal kata, namun juga mengidentifikasi siapa yang berbicara.

2.2. Pemrograman Mobile

(9)

Adapun beberapa bahasa yang digunakan untuk pemrograman perangkat mobile diantaranya:

1. J2ME

2. C++ dalam symbian framework 3. Flash Lite

4. Objective

5. C++ dalam Brew framework (digunakan untuk HP CDMA) 6. C# .NET (OS Windows Mobile)

7. Javafx mobile 8. PHP

Pemrograman untuk mobile device mempunyai aturan tersendiri. Pemrograman dalam J2ME (Java 2 Micro Edition) sudah popular dalam hal pemrograman untuk peralatan dalam ukuran kecil. Ada pula BREW (Binary Runtime Environment for

Wireless) yang dibuat oleh Qualcomm untuk mobile phones. Awalnya BREW

dikembangkan untuk CDMA, dapat mengunduh (men-download) dan dapat menjalankan program-program kecil seperti games, sms, foto dan lain-lain. Keterbatasan yang sangat umum dalam bahasa pemrograman untuk peralatan mobile adalah kendala dalam segala hal sumber daya, seperti ukuran layar, memori, CPU, penyimpanan dan cara menginput data. Perbedaan tampilan juga disebabkan adanya perbedaan hardware dan API yang digunakan.

2.3. Sistem Operasi Android

Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti smartphone dan komputer tablet. Android adalah sistem operasi

open source (Safaat. 2011), dan merupakan sistem operasi yang disematkan pada

gadget, tablet, juga sekarang sudah merambah ke kamera digital dan jam tangan. Saat ini, gadget berbasis Android, baik itu tablet maupun handphone, begitu digandrungi. Selain harganya yang semakin terjangkau, juga banyak varian spesifikasi yang bisa dipilih sesuai kebutuhan.

(10)

mengembangkan Android dibentuklah Open Handset Alliance konsorsium dari 34 perusahaan hardware, software dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualqomm, T-Mobile dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Android memiliki dua distributor, yaitu Google

Mail Service (GMS) dan Open Handset Distributor (OHD). GMS adalah distributor

Android yang mendapatkan dukungan penuh dari Google, sedangkan OHD adalah distibtor Android tanpa dukungan langsung dari Google.

Untuk kebutuhan yang lebih praktis, tablet dan smartphone bisa menggantikan peran dari sebuah komputer, terutama untuk kebutuhan entertainment, seperti mendengarkan lagu, menonton video, mengirim email, bermain game, akses ke jejaring sosial, juga kegiatan hiburan online lainnya. Kode dengan sumber terbuka dan lisensi perizinan pada Android memungkinkan perangkat lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan pengembang aplikasi. Faktor-faktor di atas telah memberikan kontribusi terhadap perkembangan Android, menjadikannya sebagai sistem operasi smartphone yang paling banyak digunakan di dunia.

Berikut ini versi Android yang telah diciptakan (http://developer.android.com):

1. Android versi 1.1

Dirilis oleh Google pada 2009. Versi ini memiliki fitur-fitur umum seperti:

a. Jam.

b. Alarm.

c. Voice search.

d. Pengiriman pesan dengan Gmail.

(11)

2. Android versi 1.5 (Cupcake)

Fitur-fitur yang dimiliki:

a. Merekam dan menonton video dengan mode kamera.

b. Upload video ke YouTube dan gambar ke Picasa langsung.

c. Dukungan Bluetooth.

d. Kemampuan terhubung secara otomatis atau langsung ke headset bluetooth

dengan jarak tertentu.

e. Transisi animasi layar dan keyboard pada layar yang disesuaikan dengan sistem.

3. Android versi 1.6 (Donut)

Android versi ini dibangun pada Linux Kernel 2.6.29. Dengan fitur-fitur baru yang

dimiliki:

a. Penggunaan baterai indikator dan kontrol applet VPN.

b. Galeri memilih foto yang akan dihapus, kamera, dan camcorder.

c. Teknologi yang mendukung CDMA/EVDO, 802.1x, VPN, Text-to-Speech

engine, dan Dial Contact.

d. Support layar dengan resolusi WVGA.

4. Android versi 2.0 / 2.1 (Eclair)

Versi Eclair ini memiliki fitur-fitur seperti :

a. Pengoptimalan hardware dari versi sebelumnya.

b. Peningkatan (Update) Google Maps.

c. Perubahan user interface dengan browser baru dan dukungan HTML5.

d. Daftar kontak yang baru.

e. Dukungan flash untuk kamera.

f. Digital zoom.

(12)

5. Android versi 2.2 (Froyo: Frozen Yoghurt)

Fitur-fitur yang dimiliki:

a. Kerangka aplikasi yang memungkinkan user untuk dapat menghapus komponen.

b. Dalvik Virtual Machine (DVM) yang dioptimalkan.

c. Adanya grafik dalam bentuk 2D dan 3D.

d. SQLite.

e. Mendukung media audio dan video dalam berbagai format.

f. GSM, Bluetooth, EDGE, 3G, WiFi, Camera, Global Positioning (GPS),

Kompas, dan Accelerometer (tergantung hardwaredevice).

6. Android versi 2.3 (Gingerbread)

Fitur-fitur yang dimiliki:

a. SIP-based VoIP.

b. Near Field Communications (NFC).

c. Gyroscope dan sensor.

d. Multiple Cameras Support.

e. Mixable Audio Effects.

f. Download Manager.

7. Android versi 3.0 / 3.1 (Honeycomb)

Versi ini dirilis khusus untuk PC Tablet, dengan memiliki fitur-fitur seperti:

a. Aksesoris API terbuka.

b. USB host API.

c. Keyboard external dan perangkat penunjuk.

d. Joystick dan Gamepads.

(13)

8. Android versi 4.0 (Ice Cream Sandwich)

Fitur-fitur yang dimiliki:

a. Membuka kunci dengan pengenalan wajah atau biasa disebut face recognition.

b. Jaringan data pemantuan pengguna dan kontrol.

c. Terpadu kontak jaringan sosial.

d. Perangkat tambahan fotografi.

e. Mencari email secara offline dan berbagi informasi menggunakan NFC.

9. Android versi 4.1 (Jelly Bean)

Fitur-fitur yang dimiliki:

a. Tampilan user inteface yang semakin menarik.

b. Update Voice Search.

c. Ukuran widget otomatis menyesuaikan ukuran dengan space yang tersisa pada

layar.

10. Android versi 4.4 (KitKat)

Fitur-fitur yang dimiliki:

a. Tidak membutuhkan RAM yang tinggi

b. Menyimpan pesan anda ke memory internal ataupun external.

c. Proteksi yang cukup bagus

d. Mendukung resolusi yang berkualitas yakni resolusi 4 K

e. Built-in power saving mode untuk ketahanan baterai.

f. Smart Caller ID.

g. Sinkronisasi dari SMS antar perangkat.

h. Prosesor tri core

i. Google now untuk menonton TV

(14)

2.4. Unlock Screen

Home screen adalah tampilan awal atau halaman yang menampilkan aplikasi-aplikasi

yang ter-install atau folder dalam smartphone. Namun ketika tidak digunakan,

smartphone biasanya akan dikunci dengan beberapa cara untuk penghematan baterai

atau untuk kepentingan keamanan data. Untuk membukanya kembali, dibutuhkan kunci yang unik sesuai dengan metode pengunciannya. Umumnya sistem pengunci pada sebuah handphone berbentuk password, dimana untuk membuka kunci layarnya, dibutuhkan sederetan input huruf atau angka. Namun dengan kemajuan teknologi dalam sistem operasi Android memungkinkan banyak cara untuk mengunci maupun membuka layarnya.

Beberapa metode umum dalam mengunci layar adalah dengan teknik pola (pattern), teknik pin, teknik sandi, maupun teknik pengenalan suara, bahkan yang terbaru menggunakan pengenalan wajah. Begitupun dengan teknik membukanya, memiliki cara yang bergantung dari teknik menguncinya. Namun, ada pula teknik mengunci layar dengan tampilan yang unik dan menarik, walaupun untuk membukanya tidak membutuhkan teknik yang kompleks, karena hanya dengan sentuhan jari dari sisi satu ke sisi yang lain, layar akan terbuka.

2.5. Text to Speech

Implementasi dari speech recognition tidak lepas dari bagaimana kita mengucapkan suatu kata yang nantinya akan dipakai sistem sebagai acuan untuk memproses suatu permasalahan, dalam hal ini, untuk membuka layar sentuh yang terkunci. Untuk mengucapkan suatu kata tersebut, sangat dibutuhkan adanya tata bahasa dan kosakata yang dimiliki user. Bahasa dan kosakata dapat diterjemahkan menjadi tulisan atau

text. Maka, tulisan atau pengetikan suatu kata dapat menjadi bahan dan acuan suatu

sistem untuk menyimpan dan mengingatnya apabila user menginput data walaupun berupa ucapan.

Secara umum, konsep text to speech dibagi 2, yaitu: 1. Teks ke fonem

(15)

kode fonem. Kode fonem terdiri dari kode sampa, nilai durasi dan nilai frekuensinya.

Contoh:

Tabel 2.1 Contoh Teks ke Fonem

Fonem Kode sampa Contoh kata

i I ikan

e E medan

k K kapas

2. Fonem ke ucapan

Bagian fonem ke ccapan akan menerima masukan berupa kode-kode fonem serta

pitch dan durasi yang dihasilkan oleh bagian sebelumnya. Berdasarkan kode-kode

tersebut, bagian fonem ke ucapan akan menghasilkan bunyi atau sinyal ucapan yang sesuai dengan kalimat yang ingin diucapkan.

Konsep text to speech dapat digunakan dalam penelitian ini untuk menyimpan data awal sebagai kata kunci yang akan digunakan sistem. Untuk set awal kata sandinya, user harus memasukkan kata yang nantinya akan menjadi kata sandi pembuka layar. Kata tersebut akan dikonversi dan disimpan menggunakan konsep

text to speech ini dan disimpan dalam library untuk segera dipanggil ketika user

akan membuka layar.

2.6. Android Development Tools (ADT)

SDK (Software Development Kit) adalah perangkat lunak yang disediakan dalam satu paket utuh untuk membantu seseorang atau instansi untuk membangun dan mengembangkan sebuah aplikasi. Untuk aplikasi-aplikasi berbasis Android, digunakan Android SDK, yang menyediakan berbagai macam tools untuk membantu dalam pengembangan aplikasinya.

(16)

Pengembangan aplikasi di Eclipse dengan ADT sangat membantu dan dapat mempermudah untuk penyelesaian program berbasis Android. Dengan pengaturan yang disediakan, serta alat-alat terintegrasi, banyak editor, dan debug keluaran panel.

Plugin ADT pertama dikeluarkan pada tahun 2009 dengan versi ADT 0.9.4 hingga

pada saat ini versi ter-update dari plugin ini sudah pada versi 22.6.2. Beberapa kegunaan dari ADT sebagai berikut:

1. Sudah terintegrasi baik dengan Java (IDE) 2. Pengembangan aplikasi GUI

3. Dapat dikembangkan pada device 4. Dapat dikembangkan pada hardware 5. Dapat dikembangkan pada virtual device 6. Mudah untuk menjalankan (debug)

2.7. Application Programming Interface (API)

Application Programming Interface adalah kumpulan perintah, fungsi, dan protokol

yang digunakan oleh programmer untuk menciptakan dan mengembangkan aplikasi berdasarkan sistem operasi tertentu. API mengijinkan programmer menggunakan fungsi-fungsi yang sudah disediakan untuk membuat aplikasi yang berinteraksi dengan sistem operasi, sehingga apa yang diperlukan aplikasi dapat dikenali sistem operasi dan dapat berjalan dengan baik. API secara sederhana bisa diartikan sebagai kode program yang merupakan antarmuka atau penghubung antara aplikasi atau web yang kita buat dengan fungsi-fungsi yang dikerjakan. Misalnya dalam hal ini Google API berarti kode program (yang disederhanakan) yang dapat kita tambahkan pada aplikasi atau web kita untuk mengakses/menjalankan/memanfaatkan fungsi atau fitur yang disediakan Google.

Dalam API terdapat fungsi-fungsi atau perintah-perintah untuk menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang lebih terstruktur dan mudah dimengerti oleh pengembang. System call interface ini berfungsi sebagai penghubung antara API dan system call yang dimengerti oleh sistem operasi. System

call interface ini akan menerjemahkan perintah dalam API dan kemudian akan

memanggil system calls yang diperlukan.

(17)

diterjemahkan dulu oleh program menjadi perintah open(). Perintah open() ini merupakan perintah dari API dan bukan perintah yang langsung dimengerti oleh kernel sistem operasi. Oleh karena itu, agar keinginan user dapat dimengerti oleh sistem operasi, maka perintah open() tadi diterjemahkan ke dalam bentuk system call oleh system call interface. Implementasi perintah open() tadi bisa bermacam-macam tergantung dari sistem operasi yang kita gunakan.

Dalam API terdapat banyak fungsi-fungsi atau perintah-perintah aplikasi beserta bantuannya berupa contoh-contoh yang sudah dikumpulkan menjadi suatu wadah. Aplikasi yang sudah disusun dalam bentuk source code membutuhkan banyak bagian-bagian untuk membangunnya menjadi suatu aplikasi yang mudah digunakan.

Bentuk interface merupakan salah satu hal penting dalam membangun sebuah aplikasi agar dengan mudah digunakan oleh user. Dengan adanya beberapa file

support yang akan membantu agar tampilan aplikasi lebih user friendly. Begitupun

dengan penyusunan bagaimana interaksi aplikasi dengan user. Dengan semua bagian-bagian ini, source code dapat lebih mudah terintegrasi karena adanya API, sehingga aplikasi dapat berjalan dengan baik tanpa perlu penyesuaian lain dari sistem operasi. API telah banyak disediakan oleh pemilik layanan, misalnya: Google, Facebook, Twiter, Amazon dan lain-lain.

Platform-platfrom API (Application Programming Interface)

1. Dalam sistem operasi

• Windows: WinAPI, ShellAPI, dll

• Linux/Unix: Kernel, socket, dll

• Mobile device (Disediakan melalui SDK) Nokia: Symbian OS SDK, UIQ

Windows CE / Pocket PC: winceos core Blackberry: Blackberry SDK, Blackberry JDE Java Based: J2ME SDK

Android: Google Android SDK 2. Graphic API

• DirectX: game, multimedia streaming

(18)

4. Database Connector ADODB: dengan ODBC

OLEDB: dengan provider library Direct Connection

MySQL PostgreSQL SQLite

Aplikasi

Contoh

API

Pendukung

Source code

input/output

interface

Tampilan

Gambar 2.3 Struktur API

Contoh penggunaan dari API dapat kita lihat pada situs www.youtube.com. Situs Youtube menyediakanlayanan video streaming mulai dari video musik, triler, movie, olahraga dan lebih banyak lagi bahkan tutorial dalam mengerjakan sesuatu. Disisi lain

Youtube pun menyediakan API, sehingga video dapat diintegrasikan di situs yang lain.

(19)

Gambar 2.4 Tampilan Halaman Situs Youtube

Gambar 2.5 Tampilan Streaming Video Youtube di Situs Lain

2.8. Hidden Markov Models (HMMs)

2.8.1. Sejarah

(20)

menganalisis partikel - partikel gas dalam suatu kontainer tertutup sebagai alat untuk meramalkan keadaan cuaca.

(Achmad. 2009) Hidden Markov Model merupakan pengembangan dari Markov model. Setelah perkembangannya diakhir tahun 1970, HMM telah terbukti sangat kuat dan fleksible dalam pemodelan statistik yang menggambarkan berbagai jenis data terurut.Sekarang ini HMM telah tersebar dalam berbagai area science dan engineering. Aplikasinya meliputi analisis biologi, klimatologi, komunikasi, ekonometri, image processing, pengenalan karakter tulisan dan speech recognition. Hidden Markov Model (HMM) adalah suatu model probabilitas yang menggambarkan hubungan statistik antara urutan observasi O dan urutan state S yang tidak diobservasi ”hidden”.Ciri-ciri HMM adalah sebagai berikut:

a. Observasi diketahui tetapi urutan keadaan (state) tidak diketahui sehingga disebut

hidden.

b. Observasi adalah fungsi probabilitas keadaan.

c. Perpindahan keadaan adalah dalam bentuk probabilitas.

2.8.2. HMM dalam Speech Recognition

Model ini digunakan pada Modern General-Purpose Speech Recognition System. Model ini merupakan model yang statistikal dimana output adalah sekuens dari simbol atau kuantitas. Model ini digunakan karena sebuah sinyal dari pengucapan bisa dilihat seperti piecewise stationary signal atau short-time stationary signal, selain itu model ini sederhana dan secara komputasional bisa digunakan.

a. Tipe-Tipe Model Markov Tersembunyi

Menurut (Andrej dan E. Stephen. 1991) ada dua tipe dasar HMM yaitu: 1. Discrete Hidden Markov Model (DHMM)

Menggunakan probabilitas keluaran diskret nonparameter berdasarkan proses kuantisasi vektor sebelumnya.

2. Continuous Hidden Markov Model (CHMM)

Menggunakan kerapatan parameter pada model untuk probabilitas keluarannya.

b. Parameter Distribusi

(21)

1. Probabilitas Transisi

, Pr 1 , 1 ,

2. Probabilitas observasi

, Pr |

3. Distribusi keadaan awal

, Pr

Sedangkan parameter tertentu HMM ada dua yaitu N dan M.

1. N, jumlah keadaan model. Dinotasikan himpunan terbatas untuk keadaan yang mungkin adalah Q = {q1, …….., qN}

2. M, jumlah dari simbol observasi/ keadaan, ukuran huruf diskret. Simbol observasi berhubungan dengan keluaran fisik dari system yang dimodelkan. Dinotasikan himpunan terbatas untuk observasi yang mungkin adalah V= {V1,……..,VM}.

c. Masalah Dasar HMM

Menurut (Lawrence. 1992) ada 3 masalah dasar HMM yang harus dipecahkan untuk model yang diterapkan di dunia nyata, yaitu:

1. Menghitung P(O⎮ λ ) bila diberikan urutan observasi O = O1 O2 ... OT dan sebuah model λ =(A, B, π ).

2. Memilih urutan keadaan yang paling optimal yang berhubungan dengan Q = q1q2 ... qT bila diberikan urutan observasi O = O1O2 ... OT dan sebuah model λ =(A, B, π ).

3. Mengatur parameter λ agar P(O⎮ λ ) maksimal.

Untuk memecahkan masalah pertama dengan menggunakan algoritma Maju-Mundur. Masalah kedua dipecahkan dengan menggunakan algoritma Viterbi. Sedangkan masalah ketiga dipecahkan dengan algoritma Baum-welch.

c. Penentuan Parameter secara Umum

(Achmad. 2009) Cara merepresentasi sinyal suara agar dapat dianalisa lebih lanjut dilakukan dengan mempresentasikan sinyal suara ke dalam suatu bentuk. Suatu sinyal suara pada intinya dapat dipresentasikan ke dalam bentuk:

- representasi sinyal suara dalam bentuk gelombang.

(22)

Untuk representasi suara dalam bentuk gelombang dengan menampilkan pola-pola gelombang suara yang ada. Sedangkan representasi sinyal suara dalam bentuk parameter merupakan cara representasi sinyal yang cukup rumit karena dari sinyal yang ada akan dihitung secara matematis parameter sinyal yang mengandung informasi sinyal. Representasi sinyal suara ke dalam parameter memberikan hasil yang lebih baik daripada representasi sinyal suara dalam bentuk gelombang. Penentuan parameter HMM secara umum dapat dilihat seperti pada Gambar 2.6:

Gambar 2.6 Penentuan Parameter secara Umum. Sumber: Achmad. 2009

Diasumsikan sinyal suara merupakan pesan yang di-encoding dengan urutan satu atau lebih simbol. Urutan tersebut adalah parameter vektor suara yang diasumsikan merupakan representasi gelombang suara dengan periode tertentu. Sebuah gelombang suara dibagi-bagi dengan lama periode tertentu misalnya 10 ms, jadi untuk frekuensi sampling 8000 Hz akan mempunyai 80 titik per periode 10 ms. Representasi gelombang suara menjadi vektor suara menggunakan fitur LPC (Linear Predictive

Coding).

Hidden Markov Models digunakan dalam proses tahapan alat pengenal ucapan secara umum, yaitu:

1. Tahap penerimaan masukan

Memasukkan input data berupa kata-kata yang diucapkan lewat pengeras suara. 2. Tahap ekstrasi

(23)

parameter-parameter tersembunyi dari parameter yang dapat diamati, parameter yang telah ditentukan tersebut kemudian digunakan untuk analisis yang lebih jauh pada proses pengenalan kata yang diucapkan. Berdasarkan HMM, proses ini menghasilkan keluaran sebagai sinyal, sinyal tersebut dapat bersifat diskrit (karakter dalam abjad) maupun kontinu (pengukuran temperatur, alunan musik). Model sinyal secara garis besar dapat dikategorikan menjadi dua, yaitu:

a. Model deterministik: menggunakan nilai-nilai properti dari sebuah sinyal, seperti amplitudo, frekuensi dan fase dari gelombang sinus.

b. Model statistikal: menggunakan nilai-nilai statistik dari sebuah sinyal, seperti proses Gaussian, proses Poisson, proses Markov, dan proses Markov Tersembunyi.

Suatu model HMM secara umum memiliki unsur-unsur sebagai berikut:

a. N, yaitu jumlah bagian dalam model. Secara umum bagian tersebut saling terhubung satu dengan yang lain, dan suatu bagian bisa mencapai semua bagian yang lain, serta sebaliknya (disebut dengan model ergodik). Namun hal tersebut tidak mutlak karena terdapat kondisi lain dimana suatu bagian hanya bisa berputar ke diri sendiri dan berpindah ke satu bagian berikutnya. Hal ini bergantung pada implementasi dari model.

b. M, yaitu jumlah simbol observasi secara unik pada tiap bagiannya, misalnya: karakter dalam abjad, dimana bagian diartikan sebagai huruf dalam kata. c. Probabilitas Perpindahan Bagian { } = ij A a

d. Probabilitas Simbol Observasi pada bagian j, { } () = j Bb k e. Inisial Distribusi Bagian i p p

Setelah memberikan nilai N, M, A, B, dan p, maka proses ekstraksi dapat diurutkan. Berikut adalah tahapan ekstraksi pengenalan ucapan berdasarkan HMM:

a. Tahap ekstraksi tampilan

Penyaringan sinyal suara dan pengubahan sinyal suara analog ke digital b. Tahap tugas pemodelan

(24)

c. Tahap sistem pengenalan HMM

Penemuan parameter-parameter yang dapat merepresentasikan sinyal suara untuk analisis lebih lanjut.

3. Tahap pembandingan

Tahap ini merupakan tahap pencocokan data baru dengan data suara pada pola. Tahap ini dimulai dengan proses konversi sinyal suara digital hasil dari proses ekstraksi ke dalam bentuk spektrum suara yang akan dianalisa dengan membandingkannya dengan pola suara pada basis data. Sebelumnya, data suara masukan dipisahkan dan diproses satu per satu berdasarkan urutannya. Proses yang pertama kali dilakukan ialah memproses gelombang kontinu spektrum suara ke dalam bentuk diskrit. Langkah berikutnya ialah proses kalkulasi yang dibagi menjadi dua bagian:

a. Transformasi gelombang diskrit menjadi data yang terurut

Gelombang diskrit berbentuk masukan berukuran n yang menjadi objek yang akan dibagi pada proses konversi dengan cara pembagian rincian waktu

b. Menghitung frekuensi pada tiap elemen data yang terurut

Tiap elemen dari data yang terurut tersebut dikonversi ke dalam bentuk bilangan biner.

4. Tahap validasi

Alat pengenal ucapan yang sudah memiliki sistem verifikasi/identifikasi suara akan melakukan identifikasi orang yang berbicara berdasarkan kata yang diucapkan setelah menerjemahkan suara tersebut menjadi tulisan atau perintah.

2.9. Penelitian yang Relevan

Berikut penelitian tentang speech recognition dalam beberapa implementasi:

(25)

2. Penelitian Konverter Suara dengan Input Bahasa Indonesia ke Video Gerakan Bahasa Isyarat dengan Metode Speech Recognition (Hidden Markov Model) untuk Penderita Tunarungu oleh Resa Septiari dan Hanny Haryanto pada tahun 2012. (Resa dan Hanny. 2012).

3. Pada Tugas Akhir Vera Monika. Perangkat keras yang mudah dibawa dan digunakan oleh hampir semua orang di zaman yang modern ini adalah telepon seluler atau telepon pintar (smartphone). Dengan menggunakan sistem operasi

Android dan metode Hidden Markov Model (HMM), penulis akan menciptakan

program aplikasi penerjemah dari Bahasa Inggris ke Bahasa Indonesia dan sebaliknya. Aplikasi pengenalan suara (speech recognition) yaitu Android speech

to text ini akan bekerja dengan cara menangkap suara sebagai input. Suara

Gambar

Gambar 2.1 Proses Perambatan Gelombang Suara
Tabel 2.1 Contoh Teks ke Fonem
Gambar 2.3 Struktur API
Gambar 2.4 Tampilan Halaman Situs Youtube
+2

Referensi

Dokumen terkait

Komponen yang diamati adalah skor (Tabel 2 dan 3) dan persentase buah yang aril, kulit dan juringnya tercemar getah kuning, kandungan Ca pektat pada perikarp buah serta

We adopted Hofstede s cultural dimension (PDI, IDV, MAS, UAI, LTO) as influence factors to Perceive of Usefulness, Perceive Ease of Use and Social Influence which has been known

Modul training disusun dari berbagai sumber dan media pembelajaran dengan penyajian materi dalam bentuk pengenalan konsep; teori; dan praktek; serta tentunya dipandu oleh trainer

Suatu metodologi penelitian ini menggunakan metode kuantitatif yang berupa angket yang didukung dengan wawancara untuk mengkaji persepsi mahasiswa tentang pentingnya

Paket pengadaan ini terbuka untuk penyedia yang teregistrasi pada Layanan Pengadaan Secara Elektronik ( LPSE ) dan memenuhi persyaratan SBU Bidang Arsitektur yang

PENETAPAN NOMOR URUT DAN NAMA PASANGAN CALON GUBERNUR DAN WAKIL GUBERNUR SEBAGAI PESERTA PADA PEMILIHAN GUBERNUR DAN WAKIL GUBERNUR DKI JAKARTA TAHUN 2017.. NOMOR

Ikhtisar Aspek Keberlanjutan Tata Kelola Keberlanjutan Tantangan Pandemi Bersama Melewati Inspirasi dalam Perbankan Berkelanjutan Inspirasi Budaya Keberlanjutan Inspirasi

Berdasarkan uji hipotesis yang telah dilakukan, dapat disimpulkan bahwapersepsi pelanggan terkait implementasi prinsip etika bisnis islam berpengaruh positif dan