02 bab 2 landasan teori - bina nusantara | library &...

29
6 BAB 2 LANDASAN TEORI 2.1. Algoritma dan Pemrograman Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah 8) . Kumpulan perintah ini biasanya diterjemahkan oleh komputer secara bertahap dari yang pertama sampai yang terakhir secara sekuensial. Masalah yang terkait disini dapat berupa berbagai macam masalah asalkan masalah tersebut memiliki kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Usbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algoritma adalah istilah yang merujuk kepada aturan-aturan aritmatik untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan. Jenis-jenis algoritma dapat diklasifikasikan berdasarkan metode yang digunakan untuk mendesain algoritma tersebut. Menurut Cormen dan Leiserson,

Upload: vankhuong

Post on 22-May-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

6

BAB 2

LANDASAN TEORI

2.1. Algoritma dan Pemrograman

Dalam matematika dan komputasi, algoritma merupakan kumpulan

perintah untuk menyelesaikan suatu masalah8). Kumpulan perintah ini biasanya

diterjemahkan oleh komputer secara bertahap dari yang pertama sampai yang

terakhir secara sekuensial. Masalah yang terkait disini dapat berupa berbagai

macam masalah asalkan masalah tersebut memiliki kriteria kondisi awal yang

harus dipenuhi sebelum menjalankan algoritma.

Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari

Usbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum

pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de

numero Indorum". Pada awalnya kata algoritma adalah istilah yang merujuk

kepada aturan-aturan aritmatik untuk menyelesaikan persoalan dengan

menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada

judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang

mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk

menyelesaikan suatu permasalahan.

Jenis-jenis algoritma dapat diklasifikasikan berdasarkan metode yang

digunakan untuk mendesain algoritma tersebut. Menurut Cormen dan Leiserson,

Page 2: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

7

disamping metoda sekuensial (Sequential Programming), terdapat empat metode

umum yang digunakan dalam mendesain algoritma yaitu Divide and Conquer,

Dynamic Programming, Greedy Algorithms, dan Amortized Analysis. Penjelasan

dari masing – masing metoda diberikan pada sub bab berikut.

2.1.1. Divide and Conquer

Divide and Conquer merupakan pendekatan algoritma yang

membagi-bagi permasalahan ke dalam bentuk yang lebih kecil, sehingga

dapat dipecahkan secara terpisah9). Pendekatan ini memecahkan masalah

ke dalam sub-masalah yang mirip namun dengan ukuran yang lebih kecil,

untuk kemudian dapat dipecahkan secara rekursif (perulangan). Hasil

pemecahan tiap-tiap sub-masalah kemudian digabungkan kembali untuk

mendapatkan solusi masalah secara keseluruhan.

Pendekatan Divide and Conquer memiliki tiga langkah umum

pada setiap tingkat perulangan, yaitu Divide, Conquer, dan Combine.

Contoh umum dari penggunaan pendekatan ini dalah dalam algoritma

Merge Sort. Pada algoritma Merge Sort, banyaknya angka yang ada

dibagi dengan pembagi dua (Langkah Divide). Kemudian urutkan angka-

angka tersebut pada tiap sub-masalahnya (Langkah Conquer). Setelah

angka-angka tersebut terurut, gabungkan dengan sub-masalah lainnya

agar membentuk solusi umum (Langkah Combine).

Page 3: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

8

Menggunakan pendekatan Divide and Conquer memiliki

keuntungan sebagai berikut :

- Dapat memecahkan masalah yang sulit.

Divide and Conquer merupakan cara yang sangat efektif untuk

menyelesaikan masalah yang rumit. Contoh lain yang memerlukan

pendekatan ini adalah penyelesaian Tower of Hanoi. Pada Tower of

Hanoi, akan lebih efektif untuk memecahkan masalah adalah dengan,

menyelesaikan masalah dan kemudian menggabungkannya, daripada

menyelesaikan secara sekuensial tanpa memecahkan ke dalam sub-

masalah terlebih dahulu.

- Memiliki efisiensi algoritma yang tinggi.

Pendekatan Divide and Conquer juga memiliki efisiensi algoritma

yang cukup tinggi. Contohnya, jika ukuran masalah n memiliki sub-

masalah p dengan ukuran n/p pada tiap perulangannya, maka

kompleksitas algoritma untuk ukuran waktu konstan O akan menjadi

( )nnO log . Cara ini lebih efisien dalam menyelesaikan algoritma

sorting yang memiliki kompleksitas algoritma ( )2nO jika dijalankan

dengan algoritma sekuensial.

- Dapat bekerja secara paralel.

Divide and Conquer telah didisain untuk dapat bekerja dalam mesin-

mesin yang memiliki banyak prosesor. Terutama mesin yang

Page 4: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

9

memiliki sistem pembagian memori, dimana komunikasi data antar

prosesor tidak perlu direncanakan terlebih dahulu, hal ini karena

pemecahan sub-rutin dapat dilakukan di prosesor lainnya.

- Akses memori yang cukup kecil.

Untuk akses memori, Divide and Conquer dapat meningkatkan

