05 bab ii landasan teori - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2008-1-00284-mtif bab...
TRANSCRIPT
7
BAB II
LANDASAN TEORI
2.1. System Development Life Cycle (SDLC)
Dalam membuat sebuah software (program aplikasi) terdapat beberapa
paradigma atau model proses, lima diantaranya adalah The Classic Life Cycle atau yang
biasa dikenal dengan Waterfall Model, Prototyping Model, Fourth Generation
Techniques (4GT), Spiral Model, dan Combine Model. Dalam pengembangan program
aplikasi Speech Recognizer ini model proses yang digunakan adalah Waterfall Model.
Menurut Royce (1929–1995), secara umum ada enam tahapan dalam Waterfall
Model, seperti gambar dibawah ini:
Gambar 2.1 System Development Life Cycle dengan Waterfall Model.
Sumber: http://en.wikipedia.org/wiki/Waterfall_model
Tahap-tahap tersebut disusun seperti model aliran air terjun sehingga disebut
dengan Waterfall Model. Model ini menjadi panduan langkah-demi langkah pembuatan
8
program aplikasi supaya project pengembangan program aplikasi tersebut dapat selesai
dan dibuat sesuai kebutuhan yang diharapkan oleh pengguna.
2.2 Flowchart
Flowchart atau sering juga ditulis sebagai flow-chart dan flow chart adalah
representasi skema dari suatu algoritma atau suatu proses (Wikipedia 2008). Flowchart
pertama kali diperkenalkan oleh Frank Gilbreth kepada anggota ASME (American
Society of Mechanical Engineers) pada tahun 1921 sebagai representasi “Process
Charts—First Steps in Finding the One Best Way” dan saat ini menjadi alat yang sering
digunakan untuk menunjukkan aliran proses dalam suatu algoritma.
Pada website Wikipedia dikatakan bahwa sebuah flowchart standar dari buku-
buku computer science akan memiliki simbol-simbol seperti berikut ini:
• Simbol Mulai dan Selesai yang berbentuk oval atau persegipanjang dengan
ujung-ujungnya yang tumpul. Biasanya terdapat kata “Mulai” atau “Selesai”
atau frase lainnya yang menunjukkan awal dan akhir dari sebuah proses.
• Anak Panah, menunjukkan apa yang disebut dengan “alur kontrol” dalam
computer science. Anak panah keluar dari satu simbol dan berakhir pada
simbol lainnya menunjukkan bahwa kontrol beralih pada simbol yang
ditunjukkan oleh ujung panah.
• Langkah Proses, direpresentasikan sebagai sebuah persegi panjang. Contoh:
“Tambahkan 1 pada X”.
• Masukan atau Keluaran, direpresentasikan sebagai persegi panjang,
Contoh: “Ambil nilai X dari pengguna”, “Tampilkan nilai X”.
9
• Kondisi atau Keputusan, direpresentasikan sebagai belah ketupat. Biasa
berisi pertanyaan yang mempunyai jawaban “ya” atau “tidak” ataupun
pengetesan “benar” atau “salah”. Simbol ini unik karena ada dua anak panah
yang keluar dari simbol ini. Biasanya terdapat pada sudut bawah dan sudut
kanan dari simbol ini salah satunya berkorespondensi pada jawaban “ya” atau
“benar” dan lainnya “tidak” atau “salah”. Tiap anak panah harus diberi label
didalamnya. Lebih dari dua anak panah dapat digunakan, tetapi secara
normal berarti bagian tersebut dapat dipecah lagi di kemudian hari.
Gambar 2.2 Flowchart untuk menghitung faktorial N (N!). Sumber: http://en.wikipedia.org/wiki/Flowchart
10
2.3 Sequence Diagram (Diagram Sekuen)
Sequence Diagram digunakan untuk memodelkan skenario penggunaan
(Hariyanto 2004, p309). Skenario penggunaan adalah barisan kejadian yang
terjadi selama satu eksekusi sistem. Cakupan skenario dapat beragam, mulai dari
semua kejadian di sistem atau hanya kejadian pada objek-objek tertentu.
Skenario menjadi rekaman historis eksekusi sistem atau gagasan eksperimen
eksekusi sistem yang diusulkan.
Sequence Diagram menunjukkan objek sebagai garis vertikal dan tiap
kejadian sebagai panah horisontal dari objek pengirim ke objek penerima. Waktu
berlalu dari atas ke bawah dengan lama waktu tidak relevan. Diagram ini hanya
menunjukkan barisan kejadian, bukan pewaktuan nyata. Kecuali untuk sistem
waktu nyata (Real Time System) yang mengharuskan konstrain barisan kejadian.
Sequence Diagram digunakan untuk:
1. Overview perilaku sistem,
2. menunjukkan objek-objek yang diperlukan,
3. mendokumentasikan skenario dari suatu diagram use case,
4. memeriksa jalur-jalur pengaksesan
2.4 Sinyal Percakapan (Speech Signal)
Sinyal dapat didefinisikan sebagai kuantitas fisik yang bervariasi seiring waktu
atau variabel bebas lainnya yang menyimpan suatu informasi. (Roberts 2004, p1).
Contoh sinyal adalah suara manusia, kode morse, tegangan listrik di kabel telepon,
variasi intensitas cahaya pada sebuah serat optik yang digunakan pada telepon atau
jaringan komputer, dan lain-lainnya.
11
Sinyal dapat diklasifikasikan menjadi beberapa jenis yaitu sinyal waktu
kontinyu, sinyal waktu diskrit, sinyal nilai kontinyu, sinyal nilai diskrit, sinyal random
dan sinyal nonrandom (Roberts 2004, p2). Sinyal analog adalah sinyal yang belum
melalui proses apapun. Sedangkan sinyal nilai diskrit atau sinyal digital adalah sinyal
analog yang telah melalui proses sampling, quantization, dan encoding.
Sampling adalah proses mengambil nilai-nilai sinyal pada titik-titik diskrit
sepanjang variabel waktu dari sinyal waktu kontinyu, sehingga didapatkan sinyal waktu
diskrit. Jumlah titik-titik yang diambil setiap detik dinamakan sebagai sampling rate.
Pengambilan sampel dilakukan pada kecepatan 8000 Hz dengan resolusi 8 bit (1 byte)
sehingga didapat data sebanyak 8000 byte tiap detik. Kecepatan pencuplikan tersebut
dilakukan dengan didasarkan asumsi bahwa sinyal per-cakapan (speech) berada pada
daerah frekuensi 300-3400 Hz sehingga memenuhi kriteria Nyquist yang menyatakan
bahwa sebuah sinyal harus mempunyai sampling rate yang lebih besar dari 2fh, dengan
fh adalah frekuensi paling tinggi yang muncul di sebuah sinyal (Roberts 2004, p503).
hs xff 2≥ tertinggiff inh =
Quantization adalah proses memetakan nilai-nilai dari sinyal nilai kontinyu
menjadi nilai-nilai yang diskrit, sehingga didapatkan sinyal nilai diskrit.
Encoding adalah proses mengubah nilai-nilai sinyal menjadi bilangan biner. Pada
Gambar 2.3 dapat dilihat perbedaan antara sinyal analog dengan sinyal digital.
12
Gambar 2.3 Diagram sinyal analog dan sinyal digital.
Sinyal yang berbentuk digital dapat disimpan dalam media penyimpanan di
komputer. File wav (berasal dari kata wave) merupakan format umum yang paling
sederhana untuk menyimpan data sinyal audio. File wav terdiri dari 3 potongan
informasi yaitu: RIFF chunk, Format chunk, dan Data chunk (Csele 2007). RIFF chunk
berisi informasi yang menandakan bahwa file berbentuk wav. FORMAT chunk berisi
parameter-parameter seperti jumlah channel, sample rate, resolusi. DATA chunk yang
berisi data aktual sinyal digital.
Sinyal yang dihasilkan dari suara manusia sewaktu melakukan percakapan
disebut sebagai sinyal percakapan. Sinyal percakapan merupakan kombinasi kompleks
dari variasi tekanan udara yang melewati pita suara dan vocal tract, yaitu mulut, lidah,
gigi, bibir, dan langit-langit.
Gambar 2.4 Diagram model sistem produksi suara manusia (Johnson 2007).
Sumber: http://cnx.org/content/m0087/latest/
13
Sinyal percakapan terdiri dari serangkaian suara yang masing-masing
menyimpan sepotong informasi. Berdasarkan cara menghasilkannya, suara tersebut
terbagi menjadi voiced dan unvoiced. Suara voiced dihasilkan dari getaran pita suara,
sedangkan suara unvoiced dihasilkan dari gesekan antara udara dengan vocal tract.
Sinyal percakapan memiliki beberapa karakteristik, misalnya: formant, pitch, dan
intensitas. Formant adalah variasi resonansi yang dihasilkan oleh vocal tract. Pitch
adalah frekuensi dari sinyal atau yang sering disebut sebagai intonasi. Sedangkan
intensitas adalah kekuatan suara. Karakteristik-karakteristik tersebut berguna dalam
melakukan analisis sinyal.
2.5 Speech Recognition, Speaker Identity Verification dan Speech Recognizer
Speech Recognition (dalam beberapa konteks juga dikenal sebagai ‘Automatic
Speech Recognition, pengenalan suara pada komputer, atau seringkali disalah artikan
sebagai Voice Recognition') adalah proses dalam mengkonversikan sebuah sinyal
percakapan menjadi urutan kata-kata, dengan menggunakan algoritma yang
diimplementasikan sebagai program komputer (Wikipedia 2007).
Berbeda dengan Speaker Identity Verification (SIV) yang justru dikembangkan
untuk membedakan suara seseorang dengan yang lainnya dengan menggunakan ciri khas
suaranya sekalipun mengucapkan kata yang sama dengan orang lain. Biasanya
digunakan untuk memproteksi dokumen ataupun absensi sehingga dapat melindungi
kerahasiaan maupun membatasi akses dari pihak yang tidak diinginkan.
Speech recognizer atau pengenal suara yang dimaksud disini adalah suatu
program aplikasi komputer yang dapat menerima rangkaian kata atau kalimat yang
diucapkan oleh pembicara dengan menggunakan sebuah media input suara seperti
14
microphone untuk dapat dikenali dan direpresentasikan kembali ke dalam bentuk teks.
Dengan demikian Speech Recognizer bisa juga didefinisikan sebagai satu mesin atau
perangkat lunak yang mampu mengenali percakapan dan menerjemahkan percakapan
tersebut ke dalam bentuk tertulis.
2.6. Spectrogram dan Transformasi Fourier
Spectrogram merupakan representasi visual dari bunyi dalam bentuk dua
dimensi, yang menggambarkan hubungan dari frekuensi dengan waktu; amplitudo
ditandai hanya secara perkiraan oleh kecerahan dari warna. (Indiana 2008).
Diagram spektrum Spectrogram adalah sebuah gambaran pola pengucapan suatu
kata atau kalimat yang berguna untuk melihat kondisi dari sebuah gelombang yang
kompleks dalam rentang waktu yang singkat. Namun dalam ucapan, suara berubah-ubah
secara konstan. Spectrogram adalah sebuah cara yang sangat cocok untuk
menggambarkan diagram perubahan spektrum suara sepanjang sumbu waktu t.
Dalam sebuah spectrogram, dimensi horisontal merepresentasikan waktu
sedangkan dimensi vertikal merepresentasikan frekuensi. Setiap potongan tipis vertikal
dari sebuah spectrogram menunjukkan spektrum selama rentang waktu yang singkat,
menggunakan kepekatan untuk mewakili amplitudo. Area yang lebih pekat (gelap)
menunjukkan frekuensi dimana komponen gelombang sederhana tersebut mempunyai
amplitodo yang besar.
15
Gambar 2.5 Spectrogram (Russell 1997). Sumber: http://www.umanitoba.ca/faculties/arts/linguistics/russell/138/sec4/specgram.htm
Gambar 2.6 Spektrum selama rentang waktu yang singkat (Russell 1997). Sumber: http://www.umanitoba.ca/faculties/arts/linguistics/russell/138/sec4/specgram.htm
Untuk situasi dimana kurva respon frekuensi suara lebih diutamakan daripada
spektrum mentahnya maka dapat digunakan “wide band” spectrogram. Disini, area yang
lebih pekat melebar ke area yang lebih lebar. Hal ini membuat kabur nada-nada tinggi
namun itu membuat formant-formant menjadi lebih mudah untuk dilihat dan kelihatan
sebagai pita yang pekat. Formants adalah frekuensi pembeda arti, komponen dari suara
manusia untuk diucapkan.
16
Gambar 2.7 Wide Band Spectrogram. Sumber: http://www.umanitoba.ca/faculties/arts/linguistics/russell/138/sec4/specgram.htm
Spectrogram dapat membuat pola atau bentuk suara menjadi mudah untuk
diamati dan dibedakan, contohnya formant-formant yang berubah pada sebuah
pengucapan suara. Berikut ini adalah spectrogram dari contoh pengucapan kalimat
dalam bahasa Inggris “We were away a year ago”:
Gambar 2.8 Spectrogram dari sebuah pengucapan kalimat “We were away a year ago”. Sumber:
http://www.umanitoba.ca/faculties/arts/linguistics/russell/138/sec4/specgram.htm
Transformasi secara umum adalah perubahan suatu bentuk dan ukuran ke bentuk
dan ukuran lain, baik secara fisik maupun secara non-fisik (Agus Soedomo, 2004).
Transformasi Fourier merupakan metode untuk mentransformasikan sinyal domain
17
waktu menjadi sinyal domain frekuensi (Max, 1981). Transformasi ini penting dalam
analisis sinyal karena karakteristik sinyal domain frekuensi dapat diamati dengan lebih
jelas dan dimanipulasi dengan lebih mudah daripada sinyal domain waktu. Di domain
frekuensi, sinyal direpresentasikan sebagai serangkaian nilai yang menunjukkan
banyaknya satuan sinyal yang berada di frekuensi tertentu.
Transformasi Fourier banyak digunakan untuk aplikasi sains, misalnya fisika,
teori numerik, pemrosesan sinyal, statistik, akustik, optik, geometri, dan lain-lainnya.
Salah satu kekurangan dari Transformasi Fourier adalah tidak dapat meberikan
informasi kapan komponen frekuensi tertentu terjadi. STFT adalah Transformasi
Fourier yang punya satu daya pisah tetap. Lebar dari windowing function menunjukkan
bagaimana sinyal direpresentasikan, menunjukkan dimana frequency resolution yang
baik (komponen frekuensi yang berdekatan dapat dipisahkan) atau time resolution yang
baik (waktu dimana frekuensi berubah). Sebuah window yang lebih lebar (wideband)
memberikan frequency resolution yang lebih baik tetapi memiliki kekurangan dalam
time resolution. Sebuah window yang lebih sempit (narrowband) memberikan time
resolution yang bagus tetapi frequency resolution yang kurang bagus.
Gambar 2.9 Transformasi narrowband dan wideband Sumber: http://en.wikipedia.org/wiki/Short-time_Fourier_transform
18
Gambar 2.10 Wideband, narrowband spectrogram dan amplitudo percakapan untuk pengucapan kata “Every salt breeze comes from the sea.” (Rabiner dan Juang 1993,
p19).
Sebagai contoh:
Menggunakan sampel sinyal x(t) yang dibentuk dari 4 set gelombang-gelombang
sinusoidal yang digabung bersama-sama dalam sebuah sekuen. Setiap bentuk dibawah
dihasilkan dari salah satu dari 4 frekuensi (10, 25, 50, 100 Hz). Dengan x(t)
didefinisikan sebagai berikut:
19
Lalu masing-masing disampel pada frekuensi 400 Hz akan menghasilkan spectrogram-
spectogram sebagai berikut:
Gambar 2.11 Spectrogram dalam berbagai ukuran window. Sumber: http://en.wikipedia.org/wiki/Short-time_Fourier_transform
window 25 ms
window 125 ms
window 375 ms
window 1000 ms
20
Window dengan ukuran 25 ms memungkinkan untuk mengidentifikasi waktu
dimana sinyal berubah dengan lebih teliti namun sulit untuk mengidentifikasi frekuensi
secara presisi. Di lain pihak pada ukuran window yang sangat bertolak belakang,
window dengan ukuran 1000 ms memungkinkan frekuensi dapat dilihat secara lebih
presisi tetapi waktu diantara frekuensi menjadi kabur.
2.7 Discrete-Time Short-Time Fourier Transform (STFT)
Short-Time Fourier Transform (STFT) atau yang bisa juga disebut dengan Short-
Term Fourier Transform adalah suatu metode transformasi sinyal analog ke dalam
bentuk sinyal digital yang berjenis Transformasi Fourier Cepat yang dalam bahasa
Inggrisnya disebut dengan Fast Fourier Transform (FFT). Seperti halnya FFT, STFT
berguna untuk mengubah sinyal analog yang berupa gelombang suara manusia ke dalam
bentuk sinyal digital.
Short-Time Fourier Transform (STFT) dibagi menjadi dua jenis, diantaranya
yaitu:
1. Discrete-Time Short-Time Fourier Transform
Rumus dari Discrete-Time Short-Time Fourier Transform:
2. Continuous-Time Short-Time Fourier Transform.
Rumus dari Continuous-Time Short-Time Fourier Transform:
21
STFT sama seperti transformasi Fourier standar dan sering digunakan untuk
menganalisa suara. Gambar 2.12 menampilkan frekuensi pada sumbu horisontal, dimana
frekuensi terendah pada sebelah kiri dan frekuensi tertinggi pada sebelah kanan.
Ketinggian dari setiap bar (ditunjukkan dengan warna) merepresentasikan amplitudo
dari frekuensi pada pita tersebut. Dimensi kedalaman mewakili waktu, dimana masing-
masing batang baru adalah satu transformasi yang terpisah.
Gambar 2.12 Spectrogram dalam berbagai ukuran window. Sumber: http://en.wikipedia.org/wiki/Short-time_Fourier_transform
2.8 Biological Neural Network (Jaringan Saraf Biologi)
Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan
yang luar biasa. Otak terdiri dari neuron-neuron dan penghubung yang disebut dengan
sinapsis. Neuron bekerja berdasarkan impuls/sinyal yang diberikan pada neuron. Neuron
meneruskannya pada neuron lain. Saat ini diklaim bahwa sistem pusat otak kita terdiri
dari sekitar 1010.3,1 neuron dan sekitar 1010.1 diantaranya terletak bagian otak (Halici,
22
2008, p2). Otak manusia merupakan koleksi dari sekitar 10 milyar neuron yang saling
berhubungan satu sama lain (Fraser 1998) Dengan jumlah yang begitu banyak, otak
mampu mengenali pola, melakukan perhitungan, dan mengontrol organ-organ tubuh
dengan kecepatan yang lebih tinggi dibandingkan komputer digital. Sebagai
perbandingan, pengenalan wajah seseorang yang sedikit berubah (misal memakai topi,
memiliki jenggot tambahan, dan lain-lain) akan lebih cepat dilakukan manusia
dibandingkan komputer.
Gambar 2.13 Sel saraf pada otak manusia (Halici 2008, p3).
Gambar 2.14 Scwann Cell dalam sel saraf pada otak manusia (Halici 2008, p3).
23
Gambar 2.15 Sinapsis yg terbentuk antara neuron (Halici, 2008, p4).
Pada waktu lahir, otak mempunyai struktur yang menakjubkan karena
kemampuannya membentuk sendiri aturan-aturan / pola berdasarkan pengalaman yang
diterima. Jumlah dan kemampuan neuron berkembang seiring dengan pertumbuhan fisik
manusia, terutama umur 0-2 tahun. Pada 2 tahun pertama umur manusia, terbentuk 1 juta
sinapsis per detiknya (Siang, 2007, p2).
Neuron memiliki 3 komponen penting yaitu dendrit, soma dan axon. Dendrit
menerima sinyal dari neuron lain. Sinyal tersebut berupa impuls elektrik yang dikirim
melalui celah sinaptik melalui proses kimiawi. Sinyal tersebut dimodifikasi (diperkuat /
diperlemah) di celah sinaptik. Berikutnya, soma menjumlahkan semua sinyal-sinyal
yang masuk. Kalau jumlahan tersebut cukup kuat dan melebihi batas ambang
(threshold), maka sinyal tersebut akan diteruskan ke sel lain melalui axon. Frekuensi
penelusuran sinyal berbeda-beda antara satu sel dengan yang lain.
Neuron biologi merupakan sistem yang “fault tolerant” dalam 2 hal. Pertama,
manusia dapat mengenali sinyal input yang agak berbeda dari yang pernah diterima
sebelumnya. Sebagai contoh manusia sering dapat mengenali seseorang yang wajahnya
24
pernah dilihat dari foto, atau dapat mengenali seseorang yang wajahnya agak berbeda
karena sudah lama tidak dijumpainya.
Kedua, otak manusia tetap mampu bekerja meskipun beberapa neuron-nya tidak
mampu bekerja dengan baik. Jika sebuah neuron rusak, neuron lain kadang-kadang
dapat dilatih untuk menggantikan fungsi neuron yang rusak tersebut.
2.9 Artificial Neural Network (Jaringan Saraf Tiruan)
Artificial Neural Network (ANN) adalah sistem pemroses informasi yang
memiliki karakteristik mirip dengan Biological Neural Network (BNN) (Siang 2007,
p2).
ANN dibentuk sebagai generalisasi model matematika dari jaringan saraf
biologi, dengan asumsi bahwa:
- Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron)
- Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung
- Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal
- Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
(biasanya bukan fungsi linier) yang dikenakan pada penjumlahan input yang
diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas
ambang.
25
Adapun kualitas atau karakteristik sebuah Artificial Neural Network ditentukan
oleh tiga hal, yaitu:
1. Pola hubungan antar neuron (disebut arsitektur jaringan)
2. Metode untuk menentukan bobot penghubung (disebut metode training atau
learning atau algoritma)
3. Fungsi aktivasi
Berikut ini adalah gambar model ANN yang menunjukkan hubungan antar
neuron (Synaptic Weights), fungsi aktifasi (Summing Function) dan bias (Threshold)
yang menghasilkan suatu nilai output (y).
Gambar 2.16 Model jaringan Artificial Neural Network.
Σ menerima input dari neuron x1, x2, dan x3 dengan bobot hubungan masing-
masing adalah w1, w2, w3. Ketiga impuls neuron yang ada dijumlahkan dengan summing
function
332211 wxwxwxnet ++=
26
Besarnya impuls yang diterima oleh Σ mengikuti fungsi aktivasi Σ = f(net).
Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi
aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk merubah
bobot.
2.10 Fungsi Aktifasi
Dalam ANN, fungsi aktivasi dipakai untuk menentukan keluaran suatu neuron.
Argumen fungsi aktivasi adalah net masukan (kombinasi linier masukan dan bobotnya).
Jika net = ∑xiwi, maka fungsi aktivasinya adalah f(net) = f (∑xiwi).
Beberapa fungsi aktivasi yang sering dipakai adalah sebagai berikut:
2.10.1 Fungsi Threshold (batas ambang)
1 jika x >= a
f(x) =
0 jika x < a
Untuk beberapa kasus, fungsi threshold yang dibuat tidak berharga 0 atau
1 tapi berharga -1 atau 1 (sering disebut threshold bipolar). Jadi
1 jika x >= a
f(x) =
-1 jika x < a
27
2.10.2 Fungsi Sigmoid
Rumus fungsi Sigmoid: ( ) xexf
−+=
11
Fungsi sigmoid sering dipakai karena nilai fungsinya yang terletak antara
0 dan 1 dan dapat diturunkan dengan mudah:
( ) ( ) ( )( )xfxfxf −=′ 1
2.10.3 Fungsi Identitas
Rumus fungsi Identitas: ( ) xxf =
Fungsi identitas ini merupakan fungsi aktivasi yang sangat sederhana,
sering dipakai apabila kita menginkan keluaran jaringan berupa sembarang
bilangan riil (bukan hanya pada range [0,1] atau [-1,1]).
2.11 Bias dan Threshold
Kadang-kadang dalam jaringan ditambahkan sebuah unit masukan yang nilainya
selalu =1. Unit yang sedemikian itu disebut Bias (lihat gambar 3.3). Bias dapat
dipandang sebagai sebuah input yang nilainya =1. Bias berfungsi untuk mengubah nilai
threshold menjadi = 0 (bukan = a). Jika melibatkan bias, maka keluaran unit penjumlah
adalah
∑+=i
ii wxbnet
Fungsi aktivasi threshold menjadi:
1 jika net >= 0
f(net) =
-1 jika net < 0
28
2.12 Model Artificial Neural Network
Berdasarkan strategi pelatihannnya Artificial Neural Network dapat dibagi
menjadi dua jenis, yaitu:
1. Pelatihan dengan supervisi (supervised training)
2. Pelatihan tanpa supervisi (unsupervised training)
Sedangkan berdasarkan arsitektur dari neuron-nya, Artificial Neural Network
dibagi menjadi tiga jenis yaitu:
1. Jaringan lapis tunggal (single layer network)
2. Jaringan lapis jamak (multi layer network)
3. Jaringan recurrent (recurrent network)
2.12.1 Pelatihan dengan supervisi (Supervised Training)
Pelatihan dengan supervisi ini yaitu suatu strategi dimana neuron dilatih
dengan menentukan terlebih dahulu data yang ingin dihasilkan ketika diberi
input-an data lainnya. Contoh model yang masuk dalam kategori ini antara lain
model Hebbian, Perceptron, ADALINE, Boltzman, Hopfield, Backpropagation,
dan lain-lain.
2.12.2 Pelatihan tanpa supervisi (Unsupervised Training)
Model pelatihan tanpa supervisi ini lebih kompleks karena campur tangan
manusia yang dibutuhkan dalam proses pelatihan tidak sebanyak pada pelatihan
dengan supervisi. Contoh model yang masuk dalam kategori ini antara lain
model Competitive, Hebbian, Kohonen, LVQ (Learning Vector Quantization),
Neocognition, dan lain-lain.
29
2.12.3 Jaringan Lapis Tunggal (Single Layer Network)
Model yang masuk kategori ini antara lain: ADALINE, Hopfield,
Perceptron, LVQ, dan lain-lainnya. Arsitektur jaringan lapis tunggal ini dapat
dilihat pada gambar 2.17.
Gambar 2.17 Arsitektur jaringan lapis tunggal (Fauset 1994, p13).
2.12.4 Jaringan Lapis Jamak (Single Layer Network)
Model yang masuk kategori ini antara lain: MADALINE, Hopfield,
Backpropagation, Neocognition, dan lain-lainnya. Arsitektur jaringan lapis
jamak ini dapat dilihat pada gambar 2.18.
30
Gambar 2.18 Arsietektur jaringan lapis jamak (Fauset 1994, p13).
2.12.5 Jaringan Recurrent (Recurrent Network)
Model yang masuk kategori ini antara lain BAM (Bidirectional
Associative Memory), Boltzman Machine, Hopfield, dan lain-lainnya. Gambar
model jaringan ini sama dengan model arsitektur jaringan lapis tunggal hanya
saja tanda pandah dari satu node ke node lain bersifat dua arah (bidirectional).
2.13 Backpropagation
Kelemahan Artificial Neural Network (ANN) yang terdiri dari lapis tunggal
membuat perkembangannya menjadi terhenti pada sekitar tahun 1970-an. Penemuan
Backpropagation yang terdiri dari beberapa lapis membuka kembali cakrawala Artificial
Intelligence. Terlebih setelah berhasil ditemukannya berbagai permasalahan yang dapat
diselesaikan dengan Backpropagation, membuat ANN semakin dibutuhkan dalam
kemajuan teknologi komputer.
ANN dengan lapis tunggal yang dahulu dipakai sebelum adanya
backpropagation memiliki keterbatasan dalam pengenalan pola. Kelemahan ini diatasi
31
dengan menambahkan satu atau beberapa lapis tersembunyi diantara lapis masukan dan
keluaran pada Backpropagation. Meskipun penggunaan lebih dari satu lapis tersembunyi
memiliki kelebihan manfaat untuk beberapa kasus, tapi pelatihannya memerlukan waktu
yang lama. Maka umumnya orang mulai mencoba dengan sebuah lapis tersembunyi
lebih dahulu.
Gambar 2.19 Arsitektur Backpropagation dengan satu hidden layer (Fauset 1994, p291).
Seperti halnya model ANN lain, backpropagation melatih jaringan untuk
mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang
digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang
benar terhadap pola masukan yang serupa (tidak harus persis sama) dengan pola yang
dipakai selama pelatihan.
Dalam algoritma Backpropagation terdapat proses training yang meliputi
feedforward, backward serta perbaikan bobot dan bias. Sedangkan proses selanjutnya
untuk mengenali pola yang telah dilatih disebut dengan proses recall yang dilakukan
hanya dengan mengulangi proses feedforward. Berikut ini merupakan langkah-langkah
32
yang digunakan dalam proses training dan recall menggunakan algoritma
Backpropagation:
1. Inisialisasi bobot
2. Selama kondisi berhenti false, lakukan langkah 3 – 10
3. Untuk setiap pasangan data pelatihan, lakukan langkah 4 – 9
Feed Forward (langkah maju)
4. Setiap unit input (Xi, i = 1, …, n) menerima sinyal input xi dan meneruskan
sinyal tersebut ke semua unit pada lapis di atasnya (hidden layer).
5. Setiap unit tersembunyi (Zj, j = 1, …, p) menjumlahkan sinyal-sinyal input
berbobot,
∑−
+=n
iijij vxvinz
10_
Gunakan fungsi aktifasi untuk menghitung sinyal output-nya,
( )inzfz j _=
Lalu kirimkan sinyal tersebut ke semua unit di lapis atasnya (unit-unit output).
6. Setiap unit output (Yk , k = 1, …, m) menjumlahkan sinyal-sinyal input berbobot,
∑=
+=p
jjkjkk wzwiny
10_
Gunakan fungsi aktifasi untuk menghitung sinyal output-nya,
( )kk inyfy _=
33
Backward (langkah mundur)
7. Tiap-tiap unit output (Yk , k = 1, …, m) menerima pola target yang berhubungan
dengan pola input pembelajaran, hitung informasi error-nya,
( ) ( )kkkk inyfyt _′−=δ
Hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai
wjk),
jkjk zw αδ=Δ
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki
nilai w0k),
kkw αδ0Δ
Dan kirimkan nilai kδ ke unit-unit yang ada di lapis bawahnya.
8. Tiap-tiap hidden unit (zj , j = 1, …, p) menjumlahkan delta input-nya (dari unit
yang berada pada lapis atasnya),
∑=
=m
kjkkj win
1_ δδ
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung
informasi error-nya,
( )jjj inzfind __ ′=δ
Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki
nilai ijv ),
ijij xv αδ=Δ
34
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai
jv0 ),
jjv αδ=Δ 0
Perbaikan bobot dan bias:
9. Setiap unit output (yk , k = 1, …, m) memperbaiki bobot dan biasnya (j = 0, …,
p),
( ) ( ) jkjkjk wlamawbaruw Δ+=
Setiap unit tersembunyi (zj , j = 1, …, p) memperbaiki bobot dan biasnya (I = 0,
…, n),
( ) ( ) ijijij vlamavbaruv Δ+=
10. Tes kondisi berhenti.