APLIKASI PEMINDAI NOTASI ANGKA MENGGUNAKAN METODE RESILIENT BACKPROPAGATION Ariel Christofer; Chandrasurya Kusuma; Vincent Pribadi; Dr. Widodo Budiharto, S.Si., M.Kom Computer Science Department, School of Computer Science, BINUS University Jln. K.H. Syahdan No. 9, Palmerah, Jakarta Barat 11480
[email protected],
[email protected],
[email protected]
ABSTRAK Penelitian ini bertujuan dapat mengenali bentuk notasi angka. Penelitian ini dibantu dengan menggunakan metode resilient backpropagation dan menggunakan data musik untuk mendapatkan sebuah melodi dari instrument musik, serta library tambahan antara lain: OpenCV. Rancangan ini dibangun menggunakan webcam. Objek yang digunakan akan berfokus pada simbol notasi angka. Input image akan di pre-processing, image segmentation, number and symbol recognition, dan akan menghasilkan sound berupa melodi piano. Untuk membaca simbol notasi angka image akan di-resize menjadi 21x21 piksel. Success rate dengan menggunakan 15 sampel data baru dengan 100 sampel data training, presentase hasil yang didapat adalah 87.9% dan 12.1% error sedangkan success rate dengan menggunakan 50 sampel data training, presentase hasil yang didapat adalah 74.4% dan 25.6% error. Kata Kunci: resilient backpropagation, OpenCV, pengenalan pola, notasi angka
ABSTRACT This research aims to recognize the form of numerical notation. This research was supported by using neural network technique with resilient backpropagation algorithm and uses the music application to get a melody of musical instruments, as well as additional libraries include: OpenCV. This design will be built using a webcam. Objects used are designed to be focused on the numerical notation symbols. To be implemented, the input image will be in pre-processing, image segmentation, number and symbol recognition, and output melody piano sound. The numerical notation symbols will be resize the image to 21x21 pixels. Success rate uses 15 sample new data with 100 sample training data, the result percentage get 87.9% and 12.1% error better than success rate with uses 50 sample training data, the result percentage get 74.4% and 25.6% error.
Keywords: resilient backpropagation, OpenCV, pattern recognition, number notation.
2
PENDAHULUAN Perkembangan teknologi informasi saat ini, sudah berkembang sangat pesat. Seperti pada masyarakat saat ini sudah hidup dalam era globalisasi, era dimana pandangan, produk, ide, dan aspek budaya lainnya dari tiap belahan dunia dapat saling berintegrasi satu sama lain yang dipengaruhi oleh teknologi yang semakin modern. Teknologi Komputer berbasiskan Vision telah menjadi bagian dari kehidupan setiap orang. Teknologi terkini di bidang computer vision memiliki dampak besar bagi perusahaan dan individu, salah satunya di bidang Artificial Intelligent (AI) pada industri musik. Pada hasil riset Priyadi (2012) diketahui bahwa keterampilan siswa terutama siswa dalam membaca notasi angka masih sangat rendah. Setelah melakukan tes sebelum penelitian tindakan kelas pada kegiatan belajar mengajar Senin, 27 Februari 2012. Hanya 8 siswa atau 20 % saja yang mampu membaca dan menulis notasi angka dari jumlah siswa sebanyak 40 orang. Kesulitan siswa dalam membaca notasi angka terutama pada tingkat pemahaman bentuk dan nilai not, bunyi nada yang digunakan dalam notasi angka seperti bunyi nada do–re–mi–fa–sol–la–si–do, bagaimana membaca dengan ketukan birama not 1/4, 1/2, 1/8, dan lain-lain. Berdasarkan masalah tersebut, siswa masih belum memahami dan belum mengerti sepenuhnya dengan apa yang disajikan guru dalam menyampaikan materi pembelajaran seni musik. Oleh karena itulah maka dikembangkan sebuah aplikasi yang dapat mengenali bentuk notasi angka. Tujuan dikembangkannya aplikasi ini adalah untuk mengembangkan aplikasi yang dapat mengenali bentuk notasi angka dengan menggunakan teknik neural network dengan algoritma resilient backpropagation dan dapat mengeluarkan melodi musik, pengembangan aplikasi ini dapat membantu masyarakat yang ingin menikmati sebuah musik dari partitur notasi angka dan dapat belajar musik dengan menggunakan partitur notasi angka. Manfaat yang akan didapat dengan menggunakan teknik neural network dengan algoritma resilient backpropagation berupa aplikasi dapat mengenali bentuk notasi angka dan menggunakan aplikasi musik yang dapat mengeluarkan melodi musik, dapat membantu pengguna dalam mendengarkan melodi musik tanpa harus menguasai partitur notasi angka, sehingga meningkatkan perhatian masyarakat akan rasa ingin tahu terhadap musik, dan dapat mengeksplore hobi pengguna dalam mendengarkan instrumen musik. Dalam penelitian ini, metodologi penelitian yang diterapkan, antara lain sebagai berikut: 1.
Metodologi Analisis Metode analisis untuk mengumpulkan data dan informasi, menganalisis data yang telah dikumpulkan dan mengindentifikasi sistem sesuai dengan yang diinginkan.
2.
Metode Perancangan Metodologi yang akan digunakan adalah Waterfall menurut Roger S. Pressman. Langkah-langkah dari Waterfall, sebagai berikut: 1.
2.
Komunikasi Pada fase ini akan dilakukan pengumpulan data dan informasi yang akan dikumpulkan dari pengguna, berdasarkan pada apa yang dibutuhkan pengguna dalam aplikasi ini. Metode pengumpulan data yang digunakan dalam tahap ini adalah: • Kuesioner Teknik pengumpulan data yang biasanya dilakukan kepada pengguna aplikasi yang akan dibuat. Pengguna aplikasi ini terdiri dari pencinta musik, pembuat musik. Tujuan dari metode ini untuk mendeskripsikan kebutuhan pengguna dan untuk mendapatkan opini yang berbeda-beda dari fitur-fitur yang telah disediakan oleh aplikasi ini. Perencanaan Pada fase ini, perencanaan pengembangan aplikasi akan dilakukan, dari data-data yang telah dikumpulkan pada data sebelumnya, yaitu data-data yang didapatkan dari kuesioner akan dianalisa. Data-data yang dianalisa dapat menentukan hasil akhir dari aplikasi ini dan melakukan penjadwalan perancangan aplikasi.
3 3.
4.
Pemodelan Fase ini adalah fase dimana terjadinya perancangan aplikasi berdasarkan data-data yang telah dianalisis dari fase-fase sebelumnya. Metode yang digunakan adalah: • Perancangan User Interface • Perancangan Uses Cases Diagram • Perancangan Class Diagram • Perancangan Activity Diagram • Perancangan Sequence Diagram • Perancangan Neural Network Konstruksi Pada fase ini, akan dilakukan pengkodean aplikasi sesuai dengan fase-fase sebelumnya. Setelah pengkodean selesai, akan dilakukan pengujian terhadap sistem yang telah dibuat. Tujuan dari pengujian adalah menggunakan semua fungsional yang telah dibuat dan menemukan kesalahan-kesalahan terhadap sistem sehingga dapat diperbaiki.
5.
Penyebaran Pada fase ini, aplikasi akan diserbaluaskan ke masyarakat untuk mengetahui kekurangan pada aplikasi sehingga dapat memberikan feedback dan support dari masyarakat untuk pengembangan aplikasi lebih lanjut lagi.
METODE PENELITIAN Start
Input Image
Pre- Processing
Image Segmentation
Number and Symbol Recognition
Output Sound
Gambar 1: Diagram Alir Aplikasi
4
Berikut merupakan langkah-langkah yang dilakukan dalam perancangan aplikasi: 1.
Input image Pada tahap ini user akan menginput sebuah gambar yang berupa kertas putih (hvs) yang berisi not angka beserta simbol-simbolnya. Proses input image ini, dilakukan dengan cara user menghadapkan kertas putih (hvs) tersebut kedepan kamera.
2.
Pre-processing Pada tahapan setelah user melakukan input image, tampilan atau gambar yang ditangkap oleh camera akan diproses melalui beberapa jenis proses dalam pengolahan gambar, antara lain akan mengalami tahapan grayscale, brightness, contrast, canny dan threshold gambar.
3.
Image segmentation Image segmentation merupakan tahap dimana objek tulisan yang berada pada kertas tersebut akan dibagi menjadi potongan-potongan pixel yang mempunyai ukuran sama dengan ukuran objek dan kemudian image akan di crop setelah itu image akan di resize menjadi ukuran 21x21 pixels.
4.
Number and symbol recognition Setelah melalui tahap image segmentation, selanjutnya ditahap ini akan dilakukan pengenalan pola. Pola tersebut didapatkan dari hasil training yang telah dilakukan oleh programmer, sehingga gambar tersebut dapat dikenali sebagai angka ataupun simbol.
5.
Output sound Tahap ini merupakan tahapan terakhir dalam aplikasi. Pada tahapan ini, setelah komputer melakukan number and symbol recognition, maka akan dikeluarkan output berupa melodi dari sebuah instrumen musik piano.
Capture Image
Generate Pattern
Preprocessing
Image Segmentation
Using Resilient Backpropagation Algorithm
Resize Image
Output Text Gambar 2: Proses Pengenalan Simbol Notasi Berikut merupakan penjelasan dari penerapan pengenalan Simbol Notasi pada notasi angka yang digunakan pada aplikasi ini: a.
Preprocessing Preprocessing bertujuan untuk membuat image yang akan diproses melalui teknik contrast, brightness, grayscale, blur, dilate, erode, dan threshold, agar dapat diproses menjadi binary image dan sedikit mengurangi noise pada image sehigga dapat membantu dalam proses segmentasi.
5 b.
Image Segmentation Proses ini bertujuan untuk memisahkan simbol pada satu baris yang berguna untuk memotong karakter-karakter pada satu baris tersebut dengan mengunakan teknik convex hull, minimum bounding rectangle, dan canny.
c.
Resize Image Proses ini bertujuan untuk membuat image berukuran sama seperti image hasil training yaitu dengan ukuran 21x21 sehingga dapat dimasukan kedalam neural network. Using Resilient Backpropagation Algorithm Proses ini bertujuan untuk recognition data kedalam neural network agar mendapatkan output berdasarkan bobot yang didapat dari proses train data. Generate Pattern Proses ini merupakan hasil dari recognition data menggunakan resilient backpropagation yang kemudian akan dibuat pola desain yang digunakan untuk mendapatkan hasil pola berupa output text.
d.
e.
HASIL DAN BAHASAN Berikut ini hasil penelitian dan percobaan yang telah di resize dan crop menjadi ukuran 21x21 piksel, di dapat hasil pengujian data baru dan data training dengan menggunakan algoritma RPROP (Resilient Backpropagation).
Class 0 1 2 3 4 5 6 7 8 9 Success Rate
Sample 15 15 15 15 15 15 15 15 15 15
Tabel 1. Success Rate dengan 100 Data Training Error Error (%) Success 3 6 12 3 6 12 1 2 14 3 6 12 0 0 15 6 12 9 1 2 14 0 0 15 1 2 14 0 0 15
Success (%) 80 80 93 80 100 60 93 100 93 100 87.9
Dari tabel 1 menjelaskan tentang pengujian yang dilakukan pada 100 data training. Dengan menggunakan 15 data sampel baru, pengujian tersebut mendapatkan hasil sukses sebanyak 87.9% dan kesalahan sebanyak 12.1%.
Class 0 1 2 3 4 5 6 7 8 9 Success Rate
Sample 15 15 15 15 15 15 15 15 15 15
Tabel 2. Success Rate dengan 50 Data Training Error Error (%) Success 2 4 13 7 14 8 5 10 10 0 0 15 0 0 15 13 26 2 0 0 15 7 14 8 0 0 15 4 8 11
Success (%) 86 53 66 100 100 13 100 53 100 73 74.4
Dari tabel 2 menjelaskan tentang pengujian yang dilakukan pada 50 data training. Dengan menggunakan 15 data sampel baru, pengujian tersebut mendapatkan hasil sukses sebanyak 74.4 % dan kesalahan sebanyak 25.6%. Berdasarkan percobaan diatas dapat disimpulkan bahwa semakin banyak data training maka success rate yang didapatkan akan semakin tinggi.
6 Selain percobaan pengujian data baru dengan data training, dilakukan juga pengujian pada aplikasi. Untuk mengetahui keberhasilan dalam mendeteksi dapat dilihat pada bagian pattern output. Pattern Output berhasil didapat dari input image. Bagian keberhasilan pattern output dapat dilihat pada tabel 3: Tabel 3. Contoh Input Image Dengan Pattern Output
Input Image
Pattern Output
Gambar 3. Terdapat Shadow Pada Image Pada gambar 3 terjadi kegagalan dalam mendeteksi simbol notasi angka dikarena terlalu gelap dan tidak melalukan setting control untuk mengurangi gelap yang ada pada image.
7
Gambar 4. Terjadi Kesalahan Pada Pattern Output Pada gambar 4 terjadi kesalahan dalam mendeteksi simbol notasi angka dikarenakan terlalu banyaknya noise pada image dapat dilihat pada bagian pattern output bahwa memiliki hasil yang tidak sesuai dengan image yang ada.
Gambar 5. Terjadi Keberhasilan Dalam Pattern Output Pada gambar 5 pattern output yang dimiliki sudah sesuai dengan hasil image yang ada. Untuk mendapatkan hasil yang sesuai maka harus menghilangkan noise dengan cara mengatur pada bagian control dan pengaturan cahaya pada image.
8
Gambar 5. Hasil Perbandingan RPROP dan BP KESIMPULAN DAN SARAN Berdasarkan hasil dari penelitian yang telah dilakukan, maka dapat ditarik kesimpulan sebagai berikut: a.
b. c. d.
Bentuk handwriting notasi angka dapat dibaca melalui penerapan teknik neural network dengan menggunakan algoritma resilient backpropagation didapatkan hasil rata-rata persentasenya sebesar 87.9%. Training data menggunakan metode algoritma resilient backpropagation lebih cepat daripada metode algoritma backpropagation. Dengan menggunakan control setting dapat mengurangi kesalahan pada pattern output. Aplikasi ini membantu masyarakat untuk membuat melodi musik.
Beberapa saran yang dapat dipertimbangkan untuk pengembangan aplikasi selanjutnya, antara lain: a. b. c. d. e.
Aplikasi ini perlu sebuah penambahan simbol-simbol yang belum digunakan. Aplikasi dapat membaca lirik penuh. Aplikasi dapat digunakan pada smartphone. Untuk suara melodi tidak hanya berupa melodi piano. Melodi yang dihasilkan dapat disimpan dalam bentuk file.
REFERENSI Acharya, Tinku., Ray, Ajoy K. (2005). Image Processing: Principles and Applications. Jilid 1. New Jersey: John Wiley & Sons, Inc. Bradski, Gray., Adrian Kaehler. (2008). Learning OpenCV: Computer Vision with the OpenCV Library.United States: O’Reilly Media, Inc. Fairhurst, M. C. (1988). Computer Vision for Robotic Systems. An Introduction. Hertfordshire: Prentice Hall, Inc. Gonzales, R. C., Rafael, E. W. (2008). Digital Image Processing. Edisi 2. New Jersey: Prentice Hall, Inc. Hasykin, S (2009). Neural Network and Learning Machines. Edisi 3. New Jersey: Pearson Education, Inc. Igel, C. Michael, H. Improving the RPROP Learning Algorithm. NC’2000 – the Second International Symposium on Neural Computation. Kamie, Roger. (2010). Music: An Appreciation. Edisi 4. Boston: McGraw-Hill. L. A. Robertson. (2006). Simple Program Design A Step-by-Step Approach. Edisi 5. China: Thompson – Course Technology. Malik, D.S. (2013). C++ Programming from Problem Analysis to Program Analysis to Program Design, Sixth Edition. United State: Cengage Learning.
9 Otsu, Nobuyuki. (1979). A Threshold Selection Method from Gray-Level Histograms. IEEE Transaction on Systems, Man, and Cybernetics, vol. SMC-9, pp. 62. Pressman, R.S. (2010). Software Engineering: A Practioner's Approach. Edisi 7. New York: McGraw-Hill Higher Education. Priyadi, D. (2012). Penerapan Metode Demonstrasi pada Pembelajaraan Seni Musik dapat Meningkatkan Keterampilan Membaca Notasi Angka Siswa Kelas X. Diakses 13 September 2014 dari: https://sites.google.com/site/wadahgurumenulis/jurnal-ptk-seni-musik-denmas-priyadi. Robertson, L. A. (2006). Simple Program Design A Step-by-Step Approach. Edisi 5. China: Thompson-Course Technology. S. Russell, P. Norvig. (2010). Artificial Intelligence: A Modern Approach. Edisi 3. New Jersey: Pearson Education, Inc. Szeliski, R. (2010). Computer Vision: Algorithms and Applications. Berlin: Springer. Trussel, H. J., M. J. Vrhel. (2008). Fundamental of Digital Imaging. UK: Cambridge University Press. Umbaugh, Scott E., (2010). Digital Image Processing and Analysis. Edisi 2. United State: Taylor & Francis Group, LLC. Whitten, J., Lonnie Bentley. (2007). Systems Analysis and Design Methods. Edisi 7. New York: The McGraw-Hill Companies, Inc. Wijayanti, S. (2007). SeniBudaya (Musik) Kelas X. Diakses 13 September 2014 dari: https://id.scribd.com/doc/32154909/SENI-BUDAYA-X. RIWAYAT HIDUP Ariel Christofer lahir di Jakarta pada 25 November 1992. Penulis menamatkan pendidikan S1 di Universitas Bina Nusantara dalam bidang teknik informatikan pada tahun 2015. Saat ini bekerja sebagai Network Administrator & Technical Support di Software Laboratory Center. Chandrasurya Kusuma lahir di Ujung Padang pada 14 Juli 1993. Penulis menamatkan pendidikan S1 di Universitas Bina Nusantara dalam bidang teknik informatikan pada tahun 2015. Vincent Pribadi lahir di Pontianak pada 13 Juni 1993. Penulis menamatkan pendidikan S1 di Universitas Bina Nusantara dalam bidang teknik informatikan pada tahun 2015.