• Tidak ada hasil yang ditemukan

PENGEMBANGAN MODEL JARINGAN SYARAF TIRUAN RESILIENT BACKPROPAGATION UNTUK IDENTIFIKASI PEMBICARA DENGAN PRAPROSES MFCC. Oleh:

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGEMBANGAN MODEL JARINGAN SYARAF TIRUAN RESILIENT BACKPROPAGATION UNTUK IDENTIFIKASI PEMBICARA DENGAN PRAPROSES MFCC. Oleh:"

Copied!
30
0
0

Teks penuh

(1)

PENGEMBANGAN MODEL JARINGAN SYARAF TIRUAN

RESILIENT BACKPROPAGATION UNTUK IDENTIFIKASI PEMBICARA

DENGAN PRAPROSES MFCC

Oleh:

NURHADI SUSANTO

G64103059

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2007

(2)

PENGEMBANGAN MODEL JARINGAN SYARAF TIRUAN

RESILIENT BACKPROPAGATION UNTUK IDENTIFIKASI PEMBICARA

DENGAN PRAPROSES MFCC

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Oleh :

NURHADI SUSANTO

G64103059

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2007

(3)

ABSTRAK

NURHADI SUSANTO. Pengembangan Model Jaringan Syaraf Tiruan Resilient Backpropagation untuk Identifikasi Pembicara dengan Praproses MFCC. Dibimbing oleh AGUS BUONO dan IRMAN HERMADI.

Suara manusia dapat digunakan sebagai sarana identifikasi diri. Dari suara seseorang dapat diambil suatu fitur yang kemudian dimodelkan dan digunakan untuk mengenali seseorang berdasarkan suaranya. Pada penelitian ini, dikembangkan suatu model jaringan syaraf tiruan resilient

backpropagation untuk identifikasi pembicara. Untuk ekstraksi ciri sinyal suara digunakan fitur

MFCC. Jenis identifikasi pembicara pada penelitian ini adalah Closed-Set Identification yang mana suara masukan yang akan dikenali merupakan bagian dari sekumpulan suara pembicara yang telah terdaftar atau diketahui dan kata yang dilatih maupun diujikan telah ditentukan.

Data suara yang digunakan dalam penelitian ini adalah data suara yang diambil secara unguided atau tanpa panduan. Selain itu diamati pula pengaruh noise terhadap akurasi identifikasi dengan cara menambahkan white gaussian noise pada data yang digunakan.

Hasil penelitian ini berupa tingkat akurasi kebenaran dari data yang diujikan. Secara keseluruhan, model terbaik yang dikembangkan menghasilkan nilai akurasi rata-rata sebesar 92,8%. Dengan data yang menggunakan noise 30 dB, nilai akurasi rata-rata yang dihasilkan turun menjadi 71,0% dan dengan data yang menggunakan noise 20 dB, nilai akurasi rata-rata yang dihasilkan turun menjadi 48,3%.

(4)

Judul : Pengembangan Model Jaringan Syaraf Tiruan Resilient Backpropagation

untuk Identifikasi Pembicara dengan Praproses MFCC

Nama : Nurhadi Susanto

NRP : G64103059

Menyetujui:

Pembimbing I,

Pembimbing II

Ir. Agus Buono, M.Si., M.Kom.

Irman Hermadi, S.Kom., MS

NIP 132 045 532

NIP 132 321 422

Mengetahui:

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Prof. Dr. Ir. Yonny Koesmaryono, MS

NIP 131 473 999

(5)

RIWAYAT HIDUP

Penulis dilahirkan di Tangerang tanggal 7 November 1985, sulung dari lima bersaudara dari pasangan Sunaryoto dan Khasanah. Pada tahun 2000, penulis menuntut ilmu di SMU Negeri 2 Tangerang hingga tahun 2003. Setelah lulus pada tahun 2003 penulis diterima sebagai mahasiswa S1 Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor melalui jalur SPMB. Pada tahun 2006, penulis melaksanakan kegiatan praktik kerja lapangan di Balai Besar Penelitian dan Pengembangan Teknologi Pertanian (BP2TP), Cimanggu, Bogor.

(6)

PRAKATA

Alhamdulillahi Rabbil ‘alamin, puji dan syukur Penulis panjatkan kepada Allah SWT atas

segala curahan rahmat dan karunia-Nya sehingga tugas akhir dengan judul Pengembangan Jaringan Syaraf Tiruan Resilient Backpropagation untuk Identifikasi Pembicara Berbasis Data MFCC ini dapat diselesaikan. Dalam menyelesaikan karya tulis ini penulis mendapatkan banyak sekali bantuan, bimbingan dan dorongan dari berbagai pihak. Oleh karena itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu kelancaran penelitian ini, antara lain kepada:

1. Orangtuaku tercinta, Bapak Sunaryoto dan Ibunda Khasanah atas segala do’a, kasih sayang, dan dukungan baik dari moril maupun materiil yang telah diberikan selama ini.

2. Adik-adikku tersayang Santi, Peni, Rio dan Ponco yang memberi tambahan motivasi dalam penyelesaian karya tulis ini.

3. Bapak Ir. Agus Bouno, M.Si, M.Komp selaku pembimbing pertama atas bimbingan dan arahannya selama penyusunan karya tulis ini.

4. Bapak Irman Hermadi, S.Kom, MS selaku pembimbing kedua atas bimbingan dan arahannya selama penyusunan karya tulis ini.

5. Abdul Nasrah, seorang teman sekamar terbaik yang selalu memberikan yang terbaik untuk teman-temannya

6. M.Nono Suhartono, Vicky Zilvan, dan Wini Purnamasari, rekan seperjuangan dalam penelitian di bidang speaker recognizing.

7. Dhany, Gemma, Ryan, Inang, Mulyadi, dan Iqbal yang sudah memberikan banyak sekali kenangan selama tinggal bersama.

8. Pandi, Ghoffar, Dona, Mulyadi, Nanik, Vita, Thessy, Yustin, dan seluruh rekan yang telah ikut menymbangkan suranya untuk dijadikan bahan penelitian.

9. Seluruh teman-teman Ilkom 40 yang tidak dapat disebutkan namanya satu-persatu.

Kepada semua pihak lainnya yang telah memberikan kontribusi yang besar selama pengerjaan penelitian ini yang tidak dapat disebutkan satu-persatu, Penulis ucapkan terima kasih banyak. Semoga penelitian ini dapat memberi manfaat.

Bogor, Mei 2007

(7)

DAFTAR ISI Halaman DAFTAR GAMBAR ... vi DAFTAR TABEL... vi DAFTAR LAMPIRAN ... vi PENDAHULUAN...1 Latar Belakang ...1 Tujuan...1 Ruang Lingkup...1 Manfaat...1 TINJAUAN PUSTAKA ...1

Jenis Pengenalan Pembicara ...1

Dijitasi Gelombang Suara ...2

Signal to Noise Ratio (SNR) ...2

Ekstraksi Ciri Sinyal Suara ...2

MFCC (Mel-Frequency Cepstrum Coefficients)...3

Resilient Backpropagation ...5

METODOLOGI PENELITIAN...6

Data ...6

Proses Pengenalan Suara...6

Arsitektur Jaringan Syaraf Tiruan ...7

Parameter-parameter Resilient Backpropagation ...7

Lingkungan Pengembangan ...7

HASIL DAN PEMBAHASAN...7

Hasil Pengambilan Data...7

Praproses dengan MFCC ...7

Pengembangan Model Jaringan Syaraf Tiruan...8

Pengambilan Threshold ... 11

Hasil Identikasi Pembicara Model JST Terbaik pada Data Tanpa Noise... 11

KESIMPULAN DAN SARAN... 14

Kesimpulan ... 14

Saran... 14

DAFTAR PUSTAKA... 14

(8)

DAFTAR GAMBAR

Halaman

1 Diagram blok dari proses MFCC (Do 1994). ...3

2 Arsitektur JST lapis tunggal...4

3 Grafik fungsi sigmoid biner dengan selang (0,1)...4

4 Arsitektur jaringan propagasi balik (Fu 1994)...5

5 Proses pengenalan pembicara...6

6 Grafik perbandingan nilai akurasi rata-rata terhadap jumlah neuron tersembunyi pada pelatihan dengan data tanpa noise. ...8

7 Grafik perbandingan jumlah epoh rata-rata terhadap jumlah neuron tersembunyi pada pelatihan dengan data tanpa noise. ...9

8 Grafik perbandingan nilai akurasi rata-rata terhadap jumlah neuron tersembunyi pada pelatihan dengan data ber-noise 30 dB. ... 10

9 Grafik perbandingan nilai akurasi rata-rata terhadap jumlah neuron tersembunyi pada pelatihan dengan data ber-noise 20 dB. ... 10

10 Grafik perbandingan nilai akurasi rata-rata terhadap jumlah neuron tersembunyi. ... 11

11 Grafik perbandingan jumlah data suara yang teridentifikasi dengan benar pada data tanpa noise . 13 DAFTAR TABEL Halaman 1 Struktur JST Resilient Backpropagation...7

2 Hasil identifikasi model JST terbaik dari dua puluh data pembicara tanpa threshold ... 12

3 Hasil identifikasi model JST terbaik dari dua puluh data pembicara dengan threshold... 12

