pengenalan  pembicaraan,  aplikasi  akan menerima  event  pada  saat  suara  yang diterima  telah  dikenali  oleh  engine.  Arsitektur  SAPI  sendiri  dapat  kita  lihat
pada  blog  diagram  seperti  yang  terlihat  pada  gambar  2.1  Supriyono,  B., 2004.
Gambar 2.1 Blok Diagram Arsitektur SAPI
Dalam  API  terdapat  fungsi-fungsi  perintah-perintah  untuk  menggantikan  bahasa yang digunakan dalam  system calls  dengan bahasa  yang lebih terstruktur dan mudah
dimengerti oleh  programmer.  Fungsi  yang dibuat dengan menggunakan API tersebut kemudian  akan  memanggil  system  calls  sesuai  dengan  sistem  operasinya  Sianturi,
A.H., 2014.
b. Device Driver Interface DDI
DDI  menyediakan  fungsi  untuk  menerima  data  suara  dari  SAPI  dan mengembalikan pengenalan frasa pada level SAPI paling dasar. Terdapat dua
antar  muka  yang  digunakan  oleh  DDI  yaitu  ISpSREngine,  yang diimplementasikan oleh engine dan ISpSREngineSite yang diimplementasikan
oleh SAPI Nurcahyono, D., Kristalina, P.  Huda, M., 2011.
2.5 Transformasi Fourier
Transformasi  Fourier  merupakan  suatu  persamaan  integral  untuk  menghitung frekuensi,  amplitudo  dan  fase  dari  suatu  gelombang  sinyal  Stefanus,  Hamz,  M.
Universitas Sumatera Utara
Angzas,  Y.,  2005.  Sementara  untuk  menghitung  spektrum  frekuensi  sinyal  pada komputer digital, kita membutuhkan algoritma Discrete Fourier Transform DFT.
2.5.1 Discrete Fourier Transform DFT DFT  adalah  suatu  persamaan  integral  alat  yang  digunakan  untuk  menganalisa  suatu
frekuensi  diskrit  Stefanus,  Hamz,  M.    Angzas,  Y.,  2005.  DFT  mengubah  sinyal domain  waktu,  menjadi  sinyal  domain  frekuensi.  DFT  dapat  diterjemahkan  dalam
rumus : Fk∆f ≡ ∑
for k = 0, 1, 2, ….., N – 1 1
N = jumlah sampel yang diambil T = total waktu sampling
∆t = pertambahan waktu antar sampel
= frekuensi sampel =
2.5.2 Fast Fourier Transform FFT Fast  Fourier  Transform  merupakan  DFT  dengan  algoritma  yang  lebih  optimal,
sehingga  menghasilkan  perhitungan  yang  lebih  cepat.  Dengan  DFT,  memerlukan waktu  On2  untuk  mengolah  sampel  data  sebanyak  n  buah.  Hal  ini  tentunya  akan
memakan waktu lama bila sampel data makin banyak Stefanus, Hamz, M.  Angzas, Y., 2005.
Metode FFT dapat dilakukan dalam domain waktu dan frekuensi, yang disebut sebagai desimasi
– dalam – waktu decimation-in-time dan desimasi-dalam-frekuensi decimation-in-frequency  Gunawan,  D.,  Juwono,  F.H.,  2012.  Pada  prinsipnya
algoritma  ini  adalah  memecah  N-titik  menjadi  dua  N2 – titik, kemudian memecah
tiap N2 – titik menjadi dua N4 – titik, begitu seterusnya sampai hanya terdapat 1
titik.  Prinsip tersebut  dapat  kita lihat  lebih  jelas  pada  gambar  2.2  berikut  Gunawan, D., Juwono, F.H., 2012.
Universitas Sumatera Utara
Gambar 2.2 Desimasi untuk 16 titik
Sedangkan untuk konsep FFT sendiri secara keseluruhan dapat kita lihat pada gambar 2.3 berikut Gunawan, D., Juwono, F.H., 2012.
Gambar 2.3 Konsep FFT
Dikarenakan  FFT  masih  bagian  dari  perhitungan  DFT,  maka  akan  lebih  baik menghitung  FFT dengan mempertimbangkan nilai N DFT terlebih dahulu Yang, T.,
2012.
Universitas Sumatera Utara
Xk = ∑
k = 0, 1, 2…N-1 2
Pisahkan  xn  menjadi  dua  bagian  :  xganjil  dan  x  genap  =  x2m,  dimana m=0, 1,2,…,N2-1. Lalu nilai N DFT juga dibagi dua bagian untuk tiap nilai N2 :
Xk  = ∑
= ∑
+ ∑
= ∑
+ ∑
3 Dimana m = 0, 1, 2,…., N2-1
Karena : = cos
+ j sin 4
= cos[ ] + j. sin[
= -cos – j.sin
= -[cos + j.sin
] = -
5 Maka :
= - 6
Jadi  ketika  faktor  diubah  dengan  setengah  periode,  nilai  dari  faktor  tersebut tidak akan berubah, tetapi tanda  nilai faktor tersebut akan menjadi sebaliknya. Hal ini
merupakan  sifat  simetri  dari  faktor.  Karena  factor  bisa  juga  ditulis  sebagai =
, maka : = -
7 Dan
2
= - =
8 Maka nilai N DFT akhirnya menjadi :
Universitas Sumatera Utara
Xk = ∑
∑ 9
k = 0,1….N2 Xk + N2 =
- 10
k = 0, 1, 2…..N2 Jadi  nilai  N  DFT  dipisah  menjadi  dua  nilai  N2  DFT.  Dari  persamaan  9,
k memiliki N2  N2 = N2
2
. memiliki N2 + N2
2
. Maka  jumlah  total  dari  perhitungan  untuk  Xk  adalah  2N2
2
+ N2=N
2
2+N2.  Untuk  nilai  awal  N  DFT,  dimulai  dari  N
2
.  Maka  pada  langkah pertama,  pisahkan  xn  menjadi  dua  bagian  yang  membuat  perhitungan  dari  N
2
menjadi N
2
2+N2. Jumlah angka perkalian dikurangi setengah secara berkala. Berikut  adalah  proses  pengurangan  perkalian  dari  nilai  N  menjadi  N2.
Lanjutkan pemisahan m dan
m menjadi bagian ganjil dan genap dengan cara yang  sama,  perhitungan  untuk  N2  akan  dikurangi  menjadi  N4.  Kemudian
perhitungan DFT akan berkurang secara terus – menerus. Jadi jika sinyal untuk nilai N
DFT  terpisah  terus –  menerus  sampai  sinyal  akhir  menjadi  satu titik.  Misalkan  ada
N=2
v
DFT yang perlu dihitung. Maka jumlah pemisahan yang dapat dilakukan adalah v =
N. maka jumlah total perkalian akan dikurangi hingga N2 N. untuk
tambahan  perhitungan,  angka  yang  akan  dikurangi  mencapai  N N.  Karena
perkalian  dan  penambahan  dikurangi,  maka  kecepatan  perhitungan  komputasi  DFT dapat  ditingkatkan.  Tujuan  utama  untuk  Radix  -2  FFT  adalah  memisahkan  deretan
data  menjadi  ganjil  dan  genap  secara  terus –  menerus  sampai  mendekati  setengah
perhitungan.
2.6 Penelitian Terdahulu