Anda di halaman 1dari 7

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN: 2548-964X

Vol. 3, No. 4, April 2019, hlm. 3986-3992 http://j-ptiik.ub.ac.id

Sistem Pendeteksi Tempo Lagu Untuk Kontes Robot Seni Tari Indonesia
(KRSTI) Berdasarkan Frekuensi Dengan Algoritma Beat This
Tio Haryanto Adi Putra1, Dahnial Syauqy2, Rizal Maulana3
Program Studi Teknik Komputer, Fakultas Ilmu Komputer, Universitas Brawijaya
Email: 1haryontotio@gmail.com, 2dahnial87@ub.ac.id, 3rizal_lana@ub.ac.id

Abstrak
Kontes Robot Indonesia sudah menjadi ajang yang bergengsi bagi pecinta robotika tingkat perguruan
tinggi se-Indonesia. Merancang-bangun robot sudah menjadi hobi tersendiri bagi peserta KRI yang
kemudian menghasilkan robot-robot yang canggih yang siap menggantikan kerja manusia pada masa
depan. Namun robot-robot canggih yang dilombakan tidak mudah diuntuk dirancang dan dibuat, perlu
dedikasi tinggi untuk membuat sebuah robot agar robot tersebut mampu melakukan pekerjaannya
dengan baik sesuai yang dikehendaki. Sebagai contoh yaitu salah satu divisi dari KRI yaitu KRSTI
atau Kontes Robot Seni Tari Indonesia yang menampilkan robot-robot humanoid yang dapat menari
mengiringi irama lagu. Perancangan robot KRSTI memerlukan bagian sensor, proses dan motion
gerakan tari agar dapat bekerja dengan baik. Banyak kasus pada robot KRSTI ketidak-sinkron-an
gerakan tari dengan irama lagu yang diputar sehingga menyebabkan robot bergerak secara aneh atau
bahkan jatuh. Dengan alat masukan sistem ini, diharapkan robot dapat mengerti konsep ketukan lagu,
volume dan kecepatan lagu atau tempo. Dengan demikian robot dapat menyesuaikan gerakan tarinya
sesuai dengan irama lagu, baik itu cepat atau lambat. Sistem sensor ini dirancang dengan memberikan
keluaran tempo tiap 125ms dengan akurasi hingga 95.7% dengan keluaran tambahan yaitu tempo yang
lebih dapat diandalkan dan memiliki akurasi hingga 100% namun dengan jeda waktu selama dua
detik.
Kata kunci: tempo, sensor, robot, frekuensi, MSGEQ7
Abstract
Indonesian Robot Competitions have become a known competition amongst robotics lover all over the
country. Building robots has become its own hobby for the participants generating robots that are
though and sophisticated which have a chance to replace human’s labor in the future. These
sophisticated robots however, are not easily made or built. It requires time and dedications to build
one that can complete its purpose. One of the divisions in KRI is KRSTI or Traditional Dance Robot in
which robots assumes humanoid figures and must be able to dance along with a given music or song.
The process of building one is not easy unfortunately, there are a number of cases in which said
robots dance awkwardly or even tipping over against its own weight. Using this research’s sensor
system, it is hoped that these poor robot will grasp the meaning of beats, loudness and the music’s
speed or known as tempo. Thus enables them to dance along flawlessly. The testing of said sensor
system can give output every 125ms with accuracy up to 95.7%. In addition, this system also give
secondary output with accuracy as high as 100% but with delay of two seconds.
Keywords: tempo, sensor, robot, frequency, MSGEQ7

Tinggi Republik Indonesia. Lahirnya kontes


1. PENDAHULUAN robot indonesia tidak terlepas dari World
KRI atau Kontes Robot Indonesia Micromouse Competition pada tahun 1980-an
merupakan ajang kompetisi rancang bangun dan mulai berkembang ketika Indonesia lebih
dan rekayasa dalam bidang robotika yang tepatnya Politeknik Elektronika Negeri
diselenggarakan oleh Direktorat Surabaya (PENS) diundang mengikuti NHK
Kemahasiswaan, Direktorat Jendral Robocon 1991 di Jepang. Sayangnya pada
Pembelajaran dan Kemahasiswaan, tahun berikutnya 1993, Indonesia tidak lagi
Kementerian Riset, Teknologi, dan Pendidikan diundang. Disini Indonesia mulai membuat

