BAB 3 PERANCANGAN SISTEM

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI. mencakup teori speaker recognition dan program Matlab. dari masalah pattern recognition, yang pada umumnya berguna untuk

BAB IV HASIL DAN PEMBAHASAN. dicolokan ke komputer, hal ini untuk menghindari noise yang biasanya muncul

BAB 3 PERANCANGAN SISTEM

BAB 3 PERUMUSAN PENELITIAN. Signal. Sparse Coding. Reconstruction. Reconstructed. Assessment

BAB I PENDAHULUAN. Suara merupakan salah satu media komunikasi yang paling sering dan

BAB III METODOLOGI PENELITIAN

BAB IV HASIL DAN PEMBAHASAN. database dan database query, secara keseluruhan menggunakan cara yang sama.

Bab 3. Perancangan Sistem

Pengenalan Suara Menggunakan Metode MFCC (Mel Frequency Cepstrum Coefficients) dan DTW (Dynamic Time Warping) untuk Sistem Penguncian Pintu

BAB III METODOLOGI PENELITIAN. Alat yang digunakan dalam penelitian ini adalah: b. Memori : 8192 MB. c. Sistem Model : Lenovo G40-45

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM APLIKASI

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB 3 ANALISIS DAN PERANCANGAN SISTEM PROGRAM APLIKASI HANDS RECOGNIZER

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. penelitian laboratorium. Studi kepustakaan dilakukan untuk mencari teori atau

BAB IV HASIL PENELITIAN DAN PEMBAHASAN. 4.1 Pengembangan Sistem Pengenalan Wajah 2D

BAB IV HASIL PENELITIAN DAN PEMBAHASAN

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM

BAB 3 ALGORITMA DAN PERANCANGAN. membaca partitur musik ini adalah sebagai berikut : hanya terdiri dari 1 tangga nada. dengan nada yang diinginkan.

PROGRAM PASCA SARJANA JURUSAN TEKNIK ELEKTRO ELEKTRONIKA

BAB 4 METODOLOGI PEMECAHAN MASALAH DAN PERANCANGAN. 4.1 Model Rumusan Masalah dan Pengambilan Keputusan

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. Metode penelitian yang digunakan pada penelitian ini adalah denoising

BAB 3 ALGORITMA DAN PERANCANGAN

BAB I PENDAHULUAN. Penyakit jantung merupakan salah satu penyebab kematian terbesar di

Bab III ANALISIS&PERANCANGAN

BAB 3 PERANCANGAN SISTEM

BAB IV PEMBAHASAN. A. Hasil Model Radial Basis Function Neural Network (RBFNN) Langkah-langkah untuk menentukan model terbaik Radial Basis Function

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN PROGRAM APLIKASI. spesifikasi perangkat keras dan perangkat lunak yang menunjang.

BAB III ANALISIS DAN PERANCANGAN SISTEM

ANALISIS DAN PERANCANGAN PROGRAM APLIKASI. mahasiswa Binus University secara umum. Dan mampu membantu

Penyusun Tugas Akhir Alvian Adi Pratama [ ] Dosen Pembimbing Diana Purwitasari, S.Kom, M.Sc. Dr. Eng. Nanik Suciati, S.Kom., M.Kom.

BAB 2 LANDASAN TEORI

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM

BIOMETRIK SUARA DENGAN TRANSFORMASI WAVELET BERBASIS ORTHOGONAL DAUBENCHIES

BAB III PERENCANAAN SISTEM. Pada bab ini akan dijelaskan alur sistem serta desain interface dari Aplikasi Sistem Input

Pendahuluan. Praktikum Pengantar Pengolahan Citra Digital Departemen Ilmu Komputer Copyright 2008 All Rights Reserved

BAB 3 PERANCANGAN SISTEM. ruangan yang menggunakan led matrix dan sensor PING))). Led matrix berfungsi

BAB III ANALISA DAN PERANCANGAN 3.1 ANALISA PERANGKAT LUNAK BASIS DATA MULTIMEDIA

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

IMPLEMENTASI DAN EVALUASI

yaitu dalam ketepatan pengenalan pola berdasarkan kelas untuk menampilkan genre.

BAB III ANALISIS DAN PERANCANGAN PROGRAM APLIKASI. client-server yang terintegrasi dengan component ADO pada Delphi. Pada program

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

BAB III METODE PENELITIAN. Tujuan tugas akhir ini akan membangun suatu model sistem yang

BAB 3 PERANCANGAN SISTEM. yang akan menjalankan perintah-perintah yang dikenali. Sistem ini dibuat untuk

BAB 3 PROSEDUR DAN METODOLOGI. perhitungan LSI dan juga interface yang akan dibuat oleh penulis.

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISA MASALAH DAN PERANCANGAN SISTEM

Bab III PERANCANGAN PROGRAM APLIKASI

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM

BAB 3 METODOLOGI PEMECAHAN MASALAH DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN. Metode Inverse Modified Discrete Cosine Transform (IMDCT) yang akan

Membuat File Database & Tabel

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM

IV. RANCANG BANGUN SISTEM. Perangkat lunak bantu yang dibuat adalah perangkat lunak yang digunakan untuk

BAB 3 ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem terdiri dari dua bagian yaitu analisis data sistem dan analisis komponen sistem.

BAB 3 PERANCANGAN SISTEM

PRESENTASI TUGAS AKHIR KI091391

Seminar Nasional APTIKOM (SEMNASTIKOM), Hotel Lombok Raya Mataram, Oktober 2016

BAB 3 METODOLOGI. Metodologi penelitian yang digunakan dalam penulisan ini adalah studi

BAB III ANALISA DAN PERANCANGAN

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk menjalankan alat bantu normalisasi ini dibutuhkan sarana perangkat keras

BAB 3 PEMBAHASAN. 3.1 Sistem Absensi Berbasis Webcam

BAB III PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

BAB 3 PERANCANGAN PERANGKAT LUNAK

BAB 3 METODOLOGI PENELITIAN

3.6 Data Mining Klasifikasi Algoritma k-nn (k-nearest Neighbor) Similaritas atribut numerik

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

Melalui persamaan di atas maka akan terbentuk pola radargram yang. melukiskan garis-garis / pola pendekatan dari keadaan yang sebenarnya.

BAB 3 PERANCANGAN PROGRAM. dari OOP (Object Oriented Programming) di mana dalam prosesnya, hal-hal

