Bab 3. Perancangan Sistem

dokumen-dokumen yang mirip
Bab 1. Pendahuluan. aman semakin diperlukan untuk menjamin keamanan data. Berbagai solusi proteksi

UNIVERSITAS BINA NUSANTARA

Bab 4. Implementasi Dan Evaluasi

BAB IV IMPLEMENTASI DAN EVALUASI. 4.1 Spesifikasi Hardware dan Software yang digunakan dalam penelitian

BAB III ANALISIS DAN PERANCANGAN PROGRAM APLIKASI. spesifikasi perangkat keras dan perangkat lunak yang menunjang.

BAB IV HASIL DAN PEMBAHASAN. dicolokan ke komputer, hal ini untuk menghindari noise yang biasanya muncul

ANALISIS DAN PERANCANGAN PROGRAM APLIKASI. mahasiswa Binus University secara umum. Dan mampu membantu

Pengenalan Pembicara dengan Ekstraksi Ciri MFCC Menggunakan Kuantisasi Vektor (VQ) Yoyo Somantri & Erik Haritman dosen tek elektro fptk UPI.

BAB 3 PERANCANGAN PROGRAM

PENDAHULUAN. Latar Belakang

BAB I PENDAHULUAN. Proses pengenalan kata merupakan salah satu fungsi dari

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN PERANGKAT LUNAK MENENTUKAN JENIS KAWANAN IKAN, JARAK KAWANAN IKAN, DAN POSISI KAPAL

PENDAHULUAN Tujuan Latar Belakang Ruang Lingkup Manfaat Penelitian TINJAUAN PUSTAKA Nada dan Chord Gitar

2.4. Vector Quantization Kebisingan BAB III METODOLOGI PENELITIAN Desain Penelitian Requirements Definition...

BAB 3 PERANCANGAN PROGRAM APLIKASI

PENDAHULUAN. Latar Belakang

IDENTIFIKASI CAMPURAN NADA PADA SUARA PIANO MENGGUNAKAN CODEBOOK

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. pengembangan sistem yang lazim disebut Waterfall Model. Metode ini terdiri dari enam

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 PERANCANGAN SISTEM. yang akan menjalankan perintah-perintah yang dikenali. Sistem ini dibuat untuk

i. Perangkat Keras Prosesor Intel Pentium(R) Dual-Core CPU 2.20 GHz

BAB 3 PERANCANGAN PROGRAM

udara maupun benda padat. Manusia dapat berkomunikasi dengan manusia dari gagasan yang ingin disampaikan pada pendengar.

Seminar Nasional Ilmu Komputer (SNIK 2016) - Semarang, 10 Oktober 2016 ISBN:

SISTEM AKSES BUKU PERPUSTAKAAN JURUSAN TEKNIK ELEKTRO UNIVERSITAS ANDALAS MENGGUNAKAN APLIKASI PENGENALAN WICARA DENGAN METODA MFCC-VQ dan SSE

BAB III ANALISIS DAN PERANCANGAN SISTEM

BIOMETRIK SUARA DENGAN TRANSFORMASI WAVELET BERBASIS ORTHOGONAL DAUBENCHIES

BAB 3 PERANCANGAN SISTEM. untuk pengguna interface, membutuhkan perangkat keras dan perangkat lunak.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM PROGRAM APLIKASI HANDS RECOGNIZER

BAB 3 PERANCANGAN POGRAM APLIKASI

BAB 4 METODOLOGI PEMECAHAN MASALAH DAN PERANCANGAN. 4.1 Model Rumusan Masalah dan Pengambilan Keputusan

BAB III ANALISIS DAN PERANCANGAN SISTEM. penambahan dalam sistem tersebut, maka akan untuk diselesaikan.

BAB 3 METODOLOGI PEMECAHAN MASALAH DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

APLIKASI SPEECH RECOGNITION BAHASA INDONESIA DENGAN METODE MEL-FREQUENCY CEPSTRAL COEFFICIENT

BAB III Metode Perancangan

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

