• Tidak ada hasil yang ditemukan

TA : Rancang Bangun Drum Kit Elektrik Berbasis Mikrokontroler dan Android Smartphone.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Rancang Bangun Drum Kit Elektrik Berbasis Mikrokontroler dan Android Smartphone."

Copied!
88
0
0

Teks penuh

(1)

RANCANG BANGUN DRUM KIT ELEKTRIK

BERBASIS MIKROKONTROLER DAN

ANDROID SMARTPHONE

TUGAS AKHIR

Program Studi S1 Sistem Komputer

Oleh:

Mambaul Ulum 10.41020.0075

FAKULTAS TEKNOLOGI DAN INFORMATIKA

(2)

xi

HALAMAN JUDUL ... i

HALAMAN SYARAT ... ii

MOTTO ... iii

HALAMAN PERSEMBAHAN ... iv

HALAMAN PENGESAHAN ... v

HALAMAN PERNYATAAN ... vi

ABSTRAK ... vii

KATA PENGANTAR ... viii

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xv

DAFTAR TABEL ... xvii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 3

1.4 Tujuan ... 3

1.5 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Drum Elektrik ... 6

2.2 Piezoelectric ... 6

2.3 Mikrokontroler ... 7

(3)

xii

2.4.3 Memori ... 12

2.4.4 Input dan Output ... 13

2.5 Software Aurduino IDE ... 13

2.6 Android ... 22

2.7 Basic4Android ... 22

BAB III METODE PENELITIAN... 25

3.1 Metode Penelitian ... 25

3.2 Perancangan Perangkat Keras (Hardware) ... 27

3.2.1 Perancangan Sensor Piezoelectric ... 27

3.2.2 Perancangan Sensor Switch ... 28

3.2.3 Drum Pad... 29

3.2.4 Pedal Drum ... 30

3.2.5 Koneksi Port pada Modul Mikrokontroler Arduino Uno 31 3.3 Perancangan Perangkat Lunak (Software) ... 32

3.3.1 Perancangan Program pada Modul Mikrokontroler Arduino32 3.3.2 Pembacaan Data Sensor Piezoelectric ... 34

3.3.3 Pengiriman Data pada Modul Mikrokontroler Arduino 35 3.3.4 Perancangan Aplikasi pada Android Smartphone ... 40

3.3.5 Deteksi Modul Arduino pada Android Smarphone ... 43

(4)

xiii

3.4.3 Aplikasi pada Android Smartphone ... 54

3.4.4 Evaluasi Sistem Keseluruhan ... 54

BAB IV HASIL PENGUJIAN DAN EVALUASI SISTEM ... 56

4.1 Pengujian Pembacaan Sensor Piezoelectric ... 56

4.1.1 Tujuan Pengujian Pembacaan Sensor Piezoelectric .... 56

4.1.2 Alat Yang Digunakan Pada Pengujian Pembacaan Sensor Piezoelectric... 56

4.1.3 Prosedur Pengujian Pembacaan Sensor Piezoelectric . 56 4.1.4 Hasil Pengujian Pembacaan Sensor Piezoelectric ... 57

4.2 Pengujian Pembacaan Sensor Switch ... 58

4.2.1 Tujuan Pengujian Pembacaan Sensor Switch ... 58

4.2.2 Alat Yang Digunakan Pada Pengujian Pembacaan Sensor Switch ... 59

4.2.3 Prosedur Pengujian Pembacaan Sensor Switch ... 59

4.2.4 Hasil Pengujian Pembacaan Sensor Switch ... 60

4.3 Pengujian Pengiriman Data Mikrokontroler Arduino ... 61

4.3.1 Tujuan Pengujian Pengiriman Data Mikrokontroler Arduino ... 61

4.3.2 Alat Yang Digunakan Pada Pengujian Pengiriman Data Mikrokontroler Arduino ... 61

4.3.3 Prosedur Pengujian Pengiriman Data Mikrokontroler Arduino ... 62

(5)

xiv

4.4.2 Alat Yang Digunakan Pada Pengujian Aplikasi pada

Android Smartphone ... 64

4.4.3 Prosedur Pengujian Aplikasi pada Android Smartphone 65 4.4.4 Hasil Pengujian Aplikasi pada Android Smartphone ... 68

4.5 Pengujian Keseluruhan Sistem ... 74

4.5.1 Tujuan Pengujian Keseluruhan Sistem ... 75

4.5.2 Alat Yang Digunakan Pengujian Keseluruhan Sistem . 75 4.5.3 Prosedur Pengujian Keseluruhan Sistem ... 75

4.5.4 Hasil Pengujian Keseluruhan Sistem ... 76

BAB V PENUTUP ... 80

5.1 Kesimpulan ... 80

5.2 Saran ... 81

DAFTAR PUSTAKA ... 83

LAMPIRAN ... 84

(6)

1 1.1 Latar Belakang Masalah

Perkembangan dan kemajuan teknologi saat ini sudah sangatlah pesat. Hal ini menimbulkan pengaruh yang cukup besar terhadap kehidupan manusia, salah satunya adalah perkembangan teknologi dalam bidang musik. Perkembangan tersebut diantaranya adalah perkembangan teknik bermain musik dan perkembangan alat-alat musik.

Penggunaan alat musik saat ini masih banyak yang menggunakan alat musik konvensional seperti alat drum. Drum kit mempunyai bagian-bagian penting seperti snare, tom-tom, bass drum, cymbal, hi-hat, dan lain-lain. Bagian-bagian drum tersebut memiliki ukuran yang cukup besar sehingga dalam penggunaanya drum kit membutuhkan tempat yang lebih luas dan tidak mudah untuk dibongkar pasang. Saat ini drum kit sudah ada yang bekerja secara digital yaitu drum elektrik atau digital drum berbasis MIDI (Musical Instrument Digital Interface).

Dalam penelitian sebelumnya yang bejudul Analisis dan Perancangan Perangkat Keras Midi Drum Kit Elektrik Berbasis Mikrokontroler Arduino membahas pembuatan drum kit menggunakan sebuah PC sebagai end device dan sebagai pengatur suara keluaran dari drum kit (Kurniawan & Santoso, 2015). Dari penelitian tersebut, penggunaan PC dinilai kurang efektif untuk mobilitas.

(7)

mikroprosesor dimana didalamnya sudah terdapat CPU, RAM, ROM, I/O, clock

dan peralatan internal lainya yang sudah saling terhubung dan terorganisasi (teralamatisasi) dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chip

yang siap pakai (Desirianti, 2011). Mikrokontroler bertugas memproses data

analog menjadi data digital yang didapat dari sensor piezoelectric, dan juga bertugas mengirimkan data menuju android smartphone menggunakan media komunikasi USB. Android Smartphone merupakan perangkat mobile yang tertanam sistem operasi berbasis linux yang mencakup sistem operasi,

middleware, dan aplikasi (Ichwan & Hakiky, 2011). Android Smartphone ini bertugas sebagai penerima dan pemroses data digital yang telah dikirimkan oleh mikrokontroler, selanjutnya menghasilkan output suara drum berdasarkan bagian

drum yang dipukul.

Pada tugas akhir ini diharapkan dapat mengembangkan suatu alat musik

drum kit elektrik dengan menggunakan android smartphone sebagai end device

yang dapat meningkatkan efektifitas dalam mobilitas dan suara yang dihasilkan memiliki tingkat kekerasan berdasarkan keras tidaknya pukulan pada kit drum, maka disusunlah sebuah tugas akhir yang berjudul Rancang Bangun Drum Kit

Elektrik Berbasis Mikrokontroler dan Android Smartphone.

1.2 Rumusan Masalah

Berdasarkan latar belakang diatas maka dapat dirumuskan permasalahan sebagai berikut :

(8)

2. Bagaimana merancang aplikasi pada android smartphone yang dapat menentukan besar keluaran suara berdasarkan kerasnya pukulan yang dilakukan pada kit drum elektrik?