BAB III ANALISIS, ALGORITMA, DAN CONTOH PENERAPAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB IV HASIL DAN PEMBAHASAN

BAB III METODE PENELITIAN. ada beberapa cara yang telah dilakukan, antara lain : akan digunakan untuk melakukan pengolahan citra.

Analisis Wavelet 2D untuk Citra Photo

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. digunakan, kemudian dilanjutkan dengan rancangan sistem aplikasi berupa cetak biru

BAB 3 PERANCANGAN SISTEM. 3.1 Rancangan Perangkat Keras Sistem Penuntun Satpam. diilustrasikan berdasarkan blok diagram sebagai berikut:

BAB III METODE PENELITIAN. jantung pasien penyakit jantung secara elektro-akustik atau PCG

TEKNIK DATA MINING UNTUK MEMPREDIKSI MASA STUDI MAHASISWA MENGGUNAKAN ALGORITMA K-NEAREST NEIGHBORHOOD

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB 3 PERANCANGAN PROGRAM. Waterfall Model. Hasil analisis yang telah dilakukan adalah sebagai berikut : operasi yang paling banyak digunakan.

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

BAB IV IMPLEMENTASI DAN EVALUASI. 4.1 Spesifikasi Hardware dan Software yang digunakan dalam penelitian

BAB 3 ANALISA DAN PERANCANGAN

BAB I PENDAHULUAN. dapat menghasilkan suara yang enak untuk didengar.

BAB III ANALISIS DAN PERANCANGAN SISTEM. sasaran. Punch termasuk gerakan pertahanan yang digunakan untuk memberi

BAB 3 PERANCANGAN SISTEM

PENDAHULUAN. Latar Belakang

3. JUMLAH MENU BAR YANG TERDAPAT PADA MICROSOFT EXCEL 2003 SEBANYAK. BUAH A. 7 B. 8 C. 9 D YANG MERUPAKAN ICON SAVE ADALAH. A. B. C.

BAB 3 ANALISIS SISTEM / PROGRAM YANG BERJALAN

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB 2 TINJAUAN PUSTAKA

Transkripsi:

20 BAB 3 PERANCANGAN SISTEM 3.1 Rancangan Perangkat Keras Sistem ini hanya menggunakan beberapa perangkat keras yang umum digunakan, seperti mikrofon, speaker (alat pengeras suara), dan seperangkat komputer (CPU). Dalam sistem ini, mikrofon berperan sebagai penerima input berupa sinyal suara yang selanjutnya akan diproses di dalam CPU, sedangkan speaker (alat pengeras suara) digunakan untuk mengeluarkan output berupa sinyal suara hasil pemrosesan. Pada subbab di bawah ini dijelaskan mengenai diagram blok sistem beserta cara kerja sistem. 3.1.1 Diagram Blok Sistem CPU Mikrofon Speaker Program & User Interface Input Sinyal Suara Output Sinyal Suara Gambar 3.1 Diagram Blok Sistem 20

21 Fungsi-fungsi dari setiap blok di atas adalah sebagai berikut : Mikrofon. Mikrofon berfungsi untuk menerima input sinyal suara dan mengkonversinya menjadi nilai-nilai tegangan (besaran elektrik). CPU. CPU berperan untuk memproses data sinyal input dari mikrofon. Program di dalam CPU akan mengolah data-data tersebut guna menghasilkan output, baik berupa output sinyal suara, grafik, maupun decision logic. Speaker. Dalam sistem ini, speaker berguna untuk mengeluarkan output sinyal suara hasil pemrosesan. 3.1.2 Cara Kerja Sistem Awalnya suara pengguna akan direkam menggunakan mikrofon dalam durasi waktu yang telah ditentukan oleh pengguna. Selama proses perekaman, mikrofon secara terus menerus mengkonversi input sinyal suara menjadi nilainilai tegangan. Program dalam CPU akan dapat beroperasi ketika proses perekaman selesai dan data telah diperoleh sepenuhnya. Setelah proses perekaman selesai, maka program akan dapat mengolah data-data input sinyal suara yang masuk. Data-data input tersebut akan diproses oleh program melalui 2 tahap awal, yaitu tahap pemotongan sinyal dan tahap discrete wavelet transform (DWT). Kedua tahap tersebut harus dilalui, baik dalam mode pelatihan (Training Mode) ataupun mode pengenalan (Recognition Mode). Tahap pemotongan sinyal

22 berguna untuk mendapatkan sinyal suara pengguna saja dan membuang bagian sinyal suara yang tidak diperlukan (silent). Dengan begitu akan didapatkan koefisien-koefisien sinyal suara dengan jumlah yang optimal. Dengan demikian proses perhitungan selanjutnya akan menjadi efektif dan efisien karena program tidak perlu memproses data yang tidak diperlukan. Sedangkan tahap DWT akan mengolah koefisien-koefisien sinyal suara hasil pemotongan menjadi sejumlah koefisien wavelet. Seperti yang telah dijelaskan pada bab 2 bahwa tahap DWT melibatkan Low Pass Filter (LPF) dan High Pass Filter (HPF) yang berguna untuk memperoleh Approximation Coefficients (ca) dan detail coefficients (cd). Koefisien-koefisien tersebutlah yang dimaksud dengan koefisien wavelet. Setelah kedua tahap awal tersebut, tahap selanjutnya akan bergantung pada mode program yang digunakan. Jika mode yang digunakan dalam program adalah mode pelatihan, maka koefisien wavelet yang telah diperoleh akan disimpan di dalam database. Sedangkan jika mode yang sedang aktif adalah mode pengenalan, maka program akan menjalankan tahap dynamic time warping (DTW). Tahap DTW berperan untuk menghitung jarak antara koefisien wavelet input yang diperoleh dengan setiap koefisien wavelet yang berada di dalam database. Setelah itu, program akan menghasilkan suatu decision logic berdasarkan hasil tahap DTW tersebut dan metode yang digunakan. Decision logic yang dihasilkan oleh program akan ditampilkan melalui tampilan user interface. Selain output berupa decision logic, program juga akan menghasilkan output berupa grafik dan sinyal suara. Output grafik akan