4 Hasil identifikasi dua puluh data suara tanpa noise dari pembicara yang tidak ikut serta dalam pelatihan dengan menggunakan threshold ... 14

DAFTAR LAMPIRAN Halaman 1 Algoritma JST RPROP ... 17

2 Hasil Pelatihan dan Pengujian Model JST dari tiga puluh perlakuan jumlah neuron tersembunyi pada data tanpa noise. ... 19

3 Hasil Pelatihan dan Pengujian Model JST dari tiga puluh perlakuan jumlah neuron tersembunyi pada data dengan SNR 30 dB... 21

4 Hasil Pelatihan dan Pengujian Model JST dari tiga puluh perlakuan jumlah neuron tersembunyi pada data dengan SNR 20 dB... 22

(9)

PENDAHULUAN Latar Belakang

Suara manusia dapat digunakan sebagai sarana identifikasi diri. Suara yang dihasilkan tersebut diperlakukan sebagai data yang dapat diolah sehingga dapat dimanfaatkan. Sinyal suara yang kontinu dicuplik dengan rentang waktu tertentu sehingga menghasilkan sinyal dijital. Setelah sinyal suara tersebut menjadi sinyal dijital, berbagai perlakuan dapat diterapkan pada data suara tersebut. Salah satu perlakuan yang bermanfaat adalah mengolah data tersebut sedemikian rupa sehingga dapat digunakan untuk mengenali pembicara.

Berbagai metode dapat dipakai untuk mengolah data suara tadi. Beberapa metode yang pernah digunakan diantaranya model markov tersembunyi (Purnamasari 2006) dan jaringan syaraf tiruan propagasi balik standar (Oktavianto 2004). Penggunaan metode jaringan syaraf tiruan propagasi balik tersebut masih dapat dikembangkan dengan penggunaan metode praproses dan juga penggunaan jaringan syaraf tiruan yang lain dan juga diperlukan kombinasi percobaan yang lebih banyak.

Model jaringan saraf tiruan terinspirasi oleh cara kerja otak manusia. Untuk berpikir, otak manusia mendapat rangsangan dari

neuron-neuron yang terdapat pada indera manusia dan

kemudian hasil rangsangan tersebut diolah sehingga menghasilkan suatu informasi. Pada komputer, rangsangan-rangsangan yang diberikan diibaratkan sebagai masukan dimana masukan tersebut dikalikan dengan suatu nilai, yang dikenal dengan bobot, dan kemudian diolah dengan fungsi aktivasi tertentu untuk menghasilkan suatu keluaran. Pada saat pelatihan, pemasukan tersebut dilakukan berulang-ulang sampai tercapai keluaran seperti yang diinginkan. Dengan metode propagasi balik, keluaran yang diinginkan berusaha dicapai dengan melakukan pembaharuan yang terhadap nilai bobot. Setelah proses pelatihan, diharapkan komputer dapat mengenali suatu masukan baru berdasarkan informasi yang telah diperoleh pada saat pelatihan.

Beberapa modifikasi dari prosedur propagasi balik telah diajukan untuk menambah kecepatan pembelajaran. Martin Riedmiller dan Heinrich Braun telah mengembangkan suatu metode yang disebut Resilient Backpropagation

(Riedmiller & Braun 1993). Metode ini telah terbukti sebagai metode yang memiliki kecepatan pembelajaran yang baik dan juga andal (Saputro 2006).

Tujuan

Penelitian ini bertujuan untuk mengembangkan model jaringan syaraf tiruan

resilient backpropagation untuk mengidentifikasi pembicara pada data yang direkam tanpa pengarahan. Selain itu, dilakukan pula perbandingan tingkat akurasi model untuk suara yang diberi noise dan tanpa noise.

Ruang Lingkup

Ruang lingkup penelitian ini adalah: 1. Penelitian difokuskan pada tahapan

pemodelan identifikasi suara manusia dengan menggunakan jaringan syaraf tiruan dan tidak pada pemrosesan sinyal analog sebagai praproses dari sistem.

2. Model pengenalan dibangun dengan menggunakan jaringan syaraf tiruan model

Multi Layer Preceptron dengan menggunakan

metode pembelajaran resilient backpropagation.

3. Analisis dilakukan untuk pengenalan pembicara tertutup bergantung teks dengan data yang direkam tanpa pengarahan. Uji kinerja dilakukan dengan menghitung tingkat akurasi identifikasi sistem terhadap input yang diberikan.

Manfaat

Penelitian ini diharapkan dapat memberikan informasi mengenai akurasi jaringan syaraf tiruan model Multi Layer Preceptron dengan menggunakan metode pembelajaran resilient

backpropagation untuk identifikasi pembicara.

Di samping itu, diharapkan pula pengaruh noise terhadap nilai akurasi identifikasi dapat diamati. Selanjutnya, diharapkan model yang dihasilkan dapat digunakan untuk mengembangkan sistem identifikasi pembicara yang bersifat tertutup dan bergantung pada teks.

TINJAUAN PUSTAKA Jenis Pengenalan Pembicara

Menurut Campbell (1997), Pengenalan pembicara berdasarkan jenis aplikasinya dibagi menjadi:

1. Identifikasi pembicara adalah proses mengenali seseorang berdasarkan suaranya. Identifikasi pembicara dibagi dua, yaitu:

• Identifikasi tertutup (closed-set identification) yang mana suara masukan

yang akan dikenali merupakan bagian dari sekumpulan suara pembicara yang telah terdaftar atau diketahui.

• Identifikasi terbuka (open-set identification) suara masukan boleh tidak

(10)

ada pada kumpulan suara pembicara yang telah terdaftar.

2. Verifikasi pembicara adalah proses menerima atau menolak permintaan identitas dari seseorang berdasarkan suaranya. Berdasarkan teks yang digunakan, pengenalan pembicara dibagi menjadi dua (Campbell 1997):

1. Pengenalan pembicara bergantung teks yang mengharuskan pembicara untuk mengucapkan kata atau kalimat yang sama, baik pada pelatihan maupun pengenalan. 2. Pengenalan pembicara bebas teks yang tidak

mengharuskan pembicara untuk mengucapkan kata atau kalimat yang sama, baik pada pelatihan maupun pengenalan.

Dijitasi Gelombang Suara

Suara adalah sebuah gelombang yang dilewatkan melalui suatu medium dan sampai ke telinga manusia sehingga dapat didengarkan. Medium perantara yang biasa digunakan adalah udara. Gelombang suara merupakan gelombang analog, sehingga untuk dapat diolah dengan peralatan elektronik, gelombang suara harus direpresentasikan dalam bentuk dijital (Boomkamp (2004) dalam Musthofa 2005).

Proses mengubah masukan suara dari gelombang analog menjadi representasi data dijital disebut dijitasi suara. Proses dijitasi suara terdiri dari dua tahap yaitu sampling dan kuantisasi (Jurafsky & Martin 2000). Sampling adalah proses pengambilan nilai setiap jangka waktu tertentu. Nilai ini menyatakan amplitudo volume suara pada saat itu. Hasilnya adalah sebuah vektor yang menyatakan nilai-nilai hasil

sampling. Panjang vektor data ini tergantung

pada panjang atau lamanya suara yang didijitasikan serta sampling rate yang digunakan pada proses dijitasinya. Sampling

rate sendiri adalah banyaknya nilai yang

diambil setiap detik. Sampling rate yang biasa digunakan adalah 8000 Hz dan 16000 Hz (Jurafsky & Martin 2000). Hubungan antara panjang vektor data yang dihasilkan dengan

sampling rate dan panjangnya data suara yang

didijitasikan dapat dinyatakan secara sederhana sebagai berikut:

S = Fs * T

dengan,

S = panjang vektor

Fs = sampling rate yang digunakan (Hertz)

T = panjang suara (detik)

Setelah melalui tahap sampling, proses dijitasi suara selanjutnya adalah kuantisasi yaitu

menyimpan nilai amplitudo ini ke dalam representasi nilai 8 bit atau 16 bit (Jurafsky & Martin 2000).

Signal to Noise Ratio (SNR)

Signal-to-noise ratio (yang biasa disingkat

menjadi SNR atau S/N) adalah suatu konsep yang mendefinisikan perbandingan antara kekuatan sinyal dengan kekuatan noise yang merusak sinyal. Secara sederhana,

signal-to-noise ratio membandingkan level dari sinyal

yang diinginkan (seperti suara piano dalam suatu konser) dengan level dari sinyal yang tidak diinginkan (seperti suara orang yang bercakap-cakap dalam suatu konser). Semakin kecil nilai SNR, semakin tinggi pengaruh noise dalam merusak sinyal asli.

Secara umum, SNR didefinisikan sebagai 2





=

=

noise signal noise signal

A

A

P

P

SNR

dengan P adalah rata-rata dari daya (power) dan A adalah akar kuadrat rata-rata dari amplitudo. Pada umumnya, sinyal suara memiliki jangkauan dinamis yang sangat tinggi. Hal ini menyebabkan SNR akan lebih efisien jika diekspresikan dalam skala logarithmic decibel. Pada desibel, SNR didefinisikan sebagai 10 dikali logaritma dari perbandingan daya. Jika sinyal dan noise dihitungdalam impedansi yang sama maka nilai SNR bisa didapatkan dengan

