• Tidak ada hasil yang ditemukan

PERANCANGAN SISTEM PENGAMANAN FILE DENGAN PASSWORD SUARA

N/A
N/A
Protected

Academic year: 2022

Membagikan "PERANCANGAN SISTEM PENGAMANAN FILE DENGAN PASSWORD SUARA"

Copied!
85
0
0

Teks penuh

(1)

TUGAS AKHIR

PERANCANGAN SISTEM PENGAMANAN FILE DENGAN PASSWORD SUARA

Diajukan Guna Melengkapi Salah Satu Persyaratan Untuk Memperoleh Gelar Sarjana ( S1 )

Program Study Teknik Telekomunikasi

Disusun Oleh : Udit Iwandito ( 01403 – 004 )

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS MERCU BUANA JAKARTA

2010

(2)

ABSTRAK

Perancangan sistem pengamanan file dengan password suara pada penelitian ini dilakukan untuk menciptakan suatu aplikasi enkripsi file yang lebih aman dibandingkan dengan aplikasi enkripsi standar yang hanya memerlukan password berupa karakter. Solusi yang dipilih yaitu dengan penggunaan speaker verification sebagai pengganti password. Dengan kata lain, untuk membuka proteksi, user perlu megucapkan passwordnya. Metode penelitian yang dipakai yaitu studi pustaka dan analisis mengenai algoritma enkripsi dan metode pengenalan suara yang paling baik. Hasilnya merupakan sebuah aplikasi enkripsi file dengan password suara yang menggunakan algoritma enkipsi blowfish dan menggunakan metode Mel-Frequency Cepstrum Coefficients (MFCC) dan Vector Quantization sebagai metode untuk melakukan pengenalan pembicara (Speaker Verification). Setelah penelitian selesai, dapat disimpulkan bahwa enkripsi Blowfish termasuk algoritma enkripsi yang paling aman saat ini, dan MFCC – Vector Quantization (dengan VQ-distortion antara 2 sampai 3) merupakan metode pengenalan pembicara yang cukup baik, walaupun masih memerlukan lingkungan yang tidak bising dalam perekaman suara, dan cara pengucapan/intonasi yang tidak berubah.

Kata Kunci

Pengenalan suara, speaker verification, enkripsi Blowfish, Mel-frequency Cepstrum Coefficients, Vector Quantization

(3)

KATA PENGANTAR

Alhamdulillah, puji dan syukur kami panjatkan kehadirat ALLAH SWT, yang telah melimpahkan nitmat,rahmat dan karunia-Nya menyelesaikan penyusunan laporan Tugas Akhir ini dengan baik.

Laporan Tugas Akhir ini kami susun sebagai pertanggung jawaban kami untuk memenuhi salah satu syarat dalam menyelesaikan program studi Strata 1 (S1), dengan beban sebanyak 6 sks.

Laporan Tugas Akhir ini mengambil judul “PERANCANGAN SISTEM PENGAMANAN FILE DENGAN PSSWORD SUARA”. Yaitu sistem proteksi file dengan menggunakan password suara, dan file-file yang telah diproteksi tersebut dapat dibuka dengan mengucapkan password -nya kembali.

Dengan ikhlas dan perasaan yang tulus kami ingin mengucapkan “terima kasih” kepada pihak yang telah membantu baik secara moril ataupun materil atas tersusunnya laporan Tugas Akhir ini. Ucapan terima kasih ini kami tujukan kepada:

1. Ibu dan Ayah kami tercinta, selaku orang tua yang telah memberikan doa dan biayanya dalam menyelesaikan Tugas Akhir ini.

2. Bapak. Dr,-ing. Mudrik Alaydrus, selaku pembimbing Tugas Akhir dan juga memberikan motivasi dan dukungannya.

3. Bapak Ir. Yudhi Gunardi, MT, selaku ketua jurusan Teknik Elektro, dan Koordinator Tugas Akhir.

4. Saudara Albertus Pramayudha, yang telah membantu dalam pengerjaan pembuatan program ini.

5. Teman-teman Angkatan 2003, yang telah memberikan dukungan serta doa tanpa saya sebutkan nama satu-persatu.

6. Semua pihak yang tak dapat penulis sebutkan satu persatu yang telah banyak membantu secara langsung maupun tidak langsung.

(4)

Kami menyadari bahwa laporan TA ini masih banyak terdapat kekurangan ataupun kesalahan baik berupa penulisan, penyajian dan penyusunan. Oleh karena itu kami sangat mengharapkan kritik dan saran yang positif dan bersifat membangun dari semua pihak, sehingga penyusunan laporan TA ini akan menjadi lebih baik dan bermanfaat.

Jakarta, Agustus2010

Penulis

(5)

DAFTAR ISI

HALAMAN JUDUL ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... vii

DAFTAR TABEL

... ix

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Tujuan Penulisan ... 2

1.3 Batasan Masalah ... 2

1.4 Metode penelitian ... 3

1.5 Sistematika Penulisan ... 3

BAB II LANDASAN TEORI ... 4

2.1 Kriptografi ... 5

2.1.1 Sejarah Singkat... 6

2.1.2 Symmetric dan Asymmetric Cryptosystem ... 6

2.1.3 Serangan Cryptanalyst ... 7

2.1.4 Password dan jenis kunci enkripsi lainnya... 8

2.1.5 Penggunaan Enkripsi... 9

2.2 Teknik Enkripsi Blowfish ... 10

2.2.1 Latar Belakang ... 10

2.2.2 Algoritma Blowfish... 11

2.3 Pengenalan Suara ... 13

2.3.1 Aplikasi Pengenalan Suara... 14

2.3.2 Proses Pengenalan Suara Secara Identifikasi dan Verifikasi... 15

(6)

2.3.3 Aplikasi Pengenalan Suara secara

Online dan offline ... 16

2.3.4 Parameter Pengenalan Suara... 17

2.3.5 Faktor penyebab kesalahan proses Identifikasi dan verifikasi... 19

2.4 Pemprosesan Suara ... 21

2.5 Pemprosesan Sinyal ... 23

2.5.1 Mel-Frequency Cepstrum Coefficients... 25

2.5.1.1 Frame Blocking ... 26

2.5.1.2 Windowing ... 27

2.5.1.3 FFT... 29

2.5.1.4 Mel-Frequency wrapping ... 33

2.5.1.5 Cepstrum ... 34

2.5.2 Vector Quantization ... 34

BAB III PEMBAHASAN ... 36

3.1 Gambaran Umum Sistem ... 36

3.2 Proses Enkripsi ... 37

3.2.1 Pemilihan File ... 37

3.2.2 Perekaman Suara... 38

3.2.3 Enkripsi Blowfish ... 38

3.2.4 Penyimpanan Hasil Deskripsi ... 39

3.3 Proses Deskripsi ... 39

3.3.1 Pemilihan File ... 39

3.3.2 Perekaman Suara... 40

3.3.3 Feature Extraction ... 40

3.3.4 Perhitungan Euclidean Distance ... 40

3.3.5 Dekripsi Blowfish... 41

3.3.6 Penyimpanan Hasil Dekripsi... 41

(7)

3.4 Rancangan Layar ... 41

3.4.1 Rancangan Layar Utama... 42

3.4.2 Rancangan Layar Informasi ... 42

3.4.3 Perancangan Layar Enkripsi ... 43

3.4.4 Perancangan Layar Deskripsi... 44

3.5 State Transition Diagram ... 45

BAB IV IMPLEMENTASI DAN EVALUASI ... 47

4.1 Spesifikasi software dan Hardware yang Digunakan dalam Penelitian ... 47

4.2 Tampilan Layar ... 47

4.2.1 Tampilan Layar Menu Utama ... 48

4.2.2 Tampilan Layar Informasi... 48

4.2.3 Tampilan Layar Enkripsi... 49

4.2.4 Tampilan Layar Deskripsi... 51

4.3 Evaluasi Hasil Penelitian ... 54

4.3.1 Percobaan dengan menggunakan Password Sama Dengan User yang Sama ... 57

4.3.2 Percobaan dengan menggunakan Password Sama Pada User yang Berbeda ... 61

4.3.3 Percobaan dengan menggunakan Password berbagai Macam Password ... 63

BAB V PENUTUP ... 65

5.1 Kesimpulan ... 65

5.2 Saran... 66

DAFTAR PUSTAKA

... 67

LAMPIRAN

... 68

(8)

DAFTAR GAMBAR

Gambar 2.1 Perbedaan proses verifikasi suara pada proses Offline (atas) dan

Online (bawah) ... 16

Gambar 2.2 Organ wicara manusia... 21

Gambar 2.3a Sederet impuls yang sama ... 22

Gambar 2.3b Variasi pada frekuensi pitch... 22