Fakultas Ilmu Komputer


Universitas Brawijaya 3986
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3987

rancangan kontes robot setanah air yang dilekngkapi oleh indikasi MSGEQ7 berbentuk
kemudian diselenggarakan IRC 1993 LED untuk mengetahui apakah suara diterima
(Indonesian Robot Contest) yang pada akhirnya dengan baik oleh mikrofon atau tidak.
pada tahun 2000 dengan IRC-3 atau KRI-3
menjadi kontes Robot Nasional secara Resmi 2. PERANCANGAN DAN
(Panitia KRI, 2017). IMPLEMENTASI
Saat ini, KRI memiliki lima divisi kompetisi 2.1. Gambaran Umum Sistem
robot dimana masing-masing robot memiliki
tujuan, peraturan dan keunikan masing-masing. Gambaran umum sistem dapat dilihat pada
Divisi pertama yang paling unik yaitu KRAI diagram blok pada Gambar 1.
atau Kontes Robot ABU Indonesia. Pada tahun
ini bertemakan “Lempar Bola Berkah”. Divisi
kedua yaitu KRPAI, atau Kontes Robot
Pemadam Api Indonesia. Divisi selanjutnya
yaitu KRSTI yaitu Kontes Robot Seni Tari
Indonesia. kemudian dilengkapi oleh Robot
sepak bola berkaki dan beroda dalam dua divisi
KRSBI atau Kontes Robot Sepak Bola Gambar 1. Blok Diagram Sistem
Indonesia (Wahidin, 2018).
Berdasarkan Gambar 1, ada tiga blok
Pada penelitian ini akan lebih diamati robot tahapan sistem yaitu masukan atau input,
KRSTI atau Kontes Robot Seni Tari Indonesia. pemrosesan dan keluaran atau output. Berikut
Tujuan utama robot KRSTI yaitu robot harus penjelasan masing-masing tahap :
mampu menari seiring dengan irama lagu yang
diberikan. Sebagian besar masalah yang dialami 1. Pada blok masukan, terdapat satu buah
peserta KRSTI adalah robot yang menari tanpa sensor suara analog dan perangkat
adanya keselarasan antar gerak tari dan lagu MSGEQ7. Sensor suara akan membaca
pengiring. Apabila dibiarkan, robot dapat masukan suara dan MSGEQ7 akan
berhenti menari secara prematur atau menguraikan sinyal tersebut kedalam filter
sebaliknya masih menari walaupun lagu sudah didalam MSGEQ7 yang menjadi parameter
berhenti. Robot humanoid KRSTI yang berat masukan.
juga dapat terjatuh akibat kurang selarasnya
gerakan dengan lagu disaat lagu dihentikan 2. Masukan oleh MSGEQ7 diolah oleh
secara mendadak. mikrokontroler Arduino Uno agar
Didasari dari masalah diatas, peneliti mendapatkan pita atau band frekuensi
membuat suatu sistem agar robot KRSTI dapat sebagai parameter sistem. Parameter
mengerti apa arti irama ketukan lagu, lebih tersebut kemudian diolah untuk
tepatnya kecepatan lagu atau tempo. Sistem mendapatkan output.
perangkat cerdas ini mampu memberikan 3. Output sistem berupa satuan nilai tempo
keluaran berbentuk satuan tempo sehingga
yang didapatkan dari pita-pita frekuensi
robot dapat menggunakan data tersebut sebagai
MSGEQ7 setelah dilakukan beberapa
acuan kecepatan gerak tari. Dengan demikian
robot KRSTI dapat berpikir sendiri seberapa proses. Keluaran lain yaitu indikasi LED
cepat robot tersebut harus bergerak sesuai yang langsung menunjukan nilai-nilai
dengan irama lagu yang sedang diputar. parameter masukan yang diterima arduino
uno sebagai gelap-terangnya LED.
Sistem perangkat cerdas ini menggunakan
sensor suara analog sebagai blok masukannya. Hasil sistem berupa sebuah PCB modul
Sinyal suara yang didapatkan dari mikrofon MSGEQ7 yang dengan mudah dihubungkan ke
sensor suara kemudian dilanjutkan ke IC modul sensor suara dan mikrokontroler arduino
MSGEQ7 untuk difilter dan kemudian diproses uno. Modul dirancang seperti ini untuk
lebih lanjut oleh mikrokontroler yang dipakai memudahkan penggunaan sistem.
oleh robot KRSTI. Sebagai contoh Arduino
Uno yang kemudian akan memberikan keluaran 2.2. Perancangan Perangkat Keras
berbentuk satuan tempo. Sistem ini juga Perancangan perangkat keras dibagi

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3988

