BAB 2
LANDASAN  TEORI
2.1 Sinyal Analog dan Sinyal Digital
Secara
umum,
sinyal didefinisikan sebagai suatu besaran
fisis
yang
merupakan
fungsi  waktu, 
ruangan  atau  beberapa 
variabel.  Menurut  Stoneytiti,
sinyal  adalah
kuantitas terukur yang     rentang    
waktuny
atau    
spasial yang    
bervariasi. Sebuah
sinyal dapat dinyatakan sebagai fungsi dari waktu dan frekuensi.
Sinyal analog bekerja dengan
mentransmisikan suara dan gambar dalam bentuk
gelombang
kontinu
(continous
varying).
Dua
parameter/karakteristik terpenting
yang
dimiliki
oleh
isyarat analog adalah amplitudo dan
frekuensi.  Isyarat analog biasanya
dinyatakan  dengan  gelombang  sinus,  mengingat  gelombang  sinus  merupakan  dasar
untuk semua bentuk
isyarat analog.  Hal
ini
didasarkan
kenyataan bahwa berdasarkan
analisis fourier, suatu sinyal analog dapat diperoleh dari perpaduan sejumlah gelombang
sinus.
Dengan
menggunakan sinyal
analog,
maka
jangkauan
transmisi
data
dapat
mencapai
jarak
yang jauh, tetapi
sinyal
ini
mudah terpengaruh oleh noise.
Gelombang
pada
sinyal analog yang umumnya berbentuk
gelombang
sinus
memiliki
tiga
variabel
dasar, yaitu amplitudo, frekuensi dan phasa.
o
Amplitudo merupakan ukuran tinggi rendahnya tegangan dari sinyal analog.
o
Frekuensi adalah jumlah gelombang sinyal analog dalam satuan detik.
o
Phasa adalah besar sudut dari sinyal analog pada saat tertentu.
Salah satu contoh sinyal analog yang paling mudah adalah suara.
  
8
Sinyal
digital merupakan
hasil teknologi
yang
dapat
mengubah signal
menjadi
kombinasi urutan
bilangan
0
dan
1
(juga
dengan
biner),
sehingga tidak
mudah
terpengaruh oleh
derau,
proses
informasinya
pun
mudah,
cepat
dan
akurat,
tetapi
transmisi
dengan
sinyal
digital
hanya
mencapai
jarak jangkau
pengiriman data
yang
relatif
dekat.
Biasanya sinyal
ini
juga
dikenal
dengan
sinyal
diskret.
Sinyal
yang
mempunyai dua keadaan ini biasa disebut dengan bit. Bit
merupakan istilah khas pada
sinyal digital. Sebuah bit dapat berupa nol (0) atau satu (1). Kemungkinan nilai
untuk
sebuah bit adalah 2 buah (21
). Kemungkinan nilai
untuk 2 bit adalah sebanyak 4 (2²
),
berupa 00, 01, 10, dan 11. Secara umum, jumlah kemungkinan nilai yang terbentuk oleh
kombinasi n bit adalah sebesar 2
n
buah.
Sistem
digital
merupakan bentuk
sampling
dari
sitem
analog.
digital
pada
dasarnya di kodekan dalam bentuk biner atau Hexa. besarnya nilai
suatu sistem digital
dibatasi oleh lebarnya / jumlah bit
(bandwidth).
jumlah bit juga sangat mempengaruhi
nilai akurasi sistem digital.
Sinyal
digital
ini
memiliki
berbagai
keistimewaan yang
unik
yang
tidak dapat
ditemukan pada teknologi analog yaitu :
o
Mampu mengirimkan informasi dengan kecepatan cahaya yang dapat membuat
informasi dapat dikirim dengan kecepatan tinggi.
o
Penggunaan
yang  berulang  –  ulang  terhadap  informasi  tidak  mempengaruhi
kualitas dan kuantitas informsi itu sendiri.
o
Informasi
dapat
dengan
mudah
diproses
dan
dimodifikasi
ke
dalam berbagai
bentuk.
  
9
o
Dapat
memproses
informasi dalam jumlah
yang sangat besar dan mengirimnya
secara interaktif.
Pengolahan 
sinyal   digital   memerlukan 
komponen-komponen 
digital,   register,
counter, decoder, mikroprosessor,
mikrokontroler dan
sebagainya. Saat
ini
pengolahan
sinyal banyak dilakukan secara digital, karena kelebihannya antara lain :
1.   untuk
menyimpan
hasil
pengolahan,
sinyal digital
lebih
mudah dibandingkan
sinyal analog. Untuk menyimpan sinyal digital dapat menggunakan media digital
seperti
CD, DVD,
Flash
Disk, Hardisk.
Sedangkan media
penyimpanan
sinyal
analog adalah pita tape magnetik.
2.   lebih kebal terhadap noise karena bekerja pada level ’0' dan ’1'.
3.   lebih kebal terhadap perubahan temperatur.
4.   lebih mudah pemrosesannya.
Gambar 2.1 Bentuk Sinyal Analog dan Sinyal Digital
Mengacu pada pendapat Stephen Cook(Cornelius Arianto, 2010),Ada dua faktor
penting  selama  proses  sinyal  analog  diubah  menjadi  sinyal  digital. Pertama  adalah
"sample rate", atau seberapa sering untuk merekam nilai-nilai tegangan. Kedua, adalah
  