Gambar 2.4 Proses produksi suara, pembangkian ucapan /a/ panjang (atas), pembangkitan ucapan /f/ (bawah) ... 23

Gambar 2.5 Diagram Block Prapemprosesan Sinyal ... 24

Gambar 2.6 Input Suara ... 24

Gambar 2.7 Prosesor Mel-frequency Cepstrum Coefficients ... 26

Gambar 2.8 Input Suara Setelah Melalui Tahap Frame Blocking ... 26

Gambar 2.9 Spektrum dengan Window Hanning ... 28

Gambar 2.10 Spektrum dengan Window Hamming... 29

Gambar 2.11 Waktu Komputasi yang Diperlukan untuk Proses O(NlogN) ... 30

Gambar 2.12 Suatu Filter Segitiga ke i dengan tinggi l ... 33

Gambar 3.1 Skema Sistem ... 36

Gambar 3.2 Hirarki Layar... ... 41

Gambar 3.3 Rancangan Layar Utama... ... 42

(9)

Gambar 3.4 Rancangan Layar Informasi... ... 43

Gambar 3.5 Rancangan Layar Enkripsi... ... 44

Gambar 3.6 Rancangan Layar Deskripsi... ... 44

Gambar 3.7 State Transition Diagram Pada Proses Enkripsi... 45

Gambar 3.8 State Transition Diagram Pada Proses Deskripsi... ... 46

Gambar 4.1 Tampilan Layar Menu Utama... ... 51

Gambar 4.2 Tampilan Layar Informasi... 42

Gambar 4.3 Tampilan Layar Enkripsi... 52

Gambar 4.4 Tampilan Layar Enkripsi Saat Memilih File... 53

Gambar 4.5 Tampilan Kotak Pesan saat akan merekam Password pada Enkripsi... 53

Gambar 4.6 Tampilan Layar Enkripsi Dengan Pesan Berhasil... 54

Gambar 4.7 Tampilan Layar Deskripsi... 55

Gambar 4.8 Tampilan Layar Deskripsi Saat Memilih File... 55

Gambar 4.9 Tampilan Layar Deskripsi Dengan Pesan Berhasil... 56

Gambar 4.10 Tampilan Layar Deskripsi Dengan Pesan Gagal... 57

(10)

DAFTAR TABEL

Tabel 2.1 Parameter Pengenalan Suara ... .. 17

Tabel 4.1 Percobaan dengan Password yang Sama dari User yang Sama

yang diucapkan oleh Udit... .. 58

Tabel 4.2 Percobaan dengan Password yang Sama dari User yang Sama

yang diucapkan oleh Harry ... .. 59 Tabel 4.3 Percobaan dengan Password yang Sama dari User yang Berbeda

dengan password yang diucapkan oleh Udit ... .. 61 Tabel 4.4 Percobaan dengan Password yang Sama dari User yang Berbeda dengan password yang diucapkan oleh Harry... .. 62

Tabel 4.5 Percobaan dengan berbagai macam password dengan 5

percobaan ... .. 63

(11)

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Di era teknologi informasi khususnya internet, keberadaan sistem proteksi yang aman semakin diperlukan untuk menjamin keamanan data. Berbagai solusi proteksi tersedia seperti penggunaan password dalam bentuk karakter, pengenalan tanda tangan, pemindaian sidik jari, pemindaian retina/iris mata, dan lain-lain. Namun ada solusi yang cukup sederhana jika dilihat dari kebutuhan hardware, dan memiliki tingkat keamanan yang cukup tinggi. Solusi tersebut adalah pengenalan suara / voice recognition.

Pengenalan suara semakin banyak digunakan saat ini. Mulai dari penggunaan suara untuk memberikan perintah-perintah pada komputer, voice- dialing pada telepon selular, sampai penggunaan ucapan untuk mencatat report di bidang kedokteran. Pada sistem keamanan komputer pun pengenalan suara sudah mulai banyak digunakan, karena sistem ini tidak mudah untuk ditembus, dan tidak terlalu memerlukan hardware tambahan. Cukup dengan mikrofon dan sound card standar.

Dalam penelitian ini, sistem proteksi dikhususkan pada enkripsi file.

Sistem enkripsi file yang kebanyakan tersedia sekarang ini hanya membutuhkan karakter

(12)

beberapa digit sebagai password untuk memproteksi dan membuka proteksi.

Namun, seringkali password berupa karakter ini dianggap kurang memadai, karena bila password tersebut diperoleh orang lain, maka orang tersebut akan dapat membuka proteksi dengan mudah.

Di bagian inilah pengenalan suara diterapkan. Password itu diganti bentuknya menjadi sinyal suara. Suara setiap orang adalah khas. Maka, hanya orang yang melakukan proteksi yang dapat membukanya. Gabungan dari teknik enkripsi yang baik dan pengenalan suara yang akurat menjadikan sistem proteksi seperti ini mempunyai tingkat keamanan yang tinggi.

1.2 Tujuan Penulisan

Pembuatan aplikasi ini bertujuan untuk menyediakan sistem proteksi file dengan menggunakan password suara, dan file-file yang telah diproteksi tersebut dapat dibuka dengan mengucapkan password -nya kembali. Manfaatnya adalah memberikan alternatif pengamanan data yang mudah dan terjamin keamanannya.

1.3 Batasan Masalah

Aplikasi dari perancangan sistem ini, penulis membatasi masalahnya pada Membahas analisa, perancangan sistem, implementasi dan evaluasi program tersebut.

(13)

1.4 Metode Penelitian

Untuk menyelesaikan skripsi ini, dilakukan dengan menggunakan metode penelitian sebagai berikut :

a. Studi Kepustakaan

Mencari dan mempelajari teori-teori yang diperlukan melalui buku-buku, dokumen-dokumen, diktat dan catatan kuliah serta artikel-artikel yang diperoleh dari internet

b. Penelitian

Perancangan aplikasi dan simulasi sistem pengamanan file dengan menggunakan perangkat lunak visual basic 6.0, dilanjutkan dengan implementasi dan evaluasi dari aplikasi sistem tersebut.

1.5 Sistematika Penulisan

Isi dari skripsi yang terdiri dari 5 bab ini secara garis besar adalah : Bab 1: Pendahuluan

Pada Bab ini dibahas tentang latar belakang , tujuan, dan manfaat dari penulisan skripsi ini. Selain itu juga dibahas mengenai metodologi penelitian yang dipakai dalam penulisan skripsi ini.

Bab 2: Landasan Teori

Pada bab ini akan dibahas mengenai teori-teori yang menunjang untuk membuat aplikasi ini. Teori-teori itu antara lain teori mengenai teknik enkripsi yang kami gunakan (Blowfish Encryption), teori dalam melakukan ekstraksi fitur (feature extraction ) yaitu Mel-frequency

(14)

Cepstrum Coefficient, dan teori untuk melakukan pengenalan suara, yaitu Vector Quantization

Bab 3: Analisis dan Perancangan

Pada bab ini diuraikan mengenai rancangan aplikasi, yang dibagi menjadi dua bagian, yaitu proses enkripsi dan proses dekripsi. Masing-masing proses dibahas secara detil mulai dari proses pengambilan suara, proses ekstraksi fitur, proses pengenalan suara, dan proses enkripsi/dekripsi. Bab ini juga berisi State Transition Diagram (STD) dan rancangan layar yang akan digunakan sebagai antarmuka aplikasi ini.

Bab 4: Implementasi dan Evaluasi

Setelah program selesai dibuat, selanjutnya dilakukan implementasi dan evaluasi program tersebut. Evaluasi dilakukan dengan melakukan serangkaian uji coba / testing untuk mengetahui, seberapa baik tingkat pengenalan suaranya.

Bab 5: Kesimpulan dan Saran

Berisi tentang kesimpulan dan saran bahasan permasalahan dari Tugas akhir ini.

(15)

BAB II

LANDASAN TEORI

Bab ini menjabarkan teori-teori yang kami gunakan sebagai landasan untuk membuat aplikasi ini, dan juga sejarah dibalik perkembangannya. Dimulai dari kriptografi, sebagai landasan untuk enkripsi, algoritma enkripsi Blowfish, sejarah pengenalan suara, sinyal analog, sinyal digital, dan pengenalan pembicara (speaker recognition).

2.1 Kriptografi

