3.1 Sistem Diagram
Sistem diagram adalah diagram dari sebuah sistem, dengan fungsi atau bagian utamanya diwakili oleh blok yang dihubungkan oleh garis-garis yang menunjukkan hubungan antar blok.
Gambar 3.1 Sistem Diagram
3.2 Teknik Pengumpulan Data 3.2.1 Perekaman suara
Suara manusia pada awalnya hanyalah tekanan udara yang kemudian ditangkap oleh mic dan menjadi sebuah sinyal listrik analog. Setelah sinyal analog didapatkan, sinyal ini kemudian diubah menjadi sinyal digital menggunakan Analog to Digital Converter untuk memudahkan pengolahan data. Sinyal digital memiliki tingkat keakuratan yang tetap tinggi setelah diolah oleh komputer. Dalam penelian ini, suara yang sudah menjadi sinyal digital tersebut disimpan ke dalam file berekstension .WAV.
Gambar 3.2 Contoh sinyal suara yang direkam
3.2.2 Konversi
Informasi data yang terdapat di dalam file tersebut masih dalam domain waktu, sehingga harus diubah menjadi informasi data dalam domain frekuensi dengan menggunakan algoritma Fast Fourier Transform. Sinyal suara yang diurai menjadi data berbentuk frekuensi memiliki informasi yang lebih mudah diolah dan juga karena hasil yang ingin dijadikan acuan adalah frekuensi dasar user.
Perhitungan untuk menentukan nilai frekuensi dan intensitas suara adalah sebagai berikut :
s z
f L H = M×
(Pers 4 – 1)
L f i f
hz
i
∑
s=
×
= 0
(Pers 4 – 2)
( )
(
+ε)
×
= absY
I 20 log
(Pers 4 – 3) Hz : Batasan frekuensi
M : Batas maksimal frekuensi yang ditentukan.
(Dalam penelitian ini, menggunakan M = 3000) L : Banyak array dalam proses FFT
f s : Frekuensi sampling
f : Frekuensi (dalam satuan hertz) i : nilai array dalam proses FFT
I : Intensitas suara ( dalam satuan desibel) Y : Nilai dari hasil FFT
ε : Bilangan epsilon (ε = 2.22024 x 10-16)
Setelah didapat data yang berbasis frekuensi, data akan diolah lagi dengan menggunakan metode divide and conquer. Frekuensi yang diambil berkisar antara
20 Db. Frekuensi yang berada di bawah 20Db dianggap tidak berperan dalam menentukan suara seseorang. Kemudian rata-rata dari frekuensi-frekuensi yang didapatkan itu akan disimpan di dalam database.
3.2.3 Database
Cara pengumpulan data adalah dengan cara sampling. Jumlah sampel per orang yang harus diidentifikasi untuk membangun database minimal 20 kali. Random sampel data yang diambil sebanyak 20 data supaya dapat dianggap berdistribusi normal.
Database dimaksudkan untuk menyimpan data pribadi user dan juga rata-rata frekuensi yang pada saat pengidentifikasian akan dibandingkan dengan suara yang baru masuk. Pada saat user ingin melakukan identifikasi suara, rata-rata frekuensi tersebut yang akan dibandingkan dengan persentase kecocokan suara minimal 90% atau persentase kesalahan maksimal 10%.
3.3 Algoritma Program
Langkah-langkah yang akan dilakukan dalam menjalankan program pengenalan suara ini adalah sebagai berikut :
1. Masukan yang digunakan adalah suara manusia yang direkam melalui mikrofon. Suara manusia yang merupakan sinyal analog diubah menjadi sinyal digital dalam bentuk file dengan format WAV.
2. Sebelum proses perekaman, komputer akan memberitahukan untuk mengucapkan suatu pengenal, misalnya: mengatakan huruf A..
3. Hasil rekaman suara tersebut akan diolah kemudian dengan menggunakan Fast Fourier Transform untuk mengubah data yang berbasis waktu menjadi data yang berbasis frekuensi.
4. Setelah didapat hasil Fast Fourier Transform, data kemudian diolah lagi dengan menggunakan algoritma Divide and Conquer. Spektrum yang ada akan diambil hanya frekuensi yang besarnya berkisar antara 300 Hz sampai 3000 Hz dan memiliki intensitas suara yang lebih besar dari 20 Db.
5. Frekuensi-frekuensi yang didapat pada langkah sebelumnya akan dihitung rata-ratanya sehingga menghasilkan satu nilai frekuensi sebagai ciri khas spektrum frekuensi suara orang tersebut dan disimpan ke dalam database.
6. Jika user melakukan pengidentifikasian suara, maka nilai frekuensi yang disebutkan pada nomor 5 akan dibandingkan dengan nilai-nilai frekuensi yang ada pada database dengan tingkat kecocokan minimal 90%.
3.4 Perancangan Program 3.4.1 Borland Delphi
Borland Delphi versi 1.0 dikembang pertama kali pada tahun 1995. Borland Delphi memberikan kemudahan kepada para programmer dalam membuat program secara visual, dengan cara menggabungkan kemudahan penggunaan environtment dari Visual Basic dan ketangguhan object oriented dari Microsoft C++. Umumnya program ini lebih banyak digunakan untuk pengembangan aplikasi desktop dan enterprise berbasis database, tapi sebagai perangkat pengembangan yang bersifat general-purpose ia juga mampu dan digunakan dalam berbagai jenis proyek pengembangan software.
Beberapa kelebihan Borland Delphi adalah dapat mengkompilasi menjadi single executable, memudahkan distribusi dan meminimalisir masalah yang terkait dengan versioning, dan optimasi kompilernya yang cukup cepat.
3.4.2 Matlab
Matlab (yang berarti "matrix laboratory") diciptakan pada akhir tahun 1970-an oleh Cleve Moler. Matlab memungkinkan manipulasi matriks, perencanaan fungsi dan data, implementasi algoritma, pembuatan antarmuka pengguna, dan penggabungan dengan program dalam bahasa lainnya.
Karena perintah Matlab serupa dengan cara di mana kita merumuskan langkah- langkah teknik dalam matematika, menulis solusi komputer dalam Matlab jauh lebih cepat dibandingkan dengan menulis solusi komputer menggunakan sebuah bahasa pemrograman tingkat tinggi, seperti C atau Fortran.
3.4.3 Flowchart Proses
Gambar 3.3 Flowchart proses untuk memasukkan data baru
Gambar 3.4 Flowchart proses untuk melakukan identifikasi
3.4.4 State Transition Diagram
STD atau State Transition Diagram menggambarkan sebuah sistem yang real- time dan sistem yang online. STD merupakan suatu keadaan yang menggambarkan suatu keadaan pada waktu tertentu (Yourdon, 2006). Perubahan keadaan dapat terjadi karena suatu kejadian dan sebagai akibat dari kejadian tersebut maka akan muncul suatu aksi yang menyebabkan keadaan berubah. STD membantu dalam memberikan gambaran secara keseluruhan dari program. STD untuk program aplikasi ini dapat dilihat pada Gambar 3.5, Gambar 3.6, Gambar 3.7, Gambar 3.8, dan Gambar 3.9.
Gambar 3.5 State Transition Diagram FormUtama
Gambar 3.6 State Transition Diagram FormBio
Form Utama
FormBio
Klik “New Entry “ Tampilkan menu FormBio
Klik “Identify Voice”
Tampilkan menu FormRekam1 FormRekam1
Klik “Exit”
Keluar dari Program
Exit
FormBio
FormRekam1
Klik “Submit”
Mengecek keabsahan pengisian biodata dan lakukan rekaman suara
FormUtama
Klik “Cancel”
Kembali ke form Utama
Gambar 3.7 State Transition Diagram FormRekam1
Gambar 3.8 State Transition Diagram FormAdd FormRekam1
Record
Klik “Record”
Merekam suara
Selesai merekam Tombol “save” enable
Save
Klik “Save”
Rekaman disave ke dalam file wav
Selesai save file
Tombol “Continue” enable FormAdd / FormResult
Klik “Continue”
Jika pada form utama klik “New Entry” maka ketika akan menampilkan formadd, jika klik”Identify Voice”, maka akan menampilkan form result
FormAdd
Add To Database Klik “Add To Database”
Masukkan semua data ke dalam tabel suara.
Selesai memasukkan data Tampilkan tombol “Back to Home”
FormUtama
Klik “Back to Home”
Kembali ke FormUtama
Gambar 3.9 State Transition Diagram FormResult
Menu-menu yang terdapat pada program simulasi ini adalah seperti yang dijelaskan pada Tabel 3.1 berikut ini:
Tabel 3.1 Menu-menu Program Simulasi Menu Tujuan
New Entry Untuk memasukkan data baru mencakup data pribadi seseorang dan juga frekuensi suaranya.
Identifify Voice Untuk mengecek identitas pemilik suara tersebut sesuai yang ada di dalam database.
Exit Untuk keluar dari program.
FormResult
Add To Database Klik “Identify Voice”
Melakukan perbandingan frekuensi suara dengan database
Selesai Melakukan identifikasi Tampilkan tombol “Back to Home”
FormUtama
Klik “Back to Home”
Kembali ke FormUtama
3.5 Perancangan Layar
3.5.1 Rancangan Layar Menu Utama
Gambar 3.10 Rancangan Layar Menu Utama
Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut.
• Judul form dengan tulisan ’Voice Recognizer’.
• Kotak dengan tanda ’X’ di samping judul memiliki fungsi untuk keluar dari program.
• Kotak dengan tanda ’_’ di samping judul memiliki fungsi untuk menyembunyikan layar.
• Tombol menu ’New Entry’ memiliki fungsi untuk memasukkan data suara baru ke dalam database.
• Tombol menu ’Identify Voice’ memiliki fungsi untuk lakukan proses idenfikasi seseorang.
• Tombol menu ’Exit’ memiliki fungsi untuk keluar dari program.
Pada saat program pertama kali dijalankan, tampilan program yang keluar adalah seperti Gambar 3.10 diatas. Pada menu utama ini terdapat 3 tombol, yaitu tombol ”New
Voice Recognizer
New Entry Identify Voice
Exit
Tombol ”New Entry” berguna untuk memasukkan data yang baru ke database, tampilan menu ”New Entry” dapat dilihat pada Gambar 3.11. Tombol ”Identify”
berguna untuk melakukan proses identifikasi suara yang telah direkam, kemudian akan masuk ke dalam layar Rekam Suara pada gambar 3.12. Setelah perekaman selesai, akan dilakukan cek frekuensi berdasarkan data yang terdapat dalam database. ”Tombol ”Exit”
berguna untuk keluar dari program.
3.5.2 Rancangan Layar New Entry
Gambar 3.11 Rancangan Layar New Entry
Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut.
• Judul form dengan tulisan ’Voice Recognizer’.
• Kotak dengan tanda ’X’ di samping judul memiliki fungsi untuk keluar dari program.
• Kotak dengan tanda ’_’ di samping judul memiliki fungsi untuk menyembunyikan layar.
• Text box di samping tulisan ’Name’ berfungsi sebagai masukan nama user.
• Text box di samping tulisan ’Date Of Birth’ berfungsi sebagai masukan tanggal lahir user.
Biodata
Name :
Date of birth :
Gender : Man Woman
Submit Cancel
Voice Recognizer
• Radio Button di samping tulisan ’Gender’ berfungsi sebagai masukan jenis kelamin user.
• Tombol menu ’Submit’ memiliki fungsi untuk melanjutkan ke proses rekam suara.
• Tombol menu ’Cancel’ memiliki fungsi untuk kembali ke menu utama.
Pada layar ”New Entry” ini, user akan mengisi biodata dirinya. Jika user tidak ingin melanjutkan pengisian database baru, terdapat tombol ”Cancel” yang berfungsi untuk kembali ke layar Menu Utama. Akan tetapi, jika user ingin melanjutkan pengisian database baru, user akan memilih tombol ”Submit” yang akan melakukan pengecekan pengisian biodata. Jika terdapat kesalahan pengisian biodata, maka akan muncul pesan error. Setelah pengisian biodata dilakukan dengan benar, tombol ”Submit” akan membawa user ke layar ”Rekam Suara” yang berfungsi untuk merekam suara.
3.5.3 Rancangan Layar Rekam Suara
Gambar 3.12 Rancangan Layar Menu Rekam Suara
Voice Recognizer
Katakan A
Record
Save Continue
Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut.
• Judul form dengan tulisan ’Voice Recognizer’.
• Kotak dengan tanda ’X’ di samping judul memiliki fungsi untuk keluar dari program.
• Kotak dengan tanda ’_’ di samping judul memiliki fungsi untuk menyembunyikan layar.
• Tombol menu ’Record’ memiliki fungsi untuk merekam suara yang masuk selama 2 detik.
• Tombol menu ’Save’ memiliki fungsi untuk menyimpan rekaman suara ke dalam file berekstension wav.
• Tombol menu ’Continue’ memiliki fungsi untuk melanjutkan ke form selanjutnya.
Pada awalnya, hanya ada 1 tombol yang dapat ditekan, yaitu tombol ”Record”.
Tombol ini memiliki fungsi untuk melakukan rekaman suara. Setelah perekaman selesai, maka tombol ”Save” bisa dipilih. Fungsi dari tombol ”Save” ini adalah untuk menyimpan rekaman tadi ke dalam suatu bentuk file berekstension wav. Kemudian tombol ”Continue” yang berguna untuk melanjutkan ke layar berikutnya akan enable.
Pada saat tombol ”Continue” dipilih, akan dilakukan pengecekan layar awal.
Apabila pada saat menu utama user memilih tombol ”New Entry”, maka layar berikutnya yang akan ditampilkan adalah layar ”Masuk”. Namun, jika pada saat menu utama user memilih tombol ”Identify Voice”, maka layar berikutnya yang akan ditampilkan adalah layar ”Hasil”.
3.5.4 Rancangan Layar Masuk
Gambar 3.13 Rancangan Layar Masuk
Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut.
• Judul form dengan tulisan ’Voice Recognizer’.
• Kotak dengan tanda ’X’ di samping judul memiliki fungsi untuk keluar dari program.
• Kotak dengan tanda ’_’ di samping judul memiliki fungsi untuk menyembunyikan layar.
• Label ’frek’ menunjukkan frekuensi rata-rata suara yang direkam.
• Label ’record’ menunjukkan jumlah record yang telah direkam.
• Tombol menu ‘Masukkan data’ memiliki fungsi untuk menghitung frekuensi dasar rata-rata suara kemudian memasukkannya ke dalam database.
• Tombol menu ‘Back to Home’ memiliki fungsi untuk kembali ke menu utama.
Pada layar ini, terdapat 2 rombol yaitu tombol “Masukkan data” dan tombol
“Back to Home”. Pada awalnya yang terlihat hanyalah tombol “Masukkan data”. Fungsi Frekuensi suara : (Frek)
Jumlah record : (Record)
Voice Recognizer
Masukkan data Back To Home
memasukkannya ke dalam database. Sebelum jumlah record mencapai 20, tombol ini akan berubah tulisan menjadi “Record more voice”, yang berfungsi untuk merekam suara untuk kemudian diolah sehingga bisa mencapai jumlah record 20 sehingga data bisa dianggap berdistribusi normal.
Ketika jumlah record sudah mencapai angka 20, maka tombol “Back to Home”
bisa ditekan. Kegunaan tombol ini adalah untuk kembali ke layar utama.
3.5.5 Rancangan Layar Hasil
Gambar 3.14 Rancangan Layar Hasil
Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut.
• Judul form dengan tulisan ’Voice Recognizer’.
• Kotak dengan tanda ’X’ di samping judul memiliki fungsi untuk keluar dari program.
• Kotak dengan tanda ’_’ di samping judul memiliki fungsi untuk menyembunyikan layar.
• Label ’nama’ menunjukkan nama orang yang sudah teridentifikasi.
• Label ‘tgl lahir’ menunjukkan tanggal lahir orang yang sudah teridentifikasi.
Name : (nama) Date of Birth : (tgl lahir)
Gender : (Pria/Wanita) Persentase : (Persen)
Voice Recognizer
Identify Voice Back To Home
• Label ‘Pria/Wanita’ diisi hanya dengan tulisan ‘Pria’ atau ‘Wanita’, menunjukkan gender orang yang sudah teridentifikasi.
• Label ‘Persen’ menunjukkan tingkat kecocokan suara yang diambil dengan suara yang terdapat dalam database.
• Tombol menu ‘Identify Voice’ memiliki fungsi untuk menghitung frekuensi rata-rata suara kemudian membandingkannya dengan database suara yang ada.
• Tombol menu ‘Back to Home’ memiliki fungsi untuk kembali ke menu utama.
Tombol yang akan ditampilkan pada awalnya hanyalah tombol “Identify Voice”.
Tombol ini memiliki fungsi untuk melakukan perhitungan frekuensi suara, kemudian dilakukan pencarian frekuensi suara dalam database yang mirip dengan frekuensi suara yang direkam. Jika terdapat frekuensi yang persentase kecocokannya di atas 90 persen, maka identitas pemilik suara akan ditampilkan berdasarkan tingkat kecocokan tersebut.
Setelah selesai, tombol “Back to Home” dapat ditekan. Kegunaan tombol “Back to Home” adalah untuk kembali ke layar utama.