1.3 Batasan Masalah

Untuk menghindari pembahasan yang lebih luas terkait penelitian ini. Terdapat beberapa batasan masalah, maka penelitian ini hanya ditentukan pada ruang lingkup tertentu antara lain:

1. Drum elektrik yang dibuat memiliki beberapa drum pad yaitu: snare, bass,

hi-hat, floor tom, middle tom, ride cymbal, crash cymbal.

2. Jarak penenempatan antar sensor dan konstruksi dudukan sensor tidak diperhitungkan.

3. Media komunikasi antara mikrokontroler dan android smartphone

menggunakan USB.

4. Android smartphone yang digunakan sudah mendukung fitur USB OTG (On The Go) dan berbasis android5.0 lollypop.

1.4 Tujuan

Berdasarkan rumusan masalah yang diuraikan diatas, maka tujuan penelitian ini adalah sebagai berikut :

(9)

2. Merancang aplikasi pada smartphone android yang dapat menentukan besar keluaran suara berdasarkan kerasnya pukulan yang dilakukan pada kit drum

elektrik.

1.5 Sistematika Penulisan

Penulisan buku ini secara sistematis diatur dan disusun dalam lima bab yang didalamnya terdapat beberapa sub bab, di mana akan dijelaskan secara rinci semua penjelasan dalam pembuatan alat ini. Secara ringkas uraian materi dari bab pertama hingga bab terakhir adalah sebagai berikut.

BAB I : PENDAHULUAN

Bab ini merupakan pendahuluan dari karya tulis Tugas Akhir yang membahas mengenai latar belakang masalah, perumusan masalah, batasan masalah, tujuan, dan sistematika penulisan.

BAB II : LANDASAN TEORI

Bab ini menjelaskan teori yang mendukung pokok pembahasan tugas akhir yang meliputi definisi yang berkaitan dalam Tugas Akhir ini. Diantaranya pembahasan tentang drum elektrik, sensor piezoelctric, mikrokontroler aduino uno R3, dan basic4android.

BAB III : METODE PENELITIAN

(10)

yaitu program yang digunakan untuk mengatur semua proses pada sistem.

BAB IV : HASIL DAN PEMBAHASAN

Bab ini menjelaskan tentang pengujian sistem baik hardware

maupun software. Pengujian hardware meliputi rangkaian sensor

piezoelectric, modul mikrokontroler Aduino uno yang berfungsi sebagai otak kerja dari alat. Pengujian software meliputi program mikrokontroler aduino dengan masing-masing hardware dan juga program pada android smartphone.

BAB V : PENUTUP

(11)

6 2.1 Drum Elektrik

Drum elektrik adalah sebuah alat yang dibuat menyerupai bentuk drum kit

akustik pada umumnya. Lapisan permukaan drum yang sebelumnya terbuat dari membran berbahan dasar plastik (pada drum akustik) diganti menjadi bantalan-bantalan karet yang dibawah lapisannya diberi sensor untuk menangkap getarannya saat dipukul. Sensor tersebut merubah getaran listrik yang dihasilkan kemudian mentransmisikannya ke dalam modul elektronik atau perangkat komputer yang memiliki perangkat lunak (software) berupa virtual drum dan nantinya akan menghasilkan suara kit drum seperti pada perangkat drum akustik.

Gambar 2.1 Drum Elektrik

(Sumber: www.yamahadtx.com) 2.2 Piezoelectric

(12)

keramik akibat dari mechanical pressure (tekanan). Piezoelectric digunakan untuk mengukur tekanan, percepatan, regangan, dan lain-lain.

Piezoelectric sensor adalah perangkat yang menggunakan efek

piezoelektrik, atau komponen yang dapat menghasilkan tegangan listrik sebagai respon dari suatu perubahan tekanan mekanik. (Yuniar, & Prastowo, 2013).

Gambar 2.2 Sensor Piezoelectric

(Sumber: www.sparkfun.com)

2.3 Mikrokontroler

Mikrokontroler adalah sebuah sistem mikroprosesor dimana didalamnya sudah terdapat CPU, RAM, ROM, I/O, clock dan peralatan internal lainya yang sudah saling terhubung dan terorganisasi (teralamatisasi) dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chip yang siap pakai. (Desirianti, 2011).

(13)

variabel, atau perangkat elektronik lain. Pada sebuah chip mikrokontroler umumnya memiliki fitur-fitur sebagai berikut:

 CPU (Central Processing Unit)

Port Input/Output

Counter dan Timer

 ADC(Analog to Digital Converter)

 ROM, EEPROM, EPROM atau flash memory untuk menyimpan program dari

komputer

 Mendukung komunikasi serial, parallel dan lain-lain.

Ada berbagai macam jenis mikrokontroler yang beredar di pasaran yang masing-masing memiliki kelebihan dan kekurangan sesuai dengan kebutuhan pengguna. Berikut merupakan beberapa jenis mikrokontroler yang dapat digunakan:

 Atmel (AT91, AT90, Tiny, Mega, AVR, dll.)

 Fujitsu (FR Family, FR-V Famili, dll)

 Intel (8xc42, MCS51, 8061, 8xc21, dll.)

 Philiphs Semiconductor (LPC2000, LPC900, dll.)

 Western Design Center (W65C02, W65816, dll.)

2.4 Arduino

(14)

dirancang untuk mempermudah proyek bagi pemula tetapi masih cukup fleksibel bagi para ahli untuk mengembangkan proyek-proyek yang kompleks.

2.4.1 Arduino Uno R3

Arduino Uno adalah papan mikrokontroler berbasis ATMega328. Dalam bahasa Italia “Uno” berarti satu, maka peluncuran arduino ini diberi nama Uno. Arduino ini berisi semua yang diperlukan untuk mendukung mikrokontroler, untuk mengaktifkan cukup menghubungkannya ke komputer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai.

Adapun beberapa kelebihan dari perangkat arduino, diantaranya adalah : 1. Tidak perlu perangkat chip programmer karena di dalamnya sudah ada

bootloader yang akan menangani upload program dari komputer.

2. Sudah memiliki sarana komunikasi USB, sehingga pengguna Laptop yang tidak memiliki port serial/RS323 bisa menggunakan port USB.

3. Memiliki modul siap pakai (shield) yang bisa ditancapkan pada board

arduino. Misalnya shield GPS, Ethernet, Xbee, SD Card, dll.

(15)

Untuk contoh modul dari Arduino Uno R3 bisa dilihat pada Gambar 2.3 diatas. Sedangkan untuk melakukan proses compile ataupun upload program pada arduino, biasanya menggunakan kabel usb seperti Gambar 2.4 dibawah ini

Gambar 2.4 Kabel USB pada Arduino Uno R3

(Sumber: www.arduino.cc)

Secara umum arduino terdiri dari dua bagian, yaitu: 1. Hardware: papan input/output (I/O)

2. Software: software arduino meliputi IDE untuk menulis program, driver

untuk koneksi dengan komputer, contoh program dan library untuk pengembangan program.

Pada Tabel 2.1 dibawah ini akan dijelaskan secara singkat spesifikasi dari perangkat arduino uno R3:

Tabel 2.1 Spesifikasi Arduino Uno R3

Mikrokontroler ATmega328

Tegangan pengoperasian

5V

Tegangan input yang disarankan

7-12V

(16)

Jumlah pin I/O digital 14 (6 di antaranya menyediakan keluaran PWM)

32 KB (ATmega328), sekitar 0.5 KB digunakan oleh

bootloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz

(Sumber: www.arduino.cc)

2.4.2 Daya (Power)

Dalam hal daya arduino uno dapat disuplai melalui koneksi USB atau dengan sebuah power suplai eksternal. Suplai eksternal (non-USB) dapat diperoleh dari sebuah adaptor AC ke DC atau baterai. Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug 2,1 mm ke power jack dari