Kriptografi menurut Burton (2002, p144) adalah suatu teknik atau metode yang bertujuan untuk melindungi informasi yang dikirimkan melalui jaringan komunikasi publik. Proses kriptografi dilakukan dengan memberikan suatu nilai untuk setiap satuaninformasi terkecil, lalu juga membutuhkan variabel lain yang disebut kunci enkripsi (encryption key) untuk melakukan transformasi pergeseran terhadap informasi yang akan dienkripsi (Denning, 1983, p1). Kriptanalisis (cryptanalysis) merupakan ilmu dan seni pembongkaran data, informasi atau pesan. Kriptologi adalah paduan dari kriptografi dan kriptanalisis.Fungsi-fungsi yang mendasar dalam kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah suatu proses mengubah pesan asli (plain text) menjadi suatu pesan dalam bahasa sandi (cypher text). Sedangkan dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi bahasa asli kembali. Cryptanalyst adalah seorang

(16)

pakar kriptografi yang mempelajari atau mengamati suatu cyphertext dan pada umumnya bermaksud untuk membongkar ciphertext tersebut.

2.1.1 Sejarah Singkat

Enkripsi bukanlah barang baru dalam memproteksi suatu informasi.

Enkripsi sudah dimulai digunakan sejak tahun 1900 SM, yaitu berupa surat rahasia dimana hanya orang tertentu yang dituju mengetahui cara membacanya.

Salah satu yang dikenal pada saat itu adalah ‘Julius Cipher’ atau ‘Caesar Cipher’(Stallings, 1995, p29), enkripsi sederhana yang dibuat oleh Julius Caesar untuk mengirimkan surat rahasianya, yang nantinya dikenal juga dengan shift transformation cryptosystem, yaitu sistem enkripsi dengan cara menggeser huruf- huruf dalam setiap pesannya sejauh tiga huruf.

2.1.2 Symmetric dan Asymmetric Cryptosystem

Cryptography dibagi menjadi dua jenis berdasarkan jumlah kunci yang dipakai, yaitu symmetric cryptosystem dan asymmetric cryptosystem. Symmetric cryptosystem adalah cryptosystem yang menggunakan satu kunci enkripsi yang sama untuk proses enkripsi maupun dekripsi (Columbitect, 2001). Contohnya adalah Shift Transformation Cryptosystem.

Asymmetic cryptosystem adalah cryptosystem yang menggunakan dua kunci enkripsi berbeda yang dikenal dengan public key dan private key untuk melakukan enkripsi dan dekripsi (Columbitech, 2001).

Jenis enkripsi ini pertama kali diperkenalkan oleh Whitfield Diffie (1975) yangdikenal sebagai Public-Key Cryptography (Stallings, 1995, p164-165). Jadi

(17)

kita dapat memberikan private key kepada orang lain yang ingin mengakses informasi yang kita enkripsi tanpa diketahui kunci enkripsinya.

2.1.3 Serangan Cryptanalyst

Cryptanalysis adalah ilmu pembongkaran suatu plaintext tanpa menggunakan key. Cryptanalysis yang berhasil dapat membongkar plaintext atau key dari suatu cryptosystem dan dapat menemukan kelemahan dalam suatu cryptosystem sehingga pada akhirnya memudahkannya membongkar plaintext atau key tersebut. Suatu percobaan untuk membongkar

suatu cryptosystem disebut attack (serangan). Terdapat enam jenis serangan cryptanalysis, diurutkan berdasarkan kekuatan. Setiap serangan berasumsi bahwa seorang cryptanalyst mempunyai pengetahuan lengkap mengenai algoritma enkripsi yang digunakan.

a. Ciphertext-only attack

Pada serangan ini cryptanalyst mempunyai ciphertext dari beberapa pesan, yang kesemuanya telah di-encrypt menggunakan algoritma enkripsi yang sama.

b. Known-plaintext attack

Cryptanalyst tidak hanya mempunyai ciphertext dari beberapa pesan, tetapi juga mempunyai plaintext dari pesan-pesan tersebut.

c. Chosen-plaintext attack

Cryptanalyst tidak hanyak mempunyai pasangan ciphertext dan plaintext dari beberapa pesan tetapi juga memilih plaintext yang telah di- encrypt. Serangan jenis ini lebih kuat dari known-plaintext attack karena

(18)

cryptanalyst dapat memilih blok plaintext tertentu yang mungkin menghasilkan lebih banyak informasi mengenai key-ny

d. Adaptive-chosen plaintext attack

Ini adalah kondisi khusus dari chosen-plaintext attack.

Cryptanalyst tidakhanyak dapat memilih plaintext untuk di-encrypt tetapi juga dapat memodifikasi pilihannya berdasarkan hasil enkripsi sebelumnya. Dalam chosen-plaintext attack, cryptanalyst mungkin hanya dapat memilih satu blok besar plaintext untuk di-encrypt, sedangkan pada adaptive-chosen-plaintext attact cryptanalyst dapat memilih suatu blok plaintext yang lebih kecil dan kemudian memilih blok lainnya berdasarkan hasil enkripsi sebelumnya.

e. Chosen-ciphertext attack

Cryptanalyst dapat memilih ciphertext yang berlainan untuk di- decrypt dan mempunyai akses terhadap plaintext hasil dekripsi.

f. Chosen-key attack

Ini bukanlah suatu attack jika key-nya diberikan.

2.1.4 Password dan Jenis Kunci Enkripsi Lainnya

Cryptosystem yang dibuat saat ini bisa menerima kunci enkripsi berupa password yaitu sederetan huruf dan atau angka (pass-phrase) membentuk satu kata atau lebih (Denning, 1983, p162). Menurut Stallings (1995, p213), password sebagai kunci enkripsi merupakan jenis enkripsi yang paling sering digunakan orang dalam melakukan pengamanan atau pembatasan akses informasi pribadi.

(19)

Sekarang dengan bantuan teknologi canggih dan digital/abstract multimedia interfaces, maka pola muka, sidik jari, sidik retina, pola suara, atau pola panas tubuh (atau gabungan keseluruhannya) bisa dijadikan kunci enkripsi yang paling baik.

2.1.5 Penggunaan Enkripsi

Miller (2000) membuat tiga kelompok yang membutuhkan cryptography, yaitu:

a. Pengguna Individual

Cryptography sebagai kebutuhan individual terlihat dengan dibuatnya software enkripsi yang mampu mengamankan direktori atau software khusus untuk pembuatan suatu dokumen pasti memiliki kemampuan untuk mengamankan informasi di dalamnya dengan suatu enkripsi. Di internet terdapat pula jasa e-mail yang memiliki fasilitas enkripsi.

b. Perdagangan

Sejak booming-nya perdagangan dan penggunaan internet maka peranan cryptography dalam dunia perdangan semakin diperlukan. Kebutuhan enkripsi ini dapat berupa kebutuhan pelanggan akan keamanan ketika melakukan transaksi on- line. Misalnya ketika seorang nasabah melakukan online-banking, pembelian, penjualan atau transaksi bisnis lainnya, maka data rahasia nasabah berupa nomor rekening, PIN, dan lainnya perlu dijaga dari pihak lain. Dan untuk melakukannya, diperlukan teknik enkripsi yang baik. Hal ini juga mendorong diciptakannya berbagai macam algoritma dan teknik crpytography.

(20)

c. Pihak militer

Di bidang militer, cryptography digunakan untuk telekomunikasi melalui telepon, radio, visual, dan untuk pengamanan jaringan komputer dalam ruang militer. Sebagai contoh, pengacakan sinyal sistem pelacakan melalui satelit pada Global Positioning System (GPS) ke alat telekomunikasi agar arah bicara dan transfer suara melalui alat tersebut tidak dapat disadap oleh pihak lain.Kebalikan dari itu seorang crpytanalyst juga diperlukan untuk mendekripsi informasi dari seluruh musuh atau pihak lain yang ingin disadap balik, jadi ada sifat kebutuhan timbal-balik.

2.2 Teknik Enkripsi Blowfish

Blowfish Encryption adalah enkripsi 64-bit block cipher dengan menggunakan variable-length key, yang bisa mencapai 448 bit. Blowfish diciptakan oleh Bruce Schneier pada tahun 1993.

2.2.1 Latar Belakang

Blowfish muncul sebagai standar baru, setelah algoritma enkripsi DES, yang sudah dipakai selama 15 tahun dan menggunakan 56-bit key, sudah sangat rentan terhadap penyerangan. Banyak algoritma enkripsi rahasia seperti Khufu, REDOC, atau IDEA. Namun algoritma-algoritma tersebut dilindungi oleh hak paten, sehingga masyarakat tidak dapat menggunakannya dengan bebas.

Dunia tentu saja memerlukan algoritma enkripsi yang aman, tidak dipatenkan,dan dapat digunakan secara gratis. Maka itu, dikembangkanlah algoritma yang dapat memenuhi tuntuan tersebut.

(21)

Blowfish muncul sebagai algoritma yang dianggap paling memenuhi tuntuan diatas, selain berbagai tuntutan teknis lainnya. Namun algoritma ini juga memiliki keterbatasan. Blowfish hanya cocok untuk aplikasi yang key-nya tidak terlalu sering berganti, seperti communications link atau automatic file encryptor.