23 ditampilkan melalui user interface, sedangkan output sinyal suara akan dikeluarkan melalui speaker (alat pengeras suara). 3.2 Tampilan User Interface Dalam sistem ini, pengguna dapat berinteraksi dengan program melalui sebuah tampilan user interface yang telah dirancang sedemikian rupa guna mempermudah pengguna dalam mengoperasikan sistem ini. Berikut merupakan gambar dari tampilan user interface yang digunakan dalam sistem pengenalan speaker ini : 10 11 1 2 5 12 3 6 13 4 7 14 8 15 17 9 16 Gambar 3.2 Tampilan User Interface dari sistem pengenalan speaker

24 User Interface yang digunakan pada sistem ini memiliki komponenkomponen seperti yang terlihat pada gambar di atas. Fungsi-fungsi dari setiap komponen-komponen tersebut adalah sebagai berikut : 1. Panel Add Sound. Gambar 3.3 Panel Add Sound Panel ini berisi komponen untuk menentukan prosedur yang akan digunakan oleh pengguna sistem untuk menyediakan data input bagi program. Pengguna dapat menentukan mode pengoperasian sistem yang akan digunakan, apakah mode pengenalan atau mode pelatihan. Dalam panel ini juga terdapat 2 buah tombol, yaitu tombol Record yang digunakan apabila pengguna ingin menyediakan data input dengan cara melakukan perekaman (recording), dan tombol File jika pengguna ingin menyediakan data input dengan memilih sebuah file suara. 2. Panel Status. Gambar 3.4 Panel Status

25 Panel ini berfungsi untuk menampilkan status dari program. Proses-proses yang dilakukan oleh program dapat diamati melalui layar informasi status yang tersedia. Dalam panel ini terdapat tombol Reset Status yang berguna untuk membersihkan layar informasi status. 3. Panel Database. Gambar 3.5 Panel Database Panel ini berfungsi untuk memberikan informasi penting kepada pengguna sistem mengenai database yang digunakan oleh sistem ini. Informasi-informasi tersebut adalah jumlah data training ( Amount of data training ), jumlah jenis / kelompok data training ( Kinds of data training ), dan deskripsi dari database ( Database description ). Dalam panel ini terdapat 2 buah tombol, yaitu tombol Delete training yang dapat digunakan pengguna untuk menghapus data training dari database, dan tombol Refresh untuk melakukan update informasi database terbaru.

26 4. Panel Parameter. Gambar 3.6 Panel Parameter Panel ini berisi komponen-komponen yang dapat dipakai oleh pengguna sistem untuk mendefinisikan nilai dari parameter-parameter yang digunakan dalam program. Parameter-parameter tersebut adalah level dekomposisi wavelet ( Decomposition level ), batas ambang pemotongan sinyal ( Cutting margin ), parameter yang digunakan dalam algoritma KNN ( k ), dan jenis filter wavelet ( Wavelet filter ). Seluruh nilai komponen dalam panel parameter ini dapat diubah sesuai dengan keinginan pengguna sistem. 5. Axes The original WAV sound signal. Gambar 3.7 Axes The original WAV sound signal

27 Axes ini berfungsi untuk menampilkan data sinyal input asli (koefisien suara) dalam bentuk grafik. Tersedia 3 buah tombol, yaitu tombol Save untuk menyimpan data sinyal input ke dalam bentuk file WAV (tombol Save hanya aktif pada mode pelatihan), tombol Play untuk menampilkan data sinyal input dalam bentuk suara yang akan dikeluarkan melalui speaker (alat pengeras suara), dan tombol Figr untuk menampilkan grafik pada jendela (window) tersendiri. 6. Axes The signal after cutting. Gambar 3.8 Axes The signal after cutting Axes ini berfungsi untuk menampilkan data sinyal input (koefisien suara) hasil pemotongan dalam bentuk grafik. Tersedia 2 buah tombol, yaitu tombol Play untuk menampilkan data sinyal input (koefisien suara) hasil pemotongan dalam bentuk suara yang akan dikeluarkan melalui speaker (alat pengeras suara), dan tombol Figr untuk menampilkan grafik pada jendela (window) tersendiri.

28 7. Axes The signal after waveleting (approximation). Gambar 3.9 Axes The signal after waveleting (approximation) Axes ini berfungsi untuk menampilkan data sinyal input hasil Discrete Wavelet Transform (koefisien wavelet) dalam bentuk grafik. Tersedia 2 buah tombol, yaitu tombol Play untuk menampilkan data sinyal input hasil Discrete Wavelet Transform (koefisien wavelet) dalam bentuk suara yang akan dikeluarkan melalui speaker (alat pengeras suara), dan tombol Figr untuk menampilkan grafik pada jendela (window) tersendiri. 8. Axes The spectrogram of cutted signal. Gambar 3.10 Axes The spectrogram of cutted signal Axes ini berfungsi untuk menampilkan bentuk spectrogram dari data sinyal input hasil pemotongan. Tersedia 1 buah tombol, yaitu tombol

29 Figr untuk menampilkan spectrogram pada jendela (window) tersendiri. 9. Tombol Reset Axes. Gambar 3.11 Tombol Reset Axes Tombol ini berguna untuk mengembalikan semua komponen axes menjadi seperti keadaan awal program. 10. Panel Listen WAV in database. Gambar 3.12 Panel Listen WAV in database Panel ini berisi nama-nama file data training yang tersimpan dalam database. Pengguna sistem dapat mendengarkan file-file suara tersebut dengan cara memilih salah satu nama file suara yang ingin didengar. 11. Ikon Speaker Recognition System. Gambar 3.13 Ikon Speaker Recognition System Simbol ikon dari program Speaker Recognition System ini.

30 12. Panel Result Parameter. Gambar 3.14 Panel Result Parameter Panel ini berfungsi untuk menampilkan informasi nilai dari parameter-parameter yang digunakan hingga dihasilkannya hasil / result berupa decision logic yang telah ditampilkan pada bagian panel result ( K-nn Algorithm Result dan Average Algorithm Result ). Parameterparameter yang diinformasikan dalam panel ini sama dengan parameterparameter yang ada dalam panel Parameter, yaitu Decomposition level, Cutting margin, Wavelet filter, dan k. 13. Panel K-nn Algorithm Result. Gambar 3.15 Panel K-nn Algorithm Result Panel ini berfungsi untuk menampilkan informasi output hasil yang diperoleh dari perhitungan program menggunakan algoritma KNN (k-nn Algorithm). Output hasil yang ditampilkan ialah Speaker (nama orang yang berbicara), Text (kata yang diucapkan pembicara), Surely

