C Analisis Proses Implementasi K-Means Clustering Dan Learning Vector Quantization Untuk Optimasi Pengenalan Suara

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