menjadi dua, yaitu perancangan MSGEQ7 D11 IN-1 (LED3)


dengan sensor suara dan perancangan indikasi D10 IN-2 (LED2)
D9 IN-3 (LED1)
LED. Perancangan modul MSGEQ7 harus D3 IN-4 (ICRESET)
memiliki komponen-komponen yang D2 IN-5
dibutuhkan dalam kinerja MSGEQ7 seperti (ICSTROBE)
beberapa buah resistor dan kapasitor untuk MIC-1 (GND) GND
MIC-2 (VCC) VCC
mengatur clock internal pada MSGEQ7 (Glaser, MIC-3 (OUT) OUT
2011) atau mengatur frekuensi masukan
(SparkFun Electronics, 2004). Modul MSGEQ7
diberi beberapa pin-header untuk memudahkan 2.3. Perancangan Desain PCB
hubungan eksternal terutama pada modul sensor
suara analog dan mikrokontroler arduino uno. Rancangan desain PCB atau Printed Circuit
Dengan ini kinerja sistem dimulai dari modul Board dilakukan dengan memvisualisasi
sensor suara, kemudian modul MSGEQ7 dan skematik pada Gambar 2. Rancangan desain
yang terakhir mikrokontroler arduino uno. PCB pada Gambar 3 dibawah didesain dengan
Perancangan selanjutnya yaitu indikasi LED. rapih sehingga tidak ada kesalahan jalur atau
Indikasi LED dipasang pada papan PCB yang overlap yang menyebabkan sistem tidak bekerja
sama dengan IC MSGEQ7 beserta komponen dengan baik serta memperkecil ukuran PCB
pendukungnya. LED akan memberikan menjadi berukuran 48mm x 46mm.
keluaran gelap-terangnya masukan yang
diberikan oleh MSGEQ7.
Gambar 2 merupakan gambar skematik
perancangan perangkat keras sistem baik modul
MSGEQ7 maupun indikasi LED karena
keduanya dipasang dalam PCB yang sama.

Gambar 3. Visualisasi PCB

2.4. Perancangan Perangkat Lunak


Gambar 2. Skematik Perancangan Hardware Perancangan perangkat lunak terdiri dari
Berdasarkan Gambar 2, dapat dilihat IC akuisisi data, smoothing dan diff-rect, dan
MSGEQ7 menjadi pusat dari modul sistem ini. terakhir beat counting. Secara garis besar,
IC MSGEQ7 dihubungkan dengan komponen- perancangan perangkat lunak sistem dapat
komponen lain dengan spesifikasi hubungan pin dilihat pada Gambar 4.
yang dijelaskan oleh Tabel 1.

Tabel 1. Spesifikasi pin sistem


Arduino Uno Modul MSGEQ7 Sensor Suara
A0 OUT-1 (OUT)
GND OUT-2 (GND)
GND OUT-3 (GND)
Vin OUT-4 (VCC)

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3989

Gambar 5. Tampak atas desain PCB

Gambar 4. Diagram alir perancangan Software