31 (persentase keyakinan algoritma KNN), dan k-nearest (deskripsi hasil perhitungan algoritma KNN yang menunjukkan sejumlah k data training yang memiliki nilai jarak terkecil). 14. Panel Average Algorithm Result. Gambar 3.16 Panel Average Algorithm Result Panel ini berfungsi untuk menampilkan informasi output hasil yang diperoleh dari perhitungan program menggunakan algoritma Ratarata (Average Algorithm). Untuk algoritma Rata-rata, output hasil yang ditampilkan dalam panel ini ialah Speaker (nama orang yang berbicara), Text (kata yang diucapkan pembicara), Average ratio (perbandingan / rasio antara rata-rata jarak terkecil dengan jumlah keseluruhan rata-rata jarak) dan Average distance (jarak rata-rata untuk setiap kelompok data training dalam database). 15. Panel Compilation Result. Gambar 3.17 Panel Compilation Result

32 Panel ini berfungsi untuk menampilkan hasil kompilasi dari output hasil algoritma KNN dengan output hasil dari algoritma Rata-rata. Untuk mendapatkan hasil kompilasi dari kedua algoritma tersebut, program menggunakan logika AND sehingga hasil kompilasi akan menampilkan Speaker (nama orang yang berbicara) dan Text (kata yang diucapkan pembicara) apabila algoritma KNN dan algoritma Rata-rata menghasilkan output hasil yang sama untuk Speaker dan Text. Jika kedua algoritma tersebut menghasilkan output hasil yang berbeda, maka Compilation Result akan menginformasikan Unknown kepada pengguna sistem. 16. Tombol Reset Result. Gambar 3.18 Tombol Reset Result Tombol ini digunakan untuk membuat panel-panel result menjadi seperti keadaan awal program. 17. Tombol Exit. Gambar 3.19 Tombol Exit Tombol ini digunakan bila pengguna ingin menghentikan pengoperasian program Speaker Recognition System ini.

33 Dengan perancangan user interface yang dilengkapi dengan komponenkomponen seperti yang telah dijelaskan di atas, pengguna dapat dengan mudah melakukan percobaan simulasi menggunakan sistem pengenalan speaker ini. 3.3 Rancangan Peranti Lunak Kinerja dari sistem ini terpusat pada program (peranti lunak) dalam CPU. Pada sistem ini, program yang digunakan merupakan program yang melakukan fungsi-fungsi perhitungan dan perbandingan terhadap data-data yang diinputkan. Setiap program dalam sistem ini melakukan fungsi dan operasi tertentu. Untuk memudahkan memahami setiap program dalam sistem ini, maka dibuat diagram alir (flowchart) yang merepresentasikan alur kerja setiap program. 3.3.1 Perancangan Program Utama Gambar 3.20 di bawah ini merupakan gambar diagram alir dari program utama sistem ini secara keseluruhan.

34 Feature Extraction Pattern Matching Gambar 3.20 Diagram Alir Program Utama

35 Program diawali dengan melakukan inisialisasi program. Pada tahap inisialisasi program, seluruh nilai-nilai default awal parameter yang dibutuhkan dalam pengoperasian sistem ini akan dideklarasikan, seperti nilai parameter wavelet decomposition level, wavelet filter, cutting margin, dan nilai k. Selain itu, pada tahap inisialisasi, program juga akan melakukan update informasi database, mulai dari jumlah data training, jumlah masing-masing group, hingga file-file suara apa saja yang terdapat dalam database. Selanjutnya program akan menunggu input dari pengguna apakah pengguna akan memilih cara Record atau cara File guna mendapatkan data sinyal input yang akan diproses oleh program. Sistem ini sangat memudahkan pengguna dalam hal menyediakan data sinyal input yang akan diproses. Pengguna dapat melakukannya dengan 2 cara, yaitu : Record. Pengguna melakukan perekaman suara (recording) menggunakan mikrofon dengan durasi waktu yang dapat ditentukan oleh pengguna. File. Pengguna memilih sebuah file suara untuk kemudian diproses oleh program. Apabila pengguna memilih cara Record, maka pengguna harus mengisikan durasi waktu yang dirasa cukup untuk melakukan proses perekaman (recording). Sedangkan jika pengguna memilih untuk menggunakan cara File, maka pengguna harus memilih sebuah file suara yang ingin diproses oleh program. Setelah melalui tahap ini, maka program memiliki data sinyal input berupa

36 koefisien suara yang akan dapat digunakan dan diproses pada tahap-tahap selanjutnya. Kemudian data sinyal input berupa koefisien suara yang telah diperoleh harus melalui 2 tahap penting, yaitu tahap pemotongan sinyal dan tahap discrete wavelet transform. Tahap pemotongan sinyal berperan penting dalam melakukan seleksi bagian data sinyal input mana yang perlu diproses dan bagian mana yang tidak. Pada dasarnya tahap pemotongan ini membuang bagian sinyal suara saat pengguna tidak mengeluarkan suara (silent) sehingga ukuran data sinyal inputpun dapat dioptimalkan. Perlu diingat bahwa pengoptimalan ukuran data sinyal input juga memegang peranan penting dalam kinerja sistem, terutama dalam hal kecepatan pemrosesan. Setelah tahap pemotongan sinyal selesai dilakukan, maka data sinyal input tersebut harus melalui tahap discrete wavelet transform. Tahap ini merupakan tahap Feature Extraction dari sebuah sistem speaker recognition, dimana data sinyal input berupa koefisien suara dari tahap pemotongan sinyal akan diekstrak menjadi koefisien wavelet yang merepresentasikan karakteristik dari data sinyal input tersebut. Dengan melalui tahap discrete wavelet transform, data sinyal input yang ukurannya telah dioptimalkan pada tahap pemotongan sinyal sebelumnya akan kembali mengalami pengoptimalan ukuran data. Hal ini merupakan salah satu keuntungan menggunakan discrete wavelet transform. Setelah melalui 2 tahap penting tersebut, maka program memiliki 3 buah data sinyal input, yaitu : Data sinyal input asli (original signal).

