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

BAB 2

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)
Gelombang suara bervariasi sebagaimana variasi tekanan media perantara
seperti udara. Suara diciptakan oleh getaran dari suatu obyek, yang menyebabkan
udara disekitarnya bergetar. Getaran udara ini kemudian menyebabkan gendang
telinga manusia bergetar, yang kemudian oleh otak diinterpretasikan sebagai suara.
Gelombang suara berjalan melalui udara kebanyakan dengan cara yang sama seperti

perjalanan gelombang air melalui air. Namun, karena gelombang air mudah untuk
dilihat dan dipahami, maka sering digunakan sebagai analogi untuk mengilustrasikan
bagaimana perambatan gelombang suara.

Universitas Sumatera Utara

6

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-gelombangsuara/

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.
Bahasa adalah sebuah sistem, artinya, bahasa dibentuk oleh sejumlah
komponen yang berpola secara tetap dan dapat dikaidahkan. Sistem bahasa berupa
lambang-lambang bunyi, setiap lambang bahasa melambangkan sesuatu yang disebut
makna atau konsep. Karena setiap lambang bunyi itu memiliki atau menyatakan suatu
konsep atau makna, maka dapat disimpulkan bahwa setiap suatu ujaran bahasa

Universitas Sumatera Utara

7

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
Tekanan Dinamik yaitu tekanan keras untuk memberikan sebuah fokus
terhadap sebuah kata agar dapat menjadi perhatian khusus bagi pendengar.
Fungsi tekanan dinamik adalah sebagai berikut:

Universitas Sumatera Utara

8

- 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
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


Universitas Sumatera Utara

9

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.
(Lestari. 2012) Di awal tahun 1970, pendekatan yang digunakan bergeser ke
arah penyesuaian pola (pattern matching) yang menandai awal dimulainya generasi
kedua (2G). Pada generasi ini dikenal teknik DTW (dynamic time warping) yang
digunakan oleh Vintsyuk (Rusia) dan NEC labs (Jepang). Pengenal ucapan yang
mampu mengenali kata-kata secara terisolasi sudah mulai digunakan dalam berbagai
aplikasi, khusunya di Rusia dan Jepang. Selain itu, sistem pengenal ucapan yang
mampu mengenali kata dalam jumlah yang besar (large-vocabulary ASR system)
mulai dikembangkan di IBM Labs dan sistem pengenal ucapan yang mampu

Universitas Sumatera Utara


10

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
permasalahan ini, program speech recognition mutakhir memakai sistem permodelan
statistika yang lengkap dan rumit. Sistem ini menggunakan fungsi probabilitas
(kemungkinan) dan matematika untuk memutuskan hasil yang paling mendekati. Dua
model yang paling banyak digunakan saat ini adalah Hidden Markov Model dan
jaringan syaraf (neural networks). Kedua metode melibatkan fungsi matematika yang
kompleks, mengambil informasi yang diketahui, memprosesnya di dalam sistem untuk
menemukan informasi yang tersembunyi.

Universitas Sumatera Utara

11

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
recognition, sehingga tidak memerlukan kunci manual untuk membukanya.

Universitas Sumatera Utara

12

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 katakata 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
Semakin banyaknya smartphone dengan berbagai macam sistem operasi di dalamnya,
menjadi salah satu alasan mengapa pemrograman mobile mempunyai prospek yang
bagus ke depannya. Dalam beberapa platform mobile yang dapat digunakan antara
lain Android, Blackberry OS, iOS, Nokia OS, Palm OS, Symbian dan Windows
Phone.

Universitas Sumatera Utara

13

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.
Awalnya, perusahaan search engine terbesar saat ini, yaitu Google Inc.
membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel.
Android, Inc. didirikan oleh Andy Rubin, Rich Milner, Nick Sears dan Chris White
pada tahun 2003. Pada Agustus 2005 Google membeli Android Inc. Kemudian untuk

Universitas Sumatera Utara

14

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.
e. Pemberitahuan email.

Universitas Sumatera Utara

15

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.
g. Update Bluetooth.

Universitas Sumatera Utara

16

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.
e. Layar home widget resizeable.

Universitas Sumatera Utara

17

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
j. Mengetahui nomor kontak mana yang sering di hubungi.

Universitas Sumatera Utara

18

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
Proses yang terjadi pada teks ke fonem adalah mengubah kalimat (text) yang dalam
suatu bahasa yang berbentuk teks menjadi kode-kode bunyi tersenditi, yang disebut