efisiensi memori yang ada cukup baik. Hal ini karena, sub-rutin

memerlukan memori lebih kecil daripada masalah utamanya.

Disamping itu, Divide and Conquer hanya memerlukan satu bagian

memori untuk menyelesaikan sub-rutin sub-rutin tersebut (karena

berupa perulangan dan sudah memiliki pesanan memori untuk

variabel-variabelnya).

Kerugian – kerugian menggunakan pendekatan Divide and

Conquer adalah:

- Lambatnya proses perulangan

Proses pemanggilan sub-rutin yang berlebih, sehingga call stack

penuh dari beberapa sub-rutin tersebut. Hal ini dapat menjadikan

beban yang cukup signifikan pada prosesor. Misalnya pengulangan

yang terus menerus pada sub-rutin yang cukup banyak, sehingga

dapat memperlambat proses pengulangan.

Page 5: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

10

- Lebih rumit untuk masalah yang sederhana

Untuk pemecahan masalah yang relatif sederhana, algoritma

sekuensial terbukti lebih mudah dibuat daripada algoritma divide and

conquer. Hal ini disebabkan karena algoritma sekuensial tidak perlu

melalui ketiga langkah yang dilakukan oleh divide and conquer.

Salah satu contohnya ialah, untuk menambah n-banyak bilangan,

perulangan sederhana akan lebih mudah dibuat daripada harus

memecah n-bilangan tersebut, menambahkannya satu sub-rutin demi

satu sub-rutin, kemudan menjumlahkan hasil dari sub-rutin tersebut.

2.1.2. Dynamic Programming

Seperti metoda Divide and Conquer, Dynamic Programming juga

menyelesaikan masalah dengan cara menggabungkan solusi-solusi dari

penyelesaian subrutin-subrutinnya1). Perbedaan pokok Dynamic

Programming dapat digunakan saat subrutin-subrutinnya tidak

independen, yaitu, saat subrutinnya membagi sub-subrutin. Dalam

konteks ini, Divide and Conquer memerlukan langkah yang lebih banyak

daripada Dynamic Programming, karena harus mengerjakan subsubrutin

yang mirip berkali-kali. Pada Dynamic Programming, setiap subsubrutin

hanya dijalankan sekali untuk kemudian disimpan nilainya didalam tabel,

sehingga dapat mempersingkat waktu kerja.

Page 6: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

11

Dynamic Programming biasanya diaplikasikan pada masalah

optimisasi. Masalah seperti ini dapat memiliki banyak solusi. Setiap

solusi memiliki nilai-nilai yang berbeda. Disinilah tugas Dynamic

Programming untuk mencari solusi yang paling optimal. Pengembangan

Dynamic Programming dapat dipecah menjadi empat langkah utama,

yaitu:

1. Menyusun struktur solusi optimal.

2. Secara rekursif tentukan nilai dari solusi optimal tersebut.

3. Hitung nilai solusi optimal dengan cara bottom-up.

4. Buat solusi optimal dari informasi-informasi tersebut.

Keuntungan Dynamic Programming adalah bahwa metode ini

dapat mempersingkat waktu yang sangat signifikan bagi masalah yang

memiliki lebih dari satu solusi, karena dapat menemukan solusi yang

optimal. Sedangkan kerugiannya adalah bahwa Dynamic Programming

juga memerlukan waktu yang relatif lebih lama saat memecahkan

masalah dengan subrutin yang relatif sedikit.

Salah satu contoh permasalahan yang memerlukan solusi optimal

adalah pencarian angka ke-n dari deret Fibonacci, yang beradasarkan

pada definisi matematis:

function fib(n)

if n = 0 or n = 1

return n

Page 7: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

12

else

return fib(n - 1) + fib(n - 2)

Jika pada rumus diatas dipanggil fib(5), akan ada banyak fungsi

yang sama yang dipanggil berkali-kali:

1. fib(5)

2. fib(4) + fib(3)

3. (fib(3) + fib(2)) + (fib(2) + fib(1))

4. ((fib(2) + fib(1)) + (fib(1) + fib(0))) + ((fib(1) +

fib(0)) + fib(1))

5. (((fib(1) + fib(0)) + fib(1)) + (fib(1) + fib(0))) +

((fib(1) + fib(0)) + fib(1))

Pada umumnya, fib(2) dihitung dua kali (pada no. 3). Pada contoh

yang lebih besar, banyak fungsi fib(n), atau subrutin, yang dikomputasi

ulang, sehingga memerlukan waktu yang cukup besar. Jika menggunakan

Dynamic Programming, maka nilai fib(2) hanya perlu dilakukan sekali

dimana nilai tersebut kemudian akan ditampung di satu tabel yang akan

dipanggil kembali jika menemukan kasus serupa. Fungsi hasilnya hanya

memerlukan kompleksitas O(n) daripada menggunakan sekuensial,

maupun Divide and Conquer.

Page 8: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

13

2.1.3. Greedy Algorithms

Algoritma yang digunakan untuk optimalisasi solusi biasanya

melewati beberapa langkah, dengan pilihan-pilihan di setiap langkahnya.