37 merupakan data sinyal input yang belum melalui tahap pemotongan sinyal dan tahap discrete wavelet transform. Data sinya input asli dapat disebut sebagai koefisien suara. Data sinyal input hasil pemotongan (cutted signal). merupakan data sinyal input (koefisien suara) yang telah melalui tahap pemotongan sinyal. Data sinyal input hasil DWT (waveleted signal). merupakan data input sinyal yang telah melalui tahap pemotongan sinyal dan tahap discrete wavelet transform. Data sinyal input hasil DWT dapat disebut sebagai koefisien wavelet. Dalam pengoperasiannya, program akan menyimpan sementara ketiga buah data sinyal input tersebut ke dalam memori CPU guna keperluan selanjutnya. Kemudian program akan menampilkan output berupa grafik dan suara melalui user interface yang telah dirancang semudah mungkin bagi pengguna program. Program akan menampilkan 4 buah output grafik yang masing-masing merupakan representasi dari data sinyal input asli (koefisien suara), data sinyal input hasil pemotongan, data sinyal input hasil DWT (koefisien wavelet), dan spectrogram dari data sinyal input hasil pemotongan. Sedangkan untuk output berupa suara akan dikeluarkan oleh program melalui speaker (alat pengeras suara). Suara yang menjadi output dari sistem ini ada 3, yaitu sinyal suara asli, sinyal suara hasil pemotongan, dan sinyal suara hasil DWT. Pengguna dapat mendengarkan masing-masing output suara tersebut dengan menekan tombol yang telah disediakan pada tampilan user interface.

38 Selanjutnya program akan memeriksa mode yang sedang aktif. Dalam sistem ini terdapat 2 mode, yaitu : Mode pelatihan (training mode). ialah mode dimana pengguna ingin melatih sistem agar dapat mengenali suara pengguna. Hal ini dilakukan dengan melakukan proses perekaman (recording) atau memilih sebuah file suara yang hasilnya akan disimpan di dalam database sebagai data training. Mode pengenalan (recognition mode). ialah mode dimana pengguna ingin sistem ini melakukan pengenalan terhadap sinyal suara yang diinputkan oleh pengguna, baik dengan cara Record atau File. Apabila pengguna memilih menggunakan mode pelatihan (training), maka sebuah tombol Save akan aktif. Tombol tersebut berguna untuk menyimpan data sinyal suara input (koefisien suara) ke dalam database. Tentunya penyimpanan data sinyal suara input tersebut dilakukan atas persetujuan pengguna. Setelah data sinyal suara input tersebut berhasil disimpan ke dalam database, maka program akan melakukan update database guna memberikan informasi database terbaru kepada pengguna melalui tampilan user interface. Sedangkan jika pengguna memilih untuk menggunakan mode pengenalan (recognition), maka program akan segera melakukan perhitungan guna mendapatkan data jarak antara data sinyal input hasil DWT (koefisien wavelet input) dengan masing-masing data training (koefisien wavelet training) dalam database. Perhitungan data jarak pada program ini dilakukan dengan

39 menggunakan algoritma dynamic time warping (DTW). Setelah proses perhitungan data jarak selesai, maka program memiliki data jarak sejumlah data training yang berada dalam database. Perlu diingat bahwa data jarak yang diperoleh tersebut menggambarkan seberapa dekat atau seberapa jauh kemiripan antara karakter data sinyal input dengan masing-masing data training. Sejumlah data jarak telah diperoleh oleh program, maka selanjutnya program akan dapat menentukan hasil output berupa decision logic berdasarkan data jarak tersebut. Dalam menentukan decision logic, program menggunakan 2 buah metode, yaitu : Algoritma k-nn (k-nearest Neighbor Algorithm). Algoritma ini menentukan decision logic berdasarkan jumlah kemunculan data training terbanyak pada sejumlah k data jarak terkecil. Tentunya setiap data jarak harus terlebih dahulu diasosiasikan dengan data training yang bersangkutan. Algoritma Rata-rata (Average Algorithm). Algoritma ini menentukan decision logic dengan menghitung nilai rata-rata dari masing-masing data training yang sama (kelompok data training). Lalu akan dipilih data training dengan nilai rata-rata terkecil. Setelah program menjalankan kedua algoritma tersebut, maka program akan menampilkan output decision logic berupa nama pembicara (Speaker) dan kata yang diucapkannya (Text) melalui tampilan user interface. Program akan menampilkan output decision logic hanya bila mode yang aktif adalah mode pengenalan (recognition).

40 Program ini dapat digunakan terus-menerus, baik dalam mode pelatihan ataupun mode pengenalan, baik cara Record ataupun cara File. Keseluruhan pengoperasian sistem oleh pengguna dilakukan melalui sebuah tampilan user interface beserta komponen-komponen di dalamnya yang telah dirancang sedemikian rupa guna memudahkan pengguna. 3.3.2 Perancangan Program Pendukung Dalam program utama yang telah dijelaskan pada subbab 3.3.1 terdapat beberapa program-program pendukung yang perlu dijelaskan lebih detail. Program-program pendukung tersebut ialah : Program Pemotongan Sinyal Suara. Program Discrete Wavelet Transform (DWT). Program Dynamic Time Warping (DTW). Program Algoritma k-nearest Neighbor (k-nn). Program Algoritma Rata-rata. Perancangan program-program pendukung tersebut akan dibahas secara detail pada subbab ini. 3.3.2.1 Perancangan Program Pemotongan Sinyal Suara Gambar 3.21 di bawah ini menggambarkan diagram alir dari prosedur program pemotongan sinyal suara. Prosedur ini digunakan untuk membuang bagian sinyal suara yang tidak diperlukan (silent) sehingga akan didapatkan data sinyal input dengan ukuran yang optimal.

41 Penyesuaian Batas Kiri Penyesuaian Batas Kanan Gambar 3.21 Diagram Alir Program Pemotongan Sinyal Suara

