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