Namun Blowfish lebih cepat secara signifikan dibanding DES ketika di- implementasikan pada mikroprosesor 32-bit dengan data caches yang besar, seperti Pentium dan PowerPC.

2.2.2 Algoritma Blowfish

Algoritma Blowfish terdiri dari dua bagian, yaitu bagian key-expansion, dan bagian data-encryption. Key-expansion mengubah key 448 bit menjadi beberapa array subkey dengan total 4168 byte.

Enkripsi data berlangsung via Fiestel network sebanyak 16 round. Setiap round terdiri dari permutasi key-dependent, dan key-and-data-dependent- substitution. Semua operasi adalah operasi XOR dan penjumlahan 32 bit. Satu- satunya operasi tambahan adalah pencarian array ber-indeks 4 pada setiap round.

Blowfish menggunakan banyak subkey, yang harus dihitung sebelum melakukan enkripsi atau dekripsi. P array terdiri dari 32-bit subkey yang berjumlah 18 (P1, P2,...,P18) dan ada 4 buah 32-bit S-box, masing-masing dengan 256 entry, yaitu :

S1,0, S1,1, ..., S1,255;

S2,0, S2,1, ..., S2,255;

S3,0, S3,1, ..., S3,255;

S4,0, S4,1, ..., S4,255.

(22)

Berikut adalah langkah-langkah dalam membuat subkey:

1. Inisialisasikan terlebih dahulu P-array, lalu 4 S-boxes, secara berurutan dengan panjang string tetap. String ini terdiri dari digit heksadesimal dari Pi. Contoh:

P1 = 0x243f6a88 P2 = 0x85a308d3 P3 = 0x13198a2e P4 = 0x03707344

2. XOR P1 dengan 32-bit pertama dari key, XOR P2 dengan 32-bit kedua dari key, dan selanjutnya untuk semua bit dari key. Lakukan perulangan sampai seluruh P-array sudah di-XOR dengan key.

3. Enkrip semua string nol dengan algoritma Blowfish, menggunakan subkey yang dipakai pada langkah (1) dan (2).

4. Ganti P1 dan P2 dengan output dari langkah (3).

5. Enkrip output dari langkah (3) dengan menggunakan algoritma Blowfish dengan menggunakan subkey yang sudah dimodifikasi.

6. Ganti P3 dan P4 dengan output dari langkah (5).

7. Lanjutkan proses, mengganti semua entry dari P- array, lalu ke-empat S- box secara berurutan, dengan output dari algoritma Blowfish yang berganti secara kontinu.

Input sebanyak 64 bit dibagi menjadi dua bagian, lalu dilakukan operasi XOR dengan ke-16 subkey pertama, dan operasi pertukaran antara kedua bagian tersebut dalam sebuah perulangan sebanyak 16 kali. Setelah itu, kembali

(23)

dilakukan pertukaran,dan dilanjutkan dengan operasi XOR dengan subkey ke-17 dan ke-18. Akhirnya, kedua bagian tersebut digabungkan kembali, dan proses enkripsi telah selesai.

Untuk melakukan dekripsi, prosesnya sama persis dengan enkripsi, hanya saja,P1, P2, ... , P18 digunakan dalam urutan terbalik. Filosofi dari Blowfish adalah kesederhanaan design membuat algoritma lebih mudah untuk dimengerti dan diimplementasi.

Algoritma Blowfish tidak dipatenkan, dan algoritma tersebut dapat diakses oleh publik dan dapat dipergunakan dengan bebas. Sehingga, orang-orang yang membutuhkan algoritma enkripsi yang aman dapat mempergunakannya tanpa memerlukan ijin atau hak cipta apapun.

2.3 Pengenalan Suara

Pengenalan suara (speech recognition) adalah suatu proses untuk mengenali huruf, kata atau kalimat yang diucapkan. Pengenalan suara lebih dikenal dengan istilah Automatic Speech Recognition atau Computer Speech Recognition dimana penggunaan sebuah mesin/komputer untuk mengenali sebuah suara atau identitas seseorang dari suara yang diucapkan. Umumnya pengucap berbicara di depan komputer/mesin kemudian komputer/mesin mengenali suara/identitas seseorang dengan tepat sesuai yang diucapkan. Pengenalan pola suara dikenali ke dalam berbagai level tugas, pengenalan dalam tingkat sinyal akustik berupa uji tingkatan dalam susunan unit sub kata berupa fonem, kata, frase dan kalimat. Pengenalan suara huruf vokal merupakan dasar dari pengenalan

(24)

suara sebab susunan kata merupakan susunan dari beberapa huruf salah satunya adalah huruf vokal sehingga jika diperoleh prinsip dasar proses pengenalan dari suara huruf vokal dapat digunakan dalam penelitian lebih lanjut.

2.3.1 Aplikasi Pengenalan Suara

Pengenalan suara sudah banyak digunakan dalam berbagai aplikasi sebagai berikut :

a. Kesehatan. Sebagai proses pencatatan dokumentasi medis (Electronic Medical Records), hal ini berperan dalam proses pencarian, seleksi data, pengisian data pasien, kasus, dan obat yang digunakan sehingga memungkinkan mempercepat tugas jika dibandingkan dengan menggunakan keyboard.

b. Militer. Penggunaan pengenalan suara misalnya dalam sistem Advanced Fighter Technology Integration dimana berguna untuk menghasilkan performa seorang pilot yang tinggi yaitu dalam hal seting frequensi radio, perintah sistem autopilot, seting titik kendali koordinat dan seting parameter senjata, dan mengontrol tampilan penerbangan. Umunya hanya diterapkan dalam beberapa kata dan usaha lebih lanjut telah diterapkan dalam sistem Avionic.

c. Telekomunikasi. Pada bidang telekomunikasi hal ini bukan saja mengantikan fungsi keyboard namun sudah berkembang pesat dalam permainan dan simulasi.

d. Alat bantu orang cacat. Orang cacat merupakan pihak yang sangat diuntungkan dalam penggunaan pengenalan suara terutama bagi orang yang tidak bisa menggunakan tangan, dari secara fisik lemah sampai orang yang mengalami stres menahun.

(25)

e. Bidang lain

1) Penerjemah otomatis

2) Otomotif (misalnya pada mobil Ford Sync)

3) Laporan persidangan (penulisan suara secara real time) 4) Pengenalan suara sebagai biometric

5) Komputer hands-free, perintah pengenalan suara sebagai user interface pada komputer

6) Otomatisasi rumah

7) Respon suara secara interaktif 8) Transkripsi medis

9) Evaluasi pengucapan ejaan dalam aplikasi pembelajaran bahasa melalui komputer

10) Robotika

11) Suara ke teks: Layanan gambaran visual pada Voicemail untuk telepon genggam.

2.3.2 Proses Pengenalan Suara Secara Identifikasi dan Verifikasi

Proses pengenalan suara terbagi menjadi Verification dan Identification.

Speech Identification adalah proses pelatihan seseorang atau huruf yang diucapkan ke pengenalan suara dengan cara mendaftarkan pembicara dari ucapan yang diberikan. Speech Verification adalah proses penentuan identitas pembicara atau arti dari suara yang diucapkan oleh pembicara yang dibandingkan dengan data yang telah tersimpan pada sistem.

(26)

2.3.3 Proses Pengenalan Suara Offline dan Online

Sistem offline adalah suatu sistem yang menghasilkan output dengan bantuan proses secara manual oleh user. Sedangkan sistem online adalah sistem yang menghasilkan output tanpa bantuan proses secara manual oleh user.

Umumnya pengenalan suara memiliki tahap pelatihan/identifikasi dan verifikasi. Pada proses identifikasi memiliki tahap normalisasi, ekstraksi ciri, klasifikasi. Proses pengenalan suara offline maupun online terdapat proses identifikasi namun terdapat perbedaan pada proses verifikasi, pada pengenalan suara secara offline verifikasi dilakukan dengan cara suara yang akan dikenali direkam terlebih dahulu sebelum memulai proses pengenalan suara sedangkan jika pada proses secara online verifikasi dilakukan dengan dinamis yaitu menggunakan pengucapan suara langsung tanpa melalui proses perekaman terlebih dahulu.

Gambar 2.1: Perbedaan proses verifikasi suara pada proses Offline (atas) dan Online (Bawah)

(27)

2.3.4 Parameter Pengenalan Suara

Aplikasi pengenalan suara dibatasi berdasarkan parameter pengenalan suara yang digunakan. Hal ini dapat membedakan keberhasilan antara satu aplikasi dengan yang lain. Keberhasilan aplikasi dengan parameter tertentu belum tentu dapat diaplikasikan dalam aplikasi lain dengan parameter berbeda. Beberapa parameter yang paling penting terdapat pada tabel berikut:

Tabel 2.1 Parameter Pengenalan Suara

Parameter Range

Speaking Mode Isolated words sampai continuous speech Speaking Style Read speech sampai spontaneous speech Enrollment Speaker-dependent sampai Speaker-independent Vocabulary Sedikit (< 20 kata) sampai Banyak ( >20.000 kata) Language Model Finite state sampai context-sensitive

SNR Tinggi (>30 dB) sampai Rendah (<10 dB)

Transducer Ucapan pada mikropon sampai ucapan pada telepon

Parameter tersebut adalah:

1. Speaking Mode, model pengucapan isolated word artinya pembicara memerlukan jeda untuk pengucapan antara satu kata dengan kata yang lain, sedangkan continous speech tidak.

2. Speaking style, pembicara berbicara dengan cara spontan atau dengan persiapan, seperti kasus pengucapan pidato atau orang yang berbicara secara langsung. Orang yang berbicara secara langsung lebih sulit dikenali dari pada orang berpidato.

3. Enrollment, mendaftarkan sumber suara dari pembicara, speaker dependent artinya sistem digunakan hanya untuk mengenali satu orang pembicara

(28)

sedangkan speaker independent artinya sistem dapat digunakan bebas untuk pembicara mana pun.

4. Vocabulary maksudnya bahwa range suku kata yang diucapkan jika lebih kecil dari 20 kata disebut Small Vocabulary dan jika lebih dari 20.000 kata disebut Large Vocabulary.

5. Language Model adalah proses pengenalan suara model bahasa yang digunakan seperti, gaya suara, mood, dll. Hal ini terbagi dua, yaitu: finite state artinya model bahasa terbatas sedangkan context-sensitive dapat mengenali berbagai model bahasa.

6. Perplexity, maksudnya tingkat error pengenalan pengucapan pada kata yang berbunyi sama (kebinggungan menentukan maksud huruf/kata yang diucapkan), hal ini berkaitan dengan tingkat Vocabulary yang digunakan misalnya penelitian 10 digit suara “Zero” sampai “Nine” dapat dikenali dengan baik (Doddington 1989), tetapi jika ukuran vocabulary 200, 500, atau 10.000 memiliki rata-rata error 3%, 7% atau 45 % (Itakura 1975, Miyatake 1990, Kimura 1990). Namun hal ini dapat memiliki hasil berbeda jika memiliki kata yang berbunyi sama, seperti pada kasus pengenalan 26 huruf bahasa Inggris sulit membedakan kata yang berbunyi berset-E, seperti huruf B, C, D, E, G, P, T, V, Z dalam hal ini jika dihasilkan error 8 % sudah termasuk bagus (Hild & Waibel 1993).

7. SNR (Signal to Noise Ratio), adalah ratio perbandingan daya sinyal dengan daya background noise, disebut SNR tinggi di lingkungan jika di atas 30 dB dan disebut SNR rendah jika kurang dari 30dB. Tingkat SNR menunjukkan

(29)

apakah noise berpengaruh pada kejelasan sinyal sehingga jika SNR yang tinggi maka dihasilkan informasi yang semakin banyak untuk diperoleh dan pengenalan semakin tinggi sedangkan jika pada SNR rendah maka proses pengenalan suara memiliki keberhasilan yang lebih sedikit.

8. Transducer, artinya proses perubahan besaran suara dari sinyal analog ke sinyal digital, hal ini biasanya penggunaan media dalam pengaturan frekuensi sampling, filter noise, dsb. Hal ini berbeda sekali jika menggunakan mikropon yang suara disekat-sekat dengan menggunakan telepon yang memiliki karakteristik alat berbeda dimana mikropon biasanya memiliki frekuensi sampling 16 KHz dan telepon 8 KHz, begitu pula tingkat noise yang perlu diredam.

2.3.5 Faktor Penyebab Kesalahan Proses Verifikasi dan Identifikasi

Beberapa faktor dapat menyebabkan kesalahan dalam proses verifikasi dan identifikasi antara lain :

a) Frekuensi

Frekuensi merupakan pengukuran terhadap berapa banyak atau berapa kali suatu kejadian berlaku per satuan waktu. Untuk menghitung frekuensi suatu event, berapa banyak event terjadi dalam interval waktu tertentu dihitung dan dibagi dengan panjang waktu interval tersebut.

b) Intonasi

Intonasi merupakan suatu variasi nada yang digunakan ketika berbicara.

Intonasi pembicara sangat menentukan tingkat keberhasilan dari proses verifikasi

(30)

pembicara karena intonasi berbeda ketika mengucapkan suata kata dapat diartikan lain oleh komputer.

c) Tingkat kebisingan

Dalam pengertian umum, noise merupakan suara yang tidak diinginkan.

Ketika berbicara noise dalam relasinya dengan suara, noise merupakan suara yang lebih besar dari volume biasa. Pembicaraan orang lain dapat disebut noise bagi seseorang yang tidak terlibat dalam pembicaraan tersebut, dan noise dapat berupa suara yang tidak diinginkan seperti suara kapal terbang, kebisingan jalan raya, dan sebagainya. Noise sangat berpengaruh sekali terhadap hasil verifikasi pembicara karena dengan banyaknya noise komputer tidak dapat membedakan suara asli dengan noise yang ada.

d) Volume suara

Volume berarti sebuah kuantifikasi dari seberapa banyak suatu objek menempati ruang kosong. Dalam hal ini volume berarti besar kecilnya suara yang dihasilkan.

Faktor-faktor ini secara umum di luar area algoritma atau koreksi yang lebih baik dengan pengertian lain dari algoritma, misalnya mikropon yang lebih baik. Faktor-faktor ini penting, bagaimanapun, karena tidak ada materi sebaik sebuah algoritma dari speech recognition, human error (misalnya misspeaking atau misreading) pada akhirnya mengurangi performa pengenalan suara.

(31)

2.4 Pemprosesan Suara

Speech (wicara) dihasilkan dari sebuah kerjasama antara paru), glottis (dengan

cavity/rongga hidung). Gambar 2.2 menunjukkan penampang melintang dari organ wicara manusia. Untuk menghasilkan

ucapan), paru-paru menekan udara melalui

menginterupt udara melalui aliran udara dan menghasilkan sebuah gelombang tekanan quasi-periodic

Impuls tekanan pada umumnya disebut sebagai frekuensi sinyal tekanan adalah

dalam Gambar 2.3a sederetan impuls (fungsi tekanan suara) dihasikan oleh cords untuk sebuah suara. Ini merupakan bagian dari sinyal

mendefinisikan speech melody

sebuah frekuensi pitch konstan, suara sinyal wicara kasus normal sebuah perubahan

frekuensi pitch dapat dilihat seperti pada Gambar 2.3b Pemprosesan Suara

(wicara) dihasilkan dari sebuah kerjasama antara (dengan vocal cords) dan articulation tract (mouth

/rongga hidung). Gambar 2.2 menunjukkan penampang melintang dari organ wicara manusia. Untuk menghasilkan sebuah voiced sounds

paru menekan udara melalui epiglottis, vocal cords

menginterupt udara melalui aliran udara dan menghasilkan sebuah gelombang periodic (hampir periodik).

Gambar 2.2: Organ wicara manusia

Impuls tekanan pada umumnya disebut sebagai pitch impulses frekuensi sinyal tekanan adalah pitch frequency atau fundamental frequency dalam Gambar 2.3a sederetan impuls (fungsi tekanan suara) dihasikan oleh

untuk sebuah suara. Ini merupakan bagian dari sinyal voice

speech melody (melodi wicara). Ketika kita berbicara dengan sebuah frekuensi pitch konstan, suara sinyal wicara monotonous

kasus normal sebuah perubahan permanen pada frekuensi terjadi. Variasi frekuensi pitch dapat dilihat seperti pada Gambar 2.3b