BAB IV HASIL DAN PEMBAHASAN. database dan database query, secara keseluruhan menggunakan cara yang sama.

Pengenalan Suara Menggunakan Metode MFCC (Mel Frequency Cepstrum Coefficients) dan DTW (Dynamic Time Warping) untuk Sistem Penguncian Pintu

BAB 3 ANALISIS SISTEM / PROGRAM YANG BERJALAN

Sistem Verifikasi Penutur menggunakan Metode Mel Frequensi.

IDENTIFIKASI TUTUR DENGAN METODE KUANTISASI VEKTOR LINDE - BUZO - GRAY TUGAS AKHIR OLEH: YOHANES AGUNG SANTOSO PRANOTO

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

Bab 2. Landasan Teori

BAB IV HASIL DAN PENGUJIAN


BAB V IMPLEMENTASI SISTEM

BAB 3 ANALISIS DAN PERANCANGAN. Metode Inverse Modified Discrete Cosine Transform (IMDCT) yang akan

Identifikasi Pembicara dengan Menggunakan Mel Frequency Cepstral Coefficient (MFCC) dan Self Organizing Map (SOM)

tentang perubahan kondisi aplikasi dijalankan :

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN EVALUASI

BAB III METODE PENELITIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN. dilanjutkan dengan pengujian terhadap aplikasi. Kebutuhan perangkat pendukung dalam sistem ini terdiri dari :

BAB III ANALISIS DAN PERANCANGAN

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

BAB III ANALISIS DAN PERANCANGAN

APLIKASI ENKRIPSI PENGIRIMAN FILE SUARA MENGGUNAKAN ALGORITMA BLOWFISH

BAB IV HASIL DAN PEMBAHASAN

BAB 3 ANALISIS DAN PERANCANGAN. digunakan adalah suatu sistem yang terdiri dari banyaknya perulangan, baris

BAB III ANALISIS DAN PERANCANGAN SISTEM. permasalahan-permasalahan dan kebutuhan-kebutuhan yang diharapkan sehingga dapat

BAB 1 PENDAHULUAN. manusia untuk mendengar sangat luar biasa. Sistem pendengaran manusia dapat

BAB III ANALISA DAN PERANCANGAN

INDEPT, Vol. 3, No.1, Februari 2013 ISSN

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti

BAB 4 IMPLEMENTASI DAN EVALUASI. dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1.

Available online at TRANSMISI Website TRANSMISI, 13 (3), 2011,

BAB 3 PERANCANGAN SISTEM

RANCANG BANGUN APLIKASI PENGENAL PENUTUR MENGGUNAKAN METODE HIDDEN MARKOV MODEL (HMM)

BAB III METODE PENELITIAN. Tujuan tugas akhir ini akan membangun suatu model sistem yang

BAB IV PENGUJIAN DAN ANALISIS

BAB 3 PERANCANGAN PROGRAM

BAB 3 PEMBAHASAN. 3.1 Sistem Absensi Berbasis Webcam

BAB III PERANCANGAN PROGRAM

BAB III ANALISIS MASALAH

BAB I PENDAHULUAN. pernah tepat, dan sedikitnya semacam noise terdapat pada data pengukuran.

BAB 3 PERANCANGAN SISTEM. Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan user mengenai

BAB IV HASIL DAN PEMBAHASAN

IMPLEMENTASI DAN EVALUASI

BAB III ANALISA DAN PERANCANGAN SISTEM. algoritma djikstra, beberapa kebutuhan yang diperlukan meliputi : f. Menyimpan data titik, garis dan gambar

Kata Kunci: Suara; Mel Frequency Cepstral Coefficient; K-NEAREST NEIGHBOUR

BAB IV PERANCANGAN SISTEM

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2006/2007

Tugas Akhir Pengembangan Perangkat Lunak Berbasis Suara Ucapan untuk Membuka dan Mencetak Dokumen

BAB V IMPLEMENTASI SISTEM


BAB IV HASIL DAN UJI COBA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

MODUL 5 EKSTRAKSI CIRI SINYAL WICARA