42 Prosedur pemotongan sinyal suara pada sistem ini diawali dengan tahap inisialisasi. Dalam tahap ini program akan menginisialisasi nilai ambang yang akan menjadi referensi pada tahap selanjutnya. Selain nilai ambang, program juga menentukan nilai variabel Batas_kiri = 1 dan Batas_kanan = length (Sinyal). Variabel Batas_kiri diberi nilai 1 menandakan pencarian batas potong kiri dimulai dari awal data sinyal input. Sedangkan variabel Batas_kanan diberi nilai sama dengan panjang sinyal input menandakan bahwa pencarian batas potong kanan dimulai dari akhir data sinyal input. Perlu diingat bahwa variabel Batas_kiri dengan Batas_kanan menunjukkan indeks data sinyal input. Selanjutnya program akan melaksanakan tahap penyesuaian batas kiri. Pada tahap ini program akan memeriksa nilai mutlak dari data yang indeksnya ditunjuk oleh Batas_kiri, apakah nilai tersebut lebih kecil atau sama dengan ambang. Jika nilainya lebih kecil atau sama dengan ambang maka program akan memeriksa apakah nilai variabel Batas_kiri masih lebih kecil dari nilai variabel Batas_kanan. Jika keadaan tersebut terpenuhi juga maka nilai dari variabel Batas_kiri akan ditambah 1 (increment) dan proses akan kembali melaksanakan tahap penyesuaian batas kiri hingga salah satu atau kedua kondisi tersebut tidak terpenuhi. Tahap selanjutnya disebut sebagai tahap penyesuaian batas kanan. Dalam tahap ini program akan memeriksa apakah nilai mutlak dari data yang indeksnya ditunjuk oleh Batas_kanan lebih kecil atau sama dengan nilai ambang. Jika kondisi tersebut terpenuhi, maka program akan memeriksa apakah nilai Batas_kanan masih lebih besar dari nilai batas_kiri. Jika kondisi ini terpenuhi

43 juga, maka nilai Batas_kanan dikurangi 1 (decrement) dan proses akan kembali melaksanakan tahap penyesuaian batas kanan hingga salah satu atau kedua kondisi tidak terpenuhi. Setelah penyesuaian batas kiri dan batas kanan, maka program memiliki nilai variabel Batas_kiri dan Batas_kanan sebagai referensi pemotongan sinyal. Dengan kata lain, program dapat mengetahui bagian sinyal mana yang diperlukan dan bagian sinyal mana yang tidak diperlukan. Kemudian program akan memeriksa apakah nilai variabel Batas_kiri sama dengan nilai variabel Batas_kanan. Jika kondisi tersebut terpenuhi, maka program dapat menyimpulkan bahwa tidak ada suara yang terdeteksi (no sound detected). Sedangkan jika nilai variabel Batas_kiri tidak sama dengan nilai variabel Batas_kanan, maka program dapat menyimpulkan ada suara terdeteksi dan program akan mengambil data sinyal input mulai dari indeks data yang ditunjuk oleh Batas_kiri hingga indeks data yang ditunjuk oleh Batas_kanan. Sebagai contoh, program memiliki data sinyal input sebagai berikut : Data sinyal input : 0,00 0,02 0,06 0,07 0,03 0,10 0,05 0,01 Misalkan, pengguna menginisialisasikan nilai variabel ambang = 0,05, maka hasil pemotongan adalah sebagai berikut :

44 Variabel Batas_kiri akan bernilai : 3 Variabel Batas_kanan akan bernilai : 7 Data sinyal input hasil pemotongan : 0,06 0,07 0,03 0,10 0,05 Program pemotongan sinyal suara ini berperan mengoptimalkan ukuran data sinyal input. 3.3.2.2 Perancangan Program Discrete Wavelet Transform (DWT) Gambar 3.22 di bawah ini menggambarkan diagram alir dari prosedur program discrete wavelet transform (DWT). Prosedur program DWT ini menjelaskan tahap-tahap bagaimana data sinyal input (koefisien suara) hasil pemotongan ditransformasikan menjadi koefisien wavelet.

45 Tahap Dekomposisi Wavelet level-n Gambar 3.22 Diagram Alir Program Discrete Wavelet Transform (DWT)

46 Prosedur program discrete wavelet transform (DWT) ini diawali dengan menginisialisasi variabel-variabel yang diperlukan, antara lain : level_dec. Variabel level_dec menunjukkan jumlah level dekomposisi DWT. Pada sistem ini secara default, level_dec bernilai 3. tetapi sistem ini memungkinkan pengguna untuk mengatur nilai level_dec sesuai dengan keinginan. w_filter. Variabel w_filter merupakan variabel string yang menunjukkan jenis wavelet filter yang akan digunakan pada proses DWT. Jenis wavelet filter yang dipilih menentukan koefisien-koefisien dari LPF dan HPF yang digunakan. n Variabel n digunakan sebagai variabel bantuan guna memeriksa apakah proses DWT sudah dilakukan sebanyak nilai level_dec. ca(n) Variabel ca(n) merupakan variabel untuk menampung approximation coefficient dari proses DWT dengan dekomposisi wavelet level-n. Pada tahap inisialisasi, variabel ca(0) diisi dengan data sinyal input asli. Variabel-variabel tersebut diperlukan dalam proses DWT. Hasil proses DWT berupa koefisien wavelet dapat berubah-ubah sesuai dengan level dekomposisi dan jenis wavelet filter yang digunakan. Setelah tahap inisialisasi, nilai variabel n ditambah 1 (increment) dan program akan melakukan tahap dekomposisi awal. Pada tahap dekomposisi ini,

47 data sinyal input yang terdapat di dalam variabel ca(0) akan difilter dengan LPF yang koefisien filternya tergantung pada jenis wavelet filter yang dipilih. Setelah melalui tahap pemfilteran, ukuran data sinyal output masih sama dengan ukuran data sinyal input. Guna mengoptimalkan ukuran data sinyal, maka dilakukan tahap down-sampling terhadap data sinyal hasil pemfilteran sebelumnya. Setelah tahap dekomposisi ini selesai, maka program memiliki koefisien wavelet baru dengan ukuran data yang lebih kecil. Kemudian program akan memeriksa nilai variabel n, apakah sama dengan nilai level_dec. Jika kondisi tersebut belum terpenuhi, maka nilai variabel n akan kembali ditambah 1 (increment) dan program kembali melakukan tahap dekomposisi hingga nilai n sama dengan nilai level_dec. Variabel ca(n) merupakan variabel yang menampung koefisien wavelet hasil tahap dekomposisi terakhir. Jadi jika pengguna menentukan level_dec bernilai 5, maka program akan mengambil variabel ca(5) sebagai koefisien wavelet yang akan digunakan pada tahap selanjutnya. 3.3.2.3 Perancangan Program Dynamic Time Warping (DTW) Gambar 3.23 di bawah ini merupakan diagram alir dari program dynamic time warping (DTW). Sistem ini menggunakan program DTW untuk menghitung jarak antara koefisien wavelet input dengan masing-masing koefisien wavelet data training. Hasil jarak yang didapat menunjukkan seberapa dekat atau seberapa jauh kemiripan antara karakter data sinyal input dengan masing-masing data training.