Untuk banyak masalah yang memerlukan optimalisasi solusi,

menggunakan Dynamic Programming akan membuang banyak sumber

daya (memori dan waktu). Greedy Algorithm merupakan metode yang

akan selalu memilih pilihan yang terbaik di setiap langkahnya. Greedy

Algorithm selalu memilih pilihan optimal pada setiap langkahnya yang

berpeluang tinggi untuk menjadi pilihan terbaik seterusnya. Contoh

masalah yang dapat diselesaikan dengan Greedy Algorithm adalah

Minimum Spanning Tree, Dijkstra’s Algorithm untuk jalan terpendek dari

satu sumber, dan Chvatal Greedy Set-Covering Heuristic.

2.1.4. Amortized Analysis

Dalam Amortized Analysis, waktu yang diperlukan untuk

memproses struktur-data terurut dirata-ratakan dari semua operasi.

Amortized Analysis dapat digunakan untuk menunjukkan bahwa nilai

operasi rata-rata cukup kecil, walaupun ada beberapa operasi yang

memiliki nilai besar. Metoda ini cukup berguna untuk menghitung nilai

sumber daya yang terbuang secara keseluruhan.

Page 9: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

14

2.2. Kecerdasan Buatan (Artificial Intelligence)

Kecerdasan buatan atau Artificial Intelligence (AI) adalah salah satu

cabang ilmu komputer yang berhubungan dengan tingkah laku yang pintar,

belajar dan dapat beradaptasi pada mesin2). Penelitian pada Artificial

Intelligence dipusatkan pada penghasilan mesin yang mengotomatisasikan

tugas-tugas yang memerlukan tingkah laku yang pintar. Contohnya kontrol,

perencanaan dan penjadwalan, kemampuan menjawab diagnostik dan

pertanyaan-pertanyaan pelanggan, handwriting, suara dan pengenalan wajah.

Untuk itu, Artificial Intelligence telah menjadi disiplin ilmu, difokuskan pada

penyediaan solusi masalah-masalah kehidupan nyata, aplikasi software, game

strategi seperti catur komputer dan video game lainnya.

2.2.1. Klasifikasi Ilmu Artificial Intelligence

Artificial Intelligence dibagi dalam dua bidang studi yaitu:

Artificial Intelligence Konvensional dan Computational Intelligence (CI).

Artificial Intelligence Konvensional terutama meliputi metode yang

diklasifikasikan sebagai mesin yang belajar (machine learning), dicirikan

dengan analisis statistika. Ini juga dikenal sebagai simbolik Artificial

Intelligence, logikal Artificial Intelligence, neat Artificial Intelligence

(menyatakan solusi harus luwes, jelas dan benar) dan Good Old

Fashioned Artificial Intelligence (GOFAI). Metodenya meliputi :

- Sistem Pakar (Expert System): menerapkan kemampuan menalar

untuk mencapai kesimpulan. Sebuah sistem pakar dapat memproses

Page 10: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

15

sejumlah besar informasi yang diketahui dan menyediakan

kesimpulan berdasarkan informasi tersebut.

- Case based reasoning : merupakan proses penyelesaian masalah baru

berdasarkan pada solusi dari masalah lampau yang serupa. Case

based reasoning dapat disebut juga menganalogikan masalah yang

mirip dengan masalah lampau.

- Bayesian networks : merupakan grafik asiklik tertuju dimana tiap

node-nya mewakilkan satu variabel, dan garis penghubung tiap node

disebut hubungan ketergantungan statistik diantara variabel tersebut

dan nilai distribusi probabilitas lokal untuk tiap variabel yang

diberikan dari node sebelumnya.

- Behavior based Artificial Intelligence : merupakan kecerdasan buatan

dimana kecerdasannya dibuat dari banyak elemen modul yang relatif

sederhana dalam membuatnya. Setiap elemen berfungsi hanya pada

konteks khusus, yang hanya dikenali oleh modul tersebut.

Computation Intelligence meliputi pengembangan iterative atau

belajar. Pembelajaran didasarkan pada kumpulan data-data empiris yang

dihubungkan dengan kecerdasan buatan non-simbolik. Beberapa metode

pembelajaran tersebut adalah sebagai berikut:

- Neural Network: sistem dengan kemampuan pengenalan pola.

Page 11: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

16

- Fuzzy System: teknik untuk menalar dibawah ketidakpastian, secara

luas digunakan pada industri modern dan sistem kontrol produk

konsumen.

- Evolutionary computation: menerapkan konsep yang terinspirasi dari

permasalahan biologi seperti populasi, mutasi dan survival of the

fittest untuk menghasilkan solusi yang lebih baik. Metode ini dapat

dibagi lagi menjadi evolutionary algorithm (contoh genetic

algorithm) dan swarm intelligence (contoh ant algorithm).

Dengan hybrid intelligent system berusaha untuk membuat

kombinasi dari dua group ini. Aturan kesimpulan pakar dapat dihasilkan

melalui neural network atau aturan produksi dari pembelajaran statistika

seperti ACT-R. Otak manusia menggunakan multiple teknik untuk

