BAB III PEMBAHASAN
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
Gambar 3.8 State Transition Diagram pada Proses Dekripsi
BAB IV
IMPLEMENTASI DAN EVALUASI
4.1 Spesifikasi Hardware dan Software yang digunakan dalam penelitian Penelitian ini dilakukan dengan menggunakan satu set komputer dengan prosesor berkecepatan 1,18 GHz, memori sebanyak 1024 Mb, dan sound card on-board. Untuk kemampuan multimedia, khususnya suara, komputer tersebut dilengkapi dengan mikrofon dan speaker standar.
Dari sisi software, sistem operasi yang dipakai adalah Microsoft Windows XP Proffesional Edition. Dan software yang digunakan untuk menulis program ini adalah Visual Basic 6.0 dan metod yang digunakan dalam verifikasi suara adalah metode MFCC.
4.2 Tampilan Layar
Tampilan layar pada aplikasi ini terdiri dari empat tampilan, yaitu: Menu Utama, Informasi, Enkripsi, dan Dekripsi. Namun disini disertakan juga tampilan-tampilan dengan error message dan konfirmasi, yang disusun berdasarkan urut-urutan proses dalam melakukan enkripsi dan dekripsi.
4.2.1 Tampilan Layar Menu Utama
Gambar di bawah ini merupakan tampilan utama dari aplikasi Miracle Voice Data Protection yang memiliki empat buah tombol, yaitu: “Enkripsi”,
“Dekripsi”, “Informasi”, dan “Keluar”. Tombol “Enkripsi” berfungsi untuk menampilkan layar Enkripsi, sedangkan tombol “Dekripsi”,tentu saja berfungsi untuk menampilkan layar “Dekripsi”. Tombol “Informasi” berfungsi untuk menampilkan informasi mengenai aplikasiini dan cara-cara penggunaannya. User disarankan untuk membaca isi Informasi dahulu sebelum memakai aplikasi.Untuk dapat keluar dari program Miracle Voice Data Protection user dapat menekan tombol “Keluar”.
Gambar 4.1 Tampilan Layar Menu Utama
4.2.2 Tampilan Layar Informasi
Layar di bawah ini akan muncul apabila user menekan tombol ”Informasi”
pada menu utama. Layar Informasi akan menampilkan cara-cara menggunakan
aplikasi secara detail, dan juga informasi-informasi lain seputar aplikasi Miracle Voice Data Protection..
Gambar 4.2 Tampilan Layar Informasi
4.2.3 Tampilan Layar Enkripsi
Tampilan ini akan muncul bila user menekan tombol ”Enkripsi” di menu utama.
Gambar 4.3 Tampilan Layar Enkripsi
User terlebih dahulu memilih file yang akan dienkripsi. Format file yang dienkripsi bisa berupa .jpg, .doc, .mp3. Untuk memilih file yang dienkripsi user hanya menekan tombol “buka file” yang ada di layar enkripsi.
Gambar 4.4 Tampilan Layar Enkripsi Saat Memilih File
Setelah user memilih file yang dienkripsi barulah merekam paswordnya dengan menekan tombol rekam password. Jika user menekan tombol “rekam suara” akan muncul kotak pesan yang bertuliskan “Tolong pastikan anda tidak memutar player music saat merekam suara anda”.
Gambar 4.5 Tampilan Kotak Pesan Saat Akan Merekam Password Pada Enkripsi
Jika user sudah memilih file dan merekam suara, lalu menekan tombol
”Buat”untuk melakukan proses enkripsi, maka muncul pesan bahwa enkripsi berhasil dilakukan.
Gambar 4.6 Tampilan Layar Enkripsi dengan Pesan Berhasil
4.2.4 Tampilan Layar Deskripsi
Setelah menekan tombol ”Dekripsi” pada menu utama, maka user akan masuk pada menu Dekripsi. Untuk melakukan dekripsi, user harus terlebih dahulu membuka file yang ingin di-dekripsi dengan menekan tombol “buka file”. Setelah itu user memilih file yang akan dideskripsi
Gambar 4.7 Tampilan Layar Dekripsi
Gambar 4.8 Tampilan Layar Deskripsi Saat memilih File
Setelah memilih file user merekam suara yang sama dengan suara saat merekam file enkripsi. Setelah merekam suara user menekan tombol “Buat” untuk melakukan proses deskripsi, maka ada dua kemungkinan yaitu jika gelombang suara sama dengan gelombang pada saat merekam file enskripsi maka deskripsi
berhasil dilakukan dan file akan terbuka, dan sebaliknya jika gelombang suara tidak sama dengan gelombang pada saat merekam file enskripsi maka deskripsi tidak berhasil dilakukan dan file tidak dapat terbuka. Tetapi prosentase file tersebut dapat terbuka adalah 40% dikarenakan apabila dibuat prosentase 100%
maka file akan sulit untuk terbuka karena gelombang suara harus benar-benar sama.
Pesan jika file dapat terbuka :
Gambar 4.9 Tampilan Layar Deskripsi Dengan Pesan Berhasil
bila user tidak diidentifikasi sebagai orang yang berhak membuka file, maka pesan di bawah ini akan muncul.
Gambar 4.10 Tampilan Layar Dekripsi dengan Pesan Gagal
4.3 Evaluasi Hasil Penelitian
Setiap sinyal suara yang dihasilkan disampling dengan durasi 1,28 detik pada sampling rate 16 kHz, Oleh karena itu, secara keseluruhan diperoleh 2 x 2 = 4 data suara dari 2 pembicara. Dari 2 data untuk setiap pembicara dipisahkan menjadi 2 set, yaitu satu set sebagai data training dan sisanya sebagai data uji.
Dalam hal ini dilakukan 3 jenis pembagian dengan rasio data training: data uji sebagai 60:20, 40:40, dan 20:60. Berikutnya data suara pada setiap set dibaca dari frame demi frame dengan lebar frame 512 sample dan overlap antar frame 256 sample. Setiap frame yang dihasilkan dihitung nilai bispektrum untuk frekuensi 128 x 128. Dari sini dihitung nilai cirinya dengan menggunakan MFCC untuk mendapatkan 13 koefisien MFCC dari data bispektrum setiap frame tersebut.
Untuk mengetahui seberapa besar komponen koefisien. Hasil yang di dapatkan tidak selalu menunjukan hasil yang akurat. Hal ini disebabkan oleh berbagai macam factor seperti yang telah disebutkan pada bab III. Dan percobaan-percobaan yang dilakukan berikut ini dilakukan untuk mencari tahu bagaimana cara meminimalkan kesalahan yang dapat terjadi, dan juga untuk mengetahui, seberapa baik tingkat keamanan dan tingkat pengenalan dari algoritma MFCC.
Sebelum melakukan percobaan, dilakukan analisa mengenai verifikasi suara yang melalui beberapa tahap
Penjelasan mengenai beberapa tahap sebagai berikut:
1) HASIL FRAME BLOCKING dan WINDOWING DARI SAMPLE SUARA
Panjang Frame (N)
Overlaping antar frame (M)
Tujuan overlaping adalah agar diperolah korelasi antar frame yang berdampingan
Tujuan windowing adalah mengurangi kebocoran spektral
Sehingga Jumlah Frame = ((l-N)/M) + 1 = ((44091 –
2) Fast Fourier Transform (FFT)
FFT akan mengkonversi masing-masing frame dari domain waktu ke domain frekuensi. FFT adalah sebuah algoritma yang cepat untuk mengimplementasikan Discrete Fourier Transform (DST)
3) Mel Frequency Wrapping
Skala mel frequency adalah frekuensi linier pada daerah di bawah 1 KHz dan logaritmik untuk daerah diatas 1 KHz. Sebagai pendekatqan diberi formula sebagai berikut:
mel(f) = 2595*log10 (1 + f / 700)
4) cepstrum
Spektrum Log mel dikonversi kembali ke dalam waktu. Hasilnya disebut sebagai mel frequency cepstrum coefficients (MFCC). Oleh karena koefisien mel spekrum merupakan bilangan real, kita dapat mengkonversinya dalam domain waktu menggunakan discrete cosine transform (DCT) , kita dapat menghitung MFCC sebagai :
F R R A M E
=
= 0, … , − 1
= cos ∗( − 0.5) ∗ 20
Setelah itu vector dikelompokan berdasarkan jarak terdekat antara vector ciri (MFCC) dengan menggunakan rumus Euclidean Distance:
Setelah menganalisa mengenai MFCC, barulah melakukan serangkaian percobaan. Percobaan dilakukan oleh 2 User berbeda dengan sampel suara
“selamat pagi” dan “terima kasih”.
4.3.1 Percobaan Dengan menggunakan Password Sama Dengan User yang Sama.
Percobaan ini dilakukan untuk mengetahui tingkat pengenalan password suara dari user yang sama. Percobaan dilakukan tiga kali, dengan dua orang yang berbeda.
Password : “Selamat Pagi”
User : Udit
Percobaan dengan menggunakan password yang sama dari user yang sama
Tabel 4.1 Percobaan dengan Password yang Sama dari User yang Sama yang diucapkan oleh udit
Password Udit
Selamat Pagi √ (berhasil)
Selamat Pagi X (gagal)
Selamat Pagi √ (berhasil)
Keterangan tabel :
√ = diterima X = ditolak
Dari tiga kali percobaan yang dilakukan user Udit kedua filenya berhasil dibuka dan satu file gagal terbuka tetapi setelah dilakukan berulang-ulang file berhasil terbuka. Ini dikarenakan beberapa faktor, yaitu:
a) Intonasi : Intonasi yang berbeda pada saat mengucapkan password dan pada verifikasi sangat mempengaruhi karena jika berbeda maka dapat diartikan berbeda oleh sistem tersebut.
b) Tingkat Kebisingan : Jika user mengucapkan password pada keadaan sunyi dan membuka file tersebut pada keadaan ramai maka akan timbul noise yang akan mempengaruhi tingkat keberhasilan.
c) Volume Suara : jika kita mengucapkan password dengan volume kecil dan membukanya kembali dengan volume sangat besar maka proses verifikasi tidak akan berhasil.
Password : “Selamat Pagi”
User : Harry
Tabel 4.2 Percobaan dengan Password yang Sama dari User yang Sama oleh Harry
Password Harry
Selamat Pagi √ (berhasil)
Selamat Pagi X (gagal)
Selamat Pagi √ (berhasil)
Keterangan tabel :
√ = diterima X = ditolak
Begitu juga ketiga percobaan yang dilakukan oleh user Harry dua filenya juga berhasil dibuka dan satu filenya gagal terbuka. Ini disebabkan karena dalam proses verifikasi suara dan kata-kata yang keluarkan mungkin sama, hanya saja intonasi dan volume yang diucapkan agak sedikit berbeda dengan yang aslinya.
Dari data tersebut, dapat disimpulkan bahwa, dengan mengucapkan password yang benar, user dapat dengan mudah membuka proteksi file. Namun ada kalanya Miracle Voice Data Protection tidak dapat mengenali, sekalipun passwordnya dengan benar. Ini disebabkan oleh perbedaan suara yang diucapkan oleh user, baik dalam volume, kecepatan pengucapan, kejelasan suku kata, ataupun frekuensi. Namun, setelah melakukan percobaan lebih lanjut, biasanya user tetap dapat membuka file setelah beberapa kali mencoba.
4.3.2 Percobaan dengan Menggunakan Password Sama pada User yang Berbeda
Percobaan ini dilakukan, untuk mengetahui, seberapa amankah aplikasi yang kami buat terhadap orang lain yang mencoba membuka proteksi file.
Password : “Terima Kasih”
User : Udit
Tabel 4.3 Percobaan dengan Password yang Sama dari User yang Berbeda dengan password yang diucapkan oleh Udit
Password Udit Harry
Terima Kasih √ (berhasil) X (gagal)
Terima Kasih √ (berhasil) X (gagal)
Keterangan tabel :
√ = diterima X = ditolak
Password : “Selamat Pagi”
User : Harry
Tabel 4.4 Percobaan dengan Password yang Sama dari User yang Berbeda dengan password yang diucapkan oleh Harry
Password Udit Harry
Terima Kasih X (gagal) √ (berhasil)
Terima Kasih X (gagal) √ (berhasil)
Keterangan tabel :
√ = diterima X = ditolak
Tabel di atas menunjukkan bahwa user lain tidak pernah berhasil membuka proteksi, sekalipun user tersebut mengetahui passwordnya. Sehingga, dapat disimpulkan bahwa, tingkat keamanan aplikasi Miracle Voice Data Protection sangat baik. Namun, ada kalanya, orang yang berhak membuka file-nya pun mengalami penolakan ketika ingin membuka filefile-nya sendiri. Seperti yang
sudah disebutkan pada bagian sebelumnya, hal ini disebabkan karena perbedaan suara yang terlalu besar yang diucapkan user.
4.3.3 Percobaan dengan Menggunakan Berbagai Macam Password
Percobaan ini bertujuan untuk mengetahui, password yang seperti apa yang lebih mudah dikenali oleh Miracle Voice Data Protection. Password yang dicoba adalah kata /gabungan kata dengan berbagai macam suku kata, dan password tersebut masing-masing dicoba 5 kali oleh seorang user.
Password-password yang dipilih pada percobaan ini antara lain: ”Apa Kabar”, ”Selamat Datang”, ”Tangis Histeris”, ”Kisi-kisi”, ”Terima Kasih”, ”Ilmu Komputer”, ”Mercu Buana”, ”Basis Data”, ”Bisnis Kismis”, dan ”Warta Berita”.
Hasil percobaan ditampilkan pada tabel berikut ini:
Tabel 4.5 Percobaan dengan Berbagai Macam Password dengan 5 kali percobaan Password Jumlah Keberhasilan
Apa Kabar 5
Selamat Datang 5
Tangis Histeris 2
Kisi-kisi 3
Terima Kasih 4
Ilmu Komputer 4
Mercu Buana 4
Basis Data 4
Bisnis Kismis 2
Warta Berita 4
Ada yang dapat disimpulkan dari data-data pada tabel di atas. Sebaiknya, kata-kata yang dipakai untuk password menghindari suku kata yang berakhir dengan huruf ’s’ atau berdesis. Walaupun tidak terlalu signifikan, kata-kata yang seperti itu cenderung susah untuk diucapkan secara tepat, dalam arti, bisa terlalu panjang, atau terlalu pendek. Percobaan tersebut adalah percobaan yang terakhir, yang membawa kita pada kesimpulan sebagai berikut : metode MFCC dan Vector Quantization cukup baik dalam melakukan pengenalan pembicara, perekaman suara pada saat dekripsi harus dilakukan dengan pengucapan yang mirip dengan perekaman suara pada saat enkripsi, dan password yang dipilih sebaiknya menghindari bunyi desis.
BAB V PENUTUP
5.1 Kesimpulan
Setelah dilakukan pembuatan aplikasi Miracle Voice Data Protection, yang dapat melakukan enkripsi file dengan password berupa suara, dapat disimpulkan beberapa hal, yaitu Ada dua macam autentifikasi pembicara, yaitu identifikasi, dan verifikasi. Identifikasi pembicara adalah proses untuk menentukan siapa pembicara tersebut berdasar data yang telah didapat sebelumnya. Sedangkan verifikasi pembicara adalah suatu proses menerima atau menolak identitas yang diklaim sebagai pembicara. Pada aplikasi ini, jenis yang dipakai adalah jenis yang disebutkan terakhir, yaitu sebagai proses menerima atau menolak identitas orang yang mencoba untuk membuka proteksi file.
Aplikasi proteksi file dengan password suara cukup baik dibandingkan password dalam bentuk karakter karena password berupa karakter bila password tersebut diperoleh orang lain maka orang tersebut akan dapat membuka proteksi dengan mudah, tetapi jika password berupa suara bila orang lain mengetahui passwordnya maka orang lain belum tentu bisa membukanya.
Setelah dilakukan serangkaian percobaan dengan user yang berbeda dapat disimpulkan bahwa meskipun kita yang membuat password tetapi adakalanya kita sendiri tidak bisa membuka karena disebabkan beberapa faktor seperti frekuensi, intonasi, noise, dan volume suara. Tetapi setelah dilakukan secara berulang-ulang maka file tersebut dapat berhasil dibuka.
Pengenalan suara akan maksimal bekerja pada kondisi yang tingkat noise-nya rendah. Sampai sekarang, penelitian pada bidang ini masih terus dilakukan.
Karena, aplikasinya bisa memudahkan banyak orang dalam melakukan pekerjaannya. Penelitian terus dilakukan agar dapat diciptakan suatu sistem pengenalan suara (atau khususnya, pengenalan pembicara) yang mempunyai tingkat kesalahan yang semakin kecil dan toleransi terhadap noise yang semakin besar.
5.2 Saran
Beberapa saran yang berguna, baik dalam menggunakan aplikasi ini, ataupun dalam mengembangkan aplikasi yang menggunakan sistem pengenalan pembicara, adalah sebagai berikut:
a. Dalam menggunakan aplikasi Miracle Voice Data Protection, user hendaknya mengingat password yang telah dilakukan pada saat melakukan enkripsi. Hal ini sangat penting, guna mencegah tidak bisanya kita melakukan dekripsi pada file tersebut.
b. Password yang dipilih hendaknya menghindari kata-kata yang mempunyai bunyi desis seperti kata ’basis’, ’histeris’, dan lain lain.
c. Dalam melakukan perekaman suara, baik pada saat dekripsi maupunenkripsi, sebaiknya dilakukan pada kondisi yang tidak terlalu bising.Mikrofon yang anti noise juga disarankan untuk memaksimalkankeakuratan. Kata yang diucapkan pun harus jelas dan keras, agar tidak susah dalam membuka proteksi nantinya.
DAFTAR PUSTAKA
Rabiner,Lawrence dan Jang, Bing Hwang.(1993). Fundamental of Speech Recognition. Prentice Hall, New Jersey.
James Matthews, How Does Speech Recognition Work?
http://www.generation5.org/content/2002/howsrworks.asp
Melvyn J. Hunt, Signal Representation
http://cslu.cse.ogi.edu/HLTsurvey/ch1node5.html Bruce Schneier, Blowfish Encryption
http://www.schneier.com/paper-blowfish-fse.html
LAMPIRAN
LISTING PROGRAM Main Program
Private Sub Form_Load()
If App.PrevInstance = True Then
MsgBox "Tidak dapat menjalakan program yang sama pada saat bersamaan", vbInformation, "MVDP Sudah berjalan"
Exit Sub PathKu = App.Path & "\Enskrip\"
Else
If GetINI("MVDP SETTING", "WAVE FILE1") = "" Then
Call SetINI("MVDP SETTING", "WAVE FILE1", App.Path &
"\Password.wav")
Call SetINI("MVDP SETTING", "WAVE FILE2", App.Path &
"\Verifikasi.wav") End If
NamaFileWave1 = GetINI("MVDP SETTING", "WAVE FILE1") NamaFileWave2 = GetINI("MVDP SETTING", "WAVE FILE2") SettingSkala picWav1, 0, 1000, -500, 500
SettingSkala picWav2, 0, 1000, -500, 500 optIsolate.value = True
pbar.Max = 100 pbar.Min = 0 Cnt = 0
FrameAwal.Visible = True FrameDeskripsi.Visible = False
FrameEnskripsi.Visible = False Dim backPic As String
backPic = App.Path & "\background.jpg"
If FileAda(backPic) Then
imgBack.Picture = LoadPicture(backPic) End If
' Bicara "Selamat datang di Miracle Voice Data Protection"
' Bicara "Untuk memulai program, anda dapat memilih 2 Operasi yang terdapat di form ini, yaitu operasi Enskripsi dan deskripsi"
End Sub Enkripsi File
Public Function EncryptFile(inFIle As String, OutFile As String, Overwrite As Boolean, Optional Key As String, Optional OutputIn64 As Boolean) As Boolean 'Panggil Fungsi class_Initialize
Class_Initialize
If FileExist(OutFile) = True And Overwrite = False Then
'Jika file tujuan ada dan variable Overwrite = false maka proses enskripsi di
'Enskripsikan semua data yang ada di dalam variable buffer Call EncryptByte(Buffer(), Key)
'Apabila file tujuan sudah ada maka akan kita hapus If FileExist(OutFile) = True Then Kill OutFile FileO = FreeFile
'Hapus isi variable-variable yang telah digunakan Erase Buffer(): Key = "": inFIle = "": OutFile = ""
Exit Function errorhandler:
'Hapus isi variable-variable yang telah digunakan Erase Buffer(): Key = "": inFIle = "": OutFile = ""
EncryptFile = False End Function
Enkripsi Byte
Public Sub EncryptByte(byteArray() As Byte, Optional Key As String) 'Inisialisasi semua variable yang akan digunakan
Dim Offset As Long, OrigLen As Long, LeftWord As Long, RightWord As Long, CipherLen As Long, CipherLeft As Long, CipherRight As Long, CurrPercent As Long, NextPercent As Long
'Cek apakah kunci enskripsi yang digunakan ddi masukan atau tidak oleh user, apabila tidak maka kita menggunakan kunci default
If (Len(Key) > 0) Then Me.Key = Key
'Set Variable OrigLen agar sama panjang dengan ByteArray OrigLen = UBound(byteArray) + 1
'isi variable Chipherlen dengan data OrigLen +12 CipherLen = OrigLen + 12
'Jika nilai ChiperLen Modules 8 tidak kosong maka nilai ChiperLen = Chiperlen +8 -(CipherLEn Mod 8)
If (CipherLen Mod 8 <> 0) Then CipherLen = CipherLen + 8 - (CipherLen Mod 8)
'Reset varable ByteArray agar sama dengan variable ChiperLen ReDim Preserve byteArray(CipherLen - 1)
'Copy isi data variable bytearray(0) sepanjang OrigLen ke dalam variable ByteArray(12)
Call CopyMem(byteArray(12), byteArray(0), OrigLen) Call CopyMem(byteArray(8), OrigLen, 4)
Call Randomize
Call CopyMem(byteArray(0), CLng(2147483647 * Rnd), 4) Call CopyMem(byteArray(4), CLng(2147483647 * Rnd), 4) 'Mulai proses enskripsi
For Offset = 0 To (CipherLen - 1) Step 8
'Ambil data dari variable pada blok di sebelah kiri dari variable byterarray Call GetWord(LeftWord, byteArray(), Offset) Call EncryptBlock(LeftWord, RightWord)
'Masuakn nilai di hasil ensripsi blok kiri tadi ke dalam variable bytearray Call PutWord(LeftWord, byteArray(), Offset)
'Masuakn niali hasil Ensripsi blok kanan ke dalam variable ByteArray lagi Call PutWord(RightWord, byteArray(), Offset + 4)
If (CurrPercent <> 100) Then RaiseEvent Progress(100) End Sub
Deskripsi File
Public Function DecryptFile(inFIle As String, OutFile As String, Overwrite As Boolean, Optional Key As String, Optional IsFileIn64 As Boolean) As Boolean On Error GoTo errorhandler
If FileExist(inFIle) = False Then
DecryptFile = False Exit Function End If
DoEvents
If FileExist(OutFile) = True And Overwrite = False Then DecryptFile = False
Call DecryptByte(Buffer(), Key)
If FileExist(OutFile) = True Then Kill OutFile Open OutFile For Binary As #FileO
Public Sub DecryptByte(byteArray() As Byte, Optional Key As String) On Error GoTo errorhandler Call DecryptBlock(LeftWord, RightWord)
LeftWord = LeftWord Xor CipherLeft RightWord = RightWord Xor CipherRight
Call GetWord(CipherLeft, byteArray(), Offset)
Call CopyMem(OrigLen, byteArray(8), 4)
If (CipherLen - OrigLen > 19) Or (CipherLen - OrigLen < 12) Then Call Err.Raise(vbObjectError, , "Incorrect size descriptor in Blowfish decryption") Call CopyMem(byteArray(0), byteArray(12), OrigLen)
ReDim Preserve byteArray(OrigLen - 1)
If CurrPercent <> 100 Then RaiseEvent Progress(100)
errorhandler:
Y() As Double, Optional Col = vbYellow, Optional AllWave As Boolean = True) Dim i As Long, buff As Long, Xrate As Double, Yrate As Double
Dim LastX As Double, LastY As Double, Min As Double, Max As Double Dim CurrX As Double, j As Long, imin As Long, imax As Long
'Not using other variables just for lack of will:
'values(0)= Titik awal
i = i + 1: ReDim Preserve values(i)
'Pengulangan untuk mengisolasikan bagian terpenting dari file wav
If (AllWave = False And optIsolate.value = True) Or (AllWave = False And
'Masukan bagian terpenting dari file wav ke dalam gambar amplitudo Xrate = (.ScaleWidth / (imax - imin))
Yrate = (Max - Min) / (.ScaleTop)
If Err.Number = 95 Then Resume Next End Sub
Test1 = Perbandingan_DariTitikKeTitik(Y1, Y2) Test2 = Perbandingan_Statis(Y1, Y2)
If Abs(UBound(values1) - UBound(values2)) > 300 Then Verifikasi = False:
Exit Function
' If Perbandingan_DariTitikKeTitik(Y1, Y2) >= Cnt And (Abs(values1(3) -values2(3)) < 10) And (Abs(values1(4) - values2(4)) < 10) And _
' (Abs(ArithmeticMean(Y1, values1(0), values1(1)) - ArithmeticMean(Y2, values2(0), values2(1))) < 6) And _
'(Abs(StandardDeviation(Y1, values1(0), values1(1)) - StandardDeviation(Y2, values2(0), values2(1))) < 10) Then