ANALISIS DAN PERANCANGAN APLIKASI PENGENALAN NADA DAN JUDUL LAGU DENGAN ALGORITMA FAST FOURIER TRANSFORMATION DAN BACKPROPAGATION Ritchie Binus University, Jakarta, DKI Jakarta, Indonesia
Yulian Binus University, Jakarta, DKI Jakarta, Indonesia dan
Hendry Lie Binus University, Jakarta, DKI Jakarta, Indonesia
Abstrak Program aplikasi pengenalan nada dan judul lagu ini dirancang menggunakan algoritma Fast Fourier Transform dan Backpropagation yang bertujuan untuk melakukan proses Training dengan Backpropagation, serta proses perubahan sinyal dan perhitungan amplitudo dengan Fast Fourier Transform, sehingga proses pencarian lagu dapat dilakukan dengan tingkat keakuratan yang tinggi. Program aplikasi ini dibuat dengan dua metode, pertama tahap pengumpulan data dengan cara studi kepustakaan dan experimen. Kedua adalah tahap perancangan aplikasi dengan menggunakan metode System Development Life Cycle (SDLC), yaitu Waterfall Model. Dengan menggunakan metode SDLC, program aplikasi yang dibentuk dapat dievaluasi dengan baik. Proses
evaluasi dilakukan dengan cara pengumpulan sample suara rekaman yang digunakan untuk proses pencarian lagu dengan tingkat keakuratan yang tinggi. Hasil yang dicapai dari program aplikasi ini adalah mampu melakukan proses pengenalan nada dan judul lagu, sehingga proses pencarian lagu dapat dilakukan. Proses perekaman suara dibentuk menghasilkan format .wav, yang digunakan untuk melakukan perbadingan untuk nada dari suara rekaman dengan nada dari lagu original. Dengan dua metode Fast Fourier Transform dan Backpropagation, hasil pengenalan nada dan judul lagu berjalan dengan sangat baik.
Kata Kunci: Fast Fourier Transform, Backpropagation, nada, judul lagu
1.
Pendahuluan Dengan pesatnya perkembangan teknologi dalam bidang IT (Information
Technology), terutama dalam bagian AI (Artificial Intelligence), telah banyak aplikasiaplikasi yang telah diciptakan dan dikembangkan untuk kemudahan hidup manusia. Artificial Intelligence dapat didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika. Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut
pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game. AI juga banyak dipakai dalam bidang entertainment. Sebagai contoh, pencarian judul lagu dengan media audio yang sudah tersedia semakin populer, terutama pada ponsel smartphone. Kemudian banyak pula aplikasi voice recognition sederhana pada beberapa video game, terutama pada genre simulasi. Fast Fourier Transform adalah suatu algoritma untuk menghitung Discrete Fourier Transform dengan cepat dan efisien. Fast Fourier Transform sering dipakai pada banyak aspek, terutama pada algoritma perhitungan. Fast Fourier Transform seringkali dipakai dalam bidang AI, terutama voice recognition. Menyanyi bukanlah sesuatu yang asing pada gaya hidup zaman sekarang. Lagu yang dinyanyikan identik dengan vokal, yang memiliki nada dan lirik. Ingatan manusia terkadang tidak dapat mengingat suatu judul secara spesifik, dan biasanya hanya mengingat nada suatu lagu. Ironisnya, mesin pencari lagu memerlukan judul spesifik, ataupun pilihan lain berupa nama penyanyi maupun genre dari lagu tersebut. Karena itu alangkah baiknya jika user dapat mencari judul lagu berdasarkan penggalan nada tertentu saja.
2.
Methodology Ruang lingkup dari penelitian mencakup analisa, perancangan, dan implementasi
algoritma Fast Fourier Transform dan Backpropagation dimana kedua algoritma ini digunakan untuk proses . Adapun pembahasan yang dilakukan meliputi sebagai berikut :
-
Perancangan
-
Implementasi
-
Evaluasi
Record Sound
Insert Song
Encode Sound
Fast Fourier Transform Training Sound
Insert Sound to File
Insert Song to Data storage Backpropagation
Search Song
Compare Sound With Data storage Song
Gambar 1 -- Block Diagram System
View Output
2.1. Perancangan Penulis menggunakan salah satu aplikasi pemrograman terbaik dalam perancangan program aplikasi yang dirancang, yaitu aplikasi pemrograman dari Microsoft Corporation, Microsoft Visual Studio 2008 C++ Express Edition. Berikut adalah penjelasan mengenai Microsoft Visual Studio 2008 C++ Express. Visual C++ 2008 Express bisa membangun aplikasi native dan non-managed. Termasuk Windows Platform SDK yang dapat digunakan untuk membangun aplikasi yang menggunakan Win32 API. Aplikasi menggunakan MFC atau ATL memerlukan Standard Edition atau lebih tinggi, dan tidak dapat dikompilasi dengan Express Edition. Visual C++ 2008 Express Edition dapat digunakan untuk mengkompilasi .NET serta aplikasi Win32 segera setelah instalasi. Namun, mengkompilasi native aplikasi 64bit melalui IDE tidak didukung tanpa konfigurasi terlebih dahulu. Jika Windows SDK yang bisa didapatkan secara gratis terinstal, aplikasi 64-bit dapat dibangun pada baris perintah dengan menggunakan cross-compiler x64 (Cl.exe) disertakan dengan SDK. Visual C++ 2008 Express tidak mendukung OpenMP, 64-bit compiler, atau editor sumber daya. Semakin tinggi edisi Visual Studio, khususnya Professional dan Team Suite edition, maka akan memiliki fitur ini. Penulis menggunakan metode Backpropagation dalam pembuatan aplikasi ini. Dalam perancangan topologi dibutuhkan satu lapisan input (input layer), satu atau lebih lapisan tersembunyi (hidden layer), dan satu lapisan output (output layer). Fungsi aktifasi yang digunakan penulis dalam perancangan backpropagation ini adalah fungsi signoid biner.
2.2. Implementasi Penulis mengimplementasikan Backpropagation untuk melakukan proses training pada data input yang merupakan data hasil rekaman suara manusia. Topologi yang diimplementasi menggunakan tiga neuron pada layer input, tiga neuron pada layer output, dan menggunakan empat neuron pada hidden layer. Seperti ditunjukkan ada gambar dibawah ini.
|
X1
V03
W03
V02
W02
W11
Z1
V12 V14
W01
V01
V04 V11
|
Y1 W12
W13
V13
V21 W21
V22
X2
Z2 W23
V24 V41
W31
V42
X3
Y2
W22
V23
V43
Z3
V44
Y3
W32
W33 W42 W41
Z4
W43
Bias Input Layer
Bias Hidden Layer
Gambar 2 -- Implementasi Topologi Backpropagation
Output Layer
Program aplikasi ini pada dasarnya untuk melakukan proses pencarian lagu (searching song) dengan menggunakan Fast Fourier Transform. Selama pengembangan program aplikasi ini dikembangkanlah berbagai modul lainnya guna mendapatkan hasil output yang terbaik. Diantara modul-modul tersebut, modul terpenting adalah untuk perekaman suara serta proses training. Proses perekaman suara atau Sound Record dibentuk untuk membantu user melakukan perekaman suara secara langsung tampa perlu membuka aplikai perekaman suara yang lainnya. Sedangkan proses training dibentuk untuk memproses hasil dari suara rekaman sebagai sampling, yang akan membantu program aplikasi ini untuk mendapatkan hasil output terbaik, yaitu menampilkan lagu yang memiliki nada yang mirip dengan nada dari hasil rekaman dengan tingkat keakuratan yang tinggi.
2.3. Evaluasi Dalam pembentukan program aplikasi ini menggunakan metode System Development Life Cycle (SDLC), yaitu Waterfall Model. SDLC ini meliputi beberapa tahapan, antara lain; requirements analysis and definition, system and software design, implementation and unit testing, integration and system testing, dan operation and maintenance. Dengan menggunakan tahapan-tahapan dari SDLC, program telah terevaluasi dengan baik. Proses evaluasi pada aplikasi dilakukan dengan cara melakukan mengumpulkan berbagai macam sampel yang akan digunakan untuk melakukan proses pencarian lagu yang akan memberikan output dengan tingkat keakuratan yang tinggi.
3.
Kesimpulan Dari perancangan serta implementasi program aplikasi yang dilakukan, penulis
dapat mengambil kesimpulan bahwa aplikasi pengenalan nada dan judul lagu yang
dibentuk terbagi atas tiga modul yang saling berhubungan, yaitu Insert Song, Record Song, dan Search Song. Aplikasi pengenalan nada dan judul lagu yang dibentuk dalam skripsi ini adalah sebuah sistem Artificial Intelligence yang sekarang ini sedang berkembang dengan pesat sekali. Pembentukan aplikasi AI ini menggunakan dua algoritma, yaitu Fast Fourier Transform dan Backpropagation. Kedua algoritma tersebut sangat mendukung sistem dari aplikasi yang dibentuk, Backpropagation digunakan untuk melakukan Training pada data yang ada, dan Fast Fourier Transform digunakan untuk melakukan proses perubahan sinyal dan perhitungan amplitudo dari sebuah lagu. Tujuan utama dari aplikasi ini adalah untuk melakukan proses pencarian lagu berdasarkan perbandingan nada dari suara rekaman dengan lagu original, dengan tingkat keakuratan yang tinggi. Tujuan lainnya adalah untuk pembentukan sistem perekaman suara. Kedua tujuan ini telah terlaksana, pada aplikasi ini pembentukan sistem perekaman suara telah berjalan dengan baik, suara yang direkam akan disimpan dalam format .wav , dan tujuan utama untuk pencarian lagu juga berjalan dengan sangat baik. Evaluasi telah dilakukan dengan cara pengumpulan berbagai jenis sample suara rekaman untuk pencarian lagu, selain itu penulis juga telah melakukan evaluasi berdasarkan metode System Development Life Cycle (SDLC), yaitu Waterfall Model. Dan melalui metode tersebut penulis telah melakukan Testing untuk program aplikasi ini, dan Testing yang dilakukan menunjukkan bahwa program aplikasi berjalan dengan sangat baik dan sudah terujikan. Program aplikasi ini memberikan output dengan tingkat keakuratan yang tinggi untuk proses pencarian lagu, dalam pengenalan nada dan judul lagu.
Daftar Pustaka [1] Dayhoff, Judith E. Neutral Network Architectures (An Introduction). USA: Van Nostrand reinhold. 1990. [2] Fausett, Laurance. Fundamentals of Neural Networks (Architectures, Algorithms, and
Applications). New Jersey: Prentice-Hall. 1994.
[3] Haykin, Simon. Neural Networks (A Comprehensive Foundation). New York: Macmillan College Publishing Company. 1992. [4] E. Bringham. Fast Fourier Transform and Its Applications. Prentice-Hall.1988 [5] Kosko, Bart. Neural Networks and Fuzzy Systems (A Dynamical Systems Approach to Machine Intelligence). USA: Prentice-Hall. 1992 [6] Cooley, James W; Tukey, John W. An algorithm for the machine calculation of complex Fourier series. USA: Mathematics of Computation. 1965. [7] Rao, Valluru B; Rao, Hayagriva. C++ Neural Networks and Fuzzy Logic. MIS: Press. 1993. [8] Bracewell, Ronald N. The Fourier Transform and Its Applications. McGraw-Hill Science. 1999. [9] Chu, Eleanor. Discrete and Continuous Fourier Transforms: Analysis, Applications and Fast Algorithms. Chapman and Hall. 2008. [10] McCollum, Pete. An Introduction to Back-Propagation Neural Networks. http://www.seattlerobotics.org/encoder/nov98/neural.html. Diakses pada tanggal 15 November 2011. [11] Proakis, John G; Manolakis, Dimitris G. Digital Signal Processing (Principles, Algorithms, and Application). USA: Prentice-Hall. 1995.
[12] Kusumadewi, Sri. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta: Graha Ilmu. 2003. [13] Linggono, Budi I. Seni Musik Non Klasik Jilid 1. Jakarta: Pusat Perbukuan Departemen Pendidikan Nasional. 2008. [14] Muttaqin, Moh. Seni Musik Klasik Jilid 1. Jakarta: Pusat Perbukuan Departemen Pendidikan Nasional. 2008.