bersama-sama memformulasikan dan menghasilkan cross-check. Jadi,

integrasi terlihat menjanjikan dan mungkin perlu dalam artificial

intelligence yang sebenarnya.

Satu metode baru yang menjanjikan disebut intelligence

amplification, dimana mencoba mencapai tingkat artificial intelligence

dalam proses pengembangan yang evolusioner sebagai penjelasan

kecerdasan manusia melalui teknologi.

Page 12: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

17

2.2.2. Pengunaan artificial intelligence pada Bisnis

Bank menggunakan sistem kecerdasan buatan untuk

mengorganisasikan operasi, penanaman saham dan mengatur properti.

Pada agustus 2001, robot melebihi manusia dalam simulasi kompetisi

pertukaran keuangan (BBC news, 2001). Klinik medikal dapat

menggunakan sistem kecerdasan buatan untuk mengatur dan

menjadwalkan, membuat rotasi pegawai dan menyediakan informasi

secara periodik. Banyak juga aplikasi tergantung pada jaringan syaraf

tiruan (ANN – artificial neural network), yaitu jaringan yang

mempolakan organisasi dalam cara meniru otak manusia. Aplikasi ini

mempunyai banyak kebaikan dalam hal pengenalan pola. Institusi

keuangan telah lama menggunakan sistem seperti ini untuk mendeteksi

klaim di luar kewajaran. ANN juga digunakan secara luas pada homeland

security, suara dan pengenalan teks, diagnosis medical, data mining dan

e-mail spam filtering. Homeland security mempunyai fungsi untuk

mencegah, mendeteksi, menanggapi dan memperbaiki suatu tingkah laku

kegiatan seperti teroris dan juga bencana alam.

Robot juga telah umum digunakan di banyak industri. Mereka

sering diberikan pekerjaan yang dipertimbangkan berbahaya bagi

manusia. Robot juga terbukti efektif pada pekerjaan yang sangat

repetitive yang mungkin menyebabkan kesalahan atau kecelakaan tugas

karena kehilangan konsentrasi, jika dikerjakan oleh manusia. Contohnya

Page 13: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

18

General Motor (GM) menggunakan 16.000 robot untuk tugas painting,

welding dan assembly. Jepang merupakan negara pemimpin dalam

penggunaan robot, dari data yang didapat pada 1995, 700.000 robot

digunakan secara luas diseluruh dunia dan lebih dari 500.000 berasal dari

Jepang (Encarta, 2006).

2.3. Pengenalan Suara

Pengenalan suara (Voice recognition atau dikenal juga sebagai automatic

speech recognition, computer speech recognition) adalah proses mengubah

sinyal suara ke kalimat (text)11). Dalam hal ini diperlukan algoritma yang

diimplementasikan pada program komputer untuk menjalankan perintah

tersebut. Aplikasi pengenalan suara muncul beberapa tahun yang lalu termasuk

voice dialing, data entry sederhana (contoh memasukkan nomor kartu kredit)

dan menyediakan dokumen terstruktur (contoh laporan radiologi).

2.3.1. Kinerja Sistem Pengenalan Suara

Sistem pengenalan suara, tergantung pada beberapa faktor, dapat

memiliki rentang kinerja yang diukur dari rata-rata error kalimat. Faktor-

faktor ini termasuk lingkungan, rata-rata berbicara, konteks (atau tata

bahasa) yang digunakan dalam pengenalan.

Kebanyakan pengguna pengenalan suara cenderung setuju bahwa

mesin perintah dapat mencapai kinerja yang tinggi pada kondisi

Page 14: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

19

terkontrol. Bagian yang membingungkan terutama datang dari campuran

penggunaan istilah pengenalan suara dan pendiktean.

Sistem pendiktean memerlukan periode pendek pelatihan yang dapat

menangkap suara yang berlanjutan dengan kosakata yang luas dengan

akurasi yang tinggi. Kebanyakan perusahaan komersial mengklaim

bahwa software pengenalan dapat mencapai antara 98% sampai 99%

keakuratannya jika beroperasi pada kondisi yang optimal. Kondisi

optimal ini berarti pengetesan subjek memiliki 1) karakteristik speaker

yang cocok dengan data training, 2) pembicara yang sama, dan 3)

lingkungan yang tenang (tanpa noise). Inilah penyebab mengapa pada

kebanyakan pengguna, menemukan kinerja rata-rata pengenalan lebih

rendah dari 98% sampai 99%. Keterbatasan yang lainnya adalah

kosakata, sistem tanpa pelatihan hanya dapat mengenali sejumlah kecil

kalimat dari beberapa pembicara.

2.3.2. Formula Noisy Channel pada Statistika Pengenalan Suara

Banyak metode modern seperti sistem pengenalan suara HMM

(Hidden Markov Model) berdasarkan formulasi noisy channel. Metoda ini

menyatakan bahwa tugas dari sistem pengenalan suara untuk mencari

rangkaian kata yang mirip untuk sinyal akustik yang diketahui. Dengan

kata lain, sistem mencari rangkaian kata diantara semua