board. Kabel lead dari sebuah baterai dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor power.

(17)

pada board arduino uno bisa menjadi cepat panas sehingga membahayakan bagi

board arduino uno.

Pin-pin dayanya adalah sebagai berikut:

1. VIN. Tegangan input ke Arduino board ketika board sedang menggunakan sumber suplai eksternal (seperti 5 volt dari koneksi USB atau sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika penyuplaian tegangan melalui power jack, aksesnya melalui pin ini.

2. 5V. Pin output ini merupakan tegangan 5 volt yang diatur dari regulator pada

board. Board dapat disuplai dengan salah satu suplai dari DC power jack (7-12 volt), USB connector (5 volt), atau pin VIN dari board (7-12 volt). Penyuplaian tegangan melalui pin 5 volt atau 3,3 volt membypass regulator, dan dapat membahayakan board.

3. 3V3. Sebuah suplai 3,3 volt dihasilkan oleh regulator pada board. Arus maksimum yang dapat dilalui adalah 50 mA.

4. GND. Pinground.

2.4.3 Memori

ATmega328 mempunyai 32 KB yang bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. (dengan 0,5 KB digunakan untuk bootloader). ATmega 328 juga mempunyai 2 KB SRAM (Static Random Access Memory) yang volatile (hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program. dan 1 KB EEPROM (Electrically Erasable Programmable Read-Only Memory) yang dapat dibaca dan ditulis (read

(18)

2.4.4 Input dan Output

Setiap 14 pin digital pada arduino uno dapat digunakan sebagai input dan output. Fungsi-fungsi tersebut beroperasi di tegangan 5 volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah

resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin

mempunyai fungsi-fungsi sebagai berikut:

1. Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin

ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.

2. External Interrupts: pin ke 2 dan pin ke 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada suatu nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan nilai.

3. PWM (Pulse Width Modulation): pin yang digunakan meliputi pin 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi analogWrite(). 4. SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport

komunikasi SPI menggunakan SPI library.

5. LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.

2.5 Software Arduino IDE

(19)

1. Editor program, sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa processing.

2. Verify/Compiler, sebuah modul yang mengubah kode program (bahasa processing) menjadi kode biner.

3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam memori mikrokontroler di dalam papan arduino.

Pada Gambar 2.5 dibawah ini adalah tampilan software Arduino IDE,

Gambar 2.5 Tampilan Software Arduino IDE

(Sumber : www.arduino.cc)

Pada Gambar 2.5 terdapat menu bar, area putih untuk editing sketch, sedangkan area hitam dapat kita sebut sebagai progress area, dan paling bawah dapat kita sebut sebagai “status bar”. Berikut adalah penjelasan menu pada

software arduino IDE.

(20)

4. Open : Membuka program yang pernah dibuat 5. Save : Menyimpan program yang sudah dibuat

Bahasa Pemograman Arduino

Arduino ini bisa dijalankan di komputer dengan berbagai macam platform

karena didukung atau berbasis java. Source program yang dibuat untuk aplikasi mikrokontroler adalah bahasa C/C++ dan dapat digabungkan dengan assembly. 1. Struktur

Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada, antara lain:

a) void setup( ) { }

Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.

b) void loop( ) { }

Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan.

2. Serial

(21)

a) Serial.begin( )

Fungsi ini digunakan untuk transmisi data serial dan mengatur data rate

dalam bits per second (baud). Untuk berkomunikasi dengan komputer gunakan salah satu dari angka ini: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, atau 115200.

b) Serial.available( )

Fungsi ini digunakan untuk mendapatkan jumlah data byte (characters) yang tersedia dan membacanya dari port serial. Data tersebut adalah data yang telah tiba dan disimpan dalam buffer serial yang menampung sampai 64 bytes.

c) Serial.read( )

Fungsi digunakan untuk membaca data serial yang masuk. d) Serial.print( ) dan Serial.println( )

Fungsi ini digunakan untuk mencetak data ke port serial dalam format text ASCII. Sedangkan fungsi Serial.println( ) sama seperti fungsi Serial.print( ) hanya saja ketika menggunakan fungsi ini akan mencetak data dan kemudian diikuti dengan karakter newline atau enter.

3. Syntax

Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan. a) // (komentar satu baris)

(22)

b) /* */ (komentar banyak baris)

Digunakan untuk menulis beberapa baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan program. c) { } (kurung kurawal)

Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).

d) ; (titk koma)

Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan).

4. Tipe Data

Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Tipe data inilah yang digunakan untuk memindahkannya.

a) int (integer) rentang dari -2,147,483,648 sampai 2,147,483,647.

c) boolean (boolean)

Variabel sederhana yang digunakan untuk menyimpan nilai TRUE

(23)

d) float (float)

Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.

e) char (character)

Menyimpan 1 karakter menggunakan kode ASCII (misalnya „A‟ = 65).

Hanya memakai 1 byte (8 bit) dari RAM. 5. Operator Matematika

Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang sederhana).

a) = (sama dengan)

Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x sekarang sama dengan 20).

b) % (persen)

Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).

c) + (penjumlahan)

Menjumlahkan nilai dari suatu variabel dengan nilai variabel yang lain. d) (pengurangan)

Mengurangkan nilai dari suatu variabel dengan nilai variabel yang lain. e) * (perkalian)

Mengalikan nilai dari suatu variabel dengan nilai variabel yang lain. f) / (pembagian)

(24)

6. Operator Pembanding

Digunakan untuk membandingkan nilai logika. a) ==

Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah TRUE (benar)).

b) !=

Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah FALSE (salah)).

c) <

Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar)).

d) >

Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah)).

7. Struktur Pengaturan

Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah elemen dasar pengaturan.

a) If else, dengan format seperti berikut ini: if (kondisi) { }

else if (kondisi) { } else { }

(25)

maka akan diperiksa apakah kondisi pada else if dan jika kondisinya

FALSE maka kode pada else yang akan dijalankan. b) While, dengan format seperti berikut ini:

While (kondisi) {}

Dengan struktur ini, while akan melakukan pengulangan terus menurus dan tak terbatas sampai kondisi didalam kurung ( ) menjadi false.

c) for, dengan format seperti berikut ini: for (int i = 0; i < #pengulangan; i++) { }

Digunakan bila ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–-.

8. Operator Boolean

Operator ini dapat digunakan dalam kondisi if, antara lain: a) && (logika and), dengan format seperti berikut ini:

if (digitalRead(2) == HIGH && digitalRead(3) == HIGH) {}

Digunakan bila ingin mendapatkan nilai yang true hanya jika kedua input

bernilai HIGH.

b) | | (logika or), dengan format seperti berikut ini: if (x > 0 || y > 0) {}

Digunakan bila ingin mendapatkan nilai yang true hanya jika nilai x atau y lebih besar dari 0.

9. Digital

(26)

Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin

yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT.

b) digitalWrite (pin, value)

Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (5 volt) atau LOW (diturunkan menjadi ground).

c) digitalRead (pin)

Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah

HIGH (5 volt) atau LOW (diturunkan menjadi ground). 10. Analog

Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam analog. Berikut ini cara untuk menghadapi hal yang bukan digital a) analogWrite (pin, value)

Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on) atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog.

b) analogRead (pin)

(27)

2.6 Android

Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android merupakan sebuah perusahaan software kecil yang didirikan pada bulan Oktober 2003 di Palo Alto, California, USA. Didirikan oleh beberapa senior di beberapa perusahaan yang berbasis IT dan Communication, Andy Rubin, Rich Miner, Nick Sears dan Chris White. Menurut Rubin, Android Inc didirikan untuk mewujudkan Mobile device yang lebih peka terhadap lokasi dan preferensi pemilik. Dengan kata lain, Android Inc, ingin mewujudkan Mobile device yang lebih mengerti pemiliknya. (Djuandi, 2011). Terdapat banyak macam aplikasi yang menyediakan pengguna untuk membuat aplikasi pada mobile android itu antara lain JDK, Eclipse, Android SDK, Basic4Android. Dan yang digunakan dalam alat ini adalah aplikasi Basic4Android.

