1
DRUM SET PLAYER OTOMATIS MENGGUNAKAN RASPBERRY PI Hidayat1, Asep Kurnia2
1,2
Teknik Komputer Unikom, Bandung 1
hiyan_05@yahoo.com, 2asepkurniavallentha@gmail.com
ABSTRAK
Salah satu fungsi Raspberry Pi adalah untuk mengatur pergerakan aktuator dengan memanfaatkan pin GPIO (general purpose input output). Sehingga Raspberry Pi dapat digunakan sebagai sistem utama untuk memainkan drum set secara otomatis. Setiap perangkat pada drum set dapat dipukul dengan memanfaatkan gerak mekanis dari aktuator yaitu solenoid. Perangkat drum yang dimaksud yaitu bass drum, snare drum, hihat, cymbal, dan tom. Transistor TIP120 pada driver solenoid dimanfaatkan sebagai saklar untuk mengatur aktif atau tidaknya solenoid. Pada perancangan drum set player otomatis ini menggunakan user interface berbasis web sebagai client dan program Python sebagai server. User interface berfungsi sebagai editor pola ketukan drum yang disimpan pada database. Program Python berfungsi untuk mengakses pin GPIO dan mengakses file audio sebagai simulasi permainan drum. Transfer data antara interface dengan program Python yaitu melalui komunikasi jaringan dengan protokol TCP/IP. Hasil pengujian sistem secara keseluruhan menghasilkan permainan drum otomatis yang dapat mmengiringi permainan instrument musik lainnya dalam memainkan lagu sesuai dengan tempo yang telah ditentukan pada user interface. Berdasarkan percobaan, pergerakan aktuator telah sesuai dengan data pola ketukan drum yang tersimpan pada database tanpa ada kesalahan. Begitu pula dengan simulasi permainan drum yang berupa file audio telah berjalan dengan baik.
Kata kunci : Drum Set, Raspberry Pi.
1. PENDAHULUAN
Penerapan teknologi komputer pada saat ini telah mengembangkan inovasinya di bidang seni musik, diantaranya yaitu robot yang bisa memainkan biola yang dibuat oleh Toyota Motor Corp dari Jepang. Selain itu juga ada robot yang bisa bermain drum yang dibuat oleh Frank Barnes dari Jerman.
Di Indonesia sendiri masih jarang yang menerapkan teknologi komputer untuk memainkan alat musik secara otomatis. Seperti instrumen musik drum yang masih dimainkan secara manual. Saat ini ITB telah membuat Klungbot, yaitu robot yang bisa bermain angklung.
Pada tugas akhir ini penulis tertarik untuk merancang alat yang bisa memainkan suatu instrumen musik yaitu drum, yang dimainkan secara otomatis menggunakan Raspberry Pi sebagai sistem utamanya. Raspberry Pi akan mengatur pergerakan aktuator sebagai penggerak stick drum dan pedal drum. Raspberry Pi itu sendiri adalah sebuah komputer berukuran kecil dan harganya lebih murah dari PC desktop pada umumnya. Raspberry Pi juga memiliki konsumsi daya yang rendah yaitu sekitar 3,5 Watt. Pada Raspberry Pi sudah tersedia port I/O yang disebut GPIO, sehingga memungkinkan untuk mengendalikan aktuator.
2. TEORI PENUNJANG
Drum termasuk ke dalam kelompok alat musik perkusi yang terdiri dari kulit yang direntangkan dan dipukul dengan tangan atau sebuah stick. Drum set
yaitu sekelompok drum yang biasanya terdiri dari
snare, tom, bass drum, cymbal, dan hi-hat [2].
Raspberry Pi sering juga disingkat dengan nama Raspi yaitu komputer single board circuit yang bisa digunakan untuk berbagai keperluan seperti sistem monitoring jaringan, game, bahkan bisa digunakan sebagai media player karena kemampuannya dalam memutar video high definition [11].
Pin GPIO adalah salah satu fitur dalam Raspberry Pi. Pin GPIO dapat diprogram untuk menghubungkan Raspberry Pi dengan hardware
lain. Input dari GPIO tidak hanya dapat dihubungkan dengan rangkaian sederhana, namun bisa juga dihubungkan dengan komponen elektronika seperti sensor [11].
Pygame adalah kumpulan modul Python yang ditulis khusus untuk membuat game. Sehingga dapat membuat game dengan menggunakan bahasa Python. Tapi di balik itu, sebagian besar modulnya ditulis dalam bahasa C, dan yang lainnya dalam bahasa Python [13].Pygame ini digunakan untuk mengakses file audio.
PHP adalah bahasa atau skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk pemrograman web [7].
Database berbasis Linux yang paling umum
digunakan adalah LAMP (singkatan dari Linux, Apache, MySQL dan PHP). Sistem operasi
Raspbian dapat menjalankan Apache sebagai web server, MySQL sebagai database dan PHP untuk
Hidayat, Asep Kurnia
2
TCP/IP adalah gabungan dari protokol TCP (Transmission Control Protocol) dan IP (Internet Protocol) sebagai sekelompok protokol yang mengatur komunikasi data dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan internet yang akan memastikan pengiriman data sampai ke alamat yang dituju [6].
Komunikasi jaringan yang sering dibuat diasumsikan sebagai client dan server. Tujuannya adalah agar server dapat memberikan layanan terhadap client. Dalam program Python hanya menggunakan dua domain komunikasi, yaitu UNIX (AF_UNIX) dan Internet (AF_INET) domain. Pengalamatan pada UNIX domain direpresentasikan sebagai string, dinamakan dalam lokal. Sedangkan pengalamatan Internet domain direpresentasikan sebagai tuple(host,port), dimana host merupakan
string yang merepresentasikan nama host internet yang sah (hostname). Dan port merupakan nomor yang sah antara 1 sampai 65535. Tetapi dalam keluarga UNIX penggunaan port di bawah 1024 memerlukan akses root privileges [5].
Solenoid adalah aktuator yang mampu melakukan gerakan linier. solenoid dapat elektromekanis (AC/DC), hidrolik, pneumatik atau didorong semua operasi pada prinsip-prinsip dasar yang sama [1].
Driver solenoid mempunyai fungsi sebagai saklar.
Cara kerja rangkaian driver yaitu apabila transistor mendapat logika high atau arus yang mengalir kedalam kaki basis cukup untuk mengaktifkan transistor, maka transistor berfungsi sebagai saklar tertutup dan arus akan mengaktifkan solenoid.
3. PERANCANGAN
Perancangan yang dilakukan terdiri dari tiga bagian, yaitu bagian input atau client, proses atau server, dan output atau mekanisme. Gambar 1 merupakan diagram blok sistem secara umum. Berikut adalah penjelasannya :
Gambar 1. Blok Diagram Sistem
Web Browser merupakan suatu interface untuk sisi
client yang digunakan sebagai editor data pola ketukan drum.
Raspberry Pi berfungsi sebagai sistem utama untuk sisi server yang menyimpan database dan mengakses pin GPIO serta file audio menggunakan RPi dan Pygame pada program Python.
Mekanisme terdiri dari driver, aktuator, drum set standard, dan speaker. Driver yaitu rangkaian elektronika yang digunakan untuk mengendalikan aktuator. Aktuator yang digunakan yaitu solenoid yang berfungsi sebagai penggerak stick drum dan pedal drum. Drum Set Standard yaitu instrumen musik yang akan dimainkan secara otomatis.
Speaker digunakan untuk audio output, yaitu merupakan simulasi dari permainan drum yang berupa file audio atau suara dari drum.
Perancangan Driver
Rangkaian Driver solenoid akan dirancang seperti yang ditunjukkan Gambar 2. Rangkaian tersebut merupakan rangkaian driver solenoid untuk satu aktuator. Karena alat ini menggunakan sembilan aktuator, maka membutuhkan sembilan rangkaian
driver solenoid yang dihubungkan secara paralel.
Gambar 2. Driver Solenoid
Perancangan Database
Pada perancangan database akan dibuat sebuah
database yang berisikan 3 buah tabel, diantanya :
Tabel 1. bar1
Nama
Kolom Tipe Key Name Null
lagu Int(10) - No
bar Varchar(20) - No
slot Varchar(2) - No
sol1 Int(1) - No
sol2 Int(1) - No
sol3 Int(1) - No
sol4 Int(1) - No
sol5 Int(1) - No
sol6 Int(1) - No
sol7 Int(1) - No
sol8 Int(1) - No
Hidayat, Asep Kurnia
3 Tabel 2. judullagu
Nama
Kolom Tipe Key Name Null
lagu Int(10) PrimaryKey (Auto Increment)
No
judul Varchar(100) - No
Tabel 3. proses
Nama
Kolom Tipe Key Name Null
lagu Int(10) - No
tempo Int(3) - No
judul Varchar(100) - No
bar Varchar(20) - Yes
Perancangan Interface (Drumpi Sequencer)
Gambar 3 merupakan data context diagram untuk program berbasis web yang berfungsi sebagai client atau user interface. Gambar 4 merupakan data flow diagram dari data context diagram tersebut.
Gambar 3. DCD Program Interface
Gambar 4. DFD Program Interface
Perancangan Program Python (Drumpi Player)
Hidayat, Asep Kurnia
4
Hidayat, Asep Kurnia
5
4. HASIL PENGUJIAN
Pengujian yang dilakukan yaitu pengujian perangkat
hardware, pengujian program server yaitu Drumpi Player, pengujian user interface yaitu Drumpi Sequencer dan pengujian alat secara keseluruhan untuk memainkan sebuah lagu serta simulasinya dengan keluaran berupa audio.
Pengujian Hardware
Tabel 4 merupakan hasil pengukuran arus pada setiap solenoid dengan tegangan input yang berbeda yaitu 16V, 12V, 10V, 9V, 7V dan 5V. Hal ini merupakan tahap pengujian hardware.
Tabel 4. Pengukuran Arus Pada Solenoid
Aktu-ator
Tegangan Input
16V 12V 10V 9V 7V 5V Solen oid 1 1,01 A 0,84 A 0,68 A 0,62 A 0,46 A 0,30 A Solen oid 2 1,00 A 0,83 A 0,68 A 0,62 A 0,45 A 0,27 A Solen oid 3 1,00 A 0,83 A 0,68 A 0,62 A 0,44 A 0,27 A Solen oid 4 1,00 A 0,83 A 0,68 A 0,61 A 0,44 A 0,28 A Solen oid 5 0,99 A 0,83 A 0,67 A 0,61 A 0,43 A 0,29 A Solen oid 6 0,99 A 0,83 A 0,67 A 0,61 A 0,43 A 0,27 A Solen oid 7 0,99 A 0,82 A 0,66 A 0,60 A 0,42 A 0,24 A Solen oid 8 0,99 A 0,82 A 0,67 A 0,61 A 0,43 A 0,26 A Solen oid 9 1,00 A 0,83 A 0,68 A 0,62 A 0,44 A 0,27 A Veloci ty San gat Baik Bai k Cuk up Baik Cuk up Baik Kura ng Baik Kura ng Baik
Pengujian Program Python
Gambar 6 merupakan tampilan awal Drumpi Player yang dibangun dengan program Python. Program tersebut merupakan server yang menunggu perintah dari user.
Gambar 6. Tampilan Drumpi Player
Pengujian Interface
Setelah program server aktif maka interface untuk
user dapat diakses dengan memasukan alamat IP
Raspberry Pi dan index.php misalnya 192.168.1.11/index.php. Tabel 5 merupakan hasil pengujian dari fitur-fitur yang ada pada interface
atau Drumpi Sequencer.
Tabel 5. Hasil Pengujian Interface
Proses Hasil
Add song Menambahkan judul lagu baru ke dalam tabel judullagu pada
database dengan ID yang baru.
Delete song Menghapus lagu dari database.
Update tempo Mengubah nilai tempo pada tabel
proses dalam database.
Show Menampilkan data pola ketukan drum sesuai ID lagu yang dipilih.
Input Bar Menambah data pola ketukan drum baru beserta nama barnya sebanyak 16 time slot (satu bar).
Edit Bar Merubah data pola ketukan drum berdasarkan nama bar.
Delete Bar Menghapus data pola ketukan drum berdasarkan nama barnya.
Play, Pause,
dan Stop
Mengirimkan data perintah ke program server (Drumpi Player).
Setelah program Drumpi Sequencer dan program Drumpi Player berjalan dengan baik, maka tahap selanjutnya yaitu pengujian alat secara keseluruhan.
Pengujian Kecepatan Pukulan
Pengujian kecepatan pukulan ini dilakukan dengan cara membuat pola ketukan drum yang memukul
snare drum secara terus menerusdengan delay 0,1 detik, 0,08 detik, 0,04 detik, dan 0,03 detik seperti yang ditunjukkan Tabel 6.
Tabel 6. Pengujian Kecepatan Pukulan
Delay Setiap Pukulan Pergerakan Solenoid Keterangan 0,1 detik
Terlihat Bisa dilakukan pemain drum tapi pukulannya harus menggunakan dua tangan. 0,08
detik
Terlihat Masih bisa dilakukan pemain drum tapi dalam waktu yang singkat karena adanya faktor kelelahan pada manusia.
0,04 detik
Terlihat Pukulannya sangat cepat dan tidak bisa dilakukan oleh manusia. 0,03 detik Tidak terlihat
Hidayat, Asep Kurnia
6
Pengujian Ketepatan Tempo
Pengujian tempo dilakukan pada lagu yang memiliki 10 bar, sehingga lagu tersebut memiliki 160 baris data pola ketukan drum (10 bar dikali dengan 16
time slot). Lagu tersebut akan diuji dengan tiga tempo yang berbeda yaitu tempo lambat, sedang, dan cepat. Durasi dari lagu tersebut akan dibandingkan dengan perhitungan durasi secara manual. Rumusnya adalah Durasi = ((60detik/nilai tempo)/4) x jumlah baris data pola ketukan drum. Lebih jelasnya pengujian tempo ini bisa dilihat pada Tabel 7.
Tabel 7. Pengujian Ketepatan Tempo
Perhitungan Tempo 60 bpm (Lamb at) 100 bpm (Sedang) 140 bpm (Cepat) Waktu Mulai (Jam:Menit: Detik) 08:28:4 3
08:34:58 08:40:44
Waktu Berhenti (Jam:Menit: Detik) 08:29:2 3
08:35:22 08:41:01
Selisih Waktu (Durasi)
40 detik
24 detik 17 detik
Secara Manual (Menghitung Durasi) ((60deti k/60)/4) x 160 =
40 detik
((60detik/ 100)/4) x 160 = 24 detik ((60detik/ 140)/4) x 160 = 17,142 detik Perbanding-an dalam skala detik
Sesuai Sesuai Sesuai
Pengujian Pengiriman Data (Client - Server)
Selain memainkan pola ketukan drum dengan cara klik tombol play, user juga dapat menghentikan permainan drum untuk sementara dengan cara klik tombol pause. Selain itu user juga dapat memerintahkan alat untuk berhenti memainkan drum yaitu dengan cara klik tombol stop pada interface. Tabel 8 merupakan data perintah yang dikirimkan
client (Drumpi Sequencer) kepada server (Drumpi Player).
Tabel 8 Data Perintah
Data Perintah Keterangan
a Play Berhasil
b Pause Berhasil
c Stop Berhasil
Pengujian Alat Dalam Memainkan Drum
Alat ini telah diuji untuk mengiringi lagu Indonesia Pusaka dengan tiga tempo yang berbeda. Ketiga tempo tersebut yaitu tempo 60 bpm (lambat), tempo
80 bpm (sedang) dan tempo 120 bpm (cepat). Alat ini memainkan drum pada lagu tersebut tanpa ada kesalahan pukulan. Tempo pada saat alat memainkan drum berjalan dengan baik dan sesuai dengan apa yang diharapkan.
Pengujian Simulasi Permainan Drum
Selain memainkan drum menggunakan mekanik, alat ini juga bisa mensimulasikan permainan drum dengan memainkan file audio melalui audio output
pada Raspberry Pi dengan menambahkan sebuah
speaker. File audio tersebut berupa suara dari drum yaitu suara bass drum, snare drum, open hihat, close hihat, crash cymbal, ride cymbal, high tom, low tom,
dan floor tom seperti yang ditunjukkan pada tabel di bawah ini.
Tabel 9. File Audio
Kolom Database File Audio Keterangan
sol1 = 1 bassdrum.wav Berhasil sol2 = 1 snare.wav Berhasil sol3 = 1
sol3 = 0
Hihat = closehihat.wav
Hihat = openhihat.wav
Berhasil
sol4 = 1 Hihat Berhasil
sol5 = 1 crash.wav Berhasil sol6 = 1 ride.wav Berhasil sol7 = 1 hightom.wav Berhasil sol8 = 1 lowtom.wav Berhasil sol9 = 1 floortom.wav Berhasil
Perbandingan Alat dan Pemain Drum
Tahap terakhir yaitu membandingkan Drum Set Player Otomatis dengan permainan drum yang dilakukan secara manual oleh pemain drum. Tabel 10 menjelaskan perbandingan tersebut.
Tabel 10. Perbandingan Drum Set Player Otomatis dengan Pemain Drum
Perban-dingan Drum Set Player Otomatis Pemain Drum
Tempo Selalu konstan tergantung nilai tempo pada program. Selalu konstan jika dibantu dengan metronome. Kecepat-an pukulan
Lebih cepat dari manusia.
Lebih lambat dari alat. Faktor
kelelahan
Tidak ada Ada
Velocity
(Kualitas Pukulan)
Konstan. bervariasi.
Teknik bermain
Hidayat, Asep Kurnia
7 dimaink-an
Kesalah-an pukulan
Tidak ada Kemungkinan ada
Memah-ami
instrument
lain
Tidak bisa Bisa
5. KESIMPULAN DAN SARAN
Hasil dari perancangan, pengujian dan analisa sistem yang telah dilakukan, dapat disimpulkan bahwa Drum Set Player Otomatis ini berfungsi dengan baik, diantaranya :
1. Berdasarkan Tabel 4, solenoid berfungsi dengan baik pada arus sebesar 0,6A dengan tegangan input 9V.
2. Berdasarkan Tabel 6, pergerakan solenoid tercepat dalam menggerakan stick drum yaitu pada saat delay sebesar 0,04 detik pada setiap pukulannya.
3. Berdasarkan Tabel 7, akurasi tempo alat dalam memainkan drum sudah sesuai dengan apa yang diharapkan.
4. Berdasarkan pengujian program Drumpi Player dan pengujian Drumpi Sequencer, program Python dan interface berbasis web berfungsi dengan baik tanpa ada kesalahan pembacaan data pada database dan kedua program tersebut dapat berkomunikasi pada jaringan lokal dengan protokol TCP/IP tanpa ada kesalahan pengiriman data sesuai dengan Tabel 8. 5. Berdasarkan Tabel 9, simulasi permainan drum
dengan cara mengakses file audio berjalan dengan baik dan sesuai dengan pin GPIO yang diakses berdasarkan data pada database. 6. Berdasarkan Tabel 10, alat ini memiliki
beberapa kelebihan dan kekurangan dibandinkan dengan permainan drum yang dimainkan secara manual oleh manusia. Adapun saran untuk memperbaiki atau mengembangkan perancangan sistem pada tugas akhir ini, yaitu :
1. Membuat aplikasi yang dapat mengakses pin GPIO pada Raspberry Pi berdasarkan file
MIDI, sehingga dapat diintegrasikan dengan
instrument musik lainnya.
2. Membuat program yang dapat
memperhitungkan velocity atau keras lemahnya pukulan drum, sehingga kuallitas pukulannya bisa bervariasi seperti permainan drum yang dilakukan secara manual oleh manusia.
3. Membuat alat yang dapat memainkan drum secara otomatis dengan teknik yang rumit seperti permainan drum yang dilakukan oleh pemain drum profesional.
6. DAFTAR PUSTAKA
[1] Anonim, Actuators - Solenoids, diakses pada tanggal 5 Maret 2015 dari world wide web : http://www.societyofrobots.com/actuators_sole noids.shtml.
[2] Anonim, Drum, diakses pada tanggal 10 Mei 2015 dari world wide web : http://id.wikipedia.org/wiki/Drum.
[3] Anonim, Learn How to Read Drum Music, diakses pada tanggal 10 Mei 2015 dari world
wide web :
http://drumnuts.com/LESSONS/How-To-Read-Drum-Music.php.
[4] Cleevely, D., Raspberry Pi, diakses pada tanggal 5 Maret 2015 dari world wide web : www.raspberrypi.org.
[5] Gunawan, R., Pemrograman Socket dengan Python, diakses pada tanggal 5 Maret 2015 dari world wide web : http://ilmukomputer.org/wp-
content/uploads/2009/04/rikih-socket_python.pdf.
[6] Irawan, J., dan Wardono, A., (2006),
Meningkatkan Kemampuan Jaringan dengan PC Cloning System, Andi, Yogyakarta.
[7] Madcoms, (2010), Kupas Tuntas Adobe Dreamweaver CS5 Dengan Pemrograman PHP dan MySQL, Andi, Yogyakarta.
[8] Malvino, (2001), Prinsip – prinsip Elektronik Edisi Kedua, Erlangga, Jakarta.
[9] Mudjilah, H. S., Teori Musik 1, diakses pada tanggal 29 Juni 2015 dari world wide web : http://staff.uny.ac.id/sites/default/files/pendidik an/dr-hanna-sri-mudjilah-mpd/diktat-teori-musik-1.pdf.
[10] Pchan, Raspberry Pi 2 Model B GPIO 40 Pin Block Pinout, diakses pada tanggal 5 Maret 2015 dari world wide web : http://www.element14.com/community/docs/D OC-73950/l/raspberry-pi-2-model-b-gpio-40-pin-block-pinout.
[11] Richardson, M., dan Wallace, S., (2013),
Getting Started with Raspberry Pi, Penerbit O’Reilly Media, Gravenstein Highway North.
[12] Septian, R. F., (2013), Belajar Pemrograman Python Dasar, Penerbit POSS – UPI, Bandung.
1
BAB I
PENDAHULUAN
1.1
Latar Belakang
Penerapan teknologi komputer pada saat ini telah mengembangkan
inovasinya di bidang seni musik, diantaranya yaitu robot yang bisa memainkan
biola yang dibuat oleh Toyota Motor Corp dari Jepang. Selain itu juga ada robot
yang bisa memainkan drum yang dibuat oleh Frank Barnes dari Jerman.
Di Indonesia sendiri masih jarang yang menerapkan teknologi komputer
untuk memainkan alat musik secara otomatis. Seperti instrumen musik drum yang
masih dimainkan secara manual. Saat ini ITB telah membuat Klungbot, yaitu
robot yang bisa memainkan angklung.
Pada tugas akhir ini penulis tertarik untuk merancang alat yang bisa
memainkan suatu instrumen musik yaitu drum, yang dimainkan secara otomatis
menggunakan Raspberry Pi sebagai sistem utamanya. Raspberry Pi akan
mengatur pergerakan aktuator sebagai penggerak
stick drum dan pedal drum.
Raspberry Pi itu sendiri adalah sebuah komputer berukuran kecil dan harganya
lebih murah dari PC
desktop
pada umumnya. Raspberry Pi juga memiliki
konsumsi daya yang rendah yaitu sekitar 3,5 Watt. Pada Raspberry Pi sudah
tersedia
port
I/O yang disebut GPIO, sehingga memungkinkan untuk
mengendalikan aktuator.
1.2
Maksud dan Tujuan
2
1.3
Batasan Masalah
Dalam perancangan dan pembuatan alat ini terdapat beberapa pembatasan
masalah, yaitu :
1.
Desain tata letak mekanisme aktuatornya hanya diaplikasikan pada jenis
Drum Set Standard dengan menggunakan single pedal dan single stick pada
setiap media pukul
Drum Set Standard yang terdiri dari beberapa media
pukul yaitu
bass drum,
snare, sepasang
hi-hat cymbal,
crash cymbal,
ride
cymbal, high tom, mid tom, dan floor tom.
2.
Sistem utama yang digunakan yaitu Raspbrry Pi dengan sistem operasi
Raspbian Wheezy
.
Karena Raspberry Pi harganya lebih murah dari PC dan
memiliki konsumsi daya yang rendah.
3.
Aktuator yang digunakan adalah solenoid DC 12V, karena cara kerja dari
solenoid dapat dimanfaatkan untuk memukul drum yaitu sebagai penggerak
stick drum dan pedal drum.
4.
User Interface
yang dibangun berupa
web based dengan menggunakan
bahasa pemrograman PHP dan HTML. User Interface ini berfungsi sebagai
editor pola ketukan drum untuk mengatur aktuator dan untuk menentukan
nilai tempo dalam satuan bpm atau beat per minute.
5.
Menggunakan Pygame untuk mengakses
file audio sebagai simulasi
permainan drum.
1.4
Metode Penelitian
Pada pembuatan tugas akhir ini menggunakan metode penelitian
eksperimental. Tahap-tahap yang dilakukan penulis pada penelitian ini yaitu
sebagai berikut :
a.
Studi literatur
3
dengan masalah dalam pembuatan penelitian, serta mempelajari bahasa
pemrograman yang akan digunakan.
b.
Perancangan sistem
Perancangan sistem yaitu mengumpulkan komponen-komponen yang akan
digunakan dalam pembuatan alat yang dibuat sesuai dengan kebutuhan. Kemudian
melakukan perancangan sistem yang meliputi perangkat keras dan perangkat
lunak.
c.
Implementasi
Implementasi yang dimaksud adalah menerapkan alat yang telah dirancang.
Kemudian dianalisis sistemnya untuk dibuktikan kecocokannya kedalam alat yang
akan dirancang pada kondisi yang lebih nyata.
d.
Analisa dan Pengujian
Analisa yaitu untuk mengetahui hasil dari perancangan alat yang telah
dibuat. Kemudian akan dilakukan pengujian terhadap alat yang dibuat serta
menganalisis kinerja alat, apakah telah sesuai dengan yang diinginkan atau belum.
Apabila kinerja alat tidak sesuai dengan yang diinginkan maka akan dilakukan
verifikasi dan memperbaikinya sehingga diperoleh hasil yang sesuai.
e.
Laporan
Laporan merupakan hal terakhir dalam penelitian ini, yaitu hasil dari apa
yang telah dilakukan selama perancangan alat sampai uji coba serta analisa yang
telah didapatkan dari penelitian ini.
1.5
Sistematika Penulisan
4
BAB I
: PENDAHULUAN
Bab ini menjelaskan latar belakang, batasan masalah, tujuan penelitian,
metodologi dan sistematika penulisan dengan maksud memberikan
gambaran tentang isi dari tugas akhir ini.
BAB II
: TEORI PENUNJANG
Bab ini menjelaskan dasar-dasar teori tentang topik yang akan
dibahas berdasarkan studi literatur dan percobaan yang dilakukan.
BAB III : PERANCANGAN SISTEM
Bab ini menjelaskan tentang blok-blok sistem yang dirancang serta
diimplementasikan. Parameter-parameter sistem, blok diagram, dan
diagram alir sistem.
BAB IV : HASIL PENGUJIAN DAN ANALISA
Bab ini berisi hasil pengujian serta analisis data yang didapat dari
alat yang dirancang.
BAB V
: KESIMPULAN DAN SARAN
Bab ini berisi ksimpulan berdasarkan penelitian dan saran untuk
perkembangan dalam perancangan implementasi teknologi kontrol pada
61
BAB V
KESIMPULAN DAN SARAN
Pada bab ini berisi kesimpulan dan saran dari keseluruhan alat yang telah
dirancang pada tugas akhir ini.
5.1
Kesimpulan
Hasil dari perancangan, pengujian dan analisa sistem yang telah dilakukan,
dapat disimpulkan bahwa Drum Set Player Otomatis ini berfungsi dengan baik,
diantaranya :
1.
Berdasarkan Tabel 4.1, Arus minimum yang dibutuhkan agar solenoid dapat
berfungsi dengan baik yaitu sebesar 0,6A dengan tegangan input 9V.
2.
Berdasarkan Tabel 4.2, pergerakan solenoid tercepat dalam menggerakan
stick drum yaitu pada saat delay sebesar 0,04 detik pada setiap pukulannya.
3.
Berdasarkan Tabel 4.3, akurasi tempo alat dalam memainkan drum sudah
sesuai dengan apa yang diharapkan. Perhitungan durasi dalam skala detik
pada Tabel 4.3 sudah sesuai antara perhitungan durasi secara manual dan
perhitungan durasi dengan menghitung selisih waktu antara alat mulai
memainkan drum dan alat berhenti atau selesai memainkan drum.
4.
Berdasarkan pengujian program Drumpi Player dan pengujian Drumpi
Sequencer, program Python dan
interface
berbasis web berfungsi dengan
baik tanpa ada kesalahan pembacaan data pada database dan kedua program
tersebut dapat berkomunikasi pada jaringan lokal dengan protokol
TCP/IP
tanpa ada kesalahan pengiriman data sesuai dengan Tabel 4.4.
5.
Berdasarkan Tabel 4.5, simulasi permainan drum dengan cara mengakses
file audio berjalan dengan baik dan sesuai dengan pin GPIO yang diakses.
62
5.2
Saran
Berikut ini merupakan saran untuk memperbaiki atau mengembangkan
perancangan sistem pada tugas akhir ini :
1.
Membuat aplikasi yang dapat mengakses pin GPIO berdasarkan file MIDI,
sehingga dapat diintegrasikan dengan instrument musik lainnya.
2.
Membuat program yang dapat memperhitungkan
velocity
atau keras
lemahnya pukulan drum, sehingga kuallitas pukulannya bisa bervariasi
seperti permainan drum yang dilakukan secara manual oleh manusia.
DRUM SET PLAYER OTOMATIS MENGGUNAKAN
RASPBERRY PI
TUGAS AKHIR
Disusun Untuk Memenuhi Syarat Kelulusan
Pada Program Studi Strata Satu Sistem Komputer
Oleh
Asep Kurnia
10211114
Pembimbing
Hidayat, S.Kom, MT.
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
vii
DAFTAR ISI
LEMBAR PENGESAHAN ... i
LEMBAR PERNYATAAN ... ii
ABSTRAK ... iii
ABSTRACT ... iv
KATA PENGANTAR ... v
DAFTAR ISI ... vii
DAFTAR TABEL ... x
DAFTAR GAMBAR ... xi
BAB I PENDAHULUAN ... 1
1.1
Latar Belakang ... 1
1.2
Maksud dan Tujuan ... 1
1.3
Batasan Masalah ... 2
1.4
Metode Penelitian ... 2
1.5
Sistematika Penulisan ... 3
BAB II TEORI PENUNJANG ... 5
2.1
Drum Set ... 5
2.1.1
Bagian Dari Drum Set ... 6
2.1.2
Bar Dalam Pola Ketukan Drum ... 7
2.1.3
Tempo Dalam Musik ... 7
2.2
Raspberry Pi... 8
2.2.1
Spesifikasi Raspberry Pi 2 ... 8
2.2.2
Sistem Operasi Raspbian Wheezy ... 10
2.2.3
Instalasi Sistem Operasi Raspbian Wheezy ... 10
viii
2.4
Akses File Audio pada Python Menggunakan Pygame ... 13
2.5
Software GUI Berbasis Web ... 13
2.6
Sistem Database LAMP ... 14
2.7
Komunikasi Python dan PHP Melalui Socket Network TCP/IP ... 14
2.8
Solenoid ... 15
2.9
Driver Solenoid Menggunakan Transistor NPN Sebagai Saklar ... 16
BAB III PERANCANGAN SISTEM ... 19
3.1
Diagram Blok Sistem ... 19
3.2
Cara Kerja Sistem ... 20
3.3
Spesifikasi Hardware dan Software ... 20
3.4
Perancangan Hardware ... 21
3.5
Perancangan Software ... 23
3.5.1
Perancangan Database ... 23
3.5.2
Data Context Diagram Drumpi Sequencer ... 25
3.5.3
Deskripsi Proses Program Berbasis Web (Client) ... 32
3.5.4
Diagram Alir Drumpi Player ... 36
3.5.5
Perancangan Tampilan Interface Berbasis Web ... 39
3.6
Perancangan Mekanisme Sistem ... 40
BAB IV HASIL PENGUJIAN DAN ANALISA ... 43
4.1
Pengujian ... 43
4.1.1
Pengujian Perangkat Hardware ... 43
4.1.2
Pengujian Program Drumpi Player ... 44
4.1.3
Pengujian Program Drumpi Sequencer (Interface) ... 45
4.1.4
Pengujian Kecepatan Pukulan ... 51
4.1.5
Pengujian Ketepatan Tempo... 52
ix
4.1.7
Pengujian Alat Dalam Memainkan Drum ... 56
4.1.8
Pengujian Simulasi Permainan Drum Menggunakan File Audio... 56
4.2
Analisa ... 57
BAB V KESIMPULAN DAN SARAN ... 61
5.1
Kesimpulan ... 61
5.2
Saran ... 62
DAFTAR PUSTAKA ... 63
63
DAFTAR PUSTAKA
[1]
Anonim,
Actuators - Solenoids, diakses pada tanggal 5 Maret 2015 dari
world wide web : http://www.societyofrobots.com/actuators_solenoids.
shtml.
[2]
Anonim,
Drum, diakses pada tanggal 10 Mei 2015 dari world wide web :
http://id.wikipedia.org/wiki/Drum.
[3]
Anonim,
Learn How to Read Drum Music, diakses pada tanggal 10 Mei
2015 dari world wide web :
http://drumnuts.com/LESSONS/How-To-Read-Drum-Music.php.
[4]
Cleevely, D., Raspberry Pi, diakses pada tanggal 5 Maret 2015 dari world
wide web : www.raspberrypi.org.
[5]
Gunawan, R., Pemrograman Socket dengan Python, diakses pada tanggal 5
Maret 2015 dari world wide web :
http://ilmukomputer.org/wp-content/uploads/2009/04/rikih-socket_python.pdf.
[6]
Irawan, J., dan Wardono, A., (2006),
Meningkatkan Kemampuan Jaringan
dengan PC Cloning System, Andi, Yogyakarta.
[7]
Madcoms, (2010),
Kupas Tuntas Adobe Dreamweaver CS5 Dengan
Pemrograman PHP dan MySQL, Andi, Yogyakarta.
[8]
Malvino, (2001),
Prinsip
–
prinsip Elektronik Edisi Kedua,
Erlangga,
Jakarta.
[9]
Mudjilah, H. S.,
Teori Musik 1, diakses pada tanggal 29 Juni 2015 dari
world wide web :
http://staff.uny.ac.id/sites/default/files/pendidikan/dr-hanna-sri-mudjilah-mpd/diktat-teori-musik-1.pdf.
[10]
Pchan,
Raspberry Pi 2 Model B GPIO 40 Pin Block Pinout, diakses pada
tanggal 5 Maret 2015 dari world wide web : http://www.element14.com/
community/docs/DOC-73950/l/raspberry-pi-2-model-b-gpio-40-pin-block-pinout.
[11]
Richardson, M., dan Wallace, S., (2013), Getting Started with Raspberry Pi,
Penerbit O’Reilly Media, Gravenstein Highway North.
[12]
Septian, R. F., (2013), Belajar Pemrograman Python Dasar, Penerbit POSS
64
DATA RIWAYAT HIDUP
Data Pribadi
Nama Lengkap
: Asep Kurnia
Tempat, tanggal dan lahir
: Sumedang, 4 Oktober 1992
Alamat
: Dsn. Citanggulun RT07/03 Ds. Cintamulya
Kec. Jatinangor Kab. Sumedang
Jenis Kelamin
: Pria
Agama
: Islam
Status
: Belum Menikah
Tinggi/Berat Badan
: 175 cm/62 Kg
No Telepon/HP
: 087823023921
: asepkurniavallentha@gmail.com
Riwayat Pendidikan
1. (1999-2005) Lulus SDN Paripurna Jatinangor
2. (2005-2008) Lulus SMPN 1 Rancaekek
3. (2008-2011) Lulus SMKN 6 Bandung
4. (2011-2015) Universitas Komputer Indonesia, Sistem Komputer (S1)
v
KATA PENGANTAR
Segala puji bagi Allah SWT., Pencipta dan pemelihara alam semesta,
shalawat serta salam semoga tercurah limpahkan bagi Nabi Muhammad SAW.,
juga kepada keluarga, para sahabat dan para pengikutnya yang selalu memegang
teguh ajarannya.
Adapun judul dari tugas akhir ini adalah
Drum Set Player Otomatis
Menggunakan Raspberry Pi.
Tujuan dari pembuatan tugas akhir ini adalah
untuk memenuhi salah satu syarat untuk memperoleh gelar Sarjana Strata-1 di
jurusan Teknik Komputer, Universitas Komputer Indonesia.
Selama melaksanakan tugas akhir ini, penulis mendapat banyak bantuan dari
berbagai pihak. Penulis mengucapkan terima kasih banyak kepada :
1.
Keluarga tercinta yang tidak henti-hentinya
memberikan do’a
, perhatian,
nasihat, dan motivasi sehingga penulis dapat menyelesaikan tugas akhir ini.
2.
Bapak Prof. Dr. H. Denny Kurniadie, Ir., M.Sc. selaku Dekan Fakultas
Teknik dan Ilmu Komputer Universitas Komputer Indonesia.
3.
Bapak Dr. Wendi Zarman, M.Si. selaku Ketua Jurusan Teknik Komputer
Universitas Komputer Indonesia.
4.
Bapak John Adler, S.Si, M.Si selaku ketua Panitia Tugas Akhir.
5.
Bapak Hidayat, S.Kom., MT. selaku Dosen Pembimbing yang telah banyak
memberikan arahan, saran, nasihat, motivasi dan bimbingan kepada penulis
selama menyelesaikan tugas akhir ini.
6.
Bapak Ir. Christianto Tjahyadi selaku Managing Director dari Next System
Bandung yang telah memberikan ilmu dan pelatihan yang sangat bermanfaat
bagi penulis dalam menyelesaikan tugas akhir ini.
7.
Bapak dan Ibu seluruh staff dosen Jurusan Teknik Komputer serta seluruh
staff Administrasi Universitas Komputer Indonesia, yang telah banyak
memberikan ilmu kepada penulis.
vi
9.
Rekan-rekan di Laboratorium Sistem Digital yang telah banyak membantu
pada saat proses pengerjaan tugas akhir.
10.
Teman-teman mahasiswa teknik komputer, khususnya kelas 11 TK 3 yang
telah banyak membantu selama studi di Unikom.
11.
Indah Nurul Handayani dan personil Vallentha Band yang telah
memberikan banyak dukungan kepada penulis.
12.
Serta semua pihak yang telah banyak membantu yang tidak dapat penulis
sebutkan satu persatu.
Akhir kata, penulis berharap semoga tugas akhir ini dapat memberikan hal
yang bermanfaat untuk seni musik dan teknologi komputer di Indonesia.
Bandung, Agustus 2015