kemungkinan kata dari rangkaian W* sinyal akustik A. Menurut Hidden

Page 15: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

20

Markov Model terminologi disebut rangkain observasi. Model tersebut

adalah :

............(2.1)

Berdasarkan aturan Bayes, formula diatas dapat ditulis ulang sebagai :

..............(2.2)

Sinyal akustik umumnya pada pemilihan rangkaian kata, maka

formula diatas dapat disederhanakan menjadi :

................(2.3)

Dimana : disebut model akustik. dikenal

sebagai model bahasa.

Pemodelan akustik dan pemodelan bahasa penting untuk dipelajari

pada statistika pengenalan suara. Pada skripsi ini akan fokus pada

penjelasan penggunaan hidden Markov Model (HMM) karena digunakan

pada banyak sistem secara luas.

Page 16: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

21

2.4. Pengenalan Percakapan

Speech Recognition atau pengenalan percakapan adalah proses yang

mengkonversi sinyal percakapan menjadi kata-kata teridentifikasi, dengan

melalui serangkaian algoritma12). Aplikasi-aplikasi yang terlahir dari teknologi

tersebut adalah voice dialing (contohnya “call home”), call routing (contohnya

“I would like to make a collect call”), simple data entry, dan persiapan membuat

dokumen terstruktur.

2.4.1. Sejarah Pengenalan Percakapan

Penelitian dalam Pengenalan Percakapan Otomatis (Automatic

Speec Recognition—ASR) sudah dimulai lebih dari 60 tahun yang lalu5).

Percobaan pertama untuk membuat sistem ASR dengan mesin

berlangsung pada tahun 1950an, saat banyak peneliti berusaha

mengeksploitasi ide-ide mendasar dari fonetika akustik. Pada tahun 1952

di Laboraturium Bell, Davis, Biddulph, dan Balashek membangun sebuah

sistem untuk mengenali digit yang diucapkan oleh satu pembicara. Sistem

tersebut bekerja dengan cara mengukur resonansi spektral di daerah vokal

pada tiap digitnya. Dengan usaha mandiri di RCA Laboratories pada

tahun 1956, Olson dan Belar mencoba untuk mengenali 10 suku kata

berbeda pada satu pembicara, yang kemudian diwujudkan dalam 10 kata

dengan suku kata satu (monosyllabic words). Sistem tersebut juga bekerja

dengan pengukuran spektral terutama di daerah vokal. Pada tahun 1959,

pada sebuah Universitas di Inggris, Fry dan Denes mencoba membuat

Page 17: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

22

pengenal fonem untuk mengenali 4 vokal dan 9 konsonan. Mereka

menggunakan Spectrum Analyzer dan pattern matcher untuk membuat

keputusan pengenalan. Aspek yang tergolong baru dalam penelitian ini

adalah penggunaan informasi statistik tentang urutan fonem di Inggris

yang diperbolehkan (sintaks bahasa yang belum sempurna). Kasusnya

adalah untuk meningkatkan akurasi fonem keseluruhan untuk kata-kata

yang terdiri dari dua fonem atau lebih. Usaha lain yang dilakukan dalam

periode ini adalah pengenal vokal dari Forgie and Forgie, yang dibuat di

MIT Lincoln Laboratories pada taun 1959, yang mana mengenali 10

vokal yang melekat dalam format /b/-vokal-/t/ tanpa tergantung pada

pembicaranya. Pada sistem ini digunakan Filter Bank Analyzer untuk

menghasilkan informasi spektral, dan estimasi variasi waktu dari

resonansi pernapasan manusia dibuat untuk menentukan vokal mana yang

dibicarakan.

Pada tahun 1960an beberapa ide-ide mendasar dalam pengenalan

percakapan bermunculan dan dipublikasikan. Namun, ide-ide tersebut

berawal di Jepang saat beberapa peneliti Jepang membuat special-

purpose hardware sebagai bagian dari sistemnya. Satu sistemnya, yang

dibuat oleh Suzuki dan Nakata dari Lab Radio Research di Tokyo, adalah

perangkat keras pengenal vokal. Sistem tersebut menggunakan

elaborated filter bank spectrum analyzer yang menghubungkan semua

output dari tiap kanal analis spektrum (dengan diberi nilai) ke sirkuit

Page 18: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

23

vowel-decision. Disini menggunakan skema logis keputusan mayoritas

yang digunakan untuk memilih vokal yang diucapkan. Perangkat keras

Jepang lainnya yang dibuat oleh Doshita dari Universitas Kyoto pada

tahun 1962 adalah pengenal fonem. Dalam perangkat keras ini,

diperlukan pembagi percakapan dengan analisis zero-crossing dari

banyak daerah berbeda di suara input untuk menghasilkan output yang

terkenali. Usaha orang Jepang yang ketiga adalah perangkat keras

pengenal digit dari Nagata di Laboratorium NEC pada tahun 1963.

Perangkat keras ini merupakan yang paling terkenal sebagai percobaan

pertama dalam pengenalan percakapan di NEC dan merupakan awal dari

program riset yang lama dan sangat produktif.