(wicara) dihasilkan dari sebuah kerjasama antara lungs (paru- mouth/mulut dan nose /rongga hidung). Gambar 2.2 menunjukkan penampang melintang dari voiced sounds (suara vocal cords bergetar, menginterupt udara melalui aliran udara dan menghasilkan sebuah gelombang

pitch impulses dan fundamental frequency. Di dalam Gambar 2.3a sederetan impuls (fungsi tekanan suara) dihasikan oleh vocal voice (suara) yang (melodi wicara). Ketika kita berbicara dengan monotonous tetapi dalam permanen pada frekuensi terjadi. Variasi

(32)

Gambar 2.3a: Sederet impuls yang sama

Gambar 2.3b: Variasi pada frekuensi pitch

Impuls pitch merangsang udara di dalam mulut, dan untuk suara terten (nasals) juga merangsang

beresonansi, akan menimbulkan radiasi sebuah gelombang suara yang mana merupakan sinyal wicara. Kedua rongga beraksi sebagai resonators dengan karakteristik frekuensi resonansi masing

frequencies. Pada saat rongga mulut dapat mengalami perubahan besar, manusia mampu untuk menghasilkan beragam pola ucapan suara yang berbeda. mampu untuk menghasilkan beragam pola ucapan suara yang berbeda.

Gambar 2.3a: Sederet impuls yang sama

Gambar 2.3b: Variasi pada frekuensi pitch

Impuls pitch merangsang udara di dalam mulut, dan untuk suara terten ) juga merangsang nasal cavity (rongga hidung). Ketika rongga beresonansi, akan menimbulkan radiasi sebuah gelombang suara yang mana merupakan sinyal wicara. Kedua rongga beraksi sebagai resonators dengan karakteristik frekuensi resonansi masing-masing, yang disebut

. Pada saat rongga mulut dapat mengalami perubahan besar, manusia mampu untuk menghasilkan beragam pola ucapan suara yang berbeda. mampu untuk menghasilkan beragam pola ucapan suara yang berbeda.

Impuls pitch merangsang udara di dalam mulut, dan untuk suara tertentu (rongga hidung). Ketika rongga beresonansi, akan menimbulkan radiasi sebuah gelombang suara yang mana merupakan sinyal wicara. Kedua rongga beraksi sebagai resonators dengan masing, yang disebut formant . Pada saat rongga mulut dapat mengalami perubahan besar, manusia mampu untuk menghasilkan beragam pola ucapan suara yang berbeda. mampu

(33)

Di dalam kasus tract lebih menyerupai

suara-suara /a/, dan /f/. Untuk sementara perbedaan bentuk dan posisi pada organ artikulasi diabaikan saja.

Gambar 2.4:

2.5 Prapemprosesan Sinyal

Prapemprosesan sinyal mengekstrak informasi yang diinginkan dari sebuah sinyal suara. Untuk hal itu proses Normalisasi seperti pe

untuk mengurangi noise dan sampling perlu dilakukan. Sehingga dari input suara Raw (suara asli) menjadi sinyal suara yng telah digitalisasi. Seperti diperlihatkan pada gambar 2.5:

Di dalam kasus unvoiced sounds (suara tak terucap), eksitasi pada lebih menyerupai noise (derau). Gambar 2.4 menampilkan proses produksi

suara /a/, dan /f/. Untuk sementara perbedaan bentuk dan posisi pada organ artikulasi diabaikan saja.

Proses produksi suara, pembangkian ucapan /a/

panjang (atas), pembangkitan ucapan /f/ (bawah)

Prapemprosesan Sinyal

Prapemprosesan sinyal mengekstrak informasi yang diinginkan dari sebuah sinyal suara. Untuk hal itu proses Normalisasi seperti pe

untuk mengurangi noise dan sampling perlu dilakukan. Sehingga dari input suara Raw (suara asli) menjadi sinyal suara yng telah digitalisasi. Seperti diperlihatkan (suara tak terucap), eksitasi pada vocal (derau). Gambar 2.4 menampilkan proses produksi suara /a/, dan /f/. Untuk sementara perbedaan bentuk dan posisi pada organ

Proses produksi suara, pembangkian ucapan /a/

panjang (atas), pembangkitan ucapan /f/ (bawah)

Prapemprosesan sinyal mengekstrak informasi yang diinginkan dari sebuah sinyal suara. Untuk hal itu proses Normalisasi seperti penggunaan filter untuk mengurangi noise dan sampling perlu dilakukan. Sehingga dari input suara Raw (suara asli) menjadi sinyal suara yng telah digitalisasi. Seperti diperlihatkan

(34)

Gambar 2.5: Diagram Blok Prapemprosesan Sinyal

Awalnya sebuah mikropon atau handset telepon dapat digunakan untuk merubah gelombang akustik ke dalam sebuah sinyal analog. Sebelum proses perubahan sinyal, suara difiltering terlebih dahulu dengan filter noise seperti antialiasing filter (dan mungkin filter tambahan untuk mengimbangi setiap perusakan channel).

Aliasing adalah fenomena gelombang sinus merubah frekuensi ketika proses sampling. Hal ini dapat menghancurkan penampilan sample sehingga data menjadi rusak. Oleh karena itu dengan Antialiasing filter membatasi bandwidth sinyal menjadi kira-kira Nyquist rate (setengah sampling rate/frekuensi).

Sinyal analog terkondisikan kemudian diubah ke dalam bentuk sebuah sinyal digital oleh sebuah analog-to-digital (A/D) converter.

Proses perubahan sinyal analog ini menggunakan proses Sampling [6], yaitu proses merubah sinyal analog yang berbentuk sinyal kontinu terhadap waktu menjadi sinyal diskrit atau sering disebut Sample yang berulang, suatu sample menunjukkan suatu set nilai yang pada sebuah titik dalam suatu waktu atau ruang. Proses sampling perlu memenuhi teorema Nyquist yang menyatakan :

(35)

≥ 2 =

Pada komputer proses sampling dilakukan oleh sound card sehingga sistem aplikasi yang akan dibangun perlu proses pengaksesan sound card agar informasi yang diperoleh dari sinyal dapat diketahui.

2.5.1 Mel-Frequency Cepstrum Coefficients

Input suara biasanya direkam pada sampling rate diatas 8000 Hz.

Frekuensi sampling ini dipilih untuk meminimalisasi efek dari aliasing dalam konversi analog kedigital. Sinyal yang telah di-sampling ini dapat menangkap semua frekuensi sampai dengan 5 kHz, yang meliputi kebanyakan energi suara yang dihasilkan oleh manusia. Seperti telah disebutkan pada bagian sebelumnya, tujuan utama dari prosesor MFCC adalah untuk menirukan perilaku telinga manusia.

Gambar 2.6 Input Suara

(36)

Gambar 2.7 Prosesor Mel-frequency Cepstrum Coefficients

Seperti terlihat pada gambar, prosesor MFCC mempunyai lima tahap, yaitu Frame Blocking, Windowing, FFT, Mel-frequency Wrapping, dan Cepstrum.

Berikut adalah penjelasan dari masing-masing bagian tersebut.

2.5.1.1. Frame Blocking

Dalam tahap ini sinyal suara diblok menjadi banyak frame dengan N sampel, dengan frame-frame selanjutnya dipisahkan oleh M

Gambar 2.8 Input Suara Setelah Melalui Tahap Frame Blocking

(37)

Frame yang pertama terdiri dari N sampel yang pertama. Frame yang kedua mulai M sampel setelah frame yang pertama dan di-overlap oleh N-M sampel. Frame yang ketiga mulai dari 2M sampel setelah frame yang pertama atau M sampel setelah frame yang kedua dan di-overlap oleh N-2M sampel. Proses ini berlangsung kontinu hingga seluruh suara atau ucapan dihitung sebagai satu atau lebih frame. Nilai untuk N dan M yang umum adalah N=256 (yang ekuivalen dengan 30 msec windowing dan memfasilitasi radix-2 FFT) dan M=100.

2.5.1.2. Windowing: Window sangat berkaitan pada proses FFT hal ini berguna untuk, sbb:

1. Mengurangi dampak dari batas ketidak-kontinuan (boundary of discontinues). Ketidak-kontinuan berada pada awal dan akhir tiap frame. Window berupaya untuk mengurangi kerusakan spektrum dengan cara meruncingkan sinyal dengan menset nol pada awal dan akhir tiap frame

2. Diaplikasikan dalam sinyal domain waktu sebelum digunakan pada FFT.

3. Tersedia berbagai macam window untuk mengurangi kebocoran sinyal.

Sinyal dengan ketidak-kontinuan jika dikalikan dengan fungsi window maka menjadi sinyal kontinu.

(38)

Berikut beberapa fungsi Window pada domain waktu, sbb:

Window Hanning

Persamaan window Hanning adalah sebagai berikut:

Window Hanning memiliki lobe utama dua kali lebih lebar dari window rectangular, dan hampir tiga baris spektral akan

bandwidth noise adalah 1,5 dan

sidelobe turun 18 dB tiap oktav. Grafik spektrum hasil window dapat diperlihatkan pada gambar 2.6:

Gambar 2.9: Spektrum dengan Window Hanning

Window Hamming

Persamaan Window Hamming adalah sebagai berikut:

Window Hamming diperoleh dengan memodifikasi koefisien window Hanning untuk mencegah dengan tepat pada

Berikut beberapa fungsi Window pada domain waktu, sbb:

Window Hanning

samaan window Hanning adalah sebagai berikut:

Window Hanning memiliki lobe utama dua kali lebih lebar dari window rectangular, dan hampir tiga baris spektral akan selalu dibangkitkan. Frekuensi bandwidth noise adalah 1,5 dan sidelobe paling tinggi turun 32dB, dan turun 18 dB tiap oktav. Grafik spektrum hasil window dapat diperlihatkan pada gambar 2.6:

Gambar 2.9: Spektrum dengan Window Hanning

Hamming

Persamaan Window Hamming adalah sebagai berikut:

untuk i=0….n-1

Window Hamming diperoleh dengan memodifikasi koefisien window Hanning untuk mencegah dengan tepat pada sidelobe pertama, tapi menjadi Window Hanning memiliki lobe utama dua kali lebih lebar dari window selalu dibangkitkan. Frekuensi paling tinggi turun 32dB, dan turun 18 dB tiap oktav. Grafik spektrum hasil window dapat

Gambar 2.9: Spektrum dengan Window Hanning

Window Hamming diperoleh dengan memodifikasi koefisien window pertama, tapi menjadi

(39)

sangat kurang tepat

Hamming menaikkan 42 dB di bawah lobe utama, namun secara asimtot sidelobe decay dengan 6 dB per oktav, dan noise berada 1,36. Grafik spektrum hasil window dapat diperlihatkan pada gambar 2.7:

Gambar 2.10: Spektrum dengan Window Hamming .

2.5.1.3 FFT: Fast Fourier Transform

Transformasi Fourier merubah sebuah sinyal domain waktu untuk ditampilkan menjadi sinyal domain Frekuensi. Bagaimanapun juga, sebuah sample yang berbentuk gelombang (

bentuk nilai diskrit. Karena transformasi ini, transformasi Fourier tidak akan bekerja dalam bentuk data diskrit. Akhirnya digunakan

Transform (DFT), yang menghasilkan hasil akhir dalam domain frekuensi dengan nilai diskrit atau disebut

efisien untuk proses perhitungan DFT (

inversenya dengan membutuhkan sedikit proses aritmetika.

sangat kurang tepat bernilai nol pada tiap tepi. Dengan alasan ini window Hamming menaikkan 42 dB di bawah lobe utama, namun secara asimtot dengan 6 dB per oktav, dan noise berada 1,36. Grafik spektrum hasil window dapat diperlihatkan pada gambar 2.7:

Gambar 2.10: Spektrum dengan Window Hamming

Fast Fourier Transform (FFT)

Transformasi Fourier merubah sebuah sinyal domain waktu untuk ditampilkan menjadi sinyal domain Frekuensi. Bagaimanapun juga, sebuah sample yang berbentuk gelombang (waveform) dan ditransformasikan dalam bentuk nilai diskrit. Karena transformasi ini, transformasi Fourier tidak akan bekerja dalam bentuk data diskrit. Akhirnya digunakan Discrete Fourier (DFT), yang menghasilkan hasil akhir dalam domain frekuensi dengan ilai diskrit atau disebut bins. Fast Fourier Transform merupakan algoritma yang efisien untuk proses perhitungan DFT (Discrete Fourier Transform inversenya dengan membutuhkan sedikit proses aritmetika.

bernilai nol pada tiap tepi. Dengan alasan ini window Hamming menaikkan 42 dB di bawah lobe utama, namun secara asimtot dengan 6 dB per oktav, dan noise berada 1,36. Grafik

Gambar 2.10: Spektrum dengan Window Hamming

Transformasi Fourier merubah sebuah sinyal domain waktu untuk ditampilkan menjadi sinyal domain Frekuensi. Bagaimanapun juga, sebuah dan ditransformasikan dalam bentuk nilai diskrit. Karena transformasi ini, transformasi Fourier tidak akan Discrete Fourier (DFT), yang menghasilkan hasil akhir dalam domain frekuensi dengan merupakan algoritma yang Discrete Fourier Transform) dan

(40)

Dimana DFT didefinisikan dengan rumus :

= = 0, … , − 1

dimana: x0, ...., xN-1berupa angka komplek

Proses penjumlahan rumus tersebut secara langsung dapat menghabiskan O(N2) operasi aritmetika. Namun jika digunakan algoritma FFT hanya diperlukan O(NlogN) operasi. Perbandingan kecepatan eksekusi DFT dan FFT dapat dilihat pada gambar 2.10:

N 10 100 1000 106 109

N2 100 104 106 1012 1018

NlogN 10 200 3000 6x106 9x109

Gambar 2.11: Waktu komputasi yang diperlukan untuk proses O(NlogN) Misalnya jika sebuah mesin memiliki 1 MFLOP (satu juta floating point per detik). Dimana N = 1 juta = 106. Sehingga sebuah algoritma O(N2) memerlukan 1012flot atau 106 detik ≃ 11.5 hari. Jika sebuah algoritma O(NlogN) memerlukan 6x106 Flot atau 6 detik. Namun N = 1 juta tidak mungkin. Contohnya, 3 mega pixel kamera digital dapat menghasilkan 3x106 angka untuk tiap foto. Sehingga untuk dua titik N berulang f[n] dan h[n]. Jika menghitung (f[n]⊛h[n]) secara langsung memerlukan sejumlah O(N2) operasi.

(41)

Perhitungan FFT -- O(NlogN) Perkalian FFT -- O(N)

Inverse FFT -- O(NlogN).

Total kompleksitas adalah O(NlogN).

Sedangkan Persamaan FFT adalah sebagai berikut ini:

X(f) = F{x(t)} = ∫ x(t)e π dt

FFT Sama seperti DFT yaitu memetakan perulangan dalam bentuk nilai diskrit- waktu kemudian direpresentasikan menjadi diskrit-frekuensi.

Ketika menggunakan DFT, transformasi Fourier pada tiap perulangan x, dimana x berbentuk nilai real atau komplek, selalu menghasilkan dalam sebuah keluaran perulangan nilai komplek X sesuai dengan persamaan berikut:

F(x) = X = X + jX = Re{X} + jIm{X}

Suatu hal yang tidak dipisahkan dengan properti DFT berikut ini:

X = X

Dimana elemen (n-i) dari X berisi hasil –i yang harmonik. Selanjutnya jika x real, maka i harmonik dan –i harmonik adalah bernilai komplek konjugate:

X = X = X

Konsekuensinya,

Re(X ) = Re(X ) dan

Im(X ) = −Im(X )

(42)

Properti Fourier yang simetris ini adalah perulangan real mengacu sebagai simetri konjugate simetris atau genap-simetris, dan anti-simetris atau ganjil-simetris Penggunaan FFT untuk analisa frekuensi menandakan dua relasi penting , yaitu:

1) Relasi pertama yaitu frekuensi tertinggi dapat dianalisa (Fmax) dengan frequensi sampling ( fs ).

F =

2) Relasi kedua yaitu resolusi frekuensi ( f ) sampai total waktu akuisisi (T), yang berhubungan dengan frekeunsi sampling ( fs ) dan ukuran blok FFT (N).

Δf = =

Keluaran spektrum FFT bernilai komplek, sehingga setiap komponen frekuensi memiliki sebuah amplitudo dan fasa. Nilai fasa tergantung waktu perekaman, atau tergantung dari gelombang cosinus yang dimulai pada waktu pertama perekaman. Pengukuran chanel satu fasa bernilai stabil hanya jika sinyal input dibangkitkan. Sedangkan pengukuran dua chanel fasa perhitungan perbedaan fasa berbeda antara chanel-chanel lain sehingga jika chanel secara simultan disample, pembangkitan biasanya tidak penting. Untuk mencari amplitudo dapat diperoleh dengan persamaan berikut:

A[k] = Re(X[k]) + Im(X[k])

(43)

Dan fasa dihitung dengan persamaan:

Fasa(X[k]) = arctan ( [ ])( [ ]) .

2.5.1.4. Mel-Frequency wrapping: tahap ini merupakan proses pengfilteran dari

spektrum setiap frame yang diperoleh dari tahapan sebelumnya, menggunakan sejumlah M filter segitiga dengan tinggi satu. Filter ini dibuat dengan mengikuti persepsi telinga manusia dalam menerima suara. Persepsi ini dinyatakan dalam skala ’mel’ (berasal dari Melody) yang mempunyai hubungan tidak linear dengan frekuensi suara, Dalam hal ini skala mel- frequency adalah linear untuk frekuensi kurang dari 1000 Hz dan logaritmik untuk frekuensi di atas 1000 Hz. Satu relasi antara frekuensi bunyi (dalam Hz) dengan skala mel adalah,

= 2569 ∗ 1 + 700

Grafik relasi di atas disajikan pada Gambar dibawah ini.

Gambar 2.12: Suatu Filter Segitiga ke i dengan Tinggi 1