2.7 Basic4Android

Basic4Android sendiri merupakan tools RAD yang terdiri dari framework,

(28)

Gambar 2.6 Tampilan Software Basic4Android.

Basic4Android juga menyediakan library-library lengkap untuk mengakses berbagai macam fitur yang ada pada smartphone seperti sensor, kamera, GPS, dan sebagainya.

Adapun beberapa kelebihan dan fitur yang dimiliki oleh Basic4Android adalah:

1. Simple dan Powerfull RAD (Rapid Application Development) tools untuk mengembangkan aplikasi native android tanpa harus menghabiskan waktu mempelajari pemrograman eclipse/ java.

2. IDE (Integrated Development Environment) lengkap yang fokus 100% pada pengembangan aplikasi Android.

3. Di compile kedalam native bytecode, tidak ada tambahan runtime library

(29)

4. Performa dari aplikasi yang dihasilkan sama dengan aplikasi yang dibuat dengan java.

5. Sintaks sama dengan visual basic.

6. Mendukung semua android phone dan tablet dari versi 1.6 sampai dengan versi terbaru.

7. Mendukung semua android core (GPS, SQL Database, Widgets, Live Wallpaper, Bluetooth, USB, Web Services, Camera, JSON, XML, Excel

CSV, Multitouch, NFC, Views Animation, Push Notification, AdMob,

(30)

25

3.1 Metode Penelitian

Metode penelitian yang digunakan pada tugas akhir ini melalui beberapa

tahapan penelitian dan mencari informasi tentang data yang dibutuhkan dalam

mengerjakan tugas akhir ini. Tahap pertama adalah pengembangan konsep

penelitian berdasarkan daftar pustaka. Studi kepustakaan dilakukan untuk mencari

teori atau informasi dari buku, jurnal, dan artikel-artikel yang berkaitan dengan

permasalahan. Dari data-data yang diperoleh, selanjutnya dilakukan perencanaan

penelitian meliputi perancangan sistem perangkat keras dan perangkat lunak.

Untuk mendapatkan hasil yang dikehendaki dibutuhkan suatu rancangan

agar dapat mempermudah dalam memahami sistem yang akan dibuat, oleh karena

itu akan dibuat seperti gambar 3.1.

Piezoelectric

(31)

Dari gambar 3.1 diatas, dapat dijelaskan sebagai berikut :

1) Input

a. Sensor Piezoelectric

Sensor piezoelectric yang terpasang pada beberapa drum pad, berguna

untuk mendeteksi besar getaran yang dihasilkan dari pukulan yang

dilakukan terhadap drum pad, hasil keluaran dari sensor ini berupa data

analog. Output sensor ini terhubung ke port ADC pada mikrokontroler.

b. Sensor Switch

Switch pada alat ini dipasang pada pedal bass drum dan hi-hat, yang

berguna sebagai sensor untuk mendeteksi pedal pada bass drum dan hi-hat

saat dipijak. Hasil keluaran sensor ini berupa kondisi high dan low dan

akan masuk sebagai input pada mikrokontroler.

2) Proses

Mikrokontroler bertugas untuk mengolah data dari output sensor-sensor pada

drum pad. Output sensor piezoelectric yang berupa data analog akan diubah

menjadi data digital dengan mengunakan internal ADC pada mikrokontroler,

yang kemudian diteruskan untuk dikirim menuju android smartphone.Output

dari sensor switch yang berupa data digital akan langsung di proses

mikrokontroler, dan dikirim menuju android smartphone.

3) Output

Android smartphone bertugas menerima data yang dikirim oleh

mikrokontroler melalui media USB, data yang diterima akan diproses untuk

(32)

oleh mikrokontroler. Aplikasi pada android smartphone dibuat dengan

menggunakan Basic4android.

3.2 Perancangan Perangkat Keras (Hardware)

Perancangan perangkat keras akan dibahas bagaimana

komponen-komponen elektronika yang terhubung pada hardware dengan mikrokontroler

agar elektronika pendukung dapat bekerja sesuai dengan sistem yang diharapkan.

3.2.1 Perancangan Sensor Piezoelectric

Mendeteksi pukulan pada drum pad secara elektronik dapat dilakukan dengan menggunakan alat yang dinamakan sensor. Sensor yang digunakan pada penelitian ini adalah sensor piezoelectric. Pada penelitian ini menggunakan 6 buah sensor piezoelectric yang ditempatkan pada 6 pad-pad pada drum yang telah dibuat, adapun perancangan rangkaian sensor piezoelectric ditunjukan pada gambar 3.2.

(33)

Sensor piezoelectric memiliki output berupa tegangan ketika sensor mendapat tekanan atau getaran. Agar data tegangan keluaran dari sensor

piezoelectric dapat diolah oleh mikrokontroler dibutuhkan sebuah rangkaian sensor yang terdiri dari beberapa komponen yaitu:

1. Dioda zener: dalam rangkaian ini dioda zener berfungsi sebagai over voltage protection (Perlindungan terhadap kelebihan tegangan) karena port pada mikrokontroler hanya mampu membaca tegangan input mulai 0 hingga 5 volt, dioda zener akan membatasi tegangan keluaran maksimal sesuai tegangan zenernya (5 volt) terhadap tegangan input yang berasal dari sensor

piezoelectric.

2. Kapasitor: dalam rangkaian ini kapasitor berfungsi sebagai filter dari tegangan keluaran dari sensor piezoelectric, sehingga ripple tegangan yang dihasilkan akan sangat kecil sekali mendekati sinyal DC.

3. Resistor: berfungsi untuk membatasi tegangan dan arus yang dihasilkan oleh sensor piezoelectric dan untuk melindungi input analog.

3.2.2 Perancangan Sensor Switch

Pada penelitian ini sensor switch digunakan untuk mendeteksi pijakan

pada pedal bassdrum dan pedal hi-hat, yang dipasangkan pada pedal-pedal yang

telah dibuat. Keluaran dari sensor switch menghasilkan kondisi high jika tombol

pada sensor ditekan dan akan menghasilkan kondisi low jika tombol pada sensor

tidak ditekan. Sehingga keluaran dari sensor switch ini dihubungkan pada port

digital mikrokontroler arduino uno sebagai input. Pada pembacaan sensor switch

(34)

pada saat pembacaan sensor menjadi akurat yaitu menghasilkan output high atau

low saja. Adapun perancangan rangkaian sensor switch ditujukan pada gambar 3.3 dibawah.

Gambar 3.3 Rangkaian Sensor Switch.

3.2.3 Drum Pad

Pada Tugas Akhir ini pad yang dibuat sebanyak 6 buah yang didalamnya terdapat sensor piezoelectric, yaitu:

1) Ride pad

2) Middle tom pad

3) Simbal crash pad

4) Simbal hi-hat pad

5) Snare pad

(35)

Drumpad yang telah dibuat dapat dilihat pada gambar 3.4 dibawah ini.

Gambar 3.4 Drum Pad

3.2.4 Pedal Drum

Pada Tugas Akhir ini pedal yang di buat sebanyak 2 buah yang didalamnya terdapat sensor switch, pedal yang dibuat yaitu:

1) Pedal bass

2) Pedal open/close hi-hat

Pedal drum yang telah dibuat dapat dilihat pada gambar 3.5 dibawah ini.

(36)

3.2.5 Koneksi Port pada Modul Mikrokontroler Arduino Uno

Pada Tugas Akhir ini, modul mikrokontroler yang digunakan adalah

modul mikrokontroler arduino uno. koneksi port pada arduino uno dapat dilihat

pada tabel 3.1.

Tabel 3.1 Koneksi Port Arduino Uno

No Port Arduino Uno Keterangan

