BAB 4 METODOLOGI PEMECAHAN MASALAH DAN PERANCANGAN 4.1 Model Rumusan Masalah dan Pengambilan Keputusan Suara yang dihasilkan manusia merupakan sinyal analog. Setelah melalui proses perekaman, suara ini diubah menjadi sinyal digital dengan menggunakan Analog to Digital Converter, dan kemudian disimpan ke dalam file berekstension.wav. Informasi data yang terdapat pada file tersebut berbasis-waktu, sehingga harus diubah menjadi informasi berbasis-frekuensi melalui metode transformasi diskrit Fourier yang diimplementasikan menggunakan algoritma fast Fourier transform. Setelah didapatkan informasi berbasis-frekuensi, diambil nilai-nilai frekuensi beserta intensitasnya untuk kemudian dianalisis. 4.1.1 Algoritma Program Untuk pengimplementasian ke dalam program aplikasi dibutuhkan algoritma yaitu berisi langkah-langkah instruksi sehingga dicapai hasil yang diinginkan. Adapun algoritma untuk melakukan placement test secara komputerisasi ini adalah sebagai berikut : 1. Masukan yang digunakan adalah suara manusia yang direkam melalui mikrofon. Suara manusia yang merupakan sinyal analog diubah menjadi sinyal digital dalam bentuk file berekstension WAV. 2. Pada awal program ditanyakan jenis kelamin user untuk memudahkan penentuan jenis suara. 35
3. Pemeriksaan dimulai dengan memeriksa karakteristik suara dari user. Sebelum proses perekaman, diperdengarkan MIDI yang memainkan nada A4 (frekuensi 440Hz) sebagai patokan untuk bernyanyi. 4. Setelah itu, pemeriksaan untuk mengetahui jangkauan nada bawah dari user dilakukan. Sebelum direkam, diperdengarkan MIDI yang memainkan nada yang menjadi patokan dalam bernyanyi. Dimulai dari nada C4 dengan interval sol ke do, nada pemeriksaan akan semakin turun hingga user tidak dapat melanjutkan. Hasil rekaman yang diambil adalah satu tangga nada diatas tangga nada terakhir user berhenti. 5. Pemeriksaan dilanjutkan dengan memeriksa nada atas, dengan langkah sama seperti pemeriksaan jangkauan nada bawah. Yang berbeda adalah dimulai dari nada A3 dengan interval oktaf. 6. Hasil rekaman karakter suara dengan nilai berbasis-waktu diubah dengan transformasi diskrit Fourier yang diimplementasikan dengan fast Fourier transform menjadi nilai berbasis-frekuensi. 7. Hasil fast Fourier transform tersebut dianalisis untuk menentukan jenis suara user. Penentuan ini terbagi menjadi 2 macam, yaitu : a. Untuk suara pria : Jika user memiliki karakter suara yang benarbenar berat, maka user adalah bass. Jika tidak, dilihat dari kekuatan nada atas dan nada bawahnya. Jika kekuatan nada bawah lebih besar dari nada atas, kemudian dilihat dari jangkauan nada atasnya. Jika user tidak dapat mencapai nada F#5, maka user adalah bass. Jika tidak, user adalah tenor. Sebaliknya, jika kekuatan nada atas lebih besar dari nada bawah, dilihat jangkauan nada atasnya. Jika 36
user dapat mencapai nada F#5 atau lebih, maka user adalah tenor. Jika tidak, user adalah bass. b. Untuk suara wanita : Jika user memiliki karakter suara yang benarbenar berat, maka user adalah alto. Jika tidak, dilihat dari kekuatan nada atas dan nada bawahnya. Jika kekuatan nada bawah lebih besar dari nada atas, kemudian dilihat dari jangkauan nada atasnya. Jika user hanya dapat mencapai nada G6, maka user adalah alto. Jika tidak, user adalah sopran. Sebaliknya, jika kekuatan nada atas lebih besar dari nada bawah, dilihat jangkauan nada atasnya. Jika user dapat mencapai nada F6 atau lebih, maka user adalah sopran. Jika tidak, user adalah alto. 4.2 Teknik Pengumpulan Data dan Penentuan Parameter Proses penelitian ini, dilakukan penulis untuk membuat program aplikasi yang kemudian dapat secara langsung digunakan keperluan placement test, khususnya pada paduan suara. Oleh karena itu data yang dikumpulkan berupa hasil rekaman suara dengan format file berekstension.wav. Data tersebut terdiri dari kasus pada pria, yaitu tenor dan bass, juga kasus pada wanita, yaitu sopran dan alto. Jumlah pengambilan data yang diambil hanyalah sebagian dari elemen anggota populasi, oleh karena itu cara pengumpulan datanya dapat dikatakan sebagai cara sampling. Ukuran sampel data yang diambil sebanyak 20 data secara keseluruhan dengan porsi yang sama untuk tiap jenis suara, yaitu tenor, bass, 37
sopran dan alto. Karena ini syarat minimum ukuran sampel yang bisa dikatakan mewakili suatu populasi. Program aplikasi dimulai dengan proses rekaman yang tergolong tiga bagian, yaitu untuk menentukan warna suara, low range dan high range. Rekaman yang menentukan warna suara harus dilakukan perubahan dahulu dari yang nilainya berbasis-waktu menjadi nilai berbasis-frekuensi. Kemudian dianalisis nilai frekuensi dalam satuan hertz dan intensitas suara dalam satuan desibel. Penentuan jenis suara akhirnya dapat dilakukan berdasarkan analisis terhadap nilai dari frekuensi, intensitas, low range dan high range. Perhitungan untuk menentukan nilai frekuensi dan intensitas suara adalah sebagai berikut : M L Hz = fs (4 1) f hz i= = 0 i f L s (4 2) I ( abs( ) + ε ) = 20 log Y (4 3) H z M : Batasan frekuensi : Batas maksimal frekuensi yang ditentukan. (Dalam penelitian ini, menggunakan M = 2000) L : Banyak array dalam proses FFT 38
f s : Frekuensi sampling f i I Y : Frekuensi (dalam satuan hertz) : nilai array dalam proses FFT : Intensitas suara ( dalam satuan desibel) : Nilai dari hasil FFT ε : Bilangan epsilon (ε = 2.22024 x 10-16 ) 4.3 Perancangan 4.3.1 Borland Delphi Menurut StrawberryFrog (2001), Borland Delphi versi 1.0 pertama kali diperkenalkan pada hari Valentine tahun 1995. Pada waktu itu, development environtment yang banyak digunakan Microsoft Windows adalah Microsoft Visual Basic dan Microsoft C++. Pembuatan Borland Delphi bertujuan untuk memberikan kemudahan kepada para programmer dalam membuat program secara visual, dengan cara menggabungkan kemudahan penggunaan environtment dari Visual Basic dan ketangguhan dari object oriented milik Microsoft C++. Arsitek utama dari 3 versi pertama Borland Delphi adalah Anders Hejsberg. Setelah itu dia bergabung dengan Microsoft dan menciptakan suatu set class untuk java yang disebut WFC (Windows Foundation Classes). Project selanjutnya adalah bahasa C#, yang mirip dengan Java tapi menggunakan beberapa ide yang bergaya Delphi. 39
4.3.2 Matlab Perangkat lunak Matlab aslinya dikembangkan untuk menjadi sebuah laboratorium matriks, yaitu perangkat lunak untuk memanipulasi matriks. Matlab saat ini memiliki kemampuan jauh melewati Matlab asli dan adalah sebuah sistem interaktif dan bahasa pemrograman untuk perhitungan ilmiah dan teknis umum. Elemen dasarnya adalah sebuah matriks. Karena perintah Matlab serupa dengan cara di mana kita merumuskan langkah-langkah teknik dalam matematika, menulis solusi komputer dalam Matlab jauh lenih cepat dibandingkan dengan menulis solusi komputer menggunakan sebuah bahasa pemrograman tingkat tinggi, seperti C atau Fortran. 4.3.3 Perancangan Layar 4.3.3.1 Rancangan Layar Menu Utama Gambar 4.1 Rancangan Layar Menu Utama 40
Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut. Judul form dengan tulisan Placement Test. Kotak dengan tanda X di samping judul memiliki fungsi untuk keluar dari program. Kotak dengan tanda di samping judul memiliki fungsi untuk memaksimumkan layar. Kotak dengan tanda _ di samping judul memiliki fungsi untuk menyembunyikan layar. Tombol menu File memiliki fungsi untuk membuka sub-menu New Test dan Exit. Tombol menu Help memiliki fungsi untuk membuka sub-menu About. 4.3.3.2 Rancangan Layar New Test Gambar 4.2 Rancangan Layar New Test 41
Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut. Judul form dengan tulisan Placement Test. Kotak dengan tanda X di samping judul memiliki fungsi untuk keluar dari program. Kotak dengan tanda di samping judul memiliki fungsi untuk memaksimumkan layar. Kotak dengan tanda _ di samping judul memiliki fungsi untuk menyembunyikan layar. Text box di samping tulisan Enter Your Name berfungsi sebagai masukan nama user. Radio button di samping tulisan Your Gender berfungsi sebagai pilihan masukan jenis kelamin user. Tombol OK berfungsi untuk melanjutkan ke proses berikutnya. Tombol Cancel berfungsi untuk membatalkan placement test dan kembali ke menu utama. 42
4.3.3.3 Rancangan Layar Tutorial Gambar 4.3 Rancangan Layar Tutorial Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut. Judul form dengan tulisan Placement Test. Kotak dengan tanda X di samping judul memiliki fungsi untuk keluar dari program. Kotak dengan tanda di samping judul memiliki fungsi untuk memaksimumkan layar. Kotak dengan tanda _ di samping judul memiliki fungsi untuk menyembunyikan layar. Label dengan tulisan (Manual) berisi petunjuk untuk mengikuti placement test. Tombol OK berfungsi untuk melanjutkan ke proses berikutnya. 43
Tombol Cancel berfungsi untuk membatalkan placement test dan kembali ke menu utama. Sedangkan isi dari (Manual) adalah sebagai berikut. The purpose of this placement test is to determine which position are you. Whether it is sopran, alto, tenor, or bass. Placement test begins with checking your low range, and continue with checking your high range. This program will record your vocalize to be analyzed. MIDI will be given to you as a guide or reference note to vocalize. Put the microphone about 10 cm in front of your mouth while you take a record. 4.3.3.4 Rancangan Layar Voice Character Gambar 4.4 Rancangan Layar Voice Character 44
Keterangan yang terdapat pada tampilan layer tersebut adalah sebagai berikut. Judul form dengan tulisan Placement Test. Kotak dengan tanda X di samping judul memiliki fungsi untuk keluar dari program. Kotak dengan tanda di samping judul memiliki fungsi untuk memaksimumkan layar. Kotak dengan tanda _ di samping judul memiliki fungsi untuk menyembunyikan layar. Label dengan tulisan (Manual) berisi petunjuk kegunaan tomboltombol yang ada di bawahnya. Tombol Save berfungsi untuk menyimpan hasil rekaman anda. Tombol berfungsi untuk memulai rekaman. Ketika ditekan, simbol pada tombol berubah menjadi Stop yang berfungsi untuk menghentikan rekaman. Lalu simbol pada tombol kembali menjadi dan begitu seterusnya. Tombol Play berfungsi untuk memutar file MIDI. Ketika ditekan, label pada tombol berubah menjadi Replay yang berfungsi sama. Tombol Stop berfungsi untuk menghentikan proses pengenalan karakter suara user, dan dilanjutkan ke pemeriksaan jangkauan nada bawah user. Sedangkan isi dari (Manual) adalah sebagai berikut. Save : Click this button to save your voice recording. 45
: Click this button if you want to start the recording.. Stop : Click this button if you want to stop the recording. Play : Click this button if you want to hear the MIDI. Replay : Click this button if you want to hear the MIDI again. Stop : Click this button if already take a record and go to the Checking Your Low Range. 4.3.3.5 Rancangan Layar Check Low Range Gambar 4.5 Rancangan Layar Check Low Range Keterangan yang terdapat pada tampilan layer tersebut adalah sebagai berikut. Judul form dengan tulisan Placement Test. 46
Kotak dengan tanda X di samping judul memiliki fungsi untuk keluar dari program. Kotak dengan tanda di samping judul memiliki fungsi untuk memaksimumkan layar. Kotak dengan tanda _ di samping judul memiliki fungsi untuk menyembunyikan layar. Label dengan tulisan (Manual) berisi petunjuk kegunaan tomboltombol yang ada di bawahnya. Tombol Continue berfungsi untuk melanjutkan ke nada yang lebih rendah. Tombol berfungsi untuk memulai rekaman. Ketika ditekan, simbol pada tombol berubah menjadi Stop yang berfungsi untuk menghentikan rekaman. Lalu simbol pada tombol kembali menjadi dan begitu seterusnya. Tombol Play berfungsi untuk memutar file MIDI. Ketika ditekan, label pada tombol berubah menjadi Replay yang berfungsi sama. Tombol Stop berfungsi untuk menghentikan proses pemeriksaan jangkauan nada bawah user, dan dilanjutkan ke pemeriksaan jangkauan nada atas user. Sedangkan isi dari (Manual) adalah sebagai berikut. Continue : Click this button if you still can go on to the lower tone. : Click this button if you are ready to record your vocalize. Stop : Click this button if you want to stop the recording. 47
Play : Click this button if you want to hear the MIDI. Replay : Click this button if you want to hear the MIDI again. Stop : Click this button if you can t go on to the lower tone and go to the Checking Your High Range. 4.3.3.6 Rancangan Layar Check High Range Gambar 4.6 Rancangan Layar Check High Range Keterangan yang terdapat pada tampilan layer tersebut adalah sebagai berikut. Judul form dengan tulisan Placement Test. Kotak dengan tanda X di samping judul memiliki fungsi untuk keluar dari program. 48
Kotak dengan tanda di samping judul memiliki fungsi untuk memaksimumkan layar. Kotak dengan tanda _ di samping judul memiliki fungsi untuk menyembunyikan layar. Label dengan tulisan (Manual) berisi petunjuk kegunaan tomboltombol yang ada di bawahnya. Tombol Continue berfungsi untuk melanjutkan ke nada yang lebih tinggi. Tombol berfungsi untuk memulai rekaman. Ketika ditekan, simbol pada tombol berubah menjadi Stop yang berfungsi untuk menghentikan rekaman. Lalu simbol pada tombol kembali menjadi dan begitu seterusnya. Tombol Play berfungsi untuk memutar file MIDI. Ketika ditekan, label pada tombol berubah menjadi Replay yang berfungsi sama. Tombol Stop berfungsi untuk menghentikan proses pemeriksaan jangkauan nada atas user, kemudian dilanjutkan ke hasil dari pemeriksaan. Sedangkan isi dari (Manual) adalah sebagai berikut. Continue : Click this button if you still can go on to the higher tone. : Click this button if you are ready to record your vocalize. Stop : Click this button if you want to stop the recording. Play : Click this button if you want to hear the MIDI. Replay : Click this button if you want to hear the MIDI again. 49
Stop : Click this button if you can t go on to the higher tone and go to the Result. 4.3.3.7 Rancangan Layar Result Gambar 4.7 Rancangan Layar Result Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut. Judul form dengan tulisan Placement Test. Kotak dengan tanda X di samping judul memiliki fungsi untuk keluar dari program. Kotak dengan tanda di samping judul memiliki fungsi untuk memaksimumkan layar. 50
Kotak dengan tanda _ di samping judul memiliki fungsi untuk menyembunyikan layar. Label (Name) di samping tulisan Hello, menunjukkan nama user yang dimasukkan pada layar New Test. Label (Character) di samping tulisan Your voice character is menunjukan karakter suara yang dimiliki user berdasarkan hasil pemrosesan. Label (Low) di samping tulisan The lowest tone you can reach is menunjukkan jangkauan nada terbawah yang dapat dicapai oleh user berdasarkan hasil pemrosesan. Label (High) di samping tulisan The highest tone you can reach is menunjukkan jangkauan nada teratas yang dapat dicapai oleh user berdasarkan hasil pemrosesan. Label (Result) di samping tulisan You are menunjukkan jenis suara dari user berdasarkan hasil pemrosesan. Tombol Back berfungsi untuk kembali ke menu utama. 51
4.3.3.8 Rancangan Layar About Gambar 4.8 Rancangan Layar About Keterangan yang terdapat pada tampilan layar tersebut adalah sebagai berikut. Judul form dengan tulisan About. Kotak dengan tanda X di samping judul memiliki fungsi untuk keluar dari program. Kotak dengan tanda di samping judul memiliki fungsi untuk memaksimumkan layar. Kotak dengan tanda _ di samping judul memiliki fungsi untuk menyembunyikan layar. Tombol Back berfungsi untuk kembali ke menu utama. 52
4.3.4 Diagram Alir Diagram Alir merupakan alat bantu pemrograman. Diagram alir (flowchart) membantu programmer dalam mengorganisasikan pemikiran mereka dalam pemrograman, terutama bila dibutuhkan penalaran yang tajam dalam logika prosedur suatu program (Jones, 1980). Simbol-simbol yang sering digunakan untuk diagram alir adalah sebagai berikut : 1. Proses Berupa proses atau pengolahan, misalnya perhitungan Untuk predefined process 2. Operasi Input / Output 3. Operasi Manual Input 4. Panah, menghubungkan antar komponen dan menunjukkan arah 5. Decision, berupa pertanyaan atau penentuan suatu keputusan 6. Terminal, untuk menandai awal atau akhir program 7. Preparation, untuk inisialisasi suatu nilai 53
8. Connector, sebagai penghubung dalam satu halaman 9. Off Page Connector, sebagai penghubung antar halaman 4.3.4.1 Perancangan Flowchart Program Program yang dirancang akan melalui beberapa proses, yaitu : 1. Proses perekaman suara yang terdiri dari tiga tahap, yaitu perekaman karakter suara, jangkauan bawah, dan jangkauan atas dari user. 2. Perubahan sinyal analog menjadi sinyal digital berbasis waktu yang menghasilkan file berekstension.wav. 3. Perubahan sinyal digital berbasis waktu menjadi sinyal digital berbasis frekuensi yang terdapat pada file suara untuk mendapatkan frekuensi dan intensitas suara. 4. Analisis frekuensi dan intensitas suara untuk mendapatkan karakter suara, jangkauan atas dan bawah, serta jenis suara user. Penjelasan mengenai proses yang terjadi selama program berlangsung dijelaskan melalui flowchart pada gambar 4.9 54
Gambar 4.9 55
Perancangan Flowchart Program 4.3.4.2 Perancangan Flowchart Perekaman Karakter Suara Penjelasan mengenai proses perekaman karakter suara dijelaskan melalui flowchart pada gambar 4.10 Gambar 4.10 Perancangan Flowchart Perekaman Karakter Suara 4.3.4.3 Perancangan Flowchart Perekaman Jangkauan Bawah Penjelasan mengenai proses perekaman jangkauan bawah dijelaskan melalui flowchart pada gambar 4.11 56
Gambar 4.11 Perancangan Flowchart Perekaman Jangkauan Bawah 4.3.4.4 Perancangan Flowchart Perekaman Jangkauan Atas Penjelasan mengenai proses perekaman jangkauan atas dijelaskan melalui flowchart pada gambar 4.12 57
Gambar 4.12 Perancangan Flowchart Perekaman Jangkauan Atas 4.3.4.5 Perancangan Flowchart Perhitungan Output Penjelasan mengenai proses perhitungan output dijelaskan melalui flowchart pada gambar 4.13 58
59
60
Gambar 4.13 Perancangan Flowchart Perhitungan Output 61