( )

=





noise signal

P

P

dB

SNR

10

log

10





=

noise signal

A

A

10

log

20

sehingga semakin kecil nilai SNR dalam desibel, semakin tinggi pengaruhnya dalam merusak sinyal asli.

Ekstraksi Ciri Sinyal Suara

Sinyal suara merupakan sinyal bervariasi yang diwaktukan dengan lambat atau biasa disebut quasi-stationary (Do 1994). Ketika diamati dalam jangka waktu yang sangat pendek (5 - 100 ms), karakteristiknya hampir sama. Namun, dalam jangka waktu yang panjang (0,2 detik atau lebih) karakteristik sinyal berubah dan merefleksikan perbedaan sinyal suara yang diucapkan. Oleh karena itu, digunakan spektrum waktu pendek (short-time

spectral analysis) untuk mengkarakterisasi

(11)

MFCC (Mel-Frequency Cepstrum Coefficients)

MFCC didasarkan pada variasi yang telah diketahui dari jangkauan kritis telinga manusia terhadap frekuensi. Filter dipisahkan secara linear pada frekuensi rendah dan logaritmik pada frekuensi tinggi. Hal ini telah dilakukan untuk menangkap karakteristik penting dari sinyal suara. Tujuan utama MFCC adalah untuk meniru perilaku telinga manusia. Selain itu MFCC telah terbukti bisa menyebutkan variasi dari gelombang suara itu sendiri. Diagram alir dari proses MFCC dapat dilihat pada Gambar 1.

Gambar 1 Diagram blok dari proses MFCC (Do 1994).

Penjelasan tiap tahapan pada proses MFCC sebagai berikut (Do 1994):

1. Frame Blocking. Pada tahap ini sinyal suara (continous speech) dibagi ke dalam

frame-frame. Tiap frame terdiri dari N sample.

2. Windowing. Proses selanjutnya adalah melakukan windowing pada tiap frame untuk meminimalkan diskontinuitas sinyal pada awal dan akhir tiap frame. Konsepnya adalah meminimisasi distorsi spektral dengan menggunakan window untuk memperkecil sinyal hingga mendekati nol pada awal dan akhir tiap frame. Jika window didefinisikan sebagai w(n), 0 ≤ n ≤ N-1, dengan N adalah banyaknya sampel tiap frame, maka hasil dari windowing adalah sinyal dengan persamaan:

Yt(n) = x1(n)w(n), 0 ≤ n ≤ N-1 Pada umumnya, window yang digunakan adalah hamming window, dengan persamaan: w(n)=0.54-0.46cos(2πn/N-1), 0 ≤ n ≤ N-1 3. Fast Fourier Transform (FFT). Tahap ini

mengkonversi tiap frame dengan N sampel dari time domain menjadi frequency domain. FFT adalah suatu algoritma untuk mengimplementasikan Discrete Fourier Transform (DFT) yang didefinisikan pada

himpunan N sampel {xn} sebagai berikut: ∑− = = − − = 1 0 , 0,1,2,..., 1 / 2 N k n N N jkn e k x n X π

j digunakan untuk menotasikan unit imajiner, yaitu j= −1. Secara umum Xn adalah bilangan kompleks. Barisan {Xn} yang

dihasilkan diartikan sebagai berikut: frekuensi nol berkorespondensi dengan n = 0, frekuensi positif 0 < f < Fs/2

berkorespondensi dengan nilai 1 ≤ n ≤ N/2-1, sedangkan frekuensi negatif –Fs/2 < f < 0

berkorespondensi dengan N/2+1 < n < N-1. Dalam hal ini Fs adalah sampling frequency. Hasil yang didapatkan dalam tahap ini biasa disebut dengan spektrum sinyal atau

periodogram.

4. Mel-frequency Wrapping. Studi psikofisik menunjukkan bahwa persepsi manusia terhadap frekuensi sinyal suara tidak berupa skala linier. Oleh karena itu, untuk setiap nada dengan frekuensi aktual f (dalam Hertz), tinggi subjektifnya diukur dengan skala ‘mel’. Skala mel-frequency adalah selang frekuensi di bawah 1000 Hz dan selang logaritmik untuk frekuensi di atas 1000 Hz, sehingga pendekatan berikut dapat digunakan untuk menghitung mel-frequency untuk frekuensi f dalam Hz:

Mel(f) = 2595*log10(1+f/700).

5. Cepstrum. Langkah terakhir, konversikan log

mel spectrum ke domain waktu. Hasilnya

disebut mel frequency cepstrum coefficients. Representasi cepstral spektrum suara merupakan representasi properti spektral lokal yang baik dari suatu sinyal untuk analisis frame. Mel spectrum coefficients (dan logaritmanya) berupa bilangan riil, sehingga dapat dikonversikan ke domain waktu dengan menggunakan Discrete Cosine

Transform (DCT).

Jaringan Syaraf Tiruan (JST)

Jaringan Syaraf Tiruan (JST) merupakan suatu sistem pemroses informasi yang memiliki persamaan secara umum dengan cara kerja jaringan syaraf biologi (Fausett 1994). Metode komputasional dari JST diinspirasikan oleh cara kerja sel-sel otak manusia. Untuk berpikir, otak manusia mendapat rangsangan dari

neuron-neuron yang terdapat pada indera manusia,

kemudian hasil rangsangan tersebut diolah sehingga menghasilkan suatu informasi. Pada komputer, rangsangan yang diberikan diumpamakan sebagai masukan dimana masukan tersebut dikalikan dengan suatu nilai dan kemudian diolah dengan fungsi tertentu untuk menghasilkan suatu keluaran. Pada saat pelatihan, pemasukan tersebut dilakukan berulang-ulang hingga dicapai keluaran seperti

(12)

yang diinginkan. Setelah proses pelatihan, diharapkan komputer dapat mengenali suatu masukan baru berdasarkan data-data yang telah diberikan pada saat pelatihan.

Menurut Fausett (1994), suatu JST dicirikan oleh tiga hal sebagai berikut:

1. Arsitektur jaringan syaraf tiruan

Arsitektur jaringan ialah pengaturan neuron dalam suatu lapisan, pola hubungan dalam lapisan dan di antara lapisan. Dalam JST,

neuron-neuron diatur dalam sebuah lapisan

(layer). Ada 3 tipe lapisan, yaitu lapisan input, lapisan tersembunyi (hidden layer) dan lapisan output. Jaringan neuron dikelompokkan sebagai lapis tunggal (single

layer) yang terdiri atas lapisan input dan

output, dan lapis banyak (multiple layer) yang terdiri atas lapisan input, lapisan tersembunyi, dan lapisan output. Ilustrasi JST lapis tunggal dapat dilihat dalam Gambar 2. Pada Gambar 2, pr

melambangkan masukan untuk tiap neuron ke-r pada lapisan input, wr melambangkan

bobot dari neuron ke-r pada lapisan input ke neuron output, dan b melambangkan bias. Jumlah dari seluruh masukan untuk neuron output, yang dilambangkan sebagai n, kemudian dihitung dengan fungsi aktivasi f untuk menghasilkan keluaran dari neuron tersebut yang dilambangkan sebagai a.

Gambar 2 Arsitektur JST lapis tunggal. 2. Metode pembelajaran untuk penentuan

pembobot koneksi.

Metode pembelajaran digunakan untuk menentukan nilai pembobot yang akan digunakan pada saat pengujian. Ada dua tipe pembelajaran, yaitu dengan pengarahan (supervised learning) dan tanpa pengarahan (unsupervised learning). Sedangkan metode pembelajaran JST, di antaranya: perceptron, Aturan Delta (Adaline/Madaline), Propagasi Balik, Self Organizing Map (SOM), dan

Learning Vector Quantization (LVQ) .

3. Fungsi aktivasi yang digunakan.

Fungsi aktivasi merupakan fungsi yang menentukan level aktivasi, yaitu keadaan internal sebuah neuron dalam JST. Keluaran aktivasi ini biasanya dikirim sebagai sinyal ke neuron lainnya. Contoh fungsi aktivasi ialah fungsi identitas fungsi tangga biner (binary step function), fungsi tangga bipolar, fungsi sigmoid biner dan fungsi sigmoid bipolar.

JST Propagasi Balik Standar

Menurut Fu (1994), jaringan propagasi balik (propagation network) merupakan jaringan umpan maju berlapis banyak (multilayer

feedforward network). Aturan pembelajaran