BAB III PERENCANAAN SISTEM. Pada bab ini akan dijelaskan alur sistem serta desain interface dari Aplikasi Sistem Input

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN PEMBAHASAN

PENGENALAN SUARA MANUSIA DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN MODEL PROPAGASI BALIK

BAB III ANALISA DAN PERANCANGAN 3.1 ANALISA PERANGKAT LUNAK BASIS DATA MULTIMEDIA

BAB IV HASIL DAN UJI COBA

Transkripsi:

34 Bab 3 Perancangan Sistem 3.1 Gambaran Umum Sistem Aplikasi yang kami namakan Voice Protect ini, mempunyai alur program sebagai berikut: Start Enkripsi Dekripsi Pilih File Buka file enkripsi Rekam Suara Rekam Suara Feature Extraction Feature Extraction Simpan vektor suara Hitung Euclidean Distance Enkripsi Blowfish Gagal Dekripsi Blowfish Gagal Simpan file enkripsi Simpan file hasil dekripsi Gambar 3.1 Skema Sistem

35 Aplikasi Voice Protect ini diawali dengan dua pilihan, yaitu Enkripsi dan Dekripsi. Untuk melakukan enkripsi pada file, langkah-langkahnya adalah: pilih file yang akan di-enkripsi, rekam suara, lakukan feature ectraction pada suara dengan metode Mel-frequency Cepstrum Coefficient (MFCC) dan Vector Quantization, simpan vektor suara yang dihasilkan dalam file.mat, lalu, jika berhasil, baru dilakukan enkripsi. Enkripsi dilakukan dengan menggunakan teknik Blowfish Encryption yang sangat aman dan tidak dipatenkan. Untuk melakukan dekripsi prosesnya hampir sama. Hanya saja, ditambahkan perhitungan Euclidean Distance untuk melakukan pengenalan. 3.2 Proses Enkripsi Proses Enkripsi terdiri dari beberapa langkah, sesuai dengan Gambar 3.1. Detil dari langkah-langkah tersebut akan dijabarkan disini. 3.2.1 Pemilihan File File yang akan di-enkripsi bisa berupa file apa saja, kecuali file hasil dekripsi. Ukuran file tidak dibatasi, namun, sebaiknya ukuran file tidak terlalu besar. Sepuluh Mega byte adalah limit yang direkomendasikan. File ini nantinya akan dihapus, dan digantikan dengan file yang sudah di-enkripsi. Dalam melakukan pemilihan file, user akan menggunakan dialog untuk membuka file, yang umum digunakan dalam sistem operasi Windows.

36 3.2.2 Perekaman Suara Untuk merekam suara, user perlu menekan tombol record, dan Voice Protect akan merekam suara melalui microphone selama 3 detik. Bila user merasa perekamannya kurang baik, ia dapat menekan tombol record kembali, untuk merekam ulang. Hasil perekaman suara akan disimpan sementara di folder aplikasi, untuk kemudian dihapus kembali jika proses enkripsi sudah selesai. Perekaman suara harus dilakukan dengan mendekatkan mikrofon ke mulut, dan mengucapkan passwordnya dengan cukup keras, sehingga nantinya akan memudahkan dalam melakukan pengenalan. Dan akan lebih baik jika dalam melakukan perekaman, kondisi ruangan tidak bising. Sebaiknya, password diucapkan dengan nada yang datar, atau dengan nada yang biasa dan tidak dibuat-buat. Ini penting karena jika nada yang dipakai dalam enkripsi dan dekripsi terlampau berbeda, pengenalan akan sulit untuk dilakukan. 3.2.3 Feature Extraction Seperti yang sudah dijabarkan pada Bab 2, feature extraction dilakukan dengan metode Mel-frequency Cepstrum Coefficients (MFCC) yang mempunyai akurasi lebih tinggi untuk aplikasi speaker verification. Setelah itu dilanjutkan dengan membuat codebook dengan metode Vector Quantization. Modul bagian ini ditulis dalam program Matlab, yang merupakan high level programming language, sehingga lebih mudah untuk melakukan operasi matrix dan operasi matematis lainnya seperti FFT (Fast Fourier Transform). Selain itu, Matlab juga merupakan tool yang powerful untuk melakukan signal processing. Modul akan dijabarkan pada akhir bab ini.