Universitas Sumatera Utara

19

kode fonem. Kode fonem terdiri dari kode sampa, nilai durasi dan nilai
frekuensinya.
Contoh:
Tabel 2.1 Contoh Teks ke Fonem
Fonem
i
e
k

Kode sampa
I
E
K

Contoh kata
ikan
medan
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.
Android Development Tools (ADT) adalah plugin untuk IDE Eclipse yang
dirancang untuk memberikan pengembangan terpadu untuk membangun aplikasi
Android. ADT memperluas kemampuan Eclipse untuk membantu pengembang
aplikasi dengan cepat mengatur sebuah project Android baru, membuat aplikasi UI ,
menambahkan paket berdasarkan Kerangka Android API, menjalankan aplikasi
menggunakan SDK Android, dan membuat file apk dalam rangka untuk
mendistribusikan aplikasi.

Universitas Sumatera Utara

20

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.
Untuk membuka suatu file tersebut user menggunakan program yang telah
dibuat dengan menggunakan bantuan API, maka perintah dari user tersebut

Universitas Sumatera Utara

21

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 bagianbagian 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
• OpenGL: factal, 3D modeling
3. Modem: TAPI (Telephony API)

Universitas Sumatera Utara

22

4. Database Connector
ADODB: dengan ODBC
OLEDB: dengan provider library
Direct Connection
MySQL
PostgreSQL
SQLite

Aplikasi

Contoh

API

Tampilan

Source code
Pendukung

input/output
interface

Gambar 2.3 Struktur API

Contoh penggunaan dari API dapat kita lihat pada situs www.youtube.com.
Situs Youtube menyediakan layanan 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.

Youtube menyediakan basic embedded player yang telah menyediakan player control,
pengguna hanya perlu menanamkan (embeded) saja di web atau aplikasinya. Untuk
fungsi lainnya, Youtube menyediakan chromeless player, dimana pengguna dapat
membuat player kontrolnya sendiri. Dengan adanya API ini user tidak perlu lagi membuka
situs Youtube, tapi cukup hanya streaming dalam situs browsingnya.

Universitas Sumatera Utara

23

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
Hidden Markov Models merupakan pengembangan model statistik dari model
Markov, dimana suatu sistem yang dimodelkan diasumsikan sebagai markov proses
dengan dengan kondisi yang tidak terobservasi. Model Markov dikembangkan oleh
seorang ahli yang berasal dari rusia bernama A. A Markov pada tahun 1906. Teknik
ini mula-mula digunakan pada ilmu pengetahuan fisik dan meteorologi untuk

Universitas Sumatera Utara

24

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
Menurut Menurut (Andrej dan E. Stephen. 1991) HMM mempunyai parameterparameter distribusi sebagai berikut:

Universitas Sumatera Utara

25

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 =
q1 q2 ... qT bila diberikan urutan observasi O = O1 O2 ... OT dan sebuah model
λ =(A, B, π ).
3. Mengatur parameter λ agar P(O⎮

λ ) maksimal.

Untuk memecahkan masalah pertama dengan menggunakan algoritma MajuMundur. 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.
- representasi sinyal suara dalam bentuk parameter.

Universitas Sumatera Utara

26

Untuk representasi suara dalam bentuk gelombang dengan menampilkan polapola 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
Tahap ini adalah tahap penyimpanan masukan yang berupa suara sekaligus
pembuatan basis data sebagai pola. Proses ini dilakukan berdasarkan Hidden
Markov Model (HMM). Hal pertama yang dilakukan adalah menentukan

Universitas Sumatera Utara

27

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
Pembuatan suatu model HMM dari data-data yang berupa sampel ucapan
sebuah kata yang sudah berupa data digital

Universitas Sumatera Utara

28

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:

1.

Dalam makalah Pengenalan Ucapan Kata Terisolasi dengan Metode Hidden
Markov Model (HMM) melalui Ekstraksi Ciri Linear Predictive Coding (LPC)
oleh Achmad Hidayatno dan Sumardi pada tahun 2006. (Achmad dan Sumardi.
2006).

Universitas Sumatera Utara

29

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
tersebut diproses dengan metode HMM dimana akan dicari peluang terbesar yang
cocok dengan model bahasa yang ada dan akan ditampilkan dalam bentuk teks.
Hasil teks tersebut dapat diterjemahkan ke bahasa yang berlawanan dalam hal ini
antara Bahasa Inggris dan Bahasa Indonesia. (Monika. 2012)

Universitas Sumatera Utara