Seperti yang dikatakan diagram alir diatas,
sistem akan dimulai dengan antarmuka sistem
serial untuk menyamakan baudrate. Kemudian
pada akuisisi data sistem mulai mengambil data
dari ketujuh pita data filter dalam MSGEQ7.
Data-data tersebut selanjutnya dihilangkan
noise-nya dalam tahap smoothing yang
kemudian diklasifikasi menjadi sinyal naik atau
turun dalam tahap Differential Rectification Gambar 6. Hasil akhir sistem siap uji
atau disingkat Diff-Rect. Sinyal yang diterima
dari Diff-Rect sangat memudahkan sistem untuk 3. PENGUJIAN DAN ANALISIS
mendeteksi puncak atau peak dalam satu
frekuensi dengan demikian pada tahap Beat- 3.1. Pengujian dan Fungsionalitas Sensor
Counting, sistem menghitung tempo masukan Suara
menggunakan panjang frekuensi tersebut dalam
domain waktu. Pengujian fungsionalitas sensor suara
dilakukan untuk mengetahui apakah sensor
2.5. Implementasi Sistem suara tersebut memiliki keluaran analog
berbentuk gelombang-gelombang sinyal atau
Implementasi sistem menghasilkan sistem tidak. Hasil yang dibaca oleh sensor suara akan
pendeteksi tempo yang sudah dapat digunakan ditampilkan pada serial monitor kemudian
dengan baik. Implementaasi dimulai dengan dilakukan plotting untuk melihat apakah data
pengimplementasian modul MSGEQ7 menurut tersebut bersifat analog yang memiliki data naik
datasheet dan perancangan modul tersebut turun. Pengujian dilakukan dengan lagu ‘Beat
dengan hubungan sensor suara dan arduino uno All The Odds – S3RL’ yang diwakilkan dengan
secara eksternal. Kemudian dilakukan karakter ‘A’ pada tabel hasil uji dalam Tabel 2.
perancangan LED pada modul untuk menjadi ‘In Unison – Just Because’ dalam karakter ‘B’
indikasi keluaran sistem. Setelah dan ‘Africa - Toto’ dalam karakter C.
pengimplementasian perangkat keras dilakukan,
selanjutnya pengimplementasian perangkat Tabel 2. Hasil uji fungsionalitas sensor suara
lunak dikerjakan. Sistem harus dapat menerima Siklus Lagu A Lagu B Lagu C
masukan dari luar sistem yang berbentuk suara 1 67 352 24
dan kemudian mengeluarkannya menjadi satuan 2 44 0 0
3 0 179 21
tempo. Gambar 5 merupakan tampak atas dari
4 12 0 55
hasil desain PCB yang telah dirancang. 5 106 496 0
Kemudian Gambar 6 merupakan gambar sistem 6 0 0 171
secara keseluruhan yang sudah menghubungkan 7 222 220 118
hubungan-hubungan eksternal yang diperlukan. 8 181 320 106
9 163 136 20
10 99 0 246

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3990