37 3.2.4 Penyimpanan Vektor Suara Setelah dilakukan feature extraction, suara berubah menjadi vektor yang berdimensi kecil, yang memuat informasi penting tentang suara pembicara. Vektor ini disimpan dalam file.mat, yang nantinya akan digunakan dalam proses dekripsi untuk melakukan pengenalan. File ini akan disimpan dalam folder dimana file yang akan dienkripsi berada. File.mat sebetulnya adalah file data dalam program Matlab. Jadi, file ini bisa di-import ke dalam ruang lingkup Matlab. Namun, jika dibuka dengan Notepad, yang muncul adalah karakter-karakter yang tidak dapat dibaca. 3.2.5 Enkripsi Blowfish Setelah vektor suara disimpan, berarti file sudah siap di-enkripsi. Enkripsi dilakukan dengan metode Blowfish, yang mempunyai tingkat keamanan tinggi dan tidak dipatenkan. Baris program untuk enkripsi Blowfish ini akan ditulis dalam Visual Basic, karena operasi yang diperlukan hanya operasi-operasi byte seperti XOR. Modul Blowfish akan dijabarkan di akhir bab. 3.2.6 Penyimpanan File Hasil Enkripsi Setelah file selesai di-enkripsi, file tersebut akan berubah menjadi file berekstensi.vpt (Voice Protect). Artinya adalah, file ekstensi asli akan dihapus, dan file berekstensi.vpt akan dibuat untuk menggantikannya. User harus menyimpan file ini dan file.mat untuk dapat melakukan dekripsi. Jika user mencoba membuka file hasil enkripsi dengan program seperti Notepad, yang akan muncul adalah deretan karakterkarakter aneh yang tidak dapat dibaca.

38 3.3 Proses Dekripsi Proses dekripsi terdiri dari beberapa langkah, sesuai dengan Gambar 3.1. Detil dari langkah-langkah tersebut akan dijabarkan disini. 3.3.1 Pemilihan file File yang dapat dipilih untuk di-dekripsi adalah file dengan ekstensi.vpt. Open File Dialog akan memakai filter agar hanya file tersebut yang dapat dibuka. vpt adalah kependekan dari Voice Protect. Sehingga, user dapat mengidentifikasi file tersebut sebagai file yang terenkripsi. Untuk melakukan dekripsi, file tersebut harus mempunyai pasangannya dalam folder yang sama, yaitu file berekstensi.mat dengan nama file yang sama. File tersebut adalah file berisi vektor suara yang akan digunakan untuk melakukan pengenalan. Jika salah satu file hilang, maka dekripsi tidak dapat dilakukan. Maka itu sebaiknya kedua file tersebut disimpan di dalam folder khusus, sehingga memperkecil kemungkinan file tersebut terhapus secara tidak sengaja. 3.3.2 Perekaman Suara Proses perekaman suara sama dengan yang terdapat pada enkripsi. User harus mengucapkan password-nya dengan jelas dan cukup keras, dengan mendekatkan mikrofon ke mulut. Suasana ruangan pun harus tidak bising, untuk memudahkan dalam melakukan pengenalan. Dalam mengucapkan password, user harus mengucapkannya dengan nada yang mirip seperti yang diucapkan saat melakukan enkripsi.

