Thesis - Unjuk Kerja Algoritma Bidirectional Associative Memory (Bam) Dan Algoritma Viterbi Untuk Sistem Pendeteksian Kebohongan Pada Suara
Thesis - Unjuk Kerja Algoritma Bidirectional Associative Memory (Bam) Dan Algoritma Viterbi Untuk Sistem Pendeteksian Kebohongan Pada Suara
TESIS
RINI MEIYANTI
167038004
TESIS
RINI MEIYANTI
167038004
RIWAYAT HIDUP
DATA PRIBADI
DATA PENDIDIKAN
memberikan bekal ilmu yang sangat berharga bagi penulis selama menjadi
mahasiswa.
8. Seluruh Civitas Akademika, Staf, Pegawai, teman-teman, adik-adik, kakakkakak
di Program Studi Pascasarjana (S-2) Teknik Informatika Fakultas Ilmu Komputer
dan Teknologi Informasi Universitas Sumatera Utara, yang telah membantu
penulis dalam menyelesaikan penelitian dan juga telah mewarnai hari-hari indah
penulis selama menjalani masa kuliah.
9. Ayahanda H. Muslim Hasan dan Ibunda Hj. Rahmiati S.Pd, yang tercinta, karena
pengorbanan yang sungguh luar biasa serta cinta kasih dan do’a mereka yang tak
henti hentinya sehingga Saya dapat mengenyam dan menyelesaikan studi magister
dan menyelesaikan tesis ini dengan tepat waktu.
10. Bapak Fadlisyah, S.Si., MT., selaku Kepala Prodi Teknik Informatika
Malikussaleh dan juga selaku orang tua angkat bagi Saya karena motivasi dan
kata-kata semangat beliau Saya berani melangkah lebih maju dalam mengenyam
studi magister berkat saran dan ilmu beliau juga Saya dapat menyelesaikan tesis
ini dengan tepat waktu.
11. Kak Linda, Kak Dewi dan Kak Ika tercinta dan adik Saya tersayang Humaira,
yang telah memberikan dukungan serta do’a yang sangat luar biasa sehingga
penulis dapat menyelesaikan tesis ini dengan tepat waktu.
12. Sodara terkasih dan tersayang Lika, Ita, Lisa dan Muty yang selalu memberikan
dukungan agar segera menyelesaikan tesis tepat waktu dan bantu berdo’a agar
tesis ini cepat selesai.
13. Kakak-Kakak dan Abang-Abang angkatan 2015 Miftah, Yessi, K U Syaliman,
Afizh dan Riski terima kasih banyak untuk semua saran dan dukungan semangat
yang kalian berikan kepada penulis.
14. Bang Amin, Wanda dan seluruh rekan-rekan seperjuangan mahasiswa Magister
Teknik Informatika Kom A 2016, yang telah membantu dan memberikan
dukungan kepada penulis.
15. Seluruh pihak yang terlibat langsung dan tidak langsung dalam penulisan tesis ini
dan tidak bisa disebutkan satu persatu.
ix
x
ABSTRAK
ABSTRACT
Lie detection systems using voice can be detected using the Bidirectional Associative
Memory (BAM) algorithm. However, the accuracy of the system by using BAM is
still low, where the true detection results obtained show a small percentage and this
is also influenced by the number of training voice samples. In this study, the authors
propose solutions using the Viterbi algorithm in detecting lies through sound. In the
BAM algorithm, the value of the test voice and the training sample value obtained
will be searched for its vector value using the weighted value search performed by
converting the binary matrix into the bipolar matrix. While on the Viterbi algorithm,
the training sample value will be searched for Viterbi search by using Mellin
transformation. The Mellin transform is used to change the time domain to the
frequency domain. This research carried out the process of introducing and training
lie voice samples on the word go, walk and move and then tested by simulating it in
the exercise data and test data to generate the percentage of recognition and
classification of the voice of the lie. The results showed that the lam detection system
using the BAM algorithm has a true detection range of 67% for the word go, 72% on
the word path and 69% on the word moved. While using the Viterbi algorithm has a
true detection range of 92% on the word go, 90% on the word path and 88% on the
word moved. The results of this study show that Viterbi algorithm is quite effective
applied to voice recognition system, can be seen from the relatively good level of
accuracy and the use of low memory resources.
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Persetujuan Publikasi iv
Panitia Penguji Tesis v
Riwayat Hidup vi
Ucapan Terima Kasih vii
Abstrak x
Abstract xi
Daftar Isi xii
Daftar Tabel xiv
Daftar Gambar xv
Bab 1 Pendahuluan
1.1. Latar Belakang 1
1.2. Rumusan Masalah 3
1.3. Batasan Masalah 4
1.4. Tujuan Penelitian 4
1.5. Manfaat Penelitian 4
3.4.3. Viterbi 24
3.5. Paramater Pengukuran Evaluasi Unjuk Kerja Sistem 25
Daftar Pustaka 57
Lampiran 60
xiv
DAFTAR TABEL
Halaman
Tabel 2.1. Riset tekait 17
Tabel 4.1. Detection Rate dengan lima sampel suara pelatihan pada
algoritma BAM 35
Tabel 4.2. Detection Rate dengan lima sampel suara pelatihan pada
algoritma Viterbi 36
Tabel 4.3. Detection Rate dengan sepuluh sampel suara pelatihan pada
algoritma BAM 37
Tabel 4.4. Detection Rate dengan sepuluh sampel suara pelatihan pada
algoritma Viterbi 38
Tabel 4.5. Detection Rate dengan lima belas sampel suara pelatihan pada
algoritma BAM 39
Tabel 4.6. Detection Rate dengan lima belas sampel suara pelatihan pada
algoritma Viterbi 40
Tabel 4.7. Detection Rate dengan dua puluh sampel suara pelatihan pada
algoritma BAM 41
Tabel 4.8. Detection Rate dengan dua puluh sampel suara pelatihan pada
algoritma Viterbi 42
Tabel 4.9. Detection Rate secara keseluruhan pada algoritma BAM dan
algoritma Viterbi 44
xv
DAFTAR GAMBAR
Halaman
Gambar 2.1. Organ wicara manusia 6
Gambar 2.2. Proses produksi suara 7
Gambar 2.3. Sinyal Analog 8
Gambar 2.4. Sinyal digital 8
Gambar 3.1. Alur kerja penelitian secara umum 20
Gambar 3.2. Diagram skema sistem secara keseluruhan 21
Gambar 3.3. Diagram skema sistem secara keseluruhan 22
Gambar 3.4. Flowchart proses Bidirectional Associative Memory(BAM) 23
Gambar 3.5. Flowchart proses Viterbi 24
Gambar 4.1. Mengilustrasikan gambar sinyal suara pada kata pergi 26
Gambar 4.2. Mengilustrasikan gambar sinyal suara pada kata jalan 26
Gambar 4.3. Mengilustrasikan gambar sinyal suara pada kata pindah 27
Gambar 4.4. Nilai sampling suara bohong pada kata pergi 27
Gambar 4.5. Nilai sampling suara bohong pada kata jalan 28
Gambar 4.6. Nilai sampling suara bohong pada kata pindah 28
Gambar 4.7. Nilai sampling suara jujur pada kata pergi 29
Gambar 4.8. Nilai sampling suara jujur pada kata jalan 29
Gambar 4.9. Nilai sampling suara jujur pada kata pindah 29
Gambar 4.10. Nilai hasil perhitungan algoritma Bidirectional Associative
Memory (BAM) pada kata pergi 30
Gambar 4.11. Nilai hasil perhitungan algoritma Viterbi pada kata pergi 31
Gambar 4.12. Nilai hasil perhitungan algoritma Bidirectional Associative
Memory (BAM) pada kata jalan 33
Gambar 4.13. Nilai hasil perhitungan algoritma Viterbi pada kata jalan 34
Gambar 4.14. Nilai hasil perhitungan algoritma Bidirectional Associative
Memory (BAM) pada kata pindah 34
Gambar 4.15. Nilai hasil perhitungan algoritma Viterbi pada kata pindah 34
Gambar 4.16. Grafik hasil detection rate dengan lima sampel suara pelatihan
pada algoritma BAM dan algoritma Viterbi 37
Gambar 4.17. Grafik hasil detection rate dengan sepuluh sampel suara
pelatihan pada algoritma BAM dan algoritma Viterbi 39
Gambar 4.18. Grafik hasil detection rate dengan lima belas sampel suara
pelatihan pada algoritma BAM dan algoritma Viterbi 41
Gambar 4.19. Grafik hasil detection rate dengan dua puluh sampel suara
pelatihan pada algoritma BAM dan algoritma Viterbi 43
Gambar 4.20. Grafik hasil detection rate secara keseluruhan pada algoritma
BAM dan algoritma Viterbi 45
Gambar 4.21. Ilustrasi sampel suara bohong yang dideteksi melalui sinyal suara 46
1
BAB 1
PENDAHULUAN
Alat pendeteksi kebohongan pada umumnya adalah sebuah alat yang berfungsi untuk
memverifikasi kebenaran dari perkataan seseorang. Berbagai cara untuk mendeteksi
kebohongan sebenarnya sudah ada sejak dulu. Seiring berkembangnya zaman,
berbagai cara mendeteksi kebohongan juga berkembang. tanpa adanya persetujuan
tertulis yang didapatkan sebelum pencatatan”.
Newman et al. (2003) mengatakan dibandingkan dengan seorang yang jujur,
pembohong menunjukkan kompleksitas kognitif yang lebih rendah, lebih sedikit
menggunakan referensi diri dan referensi lainnya, dan lebih menggunakan kata-kata
emosi negatif. Penelitiannya menunjukkan bahwa pembohong dapat diidentifikasi
dengan kata-kata mereka, bukan mengenai apa yang mereka katakan melainkan
bagaimana mereka mengatakannya. Dan pada penelitian Ahsan et al. (2014)
Teknologi analisis suara adalah hal yang tepat untuk menemukan pola perubahan
seseorang saat dia sedang berbohong atau tidak. Gunadi et al. (2012) mengatakan
berbagai pendekatan metode yang telah dikembangkan untuk mendeteksi
kebohongan,diantaranya deteksi kebohongan berdasarkan konduktivitas kulit, bentuk
tulisan tangan , isi (content tulisan), analisis suara, termograpy, dan gesture.
Pengenalan suara sering disebut juga teknologi biometrik, termasuk
identifikasi, verifikasi (otentifikasi), klasifikasi, segmentasi dan deteksi suara. Sebagai
informasi tentang identitas seseorang berdasarkan pengenalan suara Beigi (2011).
Sistem pengenalan suara pertama hanya mencoba mengenali karakteristik suara
seseorang. Ini merupakan model matematika dari sistem fisiologi pada suara manusia.
Akan tetapi semakin berkembangnya teknologi banyak peneliti membangun model
yang lebih menarik dan spesifik pada sistem pengenalan suara Beigi (2011).
2
BAB 2
LANDASAN TEORI
2.1 Suara
Suara berguna untuk melakukan suatu komunikasi antar sesama manusia. Dimana
masing-masing suara memiliki karakteristik dan tingkatan frekuensi yang berbeda-
beda. Suara dihasilkan oleh suatu pita suara dengan kerjasama seluruh organ penghasil
suara. Saat ini aplikasi teknologi ini berkembang dengan cepat dan sangat berguna
bagi kehidupan manusia, contoh: membantu tunarungu, pembuatan google translate
dan lain-lain. Ada beberapa permasalahan dalam pengidentifikasian suara yaitu
kecepatan dan ketepatan pengolahan data suara Ishaq (2007).
Suara atau gelombang akustik sesungguhnya merupakan kasus khusus dari
suatu gelombang elastik pada medium udara atau fluida. Suara merupakan suatu hal
yang unik dan memiliki range frekuensi tertentu dan intensitas suara yang bisa dan
tidak bisa didengar oleh manusia. Satuan untuk mengukur intensitas suara tersebut
adalah desibel (dB) diambil dari nama penemunya yaitu Alexander Graham Bell yang
dikenal sebagai penemu telepon, sedangkan satuan dari frekuensi suara adalah Hertz,
diambil dari nama seorang Fisikawan, Heinrich Rudolf Hertz untuk menghargai jasa
atas kontribusinya dalam bidang elektromagnetik Syaifuddin (2014).
Bagian dari otak kiri mengkhususkan dalam produksi dan pemahaman bahasa dan
gambar pada otak belahan kanan dapat memahami karakteristik musik termasuk pitch,
tempo, ritme, dan suara Beigi (2011).
Speech (wicara) dihasilkan dari sebuah kerjasama antara lungs (paru-paru),
glottis (dengan vocal cords) dan articulation tract (mouth/mulut dan nose
cavity/rongga hidung). Gambar 2.1 menunjukkan penampang melintang dari organ
wicara manusia. Untuk menghasilkan sebuah voiced sounds (suara ucapan), paru-paru
lungs menekan udara melalui epiglottis, vocal cords bergetar, menginterupt udara
melalui aliran udara dan menghassilkan sebuah gelombang tekanan quasi-periodic.
Impuls tekanan pada umumnya disebut sebagai pitch impulses dan frekuensi
sinyal tekanan adalah pitch frequency atau fundamental frequency. Impuls pitch
merangsang udara di dalam mulut, dan untuk suara tertentu (nasals) juga merangsang
nasal cavity (rongga hidung). Ketika rongga beresonansi, akan menimbulkan radiasi
sebuah gelombang suara yang mana merupakan sinyal wicara. Kedua rongga beraksi
sebagai resonators dengan karacteristik frekuensi resonansi masing-masing, yang
disebut formant frequencies. Pada saat rongga mulut dapat mengalami perubahan
besar, kita mampu untuk menghasilkan beragam pola ucapan suara yang berbeda.
Di dalam kasus unvoiced sounds (suara tak terucap), exitasi pada vocal tract
lebih menyerupai noise (derau). Gambar 2.2 menampilkan proses produksi suara-
suara /a/, dan /f/. Fadlisyah (2013).
7
Sinyal digital atau sinyal waktu diskrit merupakan bentuk sampling dari sinyal
analog. Sinyal digital pada dasarnya di code-kan dalam bentuk biner (Hexa). Besarnya
nilai suatu sinyal digital dibatasi oleh lebarnya atau jumlah bit (bandwidth). Jumlah bit
juga sangat mempengaruhi nilai akurasi sinyal digital Gambar 2.4 mengilustrasikan
sinyal digital Ishaq (2007).
2.5 Sampling
Sampling merupakan suatu proses konversi sinyal analog menjadi sinyal digital
berupa sekumpulan nilai agar dapat dikenali oleh kumputer. Pada proses sampling
akan diambil beberapa sampel data dari sinyal analog. Tiap sampel akan mewakili
satu nilai dimana posisi pergerakan grafik pada waktu tertentu. Nilai hasil sampling
dimasukkan kedalam fungsi :
Dimana t adalah waktu, dan n adalah nilai sampel pada waktu t Prasetya et al. (2008).
Jika sinyal sampling tidak memenuhi syarat maka akan terjadi aliasing. Aliasing
adalah suatu efek dimana sinyal yang dihasilkan memiliki frekuensi yang berbeda
dengan sinyal aslinya Bhaskoro et al. (2014).
memiliki berbagai tipe, dijelaskan di sini hanya untuk sinyal periodik atau seragam
umumnya banyak digunakan dalam praktek.
x(n) = xa (nT) = x(t)|t = Ts, for -∞ < n < ∞ (n=integer) (2.3)
dimana:
x(t) = sinyal analog
x(n) = sinyal waktu diskrit
xa(nT) = sinyal analog diambil sampel setiap periode Ts
Dimana:
Ts = waktu sampling
Fs = 1/Ts, tingkat sampling
Secara Umum :
𝐹
∫=
𝐹𝑠
Dimana:
∫ = frekuensi normal
F = frekuensi informasi
Fs = frekuensi sampling
Untuk menghindari aliasing frekuensi, ukuran yang terkecil Frekuensi sampling harus
dua kali maksimal frekuensi informasi sinyal Kriteria Nquist ini. Korelasi dapat dilihat
di bawah ini:
Fs > 2 Fmax(information signal)
𝑁 𝑁
∫= 𝑛
𝑜𝑟 𝑛 ,
Dimana /k = integer.
2𝜋
Angular Frequency Ωₒ = 2πfₒ = 𝑇ₒ 𝑟𝑎𝑑⁄𝑠𝑒𝑐
1 2𝜋
Period Tₒ = 𝐹ₒ = 𝛺ₒ 𝑠𝑒𝑐
1 𝛺ₒ
Frequency Fₒ = 𝑇ₒ = 2𝜋 𝐻𝑧
𝐹ₒ
Digital Frequency wₒ = 2𝜋 𝐹𝑠 𝑟𝑎𝑑 = 𝛺ₒ𝑇𝑠
2.7 Berbohong
Penelitian sebelumnya telah mengungkapkan bahwa pembohong sering menunjukkan
salah satu dari dua jenis pola respons: baik tanggapan aktivasi umum atau ketegangan
yang lebih besar. Getaran beralasan negatif dapat terungkap melalui dilatasi pupil
yang lebih besar atau ketidakstabilan, perpindahan postural, gelisah, gerakan batang
dan anggota tubuh acak, gerakan adaptor tangan seperti menyentuh wajah, leher atau
kepala dengan tangan, atau adapter bibir seperti menggigit, menjilat, atau
mengerutkan mata. bibir. Ketegangan, di sisi lain, dapat memanifestasikan dirinya
melalui postur yang beku dan kaku, kurangnya gerakan atau pengetatan otot di pita
suara, yang menyebabkan mereka bergetar lebih cepat dan menghasilkan nada yang
lebih tinggi (frekuensi dasar) ketika berbicara Titze et al. (1998).
Pada penelitian DePaulo et al. (2003) mengatakan pembohong mungkin tidak
memiliki kemampuan, motivasi, emosi, kepercayaan diri, atau kemampuan untuk
menciptakan ekspresif spontan atau mengelola perilaku secara sadar. Banyak strategi
untuk mendeteksi kebohongan beroperasi dengan asumsi bahwa bukti individu
kecemasan meningkat saat berbohong, dan itu tanda-tanda ini akan bocor keluar
melalui satu atau lebih saluran komunikasi. Asumsi ini konsisten dengan penelitian
tentang pengendalian diri, yang menunjukkan bahwa orang memiliki kemampuan
terbatas untuk mengendalikan tingkah lakunya.
Pada penelitian Newman et al. (2003) menuliskan bahwa data menunjukkan
negatif hubungan antara kompleksitas kognitif dan penggunaan kata kerja gerak
(misalnya, pergi, jalan, dan pindah). Jadi, jika pembohong berkomunikasi secara
kognitif kurang kompleks, pembohong menggunakan lebih banyak kata kerja gerak
12
dan lebih sedikit kata-kata ekslusif. Pembohong menggunakan kata kerja gerak,
seperti "jalan”, “pindah”, dan “pergi" pada tingkat yang lebih tinggi daripada orang
yang jujur. Pembohong mungkin telah menggunakan kata kerja ini pada tingkat yang
lebih tinggi karena mereka berbicara secara umum. Namun, penelitian masa depan
harus menyelidiki kekuatan prediksi dari kata kerja bergerak sebelum kesimpulan bisa
ditarik.
2.8 WAV
WAV adalah format audio standar Microsoft dan IBM komputer pribadi (PC) yang
biasanya menggunakan kode PCM (Pulse Code Modulation). WAV adalah data yang
tidak dikompres sehingga seluruh sampel audio disimpan semuanya di harddisk.
Software yang bisa dibuat WAV dari contoh suara analog adalah Windows Voice atau
perekam suara. File audio ini jarang digunakan di internet karena ukurannya yang
relatif besar dengan maksimal batas untuk file WAV adalah 2 GB.
soma) dan dendrit (jalur masukan untuk soma). Hubungan satu neuron ke neuron
berikutnya disebut sinapsis.
Karena sinapsis adalah tempat satu hubungan neuron dengan selanjutnya neuron
maka tempat itu sangat menguntungkan sebagai pengatur konduksi sinyal. Beberapa
sinapsis melahirkan sinyal dari satu neuron ke neuron lain dengan mudah, sedangkan
sinapsis lainnya sulit untuk mengantarkan sinyal. Selain Beberapa neuron pasca-
sinapsis bereaksi dengan sejumlah besar impuls sementara yang lain hanya bereaksi
terhadap dorongan hati saja. Jadi sinapsis melakukan tindakan selektif, misalnya oleh
menghalangi sinyal lemah tapi terus sinyal kuat, memilih dan menguatkan sinyal
lemah yang spesifik dan sering mendistribusikan sinyal ke berbagai arah, tidak hanya
satu arah saja.
JST mempelajari sampel yang disebut training set. Karena mempelajari sampel,
JST memiliki potensi membangun sistem komputasi sebagai hasil input dan output
memetakan hubungan yang ada dalam sistem. Perlengkapan latihan
dikenal sebagai pola pelatihan dalam bentuk vektor dan diperoleh dari sumber seperti
gambar, sinyal suara, dan berbagai informasi lainnya.
lapisan input dan lapisan output. Tidak ada hubungan lateral, yaitu tidak ada dua
neuron di lapisan yang sama terhubung. Sambungan berulang yang merupakan
koneksi umpan balik ke neuron itu sendiri, mungkin atau mungkin tidak ada,
arsitektur ini cukup sederhana.
Input dari jaringan BAM adalah sebuah vektor dari bilangan real, biasanya di
set {-1, 1}. Output juga vektor dari bilangan real, biasanya pada himpunan {-1, 1},
dengan dimensi yang sama atau berbeda dari inputnya. Vektor bisa dianggap sebagai
pola, dan jaringan membuat pola heteroassociation. Jika outputnya harus sama dengan
inputnya, maka Anda meminta jaringan untuk membuat autoassociation. Jika tidak, itu
akan menjadi kasus khusus dari aktivitas umum tipe jaringan syaraf tiruan.
Langkah 1: Hubungan antara pola pasangan yang tersimpan di dalamnya memori
dalam bentuk vektor biner bipolar dengan entri - 1 dan 1.
Langkah 6: Jika tidak ada lagi proses update berhenti. Jika tidak ada langkah 4 dan 5
yang berulang.
15
Untuk mendapatkan kembali rangkaian status, perlu adanya penyimpanan hasil yang
memaksimalkan persamaan (2), untuk tiap i dan j, dengan menggunakan tabel Aґ(j).
Prosedur lengkap untuk menemukan kumpulan status-status terbaik bisa dirumuskan
sebagai:
1. Inisialisasi
δ1 (i) = Πibi(o1), 1≤ i ≥ N
Aґ(1) = 0.
2. Rekursif
δt(i) = max [δt-1(i)aij]bj(ot)1≤ i ≤ N
2 ≤ t ≤ T, 1 ≤ j ≤ N
Ar(j) = arg max [δt-1(i)aij]1≤ i ≤ N
2 ≤ t ≤ T, 1 ≤ j ≤ N
3. Terminasi
P* = max [δT(i)]1≤ i ≤ N
qT* = arg max [δT(i)]1≤ i ≤ N
4. Lintasan status
qt* = Ar(t+1)(q*t+1)
t = T-1, T-2, ..., 1.
16
Nama
Algoritma /
Peneliti dan
No Judul Riset Metode yang Hasil Penelitian
Tahun
digunakan
Penelitian
HMM memiliki
kemampuan untuk
memodelkan variasi
temporal dalam
Speech sinyal suara,
Recognition Hidden algoritma Viterbi
using Hidden Markov mampu menurunkan
4 Bhardwaj, et
Markov Model Models dan probabilitas posterior
al (2015)
and Viterbi Viterbi tanpa membuat
Algorithm asumsi. Juga diamati
bahwa pelatihan
yang lebih baik,
tingkat pengenalan
yang lebih baik.
Model FIE dan
BAM yang
diusulkan
menggunakan FIE
untuk menghapus
impulsif dan
Image
suara non-impulsif
Recognition
Bidirectional halus, dan untuk
using
Mohammed Associative meningkatkan tepi
Bidirectional
5 H.Almourish Memory dan atau menonjol
Associative
(2014) Fuzzy Image lainnya
Memory and
Enhancement struktur dalam
Fuzzy Image
gambar input.
Enhancement
Setelah itu gambar
diberikan kepada
BAM untuk
mengklasifikasikan
dan mengenali
vektor input.
18
Dari tabel diatas didapatkan satu penelitian yang hanya menggunakan satu metode
dalam mendeteksi kebohongan. Oleh karena itu peneliti akan mencoba menggunakan
dua metode dengan mengimplementasikan algoritma Bidirectional Associative
Memory (BAM) dan algoritma Viterbi dalam mendetksi kebohongan melalui suara
berdasarkan persentase pengakuan dan klasifikasi terbaik, sehingga akan didapatkan
hasil unjuk kerja dari kedua algoritma tesebut.
20
BAB 3
METODOLOGI PENELITIAN
Pada penelitian ini, seluruh prosedur awal penelitian terlebih dahulu harus sudah
dilakukan seperti studi literatur dan melakukan konsultasi dengan pembimbing.
Setelah ditemukan permasalahan dan merumuskannya maka penelitian bisa
dilanjutkan pada proses selanjutnya.
Memfokuskan Mengumpulkan
Tujuan Penelitian Data (Sampel)
Identifikasi
Masalah Merancang dan
Mengimplementasi
Kesimpulan Metode
Penelitian
Mengukur Menguji Coba
Kinerja Metode Metode
Berdasarkan gambar 3.1, alur kerja penelitian secara umum dimulai dengan
tahapan mengidentifikasi sebuah masalah yang akan diteliti, kemudian tahapan
memfokuskan tujuan penelitian yang diteliti tidak menyebar ke ruang lingkup yang
lain dan dilanjutkan tahapan mengumpulkan data atau sampel yang akan diteliti
khususnya sampel suara, selanjutnya setelah sampel terkumpulkan maka dilanjutkan
tahapan merancang dan mengimplentasikan sistem dimana sistem sesuai dengan
tujuan penelitian yang telah difokuskan, kemudian pada tahap selanjutnya proses
20
menguji coba metode yang telah ditentukan lalu mengukur perbandingan kinerja
metode tersebut sehingga mendapatkan kesimpulan terhadap penelitian.
Langkah penelitian secara umum pengenalan pola yang dibangun dalam penelitian ini
diilustrasikan pada gambar berikut :
Adapun tahapan yang dilakukan setelah aktor mengeluarkan suara berupa kata
kerja atau sumber sinyal adalah tahapan ekstraksi ciri vektor atau komputasi vektor
untuk melakukan perhitungan nilai sinyal suara yang dihasilkan, kemudian melakukan
perhitungan dengan menggunakan algoritma Bidirectional Associative Memory
(BAM) dan algoritma Viterbi. Pada algoritma Viterbi proses utama, komputasi
21
Mulai
sampel suara
real-time
Apakah g(t)=n ?
Tidak
Ya
sampling
suara
Selesai
Mulai
Sampel Suara
Ya
Klasifikasi
Kebohongan
Selesai
Pada tahap ini, jaringan menerima inputan struktur pola. Struktur suara inputan
merupakan sebarisan nilai sinyal suara tepi-tepi objek yang mungkin mengandung
suara bohong atau jujur, dan selanjutnya jaringan melakukan perhitungan input Y_inj.
Setelah perhitungan input Y_inj dilakukan, jaringan melakukan perhitungan input
23
X_inj. Langkah-langkah ini terus diulang hingga tercapai nilai aktivasi yang
seimbang.
3.4.3 Viterbi
Berikut adalah flowchart dari algoritma Viterbi yang ditunjukkan seperti gambar
dibawah ini.
Mulai
Sampel
suara
Tidak
Ya
Sampel suara
dikenali dan
dideteksi
Selesai
Pada tahap ini, jaringan menerima inputan struktur sampel suara. Struktur
suara inputan merupakan sebarisan nilai sinyal suara tepi-tepi objek yang mungkin
mengandung suara bohong atau jujur, dan selanjutnya jaringan melakukan tahapan
pelatihan yaitu pengenalan sinyal suara dan tandai ciri, dan uji pengenalan suara
24
Pengukuran evaluasi unjuk kerja sistem dilakukan dengan pelatihan bertahap. Pada
suara memuat beberapa sinyal suara yang mampu dideteksi menggunakan kata kerja
bersifat bergerak seperti pergi, jalan dan pindah. Hasil evaluasi sistem menunjukkan
bahwa peningkatan Detection Rate sangat terkait dengan peningkatan jumlah
pelatihan dari sampel suara bohong.
26
BAB 4
4.1 Hasil
Hasil yang dibahas meliputi pemilihan sampel training dan testing suara bohong, hasil
sampling suara bohong pada kata pergi, jalan dan pindah, pengujian sistem, dan
pengukuran unjuk kerja sistem.
Pada gambar diatas menunjukkan nilai sampling suara bohong yang terdapat pada
kata pergi. Itu merupakan salah satu sampel yang digunakan untuk sinyal suara
27
pelatihan pada kata pergi. Untuk suara bohong pada kata pergi memiliki banyak ciri
vektor dari nilai sinyal suara. Untuk menentukan normalisasi sinyal suara yaitu jika
nilai f > 0 maka f = 1, jika f < 0 maka f = -1 dan jika f = 0 maka f = 0.
Pada gambar diatas menunjukkan nilai sampling suara bohong yang terdapat pada
kata jalan. Itu merupakan salah satu sampel yang digunakan untuk sinyal suara
pelatihan pada kata jalan. Seperti yang ditunjukkan pada gambar diatas terlihat bahwa
suara bohong pada kata jalan memiliki nilai vektor yang banyak dari sinyal suara yang
diperoleh.
28
Pada gambar diatas menunjukkan nilai sampling suara bohong yang terdapat pada
kata pindah. Itu merupakan salah satu sampel yang digunakan untuk sinyal suara
pelatihan pada kata pindah. Nilai vektor yang diperoleh dari sinyal suara bohong pada
kata pindah lebih banyak, itu adalah salah satu dari ciri suara bohong.
Selanjutnya merupakan ciri-ciri dari nilai sampling suara jujur pada kata pergi,
jalan dan pindah seperti yang ditunjukkan pada gambar dibawah ini.
Pada gambar diatas menunjukkan nilai sampling suara jujur yang terdapat pada kata
pergi. Gambar tersebut mengilustrasikan salah satu sampel yang digunakan untuk
29
sinyal suara pelatihan pada kata pergi. Terlihat bahwa nilai vektor frekuensi yang
didapat pada suara jujur lebih sedikit dibandingkan suara bohong.
Pada gambar diatas menunjukkan nilai sinyal suara jujur yang terdapat pada kata
jalan. Gambar tersebut mengilustrasikan salah satu sampel yang digunakan untuk
sinyal suara pelatihan pada kata jalan. Nilai vektor frekuensi pada kata jalan lebih
sedikit pada suara jujur dibandingkan dengan suara bohong.
Pada gambar diatas menunjukkan nilai sampling suara jujur yang terdapat pada kata
pindah. Gambar tersebut mengilustrasikan salah satu sampel yang digunakan untuk
sinyal suara pelatihan pada kata pindah. Terlihat bahwa gambar diatas adalah nilai
vektor lebih sedikit merupakan ciri-ciri dari suara jujur.
yang mengandung unsur kata kerja pindah. Gambar di bawah ini menunjukkan hasil
pengujian sistem pendeteksi kebohongan dengan menggunakan algoritma
Gambar 4.11 Pengujian suara bohong pada kata pergi dengan algoritma Viterbi
menghasilkan suara bohong
Setelah dilakukan pelatihan pada sejumlah sampel suara, selanjutnya dilakukan proses
pengujian untuk pengenalan pada setiap jenis suara yang terdapat kata pergi, jalan dan
pindah. Dari perhitungan tersebut maka diperoleh nilai energi untuk mempermudah
pengenalan jenis suara bohong dari beberapa sampel suara bohong yang dilatih
diinputkan ke dalam sistem. Selanjutnya nilai-nilai tersebut akan diproses agar
mendapatkan hasil yang menunjukkan tingkat keberhasilan pengenalan jenis suara
bohong.
32
Pada gambar dibawah ini menunjukkan nilai hasil yang didapat dalam
perhitungan menggunakan algoritma Bidirectional Associative Memory (BAM) dan
algoritma Viterbi pada kata jalan dan pindah.
Gambar 4.12 Pengujian suara bohong pada kata jalan dengan algoritma BAM
menghasilkan suara bohong
Gambar 4.13 Pengujian suara bohong pada kata jalan dengan algoritma Viterbi
menghasilkan suara bohong
Gambar 4.14 Pengujian suara bohong pada kata pindah dengan algoritma BAM
menghasilkan suara bohong
34
Gambar 4.15 Pengujian suara bohong pada kata pindah dengan algoritma Viterbi
menghasilkan suara bohong
Dibawah ini mengilustrasikan suara jujur yang diperoleh dari sistem pendeteksian
kebohongan pada sampel suara pengujian dengan menggunakan algoritma BAM dan
algoritma Viterbi.
Gambar 4.16 Pengujian suara bohong pada kata pergi dengan algoritma BAM
menghasilkan suara jujur
Pada gambar diatas menunjukkan ketika salah satu sampel suara pengujian pada kata
pergi yang diuji lalu sistem pendeteksian kebohongan menunjukkan hasil yang tidak
sesuai yaitu suara jujur yang seharusnya menghasilkan suara bohong. Maka dari itu,
setelah dilakukan pendeteksian kebohongan dengan menggunakan algoritma BAM
terdapat sampel suara pengujian yang tidak sesuai dengan hasil yang diharapkan.
Gambar diatas mengilustrasikan hasil pendeteksian kebohongan yang keliru ketika
diuji pada sampel suara bohong dengan menggunakan algoritma BAM.
36
Gambar 4.17 Pengujian suara bohong pada kata pergi dengan algoritma Viterbi
menghasilkan suara jujur
Pada gambar diatas menunjukkan ketika salah satu sampel suara pengujian pada kata
pergi yang diuji lalu sistem pendeteksian kebohongan menunjukkan hasil yang tidak
sesuai yaitu suara jujur yang seharusnya menghasilkan suara bohong. Maka dari itu,
setelah dilakukan pendeteksian kebohongan dengan menggunakan algoritma Viterbi
terdapat sampel suara pengujian yang tidak sesuai dengan hasil yang diharapkan.
Gambar diatas mengilustrasikan hasil pendeteksian kebohongan yang keliru ketika
diuji pada sampel suara bohong menggunakan algoritma Viterbi.
Gambar 4.18 Pengujian suara bohong pada kata jalan dengan algoritma BAM
menghasilkan suara jujur
37
Pada gambar 4.18 menunjukkan ketika salah satu sampel suara pengujian pada kata
jalan yang diuji lalu sistem pendeteksian kebohongan menunjukkan hasil yang tidak
sesuai yaitu suara jujur yang seharusnya menghasilkan suara bohong. Maka dari itu,
setelah dilakukan pendeteksian kebohongan dengan menggunakan algoritma BAM
terdapat sampel suara pengujian yang tidak sesuai dengan hasil yang diharapkan.
Gambar diatas mengilustrasikan hasil pendeteksian kebohongan yang keliru ketika
diuji pada sampel suara bohong dengan menggunakan algoritma BAM.
Gambar 4.19 Pengujian suara bohong pada kata jalan dengan algoritma Viterbi
menghasilkan suara jujur
Pada gambar 4.19 menunjukkan ketika salah satu sampel suara pengujian pada kata
jalan yang diuji lalu sistem pendeteksian kebohongan menunjukkan hasil yang tidak
sesuai yaitu suara jujur yang seharusnya menghasilkan suara bohong. Maka dari itu,
setelah dilakukan pendeteksian kebohongan dengan menggunakan algoritma Viterbi
terdapat sampel suara pengujian yang tidak sesuai dengan hasil yang diharapkan.
Gambar diatas mengilustrasikan hasil pendeteksian kebohongan yang keliru ketika
diuji pada sampel suara bohong menggunakan algoritma Viterbi.
38
Gambar 4.20 Pengujian suara bohong pada kata pindah dengan algoritma BAM
menghasilkan suara jujur
Pada gambar diatas menunjukkan ketika salah satu sampel suara pengujian pada kata
pindah yang diuji lalu sistem pendeteksian kebohongan menunjukkan hasil yang tidak
sesuai yaitu suara jujur yang seharusnya menghasilkan suara bohong. Maka dari itu,
setelah dilakukan pendeteksian kebohongan dengan menggunakan algoritma BAM
terdapat sampel suara pengujian yang tidak sesuai dengan hasil yang diharapkan.
Gambar diatas mengilustrasikan hasil pendeteksian kebohongan yang keliru ketika
diuji pada sampel suara bohong dengan menggunakan algoritma BAM.
Gambar 4.21 Pengujian suara bohong pada kata pindah dengan algoritma Viterbi
menghasilkan suara jujur
39
Pada gambar diatas menunjukkan ketika salah satu sampel suara pengujian pada kata
pindah yang diuji lalu sistem pendeteksian kebohongan menunjukkan hasil yang tidak
sesuai yaitu suara jujur yang seharusnya menghasilkan suara bohong. Maka dari itu,
setelah dilakukan pendeteksian kebohongan dengan menggunakan algoritma Viterbi
terdapat sampel suara pengujian yang tidak sesuai dengan hasil yang diharapkan.
Gambar diatas mengilustrasikan hasil pendeteksian kebohongan yang keliru ketika
diuji pada sampel suara bohong menggunakan algoritma Viterbi.
Tabel 4.1 Detection Rate dengan tiga sampel suara pelatihan pada algoritma
BAM
40
Pada Tabel 4.1 menunjukkan bahwa pada algoritma BAM dengan menggunakan tiga
sampel suara pelatihan menghasilkan tingkat keakuratan sebesar 66% untuk kata
pergi, selanjutnya 68% pada kata jalan dan 60% pada kata pindah dengan masing-
masing kata menggunakan seratus sampel pengujian. Dari hasil tabel 4.1
menunjukkan hasil true detection yang berbeda-beda dari kata pergi, jalan dan pindah
pada tiga sampel suara pelatihan.
Tabel 4.2 Detection Rate dengan tiga sampel suara pelatihan pada algoritma
Viterbi
Pada Tabel 4.2 menunjukkan bahwa pada algoritma Viterbi dengan menggunakan tiga
sampel suara pelatihan menghasilkan tingkat keakuratan sebesar 65% untuk kata
pergi, lalu pada kata jalan sebesar 67% dan pada kata pindah sebesar 70% dengan
masing-masing kata menggunakan seratus sampel suara pengujian. Dalam hal ini juga
menunjukkan bahwa pengujian sampel suara pada kata pergi, jalan dan pindah
memiliki true detection yang berbeda-beda.
Gambar 4.22 mengilustrasikan hasil dari detection rate yang didapat
berdasarkan tiga sampel suara pelatihan dengan masing-masing seratus sampel suara
pengujian dalam unjuk kerja sistem menggunakan algoritma BAM dan algoritma
Viterbi.
41
56%
54%
Pergi Jalan Pindah
Gambar 4.22 Grafik hasil detection rate dengan tiga sampel suara pelatihan pada
algoritma BAM dan algoritma Viterbi
Gambar diatas menunjukkan hasil detection rate dengan tiga sampel suara
pelatihan untuk mendeteksi kebohongan pada kata pergi, jalan dan pindah dengan
masing-masing seratus sampel suara pengujian menggunakan algoritma BAM dan
algoritma Viterbi. Tingkat keakuratan dalam mendeteksi kebohongan pada algoritma
BAM sebesar 66% pada kata pergi, 68% pada kata jalan dan 60% pada kata pindah.
Sedangkan pada algoritma Viterbi tingkat keakuratan sebesar 65% pada kata pergi,
67% pada kata jalan dan 70% pada kata pindah.
Tabel 4.3 Detection Rate dengan sepuluh sampel suara pelatihan pada algoritma
BAM
42
Pada Tabel 4.3 menunjukkan bahwa pada algoritma BAM dengan menggunakan lima
sampel suara pelatihan menghasilkan tingkat keakuratan sebesar 67% untuk kata
pergi, selanjutnya 72% pada kata jalan dan 69% pada kata pindah dengan masing-
masing kata menggunakan seratus sampel pengujian.
Tabel 4.4 Detection Rate dengan lima sampel suara pelatihan pada algoritma
Viterbi
Pada Tabel 4.4 menunjukkan bahwa pada algoritma Viterbi dengan menggunakan
lima sampel suara pelatihan menghasilkan tingkat keakuratan sebesar 82% untuk kata
pergi, lalu pada kata jalan sebesar 85% dan pada kata pindah sebesar 79% dengan
masing-masing kata menggunakan seratus sampel suara pengujian.
Gambar 4.23 Grafik hasil detection rate dengan lima sampel suara pelatihan pada
algoritma BAM dan algoritma Viterbi
Gambar 4.23 menunjukkan hasil detection rate dengan lima sampel suara pelatihan
untuk mendeteksi kebohongan pada kata pergi, jalan dan pindah dengan masing-
masing seratus sampel suara pengujian menggunakan algoritma BAM dan algoritma
Viterbi. Tingkat keakuratan dalam mendeteksi kebohongan pada algoritma BAM
sebesar 67% pada kata pergi, 72% pada kata jalan dan 69% pada kata pindah.
Sedangkan pada algoritma Viterbi tingkat keakuratan sebesar 82% pada kata pergi,
85% pada kata jalan dan 79% pada kata pindah.
Tabel 4.5 Detection Rate dengan sepuluh sampel suara pelatihan pada algoritma
BAM
44
Pada Tabel 4.5 menunjukkan bahwa pada algoritma BAM dengan menggunakan
sepuluh sampel suara pelatihan menghasilkan tingkat keakuratan sebesar 62% untuk
kata pergi, selanjutnya 66% pada kata jalan dan 67% pada kata pindah dengan
masing-masing kata menggunakan seratus sampel pengujian.
Tabel 4.6 Detection Rate dengan sepuluh sampel suara pelatihan pada algoritma
Viterbi
Pada Tabel 4.6 menunjukkan bahwa pada algoritma Viterbi dengan menggunakan
sepuluh sampel suara pelatihan menghasilkan tingkat keakuratan sebesar 86% untuk
kata pergi, lalu pada kata jalan sebesar 89% dan pada kata pindah sebesar 84% dengan
masing-masing kata menggunakan seratus sampel suara pengujian.
Gambar 4.24 mengilustrasikan hasil dari detection rate yang didapat
berdasarkan sepuluh sampel suara pelatihan dengan masing-masing seratus sampel
suara pengujian dalam unjuk kerja sistem menggunakan algoritma BAM dan
algoritma Viterbi.
45
Gambar 4.24 Grafik hasil detection rate dengan sepuluh sampel suara pelatihan pada
algoritma BAM dan algoritma Viterbi
Gambar 4.24 menunjukkan hasil detection rate dengan sepuluh sampel suara pelatihan
untuk mendeteksi kebohongan pada kata pergi, jalan dan pindah dengan masing-
masing seratus sampel suara pengujian menggunakan algoritma BAM dan algoritma
Viterbi. Tingkat keakuratan dalam mendeteksi kebohongan pada algoritma BAM
sebesar 62% pada kata pergi, 66% pada kata jalan dan 67% pada kata pindah.
Sedangkan pada algoritma Viterbi tingkat keakuratan sebesar 86% pada kata pergi,
89% pada kata jalan dan 84% pada kata pindah.
Tabel 4.7 Detection Rate dengan lima belas sampel suara pelatihan pada
algoritma BAM
Pada Tabel 4.7 menunjukkan bahwa pada algoritma BAM dengan menggunakan lima
belas sampel suara pelatihan menghasilkan tingkat keakuratan sebesar 57% untuk kata
46
pergi, selanjutnya 61% pada kata jalan dan 65% pada kata pindah dengan masing-
masing kata menggunakan seratus sampel pengujian.
Tabel 4.8 Detection Rate dengan lima belas sampel suara pelatihan pada
algoritma Viterbi
Pada Tabel 4.8 menunjukkan bahwa pada algoritma Viterbi dengan menggunakan
lima belas sampel suara pelatihan menghasilkan tingkat keakuratan sebesar 92%
untuk kata pergi, lalu pada kata jalan sebesar 90% dan pada kata pindah sebesar 88%
dengan masing-masing kata menggunakan seratus sampel suara pengujian.
Gambar 4.25 Grafik hasil detection rate dengan lima belas sampel suara pelatihan
pada algoritma BAM dan algoritma Viterbi
Gambar 4.25 menunjukkan hasil detection rate dengan lima belas sampel suara
pelatihan untuk mendeteksi kebohongan pada kata pergi, jalan dan pindah dengan
masing-masing seratus sampel suara pengujian menggunakan algoritma BAM dan
algoritma Viterbi. Tingkat keakuratan sistem dalam mendeteksi kebohongan pada
algoritma BAM sebesar 67% pada kata pergi, 72% pada kata jalan dan 69% pada kata
pindah. Sedangkan pada algoritma Viterbi tingkat keakuratan sebesar 92% pada kata
pergi, 90% pada kata jalan dan 88% pada kata pindah.
Berdasarkan data dan fakta yang muncul pada tabel dan beberapa penjabaran
diatas, menunjukkan bahwa sampel suara yang dijadikan pelatihan sangat berdampak
terhadap tingginya persentase keberhasilan pengenalan suara bohong. Pada algoritma
BAM, semakin banyaknya jumlah suara pelatihan yang dimasukkan maka detection
rate menunjukkan hasil yang berbeda-beda. Namun, dengan menggunakan algoritma
Viterbi semakin banyak jumlah suara pelatihan yang dimasukkan akan menunjukkan
hasil persentase yang semakin tinggi atau stabil.
Berikut merupakan hasil dari deteksi secara keseluruhan dengan menggunakan
algoritma BAM dan algoritma Viterbi pada kata pergi, jalan dan pindah dalam
mendeteksi kebohongan.
48
Tabel 4.9 Detection Rate secara keseluruhan pada algoritma BAM dan algoritma
Viterbi
5 sampel suara pelatihan, 89% dengan 10 sampel suara pelatihan dan 90% dengan 15
sampel suara pelatihan. Pada kata pindah sebesar 70% dengan 3 sampel suara
pelatihan, 79% dengan 5 sampel suara pelatihan, 84% dengan 10 sampel suara
pelatihan dan 88% dengan 15 sampel suara pelatihan.
Gambar dibawah ini adalah hasil dari detection rate secara keseluruhan
seperti yang diilustrasikan dalam Gambar 4.26.
60%
50% BAM
40% Viterbi
30%
20%
10%
0%
Gambar 4.26 Grafik hasil detection rate secara keseluruhan pada algoritma BAM dan
algoritma Viterbi
Dari grafik diatas dapat disimpulkan bahwa tingkat keakuratan yang didapat dari
detection rate pada algoritma BAM yang paling tinggi terletak pada kata pergi yaitu
67%, selanjutnya 72% pada kata jalan dan 69% pada kata pindah. Sedangkan pada
algoritma Viterbi, tingkat keakuratan yang didapat dari detection rate tertinggi yaitu
pada kata pergi dengan 92%, selanjutnya 90% pada kata jalan dan 88% pada kata
pindah.
4.2 Pembahasan
Berdasarkan hasil penelitian yang telah dilakukan, hasil unjuk kerja sistem detection
rate sangat dipengaruhi oleh jumlah pelatihan, pengamatan terhadap sinyal acuan
50
Gambar 4.27 Ilustrasi sampel suara bohong yang dideteksi melalui sinyal suara
Dari gambar 4.27 terlihat bahwa nilai sinyal suara yang telah diinputkan ke
dalam sistem dan kemudian mendeklarasikan sinyal suara tersebut kedalam nilai-nilai
dan menunjukkan hasil akhir dari perhitungan menggunakan algoritma Bidirectional
Associative Memory (BAM) dan algoritma Viterbi tersebut apakah nilai suara yang
diuji termasuk dalam kategori berbohong atau tidak.
Pada unjuk kerja algoritma ini, sistem masih ditemukan kelemahan, yakni sistem tidak
dapat mendeteksi ulang apabila suara pelatihan yang telah disimpan kemudian ditimpa
dengan suara pelatihan yang berbeda lainnya. Berdasarkan hasil true detection yang
telah dicapai, maka skema sistem yang diajukan telah mampu melakukan
pendeteksian kebohongan pada suara dengan menggunakan komputasi yang efisien.
Pada metode Bidirectional Associative Memory (BAM) pencarian nilai bobot
dilakukan dengan cara mengubah matriks biner ke dalam matriks bipolar, yang
selanjutnya akan dilakukan pencarian bobot.
Contoh pencarian bobot pada algoritma Bidirectional Associative Memory (BAM)
yang diambil dari sembarang vektor fitur.
𝑥1= (1,0,0,1) 𝑦1=(0,1,1)
𝑥2= (0,1,1,0) 𝑦2=(1,0,1)
Maka untuk pencarian bobot dilakukan dengan menggunakan rumus w = ∑𝑖=1 𝑥𝑖𝑦𝑖
1 1
−1 −1
W= [ ] [−1 1 1] + [ ] [−1 1 1]
−1 −1
1 1
1 1 1 −1 1 1
1 −1 −1 1 −1 −1
W= [ ]+[ ]
1 −1 −1 1 −1 −1
−1 1 1 −1 1 1
−2 2 0
−2 2 2 −2
2 −2 0
W= [ ] dan WT = [ 2 −2 −2 2 ]
2 −2 0
0 0 0 0
−2 2 0
Gambar 4.28 Pencarian ciri vektor sampling suara menggunakan algoritma BAM
𝑛−1
f(x) = 0,2,0,0
Penyelesaian :
𝜑(0) = (00-1 . 0) + (00-1 . 1) + (00-1 . 2) + (00-1 . 3)
𝜑(0) =0+2+0+0=2
𝜑(1) = (01-1 . 0) + (01-1 . 1) + (01-1 . 2) + (01-1 . 3)
𝜑(1) =0+2+0+0=2
𝜑(2) = (02-1 . 0) + (02-1 . 1) + (02-1 . 2) + (02-1 . 3)
𝜑(2) =0+2+0+0=2
𝜑(3) = (03-1 . 0) + (03-1 . 1) + (03-1 . 2) + (03-1 . 3)
𝜑(3) =0+2+0+0=2
Energi Mellin Persegmen
𝜑(0) + 𝜑(1) + 𝜑(2) + 𝜑(3)
𝜑 =
𝑁2
𝜑(2) + 𝜑(2) + 𝜑(2) + 𝜑(2) 8
𝜑 = 2
= = 0,5
4 16
N =4
f(x) = 2,0,0,1
Penyelesaian :
𝜑(0) = (00-1 . 0) + (00-1 . 1) + (00-1 . 2) + (00-1 . 3)
𝜑(0) = 0 + 0 + 0 + 0,33 = 0,33
𝜑(1) = (01-1 . 0) + (01-1 . 1) + (01-1 . 2) + (01-1 . 3)
𝜑(1) =2+0+0+1=3
𝜑(2) = (02-1 . 0) + (02-1 . 1) + (02-1 . 2) + (02-1 . 3)
𝜑(2) =0+0+0+3=3
𝜑(3) = (03-1 . 0) + (03-1 . 1) + (03-1 . 2) + (03-1 . 3)
𝜑(3) =0+0+0+9=9
Energi Mellin Persegmen
𝜑(0) + 𝜑(1) + 𝜑(2) + 𝜑(3)
𝜑 =
𝑁2
𝜑(0,33) + 𝜑(3) + 𝜑(3) + 𝜑(9) 15,33
𝜑 = = = 0,9
42 16
Gambar 4.29 Pencarian ciri vektor sampling suara menggunakan algoritma Viterbi
Dapat disimpulkan bahwa algoritma Viterbi mampu menunjukkan hasil yang lebih
optimal dalam mendeteksi kebohongan dibandingkan algoritma BAM. Jika pada
algoritma Bidirectional Associative Memory (BAM) menggunakan pencarian nilai
bobot yang dilakukan dengan cara mengubah matriks biner ke dalam matriks bipolar,
maka pada algoritma Viterbi menggunakan Transformasi Mellin dalam menentukan
nilai sinyal suara. Dengan mengunnakan algoritma BAM, semakin banyak sampel
suara yang dilatih maka beberapa hasil yang diuji menjadi tidak akurat. Hal tersebut
merupakan keterbatasan Jaringan Syaraf Tiruan BAM yang disebabkan karena input
yang diberikan sebagai pelatihan memiliki banyak kesamaan, sehingga Jaringan
54
Syaraf Tiruan (JST) Bidirectional Associative Memory (BAM) menjadi tidak stabil.
Namun kedua algoritma ini dapat dilakukan dalam penelitian untuk mendeteksi
kebohongan melalui suara.
55
BAB 5
4.2 Kesimpulan
Hasil penelitian menunjukkan bahwa sistem pendeteksian kebohongan menggunakan
algoritma Bidirectional Associative Memory(BAM) memiliki kisaran true detection
sebesar 67% pada kata pergi, 72% pada kata jalan dan 69% pada kata pindah.
Sedangkan dengan menggunakan algoritma Viterbi memiliki kisaran true detection
sebesar 92 % pada kata pergi, 90% pada kata jalan dan 88% pada kata pindah.
Berdasarkan pengujian yang telah dilakukan pada bab sebelumnya, maka dapat
disimpulkan bahwa hasil unjuk kerja sistem detection rate sangat dipengaruhi oleh
jumlah pelatihan suara bohong.
4.3 Saran
Adapun saran yang dapat diberikan dalam penelitian ini adalah sebagai berikut.
DAFTAR PUSTAKA
Ahsan, A. & Nagdeve, T.U. 2014. Crime Detection using Voice Behavior on the
Basis of Collected Evidence. International Journal of Engineering and
Advanced Technology (IJEAT) ISSN: 2249 – 8958, Volume-4 Issue 1,
October 2014. PP : 137-141.
Anusya, M.A. & Katti, S.K. 2010. Mel Frequency Discrete Wavelet Coefficient for
Kannada Speech Recognition using PCA. Proceeding of International
Conference on Advances in Computer Science (ACEEE). PP : 225-227.
Bhardwaj, S., Pathania, S. & Akela, R. 2015. Speech Recognition using Hidden
Markov Model and Viterbi Algorithm. International Journal of Advanced
Research in Electronics and Communication Engineering (IJARECE) Volume
4, Issue 5, May 2015. ISSN: 2278 – 909X. PP : 1179-1183.
Bhaskoro, B., Susetyo., Ariani, I. & Alamsyah, A.A. 2014. Transformasi Pitch Suara
Manusia Menggunakan Metode PSOLA. Jurnal ELKOMIKA Institut Teknologi
Nasional Bandung Vol.2 (2).
Bustami. Fadlisyah. & Delemunte, N. 2015. Lie Detection System with Voice Using
Bidirectional Associative Memory Algorithm. IJCAT – International Journal of
Computing and Technology, Volume 2, Issue 8, August 2015. ISSN : 2348 –
6090. PP : 301-306.
DePaulo, B. M., Lindsay, J. J., Malone, B. E., Muhlenbruck, L., Charlton, K., & Cooper,
H. (2003). Cues to deception. Psychological Bulletin, 129(1). PP : 74–118.
58
Erokyar, H. 2014. Age And Gender Recognition For Apeech Applications Based On
Support Vector Machine. Thesis Master of science in electrical engineering,
universitas of south florida.
Fadlisyah. 2013. Pengolahan Suara. Edisi Pertama. Yogyakarta. Penerbit Graha Ilmu.
Innovations in Information, Embedded and Communication Systems (ICIIECS),
PP : 1-5.
Irfani, A., Amelia, R. & Saptanti, D. 2006. Algoritma Viterbi dalam Metode Hidden
Markov Models pada Teknologi Speech Recognition. Departemen Teknik
Informatika, Institut Teknologi Bandung. PP : 1-5.
Madan., Akansha. & Gupta, D. 2014. Speech Feature Extraction and Classification :
A Comparative Review. International Journal Of Computer Application Vol.90
(9). PP : 20-25.
Maharantau, R.D. Suyanto. & Wibowo, T.A. 2010. Implementasi Sistem Pengenalan
Suara pada Aplikasi Asisten Pribadi Komputer dengan Berbasis Hidden
Markov Model dan Viterbi Search. Tugas Akhir Teknik Informatika,
Universitas Telkom.
Newman, L.M., Pennebaker, W.J., Berry, S.D. & Richards, M.J. 2003. Lying Words:
Predicting Deception From Linguistic Styles. PSPB, Vol. 29 No. 5, May 2003.
PP : 665-675.
Prasetya, W., Binyamin., Susanto,B. & Purwadi, J. 2008. Identifikasi Suara Pria dan
Wanita Berdasarkan Frekuensi Suara. Jurnal Informatika, Vol 4 (1).
Rao, V.B. 1995. C++ Neural Networks and Fuzzy Logic: Preface. MTBooks, IDG
Books Worldwide, Inc.
Rosnita, Lidya. 2016. Unjuk Kerja Algoritma BAM dan Algoritma FAM Untuk Sistem
Pendeteksian Pola Tajwid Pada Citra Al-Qur’an. Tesis, Fakultas Ilmu
Komputer dan Teknologi Informasi: Universitas Sumatera Utara.
Setiyoaji,A., Muflikhah, L., Ali, M.F. 2017. Named Entity Recognition Menggunakan
Hidden Markov Model dan Algoritma Viterbi pada Teks Tanaman Obat. Jurnal
Pengembangan Teknologi Informasi dan Ilmu Komputer. Vol. 1, No. 12,
Desember 2017, hlm. 1858-1864. e-ISSN: 2548-964X. PP : 1858-1864.
Syaifuddin, A. & Suryono. 2014. Fast Fourier Transform (FFT) Untuk Analisis
Sinyal Suara Doopler Ultrasonik. Youngster Physics Journal Vol.3 (3). PP :
181-188.
Tavanaei, A., Manzuri, M.T. & Sameti, H. 2011. Mel-Scaled Discrete Wavelet
Transform and Dynamic Features for the Persian Phoneme Recognition.
Internasional Symposium on Artifical Intelligance and Signal Processing (AISP)
(2). PP : 138-140.
60
LAMPIRAN
Listing Program
label1.Caption:='....';
buffer_fx:=0;
for i:=-1 to 1 do
begin
x1[i]:=0;y1[i]:=0;
x2[i]:=0;y2[i]:=0;
end;
for init_fx:=-100000 to 100000 do probabi[init_fx]:=0;
end;
end;
61
end;
end;
end;
rewrite(fsinyal);
for i:=1 to 3 do
for j:=1 to 3 do
writeln(fsinyal, floattoStr(w[i,j]));
closefile(fsinyal);
end;
begin
vek1.Click;
vek2.click;
BAM1.Click;
BAM_1:=0;
BAM_2:=BAM_1;
for i:=1 to 3 do
for j:=1 to 3 do begin
readln (fsinyal, memorizing);
w_ciri1[i,j]:=strtofloat(memorizing);
end;
end;
closefile(fsinyal);
//loading bobot ciri 2
namafile := 'bobot_2.txt';
assignfile(fsinyal,namafile);
reset(fsinyal);
while not Eof(fsinyal) do
begin
for i:=1 to 3 do
for j:=1 to 3 do
begin
readln (fsinyal, memorizing);
w_ciri2[i,j]:=strtofloat(memorizing);
end;
end;
63
closefile(fsinyal);
for i:=1 to 3 do
for j:=1 to 3 do
begin
readln (fsinyal, memorizing);
w_ciri3[i,j]:=strtofloat(memorizing);
end;
end;
closefile(fsinyal);
for i:=1 to 3 do
for j:=1 to 3 do
begin
readln (fsinyal, memorizing);
w_ciri4[i,j]:=strtofloat(memorizing);
end;
end;
closefile(fsinyal);
for i:=1 to 3 do
for j:=1 to 3 do
begin
readln (fsinyal, memorizing);
w_ciri5[i,j]:=strtofloat(memorizing);
end;
end;
closefile(fsinyal);
for i:=1 to 3 do
for j:=1 to 3 do
begin
readln (fsinyal, memorizing);
w_ciri6[i,j]:=strtofloat(memorizing);
end;
end;
closefile(fsinyal);
//cacah uji banding antara vektor bobot BAM input dgn BAM referensi
for i:=1 to 3 do
for j:=1 to 3 do
begin
//uji WALK
if abs(abs(w_ciri1[i,j])-abs(w[i,j]))<abs(abs(w_ciri2[i,j])-
abs(w[i,j])) then
if abs(abs(w_ciri1[i,j])-abs(w[i,j]))<abs(abs(w_ciri4[i,j])-
abs(w[i,j])) then
if abs(abs(w_ciri1[i,j])-abs(w[i,j]))<abs(abs(w_ciri6[i,j])-
abs(w[i,j])) then inc(BAM_1,1);
//uji MOVING
if abs(abs(w_ciri3[i,j])-abs(w[i,j]))<abs(abs(w_ciri2[i,j])-
abs(w[i,j])) then
if abs(abs(w_ciri3[i,j])-abs(w[i,j]))<abs(abs(w_ciri4[i,j])-
abs(w[i,j])) then
if abs(abs(w_ciri3[i,j])-abs(w[i,j]))<abs(abs(w_ciri6[i,j])-
abs(w[i,j])) then inc(BAM_1,1);
//uji GO
if abs(abs(w_ciri5[i,j])-abs(w[i,j]))<abs(abs(w_ciri2[i,j])-
abs(w[i,j])) then
if abs(abs(w_ciri5[i,j])-abs(w[i,j]))<abs(abs(w_ciri4[i,j])-
abs(w[i,j])) then
if abs(abs(w_ciri5[i,j])-abs(w[i,j]))<abs(abs(w_ciri6[i,j])-
abs(w[i,j])) then inc(BAM_1,1);
end;
//caption
label7.Caption:=floattostr(BAM_1);
label8.Caption:=floattostr(BAM_2);
end;
end;
65
begin
H:=0.0;
ca_probabi:=buffer_fx*buffo;
//vektor probabilitas
for init_fx:=-100000 to 100000 do
sigma_p[init_fx]:=probabi[init_fx]/ca_probabi;
end;
//vektor probabilitas
for init_fx:=-100000 to 100000 do
sigma_p[init_fx]:=probabi[init_fx]/ca_probabi;
label2.Caption:=inttostr(buffer_fx);
label3.Caption:=inttostr(buffo);
label4.Caption:=inttostr(ca_probabi);
label5.Caption:=floattostr(H);
vektor_x1:=H;
x1[-1]:=vektor_x1;x1[1]:=0;y1[-1]:=0;y1[1]:=1;
end;
end;
namafile := 'spektrum.txt';
assignfile(fsinyal,namafile);
rewrite(fsinyal);
x_real[init_fx,u]:=x_real[init_fx,u]+(tampung[init_fx,init_buffo]*(co
s(2*3.14*u*init_buffo/buffo)));
x_imajiner[init_fx,u]:=x_imajiner[init_fx,u]+-
(tampung[init_fx,init_buffo]*(sin(2*3.14*u*init_buffo/buffo)));
x_spektrum[init_fx,u]:=sqrt(sqr(x_real[init_fx,u])+sqr(x_imajiner[ini
t_fx,u]));
writeln(fsinyal, floattoStr(x_spektrum[init_fx,u])+' ');
x_en_spek:=x_en_spek+ x_spektrum[init_fx,u];
end; //end for u:=0 to buffo do
closefile(fsinyal);
Memo2.Lines.LoadFromFile(namafile);
x_en_spek:=x_en_spek/(buffer_fx*buffo);
label6.Caption:=floattostr(x_en_spek);
vektor_x2:=x_en_spek;
x2[-1]:=vektor_x2;x2[1]:=1; y2[-1]:=1;y2[1]:=0;
end;
//bipolar -1 dan +1
for i:=-1 to 1 do
begin
if x1[i]<=0 then x1[i]:=-1 else x1[i]:=+1;
if y1[i]<=0 then y1[i]:=-1 else y1[i]:=+1;
if x2[i]<=0 then x2[i]:=-1 else x2[i]:=+1;
if y2[i]<=0 then y2[i]:=-1 else y2[i]:=+1;
end;
//akhir bipolar
for i:=1 to 3 do
for j:=1 to 3 do w[i,j]:=0;
67
//hitung bobot
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
w[i,j]:=w[i,j]+x1[i-2]*y1[j-2]+x2[i-2]*y2[j-2];
write(fsinyal, floattoStr(w[i,j])+' ');
end;
writeln(fsinyal,' ');
end;
closefile(fsinyal);
//aktivasi
//simpan peta AKTIVASI
namafile := 'aktivasi.txt';
assignfile(fsinyal,namafile);
rewrite(fsinyal);
end;
end.
inc(M,1);
end;
end;
//RUBAH DOMAIN KE DOMAIN BARU DAN HITUNG ENERGI NYA SECARA MELLIN
cacahmellin:=N;
tampungmellin:=0;
end;
label5.caption:=floattostr(tampungmellin); //tampilkan
tampungmellin
end;
end;
namafile := 'prob_1.txt';
69
assignfile(fsinyal,namafile);
rewrite(fsinyal);
writeln(fsinyal, floattoStr(probHMMstart));
writeln(fsinyal, floattoStr(probHMMemisi));
closefile(fsinyal);
end;
HMM1.Click;
namafile := 'prob_6.txt';
assignfile(fsinyal,namafile);
rewrite(fsinyal);
writeln(fsinyal, floattoStr(probHMMstart));
writeln(fsinyal, floattoStr(probHMMemisi));
closefile(fsinyal);
end;
//loading ciri 2
namafile := 'prob_2.txt';
assignfile(fsinyal,namafile);
reset(fsinyal);
readln (fsinyal, bobot1);
readln (fsinyal, bobot2);
closefile(fsinyal);
probHMMstart2:=strtofloat(bobot1);
probHMMemisi2:=strtofloat(bobot2);
label11.caption:=floattostr(probHMMstart2);
label12.caption:=floattostr(probHMMemisi2);
//akhir
//loading ciri 3
namafile := 'prob_3.txt';
assignfile(fsinyal,namafile);
71
reset(fsinyal);
readln (fsinyal, bobot1);
readln (fsinyal, bobot2);
closefile(fsinyal);
probHMMstart3:=strtofloat(bobot1);
probHMMemisi3:=strtofloat(bobot2);
label13.caption:=floattostr(probHMMstart3);
label14.caption:=floattostr(probHMMemisi3);
//akhir
//loading ciri 4
namafile := 'prob_4.txt';
assignfile(fsinyal,namafile);
reset(fsinyal);
readln (fsinyal, bobot1);
readln (fsinyal, bobot2);
closefile(fsinyal);
probHMMstart4:=strtofloat(bobot1);
probHMMemisi4:=strtofloat(bobot2);
label13.caption:=floattostr(probHMMstart4);
label14.caption:=floattostr(probHMMemisi4);
//akhir
//loading ciri 5
namafile := 'prob_5.txt';
assignfile(fsinyal,namafile);
reset(fsinyal);
readln (fsinyal, bobot1);
readln (fsinyal, bobot2);
closefile(fsinyal);
probHMMstart5:=strtofloat(bobot1);
probHMMemisi5:=strtofloat(bobot2);
label13.caption:=floattostr(probHMMstart5);
label14.caption:=floattostr(probHMMemisi5);
//akhir
//loading ciri 6
namafile := 'prob_6.txt';
assignfile(fsinyal,namafile);
reset(fsinyal);
readln (fsinyal, bobot1);
readln (fsinyal, bobot2);
closefile(fsinyal);
probHMMstart6:=strtofloat(bobot1);
probHMMemisi6:=strtofloat(bobot2);
label13.caption:=floattostr(probHMMstart6);
label14.caption:=floattostr(probHMMemisi6);
//akhir
if probHMMstart2>=probHMMstart then
ujisimpul2:=probHMMstart/probHMMstart2;
72
if probHMMstart2<probHMMstart then
ujisimpul2:=probHMMstart2/probHMMstart;
if probHMMstart3>=probHMMstart then
ujisimpul3:=probHMMstart/probHMMstart3;
if probHMMstart3<probHMMstart then
ujisimpul3:=probHMMstart3/probHMMstart;
if probHMMstart4>=probHMMstart then
ujisimpul4:=probHMMstart/probHMMstart4;
if probHMMstart4<probHMMstart then
ujisimpul4:=probHMMstart4/probHMMstart;
if probHMMstart5>=probHMMstart then
ujisimpul5:=probHMMstart/probHMMstart5;
if probHMMstart5<probHMMstart then
ujisimpul5:=probHMMstart5/probHMMstart;
if probHMMstart6>=probHMMstart then
ujisimpul6:=probHMMstart/probHMMstart6;
if probHMMstart6<probHMMstart then
ujisimpul6:=probHMMstart6/probHMMstart;
//uji simpul
//cekemisi1:= 0;
//cekemisi2:= 0;
//cekemisi3:= 0;
if ujisimpul1>=ujisimpul2 then
if ujisimpul1>=ujisimpul3 then
if ujisimpul1>=ujisimpul4 then
if ujisimpul1>=ujisimpul5 then
if ujisimpul1>=ujisimpul6 then label10.Caption:='+BOHONG';
//transisikan
if ujisimpul2>=ujisimpul1 then
if ujisimpul2>=ujisimpul3 then
if ujisimpul2>=ujisimpul4 then
if ujisimpul2>=ujisimpul5 then
if ujisimpul2>=ujisimpul6 then label10.Caption:='-BOHONG';
if ujisimpul3>=ujisimpul1 then
if ujisimpul3>=ujisimpul2 then
if ujisimpul3>=ujisimpul4 then
if ujisimpul3>=ujisimpul5 then
if ujisimpul3>=ujisimpul6 then label10.Caption:='+BOHONG';
if ujisimpul4>=ujisimpul1 then
if ujisimpul4>=ujisimpul3 then
if ujisimpul4>=ujisimpul4 then
if ujisimpul4>=ujisimpul5 then
if ujisimpul4>=ujisimpul6 then label10.Caption:='-BOHONG';
if ujisimpul5>=ujisimpul1 then
if ujisimpul5>=ujisimpul2 then
if ujisimpul5>=ujisimpul4 then
if ujisimpul5>=ujisimpul3 then
if ujisimpul5>=ujisimpul6 then label10.Caption:='+BOHONG';
73
if ujisimpul6>=ujisimpul1 then
if ujisimpul6>=ujisimpul2 then
if ujisimpul6>=ujisimpul4 then
if ujisimpul6>=ujisimpul3 then
if ujisimpul6>=ujisimpul5 then label10.Caption:='-BOHONG';
end;
end.