1 A0 Terhubung dengan sensor 1 sebagai input

Ride

2 A1 Terhubung dengan sensor 2 sebagai input

Middle Tom

3 A2 Terhubung dengan sensor 3 sebagai input

Crash

4 A3 Terhubung dengan sensor 4 sebagai input

Hi-hat

5 A4 Terhubung dengan sensor 5 sebagai input

Snare

6 A5 Terhubung dengan sensor 6 sebagai input

Floor

7 D7 Terhubung dengan sensor switch 1 sebagai

input Bass

8 D8 Terhubung dengan sensor switch 2 sebagai

input status Hi- hat open / Close

9 5V Terhubung dengan modul sensor sebagi

supply

10 GND Terhubung dengan ground pada modul sensor

(37)

3.3 Perancangan Perangkat Lunak (Software)

Selain perancangan berupa hardware, juga dibutuhkan perancangan

berupa software yang berguna untuk menjalankan perancangan hardware yang

telah dibuat. Perancangan software terdiri dari beberapa algoritma perancangan

dari sistem yang ditangani oleh pengontrol.

3.3.1 Perancangan Program pada Modul Mikrokontroler Arduino

Software yang digunakan untuk memprogam arduino tersebut ialah

software Arduino IDE. Mikrokontroler arduino unobertugas untuk mengolah data

dari output sensor-sensor pada drum pad, dan mengirimkan data hasil pembacaan

sensor pada android smartphone.

Pada Tugas Akhir ini sebelum membuat program pada arduino uno, dibuat

flowchart terlebih dahulu yang bertujuan untuk membantu agar nantinya

memudahkan dalam membuat program pada arduino uno. Adapun perancangan

(38)

START

Inisialisasi,

Sensor1, Sensor2, Sensor3, Sensor4, Sensor5,Sensor6, Sensor7,Sensor8, FlagBass,

flagHihat, TRESHOLD Serial.begin(9600)

Baca Input : time Switch1 Switch2 Serial ==

true

T

Y

Kirim_data ()

analogRead

Gambar 3.6 Flowchart pada Arduino Uno

Pada saat arduino dijalankan pertamakali yang dilakukan adalah proses

menginisialisasi variabel-variabel yang dibutuhkan, setelah itu arduino akan

melakukan pengecekan terhadap usb serial yang terhubung dengan android

(39)

Jika tidak, maka sistem akan melakukan pengecekan ulang hingga USB terhubung

pada android smartphone. setelah proses pembacaan data dari sensor dilakukan

maka akan melanjutkan proses selanjutnya yaitu proses pengiriman data menuju

android smartphone melalui media USB.

3.3.2 Pembacaan Data Sensor Piezoelctric

Dalam melakukan pembacaan data sensor piezoelectric pada android

smartphone dibuat perancangan flowchart sebagai berikut:

Data = ANALOG READ

Data = Data + Data_baru I++

(40)

Pada saat pembacaan data sensor piezoelectric dilakukan perhitungan nilai

rata-rata dari data yang telah dibaca oleh mikrokontroler arduino, perhitungan

nilai rata-rata sensor mulai dilakukan ketika mikrokontroler membaca nilai sensor

melebihi nilai threshold yang sudah ditentukan.

Nilai threshold adalah acuan nilai terkecil dari sensor ketika tidak ada

inputan dari user. Penentuan nilai threshold sensor piezoelectric dilakukan dengan

cara mencari nilai awal sensor yang terbaca ketika sensor tidak diberikan inputan

berupa tekanan, hal ini dilakukan karena sensor piezoelectric sangat sensitif dalam

mendeteksi getaran-getaran yang ada disekitar. Penentuan nilai threshold berguna

agar mikrokontroller arduino hanya memproses data yang berasal dari pemberian

input tekanan terhadap sensor.

Perhitungan nilai rata-rata dilakukan untuk menentukan data yang akurat

dari sensor yang akan dikirim menuju android smartphone. pengambilan sampel

nilai rata-rata dilakukan selama 50 milisecond, karena pada saat sensor diberi

inputan tekanan piezoelectric dalam mencapai aplitudo tertinggi dan kembali

menuju nilai awal membutuhkan waktu selama 50 milisecond, maka dari itu

pengambilan rata-rata dilakukan guna menemukan data tunggal yang mewakili

data yang terbaca selama 50 milisecond.

3.3.3 Pengiriman Data pada Modul Mikrokontroler Arduino

Pada pengiriman suatu data agar bisa diketahui asal data yang didapat

makan dibuatlah sebuah format yang di dalamnya terbagi menjadi beberapa

(41)

didapat, bagian selanjutnya berisi data yang akan dikirim, bagian akhir berisi tail

yaitu sebuah penutup.

A

DATA

Chr (13)

Gambar 3.8 Format Pengiriman Data

Berikut penjelasan dari gambar 3.8 :

1) A : digunakan sebagai penanda awal pengiriman data.

2) DATA : dari hasil pengolahan data dari sensor.

3) Chr(13) : digunakan sebagai penanda akhir pengiriman.

Dalam melakukan penengiriman data pada android smartphone dibuat

(42)

Sensor1 Println(data_kirim)

Gambar 3.9 Flowchart Pengiriman Data pada Mikrokontroler.

Pada proses pengiriman data, sebelum data dikirim ke android akan

dilakukan penambahan header pada data terlebih dahulu sesuai dengan state

masing-masing sensor. Penambahan header pada data betujuan agar data nantinya

aplikasi pada android dapat melakukan aksinya sesuai dengan pemberian input

tekanan/pukulan terhadap pad-pad drum.

Daftar header data yang dikirim oleh mikrokontroler dapat dilihat pada

(43)

Tabel 3.2 Header Data yang Dikirim Mikrokontroler

Header Keterangan

A Sebagai header data untuk sensor ride pad

B Sebagai header data untuk sensor middle tom pad

C Sebagai header data untuk sensor crash pad

D Sebagai header data untuk sensor hi-hat pad

E Sebagai header data untuk sensor snare pad

F Sebagai header data untuk sensor floor tom pad

G Sebagai header data untuk sensor bass pad

H Sebagai header data untuk status hi-hat close

I Sebagai header data untuk status hi-hat open

Berikut merupakan potongan program fuction kirim_data pada mikrokontroler

arduino :

void kirim_data(int pin ,float data)

{

String header="";

String datakirim ="";

if(pin == 0)

{

header="A"; //ride

}

else if(pin == 1)

(44)
(45)

datakirim = header + String (int(data));

Serial.println(datakirim);

Serial.flush();

}

3.3.4 Perancangan Aplikasi pada Android Smartphone

Aplikasi yang dijalankan android smartphone pada penelitian ini dibuat

dengan menggunakan Basic4Android. Android smartphone bertugas menerima

data digital yang dikirim oleh mikrokontroler, dan data yang diterima akan

diproses untuk menentukan suara yang akan diputar berdasarkan kondisi yang

dikirimkan oleh mikrokontroler.

Dalam melakukan perancangan aplikasi pada android smartphone dibuat

(46)

INISIALISASI

ADA ARDUINO?

STOP START

T

APLIKASI CLOSE?

Y

T Terima_putar()

Y

Gambar 3.10 Flowchart Aplikasi pada Android Smartphone

Ketika aplikasi pada android smartphone dijalankan, hal pertama yang

dilakukan adalah proses inisialisasi variabel-variabel yang dibutuhkan, kemudian

aplikasi melakukan pengecekan terhadap perangkat drum elektrik yang

(47)

menerima data dari perangkat drum elektrik yang telah tersambung. Setelah itu

data yang berhasil diterima dalam buffer akan di sortir sesuai database header

yang ada pada aplikasi. Kemudian aplikasi akan memutar suara berdasarkan hasil

sortir dari header data yang diterima.

Gambar 3.11 InterfaceMain Program pada Android Smartphone

Pada Gambar 3.11 dapat dilihat bahwa pada form ini terdapat beberapa komponen