39 Hal ini diperlukan karena pengenalan dilakukan dengan berbasis frekuensi. Maka apabila beda frekuensinya terlalu jauh, meskipun kata yang diucapkan sama, user tidak akan dikenali. Untuk mencegah hal yang tidak dinginkan, sebaiknya password diucapkan dengan nada yang biasa atau datar. 3.3.3 Feature Extraction Ekstraksi ciri (feature extraction) juga sama dengan yang terdapat pada enkripsi., yaitu dengan MFCC (Mel-frequency Cepstrum Coefficients) dan dilanjutkan dengan Vector Quantization. Hanya saja, hasil dari feature extraction ini tidak untuk disimpan, melainkan untuk dibandingkan dengan vektor suara pada saat enkripsi, agar bisa dilakukan pengenalan atau verifikasi, apakah pemilik suara tersebut berhak membuka file atau tidak. Yang dibandingkan adalah Euclidean Distance-nya, yang merupakan langkah berikutnya dari proses dekripsi ini. 3.3.4 Perhitungan Euclidean Distance Dalam metode Vector Quantization, untuk melakukan pengenalan perlu dicari besar VQ-distortion. VQ-distortion ini dilakukan dengan mencari Pairwise Euclidean Distance antara kedua vektor suara. Apabila VQ-distortion tersebut masuk dalam range yang diatur, maka dekripsi akan dilakukan. Namun apabila tidak masuk dalam range, deskripsi tidak dilakukan, dan user dianggap tidak berhak untuk membuka file tersebut. Modul ini juga ditulis dalam program Matlab, karena memerlukan kemampuan signal processing. Modul ini akan dijabarkan di akhir bab.

40 3.3.5 Dekripsi Blowfish Dekripsi dengan metode Blowfish sama persis dengan enkripsinya. Hanya saja, subkey digunakan dengan urutan terbalik. Modul ini dibuat dengan menggunakan Visual Basic, dan operasi-operasi utamanya adalah operasi byte XOR. Dekripsi dilakukan per 8 byte data, sampai data tersebut terdekripsi seluruhnya. 3.3.6 Penyimpanan Hasil Dekripsi Hasil dari dekripsi akan disimpan dalam ekstensi file yang asli, pada folder dimana file enkripsi berada. Ekstensi ini disimpan dalam file.mat bersama dengan vektor suara. Maka dari itu, keberadaan file.mat sangat penting, karena, selain menyimpan vektor suara, file itu juga menyimpan informasi mengenai ekstensi. 3.4 Rancangan Layar Layar yang ada pada aplikasi, di luar layar-layar peringatan, berjumlah empat buah, yaitu: Layar Utama, Layar Informasi, Layar Enkripsi, dan Layar Dekripsi. Hirarki dari layar-layar tersebut adalah sebagai berikut : Layar Utama Enkripsi Dekripsi Informasi Gambar 3.2 Hierarki Layar

41 3.4.1 Rancangan Layar Utama Menu utama didapat ketika program dieksekusi dengan meng-klik icon program Voice Protect. Dalam menu utama terdapat 3 tombol, yakni: Enkripsi, Dekripsi, Informasi, dan Keluar. Tombol Enkripsi berfungsi untuk melakukan enkripsi dengan menampilkan layar Enkripsi. Sedangkan tombol Dekripsi berfungsi untuk melakukan dekripsi dengan menampilkan layar Dekripsi. Apabila user ingin melihat informasi seputar cara pemakaian program secara rinci, user dapat menekan tombol Informasi. Tombol Keluar berguna untuk keluar dari aplikasi. VoiceProtect Enkripsi Dekripsi Informasi Keluar Gambar 3.3 Rancangan Layar Utama 3.4.2 Rancangan Layar Informasi Layar Informasi ini akan ditampilkan apabila user mengklik tombol Informasi pada menu utama. Layar Informasi akan menampilkan informasi tentang bagaimana cara

42 menggunakan aplikasi. Untuk kembali ke menu utama user dapat menekan tanda silang di pojok kanan atas layar. Informasi Gambar 3.3 Perancangan Layar Informasi Gambar 3.4 Rancangan Layar Informasi 3.4.3 Perancangan Layar Enkripsi Setelah menekan tombol Enkripsi pada layar utama maka user akan masuk pada layar Enkripsi. Untuk melakukan enkripsi, user harus terlebih dahulu memilih file yang akan di-enkripsi dengan menekan tombol Buka File. Setelah memilih file, user perlu merekam password suaranya dengan menekan tombol record. Voice Protect akan merekam suara selama tiga detik, jadi user harus bersiap-siap di depan microphone-nya. Setelah merekam suara, proses enkripsi siap dilakukan. Untuk melakukan enkripsi, user perlu menekan tombol Lakukan Enkripsi!. Lalu, Voice Protect akan meng-enkripsi file yang telah dipilih. Setelah proses selesai, sebuah pesan akan muncul, apakah enkripsi berhasil dilakukan, atau tidak. Untuk kembali ke ke layar utama, user dapat menekan tombol Kembali.