10
"bit per
sampel", atau
seberapa
akurat
nilai
dicatat. Item
ketiga adalah jumlah saluran
(mono
atau
stereo), tetapi
untuk
aplikasi yang
paling
ASR(Automatic
Speech
Recognition)
mono
sudah
cukup. Pengembang
harus
bereksperimen dengan nilai
yang
berbeda untuk menentukan apa yang terbaik dengan algoritma mereka.
2.2 Konsep Dasar ADC (Analog to Digital Converter)
Sebuah ADC   (Analog
to
Digital
Converter berfungsi untuk
mengkodekan
tegangan
sinyal
analog
waktu
kontinu
ke
bentuk
sederetan bit
digital
waktu
diskrit
sehingga
sinyal
tersebut
dapat
diolah
oleh
komputer. Proses
konversi
tersebut
dapat
digambarkan sebagai proses 3 langkah
Gambar 2.2 Proses konversi Sinyal Analog ke Sinyal Digital
2.2.1 Sampling (pencuplikan)
Merupakan
konversi
suatu
sinyal
analog
waktu-kontinu, xa(t),
menjadi
sinyal
waktu-diskrit
bernilai
kontinu,
x(n), 
yang  
diperoleh
dengan
mengambil
“cuplikan”
sinyal waktu kontinu pada saat waktu diskrit. Secara matematis dapat ditulis
:
x(n) = xa(nT)
Dimana :
T
=
interval pencuplikan (detik)       
n = bilangan bulat, -8 < n < 8
  
11
2.2.2 Quantizing (kuantisasi)
Merupakan konversi sinyal
waktu-diskrit bernilai-kontinu,
x(n),
menjadi
sinyal
waktu-diskrit bernilai-diskrit, x
q
(n). Nilai setiap waktu kontinu dikuantisasi
atau dinilai
dengan
tegangan
pembanding yang
terdekat.
Selisih
antara
cuplikan
x(n)
dan
sinyal
terkuantisasi xq(n) dinamakan error kuantisasi. Tegangan sinyal input pada skala penuh
dibagi menjadi 2
N
tingkatan. Dimana N merupakan resolusi bit ADC (jumlah kedudukan
tegangan
pembanding
yang
ada).
Untuk
N
=
3
bit,
maka
daerah tegangan
input
pada
skala penuh akan dibagi menjadi : 2
N
=
2³= 8 tingkatan (level tegangan pembanding) .
2.2.3  Coding (pengkodean)
Setiap
level
tegangan
pembanding
diko
an
dekan
ke
dalam
barisan
bit
biner.
Untuk N = 3 bit, maka level tegangan pembanding = 8 tingkatan. Kedelapan tingkatan
tersebut dikodekan sebagai bit-bit 000, 001, 010, 011, 100, 101, 110, dan 111.
2.3 Hidden Markov Model
Prinsip
umum
Hidden Markov
Model
(Sri Mulyana,2008) adalah
memodelkan
simbol kedalam sebuah
mesin
finite state, sehingga
diketahui simbol
apa
yang dapat
mewakili
sebuah
parameter vektor
dari sebuah
kata
dimasukkan kedalam mesin,
dan
diestimasi berulang–ulang hingga dihasilkan parameter vektor atau observasi ot dengan
mean dan kovarian yang konvergen untuk setiap statenya .
  
12
Pada
implementasinya sistem
pengenalan suara berbasis
hidden
markov
model
dibagi menjadi beberapa bagian sebagai berikut :
1. Data preparasi : pembentukan parameter vektor (observasi)
2. Training : inisialisasi dan estimasi parameter vector
3. Testing : pengenalan
2.3.1 Observasi
Pemisahaan kata
menjadi
simbol
yang
dilafalkan (phone)
menghasilkan
rangakaian observasi o untuk setiap kejadian yang mungkin pada saat transisi antar state.
Aggap
suara sebagai sebuah rangkaian vektor suara atau observasi,
yang didefinisikan
sebagai berikut :
O = o1,o2,o3,....,o
T
Dimana ot adalah
vektor suara
yang diobservasi pada saat t. Observasi pada dasarnya
menentukan nilai dari persamaan berikut
Argmax{P(W
i
,O)}
Dimana W
i   
adalah pengucapan yang ke-i, probabilitas ini tidak dapat dihitung secara
langsung tetapi dapat dihitung dengan menggunakan aturan Bayes
?
?
|
?
?
|
?
?
?
?
?
?
?
Maka, prioritas kemungkinan P(W
i
) sangat tergantung pada P(O|W
i
).
Dalam
pengenalan
suara berbasis
hmm,
diasumsikan bahwa
rangkaian
vektor
observasi
berkorespondensi dengan
masing
masing
word
yang dihasilkan oleh
markov
model . Markov model adalah mesin finite state yang mengalami perubahan state sekali
setiap satuan waktu t pada saat state j dimasuki, vektor suara ot dihasilkan berdasarkan
  
13
nilai
kemungkinan
b
j
(o
t
).
Selanjutnya
transisi
antara
state
i
ke
state
j
juga
merupakan
probabilitas
diskrit a
ij
.
Gambar di bawah
menunjukkan
contoh
dari
proses
ini dimana
lima
model state berupa
rangakaian state X
=
1,2,3,4,5,6
untuk membangun urutan o
1
sampai o
6
.
Gambar 2.3 Bentuk State Hidden Markov Model
Untuk  membangun  rangkaian  observasi  O  dengan  jumlah  state  6.  probabilitas
diskrit
untuk transisi
dari state i ke state j ditentukan
oleh a
ij 
sedangkan
b
j
(o
t
)
adalah
probabilitas yang membentuk observasi pada saat t (o
t
) untuk state j
Probabilitas O dibangun oleh model M yang melalui seluruh urutan state X dihitung
sabagai hasil perkalian antara kemungkinan transisi dan kemungkinan hasil. Jadi untuk
rangkaian state X pada gambar 2.3.
P(O,X|M) = a
12
b2(o1
)a
22
b2(o2)a
23
b3(o3
)...
Meskipun
demikian
hanya
rangkaian
observasi
O
yang
diketahui
dan
rangkaian
state X
yang mendasari adalah ters an
an
embunyi. Itu
mengaAnpa ini disebut
hidden
markov model.
?
|
?
?
 
?
?
?
?
?
????
?
?
?
?
??
?
?
?
?
?
?
???
??
?
?
?
  
14
2.3.2 Inisialisasi
Inisialisasi
dapat
dilakukan
dengan
menggunakan
algoritma
viterbi
untuk
menemukan
jalur
terbaik
dalam
sebuah
matrik
dimana
dimensi
vertikal
merepresentasikan
state-state  hmm
dan  dimensi  horisontal  merepresentasikan
frame
suara. Masing masing titik pada gambar dibawah menunjukkan kemungkinan terhadap
frame saat itu dan daerah antar titik menunjukkan kemungkinan transisi.
Gambar 2.4 Alur algoritma viterbi (Ruvinna, 2011)
Untuk
mencari  urutan  state
setiap  observasi  pada 
frame  suara 
diamana  a
35
menunjukkan kemungkinan transisi dari state 3 ke state 5 dan b
3
(o
4
)
adalah probabilitas
pembentukan observasi o
3
pada state 3
Kemungkian masing masing jalur dihitung dengan menjumlah kemungkinan transisi
dan kemungkinan keluaran
sepanjang path. Pada waktu t
masing
masing bagian path
diketahui
untuk semua
state
i.
dapat
dihitung
dengan persamaan
di
bawah
Konsep path ini sangat berguna untuk suara kontinyu pada umumnya.
  
15
2.3.3 Estimasi
Proses
estimasi
dilakukan
dengan
menggunakan
metode
Baum-Welch
Re-
estimation. Formula
Baum-Welch re-estimasi
untuk
mean
dan
kovarian
pada
masing
masing state HMM adalah
dan
Estimasi  dilakukan
terhadap  mean  dan  varian  hmm  yang  mana  distribusi  keluaran
masing masing state adalah komponen gausian, didefinisikan sebagai berikut :
Parameter vektor akan diestimasi dengan
menggunakan algoritma foreward-backward
hingga diperoleh nilai probabilitas P(O|M) terbesar berdasarkan observasi pada masing
masing state. Perhitungan algoritma Baum-Welch dilakukan berdasarkan diagram
alur
berikut :
Gambar 2.5 Diagram Alur Estimasi (Ruvinna, 2011)
  
16
Estimasi dilakukan terhadap parameter vector pada
initial HMM
dengan
menggunakan
metode
forward/backward
hingga
diperoleh
parameter
vektor
yang
konvergen
(tidak
dapt diestimasi lagi). Kriteria update adalah nilai probabiltias observasi terhadap model
P(O|M) lebih tinggi dari nilai iterasi
sebelumnya.
Nilai
kemungkinan
foreward
?
?
??? untuk
beberapa
model
M  dan  N  state
didefinisaikan sebagai
?
?
?
?
?
?
?
?
,…, ?
?
,
?
?
?
?
|
??
kemungkinan ini dapat dihitung berdasarkan rumus :
?
?
?
?
?
?
?
?
?
?
?
?
1
?
??
?
?
?
?
?
?
sedangkan nilai kemungkinan backward ?
?
?
?
?
untuk model M dan N state
didefinisikan sebagai
?
?
?
?
?
?
?
?
?
,… , ?
,
?
?
?
?
|
??
dan dapat dihitung dengan persamaan :
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
1
?
?
berdasarkan persamaan
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
|??
maka didapat persamaan untuk menentukan nilai probabilitas L
j
(t) sebagai berikut :
?
?
?
?
?
?
?
?
?
|
,
?
?
?
,
?
?
?
?
|
?
?
?
|?
?
1
?
?
????
?
???
  
17
dimana P = P(O|M).
  
18
Algoritma untuk membentuk re-estimasi parameter hmm dengan
Baum-Welch re-
estimasi adalah sebagai berikut :
1.   Untuk setiap
vektor parameter/matrik, alokasikan storage untuk pembilang dan
penyebut formula Baum-Welch sebagai acumulator.
2.   Hitung kemungkinan foreward dan backward untuk semua state j pada waktu t.
3.   Untuk setiap state j dan waktu t, gunakan probabiltas Lj(t) dan vektor observasi
saat ini o
t
untuk merubah acumulator pada state itu.
4.   Gunakan nilai acumulator terakhir untuk menghitung nilai parameter yang baru.
Jika nilai P = P(O|M)
iterasi saat ini kurang dari iterasi sebelumnya maka berhenti
jika tidak ulangi langkah diatas dengan menggunakan nilai parameter yang baru.
2.4 A/D dan HMM
Dalam
permasalahan
ini
konversi
Sinyal
Analog
menjadi
Sinyal
Digital
(A/D)
akan
telah
menghasilkan nilai dalam bentuk biner
yang dimana akan digunakan dalam
Hidden  Markov  Model,  dengan  data  yang  telah  didapatkan  akan  diperbandingkan
dengan seluruh kemungkinan yang   ada dan   akan diulang
hingga
mendapatkan hasil
yang maksimal dengan kemungkinan error yang terkecil.
2.5 Data Learning
Setelah dirubah
signalnya
maka saatnya
untuk
membuat
pembelajaran
tentang
apa yang dimasukkan,
menurut  Evandro Gouvêa pada tahun 2008,
sinyal digital
yang
diterima memiliki 8
input
untuk tiap huruf yang diberikan akan divariasikan dengan 3
hidden layer dan hanya menghasilkan satu output,berikut adalah salah satu contohnya:
  
19
Kata : CAT THESE RAT THAT
Memiliki grammar sebagai berikut : <start> K AE T DH IY Z R AE T DH AE T <end>
Setiap state memiliki kemungkinan untuk dituliskan, berikut adalah pemaparan pertama
untuk 3 hidden layer dengan HMM sebagai inisialisasi awal
Setiap state
selalu dihitung state
baru,
sehingga seluruhnya adalah kemungkinan yang
akan
terjadi
dalam
hal
ini
akan
menghasilkan 33
state
karena
setiap
penamaan
state
dianggap
benar
dan
baru
,selanjutnya akan
dilakukan
Reduksi
pertama
dengan
mengambil ulang state yang sudah diulang pada hidden layer pertama dengan 2
variasi
yang berbeda
  
20
Dalam hal
ini,
setiap
state
yang
sudah
diulang
di
reduksi
contoh
AE(K,T)
dengan
AE(R,T) maka layer ketiga akan diubah sesuai dengan nilai di layer ketiga yang pertama
kali,dengan cara
yang sama diulang
ke
seluruh state
sehingga
hanya
menjadi
29
state
saja. Akan dilakukan reduksi tahap ketiga ,
Dalam
tahap  ini  apabila  ada  state  yang  sama  namun  dengan  pemilihan
yang  jauh
berbeda ,
maka nilai yang berbeda pada kemungkinan ketiga akan dibuah sama dengan
state
awal
yang sudah
keluar
dan
di
definisikan
sebelumnya. Dan
dalam
langkah
ini
menghasilkan
27
state
yang
dimana
semakian
sedikit
dan
setelah
itu
akan
masuk
ke
tahap  proses  estimasi  dengan 
state  yang  sudah  di 
reduksi  dimana  kemungkinan
terbaiklah yang akan terpilih dan ditampilkan.
2.6 WWW(World Wide Web)
Menurut
Berners-Lee(1991),Definisi WWW ( World
Wide
Web )
adalah suatu
ruang informasi yang yang dipakai oleh pengenal global yang disebut Uniform Resource
Identifier (URI)       untuk       mengidentifikasi     
sumber-sumber      
daya        yang
  
21
berguna. WWW sering
dianggap sama
dengan
Internet secara
keseluruhan,
walaupun
sebenarnya ia hanyalah bagian daripadanya.
Fungsi
WWW adalah
menyediakan data
dan
informasi
untuk
dapat digunakan
bersama. WWW atau World Wide Web adalah suatu program yang ditemukan oleh Tim
Berners-Lee pada tahun 1991. Awalnya Berners-Lee hanya ingin menemukan cara untuk
menyusun
arsip-arsip
risetnya.
Untuk
itu,
dia
mengembangkan suatu
sistem
untuk
keperluan pribadi.
Sistem
itu
adalah program peranti
lunak
yang diberi
nama
Equire.
Dengan program itu,
Berners-Lee berhasil menciptakan jaringan terkait antara berbagai
arsip sehingga memudahkan informasi yang dibutuhkan. Inilah yang kemudian menjadi
dasar dari sebuah revolusi yang dikenal sebagai web.
WWW dikembangkan
pertama  kali  di  Pusat  Penelitian  Fisika  Partikel  Eropa
(CERN), Jenewa, Swiss. Pada tahun 1989
Berners-lee membuat proposal untuk proyek
pembuatan
hypertext secara
global, kemudian pada
bulan Oktober 1990, ‘World
Wide
Web sudah
bisa
dijalankan dalam
lingkungan CERN.
Pada
musim
panas
tahun 1991,
WWW resmi digunakan secara luas pada jaringan Internet.
2.7 JSP (Java Server Page)
JSP
merupakan perluasan
dari
spesifikasi
Java
Servlet,
yang
dalam
web
programming yang bersifat server side seperti halnya PHP dan ASP. JSP dapat berupa
gabungan
antara
baris
HTML
dan
fungsi-fungsi
dari JSP
itu
sendiri. Berbeda dengan
Servlet yang harus dikompilasi oleh USER
menjadi class sebelum dijalankan, JSP tidak
perlu dikompilasi oleh USER tapi SERVER yang akan melakukan tugas tersebut. Pada
saat
user
membuat
pertama
kali
atau
melakukan modifikasi halaman
dan
mengeksekusinya pada web browser akan memakan sedikit waktu sebelum ditampilkan.
  
22
JSP memiliki 3
fase
alur
:
isialisasi, servis
dan
dekstruksi.
Fafe-fase
ini
sama
dengan
method
servlet
yang
diambil
dari
container yang
berbeda
:
jspInit()
untuk
inisialisasi
fase, _jspService()
untuk
fase servis,
dan jspDestroy()
untuk
mendestruksi
fase.
Meskipun
JSP berbasis
Java,
dan
dikendalikan
sebagai kode Java
oleh servlet,
memperbolehkan  
pengembang
untuk
menggunakan syntax
yang
berbeda
pada
spesifikasi Java
2.0
dan
sebagai
gantinya menggunakan aturan
spesifikasi JSP. Bagian
berikut ini menggambarkan syntax JSP dengan lebih detail.
Semua komponen Java Server Pages
dapat dibagi
menjadi dua kategori
umum:
elements
dan
templates
data.
Element
merupakan data
yang
dapat
menghasilkan
informasi.
Data
template
merupakan informasi
statis
yang
tercetak
dalam
bentuk
presentasi/tampilan. Ekspresi
JSP,
<%=
new
java.util.Date()%> adalah
satu-satunya
element data yang memanggil data template.
JSP
memiliki
dua
tipe
sintak,
dua tipe
dari
authoring JSP
ini
didukung
oleh
Container JSP
:
JSP
Style
dan
XML
Style. Memilih
salah
satu
format
sintaks
hanya
bergantung dari preference dan standarisasi. Sintaks normal didesain lebih mudah untuk
pada
pembuat.
XML-compatible
syntax
telah
disediakan ketika
menggunakan  
JSP
authoring tools. Bagaimanapun juga, yang lebih sering disediakan adalah sintaks normal
karena lebih mudah untuk dibaca dan dimengerti.
Seperti
yang
telah
dijelaskan
pada
bab
sebelumnya, JSP
memungkinkan untuk
dilihat sebagai HTML atau XML dokumen dengan berdasar pada Script JSP. Scripting
JSP element memperbolehkan anda memasukkan kode Java ke dalam Servlet yang akan
di-generate
dari  halaman
JSP.  Cara  termudah
untuk  membuat
dynamic
JSP  adalah
dengan menaruh scripting element ke dalam data template. Sricpt element terdiri dari:
  
23
a.
Scriplet,
berisi
statement-statement
yang
merupakan
logika dari
suatuproses.  Pembatas  yang  digunakan  pada  scriplet  adalah  :
<% // statement %>
b.
Deklarasi, gunanya untuk mendeklarasikan variabel atau method.
Untuk     deklarasi     digunakan     pembatas     sebagai     berikut
<%! // variabel // method %> pada JSP, seperti juga Java variabel
bersifat
strong
type,
artinya
apabila
ingin
menggunakan suatu
variabel
maka
harus
melalui
proses
mendeklarasian tipe
dari
variabel tersebut.
c.
Ekspresi,
berguna
untuk
menampilkan
nilai
dari
suatu
variabel
atau  method.  Pembatas 
yang  digunakan  pada  suatu  ekspresi
adalah: <%=%>
2.8 Apache Ant
Apache Ant  
adalah sebuah   perangkat  
lunak untuk  
mengotomatisasi proses
membangun perangkat
lunak. Hal
ini mirip dengan Membuat tetapi diimplementasikan
dengan
menggunakan bahasa
Java,
memerlukan platform
Java,dan
sangat
cocok untuk
membangun proyek-proyek Java.
Perbedaan 
yang  paling segera 
terlihat antara Ant
dan Make
adalah Ant yang
menggunakan XML  
untuk menggambarkan   proses membangun   dan dependensinya,
sedangkan Make menggunakan         format Makefile. Secara         default file         XML
bernama build.xml.   Ant adalah  
proyek Apache. Ini   adalah  
perangkat  
lunak open
source, dan dirilis di bawah Lisensi Apache Software.
  
24
2.9 JSAPI
JSAPI adalah javaTM Speech API(Application Programming Interface). Dimana
memperbolehkan  pembuat 
untuk 
menyalakan  segala  perangkat  yang  berhubungan
dengan
suara
dalam
platform
apapun
yang
mendukung JSAPI.
JSAPI
didefinisikan
dengan
standar
tinggi
yang
telah
diberikan,
mudah
digunakan, cocok
untuk
banyak
platform.
Sistem
teknologi
speech
yang
dapat
dilakukan
dalam JSAPI
adalah 
speech
recognition and speech synthesis.
Speech     recognition    
menyediakan     komputer dengan     kemampuan untuk
mendengarkan bahasa
lisan
dan
untuk
menentukan apa
yang
telah
dikatakan. Dengan
kata  
lain, itu   proses input  
audio  
yang  
berisi kalimat dengan       mudah   diubah
menjadi teks. Speech   
Recognition menyediakan    proses    kebalikan    dari menulis
kalimat dari  teks yang  dihasilkan  oleh  aplikasi, servlet atau  pengguna. Hal  ini sering
disebut sebagai text-to-speech technology.
Perusahaan  dan individu  dapat manfaat  dari  berbagai macam  aplikasi dari teknologi
pidato menggunakan
API Java  Speech. Sebagai  contoh, sistem  suara interaktif  respon
adalah alternatif   
yang   
menarik   
untuk    pengganti antar    muka melalui    telepon,
sistem dikte dapat jauh
lebih cepat dari
input diketik
untuk banyak pengguna,teknologi
berbicara meningkatkan aksesibilitas ke    
komputer bagi     banyak    
orang    
dengan
keterbatasan fisik.
Tampilan  
Speech memberikan pengembang aplikasi 
Java kesempatan  
untuk
menerapkan kepribadian    yang    berbeda dan    menarik untuk    aplikasi mereka    dan
untuk membedakan produk
mereka. Pengembang aplikasi Java akan
memiliki akses ke
Negara  dengan teknologi  speech recognition dari  perusahaan terkemuka.Dengan API
  
25
e
standar untuk
speech, pengguna
dapat memilih
produk yang terbaik
speech
yang
memenuhi kebutuhan mereka dan anggaran mereka.
JSAPI
dikembangkan melalui
proses pengembangan
terbuka. Dengan
keterlibatan
aktif dari
perusahaan teknologi  pidato terkemuka, dengan 
masukan
dari
pengembang aplikasi dan dengan bulan meninjau publik dan komentar, spesifikasitelah
mencapai tingkat tinggi keunggulan teknis.
Sebagai spesifikasi  untuk teknologi  berkembang
pesat, Sun
akan mendukung
dan meningkatkan Java API untuk mempertahankan kemampuan Pidato terkemuka.
JSAPI merupakan ekstensi untuk platform Java. Ekstensi adalah paket kelas yang
ditulis dalam bahasa pemrograman Java (dan kode asli yang terkait) yang pengembang
aplikasi dapat digunakan untuk memperluas fungsionalitas dari bagian inti dari platform
Java.
2.10 Software Development Life Cycle
Menurut
Henry
C.Lucas
Junior(Eny
Fitri
Asih, 2010), Software
Development
Life  Cycle(SDLC)
Merupakan
suatu
bentuk
yang  digunakan
untuk
menggambarkan
tahapan utama dan langkah-langkah di dalam tahapan dalam proses pengembangannya.
Pada  sistem
life  cycle
tiap-tiap
bagian  dari
pengembangan  sistem
dibagi  menjadi
beberapa tahapan kerja.
Melakukan Investigasi Awal
Menganalisis Sistem
Mendesain Sistem
Mengembangkan Sistem
Mengimplementasikan system
Memelihara Sistem
Gambar 2.6 Diagram SDLC
  
26
Analisis dan
desain sistem merupakan prosedur pemecahan
maslah yang terdiri
dari
enam
fase
untuk
meneliti
sistem
informasi
dan
meningkatkannya.Keenam fase
tersebut
membentuk apa
yang disebut siklus hidup pengembangan sistem. Siklus hidup
pengembangan sistem SDLC 
adalah
proses
langkah
demi
langkah
yang
diikuti
oleh
banyak organisasi selama analisis dan desain sistem.
2.10.1  Fase Pertama : Melakukan Investigasi Awal
Empat langkah yang ada pada fase pertama:
Tujuan
dari
fase pertama
ini
adalah
melakukan analisis
awal,
mencari
alternative
solusi,
mendeskripsikan biaya
dan
keuntungn,
dan
menyerahkan rencana
awal dengan
beberapa rekomendasi. Empat langkah fase pertama ialah:
1. Melakukan analisis awal,  anda  perlu  mencari  apa  yang  menjadi  tujuan
organisasi dan sifat serta
cakupan
masalah, selanjutnya melihat apakah
masalah
yang dipelajari cocok dengan tujuan tersebut.
2. Mengajukan
solusi-solusi
alternatif, Solusi-solusi alternatif dapat diperoleh
dengan
mewawancarai orang
dalm
organisasi,
klien
atau
pelanggan
yang
terpengaruh oleh sistem, pemasok dan konsultan.
3. Mendeskripsikan
biaya
dan keuntungan , anda
perlu
mendaftarkan biaya
maupun
keuntungan secara
terperinci.
Biaya
akan
tergantung
dari keuntungan
yang bisa menawarkan penghematan.
4. Menyerahkan
rencana
awal,
Semua
yang
anda
temukan
digabung
dalam
suatu
laporan
tertulis, pembaca
laporan ini
bisa
saja
eksekutif yang
punya
wewenang untuk memutuskan dan menjalankan proyek.
  
27
2.10.2  Fase Kedua : Menganalisis Sistem
Tiga langkah dalam menganalisis sistem
Tujuan
dari
fase
kedua
ini
adalah
mengumpulkan data,
menganalisis
data,
dan
menuliskan laporan. Dalam fase ini, anda akan mengikuti arahan dari pihak managemen
setelah
mereka
membaca
laporan
(fase
pertama).
Pihak
manajemen
memberi
perintah
untuk menganalisis atau
mepelajari sistem yang sudah ada untuk memahami perbedaan
sistem baru dengan sistem yang sudah ada. Tiga langkah pada tahap ini ialah:
1. Mengumpulkan
data,
dalam
upaya
mengumpulkan
data,
anda
akan
meninjau
dokumen
tertulis,
mewawancarai pegawai
dan
manager,
membuat
kuesioner
dan
mengobservasi rang dan proses-proses di tempat kerja.
2. Menganalisa
data, data yang telah dikumpulkan kemudian dianalisis. Ada
banyak  piranti  analitik 
yang  dapat  dipakai, piranti
pemodelan memungkinkan
analisis sistem menampilkan
representasi sistem dalam bentuk gambar, misal data
flow  diagram
atau
diagram
aliran
data.
Dan Perangkat
CASE  (Computer Aided
Software  Engineering) adalah program yang
mengotomatisasi
berbagai  aktivitas
SDLC. Contoh programnya ialah Analyst Pro, Visible Analyst dan Sistem Architect.
3. Menulis laporan, perlu membuat laporan setelah selesai melakukan analisis. Ada
3
bagian,
yang
pertama,
harus
menjelaskan cara
bekerja
sistem
yang
sudah
ada.
Kedua,
harus
menjelaskan
masalah-masalah pada
sistem
yang
ada.
Ketiga
harus
mendeskripsikan
ketentuan-ketentuan untuk
sistem
baru
dan
memberikan
rekomendasi tentang apa yang akan dilakukan selanjutnya.
  
28
2.10.3  Fase Ketiga : Mendesain Sistem
Tiga langkah ketika mendesain sistem
Tujuan fase ini adalah membuat desai awal,
lalu desain yang detail, dan membuat
laporan.
1. Membuat
desain
awal, desin awal
mendeskripsikan kpabilitas fungsional secar
umum dari sistem sistem informasi yang diusulkan. Perangkat yang digunakan pada
fase
ini
adalah
perangkat
CASE
dan
perangkat
lunak
managemen proyek.
Prototyping   juga  
digunakan  
pada  
tahap  
ini,,prototyping adaalah  
pengguna
workstation, perangkat
CASE
dan
aplikasi
perangkat
lunak
lain
untuk
membuat
model
kerja
dari
komponen sistem
sehingga
sistem
baru
bisa
segera
diuji
dan
dievaluasi.Jadi prototype adalah 
sistem  dengan 
kemapuan  kerja 
terbatas 
yang
dikembangkan untuk menguji konsep-konsep desain.
2. Membuat
desain
yang
detail,
desain
yang detail
menggambarkan
bagaimana
sistem informasi yang diusulkan mampu memberikan kapabilitas yang digambarkan
secara umum dalam desain awal.
3. Menulis laporan, semua pekerjaan dala desain awal dan desain yang detail akan
dikemas  dalam  laporan  yang  terperinci.  Anda  bisa  melakukan  persentasi  atau
diskusi saat menyerahkan laporan ini kepada manajemen senior.
2.10.4  Fase Keempat : Mengembangkan Sistem
Tiga langkah yang diperlukan dalam mengembangkan sistem
1. Mengembangkan atau
mendapatkan
perangkat lunak, analisis
sistem
harus
membuat
keputusan
yang
disebut
keputusan
“membuat-atau-membeli’. Dalam
keputusan
tersebut,
anda
menentukan
apakah
akan
membuat program –
menulis
  
29
sendiri – atau embelinya, yang artinya hanya tinggal membeli paket perangkat lunak
yang sudah ada.
2. Mendapatkan perangkat lunak, setelah memilih perangkat lunak
maka
selanjutnya
meng-uprade perangkat
keras
untuk
menjalankan perangkat
lunak
tersebut.  Namun  bisa  saja 
sistem  tidak 
membutuhkan  perangkat  keras,  atau
perangkat keras tersebut dapat disewa tanpa harus dibeli.
3. Menguji
sistem, dengan
perangkat 
lunak 
dan 
perangkat 
keras 
yang 
telah
diperoleh,maka dilakukan pengujian. Biasanya dilakukan dalam 2 tahap, yaitu :
Pengujian  
unit  
: kinerja 
dari  
masing-masing  
bagian  
diteliti  
dengan
menggunakan data uji
(disusun atau sampel). Jika program ditulis sebagai usaha
kerja sama dari banyak programmer,
maka
masing-masing bagian dari program
diuji terpisah.
Pengujian  
sistem  
:
bagian-bagian  
dihubungkan  
bersama-sama  
dengan
menggunakan data uji
untuk mengetahui apakah bagian-bagian itu dapat bekerja
sama. Sistem juga dapat diuji dengan data sesungguhnya dari organisasi.
2.10.5  Fase Kelima : Mengimplementasikan sistem
1. Konversi ke sistem baru, proses transisi dari sistem informasi yang lama ke yang
baru, melibatkan konversi perangkat keras, perangkat lunak, dan file. Ada 4 strategi
untuk melakukan konversi,yaitu :
Implementasi langsung : pengguna hanya berhenti menggunakan sistem
yang
lama dan mulai menggunakan yang baru.
  
30
Implementasi   parallel Sistem  lam dan  sistem  yang  baru  berjalan
berdampingan
sampai
sistem
baru
menunjukkan
keandalannya
di
saat
sistem
lama tidak berfungsi lagi.
Implementasi
bertahap : bagian-bagian dari sistem baru
dibuat
dalam
fase
terpisah-entah
waktu
yang
berbeda(parallel) atau
sekaligus
dalam
kelompok-
kelompok (langsung).
Implementasi  pilot : seluruh sistem dicoba, namun
hanya  oleh  beberapa
pengguna. Setelah keandalannya terbukti barulah sistem bisa diimplementasikan
pada pengguna lainnya.
2. Melatih pengguna, ada banyak piranti
yang bisa digunkan membuat pengguna
membuat
pengguna
mengenal
sistem
baru
dengan
baik,dari
dokumentasi hingga
video tape hingga pelatihan diruang kelas secara langsung ataupun satu per satu.
2.10.6  Fase Keenam : Memelihara Sistem
Pemeliharaan
sistem
ialah
menyesuaikan dan
meningkatkan sistem
dengan
cara
melakukan audit
dan
evaluasi
secara
periodic
dan
dengan
membuat
perubahan
berdasarkan
kondisi-kondisi baru.
Meskipun
pengkonversian sudah
lengkap,
bahkan
pengguna  sudah  dilatih,  sistem  tidak  bisa  berjalan  dengan  sendirinya.  Inilah  tahap
dimana
sistem
harus
dimonitor
untuk
memastikan bahwa
sistem
itu
berhasil.
Pemeliharaan tidak hanya menjaga agar mesin tetap berjalan, namun juga meng-upgrade
dan
meng-update
sistem
agar
bisa
mengikuti
perkembangan produk,
jasa,
layanan,
peraturan pemerintah, dan ketentuan lain yang baru.
Setelah beberapa saat, biaya pemeliharaan akan meningkat seiring makin banyaknya
usaha 
untuk 
mempertahankan 
sistem 
agar 
tetap 
responsive 
terhadap 
kebutuhan
  
31
pengguna. Dalam beberapa hal, biaya pemeliharaan ini bisa membengkak, menandakan
bahwa sekaranglah saat yang tepat untuk memulai lagi SDLC.
2.11  Bentuk Program
Arsitektur program menggunakan konsep :
Object Oriented Programming
Procedural Programming
OOP
merupakan
paradigma
pemrograman yang
popular
saat
ini
yang
telah
menggantikan teknik pemrograman berbasis prosedur. OOP. Pemrograman Berorientasi
Objek (Object Oriented
Programming)
merupakan pemrograman yang
berorientasikan
kepada objek., dimana semua data dan fungsi dibungkus dalam class-class atau object-
object. Setiap object dapat menerima pesan, memproses data, mengirim, menyimpan dan
memanipulasi data.
Beberapa object
berinteraksi dengan
saling
memberikan
informasi
satu terhadap
yang lainnya.
Masing-masing object harus berisikan
informasi
mengenai
dirinya sendiri dan dapat dihubungkan dengan Object yang lain.
Dalam Object Oriented Programming ada beberapa istilah yang harus anda pahami:
·
Object
Object
adalah
sesuatu
yang
bisa
dianalogikan dengan
benda,
orang,
tempat,
kejadian
atau
konsep-konsep
yang
ada
di
dunia
nyata
yangdigunakan pada
perangkat
lunak atau sistem
informasi. Contohnya kampus, gedung,
mahasiswa,
kuliah, registrasi, pembayaran dan yang lainnya.
  
32
·
Class
Class
adalah
kumpulan/himpunan object
dengan
atribut/properti
yang
mirip,
prilaku
yang
mirip,
serta
hubungan dengan
object
yang
lain
dengan cara
yang
mirip.
·
Attribut
Attribut adalah data yang dimiliki oleh object dalam kelas.
2.12 User Interface Design
Tujuan dari UID (Uni Proboyekti, 2011) adalah merancang interface yang efektif
untuk sistem perangkat lunak. Efektif artinya siap digunakan, dan hasilnya sesuai degan
kebutuhan. Kebutuhan disini
adalah
kebutuhan penggunanya. Pengguna
sering
menilai
sistem
dari
interface,
bukan dari
fungsinya
melainkan
dari user
interface.
Jika
desain
user
interface
tersebut buruk,
maka
itu
sering
jadi
alasan
untuk
tidak
menggunakan
software.
Selain
itu
interface
yang
buruk  
dapat
menyebabkan pengguna
membuat
kesalahan fatal.
Menurut
Shneiderman ,8
(delapan)
aturan
yang
dapat
digunakan
sebagai
petunjuk
dasar  yang  baik  untuk  merancang  suatu user interface.  Delapan  aturan  ini  disebut
dengan Eight Golden Rules of Interface Design, yaitu:
a.Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan
pada prompt, menu, serta layar bantuan.
  
33
b.Memungkinkan pengguna untuk menggunakan shortcut
Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan
interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi,
dan fasilitas makro.
c. Memberikan umpan balik yang informatif
Untuk  setiap  tindakan
operator,
sebaiknya
disertakan
suatu  sistem  umpan
balik. Untuk
tindakan
yang sering dilakukan dan tidak terlalu penting, dapat
diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal
yang  penting, 
maka  umpan  balik  sebaiknya 
lebih  substansial.  Misalnya
muncul suatu suara ketika salah
menekan tombol pada waktu
input data atau
muncul pesan kesalahannya.
d. Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam
suatu kelompok dengan bagian
awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan indikasi
bahwa cara
yang dilakukan sudah benar dan dapat mempersiapkan kelompok
tindakan berikutnya.
e. Memberikan penanganan kesalahan yang sederhana
Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan
kesalahan
fatal.
Jika
kesalahan
terjadi,
sistem
dapat
mendeteksi kesalahan
dengan 
cepat 
dan 
memberikan 
mekanisme 
yang  sedehana 
dan 
mudah
dipahami untuk penanganan kesalahan.
  
34
f. Mudah kembali ke tindakan sebelumnya
Hal
ini dapat
mengurangi kekuatiran pengguna karena pengguna
mengetahui
kesalahan
yang
dilakukan
dapat
dibatalkan; sehingga
pengguna
tidak
takut
untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan.
g. Mendukung tempat pengendali internal (internal locus of control)
Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan
yang
dilakukan
pengguna
daripada
pengguna
merasa
bahwa
sistem
mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga
pengguna menjadi inisiator daripada responden.
h. Mengurangi beban ingatan jangka pendek
Keterbatasan
ingatan
manusia
membutuhkan tampilan
yang
sederhana
atau
banyak
tampilan
halaman
yang
sebaiknya disatukan, serta
diberikan
cukup
waktu pelatihan untuk kode, mnemonic, dan urutan tindakan.