yang digunakan, tiap komponen memiliki fungsinya masing - masing, antara lain:

1. Seekbar

a. Seekbar 1 : Indikator volume dari Ride

b. Seekbar 2 : Indikator volume dari MiddleTom

c. Seekbar 3 : Indikator volume dari Crash

d. Seekbar 4 : Indikator volume dari Hihat

e. Seekbar 5 : Indikator volume dari FloorTom

f. Seekbar 6 : Indikator volume dari Ride

2. PushButton

(48)

b. PushButton 2 : Indikator untuk MidlleTom Pad

c. PushButton 3 : Indikator untuk Crash Pad

d. PushButton 4 : Indikator untuk Hihat Pad

e. PushButton 5 : Indikator untuk Snare Pad

f. PushButton 6 : Indikator untuk FloorTom Pad

g. PushButton 7 : Indikator untuk Bass Pad

3. TogleButton : Indikator status Open/Close untuk Hihat

4. TextBox : untuk menampilkan data yang diterima oleh android smartphone

3.3.5 Deteksi Modul Arduino pada Android Smartphone

Pada saat aplikasi pada android smartphone dijalankan, aplikasi akan

menunggu inputan dari user untuk mencari dan memilih arduino yang terhubung

sebagai drum elektrik. Berikut tampilan form aktivity pada android smartphone

pada gambar 3.12.

(49)

Pada Gambar 3.12 dapat dilihat bahwa pada form ini terdapat beberapa komponen

yang digunakan, tiap komponen memiliki fungsinya masing - masing, antara lain:

1. PushButton : Digunakan sebagai tombol untuk user saat ingin melakukan

pendeteksian modul arduino.

2. ListView : Digunakan untuk menampikan modul arduino yang terdeteksi.

Berikut merupakan potongan program Sub TombolDiscoverDevice pada aplikasi

android smartphone.

‘SCAN ARDUINO PADA ANDROID SMARTPHONE

Sub TombolDiscoverDevice_Click

ListViewDevice.Clear

deviceusb = manageusb.GetDevices

For i =0 To deviceusb.Length -1

ud = deviceusb(i)

If ud.VendorId = 9025 Then

ListViewDevice.AddSingleLine("ARDUINO")

Pada potongan program diatas untuk mengetahui adanya modul arduino

uno yang terhubung dengan android smartphone, pertama dilakukan pengecekan

terhadap banyaknya perangkat yang terhubung ke USB android smarphone.

(50)

yang terhubung. Jika vendor ID bernilai “9025” maka yang terhubung adalah

arduino uno. arduino uno memiliki nilai vendor id dalam nilai desimal 9025 atau

2341 dalam hexadesimal.

Untuk mengetahui nilai vendor id suatu device dapat dilihat pada

komputer windows sebelumnya, yaitu dengan masuk pada Device Manager → klik kanan pada device→ pilih Propertis → pada tab menu pilih Details → pada Property pilih Hardware Ids, vendor ID dapat dilihat pada daftar Value.

Gambar 3.13 Mengetahui Vendor ID pada Windows

Pada gambar 3.13 diatas dapat dilihat pada daftar value tertulis

“USB\VID_2341&PID_0043&REV_0001”, VID_2341 dalah nilai dari device ID

(51)

3.3.6 Penerimaan Data pada Aplikasi Android Smartphone

Pada saat melakukan penerimaan data pada aplikasi android smartphone,

dibutuhkan proses pengenalan data yang telah diterima, pengenalan pada data

yang diterima oleh android smartphone berdasarkan header data yang telah

dikirim oleh mikrokontroler.

Dalam melakukan penerimaan data pada android smartphone dibuat

(52)

Terima

Gambar 3.14 Flowchart Penerimaan pada Basic4Android

Pada flowchart di atas aplikasi menunggu data dari mikrokontroler.

(53)

header yang terdapat pada aplikasi. Apabila ada data yang cocok dengan

database, maka android akan melakukan aksi yaitu memutar suara pada database

dan merubah indikator.

Untuk aksi perubahan indikator pada program android dapat dilihat pada

Tabel 3.3.

Tabel 3.3 Aksi pada Android

Header Data Aksi

A

Memutar suara “RIDE”

Indikator “RIDE” aktif

B

Memutar suara “MID TOM”

Indikator “MID TOM” aktif

C

Memutar suara “CRASH”

Indikator “CRASH” aktif

D

Memutar suara “HIHAT”

Indikator “HI-HAT” aktif

E

Memutar suara “SNARE”

Indikator “SNARE” aktif

F

Memutar suara “FLOOR TOM”

Indikator “FLOOR TOM” aktif

G

Memutar suara “BASS”

Indikator “BASS” aktif H Indikator “OPEN HI-HAT” aktif

(54)

Berikut merupakan beberapa potongan program pada fuction Sub ast_NewText,

Sub ride_pad, Sub midTom_pad, Sub crash_pad, Sub open_close, Sub hihat_pad,

Sub snatre_pad, Sub floorTom_pad, dan Sub bass_pad pada aplikasi android

smartphone.

‘SORTIR DATA PADA ANDROID SMARTPHONE

Sub ast_NewText(Text As String)

tampil_data.Text=""

tampil_data.Text = Text

data_masuk = Text

If Text.Length >0 Then

header= data_masuk.SubString2(0,1)

data_volume = data_masuk.SubString2(1,Text.Length)

End If

If header = "A" Then

ride_pad_Click

Else If header == "B" Then

midTom_pad_Click

Else If header == "C" Then

crash_pad_Click

Else If header == "D" Then

hihat_pad_Click

Else If header == "E" Then

snare_pad_Click

Else If header == "F" Then

floorTom_pad_Click

Else If header == "G" Then

bass_Pad_Click

Else If header == "H" Then

(55)

Else If header == "I" Then

open_close.Checked = False

End If

End Sub

‘PUTAR SUARA PADA ANDROID SMARTPHONE

Sub ride_pad_Click

mpRide.Load(File.DirAssets,"ride.ogg")

Volume_ride.Value = CInt(data_volume)

vol = Volume_ride.Value /10

mpRide.SetVolume(vol,vol)

vol = volume_midTom.Value /10

mpMidtom.SetVolume(vol,vol)

vol = volume_crash.Value /10

(56)

mpCrash.Play

crash_pad.Color = Colors.Red

timmer3.Enabled=True

End Sub

Sub open_close_CheckedChange(Checked As Boolean)

If open_close.Checked == True Then 'close

open_close.TextColor = Colors.Yellow

If open_close.Checked == True Then

mpHihat.Load (File.DirAssets ,"closehh.ogg")

volume_hihat.Value = CInt(data_volume)

vol = volume_hihat.Value /10

mpHihat.SetVolume(vol,vol)

mpHihat.Play

Else

mpHihat.Load (File.DirAssets ,"openhh.ogg")

volume_hihat.Value = CInt(data_volume)

vol = volume_hihat.Value /10

mpHihat.SetVolume(vol,vol)

mpHihat.Play

End If

hihat_pad.Color = Colors.Red

(57)

End Sub

Sub snare_pad_Click

mpSnare.Load(File.DirAssets,"snare.ogg")

volume_snare.Value = CInt(data_volume)

vol = volume_snare.Value /10

(58)

Pada potongan program diatas Sub ride_pad, Sub midTom_pad, Sub crash_pad, Sub hihat_pad, Sub snatre_pad, dan Sub floorTom_pad ketika

mengambil nilai data untuk menyetel volume data akan dibagi “10’ karena

function setVolume yang ada pada library basic4android hanya menerima data

mulai “0” sampai “1”, nilai “0” untuk volume terendah hingga “1” untuk volume

tertinggi. Untuk Sub bass_pad nilai volume disetel menjadi maksimal yaitu “1” karena pada drum elektrik yang dibuat pad bass tidak memiliki keluaran tingkat