43 Enkripsi Lakukan Enkripsi! Kembali Gambar 3.5 Perancangan Layar Enkripsi 3.4.4 Rancangan Layar Dekripsi Setelah memilih file, user perlu mengucapkan password dengan menekan tombol record. Dan, proses dekripsi siap dilakukan. Untuk melakukan dekripsi (dan verifikasi suara tentunya), user perlu menekan tombol Lakukan Dekripsi!. Dekripsi Lakukan Dekripsi! Kembali Gambar 3.6 Perancangan Layar Dekripsi Apabila setelah dilakukan feature extraction dan Vector Quantization suara tersebut cocok dengan suara yang tersimpan, maka dekripsi akan dilakukan. Apabila

44 tidak cocok, maka akan muncul pesan bahwa user tidak berhak untuk membuka file tersebut. Untuk kembali ke menu utama, user dapat menekan tombol Kembali. 3.5 State Transition Diagram Berikut ini adalah State Transition Diagram (STD) untuk proses enkripsi dan dekripsi. Kedua diagram ini akan digunakan sebagai panduan dalam membuat alur program, sehingga dapat dihasilkan aplikasi yang terstruktur dengan baik.

Gambar 3.7 State Transition Diagram pada Proses Enkripsi 45

46 Tekan tombol infomasi_ Tampilkan menu Informasi Menu Informasi Tekan tombol keluar Keluar dari menu informasi Menu Utama Tekan tombol enkripsi Tampilkan menu enkripsi Menu Dekripsi Tekan tombol keluar Keluar dari program Gagal Tampilkan menu enkripsi Tekan tombol buka file Tampilkan menu buka file Buka File Gagal Tampilkan menu dekripsi Tekan tombol sebutkan password Sebutkan password suara Sebutkan Password 1 Tekan tombol dekripsi Dekripsi file Dekripsi Berhasil Kembali ke menu utama Gambar 3.8 State Transition Diagram pada Proses Dekripsi 3.6 Spesifikasi Modul Modul-modul pada aplikasi ini terdiri dari dua bagian, yaitu modul Visual Basic, dan modul Matlab. Modul pada Visual Basic terdiri dari modul untuk enkripsi dan dekripsi. Sedangkan modul Matlab adalah modul yang akan dipanggil untuk melakukan

47 komputasi-komputasi dalam melakukan pengenalan pembicara atau speaker verification, yaitu Proses Signal dan Verifikasi. 3.5.1. Modul Enkripsi Blowfish Modul ini berfungsi untuk mengenkripsi file input dengan melakukan enkripsi Blowfish setiap 8 byte data. Enkripsi dilakukan dengan memanggil modul Enkripsi Byte. Detail modul ini adalah sebagai berikut: Buka File Input dan File Output Hitung Padding yang dibutuhkan untuk 8 byte Block Lakukan Perulangan sebanyak jumlah Block Baca File Input dalam 8 byte Block Ambil Block berikutnya Enkripsi dan Tulis ke File Output Lakukan Pad pada Block terakhir Lakukan Enkripsi Byte Tulis File Output 3.5.2. Modul Enkripsi Byte Modul ini berfungsi untuk mengenkripsi 8 byte dari file input dengan melakukan operasi-operasi XOR. Detail modul ini adalah sebagai berikut:

48 Inisialisasikan Variabel xl dan xr Pecah input byte x menjadi xl (0-3) dan xr (4-7) Untuk i = 0 sampai (jumlah round -1) Lakukan xl = xl XOR subkey ke-i xr = blf_f(xl) XOR xr Tukar xl dan xr Tukar xl dan xr xr = xr XOR subkey ke-(banyaknya round 1) xr = xl XOR subkey ke-banyaknya round Kembalikan xl dan xr kedalam bentuk byte 3.5.3. Modul Dekripsi Blowfish Modul ini berfungsi untuk mendekripsi file input dengan melakukan dekripsi Blowfish setiap 8 byte data. Dekripsi dilakukan dengan memanggil modul Dekripsi Byte. Detail modul ini adalah sebagai berikut: Buka File Input dan File Output Hitung banyak 8 byte Block yang harus dibaca Lakukan Perulangan sebanyak jumlah Block Baca File Input dalam 8 byte Block kecuali Block terakhir Ambil Block berikutnya Dekripsi dan Tulis ke File Output Baca Block terakhir Lakukan Dekripsi Byte Tulis File Output

49 3.5.4. Modul Dekripsi Byte Modul ini berfungsi untuk mendekripsi 8 byte dari file input dengan melakukan operasi-operasi XOR. Detail modul ini adalah sebagai berikut: Inisialisasikan Variabel xl dan xr Pecah input byte x menjadi xl (0-3) dan xr (4-7) Untuk i = (jumlah round + 1) sampai 2 dengan Step 1 Lakukan xl = xl XOR subkey ke-i xr = blf_f(xl) XOR xr Tukar xl dan xr Tukar xl dan xr xr = xr XOR subkey ke-1 xr = xl XOR subkey ke-0 Kembalikan xl dan xr kedalam bentuk byte 3.5.5. Modul Proses Signal Modul ini adalah modul yang dipanggil untuk melakukan pemrosesan sinyal suara, mulai dari membaca file suara, mengubahnya dengan teknik Mel-frequency Cepstrum Coefficient, melakukan Vector Quantization untuk membuat codebook, dan menyimpan vektor suara yang dihasilkan dalam ekstensi.mat. Detail modul ini adalah sebagai berikut: Baca file suara Lakukan MFCC dengan sampling rate 8000 Lakukan Vector Quantization dengan jumlah centroid 16 Simpan Vektor Suara

50 3.5.6. Modul Verifikasi Modul ini dipanggil untuk melakukan perbandingan antara vektor suara yang telah disimpan dengan suara yang baru saja direkam. Modul ini seperti modul Proses Signal juga memanggil modul MFCC dan Vector Quantization. Output dari modul ini adalah true, jika kedua suara tersebut sama, dan false, jika berbeda. Detail modul ini adalah sebagai berikut: Baca file vektor suara yang telah disimpan Baca file suara yang baru saja direkam Lakukan MFCC dengan sampling rate 8000 Lakukan Vector Quantization dengan jumlah centroid 16 Cari Euclidean Distance dari kedua vektor suara Cari rata-rata dari Euclidean Distance Jika Distance > 2 dan Distance < 3 Return True Lainnya Return False 3.5.7. Modul MFCC Modul ini berfungsi untuk mengubah sinyal suara menjadi vektor dalam skala mel-frequency. Pertama-tama, dilakukan frame blocking pada sinyal suara, lalu windowing dengan teknik hamming window, operasi FFT, mengubah matriks menjadi matriks dalam skala mel-frequency, dan mengubah matriks ke dalam skala logaritmik. Detail modul ini adalah sebagai berikut:

51 Inisialisasikan Variabel m = 100 Variabel n = 256 Variabel l = panjang signal Hitung nbframe Untuk i = 1 sampai n Untuk j = 1 sampai nbframe Matriks M(i,j) = signal(((j-1)*m) + i) h = hamming window dari n Matriks M2 = diagonal matriks dari h * m Untuk i = 1 sampai nbframe Lakukan FFT Ubah matriks menjadi matriks mel-frequency Ubah matriks dalam skala logaritmik 3.5.8. Modul Vector Quantization Modul ini berfungsi untuk membuat codebook dengan teknik Vector Quantization terhadap vektor suara hasil MFCC. Detail modul ini adalah sebagai berikut: Inisialisasikan Variabel r = rata-rata dari matriks input Variable dpr = 10000 Untuk i = 1 sampai logaritma basis 2 dari jumlah centroid r = [ r * (1+e), r * (1-e)] Lakukan terus-menerus Cari Euclidean Distance dari matriks input dan r Inisialisasikan Variabel t = 0 Untuk j = 1 sampai 2 pangkat i Hitung r dengan mencari rata-rata dari matriks input Hitung x dengan Euclidean Distance dari r Hitung t dengan menjumlahkan komponen x Jika (dpr t)/t < e Maka Keluar

