11. Komunikasi antar objek Komunikasi  antar-objek  dilakukan  lewat  pesan  message  yang  dikirim  dan  satu
objek ke objek lainnya. 12. Polimorfisme Polymorphism
Kemampuan suatu objek untuk digunakan dibanyak tujuan  yang berbeda dengan nama yang sama sehingga menghemat baris program.
13. Package Package  adalah  sebuah  kontainer  atau  kemasan  yang  daoat  digunakan  untuk
mengelompokkan  kelas-kelas  sehingga  memungkinkan  beberapa  kelas  yang bernama sama disimpan dalam package yang berbeda.
2.14 C
C merupakan sebuah bahasa pemrograman  yang berorientasi objek  yang dikembangkan  oleh  Microsoft  sebagai  bagian  dari  inisiatif  kerangka  .NET
Framework.  Bahasa pemrograman ini dibuat berbasiskan bahasa C++  yang telah dipengaruhi  oleh  aspek-aspek  ataupun  fitur  bahasa  yang  terdapat  pada  bahasa-
bahasa  pemrograman  lainnya  seperti  Java,  Delphi,  Visual  Basic,  dan  lain-lain dengan beberapa penyederhanaan [10].
2.15 Unified Modeling Language
UML  singkatan  dari  Unifed  Modeling  Language  yang  berarti  bahasa pemodelan  standar.  UML  merupakan  bahasa  standar  untuk  merancang  dan
mendokumentasikan perangkat lunak dengan cara berorientasi objek. Ada beberapa diagram  yang  digunakan  proses  pembuatan  perangkat  lunak  berorientasi  objek
diantaranya,  use  case  diagram,  activity  diagram,  class  diagram  dan  sequence diagram[13].
2.15.1 Use Case Diagram
Use  case  diagram  merupakan  pemodelan  untuk  tingkah  laku  behavior pada sistem yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara
satu atau lebih aktor dengan sistem yang akan dibuat. Use case diagram digunakan
untuk  mengetahui  fungsi  apa  saja  yang  terdapat  pada  sistem.  Terdapat  dua  hal utama yang diperlukan dalam pembentukan suatu use case diagram yaitu aktor dan
use case. 1.
Aktor merupakan orang, benda maupun sistem lain yang berinteraksi dengan sistem yang akan dibangun.
2. Use Case merupakan fungsionalitas atau layanan yang disediakan oleh sistem
sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
2.15.2 Class Diagram
Class diagram menggambarkan interaksi dan relasi antar kelas yang ada di dalam  suatu  sistem.  Kelas  memiliki  atribut  dan  metode.  Atribut  merupakan
variabel-variabel yang dimiliki oleh suatu kelas. Metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Atribut dan metode dapat memiliki salah satu sifat sebagai
berikut: 1.
Private, tidak dapat dipanggil dari luar kelas yang bersangkutan. 2.
Protected, hanya dapat dipanggil oleh kelas yang bersangkutan dan anak-anak yang mewarisinya.
3. Public, dapat dipanggil oleh siapa saja.
Class  diagram  menggambarkan  relasi  atau  hubungan  antar  kelas  dari sebuah sistem. Berikut ini beberapa gambaran relasi yang ada dalam class diagram:
1. Association
Hubungan  antar  class  yang  statis.  Class  yang  mempunyai  relasi  asosiasi menggunakan class lain sebagai atribut pada dirinya.
2. Aggregation
Relasi  yang  membuat  class  yang  saling  terikat  satu  sama  lain  namun  tidak terlalu berkegantungan.
3. Composition
Relasi agregasi dengan mengikat satu sama lain dengan ikatan  yang sangat kuat dan saling berkegantungan.
4. Dependency
Hubungan  antar  class  dimana  class  yang  memiliki  relasi  dependency menggunakan class lain sebagai atribut pada method.
5. Realization
Hubungan  antar  class  dimana  sebuah  class  memiliki  keharusan  untuk mengikuti aturan yang ditetapkan class lainnya.
2.15.3 Sequence Diagram
Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan  waktu  hidup  objek  dan  message  yang  dikirimkan  dan  diterima
antar objek. Oleh karena itu untuk menggambarkan sequence diagram maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode
yang dimiliki kelas yang diinstansiasi menjadi objek itu. Banyaknya  sequence  diagram  yang  harus  digambar  adalah  sebanyak
pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada sequence
diagram  sehingga  semakin  banyak  use  case  yang  didefinisikan  maka  sequence diagram  yang  harus  dibuat  juga  semakin  banyak.  Penomoran  pesan  berdasarkan
urutan iteraksi pesan. Penggambaran letak pesan harus berurutan, pesan yang lebih atas dari lainnya adalah pesan yang berjalan terlebih dahulu.
2.15.4 Activity Diagram
Activity diagram menggambarkan workflow aliran kerja atau aktivitas dari sebuah sistem, proses bisnis atau menu yang ada pada perangkat lunak. Setiap use
case yang telah dibentuk digambarkan aktivitasnya dalam activity diagram, mulai dari  peran  aktor,  peran  sistem,  dan  decision.  Activity  diagram  juga  banyak
digunakan untuk mendefinisikan hal-hal berikut: 1.
Rancangan  proses  bisnis  dimana  setiap  urutan  aktivitas  yang  digambarkan merupakan proses bisnis sistem.
2. Urutan atau pengelompokan tampilan dari sistem  user interface dimana setiap
aktivitas dianggap memiliki sebuah rancangan tampilan antarmuka.
3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah
pengujian yang perlu didefinisikan kasus ujinya.
4. Rancangan menu yang ditampilkan pada perangkat lunak.
2.16 Tools Pembangunan Perangkat Lunak
Adapun  beberapa  perangkat  lunak  pendukung  dalam  pembuatan  aplikasi pengenalan suara ini diantaranya:
2.16.1 Microsoft Visual Studio
Microsoft Visual Studio  merupakan sebuah perangkat lunak lengkap  yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis,
aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi  console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK,
Integrated  Development  Environment  IDE,  dan  dokumentasi  yang  umumnya berupa MSDN Library. Kompiler yang dimasukkan ke dalam paket Visual Studio
antara  lain  Visual  C++,  Visual  C,  Visual  Basic,  Visual  Basic  .NET,  Visual InterDev, Visual J++, Visual J, Visual FoxPro, dan Visual SourceSafe.
Microsoft Visual Studio dapat digunakan untuk  mengembangkan aplikasi dalam  native  code  dalam  bentuk  bahasa  mesin  yang  berjalan  di  atas  Windows
ataupun  managed  code  dalam  bentuk  Microsoft  Intermediate  Language  di  atas .NET  Framework.  Selain  itu,  Visual  Studio  juga  dapat  digunakan  untuk
mengembangkan aplikasi Silverlight, aplikasi Windows Mobile yang berjalan di atas .NET Compact Framework [10].
2.16.2 Basis Data
Basis  Data  dapat  didefinisikan  dalam  sejumlah  sudut  pandang  seperti himpunan  kelompok  data  arsip  yang  saling  berhubungan  yang  diorganisasi
sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. Basis Data dapat diartikan pula sebagai kumpulan data yang saling berhubungan
yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan redudansi yang tidak perlu, untuk memenuhi berbagai kebutuhan [14].
Operasi dalam basis data: 1.
Pembuatan basis data baru create database. 2.
Penghapusan basis data drop database. 3.
Pembuatan filetabel baru ke suatu basis data create table. 4.
Penghapusan filetabel dari suatu basis data drop table. 5.
Penambahanpengisian  data  baru  ke  sebuah  filetabel  di  sebuah  basis  data insert.
6. Pengambilan data dari sebuah filetabel retrievesearch.
7. Pengubahan data dari sebuah filetabel update.
8. Penghapusan data dari sebuah filetabel delete.
Operasi  yang  berkenaan  dengan  pembuatan  objek  basis  data  dan  tabel merupakan  operasi  awal  yang  hanya  dilakukan  sekali  dan  berlaku  seterusnya.
Sedang operasi-operasi  yang berkaitan dengan isi tabel data merupakan operasi rutin yang akan berlangsung berulang-ulang dan karena itu operasi-operasi inilah
yang lebih tepat mewakili aktifitas pengelolaan dan pengolahan dalam basis data [14].
Database Management System DBMS atau dalam bahasa Indonesia sering disebut sebagai Sistem Manajemen Basis Data adalah suatu sistem aplikasi  yang
digunakan  untuk  menyimpan,  mengelola,  dan  menampilkan  data.  Suatu  sistem aplikasi disebut DBMS jika memenuhi persyaratan minimal sebagai berikut:
1. Menyediakan fasilitas untuk mengelola akses data.
2. Mampu menangani integritas data.
3. Mampu menangani akses data yang dilakukan secara bersamaan.
4. Mampu menangani backup data.
Database MySQL merupakan sistem manajemen basis data SQL yang sangat terkenal    dan    bersifat    open    source.  MySQL  dibangun,  didistribusikan,  dan
didukung  oleh  MySQL  AB.  MySQL  AB  merupakan  perusahaan  komersial  yang dibiayai oleh pengembang MySQL. MySQL mempunyai dua macam lisensi yaitu
lisensi  yang  bersifat  open  source  dengan  menggunakan  GNU  General  Public License dan lisensi kedua berupa Standard Commercial License yang dapat dibeli
dari MySQL AB.
Dalam  konteks  bahasa  SQL,  informasi  disimpan  dalam  tabel-tabel  yang  secara logis  merupakan  struktur  dua  dimensi  yang  tersimpan  atas  baris-baris  data  row
atau record yang berada dalam satu atau lebih kolom column. Baris pada tabel disebut  insance  dari  data  sedangkan  kolom  sering  disebut  sebagai  atributes  atau
field.  MySQL  yang  berjalan  di  sistem  operasi  Windows  terbukti  sangat  stabil. MySQL  versi  Windows  mempunyai  fitur  yang  sama  dengan  MySQL  versi  Unix
[14].
35
3 BAB 3
ANALISIS KEBUTUHAN ALGORITMA 3.1
Analisis Masalah
Dalam  pengenalan  suara,  proses  ekstraksi  ciri  suara  dan  pencocokan  suara sangatlah penting karena untuk menghasilkan suatu speaker recognition yang baik
dibutuhkan  keakurasian  yang  baik.  Metode  yang  digunakan  untuk  ekstraksi  ciri suara  dan  pencocokan  suara  pun  dijadikan  suatu  pertimbangan.  Di  penelitian
sebelumnya dijelaskan bahwa metode MFCC dan DTW pada pengujian dari sistem verifikasi suara menghasilkan rata-rata akurasi sebesar 73,260 [1].
Penelitian  sebelumnya  untuk  ekstraksi  ciri  suara  menjelaskan  bahwa ekstraksi  ciri  MFCC  mempunyai  tingkat  keakuratan  tertinggi  dengan  tingkat
pengenalan 85,3 dan waktu ekstraksi ciri tercepat dibandingkan dengan metode ekstraksi ciri yang lainnya [7].
Hasil dari ekstraksi fitur menggunakan  metode MFCC akan digunakan untuk proses  pencocokan,  dimana  proses  pencocokan  ini  akan  membandingkan  hasil
ekstraksi fitur dari data uji dengan hasil ekstraksi fitur data latih yang terdapat pada database. Pada saat dilakukan pencocokan, hasil filter pada MFCC yang tersebar
tidak  merata  mempengaruhi  banyaknya  informasi  yang  diperoleh  untuk mendapatkan karakter suara seseorang [16]. Clustering dapat mengelompokan data
hasil  filter  MFCC  berdasarkan  kemiripan  dari  hasil  filter  MFCC  tersebut,  salah satunya dengan menggunakan k-mean clustering. K-Means Clustering digunakan
untuk mempartisi vektor hasil ekstraksi fitur ke dalam k vektor pusat [2]. K-Means Clustering  juga  mengurangi  waktu  pemrosesan  untuk  pencocokan  suara  dengan
membuat vektor data sebagai representasi dari keseluruhan data hasil filter MFCC. Sebagai klasifikator digunakan jaringan syaraf tiruan Learning Vector Quantization
LVQ.  LVQ  melakukan  pembelajaran  terhadap  hasil  k-mean  clustering  yang merupakan  vektor  dari  hasil  filter  MFCC.  Hasil  dari  pembelajaran  LVQ  akan
disimpan sebagai model pattern pada database yang akan digunakan untuk proses pencocokan  suara.  Proses  pencocokan  suara  dilakukan  dengan  pengukuran  jarak
terdekat  menggunakan  euclidean  distance  untuk  mengetahui  seberapa  besar kemiripan suara data uji dengan model pattern.
Berdasarkan  uraian  tersebut,  pada  penelitian  ini  akan  diterapkan  K-Means Clustering dan LVQ untuk optimasi akurasi pada pengenalan suara. Di harapkan
dari proses verifikasi suara dengan penerapan metode tersebut diketahui seberapa besar pengaruh akurasinya.
3.2 Analisis Proses
Proses  dari  sistem  pengenalan  suara  menggunakan  Metode  Mel  Frequency Cepstrum  Coefficients  MFCC,  K-Means  Clustering  dan  Learning  Vector
Quantization LVQ adalah proses perekaman suara voice recorder, proses latih training mode dan proses pengujian testing mode.
Voice Recorder merupakan bagian yang bertugas merekam suara pembicara. Suara direkam  dengan menggunakan format  PCM  pulse code modulation. Alat
yang dibutuhkan untuk proses ini adalah microphone dan audio speaker. Training Mode adalah bagian  yang bertugas mempelajari dan memodelkan
suara  pembicara.  Pembelajaran  terhadap  suara  pembicara  dilakukan  dengan membuat model dari suara pembicara kemudian menyimpannya ke dalam database.
Testing Mode merupakan bagian yang bertugas mengenali suara pembicara. Pengenalan suara dilakukan dengan melakukan  pencocokan data uji  dengan data
model  pattern  pada  database.  Pada  pencocokan,  perbandingan  yang  dilakukan adalah perbandingan 1:1 dimana model suara dari A langsung dibandingkan dengan
hasil pembelajaran pemodelan suara A yang ada dalam database.
Proses  pengenalan  suara  menggunakan  metode  MFCC,  k-means  clustering dan learning vector quantization dapat dilihat pada Gambar 3.1 berikut :
Feature Extraction
MFCC Sampel
Suara Database
Verified Training Mode
Testing Mode Pembelajaran
LVQ
K-Means Clustering
Pencocokan Suara
Feature Extraction
MFCC Sampel
Suara K-Means
Clustering 1
2 3
4 5
6
Gambar 3.1 Alur Proses Pengenalan Suara
Gambar 3.1 merupakan alur proses pengenalan suara, berikut penjelasannya: 1.
Pada  sample  suara  training  mode  akan  dilakukan    feature  extraction menggunakan metode MFCC.
2. Hasil  feature  extraction  di  kluster  menggunakan  k-means  clustering  dan
disimpan dalam database.
3. Pembelajaran  LVQ  mengambil  data  latih  dari  database  lalu  melakukan
pembelajaran sehingga menghasilkan pemodelan pembelajaran yang disimpan ke database.
4. Pada  sample  suara  testing  mode  akan  dilakukan    feature  extraction
menggunakan metode MFCC.
5. Hasil feature extraction di kluster menggunakan k-means clustering.
6. Titik  pusat  hasil  clustering  pada  langkah  no.5  dicocokan  dengan  hasil
pemodelan pembelajaran LVQ yang ada pada database dengan menggunakan
euclidean distance, setelah proses pencocokan selesai maka didapatkan hasil verifikasi.
3.3 Analisis Data Masukan