kekerasan suara.

3.4 Metode Pengujian dan Evaluasi Sistem

Untuk mengetahui apakah sistem yang dibuat dapat berjalan sesuai yang

diharapkan, maka akan dilakukan pengujian dan evaluasi sistem untuk setiap

tahapan-tahapan dalam pembuatan sistem. Dimulai dari pembacaan data dari

sensor, pengiriman data dari mikrokontroler arduino, dan aplikasi pada android

smartphone.

3.4.1 Pembacaan Data dari Sensor

Untuk mengetahui apakah mikrokontroler dapat membaca data dari

sensor-sensor yang terhubung dengan perangkat elektronik, maka akan dilakukan

pengujian dengan cara memberikan input sesuai dengan keadaan perangkat

elektronik. Kemudian akan diuji respon dari mikrokontroler ketika diberi inputan

(59)

3.4.2 Pengiriman Data dari Mikrokontroler Arduino

Untuk mengetahui apakah mikrokontrolerdapat mengirim data ke android

smartphone, maka akan dilakukan pengujian dengan cara menghubungkan

mikrokontroler dengan android smartphone. Kemudian data yang diterima oleh

android smartphone akan diuji.

3.4.3 Aplikasi pada Android Smartphone

Untuk menguji apakah aplikasi yang telah dibuat pada android smartphone

dapat menerima data yang dikirim oleh mikrokontroler dan melakukan perubahan

indikator pada aplikasi, maka akan dilakukan pengujian dengan cara

menghubungkan mikrokontroler dengan android smartphone. Kemudian akan

dilakukan pengiriman data dari mikrokontroler, data yang dikirim memiliki

format yang sama seperti data yang didapat dai sensor. Respon dari android

smartphone yang mendapatkan data dari komputer akan diuji.

3.4.4 Evaluasi Sistem Keseluruhan

(60)

smartphone, dan android smartphone mengeluarkan output suara sesuai dengan kondisi yang diinginkan, maka secara keseluruhan sistem ini sudah dikatakan baik.

(61)

56

4.1 Pengujian Pembacaan Sensor Piezoelectric

Pengujian pembacaan sensor piezoelectric dilakukan dengan memberikan inputan tekanan pada pad drum yang terdapat sensor piezoelectric.

4.1.1 Tujuan Pengujian Pembacaan Sensor Piezoelectric

Tujuan pengujian ini adalah untuk mengetahui nilai keluaran dari sensor

piezoelectric yang mempunyai tingkatan keluaran berdasarkan input ketukan yang di berikan pada sensor piezoelectric.

4.1.2 Alat Yang Digunakan Pada Pengujian Pembacaan Sensor Piezoelectric

1. Sensor piezoelectric

2. Osiloskop 3. Meteran 4. Pemberat

4.1.3 Prosedur Pengujian Pembacaan Sensor Piezoelectric 1. Menyalakan osiloskop.

2. Menghubungkan chanel osiloskop dengan sensor piezoelectric.

3. Memberikan inputan pada sensor pizoelectric dengan menjatuhkan sebuah pemberat dari ketinggian yang berbeda-beda.

(62)

Gambar 4.1 Pengujian Sensor Piezoelectric

4.1.4 Hasil Pengujian Pembacaan Sensor Piezoelectric

Setelah melakukan pengujian sesuai dengan prosedur diatas berikut adalah hasil yang didapat dari osiloskop dapat dilihat pada tabel 4.1.

Tabel 4.1 Hasil Pembacaan Sensor Piezoelectric

Ketinggian Pemberat

Berat pemberat (gram)

Amplitudo (V )

10 cm 40 0,27

20 cm 40 0,34

30 cm 40 0,41

40 cm 40 0,7

(63)

60 cm 40 1,48

70 cm 40 1,71

80 cm 40 1,91

90 cm 40 2

100 cm 40 2,7

110 cm 40 3,2

120 cm 40 3,5

130 cm 40 3,9

140 cm 40 4,4

150 cm 40 4,9

Dengan melihat hasil pengujian diatas, dapat disimpulkan bahwa keluaran dari sensor piezoelectric mempunyai tingkat keluaran berdasarkan pemberian input pada sensor. Semakin tinggi jarak pemberat dijatuhkan semakin besar tegangan yang dihasilkan oleh sensor piezoelectric.

4.2 Pengujian Pembacaan Sensor Switch

Pengujian pembacaan sensor switch dilakukan dengan memberikan inputan tekanan pada switch.

4.2.1 Tujuan Pengujian Pembacaan Sensor Switch

(64)

4.2.2 Alat Yang Digunakan Pada Pengujian Pembacaan Sensor Switch 1. Sensor switch

2. Mikrokontroler arduino uno 3. Kabel USB arduino uno 4. Komputer

4.2.3 Prosedur Pengujian Pembacaan Sensor Switch 1. Hidupkan komputer.

2. Hubungkan mikrokontroler arduino uno dengan komputer menggunakan kabel USB arduino.

3. Jalankan software arduino IDE, dan upload program pada arduino uno yang sudah terhubung pada komputer, berikut isi program pada arduino IDE:

(65)

else

{

Serial.println("HIGH");

}

delay(1000);

}

4. Setelah selesai upload program pada arduino uno, jalankan serial monitor pada arduino IDE untuk melihat keluaran dari sensor switch.

5. Mengamati keluaran sensor switch saat ditekan dan tidak ditekan.

4.2.4 Hasil Pengujian Pembacaan Sensor Switch

Setelah melakukan pengujian sesuai dengan prosedur diatas berikut adalah hasil yang didapat seperti yang di tunjukkan pada tabel 4.2 berikut:

Tabel 4.2 Hasil Pembacaan Sensor Switch.

Aksi Keluaran

Ditekan HIGH

Tidak ditekan LOW

(66)

Dengan melihat gambar 4.2 diatas, dapat disimpulkan bahwa sensor switch bekerja dengan baik, ketika di sensor ditekan keluaran yang dihasilkan adalah

high, dan ketika sensor tidak ditekan keluaran yang dihasilkan adalah low.

4.3 Pengujian Pengiriman Data Mikrokontroler Arduino

Pengujian pengiriman data serial mikrokontroler arduino dilakukan dengan mengirimkan sebuah data menuju komputer. Data yang dikirimkan berisi angka 0 sampai 30.

4.3.1 Tujuan Pengujian Pengiriman Data Mikrokontroler Arduino

Tujuan pengujian ini adalah untuk mengetahui apakah arduino dapat mengirimkan data menuju android smartphone dengan baik.

4.3.2 Alat Yang Digunakan Pada Pengujian Pengiriman Data Mikrokontroler Arduino

1. Mikrokontroler arduino uno 2. Software arduino IDE 3. Komputer

4. Android smartphone

5. Aplikasi USB serial monitor lite 6. Kabel USB ardunio

(67)

4.3.3 Prosedur Pengujian Pengiriman Data Mikrokontroler Arduino 1. Hidupkan komputer.

2. Hubungkan mikrokontroler arduino uno dengan komputer menggunakan kabel USB arduino.

3. Jalankan software arduino IDE dan upload program pada arduino yang sudah terhubung pada komputer, berikut isi program pada arduino IDE :

int i=0;

Serial.println("data selesai");

delay(5000);

i=0;

(68)

android smartphone mnggunakan kabel USB OTG dan disambung dengan kabel USB arduino.

5. Jalankan aplikasi serial monitor lite pada android smartphone. 6. Mengamati data yang dikirim arduino uno.

4.3.4 Hasil Pengujian Pengiriman Data Mikrokontroler Arduino

Setelah melakukan pengujian sesuai dengan prosedur diatas berikut adalah hasil yang didapat seperti yang di tunjukkan pada gambar 4.3 berikut:

Gambar 4.3 Data yang Diterima pada Android Smarphone dengan Menggunakan Aplikasi USB Serial Monitor Lite