52 3.5.9. Modul Euclidean Distance Modul ini dipanggil oleh modul Vector Quantization untuk mencari Euclidean Distance, atau jarak Euclidean diantara dua vektor suara. Detail modul ini adalah sebagai berikut: Cari ukuran vektor X Simpan dalam M dan N Cari ukuran vektor Y Simpan dalam M2 dan P Jika M tidak sama dengan M2 Maka Kembalikan nilai false d = matriks nol dengan dimensi N x P Jika N < P Maka copies = matriks nol dengan dimensi 1 x P Untuk n = 1 sampai N Lakukan Matriks d baris ke n = jumlah dari ((kolom matriks x kr n+copies)-y) 2 Lainnya copies = matriks nol dengan dimensi 1 x N Untuk p = 1 sampai P Matriks d kolom ke p = jumlah dari (( matriks x matriks y kolom p + copies) 2 d = sqrt d

53 3.5.10 Modul Main Program Jika CloseButton ditekan maka Unload VoiceProtect Jika EncryptButton ditekan maka Unload VoiceProtect Load dan Tampilkan Menu Encrypt Jika DecryptButton ditekan maka Unload VoiceProtect Load dan Tampilkan Menu Decrypt Jika HelpButton ditekan maka Load dan Tampilkan Menu Help 3.5.11 Modul Form Enkripsi Inisialisasi namafileencrypt, namafilesound, namafilemat, dan extention sebagai String Inisialisasi hasiltrain sebagai Variant Inisialisasi recorderstatus dan enkripsistatus sebagai Boolean Inisialisasi speaker sebagai SpeakerVerificationClass Jika EncryptButton ditekan maka Jika TextBox kosong maka Tampilkan pesan Anda belum memilih file yang dienkripsi Jika recorderstatus = false maka Tampilkan pesan Anda belum merekam suara Simpan suara yang telah direkam Simpan ekstention dan namafile dari file yang akan dienkripsi

54 Panggil Modul prosessignal Panggil Modul Enkripsi Blowfish Jika Enkripsi berhasil maka Hapus file asli Set enkripsistatus menjadi true Tampilkan Enkripsi file berhasil Lainnya Tampilkan Enkripsi gagal dilakukan Jika OpenButton ditekan maka Tampilkan OpenButtonDialog Jika BackButton ditekan maka Unload Menu Enkripsi Load dan Tampilkan Menu Utama 3.5.12 Modul Form Dekripsi Inisialisasi namafiledecrypt, namafilesound, namafilemat, dan extention sebagai String Inisialisasi recorderstatus dan dekripsistatus sebagai Boolean Inisialisasi speaker sebagai SpeakerVerificationClass Jika DecryptButton ditekan maka Jika TextBox kosong maka Tampilkan pesan Anda belum memilih file yang dienkripsi Jika recorderstatus = false maka Tampilkan pesan Anda belum mengucapkan passwordnya Simpan suara yang telah direkam Ambil ekstention dan namafile dari file yang akan dienkripsi Panggil Modul verifikasi Jika verifikasi mengembalikan nilai 1 maka Panggil Modul Dekripsi Blowfish Jika Dekripsi berhasil maka

55 Hapus File Dekripsi Tampilkan Dekripsi berhasil Lainnya Tampilkan Dekripsi gagal Lainnya Tampilkan Anda tidak berhak membuka file ini Jika OpenButton ditekan maka Tampilkan OpenButtonDialog Jika BackButton ditekan maka Unload Menu Enkripsi Load dan Tampilkan Menu Utama