Gambar 7. Plot Hasil Uji Sensor Suara Gambar 8. Plot Hasil Uji MSGEQ7
Dapat diamati pada Gambar 7 dan Tabel 2, Dari Gambar 8 dan Tabel 3 diatas, dapat
bahwa masukan sensor suara benar-benar dilihat puncak-puncak sinyal yang diterima dari
berbentuk analog karena dapat mengeluarkan metronom secepat 120bpm pada siklus ke-2 dan
data hingga 496. Dengan demikian dapat ke-7. Hasil uji menurut Gambar 8 sudah
dikatakan sensor memiliki keluaran 10bit berbentuk gelombang naik turun yang
dengan nilai maksimal 1023. Kemudian apabila kemudian akan memudahkan untuk dilakukan
diamati plot dari hasil uji, hasil pembacaan naik proses-proses selanjutnya. Pada hasil uji diatas
turun. Dengan demikian dapat dikatakan juga dapat dilihat, garis berwarna hijau atau
masukan sensor berbentuk gelombang sinyal Filter ke-2 dari MSGEQ7 tidak bekerja dengan
yang diperlukan oleh MSGEQ7. baik atau cacat. Filter ini pembacaannya dapat
diabaikan atau dipakai dengan resiko
3.2. Pengujian Fungsionalitas MSGEQ7 mengurangi akurasi. Sebagai catatan
Pengujian MSGEQ7 dilakukan untuk sampingan, hasil MSGEQ7 ini yang
menguji keluaran MSGEQ7 apakah sudah dikeluarkan sebagai indikasi LED.
berbentuk gelombang sinyal atau tidak.
Pengujian juga dilakukan untuk mengetahuhi 3.3. Pengujian Akurasi Tempo
ada-tidaknya filter dalam MSGEQ7 yang cacat Pengujian akurasi tempo dimaksudan untuk
atau rusak. Pengujian MSGEQ7 menggunakan menguji ketepatan tempo hasil dari sistem
sensor suara yang sama yang digunakan pada secara keseluruhan. Tempo yang dihitung dari
pengujian 3.1 diatas dengan masukan uji yaitu MSGEQ7 bisa didapatkan di masing-masing
metronom secepat 120bpm. Pada Tabel 3. pita filter dari filter-0 sampai filter-6, namun
berikut, F(n) dimaksudkan sebagai Filter dalam pengujian ini akan ditunjukkan rata-rata
MSGEQ7 ke-n. dari perhitungan seluruh pita filter pada saat itu
saja. Pengujian dilakukan sebanyak lima kali
Tabel 3. Hasil Uji MSGEQ7 dengan menggunakan metronom yang diputar
Siklus F(0) F(1) F(2) F(3) F(4) F(5) F(6) dengan berbagai kecepatan yang berbeda yaitu
1 24 7 212 122 14 13 0 pada tempo 80bpm, 100bpm, 120bpm, 140bpm,
2 231 184 162 232 194 192 147 dan 160bpm.
3 154 104 210 194 124 121 80
4 92 50 212 155 74 71 48
Tabel 4. Hasil Uji Sistem
5 51 23 214 122 38 37 13
6 24 3 213 93 15 13 0 Siklus 80 100 120 140 160
7 231 185 173 232 194 192 144 bpm bpm bpm bpm bpm
8 154 104 210 195 125 122 80 1 78 99 119 159 159
9 82 50 211 155 73 61 35 2 100 99 120 119 160
10 51 14 211 122 38 36 19 3 93 95 120 160 159
4 70 95 119 121 159
5 80 95 119 159 159
6 80 95 119 142 160
7 79 95 119 137 159

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3991

8 79 106 119 148 159 Tabel 5. Tabel Responsifitas Sistem