(69)

android smartphone, dengan demikian arduino ini dapat bekerja dengan baik, dan dapat digunakan untuk pengujian tugas akhir.

4.4 Pengujian Aplikasi pada Android Smartphone

Pengujian penerimaan data pada android smartphone dilakukan dengan mengirimkan data dari arduino menuju android smartphone. Data yang dikirimkan bertipe string yang berisi angka “1” sampai “10” dan diawali dengan

karakter “A”, “B”, ”C” ,”D”, “E” “F”, “G”,“H”, atau “I” sebagai header, header

berguna untuk menentukan indikator pad - pad drum yang aktif pada aplikasi android. Angka “0” dan “1” merupakan data untuk indikator open/close serta

angka “1” sampai “10” adalah data untuk perubahan besar volume pada aplikasi

android smartphone.

4.4.1 Tujuan Pengujian Aplikasi pada Android Smartphone

Tujuan pengujian ini adalah untuk mengetahui apakah aplikasi yang telah dibuat pada android smartphone dapat menerima data yang dikirim oleh mikrokontroler arduino, sehingga indikator pada program android smartphone

dapat berjalan dengan baik.

4.4.2 Alat Yang Digunakan Pada Pengujian Aplikasi pada Android Smartphone

1. Mikrokontroler arduino uno 2. Android smartphone

(70)

5. Software arduino IDE 6. Komputer

4.4.3 Prosedur Pengujian Aplikasi pada Android Smartphone 1. Hidupkan komputer.

2. Hubungkan mikrokontroler arduino uno dengan komputer menggunakan kabel usb arduino.

3. Jalankan software arduino IDE, dan upload program pada arduino yang sudah terhubung pada komputer, berikut isi program pada arduino IDE:

void setup()

{

Serial.begin(9600);

}

void loop()

{

Serial.println("A1");

Serial.flush();

delay(2000);

Serial.println("B2");

Serial.flush();

delay(2000);

Serial.println("C3");

Serial.flush();

(71)

Serial.println("D4");

Serial.flush();

delay(2000);

Serial.println("E5");

Serial.flush();

delay(2000);

Serial.println("F6");

Serial.flush();

delay(2000);

Serial.println("A7");

Serial.flush();

delay(2000);

Serial.println("B8");

Serial.flush();

delay(2000);

Serial.println("C9");

Serial.flush();

delay(2000);

Serial.println("D10");

Serial.flush();

delay(2000);

Serial.println("G1");

(72)

delay(2000);

Serial.println("H1");

Serial.flush();

delay(2000);

Serial.println("I1");

Serial.flush();

delay(2000);

}

4. Lepaskan arduino yang terhubung dengan komputer, kemudian hubungkan arduino dengan android smartphone dengan menyatukan kabel USB OTG dan USB arduino, seperti yang di tunjukan pada gambar 4.4 berikut:

Gambar 4.4 Menyatukan Kabel USB OTG dan USB Arduino

5. Jalankan aplikasi pada android smartphone yang telah dibuat dengan software

Basic4Android.

(73)

4.4.4 Hasil Pengujian Aplikasi pada Android Smartphone

Setelah melakukan pengujian sesuai dengan prosedur diatas berikut adalah hasil yang didapat:

1. Mengirimkan data “A1”

Gambar 4.5 Perubahan Indikator Ride dan Volume Berdasarkan Data yang Telah Diterima

2. Mengirimkan data “B2”

(74)

3. Mengirimkan data string“C3”

Gambar 4.7 Perubahan Indikator Crash dan Volume Berdasarkan Data yang Telah Diterima

4. Mengirimkan data string“D4”

(75)

5. Mengirimkan data string“E5”

Gambar 4.9 Perubahan Indikator Snare dan Volume Berdasarkan Data yang Telah Diterima

6. Mengirimkan data string“F6”

(76)

7. Mengirimkan data string“A7”

Gambar 4.11 Perubahan Indikator Ride dan Volume Berdasarkan Data yang Telah Diterima

8. Mengirimkan data string“B8”

(77)

9. Mengirimkan data string“C9”

Gambar 4.13 Perubahan Indikator Crash dan Volume Berdasarkan Data yang Telah Diterima

10. Mengirimkan data string“D10”

(78)

11. Mengirimkan data string“G1”

Gambar 4.15 Perubahan Indikator Bass

12. Mengirimkan data string“H1”

(79)

13. Mengirimkan data string“I1”

Gambar 4.17 Perubahan Indikator Open untuk Hihat

Pada gambar-gambar diatas ditunjukkan respon dari aplikasi pada android

smartphone berjalan dengan baik setelah berhasil menerima data yang dikirim oleh mikrokontroler arduino. Data yang diterima dapat dilihat pada textbox yang terdapat pada aplikasi. berdasarkan header data yang diterima indikator pad-pad

pada aplikasi mengalami perubahan dan berdasarkan data angka indikator volume

juga mengalami perubahan.

4.5 Pengujian Keseluruhan Sistem

(80)

4.5.1 Tujuan Pengujian Keseluruhan Sistem

Pengujian ini dilakukan dengan menggabungkan seluruh alat yang akan digunakan pada sistem, sehingga dapat diketahui sistem yang telah dibuat dapat berjalan dengan baik.

4.5.2 Alat Yang Digunakan Pada Pengujian Keseluruhan Sistem 1. Mikrokontroler arduino uno

2. Drum kit elektrik yang telah dibuat 3. Android smartphone

4. Kabel USB OTG 5. Kabel USB arduino 6. Aplikasi sound meter 7. Pemberat

4.5.3 Prosedur Pengujian Keseluruhan Sistem 1. Download program ke arduino uno R3.

2. Hubungkan arduino yang ada pada drum kit dengan android smartphone.

3. Jalankan aplikasi pada android smartphone.

4. Klik tombol find pada aplikasi android untuk mendeteksi arduino yang telah tersambung.

5. Memberikan input tekanan pada pad-pad drum dengan menjatuhkan sebuah pemberat dari ketinggian 10 cm, 20 cm, 30 cm, 40 cm, dan 50 cm.

Gambar

Gambar 3.1 Blok Diagram Sistem Keseluruhan
gambar 3.2.
Gambar 3.3 Rangkaian Sensor Switch.
Gambar 3.4 Drum Pad
+7

Referensi

Dokumen terkait

Dari hasil uji coba dan analisa yang telah dilakukan dapat diambil kesimpulan telah berhasil dibuat prototipe robot fork lift dengan kendali smartphone Android berbasis

Gambar 7 Pengambilan data dari database ke android Aplikasi jejaring sosial kampus pada smartphone android memiliki beberapa kebutuhan fungsional yang dimodelkan

Pesan atau data yang dikirim dari smartphone akan diterima oleh GSM 800L untuk diteruskan ke mikrokontroler ATMega328p pada Arduino uno.Data yang diterima mikrokontroler akan

Apabila perintah suara yang diucapkan pengguna cocok daftar perintah yang ada, smartphone Android akan mengirim perintah tertentu kepada mikrokontroler melalui

Pesan atau data yang dikirim dari smartphone akan diterima oleh GSM 800L untuk diteruskan ke mikrokontroler ATMega328p pada Arduino uno.Data yang diterima mikrokontroler akan

Implementasi Aplikasi Android Sistem Kemanan Rumah Menggunakan Mikrokontroler Arduino ini dibuat dengan 2 jenis implementasi, yaitu implementasi dalam segi aplikasi dan implementasi

Kontrol crane menggunakan sebuah modul Bluetooth dimana Bluetooth Sistem Android Modul Bluetooth HC-05 Mikrokontroler Arduino Uno ATmega328 Motor Servo Motor DC Driver

Aplikasi pengontrol yang dirancang pada penulisan ini adalah Aplikasi Android untuk kontrol otomasi rumah, dimana aplikasi Android yang dibuat digunakan sebagai input serta menggunakan