(44)

2.5.1.5.Cepstrum : Pada tahap ini dilakukan konversi dari koefisien spektrum mel kembali ke domain waktu menggunakan transformasi kosinus berikut :

= cos ∗( − 0.5) ∗

20

dengan j = 1, 2, 3,…,K; K adalah banyaknya koefisien MFCC yang diinginkan; M adalah banyaknya filter segitiga; Xi adalah koefisien spektrum mel yang diperoleh dengan Pers. (2). Dalam hal ini Cj disebut sebagai koefisien ke j dari mel frequency cepstrum coefficients (MFCC).

2.5.2 Vector Quantization

Vector Quantization adalah proses untuk memetakan vektor dari ruang vector yang sangat luas, menjadi region-region dengan jumlah terbatas di dalam ruang itu. Setiap region disebut cluster, dan dapat direpresentasikan dengan intinya, yang disebut codeword. Kumpulan dari codeword adalah codebook.

Jarak vektor ke codeword yang terdekat dalam suatu codebook disebut VQdistortion. Dalam fase pengenalan, suara seorang pembicara yang tak dikenal di-“vector quantize” menggunakan codebook, lalu total VQ-distortion dihitung.

VQ-distortion dengan codeword yang terkecil diidentifikasi sebagai pembicaranya.

Namun, dalam aplikasi ini, permasalahannya sedikit berbeda. Algoritma Vector Quantization yang sebenarnya, digunakan untuk mengidentifikasi suara pembicara tidak dikenal dengan beberapa sample suara dari pembicara yang berbeda, yang sudah disimpan sebelumnya (dalam codebook). Namun dalam

(45)

aplikasi ini, suara pembicara yang disimpan hanya satu. Yaitu si pelaku enkripsi.

Dalam Vector Quantization, VQ-distortion di-inisialisasikan sebagai infinite.

Kemudian, jika ditemukan VQ-distortion yang lebih kecil dari sebelumnya dalam suatu pengulangan, VQ-distortion itu akan disimpan. Jadi, VQ-distortion yang terkecil yang akan muncul sebagai pembicara yang di-identifikasi. Sedangkan pada aplikasi ini, algoritma tersebut diubah sedikit menjadi: Hitung nilai VQ- distortion. Jika VQ-distortion-nya cukup kecil, maka kembalikan nilai true.

Dalam mengaplikasikan metode Vector Quantization pada aplikasi pengenalan pembicara, jumlah centroid yang paling optimal adalah 16 buah untuk memudahkan dalam pencarian Euclidean Distance.

(46)

BAB III PEMBAHASAN

3.1 Gambaran Umum Sistem

Aplikasi yang kami namakan ”Miracle Voice Data Protection” ini, mempunyai alur program sebagai berikut:

Gambar 3.1 Skema Sistem

(47)

Aplikasi Miracle Voice Data Protection 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, lalu membaca MD5 atau signature yang berguna sebagai kunci blowfish file. Setelah itu file akan dienkripsi oleh program menggunakan metode blowfish dengan kunci MD5 yang telah kita dapatkan tadi. Lalu file master akan dihapus dan file enkripsi dirubah ekstensi menjadi (.mvdp)

Untuk melakukan deskripsi file langkah-langkahnya adalah pilih file yang telah dienkripsi dan harus berekstensi (.mvdp) lalu rekam suara yang akan digunakan untuk membuka file setelah direkam maka suara tadi akan dicocokan dengan suara yang kita rekam sebelumnya sebagai password apabila kedua file tersebut cocok maka proses deskripsi akan dilanjutkan dan file akan dikembalikan ke nama dan ekstensi sebelumnya. Apabila suara yang kita rekam tidak cocok dengan suara password maka proses deskripsi akan dihentikan dan harus merekam suara lagi.

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.

(48)

Ukuran file tidak dibatasi, namun, sebaiknya ukuran file tidak terlalu besar dan nama file jangan terlalu panjang. Seratus 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 system operasi Windows.

3.2.2 Perekaman Suara

Untuk merekam suara, user perlu menekan tombol record, dan Miracle Voice Data Protection akan merekam suara melalui microphone selama 5 detik.

Bila user merasa perekamannya kurang baik, ia dapat menekan tombol record kembali, untuk merekam ulang. Hasil perekaman suara akan disimpan sementara di folder enskrip yang berada difolder aplikasi. 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 tidak dapat untuk dilakukan.

3.2.3 Enkripsi Blowfish

Setelah suara disimpan, berarti file sudah siap di-enkripsi. Enkripsi dilakukan dengan metode Blowfish dengan kunci MD5 (digital signature) dari file, yang mempunyai tingkat keamanan tinggi dan tidak dipatenkan. Baris program

(49)

untuk enkripsi Blowfish ini akan ditulis dalam Visual Basic, karena operasi yang diperlukan hanya operasi-operasi byte seperti XOR.

3.2.4 Penyimpanan File Hasil Enkripsi

Setelah file selesai di-enkripsi, file tersebut akan ‘berubah’ menjadi file berekstensi .mvdp (Miracle Voice Data Protection). Artinya adalah, file ekstensi asli akan dihapus, dan file berekstensi .mvdp akan dibuat untuk menggantikannya.

User harus menyimpan file ini. Jika user mencoba membuka file hasil enkripsi dengan program seperti Notepad, yang akan muncul adalah deretan karakter- karakter aneh yang tidak dapat dibaca.

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 .mvdp Open File Dialog akan memakai filter agar hanya file tersebut yang dapat dibuka.

mvdp adalah kependekan dari Miracle Voice Data Protection. Sehingga, user dapat mengidentifikasi file tersebut sebagai file yang terenkripsi. Untuk melakukan dekripsi, file tersebut harus mempunyai file suara yang disimpan pada folder enskrip terletak di folder aplikasi dengan ekstensi Wav. File tersebut berisi suara yang akan digunakan sebagai password untuk mendeskripsi file. Jika salah satu file hilang, maka dekripsi tidak dapat dilakukan.

(50)

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. Hal ini diperlukan karena pengenalan dilakukan dengan berbasis frekuensi. Maka apabila beda frekuensi dan amplitudonya terlalu jauh, meskipun kata yang diucapkan sama, user tidakakan 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), yaitu dengan MFCC (Mel-frequency Cepstrum Coefficients) dan dilanjutkan dengan Vector Quantization. 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

(51)

tidak masuk dalam range, deskripsi tidak dilakukan, dan user dianggap tidak berhak untuk membuka file tersebut. Modul ini juga ditulis dalam program Visual Basic.

3.3.5 Dekripsi Blowfish

Dekripsi dengan metode Blowfish sama persis dengan enkripsinya.. 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.

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 :

Gambar 3.2 Hirarki Layar

(52)

3.4.1 Rancangan Layar Utama

Menu utama didapat ketika program dieksekusi dengan meng-klik icon program MVDP. 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.

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 Miracle Voice Data Protection Enkripsi Dekripsi Informasi Keluar menggunakan aplikasi. Untuk kembali ke menu utama user dapat menekan tanda silang di pojok kanan atas layar.

Gambar

Gambar 2.1: Perbedaan proses verifikasi suara pada proses Offline (atas) dan Online (Bawah)
Tabel 2.1  Parameter Pengenalan Suara
Gambar 2.2: Organ wicara manusia
Gambar 2.3a: Sederet impuls yang sama
+7

Referensi

Dokumen terkait

Kenaikan nilai bobot jenis yang semakin tinggi dengan semakin lama waktu penyimpanan daun kayu putih ini diperkirakan karena pada minyak kayu putih yang diperoleh dari

Grafik tegangan aki selama pelepasan muatan beban resistif Dari grafik di atas terlihat dengan beban resistif 106,7 VA baterai mensuplai daya selama 163 menit dengan penurunan

Penelitian dengan judul “Hubungan Penyakit Skabies Dengan status gizi Santri Di Pondok Pesantren KHA Wahid Hasyim Bangil ” belum pernah dilakukan, namun ada

Pengakhiran Pengakhiran stress adalah mengenai pemikiran mengenai masa depan mereka yang menyebabkan terjadinya stress adalah mengenai pemikiran mengenai masa depan mereka

Dengan pertimbangan bahwa al-Quran, yang terdiri dari rangkaian huruf- huruf arab serta tersusun dalam untaian kata-kata dan kalimat, merupakan media tempat carut- marutnya

merupakan fungsi ganjil, yaitu fungsi yang simetris terhadap titik O(0,0). Jika proses pengujian fungsi untuk kasus 6 telah sampai langkah 5), maka tidak dapat

Penerimaan bersih atas biaya variabel (return above variabel cost = RAVC )Penerimaan bersih atas biaya variabel dapat dihutung dengan penyajian sebagai