Sekitar tahun 1960an dibuat tiga proyek yang berdampak sangat

besar dalam penelitian dan pengembangan pengenalan percakapan selama

20 tahun terakhir. Proyek pertama adalah hasil usaha Martin dan teman-

temannya di Laboratorium RCA, yang dimulai pada akhir 1960an.

Proyek ini mengembangkan solusi realistis untuk permasalahan yang

berhubungan dengan ketidakseragaman skala waktu pada kasus-kasus

percakapan. Martin mengembangkan beberapa metoda normalisasi-

waktu, berdasarkan pada kemampuan untuk mendeteksi awal dan akhir

percakapan, yang secara signifikan mengurangi variasi nilai pengenalan.

Martin mengembangkan metode tersebut dan berhasil mempublikasikan

produk pengenalan percakapannya dengan dibantu oleh Threshold

Page 19: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

24

Technology Company. Pada saat itu pula, di The Soviet Union, Vintsyuk

mengusulkan penggunaan metode dynamic programming untuk

menyamaratakan waktu pada sepasang ungkapan, yang kemudian

dinamakan metoda dynamic time warping. Walaupun inti dari konsep

dynamic time warping dikembangkan di dalam proyek Vintsyuk, namun

proyek ini tidak terdengar sampai ke belahan bumi bagian barat hingga

awal 1980an, dimana metode-metode formal sudah diusulkan dan

diimplementasikan oleh peneliti lain.

Karya sukses terakhir pada tahun 1960an adalah penelitian

perintis dari Reddy di bidang pengenalan percakapan kontinyu dengan

penelusuran dinamis fonem-fonem. Penelitian Reddy selanjutnya

berkembang menjadi program riset pengenalan percakapan di Universitas

Carnegie Mellon yang sampai saat ini merupakan pemimpin sistem

pengenalan percakapan kontinyu.

Pada tahun 1970an, riset pengenalan percakapan meraih banyak

pengembangan-pengembangan. Pertama pengembangan di bidang kata

terisolasi atau pengenalan ungkapan diskrit oleh Velichko dan Zagoruyko

di Russia, Sakoe dan Chiba di Jepang, dan Itakura di Amerika. Velichko

dan Zagoruyko mempelajari pengembangan ide-ide pengenalan-pola

dalam pengenalan percakapan. Chiba dan Sakoe meneliti bagaimana

Dynamic Programming dapat diaplikasikan dengan baik. Penelitian

Page 20: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

25

Itakura menunjukkan ide Linear Predictive Coding (LPC), yang pada saat

itu sudah pernah digunakan dalam Low-bit-rate Speech Coding, dan

dapat dikembangkan dalam sistem rekognisi percakapan melalui

penggunaan pengukuran jarak teratur berdasarkan parameter spektral

LPC.

Pengembangan lain di tahun 1970an adalah awal dari penelitian

panjang dalam pengenalan percakapan di IBM dimana para peneliti

mempelajari tiga tugas berbeda selama hampir dua dekade. Tiga tugas

tersebut adalah : New Raleigh Language untuk operasi basis data

sederhana, The Laser Patent Text Language untuk merekam paten laser,

dan tugas korespondensi kantor, serta Tangora, untuk pengucapan memo

sederhana.

Pada AT&T Bell Labs, peneliti memulai serangkaian eksperimen

yang bertujuan membuat sistem rekognisi percakapan yang benar-benar

tidak tergantung pada pembicaranya. Untuk mencapainya, algoritma

clustering digunakan untuk menentukan beberapa pola berbeda yang

diperlukan untuk merepresentasikan semua variasi kata-kata berbeda

pada populasi pengguna yang luas. Penelitian ini telah dikembangkan

selama lebih dari 10 tahun sehingga tehnik untuk membuat pola bebas-

pembicara (Independent Speaker) saat ini dapat digunakan dengan bebas.

Page 21: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

26

Setelah rekognisi kata terisolasi menjadi kunci fokus riset di tahun

1970an, masalah rekognisi kata tersambung menjadi fokus riset pada

tahun 1980an. Tujuannya adalah untuk menciptakan sistem kokoh yang

mampu mengenali serangkaian kata-kata yang diucapkan dengan lancar

berdasarkan pada penyesuaian pola-pola berkesinambungan pada kata-

kata individu. Banyak algoritma pengenalan kata tersambung yang

diformulasikan dan diimplementasikan, diantaranya :

- pendekatan pemrograman dinamis dua-tingkat oleh Sakoe di Nippon

Electric Corporation (NEC)

- metode one-pass oleh Birdle dan Brown di Joint Speech Research

Unit (JSRU) di Inggris

- pendekatan pembangunan tingkat oleh Myers dan Rabiner di Bell

Labs, dan

- pendekatan pembuatan tingkat singkronisasi kerangka oleh Lee dan

Rabiner di Bell Labs.

Tiap prosedur penyesuaian ‘optimal’ ini memiliki keuntungan

implementasinya masing-masing, yang dieksploitasi untuk banyak tugas.

Penelitian percakapan pada tahun 1980an dicirikan dengan adanya