Gambar 3.23 Diagram Alir Program Dynamic Time Warping (DTW) 48

49 Program dynamic time warping (DTW) diawali dengan melakukan inisialisasi. Pada tahap inisialisasi, program akan mendeklarasikan variabel r untuk menampung koefisien wavelet data training dan variabel t untuk menampung koefisien wavelet data input. Dengan demikian variabel r dan t merupakan variabel yang berbentuk vektor. Setelah tahap inisialisasi, program akan memeriksa apakah vektor r berbentuk vektor kolom, jika tidak maka vektor r akan di-transpose sehingga menjadi berbentuk vektor kolom. Lalu program akan memeriksa apakah vektor t merupakan vektor kolom, jika ya maka vektor t akan di-transpose sehingga vektor t menjadi berbentuk vektor baris. Program akan menyimpan jumlah / panjang data vektor r dalam variabel M dan jumlah / panjang data vektor t dalam variabel N untuk keperluan proses selanjutnya. Setelah memperoleh vektor kolom r dan vektor baris t, maka program akan melakukan replikasi vektor r sebanyak N kali secara horizontal dan replikasi vektor t sebanyak M kali secara vertical. Masing-masing hasil replikasi vektor tersebut akan menghasilkan sebuah matriks yang disimpan dalam variabel r_repmat untuk matriks hasil replikasi vektor r dan variabel t_repmat untuk matriks hasil replikasi vektor t. Untuk mempermudah pemahaman mengenai tahap ini, berikut disertai contoh penerapannya : Andaikan vektor r = 1 vektor t = 2 1 3 2 1 1

50 maka akan diperoleh M = 4 panjang data vektor r N = 3 panjang data vektor t r_repmat = 1 1 1 t_repmat = 2 1 3 2 2 2 2 1 3 1 1 1 2 1 3 1 1 1 2 1 3 Selanjutnya akan dihitung jarak euclidean antara masing-masing elemen matriks r_repmat dengan matriks t_repmat yang hasilnya akan disimpan dalam variabel d. Formula dari perhitungan ini ialah sebagai berikut : d = ( r_repmat t_repmat ).^2 Berdasarkan contoh sebelumnya, maka diperoleh d = 1 0 4 0 1 1 1 0 4 1 0 4 Kemudian program akan membuat variabel D dengan ukuran sama dengan matriks d. Elemen matriks D(1,1) diisi dengan nilai d(1,1) sehingga

51 D = 1 0 0 0 0 0 0 0 0 0 0 0 Untuk keperluan perhitungan selanjutnya, program perlu mendeklarasikan variabel m = 2 dan variabel n = 2. Setelah itu, program akan melakukan perulangan (looping) perhitungan untuk mengisi kolom pertama matriks D dengan formula seperti berikut : D(m,1) = d(m,1) + D(m-1,1) sehingga diperoleh D = 1 0 4 1 0 0 2 0 0 3 0 0 Setelah elemen-elemen kolom pertama matriks D telah terisi, program melakukan perulangan (looping) perhitungan untuk mengisi baris pertama matriks D dengan formula seperti berikut : D(1,n) = d(1,n) + D(1,n-1)

52 sehingga diperoleh D = 1 1 5 1 0 0 2 0 0 3 0 0 Setelah elemen-elemen baris pertama matriks D telah terisi, program mengembalikan nilai variabel m = 2 dan variabel n = 2 untuk keperluan proses perulangan (looping) selanjutnya. Kemudian program akan melengkapi sisa-sisa elemen matriks D lainnya dengan formula seperti berikut : D(m,n) = d(m,n) + min[ D(m-1,n), D(m-1,n-1), D(m,n-1) ] sehingga diperoleh D = 1 1 5 1 2 2 2 1 5 3 1 5 Setelah diperoleh matriks D yang nilai elemen-elemennya telah dihitung, maka program dapat menentukan hasil output berupa jarak yang menunjukkan seberapa dekat atau seberapa jauh kemiripan antara data vektor r dan data vektor t. Program dapat menentukan nilai jarak berdasarkan formula berikut :

53 jarak = D(M,N) sehingga diperoleh jarak = D (4,3) = 5 Program menghitung jarak dengan menggunakan algoritma dynamic time warping ini secara berulang-ulang sesuai dengan jumlah data training yang ada dalam database sehingga pada akhir proses, akan didapatkan data jarak sejumlah data training. Dengan berdasarkan data jarak yang diperoleh tersebut, maka sistem akan dapat menentukan hasil output akhir berupa decision logic pada tahap proses selanjutnya. 3.3.2.4 Perancangan Program Algoritma k-nearest Neighbor (k-nn) Gambar 3.24 di bawah ini menggambarkan diagram alir dari prosedur penggunaan algoritma k-nn. Prosedur penggunaan algoritma k-nn ini bertujuan untuk memperoleh output hasil dengan data jarak sebagai input dari prosedur ini.

Gambar 3.24 Diagram Alir Program Algoritma k-nearest Neighbor (k-nn) 54

55 Prosedur penggunaan algoritma k-nn ini diawali dengan menginisialisasi jumlah data training dalam database, data jarak yang telah diperoleh dari tahap menghitung jarak dengan algoritma dynamic time warping, dan nilai k yang digunakan (nilai k dipengaruhi oleh jumlah data training). Setelah program melakukan inisisalisasi, data jarak akan diurutkan dari yang terkecil hingga yang terbesar (ascending). Kemudian proses ini diikuti dengan mengasosiasikan masing-masing data jarak dengan indeksnya. Tentu saja indeks yang dimaksud disini adalah indeks dari data jarak yang masih belum terurut. Sebagai contoh program memiliki sejumlah data jarak sebagai berikut : Data jarak : 23,125 19,305 27,596 26,382 Indeks data jarak : 1 2 3 4 Data jarak (terurut) : 19,305 23,125 24,382 24,596 Indeks data jarak : 2 1 17 29 Kemudian program akan mengambil sejumlah k indeks dari sejumlah k data jarak terkecil. Misalnya nilai k yang digunakan adalah 3, maka : 3-data jarak terkecil : 19,305 23,125 24,382 Indeks data jarak : 2 1 17