propagasi balik disebut backpropagation yang merupakan jenis dari teknik gradient descent dengan backward error (gradient) propagation. Fungsi aktivasi yang digunakan dalam propagasi balik ialah fungsi sigmoid. Hal ini disebabkan karena dalam jaringan propagasi balik fungsi aktivasi yang digunakan harus kontinu, dapat didiferensialkan, dan monoton naik (Fausett 1994). Salah satu fungsi aktivasi yang paling banyak digunakan ialah sigmoid biner, yang memiliki selang [0, 1] dan didefinisikan sebagai: ) exp( 1 1 ) ( 1 x x f − + = ... (1) Dengan turunannya )] ( 1 1 )[ ( 1 ) ( ' 1 x f x f x f = − ... (2) Grafik untuk fungsi sigmoid biner dapat diihat dalam Gambar 3 dengan n sebagai masukan dan a sebagai keluaran dari neuron tersebut.

Gambar 3 Grafik fungsi sigmoid biner dengan selang (0,1).

Jaringan ini menggunakan metode pembelajaran dengan pengarahan (supervised

learning). Cara kerja JST diawali dengan

inisialisasi pembobot dan bias. Pemilihan metode inisialisasi pembobot dan bias berpengaruh pada kecepatan JST dalam mencapai kekonvergenan (Fausett, 1994). Jaringan propagasi balik ditunjukkan dalam Gambar 4. n a wr w3 w1 w2 pr p3 p2 p1 Σ b f

(13)

Gambar 4 Arsitektur jaringan propagasi balik (Fu 1994).

Pada pelatihan JST propagasi balik terdapat tiga tahapan, yaitu pelatihan input yang bersifat umpan maju, penghitungan galat, dan penyesuaian pembobot. Secara umum cara kerja JST propagasi balik ada beberapa langkah. Pertama, pola input dan target dimasukkan ke dalam jaringan. Selanjutnya pola input ini akan berubah sesuai dengan propagasi pola tersebut ke lapisan-lapisan berikutnya hingga menghasilkan output. Output ini akan dibandingkan dengan target. Apabila dari hasil perbandingan ini dihasilkan nilai yang sama, proses pembelajaran akan berhenti. Tetapi apabila berbeda, maka jaringan mengubah pembobot yang ada pada hubungan antar

neuron dengan suatu aturan tertentu agar nilai

output lebih mendekati nilai target.

Proses pengubahan pembobot adalah dengan cara mempropagasikan kembali nilai korelasi galat output jaringan ke lapisan-lapisan sebelumnya (propagasi balik). Kemudian dari lapisan input, pola akan diproses lagi untuk mengubah nilai pembobot, hingga akhirnya memperoleh output jaringan baru. Proses ini dilakukan berulang-ulang sampai diperoleh nilai yang sama atau minimal sesuai dengan galat yang diinginkan. Proses perubahan pembobot inilah yang disebut proses pembelajaran.

Inisialisasi Pembobot Nguyen-Widrow

Inisialisasi pembobot dari neuron input ke

neuron tersembunyi bertujuan untuk meningkatkan kemampuan neuron-neuron

tersembunyi untuk melakukan pembelajaran. Hal ini dilakukan dengan mendistribusikan pembobot dan bias awal sedemikian rupa sehingga dapat meningkatkan kemampuan lapisan tersembunyi dalam melakukan proses pembelajaran. Inisialisasi Nguyen-Widrow didefinisikan sebagai persamaan berikut (Fausett 1994):

- Hitung harga faktor penskalaan β

n

p

1

7

.

0

=

β

... (3) dimana: β = faktor penskalaan

n = jumlah neuron lapisan input p = jumlah neuron lapisan tersembunyi - Untuk setiap unit tersembunyi (j=1, 2,... ,p):

- Hitung vij (lama) yaitu bilangan acak

diantara -0.5 dan 0.5 (atau diantara -γ dan +γ). Pembaharuan pembobot vij

(lama) menjadi vij baru yaitu:

) ( ) ( ) ( lama v lama v baru v j ij ij β = ... (4) - Tetapkan bias.

vij = Pembobot pada bias bernilai antara

-β dan β.

Resilient Backpropagation

Resilient backpropagation atau biasa disingkat RPROP adalah salah satu algoritma yang digunakan untuk mempercapat laju pembelajaran pada pelatihan jaringan syaraf tiruan propagasi balik. RPROP melakukan penyesuaian nilai bobot secara langsung berdasarkan informasi dari gradien lokalnya.

Untuk melakukannya, pada tiap nilai bobot diberikan suatu nilai perubahan bobot individual yang secara personal menentukan besarnya perubahan bobot. Nilai perubahan ini terus berubah selama proses pembelajaran berdasarkan pada pengamatan lokalnya terhadap fungsi galatnya (Riedmiller dan Braun, 1993).

Secara sederhana, algoritma ini menggunakan tanda turunan untuk menentukan arah perbaikan bobot-bobot. Besarnya perubahan setiap bobot ditentukan oleh suatu faktor yang diatur pada parameter yang disebut

delt_inc dan delt_dec. Apabila gradien fungsi error berubah tanda dari satu iterasi ke iterasi

berikutnya, maka bobot akan berkurang sebesar

delt_dec. Sebaliknya apabila gradien error tidak

berubah tanda dari satu iterasi ke iterasi berikutnya, maka bobot akan berkurang sebesar

delt_inc. Apabila gradien error sama dengan 0

maka perubahan sama dengan perubahan bobot sebelumnya. Pada awal iterasi, besarnya

Σ Backward Error Propagation OUTPUT LAYER HIDDEN LAYER INPUT LAYER Input Actual Output Forward Information Flow

K

K

Forward Information Flow Target Output

K

K

K K

(14)

perubahan bobot diinisalisasikan dengan parameter delta0. Besarnya perubahan tidak boleh melebihi batas maksimum yang terdapat pada parameter deltamax, apabila perubahan bobot melebihi batas maksimum perubahan bobot, maka perubahan bobot akan ditentukan sama dengan maksimum perubahan bobot (Mathworks, 1999). Untuk lebih jelasnya algoritma RPROP disajikan pada Lampiran 1.

METODOLOGI PENELITIAN Data

Data yang digunakan pada penelitian ini adalah gelombang suara yang telah didijitasi dan direkam dari 10 pembicara, yaitu 5 pembicara laki-laki dan 5 pembicara perempuan dengan rentang usia 20-25 tahun. Masing-masing pembicara diambil suaranya dalam jangka waktu yang sama dan tanpa pengarahan (unguided). Yang dimaksud tanpa pengarahan adalah pembicara dapat menggunakan cara pengucapan, intonasi, dan logat apapun pada saat merekam data. Setiap suara dicuplik dengan sampling rate 16000 Hz dan kemudian dikuantisasi dengan ke dalam representasi 16 bit. Pemilihan sampling rate 16000 Hz didasarkan pada pengetahuan bahwa sampling

rate di atas 10000 Hz dapat meminimalkan efek aliasing pada konversi dari analog menjadi

dijital (Jurafsky & Martin 2000).

Jenis identifikasi pembicara yang dilakukan bersifat bergantung pada teks, maka kata yang diucapkan baik untuk pelatihan maupun pengujian telah ditentukan yaitu “komputer”. Kata tersebut diucapkan sebanyak 60 kali oleh tiap pembicara, sehingga terdapat 600 file data. Di samping itu, diperlukan juga data yang memiliki noise dengan jumlah yang sama untuk mengetahui pengaruh noise terhadap akurasi.

Selanjutnya untuk melihat keakuratan model JST yang dibangun terhadap identifikasi tertutup, digunakan 50 data suara dari 10 pembicara lainnya. Sama seperti pengambilan data suara sebelumnya, 5 pembicara laki-laki dan 5 pembicara perempuan dengan rentang usia 20-25 tahun diambil suaranya dalam jangka waktu yang sama dan tanpa pengarahan Masing-masing pembicara mengucapkan kata yang sama, yaitu “komputer”, sebanyak lima kali. Data suara yang dihasilkan dari proses ini selanjutnya disebut sebagai data non model.

Proses Pengenalan Suara

Proses pengenalan suara dalam penelitian ini secara umum terdiri dari 4 tahap yaitu: (1) Tahap Input Data:

Pada tahap ini dilakukan pengumpulan data dengan cara merekam data dan menyimpannya dalam bentuk file berekstensi WAV.

(2) Tahap Pra-proses:

Proses pereduksian dan analisis fitur dari data dengan menggunakan Mel-Frequency

Ceptrum Coeffisien.

(3) Tahap Pelatihan Jaringan Syaraf Tiruan Metode pelatihan yang digunakan adalah

resilient backpropagation dengan tipe supervised learning.

(4) Tahap Pengujian Jaringan Syaraf Tiruan Model jaringan syaraf tiruan yang terbentuk dari hasil pelatihan diuji dengan data uji kemudian diukur akurasinya. Diagram proses ditunjukkan pada Gambar 5.

Gambar 5 Proses pengenalan pembicara Data suara terlebih dahulu dikonversikan ke dalam bentuk vektor kemudian dilakukan praproses dengan MFCC pada data tersebut. Selanjutnya semua data untuk pelatihan digabungkan menjadi suatu matriks data input

(15)

yang akan digunakan sebagai input dari jaringan syaraf tiruan.

Hasil dari pelatihan yang berupa suatu model jaringan syaraf tiruan dengan bobot yang telah sesuai digunakan untuk tahap pengujian dan akhirnya diperoleh hasil pengujian berupa tingkat keakuratan terhadap data suara yang akan dikenal.

Arsitektur Jaringan Syaraf Tiruan

Arsitektur JST Propagasi Balik yang digunakan adalah arsitektur multilayer perceptron dengan satu hidden layer. Jumlah neuron input disesuaikan dengan hasil pereduksian dengan MFCC. Jumlah neuron

hidden dibagi menjadi tiga puluh perlakuan

yakni 10 sampai 300 dengan increment 10. Sedangkan jumlah neuron output disesuaikan dengan target pembicara. Inisialisasi yang digunakan adalah Nguyen-Widrow dengan alasan laju pembelajaran yang lebih baik (Fausett 1994). Struktur JST Resilient Backpropagation dapat dilihat pada Tabel 1.

Tabel 1 Struktur JST Resilient Backpropagation Karakteristik Spesifikasi Arsitektur

Jumlah neuron input Jumlah neuron hidden

Jumlah neuron output Inisialisasi bobot Fungsi Pembelajaran Fungsi aktivasi Toleransi galat 1 hidden layer Dimensi hasil MFCC 10 sampai 300 dengan increment 10 10 (Definisi target) Nguyen-Widrow Resilient Backpropagation Log-sigmoid 0.0001 Parameter-parameter Resilient Backpropagation

Walaupun pada resilient backpropagation ada banyak parameter yang dapat diatur, tetapi sebagian besar dari parameter-parameter tersebut dapat digunakan dengan nilai yang diatur secara default. Hal ini disebabkan karena variasi nilai dari parameter-parameter tersebut tidak terlalu mempengaruhi waktu yang dibutuhkan untuk pelatihan (Riedmiller dan Braun, 1993).

Berdasarkan hasil penelitian tersebut, pada penelitian ini digunakan nilai default pada parameter-parameter yang diperlukan. Nilai

delta0 yang digunakan adalah 0,1. Nilai deltamax dan deltamin masing-masing sebesar

50 dan 0,1. Sedangkan untuk parameter delt_inc dan delt_dec digunakan nilai 1,2 dan 0,5.

Lingkungan Pengembangan

Program diimplementasikan menggunakan perangkat lunak Matlab 7.0.1 Pemilihan perangkat lunak ini dilakukan dengan mempertimbangkan kemudahan dalam pengolahan matriks, penghitungan statistika dan jaringan syaraf tiruan propagasi balik. Sedangkan sistem operasi yang digunakan ialah Microsoft Windows XP Professional.

Perangkat keras yang digunakan dalam penelitian ini ialah komputer personal dengan

processor AMD Sempron 2600+, RAM DDR

512 MB, dan harddisk dengan kapasitas 80 GB.

HASIL DAN PEMBAHASAN Hasil Pengambilan Data

Data suara yang digunakan direkam menggunakan fungsi wavrecord pada Matlab, dan disimpan menjadi file berekstensi WAV dengan fungsi wavwrite. Setiap pembicara mengucapkan kata “komputer” sebanyak 60 kali sehingga didapat 600 data suara. Setiap suara direkam selama 1 detik tanpa pengarahan (unguided) dengan sampling rate 16000 Hz dan kemudian dikuantisasi dengan ke dalam representasi 16 bit, sehingga masing-masing menghasilkan ukuran file 31,25 KB.

Untuk mendapatkan data yang memiliki

noise, data yang telah dikumpulkan sebelumnya

disalin sebanyak dua kali kemudian ditambahkan white gaussian noise masing-masing dengan SNR 30 dB dan 20 dB. Setelah tahapan ini selesai dilakukan, didapatkan tiga tipe data suara yaitu: data tanpa noise, data dengan SNR 30 dB, dan data dengan SNR 20 dB dengan jumlah 600 data suara untuk tiap tipenya. Selanjutnya data yang telah dikumpulkan tadi dibagi menjadi dua kelompok dengan perbandingan 2:1 untuk tiap pembicara. Kelompok pertama, sebanyak 400 data suara, akan digunakan sebagai data latih dan kelompok kedua, sebanyak 200 data suara digunakan sebagai data uji. Data non model didapatkan dengan cara yang sama.

Praproses dengan MFCC

Data suara yang dihasilkan dari proses yang dijelaskan di atas memiliki ukuran yang cukup besar. Sampling rate 16000 Hz dan waktu perekaman 1 detik membuat matriks yang dihasilkan untuk tiap suara berukuran 16000 × 1 sehingga dianggap terlalu besar jika dilakukan pelatihan dan pengujian secara langsung. Untuk mengatasi masalah tersebut, data suara yang telah dikumpulkan tadi direduksi terlebih

(16)

dahulu dengan menggunakan Mel-Frequency

Cepstrum Coefficients (MFCC). Dengan MFCC, data suara yang telah dikumpulkan direduksi dengan cara dilakukan segmentasi dan kemudian diambil beberapa koefisien dari tiap segmen tersebut yang dianggap mewakili keseluruhan segmen. Hasil dari MFCC adalah matriks ceptrum coefficients dengan ukuran m × n, dengan n adalah banyaknya segmen dan m adalah jumlah koefisien dari tiap segmen tersebut.

Pada penelitian ini, digunakan fungsi dari

Auditory Toolbox yang dikembangkan oleh

Slanley pada tahun 1998. Setiap data suara akan dibagi menjadi segmen berukuran masing-masing 30 ms dengan overlap 50% sehingga menghasilkan 66 segmen. Dari tiap segmen tersebut diambil 13 koefisien sehingga setelah melewati tahap praproses tiap datum suara akan menjadi sebuah matriks dengan ukuran 13 × 66. Matriks inilah yang selanjutnya digunakan sebagai data untuk melakukan pelatihan dan pengujian pada jaringan syaraf tiruan yang dibangun.

Pengembangan Model Jaringan Syaraf Tiruan

Tiga puluh perlakuan yang berbeda dalam jumlah neuron tersembunyi mengakibatkan perlu dibangunnya sepuluh model jaringan syaraf tiruan yang berbeda dengan tiap model mewakili satu jenis perlakuan. Tiga puluh model tadi kemudian dilatih dan diuji untuk mendapatkan model dengan nilai akurasi yang optimal. Pelatihan dan pengujian yang dilakukan pada tiap model dilakukan sebanyak lima kali karena pada saat inisialisasi bobot digunakan bilangan random sehingga tiap kali ulangan dihasilkan nilai akurasi yang berbeda. Nilai akurasi yang didapat kemudian dihitung rata-ratanya untuk mendapatkan nilai akurasi rata-rata yang digunakan sebagai pembanding

dalam mencari nilai akurasi yang optimal. Grafik akurasi rata-rata dari tiap model pada pelatihan dengan data tanpa noise diperlihatkan pada Gambar 6 dan dijabarkan dengan lebih jelas pada Lampiran 2.

Dari hasil penelitian, akurasi rata-rata optimal yang dicapai adalah 92.8% yang didapatkan dari model dengan seratus neuron tersembunyi. Di sisi lain, akurasi rata-rata terendah yang dicapai adalah 58,6% yang didapat pada model dengan sepuluh neuron tersembunyi. Dari Gambar 6 juga dapat dilihat bahwa nilai dari akurasi rata-rata yang dihasilkan oleh model JST dengan sepuluh

neuron tersembunyi sampai dengan seratus neuron tersembunyi secara umum bergerak naik

seiring bertambahnya jumlah neuron. Tetapi setelah jumlah neuron tersembunyi melebihi seratus, akurasi rata-rata yang dihasilkan berfluktuasi dengan ragam yang kecil di sekitar nilai tertentu.

Perubahan akurasi rata-rata dari model sampai dengan seratus neuron tersembunyi sangat mungkin disebabkan oleh pengaruh banyaknya jumlah bobot yang digunakan sebagai koefisien dalam proses perhitungan dari tiap neuron. Tiap nilai bobot berpengaruh besar dalam menentukan keluaran dari kesuluruhan model JST yang dibuat. Nilai bobot ini selalu diperbaharui pada tiap iterasi. Dengan lebih banyak bobot yang dapat diperbaharui, nilai bobot yang disimpan dapat lebih tepat sehingga menghasilkan perhitungan yang lebih akurat. Jumlah neuron tersembunyi yang lebih banyak juga membuat keluaran dari hidden layer menjadi lebih banyak. Keluaran dari hidden

layer digunakan sebagai nilai masukan pada output layer. Hal ini menyebabkan perhitungan

yang dilakukan pada output layer menjadi lebih akurat karena masukan yang didapatnya lebih banyak dan dengan bobot yang lebih tepat. Perbandingan Akurasi Rata-rata Terhadap Jumlah Neuron Tersembunyi

0 10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 jumlah neuron tersembunyi

ak urasi r at a-rata

Gambar 6 Grafik perbandingan nilai akurasi rata-rata terhadap jumlah neuron tersembunyi pada pelatihan dengan data tanpa noise.

(17)

Namun setelah jumlah neuron tersembunyi melewati angka seratus neuron, nilai akurasi rata-rata cenderung konvergen. Dari fakta tersebut dapat disimpulkan bahwa nilai akurasi maksimal yang bisa dicapai oleh model JST untuk data yang dimasukkan telah dicapai sehingga akurasi yang dihasilkan oleh tiap model JST cenderung konvergen.

Pada Gambar 7 ditampilkan jumlah epoh rata-rata yang dibutuhkan untuk mencapai nilai galat yang dikehendaki pada saat pelatihan untuk tiap model JST. Dari nilai-nilai yang ditampilkan, terlihat bahwa perilaku dari jumlah epoh rata-rata yang dibutuhkan untuk mencapai nilai galat yang diinginkan kurang lebih mirip dengan perilaku dari nilai akurasi rata-rata yang dihasilkan oleh model JST. Sampai dengan sembilan puluh neuron tersembunyi, jumlah epoh rata-rata yang dibutuhkan untuk mencapai nilai galat yang dikehendaki menurun seiring dengan pertambahan jumlah neuron

tersembunyi.

Penurunan jumlah epoh yang dibutuhkan seiring dengan pertambahan jumlah neuron ini terkait erat dengan alasan terjadinya kenaikan nilai akurasi rata-rata seiring dengan kenaikan jumlah neuron tersembunyi. Perhitungan yang lebih akurat di output layer menyebabkan keluaran dari keseluruhan model JST menjadi lebih akurat sehingga galat yang didapat sudah cukup mendekati target. Banyaknya bobot yang dapat diperbaharui juga mengakibatkan nilai bobot yang disimpan dapat lebih tepat sehingga jumlah iterasi yang diperlukan untuk untuk mencapai nilai galat yang dikehendaki tidak terlalu banyak. Keterkaitan ini dikuatkan dengan kenyataan bahwa nilai akurasi rata-rata

cenderung meningkat seiring dengan semakin turunnya jumlah epoh rata-rata dari model pada model JST dengan jumlah neuron tersembunyi kurang dari seratus.

Selanjutnya, setelah jumlah neuron

tersembunyi melebihi seratus, jumlah epoh yang dibutuhkan untuk mencapai nilai galat yang dikehendaki berfluktuasi menuju suatu nilai tertentu, mirip dengan yang terjadi pada nilai akurasi yang dihasilkan tiap model JST. Dari Fakta ini dapat disimpulkan pula bahwa nilai epoh minimum yang dibutuhkan untuk mencapai nilai galat yang dikehendaki telah tercapai sehingga selanjutnya epoh yang dibutuhkan cenderung tidak terlalu berubah untuk tiap penambahan jumlah neuron

tersembunyi. Kemudian apabila diamati, terlihat bahwa nilai akurasi rata-rata yang tinggi didapat dari model yang dilatih dengan jumlah epoh yang relatif kecil. Fakta tersebut memperkuat analisis bahwa nilai akurasi yang dihasilkan oleh tiap model JST berkaitan erat dengan jumlah epoh yang dibutuhkan untuk mencapai nilai galat yang dikehendaki karena alasan seperti yang telah dijelaskan sebelumnya.

Untuk melihat perilaku dari model JST yang dibangun terhadap data yang diberi noise, dilakukan pelatihan dan pengujian model JST dengan arsitektur yang sama dengan data yang memiliki noise. Pada Gambar 8 ditampilkan akurasi rata-rata yang dihasilkan dari pelatihan dan pengujian model JST pada data dengan SNR 30 dB. Hasil pelatihan dan pengujian model JST dari tiga puluh perlakuan jumlah

neuron tersembunyi pada data dengan SNR

30 dB dijabarkan dengan lebih jelas pada Lampiran 3.

Perbandingan Epoh Rata-rata Terhadap Jumlah Neuron Tersembunyi

0 100 200 300 400 500 600 700 800 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 jumlah neuron tersembunyi

e p o h rata -r at a

Gambar 7 Grafik perbandingan jumlah epoh rata-rata terhadap jumlah neuron tersembunyi pada pelatihan dengan data tanpa noise.

(18)

Perbandingan Akurasi Terhadap Jumlah Neuron Tersembunyi pada Data dengan SNR 30dB 0 10 20 30 40 50 60 70 80 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 jumlah neuron tersembunyi

aku ras i r at a-rat a

Gambar 8 Grafik perbandingan nilai akurasi rata-rata terhadap jumlah neuron tersembunyi pada pelatihan dengan data SNR 30 dB.

Dari hasil penelitian, nilai akurasi rata-rata terbaik adalah 71% yang dihasilkan dari model JST dengan 200 neuron tersembunyi. Sementara itu, nilai akurasi rata-rata terendah kembali dihasilkan dari model dengan dengan jumlah lapisan neuron tersedikit, yaitu sepuluh. Di samping itu juga terlihat bahwa sampai dengan lima puluh neuron tersembunyi, nilai akurasi rata-rata cenderung naik seiring dengan pertambahan jumlah neuron tersembunyi. Setelah itu, nilai akurasi yang dihasilkan kembali berfluktuasi menuju suatu nilai. Dari perilaku ini dapat disimpulkan bahwa dengan model JST yang dibangun, untuk data dengan SNR 30 dB nilai akurasi maksimal yang dapat dicapai tidak dapat lebih baik lagi.

Hasil yang didapat dari pelatihan dan pengujian model JST dengan arsitektur yang sama pada data yang dengan SNR 20dB juga memperlihatkan perilaku yang mirip. Akurasi rata-rata yang dihasilkan oleh tiap model JST tersebut diperlihatkan pada Gambar 9. Hasil pelatihan dan pengujian model JST dari tiga puluh perlakuan jumlah neuron tersembunyi pada data dengan SNR 20 dB dijabarkan dengan lebih jelas pada Lampiran 4.

Pada Gambar 9 sekali lagi terlihat bahwa akurasi yang dihasilkan cenderung naik sampai suatu titik lalu kemudian berfluktuasi menuju suatu nilai. Bahkan kali ini fluktuasi hampir terlihat dari awal karena nilai akurasi rata-rata yang dihasilkan oleh tiap model JST hampir tidak menunjukkan peningkatan yang terlalu berarti. Nilai akurasi rata-rata yang dihasilkan dari model JST dengan jumlah neuron tersedikit, dalam hal ini sepuluh, hanya berbeda beberapa persen dari nilai akurasi rata-rata yang dihasilkan oleh model JST dengan tiga ratus neuron tersembunyi. Dari fakta tersebut dapat disimpulkan bahwa untuk data dengan noise yang cukup besar, jumlah neuron tersembunyi tidak terlalu berpengaruh dalam meningkatkan nilai akurasi rata-rata.

Selanjutnya, untuk melihat pengaruh dari

noise terhadap nilai akurasi dilakukan perbandingan nilai akurasi rata-rata yang dihasilkan dari tiap jenis data. Gambar 10 menampilkan perbandingan langsung dari akurasi rata-rata yang dihasilkan tiap model JST yang dilatih dan diuji dengan tipe data yang berbeda.

Perbandingan Akurasi Terhadap Jumlah Neuron Tersembunyi Pada Data dengan SNR 20 dB

0 10 20 30 40 50 60 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 jumlah neuron tersembunyi

a k ur a si rat a -r at a

Gambar 9 Grafik perbandingan nilai akurasi rata-rata terhadap jumlah neuron tersembunyi pada data dengan SNR 20 dB

(19)

Perbandingan Nilai Akurasi Rata-rata Terhadap Jumlah Neuron Tersembunyi pada Berbagai Data

0 10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 jumlah neuron tersembunyi

a ku ra s i rata -rat a

data tanpa noise data dengan SNR 30dB data dengan SNR 20dB

Gambar 10 Grafik perbandingan nilai akurasi rata-rata terhadap jumlah neuron tersembunyi. Dari gambar, terlihat bahwa nilai akurasi

rata-rata dari tiap model JST yang dilatih dan diuji dengan data tanpa noise selalu lebih besar dibandingkan dengan nilai akurasi rata-rata dari tiap model JST yang dilatih dan diuji dengan data yang diberi noise. Di samping itu, terlihat pula bahwa data dengan noise yang lebih buruk, dalam hal ini 20 dB, menghasilkan nilai akurasi rata-rata yang lebih buruk pula bila dibandingkan dengan model yang dilatih dan diuji dengan data yang diberi noise 30 dB. Hal ini memberikan kesimpulan bahwa nilai akurasi akan lebih baik jika data yang digunakan dalam pelatihan dan pengujian lebih baik.

Dari grafik juga terlihat bahwa konvergensi dari tiap data tidak sama. Dari grafik terlihat bahwa data tanpa noise konvergensi terjadi pada saat jumlah neuron tersembunyi telah melewati angka seratus, sedangkan pada data dengan

noise 30 dB konvergensi sudah terjadi pada saat

jumlah neuron tersembunyi masih tujuh puluh. Bahkan pada data dengan noise 20 dB konvergensi hampir terlihat dari awal. Di samping itu, dari grafik dapat terlihat pula bahwa kemiringan dari garis yang menyatakan akurasi rata-rata cenderung meningkat jika data yang digunakan lebih baik. Dari fakta tersebut dapat disimpulkan bahwa jika digunakan data yang guided maka akurasi yang didapat akan jauh lebih baik.

Pengambilan Threshold

Dengan model JST yang optimal, dilakukan pengambilan nilai threshold untuk tiap pembicara. Threshold tersebut digunakan pada saat identifikasi untuk melakukan seleksi yang lebih akurat dari hasil identifikasi setiap suara. Nilai threshold dari tiap pembicara berfungsi sebagai ambang batas nilai keluaran yang

diterima untuk dapat diidentifikasikan sebagai pembicara tersebut. Data threshold diambil dengan menjadikan data latih sebagai data uji. Keluaran yang diidentifikasi dengan benar dari model JST kemudian disimpan dalam suatu matriks. Dari matriks tersebut kemudian diambil nilai keluaran minimal untuk tiap pembicara. Nilai keluaran minimal tersebut adalah nilai yang digunakan sebagai threshold untuk tiap pembicara (Ho, 1998).

Hasil Identikasi Pembicara Model JST Terbaik pada Data Tanpa Noise

Identifikasi dilakukan dengan menjadikan data uji sebagai masukan untuk model JST yang telah selesai dilatih. Keluaran dari tiap neuron di ouput layer model JST tersebut kemudian dicari nilai maksimalnya. Nilai maksimal tersebut menunjukkan identifikasi pembicara dari data suara yang dimasukkan. Hasil identifikasi pembicara untuk dua puluh data tanpa noise dan tidak menggunakan threshold ditampilkan pada Tabel 2.

Dari Tabel 2 dapat dilihat bahwa pembicara yang dapat diidentikasi dengan benar seluruhnya adalah pembicara 1, pembicara 2, pembicara 5, dan pembicara 8. Di samping itu, dapat dilihat juga bahwa pembicara yang paling sedikit diidentifikasi dengan benar adalah pembicara 9. Pada pembicara tersebut, data uji yang dapat diidentifikasi dengan benar hanya tujuh belas data atau 85% sedangkan sisanya dua data uji diidentifikasi sebagai suara pembicara 6 dan satu diidentikasi sebagai suara pembicara 7. Dari data, dapat dihitung akurasi identifikasi dari model JST tersebut untuk seluruh pembicara adalah 96 %.

(20)

Tabel 2 Hasil identifikasi model JST terbaik dari dua puluh data pembicara tanpa threshold Diidentifikasi Sebagai Pembicara

Pembicara 1 2 3 4 5 6 7 8 9 10 Persentase 1 20 100 % 2 20 100 % 3 19 1 95 % 4 19 1 95 % 5 20 100 % 6 19 1 95 % 7 19 1 95 % 8 20 100 % 9 2 1 17 85 % 10 1 19 95 %

Ada dua alasan yang dapat menjelaskan terjadinya perilaku tersebut. Pertama, model JST yang dibangun kurang dapat membedakan dengan baik suara pembicara 6, pembicara 7, dan pembicara 9. Hal ini mungkin disebabkan karena pada pelatihan, galat target yang digunakan kurang kecil sehingga pelatihan belum optimal. Alasan kedua adalah data suara yang digunakan pada pelatihan atau pengujian dari pembicara 6, pembicara 7, dan pembicara 9 kurang lebih mirip. Pada Tabel 2 juga terlihat bahwa ada dua data suara dari pembicara lain yang teridentifikasi sebagai data suara pembicara 5. Data suara itu adalah data suara milik pembicara pembicara 3 dan satu suara milik pembicara 4. Sementara di lain pihak, seluruh data uji dari pembicara 5 diidentifikasi dengan benar. Perilaku ini menguatkan alasan bahwa data yang digunakan pada pelatihan dan pengujian kurang lebih mirip sehingga model JST yang dibangun dengan arsitektur yang direncanakan belum dapat mengidentifikasi dengan baik.

Selanjutnya, pada proses identifikasi ditambahkan satu tahapan lagi. Kali ini setelah

ditemukan nilai maksimal dari keluaran model JST, dilakukan pembandingan terhadap nilai

threshold dari pembicara tersebut. Sebuah data

suara yang diuji diidentifikasi sebagai suara salah seorang pembicara hanya jika nilai maksimal keluaran dari model JST, yang menyatakan bahwa data tersebut suara dari salah seorang pembicara, lebih besar dari nilai

threshold. Apabila nilai maksimal yang

ditemukan masih lebih kecil dari pada nilai

threshold maka data suara tersebut tidak

dikategorikan sebagai satu pun pembicara. Dengan penambahan tahap threshold dalam proses identifikasi, model JST yang dibangun menjadi lebih “hati-hati” dalam mengidentifikasi suatu suara. Hasil identifikasi pembicara untuk dua puluh data pengujian tanpa noise dengan menggunakan threshold ditampilkan pada Tabel 3. Pada tabel tersebut ditambahkan satu pembicara baru yaitu pembicara 0. Pembicara ini ditambahkan dengan maksud untuk menampung data suara yang hasil identifikasinya lebih kecil daripada nilai threshold.

Tabel 3 Hasil identifikasi model JST terbaik dari dua puluh data pembicara dengan threshold Diidentifikasi Sebagai Pembicara

Pembicara 0 1 2 3 4 5 6 7 8 9 10 Persentase 1 4 16 80 % 2 3 17 85 % 3 2 18 90 % 4 7 13 65 % 5 1 19 95 % 6 1 19 95 % 7 7 13 65 % 8 6 14 70 % 9 3 17 85 % 10 1 19 95 %

(21)

Dari Tabel 3 dapat dilihat bahwa setelah ditambahkan threshold tidak ada lagi data suara dari satu pembicara yang teridentifikasi sebagai pembicara lain. Tapi di lain pihak dapat dilihat juga bahwa tidak ada lagi data suara yang seluruhnya diidentifikasi dengan benar. Jumlah data suara yang teridentifikasi dengan benar terbanyak hanya sembilan belas data yaitu data suara dari pembicara 5, pembicara 6, dan pembicara 10. Satu data suara dari masing-masing pembicara tadi dikenali sebagai pembicara 0 yang berarti bahwa nilai keluaran model JST untuk data tersebut lebih kecil dari nilai thresholdnya.

Jumlah data suara yang teridentifikasi dengan benar terendah terjadi pada pembicara 4 dan pembicara 7, yaitu tiga belas data suara atau hanya 65 % dari seluruh data suara yang diujikan. Jumlah data suara teridentifikasi dengan benar yang rendah juga terjadi pada pembicara 8. Dari dua puluh data yang diujikan, hanya empat belas data yang diidentifikasi dengan benar.

Bila dibandingkan dengan identifikasi tanpa threshold, jumlah data suara yang teridentifikasi dengan benar pada identifikasi dengan threshold secara umum mengalami penurunan yang cukup drastis. Hal ini dapat dilihat dengan jelas dalam grafik perbandingan jumlah data suara yang teridentifikasi dengan benar pada Gambar 11.

0 5 10 15 20 25 1 2 3 4 5 6 7 8 9 10 Pembicara J um lah t e ri d en ti fi k as i b e na r

identifikasi tanpa threshold identifikasi dengan threshold

Keterangan :

threshold

threshold

Gambar 11 Grafik perbandingan jumlah data suara yang teridentifikasi dengan benar pada

data tanpa noise

Dari grafik terlihat bahwa pada identifikasi tanpa threshold jumlah data suara yang dikenali dengan benar secara umum mengalami penurunan dibandingkan dengan identifikasi

tanpa threshold. Nilai akurasi keseluruhan pun turun menjadi hanya 82.5%. Hal ini disebabkan karena hasil keluaran dari model JST untuk data suara tersebut masih lebih kecil dari nilai

threshold pembicara yang bersangkutan. Keadaaan tersebut mengakibatkan data suara yang diujikan tadi dianggap bukan merupakan suara dari pembicara yang bersangkutan dan kemudian diklasifikasikan sebagai data suara pembicara 0.

Penurunan jumlah data suara teridentifikasi dengan benar yang cukup drastis ini kemungkinan disebabkan oleh dua hal. Pertama, data dan model JST yang digunakan masih kurang baik. Model yang masih kurang baik menyebabkan identifikasi kurang baik, yang digambarkan dengan nilai maksimal keluaran dari model yang kurang besar. Nilai maksimal keluaran yang kurang besar ini mengakibatkan data suara yang diujikan diangap bukan suara pembicara yang bersangkutan karena nilainya lebih kecil dari threshold. Kemungkinan kedua adalah kurang baiknya nilai threshold itu sendiri. Jika nilai threshold yang diambil terlalu besar, maka akan banyak data suara yang tidak teridentifikasi karena nilai maksimalnya lebih kecil dari threshold.

Untuk mengamati ketepatan nilai threshold yang dipakai dilakukan pengujian model JST dengan data suara dari pembicara yang tidak ikut serta dalam pelatihan model JST. Idealnya, seluruh data yang diuji akan dikenali sebagai pembicara 0 karena pembicara tidak ikut dalam pelatihan. Hasil identifikasi dua puluh data suara tanpa noise dari pembicara yang tidak ikut serta dalam pelatihan dan dengan menggunakan

threshold ditampilkan pada Tabel 4.

Pada Tabel 4 terlihat bahwa secara umum model JST dan threshold yang digunakan sudah dapat mengenali data suara tanpa noise dari pembicara yang tidak ikut serta dalam pelatihan dengan baik. Kesalahan hanya terjadi pada pembicara non model 1. Pada pembicara non model 1 ada satu data suara yang dikenali sebagai pembicara 4. Dari sini kita dapat menyimpulkan bahwa threshold yang digunakan tidak terlalu tinggi sehingga masih ada satu data suara dari pembicara yang tidak ikut serta dalam pelatihan yang dikenali sebagai pembicara 4, yang ikut serta dalam pelatihan. Dengan demikian dapat disimpulkan bahwa penyebab turunnya nilai akurasi rata-rata setelah penerapan nilai threshold adalah data dan model jaringan syaraf tiruan yang digunakan untuk identifikasi pembicara tidak cukup baik.

(22)

Tabel 4 Hasil identifikasi dua puluh data suara tanpa noise dari pembicara yang tidak ikut serta dalam pelatihan dengan menggunakan threshold

Diidentifikasi Sebagai Pembicara Pembicara Non model 0 1 2 3 4 5 6 7 8 9 10 Persentase 1 4 0 1 80 2 5 0 100 3 5 0 100 4 5 0 100 5 5 0 100 6 5 0 100 7 5 0 100 8 5 0 100 9 5 0 100 10 5 0 100

KESIMPULAN DAN SARAN Kesimpulan

Dari penelitian yang telah dilakukan, dapat disimpulkan bahwa model jaringan syaraf tiruan resilient backpropagation dapat digunakan untuk identifikasi pembicara pada data yang direkam tanpa pengarahan. Dari tiga puluh model yang dibangun, nilai akurasi rata-rata terbaik didapatkan dari model dengan seratus neuron tersembunyi yaitu sebesar 92,8%. Nilai akurasi rata-rata terendah didapatkan dari model dengan sepuluh neuron tersembunyi, yaitu 58,6%.

Pada data yang diberi noise, nilai akurasi rata-rata mengalami penurunan dibandingkan dengan data yang tanpa noise. Model jaringan syaraf tiruan yang dilatih dengan menggunakan data dengan SNR 30 dB hanya mampu menghasilkan nilai akurasi rata-rata terbaik 71,0% yang didapat dari model dengan dua ratus neuron tersembunyi. Di samping itu, data dengan noise yang lebih besar juga menghasilkan nilai akurasi rata-rata yang lebih buruk. Model jaringan syaraf tiruan yang dilatih menggunakan data dengan SNR 20 dB hanya mampu menghasilkan nilai akurasi rata-rata terbaik 48,3% yang didapat dari model dengan seratus neuron tersembunyi.

Saran

Untuk penelitian selanjutnya, tingkat akurasi dapat dinaikkan dengan beberapa cara berikut:

1. Menambahkan beberapa lapisan tersembunyi untuk melihat pengaruh banyaknya lapisan tersembunyi terhadap nilai akurasi.

2. Menggabungkan metode JST dengan beberapa metode lain yang telah diketahui dapat digunakan untuk melakukan identifikasi pembicara sehingga nilai akurasi dapat ditingkatkan.

3. Menambahkan tahap untuk menghilangkan atau mengurangi noise dari data suara yang digunakan.

DAFTAR PUSTAKA

Campbell, Jr JP. 1997. Speaker Recognition:

A Tutorial.Proceeding IEEE.

85:1437-1461.

Do MN. 1994. Digital Signal Processing

Mini-Project: An Automatic Speaker Recognition System. Audio Visual Communications Laboratory, Swiss Federal Institute of Technology,

Laussanne, Switzerland.

http://lcavwww.epfl.ch/~minhdo/asr_proje ct.pdf [12 Juli 2006].

Fausett L. 1994. Fundamentals of Neural

Network. New York: Prentice Hall.

Fu LM. 1994. Neural Networks in Computer

Intelligence. Singapore: Mc Graw-Hill.

Ho, CE. 1998. Speaker Recognition System. CNS 248 - Spring 1998 Project Report. Jurafsky D, dan Martin JH. 2000. Speech and

Language Processing An Introduction to Natural Language Processing, Computational Linguistic, and Speech Recognition. New Jersey: Prentice Hall.

(23)

Mathworks Inc. 1999. Neural Network for

Use With Matlab. Natick: The Mathworks

Inc.

Musthofa. 2005. Pencarian Pola Data Audio

dalam Interval Tertentu Menggunakan Jaringan Syaraf Tiruan Recurrent

[Skripsi]. Bogor: Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor.

Oktavianto, B. 2004. Pengenalan Pembicara

dengan Jaringan Syaraf Tiruan Propagasi Balik [Skripsi]. Bogor: Departemen Ilmu

Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor.

Purnamasari, W. 2006. Pengembangan Model

Markov Tersembunyi untuk Identifikasi Pembicara [Skripsi]. Bogor: Departemen

Ilmu Komputer, Fakultus Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.

Saputro, DW. 2006. Pengenalan Karakter

Tulisan Tangan dengan Menggunakan Jaringan Syaraf Tiruan Propagasi Balik Resilient [Skripsi]. Bogor: Departemen

Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor.

Slanley M. 1998. Auditory Toolbox. Interval Research Corporation, Palo Alto. http://rv14.ecn.purdue.edu/~malcolm/inter val/1998-010/). [4 Juni 2006].

(24)
(25)

Lampiran 1 Algoritma JSTRPROP

Langkah 0. Inisialisasi bobot

Langkah 1. Selama syarat henti salah, lakukan langkah 2-9

Langkah 2. Untuk setiap pasangan pelatihan (masukan dan target), lakukan langkah 3-8

Langkah 3. Setiap unit masukan (Xi, i=1, …,n) menerima sinyal masukan xi dan meneruskannya ke seluruh unit pada lapisan diatasnya (hidden unit).

Langkah 4. Setiap unit tersembunyi (Zj, j=1, …,p) menghitung total sinyal masukan terbobot,

= + = n i ij i j j v xv in z 1 0 _ ,

lalu menghitung sinyal keluarannya dengan fungsi aktivasi,

(

j

)

j f z in

z = _ ,

dan mengirimkan sinyal ini ke seluruh unit pada lapisan atasnya (lapisan output).

Langkah 5. Setiap unit output (Yk, k=1, …,m) menghitung total sinyal masukan terbobot,

= + = p j jk j k k w x w in y 1 0 _ ,

lalu menghitung sinyal keluaran dengan fungsi aktivasi,

(

k

)

k f y in

y = _

Langkah 6. Setiap unit output (Yk, k=1, …, m) menerima sebuah pola target yang sesuai dengan pola masukan pelatihannya. Unit tersebut menghitung informasi kesalahan,

(

k k

) (

k

)

k t y f y_in ' − = δ j k jk δ z ϕ2 = k k δ β2 = ) ( 2 2 2jk ϕ jk ϕ jk old ϕϕ = ∗ ) ( 2 2 2k β k β k old ββ = ∗

kemudian menghitung koreksi bobot (digunakan untuk mengubah wjk nanti),

     ∆ ∆ ∆ = ∆ ); ( ); ( * ); ( * old w old w FT old w FN w jk jk jk jk 0 2 0 2 0 2 = < > jk jk jk ϕϕ ϕϕ ϕϕ

(

, max

)

min w delta wjk = ∆ jk ∆      ∆ ∆ − = ∆ ; 0 ; ; jk jk jk w w w 0 2 0 2 0 2 = < > jk jk jk ϕ ϕ ϕ

hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b2k)

     ∆ ∆ ∆ = ∆ ); ( 2 ); ( 2 * ); ( 2 * 2 old b old b FT old b FN b k k k k

0

2

0

2

0

2

=

<

>

k k k

ββ

ββ

ββ

(

)

(

)

     ∆ ∆ = ∆ ; min , 2 max ; max , 2 min 2 delta b delta b b k k k 0 2 0 2 < > k k ββ ββ      ∆ ∆ − = ∆ ; 0 ; 2 ; 2 2 k k k b b b 0 2 0 2 0 2 = < > k k k β β β

Gambar

Gambar 1 Diagram blok dari proses MFCC   (Do 1994).
Gambar 2 Arsitektur JST lapis tunggal.
Gambar 4  Arsitektur jaringan propagasi balik  (Fu 1994).
Diagram proses ditunjukkan pada Gambar 5.
+6

Referensi

Dokumen terkait

Hasil penelitian yaitu: (1) Prinsip-Prinsip dan Ciri-Ciri Pengembangan Silabus di SD Muhammadiyah Boja adalah disusun secara bersama-sama baik untuk mata pelajaran

PM 89 Tahun 2015 tentang Penanganan Kerlambatan Penerbangan ( Delay Management) pada Badan Usaha Angkutan Niaga Berjadwal di Indonesia, terdapat berbagai Pasal

Judul yang dipilih oleh Tim peneliti untuk Hibah Penelitian dan Pengabdian Pada Masyarakat Kemenristekdikti 2017 ini adalah “Rencana Kontinjensi Pengurangan Risiko Bencana

Berdasarkan hasil evaluasi administrasi, evaluasi teknis dan evaluasi harga dan evaluasi kualifikasi serta pembktian kualifikasi maka Panitia Pengadaan Barang/Jasa

Analisa rasio laporan keuangan dapat menggambarkan hubungan antar pos yang terdapat dalam laporan keuangan suatu perusahaan, dengan perbandingan angka rasio dapat diketahui

Dalam situasi resmi atau formal sebagai warga negara yang baik seharusnya kita dapat menggunakan bahasa Indonesia dengan baik dan benar.. Setiap warga negara Indonesia wajib

Selain itu, pasar dalam negeri untuk produk kreatif sangat menjanjikan karena jumlah penduduk dan daya beli masyarakat yang juga meningkat untuk membeli produk-produk

Suatu wilayah mengalami pasang dan surut dalam waktu yang berbeda, periode rata-rata fenomena pasang dan surut sekitar 12,5 jam tergantung dari posisi geografis suatu