pergeseran teknologi dari pendekatan berdasarkan cetakan (template) ke

metoda modeling statistikal—terutama pendekatan Hidden Markov

Model (HMM). Walaupun metodologi HMM dapat dipahami oleh

beberapa laboratorium (terutama IBM, Institute for Defense Analyses

Page 22: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

27

(IDA), dan Dragon Systems), namun belum dapat disebarluaskan

sebelum pertengahan tahun 1980an, dimana pada saat itu tehnik ini telah

diaplikasikan ke seluruh laboratorium riset pengenalan percakapan di

dunia.

Teknologi ‘baru’ lainnya yang dikenalkan di akhir tahun 1980an

adalah ide atau gagasan mengaplikasikan jaringan syaraf tiruan (JST)

atau Artificial Neural Network (ANN) pada permasalahan pengenalan

percakapan. JST pertama kali dikenalkan pada tahun 1950an, namun

tidak pernah terbukti berguna karena memiliki banyak masalah dalam

prakteknya. Namun, pada tahun 1980an, pemahaman mendalam tentang

keuntungan dan kerugian dari JST dipelajari, sebagaimana dengan

hubungan teknologi tersebut dengan metode klasifikasi sinyal klasik.

Beberapa cara baru untuk mengimplementasikan sistem juga dikenalkan.

Tahun 1980an merupakan dekade dimana motivasi utama

diberikan untuk mengembangkan sistem pengenalan percakapan kontinyu

oleh komunitas Defense Advanced Research Projects Agency (DARPA).

Sponsor program riset besar ini bertujuan meraih akurasi tinggi untuk

pengenalan percakapan kontinyu 1000 kata. Kontribusi riset utama

dihasilkan oleh CMU (juga dikenal dengan SPHINX System), BBN

dengan Bylos System, Lincoln Labs, SRI, MIT, dan AT&T Bell Labs.

Program DARPA berlanjut sampai tahun 1990an, dengan pergeseran

Page 23: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

28

tekanan kepada bahasa natural di pengenalnya. Pada waktu yang sama,

teknologi pengenalan percakapan telah banyak digunakan dalam jaringan

telefon untuk mengotomasikan juga mengembangkan servis-servis

operator.

2.4.2. Hidden Markov Model

Hidden Markov Model (HMM) merupakan pendekatan yang dapat

mengelompokkan sifat-sifat spektral dari tiap bagian suara pada beberapa

pola4). Teori dasar dari HMM adalah dengan mengelompokkan sinyal

suara sebagai proses parametrik acak, dan parameter proses tersebut

dapat dikenali (diperkirakan) dalam akurasi yang tepat.

2.4.2.1.Arsitektur Hidden Markov Model

Diagram dibawah menunjukkan arsitektur umum dari HMM,

seperti disajikan pada gambar 2.1. Tiap bentuk oval mewakili variabel

random yang dapat mengambil nilai. Variabel random x(t) yaitu nilai

dari variabel tersembunyi pada waktu t. Variabel random y(t) yaitu

nilai variabel yang diteliti pada waktu t. Tanda panah pada diagram

menunjukkan ketergantungan kondisi.

Page 24: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

29

Gambar 2.1 Evolusi temporal dari hidden Markov model

Dari diagram, ini jelas bahwa nilai variabel tersembunyi x(t)

(pada waktu t) hanya tergantung pada nilai variabel tersembunyi x(t-1)

(pada waktu t-1). Serupa, nilai variabel yang diteliti y(t) hanya

tergantung pada nilai variabel tersembunyi x(t) (keduanya pada waktu

t).

2.4.2.2.Implementasi HMM pada Pengenalan Suara4)

Salah satu implementasi HMM yang digunakan pada skripsi ini

adalah implementasi HMM pada sistem pengenalan suara. Diagram blok

disajikan pada gambar 2.2. Gambar tersebut menunjukkan diagram blok

dari pendekatan pengenalan pola pada sistem pengenalan suara kontinyu.

Gambar 2.2 Diagram Blok Pengenalan Suara Kontinyu

Page 25: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

30

Langkah-langkah pengenalan pola secara umum dapat dijelaskan

sebagai berikut:

Suara yang menjadi input pada Gambar 2.2 akan melalui proses

Feature Analysis yang memfilter suara input menjadi spektral-spektral

suara. Setelah melalui proses Feature Analysis, spektral suara kemudian

akan dipecah menjadi suku kata-suku kata pada proses Unit Matching

System. Pada proses Unit Matching System, sistem akan membaca

database suku kata untuk kemudian dicari suku kata-suku kata yang mirip

dengan spektral suara input. Pada Lexical Decoding, tiap suku kata yang

terdapat di Unit Matching System disusun menjadi kata berdasarkan Word

Dictionary. Pada Synctactic Analysis, tiap kata yang terdapat di Lexical

Decoding disusun menjadi frase berdasarkan database frase Grammar.

Dengan berdasarkan pada database Task Model, Semantic Analysis

memungkinkan pembentukan kalimat dari frase-frase yang ada di

Syntactic Analysis.