9 97 99 119 137 171
10 97 99 119 142 159 Siklus Millis() Selisih(ms)
11 73 95 119 131 159 0 251 -
12 73 95 119 136 159 1 375 124
13 74 95 120 149 159 2 500 125
14 73 95 119 125 160 3 626 126
15 73 107 121 154 159 4 751 125
Average 81.3 97.6 119.8 142.4 160 5 876 125
Accur.(%) 98.4 97.6 99.8 98.3 100 6 1001 125
7 1126 125
8 1251 125
Dapat dilihat dari hasil pada Tabel 4, 9 1376 125
Akurasi persiklus terkecil adalah pada saat 10 1501 125
perhitungan 80bpm pada siklus ke-2 dengan Rata-rata 125
akurasi sebesar 75% karena perbedaan 20 nilai
dari nilai yang diinginkan. Dapat dilihat juga Dari Tabel 5 diatas, dapat disimpulkan
pada saat perhitungan pada 140bpm, nilai bahwa waktu responsif persiklus sistem sesuai
tempo maju-mundur dengan hasil ±120bpm dan dengan teori 8Hz yaitu 125ms/siklus. Dengan
±160bpm. Ini disebabkan karena kecepatan demikian, tempo kumulatif yang memerlukan
pengambilan data sistem tidak memungkinkan 15 siklus sebelumnya agar hasilnya akurat
sistem menghitung hingga tepat 140bpm. memerlukan waktu selama 1875ms atau
Namun secara kumulatif, perhitungan- dibulatkan menjadi 2 detik.
perhitungan tersebut dapat mendekati hasil
yang diinginkan dengan merata-ratakan hasil 4. KESIMPULAN
yang didapatkan dengan akurasi terkecil yaitu Dari data-data dan tahapan-tahapan diatas,
97.6% pada peritungan dengan kecepatan dapat disimpulkan kesimpulan sebagai berikut :
100bpm. Sistem memberikan keluaran berbentuk
tempo dari masukan berbentuk suara dari
3.4. Pengujian Responsivitas Sistem lingkungan yang diterima oleh sensor suara.
Pengujian responsifitas sistem dilakukan Gelombang sinyal suara ini sebelumnya
untuk menghitung kecepatan sistem dalam diteruskan kedalam IC MSGEQ7 untuk difilter
mendeteksi tempo lagu. Pengujian dilakukan sesuai dengan frekuensi filter didalamnya.
dengan cara memberikan timestamp pada serial Nilai-nilai yang didapatkan dalam MSGEQ7
monitor yang mengeluarkan nilai millis(), yaitu dapat dikeluarkan kembali sebagai keluaran
nilai milisekon yang didapatkan pada siklus LED sebagai indikasi MSGEQ7 dalam sistem.
perhitungan tempo. Secara teori, sampling rate Dengan demikian LED dapat digunakan
sebesar 8Hz akan melakukan pengambilan data sebagai keluaran sampingan sistem yang dapat
tiap 125ms. Gambar 9 dan Tabel 5 akan berfungsi sebagai equalizer karena gelap-
menunjukan kecepatan sistem untuk mengambil terangnya mengikuti pembacaan MSGEQ7.
data. Nilai MSGEQ7 kemudian dihitung temponya
dan dikeluarkan dalam bentuk variabel pada
serial monitor.
Pengujian fungsionalitas MSGEQ7 dan
Sensor suara diperlukan untuk menghasilkan
perhitungan yang benar. Pengujian sensor suara
memastikan bahwa sensor suara yang
digunakan benar-benar sensor suara analog
Gambar 9. Serial Monitor pada Start Up
yang mengeluarkan nilai 10bit dan bukan
Pada Gambar 9. dapat dilihat bahwa sistem sensor digital yang mengeluarkan High dan
memerlukan dua kali pengambilan dari awal Low saja. Pengujian MSGEQ7 dilakukan untuk
sistem dimulai untuk mendapatkan nilai tempo. mengetahui kecacatan dalam filter MSGEQ7
Sehhingga dapat dibilang, untuk mendapatkan atau komponen pendukung untuk dapat diubah
tempo pertama memerlukan waktu selama kode program perhitungannya.
251ms. Sistem dapat mengeluarkan tempo pertama
yaitu 251ms dari awal sistem dimulai dengan
akurasi persiklus sistem memiliki tingkat

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3992

akurasi paling kecil yaitu 75% dan tertinggi


yaitu 99.8%. Perhitungan tempo persiklus
kemudian memerlukan waktu sebesar 125ms
untuk didapatkan pembacaan baru. Sedangkan
akurasi kumulatif sistem memiliki akurasi
paling kecil sebesar 97.6% hingga 100%.
Namun perhitungan tempo ini karena
memerlukan nilai tempo dari 15 siklus
sebelumnya memerlukan waktu selama 1875ms
untuk mengeluarkan nilai tempo yang
diharapkan.

5. DAFTAR PUSTAKA
Glaser, O., 2011. Working with MSGEQ7.
[Online] Tersedia di:
https://electronics.stackexchange.com/q
uestions/19410/working-with-the-
msgeq7-clock-input [Diakses Tanggal
14 Februari 2018]
Hilmi, H., 2013. Memahami Satuan Tempo,
2013. Keyboardist Indonesia, Volume:
01 Issue: 26 | Agustus 2013.
Panitia KRI., 2017. Tentang KRI. [Online]
Tersedia di:
https://kontesrobotindonesia.id/tentang-
kri.html [Diakses Tanggal 14 Februari
2018]
SparkFun Electronics., 2004. MSGEQ7
datasheet. [Online] Tersedia di:
https://www.sparkfun.com/datasheets/C
omponents/General/MSGEQ7.pdf
[Diakses Tanggal 22 Januari 2018]
Wahidin, w.,2018. Kontes Robot Indonesia
2018. [Online] Tersedia di:
https://kontesrobotindonesia.id/kri-
2018.html [Diakses Tanggal 18 Maret
2018]

Fakultas Ilmu Komputer, Universitas Brawijaya

Anda mungkin juga menyukai