PENGEMBANGAN PROGRAM APLIKASI PENALA GITAR MENGGUNAKAN FAST FOURIER TRANSFORM Rizal Chandra ABSTRAK The objective of this application is to generate tuner program that can bring out the tone and guide that allows users to tune their guitars to avoid mistune, by applying the mathematical science of the transformation of sound waves into IT. The method used to carry out the development of the guitar tuning application program is the Fast Fourier Transform method. Guitar-sound that input through the microphone to the notebook computer will be processed into digital data that can be processed into Frequency using Fast Fourier Transform. Later this frequency will be converted into musical notes and displayed on the screen, so the user can see if the tone is right or not. The final result is to create a guitar tuner that is able to produce the same tone as the input sound. Although there is still noise resulting tuning error with an error rate of about ten per cent, but overall not too intrusive program. In conclusion the program can be used to tune the guitar properly. Tujuan dari pengembangan aplikasi ini adalah untuk menghasilkan program penala yang dapat memunculkan nada dan panduan sehingga memudahkan pengguna dalam menala gitar mereka agar tidak sumbang dan enak didengar, dengan menerapkan ilmu matematika tentang transformasi gelombang suara ke dalam IT. Metode yang digunakan untuk melakukan pengembangan program aplikasi penala gitar adalah metode Fast Fourier Transform. Suara gitar di-input melalui mikrofon pada notebook computer dan akan diolah menjadi data digital sehingga dapat diproses menggunakan Fast Fourier Transform menjadi frekuensi. Nantinya frekuensi ini akan diubah menjadi nada musik dan ditampilkan di layar monitor, sehingga pengguna dapat melihat apakah nada sudah tepat atau belum. Hasil akhir yang didapat yaitu terciptanya penala gitar yang mampu menghasilkan nada yang sesuai dengan nada yang di-input. Walaupun masih terdapat noise yang mengakibatkan kesalahan penalaan dengan tingkat kesalahan sekitar sepuluh persen, tetapi secara keseluruhan tidak terlalu mengganggu program. Kesimpulannya program dapat digunakan untuk menala gitar dengan baik. Kata Kunci: Tala, Fast Fourier Transform, Nada, Gitar PENDAHULUAN Latar belakang dilakukannya pengembangan ini adalah karena musik sudah menjadi keseharian dalam kehidupan manusia. Hampir di setiap tempat kita dapat mendengar musik. Kadang-kadang saat mendengar sebuah lagu, muncul keinginan untuk dapat memainkan lagu tersebut. Untuk dapat memainkan musik dibutuhkan alat musik. Beberapa alat musik dapat langsung dimainkan, seperti seruling, keyboard, xylophone, pianika. Tapi beberapa alat musik harus ditala terlebih dahulu agar tidak sumbang. Penalaan adalah proses menyamakan nada alat musik sehingga tidak terdengar sumbang. Untuk menala alat musik dibutuhkan pendengaran yang baik. Beberapa cara menala antara lain adalah dengan menggunakan pendengaran, dengan menggunakan garpu tala, menyamakan dengan alat musik yang sudah ditala, menyamakan dengan alat musik yang tidak perlu ditala, atau menggunakan penala atau tuner. Cara yang paling sederhana menurut penulis adalah dengan menggunakan perasaan. Tapi tidak semua orang dapat melakukannya. Untuk yang malas harus menala dengan pedengaran atau garpu tala, juga para pemula yang tidak mempunyai kemampuan menala atau pendengaran yang peka, menggunakan tuner atau penala adalah solusi yang baik. Di era modern seperti sekarang penggunaan teknologi menjadi sangat dibutuhkan. Banyak peralatan teknologi yang semakin multi guna, seperti telepon genggam yang bisa juga untuk chatting, menonton televisi, mendengar radio, dan lainnya hanya dalam satu alat. Dengan kata lain teknologi menjadi semakin praktis. Karena itu, Tujuan pembuatan aplikasi penala gitar ini, agar dapat dipakai pada notebook computer, sehingga praktis dan tidak merepotkan. Diharapkan dengan adanya aplikasi penala pada notebook computer, maka pemain musik pemula dapat menala alat musik kapanpun dan di manapun tanpa harus membawa penala lagi dan pengguna dapat melakukan semua kegiatan bermusik hanya dengan notebook computer dan alat musiknya saja. Pengembangan ini sendiri bertujuan untuk menghasilkan program penala yang dapat memunculkan nada dan panduan agar memudahkan pengguna dalam menala alat musik mereka dengan benar sehingga tidak sumbang dan enak didengar dengan menerapkan ilmu matematika tentang transformasi gelombang suara ke dalam IT. Metode yang digunakan dalam pengembangan ini adalah metode Fast Fourier Transform. Fast Fourier Transform (FFT) adalah algoritma Transformasi Fourier Diskrit yang mengurangi jumlah perhitungan yang diperlukan oleh dari menjadi , dimana adalah logaritma basis 2. FFT pertama kali dibahas oleh Cooley dan Tukey pada tahun 1965, meskipun Gauss menggambarkan langkah faktorisasi kritisnya tahun 1805. Transformasi Fourier Diskrit dapat dihitung menggunakan FFT dengan harga N merupakan perpangkatan dua. Jika harga N bukanlah perpangkatan dua, transformasi dapat dilakukan pada set poin yang sesuai dengan faktor-faktor prima yang sedikit rusak dalam kecepatan. Algoritma Fourier Transform yang nyata dan efeisien memberikan peningkatan lebih lanjut dalam kecepatan untuk sekitar dua faktor. Base-4 dan Base-8 FFT menggunakan kode yang dioptimalkan, dan dapat 20-30% lebih cepat dari Base-2 FFT. Algoritma Fast Fourier Transform umumnya terbagi dua kelas: pengurangan waktu, dan pengurangan frekuensi. Algoritma Cooley-Tukey FFT pertama menata kembali elemen masukan dalam rangka bit-terbalik, kemudian membangun output transformasi (pengurangan dalam waktu). Ide dasarnya adalah untuk membelah transform of length menjadi dua transform of length dengan menggunakan identitas. METODE PENELITIAN Secara sederhana, proses pembuatan penala dimulai dengan meng-input suara dari alat musik ke komputer, lalu suara yang masuk akan di-sampling, dan diubah ke data digital, lalu dengan menggunakan Fast Fourier Transform akan didapat frekuensi. Frekuensi ini akan dihitung untuk mengetahui nadanya, nantinya nada ini akan ditampilkan di layar sehingga pengguna tahu apakah nadanya sudah pas atau belum. Perancangan menggunakan model waterfall sebagai berikut: 1. Tahap Investigasi Tahap untuk merumuskan masalah, mengumpulkan segala macam informasi yang dibutuhkan tentang musik, gelombang, frekuensi, dan lain-lain dengan cara membaca bahan bacaan mendiskusikan dengan yang mengerti musik dan gelombang 2. Tahap Analisis Tahapan menganalisis masalah yang perlu diselesaikan. Pada tahap ini dicari kebutuhan pengguna, menganalisis masalah, mencari tahu solusi dan sebagainya. 3. Tahap Disain Tahap yang menggambarkan sistem, dari masukan, keluaran, tampilan pengguna, dan alur data. Dari suara mentah yang dikeluarkan oleh alat musik, akan dibaca dan di-sampling oleh komputer, kemudian mengubahnya menjadi data digital yang kemudian diubah ke dalam frekuensi-frekuensi yang nantinya dijadikan nada dasar dan ditampilkan ke layar sebagai pembanding bagi pengguna. 4. Tahap Implementasi Pada tahap ini akan dilakukan pegembangan program menggunakan bahasa pemrograman visual studio c#. Nantinya setelah program selesai dibuat akan dilakukan pengetesan dengan garpu tala A(440) dengan cara membunyikan garpu tala dan membandingkan nada yang dihasilkan dengan nada garpu tala. Setelah itu akan diimplementasikan kepada pengguna, apakah mereka dapat menggunakan aplikasi ini sesuai yang diharapkan atau tidak. 5. Tahap Perawatan Setelah tahap implementasi, akan dilakukan monitoring proses dan evaluasi yang akan digunakan untuk menyempurnakan aplikasi yang telah dibuat. HASIL DAN BAHASAN mulai Gitar mikrofon program monitor selesai Saat program dijalankan, program membutuhkan masukan berupa suara gitar, meka pengguna membunyikan gitar dan suara gitar akan ditangkap oleh mikrofon. Suara yang masuk melalui mikrofon akan diproses di program sehingga menghasilkan tampilan yang akan ditampilkan pada layar monitor. Umumnya dalam proses penalaan, suara gitar tidak langsung sama atau tertala. Dibutuhkan pengulangan beberapa kali sehingga suara gitarnya tertala dengan baik. Bila gitar sudah tertala, pengguna bisa keluar dari program. Program dirancang untuk memudahkan penalaan atau tuning dengan cara menampilkan nada musik yang berdasarkan suara yang dimasukkan ke dalam program. Sehingga pengguna tinggal membandingkan nada tersebut dengan nada yang seharusnya. Gitar pada umumnya memiliki 6 senar, dan masing-masing senar memiliki nada dasar tersendiri. Dalam keadaan normalnya, nada dasar gitar dari senar paling atas ke bawah adalah E-A-G-D-B-E. Senar paling atas paling tebal, semakin ke bawah semakin tipis. Urutan penamaan senar mulai dari yang paling tipis (bawah) disebut senar 1, senar diatasnya senar 2, diatasnya lagi senar 3 dan seterusnya hingga senar 6 yang paling tebal (atas). Awalnya, pengguna akan diminta untuk memilih senar yang akan ditala. Setelah membunyikan senar gitar sesuai dengan senar yang dipilih tadi, dan suara akan ditangkap oleh mikrofon. Selanjutnya suara yang ditangkap oleh mikrofon akan diproses menjadi sekumpulan data sampel dan diproses lagi dengan menggunakan Fast Fourier Transform sehingga menjadi frekuensi-frekuensi. Dari frekuensi tersebut, akan dicari frekuensi dominan dengan cara mencari nilai maksimum, dan untuk diubah menjadi nada musik dengan menggunakan rumus: fn = f0 * (a)n dimana fn adalah frekuensi yang didapat dari hasil perhitungan Fast Fourier Transform, f0 adalah nada A (440 Hz), a adalah 21/12, n adalah jarak setengah nada dari nada A(440 Hz). Dengan menghitung nilai n, dapat dicari nada musik yang dimasukan oleh pengguna. Nada musik ini yang nantinya akan ditampilkan ke layar. Nantinya ada kotak informasi yang memberitahukan pengguna apakah nada yang dibunyikan sudah sesuai dengan nada yang seharusnya. Bila tidak sesuai kotak informasi tersebut akan memberitahu harus mengencangkan senar atau mengendurkan senar tersebut. Selain itu nada yang dibunyikan pengguna juga ditampilkan sehingga pengguna dapat melihat dan membandingkan sendiri juga. Misalnya pengguna ingin menala gitar standar dan membunyikan senar paling atas atau senar 6, maka pengguna memilih senar 6 dari menu utama, menekan tombol mulai dan membunyikan senar 6 tersebut. Bila nada yang ditampilkan adalah D dan nada seharusnya adalah E, maka nada senar 6 pengguna lebih rendah dari seharusnya. Berarti tegangan senar lebih kendur, sehingga senar harus dikencangkan. Maka pada kotak informasi akan keluar perintah untuk mengencangkan senar tersebut. Setelah senar dikencangkan, dicek lagi dengan membunyikan senar yang sama sampai kotak informasi menyatakan kalau nada senar tersebut sudah sesuai. Lakukan langkah yang sama dengan kelima senar yang lain. Flowchart diagram dari program ini seperti yang terlihat pada gambar dibawah. Start Memilih senar yang akan ditala Input suara dari gitar Menyampling gelombang suara Mengubah gelombang suara menjadi frekuensi Menerjemahkan frekuensi menjadi nada tidak tidak Apakah nada sesuai? Menampilkan nada ke layar Semua senarsudah ditala? ya ya End Saat program dijalankan pengguna diminta untuk memilih senar yang akan ditala. Setelah itu pengguna diminta membunyikan senar gitar sesuai dengan senar yang dipilih. Berikutnya nada gitar akan diterima oleh komputer dan disampling. Selanjutnya dengan menggunakan Fast Fourier Transform hasil sampling tersebut akan diubah menjadi frekuensi. Dari kumpulan frekuensi tersebut akan dicari frekuensi dominan untuk diubah menjadi nada yang akan ditampilkan ke layar monitor, beserta informasi apakah nada tersebut sudah sesuai atau belum dan apa yang harus dilakukan. Bila nada belum sesuai, pengguna harus menala ulang senar tersebut dan membunyikan senar gitar tadi sekali lagi, dan mengulang langkah diatas. Bila nada sesuai, pengguna dapat memilih senar lain yang belum ditala untuk ditala. Bila semua senar sudah ditala berarti penalaan sudah selesai dan pengguna keluar dari program. Rancangan tampilan layar antar muka akan dibuat sebagai berikut, 1. Layar Menu Utama Guitar tuner Application Pilih Senar Gambar gitar Senar 6 Senar 5 Senar 4 Senar 3 Senar 2 Senar 1 exit Layar Menu Utama berisi 6 tombol yang mewakili senar gitar. Pengguna dapat memilih senar yang ingin ditala disini. tombol senar 1 untuk menuju penalaan di layar Tala Senar 1, tombol senar 2 untuk menuju layar Tala Senar 2, tombol senar 3 untuk menuju layar Tala Senar 3, tombol senar 4 untuk menuju layar Tala Senar 4, tombol senar 5 untuk menuju layar Tala Senar 5, tombol senar 6 untuk menuju layar Tala Senar 6. Selain itu terdapat juga icon tombol exit untuk keluar dari program. 2. Layar Menu Tala Senar 1-6 home Tampilan gelombang suara Tampilan spectrum frekuensi Nada Anda Nada Seharusnya Nada anda Nada Seharusnya Gambar urutan senar gitar Kotak informasi Mulai Rancangan layar 1 sampai 6 secara layout sama, hanya berbeda dari isi kolom Nada Seharusnya. Pada rancangan layar Tala Senar 1 terdapat tombol mulai yang digunakan untuk memulai penalaan. Pengguna diminta untuk memasukan nada sesuai dengan senar yang telah dipilih dan nantinya akan dicari Frekuensi dominan untuk diubah menjadi Nada. Nada ini akan ditampilkan pada kolom Nada Anda sehingga user dapat melihat dan membandingkan dengan nada seharusnya yang terdapat dalam kolom Nada Seharusnya. Selain itu juga kotak informasi akan menampilkan pesan apakah nada sudah sesuai atau belum dan apa yang harus dilakukan. Pengguna dapat kembali untuk memilih senar lain untuk ditala melalui tombol home diatas kanan. Setelah Melakukan perancangan dan diimplementasikan dalam pemrograman, berikut adalah hasil dan tampilan layar : 1. Layar Menu Utama 2. Tampilan menu utama saat program dijalankan. Terdapat 6 tombol yang mewakili senar gitar yang akan ditala. Disini pengguna diminta memilih senar untuk ditala. Tombol senar 1 untuk menala senar 1 dan seterusnya. Tombol exit berguna untuk keluar dari program. Layar Tala Senar 1 Tampilan halaman layar tala senar 1 saat dilakukan proses penalaan gitar. 2 kotak hitam di atas akan menampilkan spektrum frekuensi dan juga gelombang suara, sedangkan kolom nada anda akan menampilkan nada musiknya dan dapat dibandingkan dengan nada di kolom nada seharusnya. Selain itu juga kotak informasi menampilkan perintah yang harus dilakukan. 3. Layar Tala Senar 2 4. Tampilan layar Tala Senar 2 hampir sama dengan tampilan layar Tala Senar 1. Tampilan berbeda pada kolom Nada Seharusnya karena memang nada dasar senar berbeda. Layar Tala Senar 3 5. Layar Tala Senar 4 6. Layar Tala Senar 5 7. Layar Tala Senar 6 Pengetesan terhadap aplikasi menggunakan garpu tala A(440 Hz). Diambil data sampel 30 kali pengujian Tabel Pengujian Garpu Tala pengujian Frekuensi Nada 1 2 3 4 5 6 7 435 443 442 439 451 442 424 A A A A A A A 8 470 A#/Bb 9 452 A 10 463 A 11 444 A 12 438 A 13 442 A 14 434 A 15 453 A 16 410 G#/ Ab 17 440 A 18 445 A 19 447 A 20 442 A 21 435 A 22 432 A 23 467 A#/Bb 24 440 A 25 433 A 26 442 A 27 451 A 28 432 A 29 436 A 30 442 A Dari hasil evaluasi di atas terdapat kesalahan penalaan 3 dari 30 kali testing, dengan tingkat kesalahan 10%. Dapat disimpulkan bahwa penalaan berhasil. SIMPULAN DAN SARAN Simpulan Setelah melakukan pengujian terhadap program dan juga melalui pembahasan pada bab-bab sebelumnya, dapat ditarik kesimpulan sebagai berikut: a. Teknik-teknik yang digunakan dalam grafik komputer mampu mempresentasikan obyek dunia nyata ke dalam data komputer, sehingga dapat lebih mudah untuk dikalkulasikan. b. Fast Fourier Transform mampu mengubah gelombang suara berbasis waktu menjadi gelombang berbasis frekuensi. c. Terdapat noise yang cukup mengganggu dalam program tapi dapat sedikit teratasi dengan pembatasan frekuensi rendah yang ditampilkan. d. Mikrofon ternyata berpengaruh terhadap noise yang terjadi. Mikrofon yang kurang bagus akan berpengaruh terhadap noise yang lebih banyak. Saran Setelah melakukan pengujian program dan pembahasan pada bab-bab sebelumnya, maka beberapa saran dapat diajukan untuk pengembangan aplikasi sejenis maupun aplikasi lainnya, antara lain: a. Penggunaan Fast Fourier Transform sudah terbilang cukup lama. Ada metodemetode lain yang mungkin bisa mempercepat performa program, atau mungkin lebih mudah digunakan. Beberapa pengembangan Fast Fourier Transform antara lain, Fastest Fourier Transform in the West (FFTW). b. Akan sangat berguna jika aplikasi ini dapat diimplementasikan dalam telepon genggam, tanpa mengurangi kecepatan kerja program. REFERENSI Anwar, K &Oktova, R. (2010) Analisis Fourier GelombangBunyiSenarGitarListrik. Diperoleh (13-8-2011) dari http://www.fi.itb.ac.id/~dede/Seminar%20HFI%202010/CD%20Proceedings/Proceedings/FP%2020.pdf Bird, I.W. (1998) http://www.birdsoft.demon.co.uk/music/notecalc.htm. Diperoleh (5-8-2012) Booch, G., Rumbaugh, J. & Jacobson, I. (1998)Unified Modeling Language User Guide, the. Diperoleh (914-2012) dari http://meusite.mackenzie.com.br/rogerio/the-unified-modeling-language-userguide.9780201571684.997.pdf Mulyanto, A. R. (2008) Rekayasa Perangkat Lunak untuk SMK. Jilid 1. Jakarta: Direktorat Pembinaan Sekolah Menengah Kejuruan O’Brien, J. A (1999) Introduction to Information Systems. Edisi 8. Boston: McGraw Hill Pusat Bahasa Kementrian Pendidikan Nasional. 2008. Kamus Besar Bahasa Indonesia Dalam Jaringan. Diperoleh (9-17-2012) dari http://badanbahasa.kemdiknas.go.id/kbbi/ Raissi, R. (2002) MP3 the Theory Behind Diperoleh (8-13-2010) dari http://www.mp3tech.org/programmer/docs/mp3_theory.pdf Settel, Z &Lippe, C. (2006) Real-Time Musical Applications using FFT-based Resynthesis. Diperoleh (827-2011) dari sheefa.net/zack/publications/FFT_NEWLONDONS95.pdf Smith, J. O. (2003) Mathematics of the Discrete Fourier Transform (DFT) with Music and Audio Applications. Diperoleh (8-27-2010) dari http://books.w3k.org/html/mdft/ Suits, B.H. (1998) http://phy.mtu.edu/~suits/NoteFreqCalcs.html. Diperoleh (8-10-2011) Suits, B.H. (1998) http://phy.mtu.edu/~suits/notefreqs.html. Diperoleh (8-10-2011) Weisstein, E. W. (2003) Fast Fourier Transform. Diperoleh (8-27-2011) dari http://mathworld.wolfram.com/FastFourierTransform.html RIWAYAT PENULIS Rizal Chandra lahir di kota Jakarta pada 28 Mei 1988. Penulis menamatkan pendidikan S1 di Binus University dalam bidang Teknik InformatikaMatematika pada 2012.