Sedangkan pengertian dari tiap-tiap proses adalah sebagai berikut:

a. Feature Analysis

Merupakan analisis spektral dan atau temporal dari sinyal

suara yang dilakukan untuk mengobservasi vektor yang akan

digunakan untuk melatih HMM yang mengelompokkan

berbagai suara percakapan.

Page 26: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

31

b. Unit Matching System

Unit Matching System bertugas menyamakan semua bagian-

bagian percakapan unit dengan input percakapan. Teknik

untuk memberikan nilai kesesuain, dan menentukan nilai

pasangan terbaik (subyek ke leksikal dan batasan sintaktik

sistem) termasuk tumpukan prosedur dekoding, dan prosedur

penilaian akses leksikal. Kemungkinan dapat memuat unit

sub-kata linguistik seperti phones, diphones, demisyllables,

dan syllables, juga unit derivasinya seperti fenemes, fenones,

dan unit akustik. Kemungkinan lain juga meliputi unit kata

keseluruhan, dan bahkan unit yang berkorespondensi ke

kelompok 2 atau lebih kata (frase dan preposisi seperti and an,

in the, of a, dll). Secara umum, makin sederhana unitnya

(contohnya phones), maka makin sedikit dari mereka yang

berada di dalam bahasa, dan makin kompleks strukturnya di

percakapan kontinyu. Untuk rekognisi suara skala besar

(menggunakan lebih dari 1000 kata), penggunaan sub-kata

unit percakapan semakin dibutuhkan karena sulit untuk

merekam set pelatihan yang cukup untuk mendisain unit-unit

HMM jika katanya terlalu banyak. Namun, untuk aplikasi

spesialisasi (contohnya menggunakan kosakata yang sedikit,

dan tugas-tugas yang dibatasi), menganggap kata sebagai

Page 27: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

32

basis unit percakapan merupakan hal yang masuk akal dan

praktis.

c. Lexical Decoding

Proses ini meletakkan batasan-batasan pada unit matching

system sehingga jalan-jalan yang dilalui merupakan jalan-jalan

yang berhubungan dengan bagian-bagian percakapan yang

terdapat pada kamus kata. Prosedur ini menjelaskan bahwa

kamus kata pengenalan suara harus dispesifikasikan dalam

istilah unit dasar yang dipilih untuk pengenalan. Spesifikasi

tersebut dapat berupa satu atau lebih state jaringan terbatas,

atau berupa statistikal. Pada kasus dimana unit yang dipilih

adalah kata-kata (atau kombinasi kata—frase), langkah

Lexical Decoding dapat dihilangkan dan struktur pengenalan

dapat disederhanakan.

d. Syntactic Analysis

Proses ini, meletakkan batasan-batasan lebih jauh pada

sistem penyesuaian unit sehingga jalur yang dicari benar-

benar merupakan jalur yang berisikan kata-kata yang sesuai

dengan kata-kata inputnya. Kata – kata dalam jalur tersebut

terdiri atas kata-kata dan kata-kata tersebut memiliki

rangkaian yang sesuai dengan yang terletak pada kamus

Page 28: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

33

katanya. Kamus kata tersebut dapat direpresentasikan dengan

jaringan state deterministik terbatas (dimana semua kombinasi

kata yang diterima oleh kamus kata disebutkan), atau dengan

kamus kata statistikal. Contohnya model kata trigram yang

mana kemungkinan urutan 3 kata spesifik sudah ditentukan.

Untuk beberapa tugas kontrol dan perintah, hanya satu kata

dari beberapa set terbatas yang dibutuhkan untuk dikenali.

Oleh sebab itu, kamus katanya bersifat trivial atau kadang-

kadang tidak diperlukan. Tugas-tugas tersebut biasanya

termasuk kedalam tugas pengenalan kata terisolasi. Untuk

aplikasi lain (contohnya rangkaian digit) kamus kata yang

sangat sederhana sudah cukup memenuhi persyaratan tersebut.

Namun, ada tugas-tugas dimana kamus kata menjadi faktor

dominan. Maka kamus kata dapat mengembangkan performa

rekognisi dengan menghasilkan batasan-batasan pada

rangkaian unit percakapan yang merupakan kandidat-kandidat

valid. Walaupun hal ini menambah batasan-batasan lebih

lanjut dalam proses pengenalan

e. Semantic Analysis

Proses ini, seperti pada synctactic analysis maupun lexical

decoding, menambah batasan-batasan lebih lanjut pada set

jalur pencarian rekognisi percakapan input. Namun, pada

Page 29: 02 BAB 2 Landasan Teori - BINA NUSANTARA | Library & …library.binus.ac.id/eColls/eThesisdoc/Bab2/2007-2-0025… ·  · 2008-02-21pada definisi matematis: function fib(n) if n =

34

Semantic Analysis, batasan-batasan tersebut diatur melalui

model dinamis dari state rekognisi. Berdasarkan state

rekognisi, beberapa string input yang benar dieliminasi secara

syntactic dari beberapa pilihan. Hal ini membuat tugas

rekognisi lebih mudah dan dapat meningkatkan performa

sistem.