56 Selanjutnya program akan mengasosiasikan masing-masing indeks tersebut dengan data training yang bersangkutan (Speaker dan Text). Misalnya program memiliki tabel asosiasi sebagai berikut : Tabel 3.1 Asosiasi data training dengan indeks data training Indeks Data Training / Data Jarak Data Training (Speaker + Text) 1 5 BIMA + OPEN 6 10 BIMA + DATA 11 15 DONNY + OPEN 16 20 DONNY + DATA 21 25 RICO + OPEN 26 30 RICO + DATA Berdasarkan tabel asosiasi di atas, maka program dapat menyimpulkan sebagai berikut : Indeks data jarak : 2 1 17 Data training : BIMA + OPEN BIMA + OPEN DONNY + DATA Setelah mendapatkan sejumlah data training berdasarkan indeks data jarak yang diperoleh, maka program akan menghitung jumlah kemunculan masing-masing data training. Data training : BIMA + OPEN DONNY + DATA Jumlah kemunculan : 2 1 Dari jumlah kemunculan yang diperoleh akan diperiksa apakah hanya ada 1 buah data training dengan jumlah kemunculan terbesar. Jika hanya ada 1 buah data

57 training dengan jumlah kemunculan terbesar, maka hasil yang diperoleh adalah data training dengan jumlah kemunculan besar tersebut. Dengan demikian hasil yang diperoleh akan memuat 2 buah parameter output, yaitu Speaker (orang yang berbicara) dan Text (kata yang diucapkan). Sebagai contoh : Hasil = BIMA + OPEN Speaker = BIMA Text = OPEN Tetapi apabila terdapat lebih dari 1 buah data training dengan jumlah kemunculan terbesar, maka nilai k akan dikurangi 1 dan program akan kembali mengambil sejumlah k indeks dari sejumlah k data jarak terkecil serta melakukan perhitungan ulang hingga program memperoleh hanya 1 buah data training dengan jumlah kemunculan terbesar. Data training dengan jumlah kemunculan terbesar itulah yang akan dijadikan output hasil oleh program dan ditampilan melalui tampilan user interface. 3.3.2.5 Perancangan Program Algoritma Rata-Rata Guna memperoleh hasil berupa decision logic, selain menggunakan algoritma k-nn, program juga menggunakan algoritma Rata-rata. Gambar 3.25 di bawah ini merupakan diagram alir dari prosedur penggunaan algoritma Ratarata. Sama halnya dengan algoritma k-nn, prosedur penggunaan algoritma Ratarata juga bertujuan memperoleh output hasil dengan data jarak sebagai inputnya.

58 Gambar 3.25 Diagram Alir Program Algoritma Rata-Rata Prosedur penggunaan algoritma Rata-rata guna memperoleh output hasil diawali dengan tahap inisialisasi. Pada tahap ini program akan menginisialisasi data jarak dan jumlah masing-masing data training dalam database serta hasil yang diperoleh dari algoritma k-nn sebelumnya. Selanjutnya perhitungan dilakukan dengan merata-ratakan data jarak untuk masing-masing kelompok data training. Sebagai contoh, program memiliki data jarak sebagai berikut : Data jarak : 15,435 12,716 17,515 25,333 25,987 18,434 Indeks data jarak : 1 2 3 4 5 6

59 Program juga memiliki tabel asosiasi sebagai berikut : Tabel 3.2 Asosiasi data training dengan data ratio-nya Indeks Data Training Data Training / Data Jarak (Speaker + Text) Ratio (min max) 1 2 BIMA + OPEN 0,21 0,275 3 4 DONNY + OPEN 0,155 0,3 5 6 RICO + OPEN 0,25 0,287 Berdasarkan tabel asosiasi di atas, maka program dapat menyimpulkan : Data jarak : 15,435 12,716 17,515 25,333 25,987 18,434 Indeks data jarak : 1 2 3 4 5 6 Data training : BIMA + OPEN DONNY + OPEN RICO + OPEN Jumlah data training : 2 2 2 Berdasarkan data-data tersebut, program dapat memperoleh nilai rata-rata dari masing-masing data training. Data training : BIMA + OPEN DONNY + OPEN RICO + OPEN Nilai rata-rata : (15,435+12,716)/2 (17,515+25,333)/2 (25,987+18,434)/2 Nilai rata-rata : 14,076 21,424 22,211 Setelah diperoleh nilai rata-rata untuk setiap kelompok data training, maka program akan menentukan output hasil yang diperoleh adalah data training dengan nilai rata-rata kelompok terkecil. Hasil yang diperoleh tersebut memuat 2

60 buah parameter output, yaitu Speaker (orang yang berbicara) dan Text (kata yang diucapkan). Sebagai contoh : Hasil = BIMA + OPEN Speaker = BIMA Text = OPEN Kemudian program akan memeriksa apakah hasil yang diperoleh dengan algoritma Rata-rata ini sama dengan hasil yang diperoleh dari algoritma k-nn sebelumnya. Jika hasilnya berbeda, maka program langsung menetapkan identitas Speaker = Unknown dan Text = Unknown. Tapi jika hasil dari kedua algoritma tersebut ternyata sama, maka program akan melakukan perhitungan average ratio. Average ratio merupakan nilai perbandingan antara nilai rata-rata terkecil dengan jumlah seluruh nilai rata-rata. Dengan adanya average ratio, sistem dapat lebih selektif menampilkan output decision logic, dengan kata lain juga mengurangi kemungkinan kesalahan pengenalan. Nilai rata-rata : 14,076 21,424 22,211 Nilai terkecil : 14,076 Jumlah rata-rata : 57,711 Average ratio : 14,076 / 57,711 = 0,243905

61 Selanjutnya program akan memeriksa apakah dengan nilai average ratio yang diperoleh, hasil boleh ditampilkan. Program akan memeriksa apakah nilai average ratio yang diperoleh tersebut berada diantara nilai ratio min dan ratio max yang diizinkan atau tidak. Jika ternyata nilai average ratio yang diperoleh di luar batas ratio, maka program langsung menetapkan identitas Speaker = Unknown dan Text = Unknown. Tapi jika ternyata nilai average ratio yang diperoleh berada dalam batas ratio, maka program akan menampilkan hasil identitas yang diperoleh sebagai Speaker dan Text melalui user interface. Average ratio : 0,243905 Batas ratio untuk BIMA + OPEN : 0,21 0,275 Karena average ratio yang diperoleh masih berada di dalam batas ratio yang diizinkan, maka : Speaker : BIMA Text : OPEN