• Tidak ada hasil yang ditemukan

Analisis dan Penerapan Sensor Jarak, Sensor Deteksi Api, dan Sensor Garis pada Fire Fighting Robot

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis dan Penerapan Sensor Jarak, Sensor Deteksi Api, dan Sensor Garis pada Fire Fighting Robot"

Copied!
60
0
0

Teks penuh

(1)

ANALISIS DAN PENERAPAN SENSOR JARAK,

SENSOR DETEKSI API, DAN SENSOR GARIS

PADA

FIRE FIGHTING ROBOT

NUR MUHAMMAD SIDIK

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(2)
(3)

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Analisis dan Penerapan Sensor Jarak, Sensor Deteksi Api, dan Sensor Garis pada Fire Fighting Robot adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

(4)

Deteksi Api, dan Sensor Garis pada Fire Fighting Robot. Dibimbing oleh KARLISA PRIANDANA.

Sensor merupakan bagian robot untuk mengenali kondisi lingkungan sekitarnya. Salah satu permasalahan dalam pemakaian sensor adalah keakuratan data yang diperoleh. Penelitian ini bertujuan untuk mengembangkan sistem indera pada fire fighting robot dengan menggunakan sensor jarak ultrasonik, sensor api, dan sensor garis. Dalam proses pengambilan data, sensor-sensor ini memerlukan beberapa tahapan agar data yang dibaca sesuai dengan data aktualnya seperti kalibrasi dan data smoothing. Data smoothing yang digunakan adalah moving average dan exponential smoothing. Metode ini digunakan untuk menghaluskan data yang diterima secara real-time oleh sensor khususnya sensor jarak HC-SR04. Hasil penelitian menunjukkan bahwa data smoothing moving average dengan window sebanyak 5 dan exponential smoothing dengan smoothing factor 0.5 adalah metode yang cocok digunakan untuk mengurangi noise akibat kesalahan pembacaan data. Namun pada aplikasinya, kedua metode ini menyebabkan robot sangat lambat dalam mengambil keputusan.

Kata kunci: Arduino, exponential smoothing, fire fighting robot, HC-SR04, moving average, sensor

ABSTRACT

NUR MUHAMMAD SIDIK. Analysis and Installation of Range Sensors, Fire Detector Sensor, and Line Sensor into Fire Fighting Robot. Supervised by KARLISA PRIANDANA.

Sensor is a device in a robot to learn things about its surroundings. One of the problems from using sensor is its accuracy when retrieving data. This study developed a fire fighting robot sensor system using ultrasonic range sensor, fire detector sensor, and line sensor. In the process of retrieving data, these sensors require some pre-processing steps in order to obtain data that is equal to the actual data, such as calibration and data smoothing. Data smoothing methods utilized in this study are moving average and simple exponential smoothing. These methods are used to smooth the received realtime data especially in the range sensor HC-SR04 data. The results show that moving average with 5 windows and exponential smoothing with smoothing factor 0.5 can be used to reduce the ripples due to the existence of irregular data. However, both methods may slow down the robot‟s decision making process.

(5)

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada

Departemen Ilmu Komputer

ANALISIS DAN PENERAPAN SENSOR JARAK,

SENSOR DETEKSI API, DAN SENSOR GARIS

PADA

FIRE FIGHTING ROBOT

NUR MUHAMMAD SIDIK

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(6)

Penguji:

(7)

Judul Skripsi : Analisis dan Penerapan Sensor Jarak, Sensor Deteksi Api, dan Sensor Garis pada Fire Fighting Robot

Nama : Nur Muhammad Sidik

NIM : G64090065

Disetujui oleh

Karlisa Priandana, ST MEng Pembimbing I

Diketahui oleh

Dr Ir Agus Buono, MSi MKom Ketua Departemen

(8)
(9)

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Januari 2013 ini ialah sensor pada fire fighting robot, dengan judul Analisis dan Penerapan Sensor Jarak, Sensor Deteksi Api, dan Sensor Garis pada Fire Fighting Robot.

Terima kasih penulis ucapkan kepada ayah, ibu, serta seluruh keluarga atas segala doa dan kasih sayangnya. Ungkapan terima kasih juga disampaikan kepada Ibu Karlisa Priandana, ST MEng selaku pembimbing, serta Ibu Shelvie Nidya Neyman, SKom MSi dan Bapak Mushthofa, SKom MSc yang telah banyak memberi koreksi dan masukan.

Di samping itu, penulis juga mengucapkan terima kasih kepada Noer Fitria Putra Setyono, Erwin Musa Yulio, Wulandari, Hollanda Arief Kusuma, dan teman-teman Ilmu Komputer angkatan 46 dan 48 serta teman-teman ITK angkaran 46 dan 47, yang selalu memberi semangat dan dukungannya. Kepada semua pihak yang namanya tidak bisa saya sebutkan satu per satu, terima kasih atas dukungan dan doanya.

Semoga karya ilmiah ini bermanfaat.

(10)

DAFTAR ISI

DAFTAR TABEL vi

DAFTAR GAMBAR vi

DAFTAR LAMPIRAN vii

PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 2

Tujuan Penelitian 2

Manfaat Penelitian 2

Ruang Lingkup Penelitian 2

METODE 3

Studi Literatur 3

Persiapan Alat dan Bahan 3

Analisis Sensor 4

Kalibrasi Sensor 4

Penerapan Data Smoothing 5

Pengujian Sensor 6

Implementasi Sensor Pada Robot 6

HASIL DAN PEMBAHASAN 7

Persiapan Alat dan Bahan 7

Analisis Sensor 8

Kalibrasi Sensor 9

Penerapan Data Smoothing 11

Pengujian Sistem 14

Implementasi Sensor pada Robot 16

SIMPULAN DAN SARAN 17

DAFTAR PUSTAKA 18

LAMPIRAN 19

(11)

2 Nilai pengukuran sensor deteksi api 9 3 Hasil perhitungan menggunakan cara brute force 10

4 Data sensor jarak pada PING 57 – 63 12

5 Hasil pengujian data smoothing moving average dan exponential

smoothing pada sensor jarak 15

DAFTAR GAMBAR

1 Metode penelitian sensor jarak, sensor deteksi api, dan sensor garis 3 2 (a) sensor jarak ultrasonik HC-SR04, (b) sensor deteksi api YG1006,

(c) sensor garis, dan (d) mirokontroler Arduino UNO 7 3 Rangkaian sederhana (a) sensor jarak ultrasonik dan (b) sensor

deteksi api 7

4 Grafik data jarak dari sensor dengan menggunakan rumus konversi

dari datasheet 8

5 Grafik regresi linear data pengukuran sensor jarak 10 6 Grafik data sensor jarak dengan jarak aktual setelah kalibrasi 11 7 Grafik data sensor jarak (―) dengan jarak aktual (••••) dan jarak

sensor menggunakan moving average (---) 12

8 Grafik data sensor jarak (―) dengan jarak aktual (••••) dan jarak sensor menggunakan exponential smoothing dengan bobot 0.2 (---) 13 9 Grafik data sensor jarak (―) dengan jarak aktual (••••) dan jarak

sensor menggunakan exponential smoothing dengan bobot 0.5 (---) 13 10 Grafik data sensor jarak (―) dengan jarak aktual (••••) dan jarak

sensor menggunakan exponential smoothing dengan bobot 0.8 (---) 14

11 Peletakan sensor jarak ultrasonik pada robot 16

(12)

DAFTAR LAMPIRAN

1 Grafik data sensor jarak sebelum kalibrasi 19

2 Grafik data sensor jarak setelah kalibrasi 21

3 Grafik data sensor jarak setelah kalibrasi dan moving average

dengan window 5 23

4 Grafik data sensor jarak setelah kalibrasi dan exponential

smoothing dengan bobot 0.2 25

5 Grafik data sensor jarak setelah kalibrasi dan exponential

smoothing dengan bobot 0.5 27

6 Grafik data sensor jarak setelah kalibrasi dan exponential

smoothing dengan bobot 0.8 29

7 Source code untuk pengambilan data menggunakan sensor

ultrasonik, sensor deteksi api, dan sensor garis 31 8 Source code untuk pengambilan data menggunakan sensor

ultrasonik dengan moving average 34

9 Source code untuk pengambilan data menggunakan sensor

ultrasonik dengan exponential smoothing 36

10 Tabel hasil pengukuran sensor jarak 38

(13)
(14)

PENDAHULUAN

Latar Belakang

Perkembangan teknologi sekarang sangat pesat. Perkembangan teknologi yang pesat ini mengakibatkan munculnya alat-alat yang serba otomatis. Mulai dari mencuci pakaian sampai adanya mesin untuk membersihkan rumah secara otomatis. Robot merupakan sebuah mesin yang memiliki fungsi khusus berdasarkan keperluan manusia. Robot dapat bergerak secara otomatis. Robot juga dapat diprogram untuk menjalankan tugasnya masing-masing.

Pada pengaplikasiannya, robot memiliki tiga perangkat utama yaitu „sense‟, „think‟, dan „act‟. Perangkat „act‟ adalah perangkat yang akan mengeksekusi semua perintah yang didapat dari otak robot. Perangkat inilah yang terlihat prosesnya secara nyata dan dapat dirasakan secara langsung oleh pengguna. Perangkat „think‟ memiliki fungsi yang sama dengan otak manusia. Robot perlu mengumpulkan informasi tentang kondisi lingkungan sekitarnya. Kemudian robot harus bisa menentukan bagaimana robot harus beraksi seoptimal mungkin dari data yang didapatkan. Robot dapat diberikan kemampuan untuk berpikir dan memberikan instruksi dengan memberikan program di bagian otaknya (dalam hal ini adalah mikrokontroler). Semua data masukan yang diterima robot akan diolah pada bagian ini lalu robot akan menghasilkan keputusan. Perangkat „sense‟ memiliki fungsi seperti indera manusia. Perangkat ini menggunakan sensor untuk mendeteksi lingkungan di sekitar robot. Perangkat inilah yang akan menjadi masukan untuk perangkat „think‟ lalu diproses. Setelah diproses dan menghasilkan keputusan berupa perintah, perangkat „act‟ akan menjalankan perintah tersebut.

Robot membutuhkan sensor sebagai alat „inderanya‟. Sensor yang digunakan pada robot berbeda-beda bergantung tujuan dan kondisi yang harus dicapai. Pada fire fighting robot yang diteliti pada penelitian ini, sensor yang digunakan adalah sensor jarak, sensor deteksi suara, sensor deteksi garis, sensor deteksi nyala api, dan sensor kompas.

Sensor pendeteksi jarak dibagi menjadi dua jenis berdasarkan energi yang digunakan yaitu sensor ultrasonik yang menggunakan energi gelombang suara dan sensor inframerah yang menggunakan energi gelombang cahaya inframerah. Dalam aplikasinya pada fire fighting robot, sensor pendeteksi jarak digunakan untuk mendeteksi jarak robot dengan benda atau jarak robot dengan dinding pembatas. Namun, setiap sensor memiliki kekurangan yang dapat ditutup dengan menggunakan bantuan sensor lain. Selain memiliki kekurangan, setiap sensor juga dapat memiliki hambatan dalam pengambilan data, sehingga data yang diperoleh mungkin tidak sempurna, dan membuat robot mengambil keputusan yang salah.

Prasetyo (2010) melakukan penelitian mengenai robot beroda dengan beberapa sensor sebagai indera. Sensor jarak ultrasonik yang digunakan adalah Sensor Ultrasonik PING)))1. Sensor ini dapat mendeteksi jarak antara 3 cm sampai 3 m dengan cara menghitung waktu perjalanan gelombang ultrasonik mulai dari ditembakkan, dipantulkan oleh target, sampai diterima kembali oleh sensor. Pada penelitian tersebut, data yang diterima sensor jarak hanya mengalami

1

(15)

konversi dari data waktu menjadi data jarak. Penelitian tidak melakukan kalibrasi perhitungan karena data yang didapat oleh sensor sangat akurat. Namun, percobaan Prasetyo (2010) menghasilkan rata-rata galat 0.5 cm.

Setiap melakukan percobaan, Prasetyo (2010) hanya melakukan satu kali PING2 ke dinding pada jarak tertentu lalu mencatat jarak yang diterima oleh mikrokontroler. Namun dalam pengaplikasiannya, sensor pada robot harus menerima data secara realtime. Pada penelitian ini akan dilakukan pengembangan dari penelitian Prasetyo (2010) yaitu dengan pengambilan data secara terus-menerus dengan perubahan jarak terhadap target sebesar 10 cm, serta pengambilan data menggunakan sensor garis, sensor deteksi api, dan sensor jarak secara realtime.

Perumusan Masalah

Masalah yang akan diteliti dalam penelitian ini adalah penggunaan sensor yang tepat untuk fire fighting robot, termasuk pengolahan data sensor yang masih berupa data mentah agar dapat dengan mudah diproses di mikrokontroler. Mengkaji pengambilan data jarak yang berubah-ubah oleh sensor jarak secara realtime. Selain itu penelitian ini juga mengkaji perlakuan khusus yang diperlukan untuk mengurangi kelemahan setiap sensor.

Tujuan Penelitian

 Membuat komunikasi antara mikrokontroler dengan sensor.

 Merekomendasikan metode penghalusan atau data smoothing yang dapat digunakan untuk mengurangi riak data sensor.

 Mengimplementasikan sensor pada fire fighting robot. Manfaat Penelitian

Penelitian ini diharapkan dapat mendukung perkembangan robotika di lingkungan departemen Ilmu Komputer FMIPA IPB. Selain itu, penelitian diharapkan dapat membantu penggunaan sensor untuk aplikasi lainnya.

Ruang Lingkup Penelitian

Pada penelitian ini, sensor yang diteliti hanya tiga jenis yaitu sensor jarak yang menggunakan gelombang suara ultrasonik, sensor garis, dan sensor nyala api. Percobaan untuk sensor ultrasonik dilakukan secara kontinu dengan menggerakkan target deteksi (benda dengan permukaan datar) secara manual. Api yang digunakan pada percobaan menggunakan sensor deteksi api adalah api lilin yang berada dalam ruangan yang kurang cahaya.

2

PING: istilah yang digunakan ketika sensor menembakkan gelombang suara dari transmitter

(16)

METODE

Metode yang digunakan pada penelitian ini meliputi serangkaian tahapan, yaitu: tahap studi literatur, persiapan alat dan bahan, analisis sensor, kalibrasi sensor, dan penerapan data smoothing. Khusus untuk sensor garis dan sensor deteksi api, tidak dilakukan tahapan kalibrasi sensor dan penerapan data smoothing, karena output dari kedua sensor ini hanya berupa logika ada atau tidak ada garis/api. Garis besar dari metode penelitian dapat dilihat dalam bentuk diagram alir seperti pada Gambar 1.

Studi Literatur

Pada tahapan ini, dilakukan serangkaian studi literatur yang berkaitan dengan penelitian. Studi ini mencakup sensor-sensor yang digunakan pada fire fighting robot, cara penggunaan sensor, serta kelemahan yang mungkin terjadi pada setiap sensor.

Persiapan Alat dan Bahan

Bahan yang digunakan adalah sensor jarak ultrasonik, sensor deteksi api, dan sensor garis. Sensor jarak ultrasonik yang digunakan adalah HC-SR04. Sensor ultrasonik HC-SR04 ini berbeda dengan Sensor Ultrasonik PING))) yang digunakan oleh Prasetyo (2010), dalam hal keakuratan pengambilan data. HC-SR04 kurang akurat dibandingkan dengan Sensor Ultrasonik PING))) karena sensor ini lebih ekonomis. Namun demikian, keakuratan sensor HC-SR04 dapat ditingkatkan dengan pengkalibrasian sehingga akurasinya dapat mendekati Sensor Ultrasonik PING))).

Sensor deteksi api yang digunakan adalah sensor YG1006 yang sudah memiliki modul tambahan, sehingga sensor dapat langsung digunakan. Kekurangan sensor YG1006 adalah sensor hanya dapat mendeteksi cahaya dengan spektrum 760 nm sampai 1100 nm (Cytron Technologies 2012).

(17)

Analisis Sensor

Setelah dilakukan pengumpulan alat dan bahan serta perangkaian sensor dengan mikrokontroler secara sederhana, dilakukan analisis kemampuan baca tiap sensor secara bergantian. Analisis sensor jarak dilakukan dengan menggunakan rangkaian sederhana untuk mendapatkan nilai pengukuran. Nilai ini dicatat beserta jarak target terhadap sensor. Posisi target dari sensor berubah secara berkala yaitu dari jarak 10 cm sampai 100 cm dengan penambahan jarak sebesar 10 cm. Setiap penambahan jarak, dilakukan PING terhadap target lalu dicatat nilai pengukuran, sehingga akan ada 10 jenis data nilai pengukuran tiap percobaan. PING adalah sebuah istilah untuk sensor jarak menembakan gelombang ultrasonik sampai menerima kembali pantulan gelombang ultrasonik tersebut.

Setelah itu, untuk mendapatkan data jarak dari sensor, nilai pengukuran yang didapat akan dihitung dengan menggunakan rumus berdasarkan datasheet dari sensor tersebut. Pengambilan data dilakukan tanpa adanya hambatan yang tertulis pada datasheet sensor sehingga pembacaan jarak target terhadap sensor dianggap ideal. Persamaan 1 adalah persamaan konversi pada datasheet Elec Freaks (2011) sensor HC-SR04.

d= t

58.1 (1)

Keterangan:

d = jarak deteksi (cm)

t = lama waktu PING

Selain analisis sensor jarak, dilakukan pula analisis terhadap sensor deteksi api dan sensor garis. Pada tahapan ini, sensor akan dianalisis menggunakan rangkaian sederhana untuk diambil nilai pengukurannya. Untuk sensor deteksi api, perlakuannya sama dengan sensor jarak yaitu sumber api ditempatkan pada 10 jarak berbeda ditambah kondisi tidak ada sumber api. Setelah semua data didapat, akan ditentukan threshold untuk menentukan ada api atau tidak berdasarkan nilai pengukuran yang diperoleh. Untuk sensor garis, hanya dilakukan percobaan terhadap garis hitam dan putih, lalu dicatat nilai pengukurannya terhadap warna tersebut. Berbeda dengan sensor jarak, kedua sensor ini tidak dilanjutkan ke tahapan kalibrasi karena sensor ini hanya menghasilkan nilai boolean „ada‟ atau „tidak ada‟.

Kalibrasi Sensor

(18)

x =

Data yang didapat setelah kalibrasi masih mungkin memiliki riak (ripple) yang tidak dibutuhkan. Riak harus dihilangkan, sehingga dibutuhkan data smoothing untuk mengurangi riak itu. Pada tahapan ini akan dibandingkan 2 metode data smoothing yaitu metode moving average dan metode exponential smoothing. Metode moving average dapat meramalkan data pada masa yang akan datang dengan cara mengambil rata-rata atau nilai tengah dari data untuk periode waktu yang telah ditentukan (Anggraeni dan Alfathoni 2010). Metode ini T = banyaknya window/kelompok

Moving average menggunakan layar (window) dalam meramal nilai yang didapat. Semakin besar window yang digunakan dalam aturan moving average, akan membuat ketidakstabilan dalam sistem, bahkan perilaku sistem akan semakin berantakan (Chiarella et al. 2006). Jumlah kelompok (T) yang dipilih pada penelitian ini sebesar 5. Hal ini dilakukan karena setiap kali pengambilan data, lama waktu yang dibutuhkan adalah 200 milidetik, sehingga setiap 1 detik akan didapat hasil jarak yang sesungguhnya. Selain itu, ketika terjadi perubahan jarak yang besar (misal dari 10 menjadi 100) hanya membutuhkan 5 pengambilan data (1 detik) untuk mendapatkan jarak aktual 100. Namun ketika terjadi riak data, data tidak langsung berubah secara signifikan, sehingga dapat meminimalisir terjadinya ripple pada data.

Metode yang kedua adalah metode exponential smoothing. Metode exponential smoothing yang digunakan adalah simple exponential smoothing. Metode ini dimodelkan dengan Persamaan 4 dengan source code untuk Arduino UNO terdapat di Lampiran 9.

Fi+1Xi+(1-α)Fi (4) maka prediksi akan semakin mendekati data asli observasi (Xi) dan menjauhi data

hasil prediksi sebelumnya (Fi). Begitu pula sebaliknya jika nilai bobot mendekati

(19)

2005). Percobaan ini dilakukan dengan menggunakan bobot sebesar 0.2, 0.5 dan 0.8 dengan �0 adalah 0. Hal ini dilakukan agar didapat pola untuk bobot

mendekati 1 dan 0.

Pengujian Sensor

Pengujian dilakukan pada data sensor jarak, sensor deteksi api, dan sensor garis. Pengujian untuk data sensor jarak adalah keakuratan kalibrasi dalam memprediksi jarak aktual, dan kemampuan data smoothing dalam menghaluskan data. Pengujian keakuratan menggunakan korelasi dan root mean square error (RMSE). Korelasi digunakan untuk mengetahui kedekatan dari data jarak sensor dengan jarak aktualnya. Semakin bagus hubungannya, nilai korelasi akan mendekati 1 dimana variasi nilai korelasi berkisar antara -1 sampai 1. Rumus korelasi seperti pada Persamaan 5 (Downey 2011).

r = xi-x yi-y

RMSE digunakan untuk melihat error yang terjadi pada data uji jarak sensor terhadap jarak aktual. RMSE akan semakin bagus apabila nilainya mendekati 0. Jika nilai korelasi yang didapat mendekati 1 dan nilai RMSE mendekati 0, maka akurasi jarak sensor baik. Rumus RMSE seperti pada Persamaan 6 (Johnson, diimplementasikan pada robot. Namun, jika akurasinya buruk maka harus dilakukan kalibrasi ulang. Untuk data smoothing, metode yang dapat menghaluskan data dengan baik akan digunakan. Namun, jika pengambilan data menggunakan salah satu metode itu tidak sesuai dengan tujuan mengurangi galat (ripple/riak), maka metode tidak diimplementasikan pada robot. Pengujian untuk data sensor deteksi api adalah keakuratan threshold dalam menentukan ada api atau tidak. Pengujian untuk data sensor garis adalah keakuratan dalam mendeteksi garis putih atau tidak putih.

Implementasi Sensor Pada Robot

(20)

HASIL DAN PEMBAHASAN

Persiapan Alat dan Bahan

Bahan-bahan yang digunakan pada penelitian ini adalah:

 5 buah sensor jarak ultrasonik HC-SR04 (Gambar 2a).

 1 buah sensor deteksi api YG1006 dengan modul (Gambar 2b).

 1 buah sensor garis (Gambar 2c).

 1 buah mikrokontroler Arduino UNO (Gambar 2d).

 Kabel dan pin header.

 Regulator 5V dan baterai 9V.

Project board 1 buah.

Setelah alat dan bahan terkumpul, dilakukan perangkaian sederhana antara sensor dengan mikrokontroler. Perangkaian dimulai dengan sensor jarak ultrasonik. Pin VCC pada sensor dihubungkan ke slot Vinput 5V pada

mikrokontroler, pin ground dihubungkan ke slot “ground” pada papan mikrokontroler. Lalu pin “trigger” dan pin “echo” pada sensor dihubungkan ke pin serial 3 pada Arduino UNO. Rangkaian sederhana ini bisa dilihat pada Gambar 3a.

Setelah itu, dibuat rangkaian sederhana untuk sensor deteksi api. Sensor ini menggunakan pin analog 3 untuk mengirimkan datanya ke mikrokontroler. Pin VCC dihubungkan ke Vinput 5V dan pin ground dihubungkan ke pin ground pada

papan mikrokontroler. Rangkaian sederhana ini bisa dilihat pada Gambar 3b.

(a) (b) (c) (d)

Gambar 2 (a) sensor jarak ultrasonik HC-SR04, (b) sensor deteksi api YG1006, (c) sensor garis, dan (d) mirokontroler Arduino UNO

(a) (b)

(21)

Analisis Sensor

Rangkaian sederhana sensor jarak digunakan untuk mengambil nilai pengukuran. Data diambil berdasarkan 10 jarak aktual yang sudah ditentukan yaitu 10 cm, 20 cm, dan seterusnya sampai 100 cm dari sensor. Sensor jarak bekerja dengan cara menembakkan gelombang suara ultrasonik lalu menerima gelombang pantulan dari target. Lama waktu gelombang dipancarkan sampai diterima adalah nilai pengukurannya, sedangkan untuk mendapatkan nilai jarak, nilai tersebut harus dikonversi terlebih dahulu. Berdasarkan datasheet Elec Freaks (2011) untuk sensor HC-SR04, konstanta pembagi yang digunakan adalah 58.1 seperti pada Persamaan 1.

Analisis dilakukan menggunakan rumus konversi pada Persamaan 1 untuk mendapatkan data jarak. Percobaan dilakukan dengan 10 jarak yang berbeda. Setiap 10 cm dilakukan beberapa PING terhadap target secara realtime, kemudian nilai jarak dari sensor dicatat. Data jarak dari sensor dibandingkan dengan jarak aktualnya. Namun, hasilnya tidak mendekati jarak aktualnya seperti yang terlihat pada Gambar 4, sehingga dibutuhkan kalibrasi dan penyesuaian untuk rumus konversi dari waktu menjadi jarak. Untuk data jarak sensor yang lainnya dapat dilihat pada Lampiran 1.

Grafik pada Gambar 4 menunjukkan data jarak aktual dan jarak yang dideteksi oleh sensor untuk setiap PING yang dilakukan. Sumbu x pada grafik menunjukkan urutan PING yang dilakukan sementara sumbu y menunjukkan jarak dalam cm. Dalam waktu tertentu jarak aktual diubah-ubah dari 10 cm hingga 100 cm dengan rentang 10 cm. Grafik menunjukkan bahwa jarak sensor (garis merah) yang tidak sama dengan jarak aktual (garis titik-titik hitam). Hal ini membuktikan bahwa rumus konversi dari datasheet kurang tepat.

(22)

Untuk sensor deteksi api, sumber api yang dideteksi berada pada jarak 10 cm, 20 cm, sampai 100 cm. Untuk menentukan ada tidaknya api pada jarak 10-100 cm, dibutuhkan sebuah threshold. Nilai threshold ditentukan berdasarkan nilai pengukuran minimum pada saat adanya api dan nilai pengukuran maksimum pada saat tidak ada api. Pada Tabel 2, nilai pengukuran minimum pada saat adanya api didapat pada jarak sumber api 100 cm yaitu 75. Sedangkan nilai pengukuran maksimum yang didapat ketika tidak ada api adalah 50. Oleh karena itu, nilai threshold yang digunakan untuk menentukan adanya api atau tidak adalah sebesar 65. Ketika sensor api menghasilkan nilai pengukuran lebih besar dari 65 maka terdeteksi ada api, sedangkan jika nilai pengukurannya kurang dari 65 maka tidak terdeteksi api.

Percobaan yang dilakukan pada sensor garis hanyalah membedakan warna putih dan tidak putih. Sensor ini akan menghasilkan nilai pengukuran 1 untuk warna putih dan 0 untuk tidak putih seperti pada Tabel 1, sehingga sensor tidak memerlukan kalibrasi.

Kalibrasi Sensor

Kalibrasi dilakukan agar data yang didapat oleh sensor dapat sedekat mungkin dengan data aktualnya. Kalibrasi hanya dilakukan pada sensor jarak ultrasonik saja karena sensor ini mendeteksi jarak target yang nilainya berupa bilangan kontinyu. Sensor deteksi api dan sensor garis tidak memerlukan kalibrasi karena hasil yang didapat hanya berupa logika “ada” atau “tidak ada”.

Tabel 1 Nilai pengukuran sensor garis Percobaan 1 2 3 4 5 6 7 8 9 10 Tidak Putih 0 0 0 0 0 0 0 0 0 0 Putih 1 1 1 1 1 1 1 1 1 1 Tabel 2 Nilai pengukuran sensor deteksi api Jarak (cm) Nilai pengukuran

Min Max

10 126 256

20 112 159

30 103 113

40 103 113

50 89 96

60 88 94

70 76 91

80 79 88

90 88 122

100 75 116

(23)

Untuk sensor jarak, nilai pengukuran didapat dengan menggunakan fungsi regresi linear. Data pengukuran yang didapat dari sensor setiap kali PING pada jarak aktual tertentu, dicatat kemudian dicari hubungan regresi linear data pengukuran terhadap jarak aktual. Grafik regresi linear dapat dilihat pada Gambar 5, dan persamaan yang diperoleh dapat dilihat pada Persamaan 7.

d= t+5.006

56.91 (7)

Keterangan:

d = jarak deteksi (cm)

t = lama waktu PING

Selain menggunakan regresi linear, digunakan juga cara brute force. Cara ini menggunakan rataan dari pembagian antara data pengukuran dari sensor dengan jarak aktualnya, seperti pada Persamaan 2. Cara ini menghasilkan konstanta baru yaitu 57.34. Tabel hasil perhitungan menggunakan cara brute force dapat dilihat pada Tabel 3, dan data lengkapnya dapat dilihat pada Lampiran 11. Konstanta yang digunakan adalah 57.34 dikarenakan konstanta ini dapat menghindari worst case yang mungkin terjadi.

Pada Persamaan 8, terdapat fungsi ceiling yang berfungsi sebagai pengaman agar jarak yang dideteksi oleh sensor dibulatkan keatas sehingga jarak aman robot terhadap target/dinding terjaga. Dalam hal ini, fungsi ceiling menjadi pelindung

Gambar 5 Grafik regresi linear data pengukuran sensor jarak

t = 56.91d - 5.006

Tabel 3 Hasil perhitungan menggunakan cara brute force

Lama waktu PING Jarak aktual Lama waktu PING/jarak aktual

591 10 59.1

(24)

robot dari worst case yang mungkin terjadi. Hasil dari kalibrasi untuk sensor jarak dapat dilihat pada Gambar 6, untuk hasil kalibrasi yang lainnya dapat dilihat pada Lampiran 2. dideteksi oleh sensor dengan menggunakan rumus konversi Persamaan 7. Sumbu x pada grafik menunjukkan urutan PING yang dilakukan sementara sumbu y menunjukkan jarak dalam cm. Terlihat bahwa data hasil konversi data jarak sensor menggunakan Persamaan 8 (―), mendekati nilai jarak aktualnya (••••). Oleh karena itu, rumus konversi Persamaan 8 dapat digunakan untuk mengkonversi data dari sensor HC-SR04 menggunakan Arduino UNO sebagai mikrokontrolernya.

Penerapan Data Smoothing

Setelah kalibrasi, tahap berikutnya adalah penerapan metode data smoothing. Metode yang digunakan untuk data smoothing adalah moving average dan exponential smoothing. Setiap metode dilakukan pada sensor jarak dengan kondisi target sama seperti tahap analisis sensor jarak.

Moving Average

Metode ini dilakukan dengan memasukkan Persamaan 3 ke mikrokontroler dengan kelompok sebesar 5. Lalu percobaan dimulai dengan kondisi sama seperti tahap analisis sensor jarak. Grafik pada Gambar 7 menunjukkan data jarak aktual, data jarak yang dideteksi oleh sensor setelah kalibrasi, dan data deteksi dari sensor dengan data smoothing moving average dengan window 5. Sumbu x pada grafik menunjukkan urutan PING yang dilakukan sementara sumbu y menunjukkan jarak dalam cm. Grafik menunjukkan bahwa jarak sensor dengan moving average dapat mengurangi riak data. Hasil percobaan yang lainnya dapat dilihat pada Lampiran 3.

Hasil data smoothing moving average untuk sensor jarak dapat dilihat pada Gambar 7. Dari gambar terlihat bahwa setiap perubahan jarak sebesar 10 cm, dibutuhkan 5 kali PING untuk mendapatkan jarak aktualnya. Hal ini terjadi karena

Gambar 6 Grafik data sensor jarak dengan jarak aktual setelah kalibrasi

0

101 106 111 116 121 126

(25)

untuk setiap perubahan jarak, rata-rata kelompok tidak langsung berubah secara signifikan.

Pada data sensor jarak (Gambar 7), terjadi perubahan jarak dari 70 cm menjadi 80 cm pada PING ke 54 sehingga menyebabkan nilai rata-rata kelompok berubah bertahap. Rata-rata kelompok berubah menjadi 80 cm setelah 5 PING dari perubahan jarak di PING 55. Dapat dilihat bahwa pada PING 58 – 64 terjadi riak dari data jarak sensor. Data yang terbaca tidaklah tepat 80, tetapi berfluktuatif dari 79 sampai 82 dikarenakan adanya kesalahan pembacaan data oleh sensor. Namun hal ini tidak mengubah rata-rata kelompok yang nilainya tetap 80, sehingga metode moving average ini dapat menghilangkan riak yang terjadi pada PING 57 – 63, seperti yang dapat dilihat pada Tabel 4.

Exponential Smoothing

Metode ini dilakukan dengan memasukkan Persamaan 4 ke mikrokontroler dengan bobot 0.2, 0.5, dan 0.8. Lalu, percobaan dimulai dengan kondisi sama seperti tahap analisis sensor jarak. Grafik pada Gambar 8 menunjukkan data jarak aktual, data jarak yang dideteksi oleh sensor setelah kalibrasi, dan data deteksi dari sensor dengan data smoothing exponential smoothing dengan bobot 0.2. Sumbu x pada grafik menunjukkan urutan PING yang dilakukan sementara sumbu y menunjukkan jarak dalam cm. Grafik menunjukkan bahwa jarak sensor dengan exponential smoothing dengan bobot 0.2 membutuhkan waktu yang lama untuk mencapai jarak aktualnya sehingga metode tidak sempat untuk menghilangkan riak data. Hasil percobaan yang lainnya dapat dilihat pada Lampiran 4.

Tabel 4 Data sensor jarak pada PING 57 – 63 sensor menggunakan moving average (

---

)

(26)

Hasil dari gambar terlihat bahwa metode ini membutuhkan banyak PING untuk mencapai nilai aktual. Hal ini terjadi karena bobot untuk nilai aktual lebih kecil daripada bobot untuk nilai prediksi, sehingga perubahan nilai sangat lambat karena pengaruh nilai prediksi sangat besar.

Grafik pada Gambar 9 menunjukkan data jarak aktual, data jarak yang dideteksi oleh sensor setelah kalibrasi, dan data deteksi dari sensor dengan data smoothing exponential smoothing dengan bobot 0.5. Sumbu x pada grafik menunjukkan urutan PING yang dilakukan sementara sumbu y menunjukkan jarak dalam cm. Grafik menunjukkan bahwa jarak sensor dengan exponential smoothing dengan bobot 0.5 membutuhkan waktu lebih sedikit untuk mencapai jarak aktualnya. Metode dapat menghilangkan riak data. Hasil percobaan yang lainnya dapat dilihat pada Lampiran 5.

Nilai yang dihasilkan membutuhkan 5 – 6 kali PING untuk mencapai nilai aktual. Perubahan nilai lebih cepat dibandingkan dengan menggunakan bobot 0.2. Hal ini cukup baik karena perubahan tidak terlalu memakan waktu lama tetapi bisa menghilangkan riak yang terjadi pada PING 133 – 137.

Grafik pada Gambar 10 menunjukkan data jarak aktual, data jarak yang dideteksi oleh sensor setelah kalibrasi, dan data deteksi dari sensor dengan data smoothing exponential smoothing dengan bobot 0.8. Sumbu x pada grafik menunjukkan urutan PING yang dilakukan sementara sumbu y menunjukkan jarak dalam cm. Grafik menunjukkan bahwa jarak sensor dengan exponential

Gambar 9 Grafik data sensor jarak (

) dengan jarak aktual (••••) dan jarak sensor menggunakan exponential smoothing dengan bobot 0.5 (

---

) 0

101 106 111 116 121 126

Ja sensor menggunakan exponential smoothing dengan bobot 0.2 (

---

)

(27)

smoothing dengan bobot 0.8 membutuhkan waktu yang singkat untuk mencapai jarak aktualnya. Namun pada gambar, hasil percobaan tidak dapat menghilangkan riak data. Jarak sensor dengan exponential smoothing dengan bobot 0.8 lebih mengikuti perubahan data jarak sensor setelah kalibrasi. Hasil percobaan yang lainnya dapat dilihat pada Lampiran 6.

Nilai yang dihasilkan sangat cepat berubah. Hal ini dikarenakan bobot prediksi yang kecil dan bobot nilai yang didapat sangat besar, sehingga nilai prediksi akan lebih cepat berubah. Hal ini kurang baik karena bobot yang besar akan membuat nilai prediksi mudah berubah mengikuti ripple.

Pengujian Sistem

Pengujian akurasi data jarak sensor menggunakan toleransi ±10% dari jarak aktualnya. Akurasi dihitung dengan menggunakan Persamaan 8, dimana data jarak sensor dianggap akurat jika nilainya berada pada rentang toleransi ±10% dari jarak aktualnya. Data pengukuran akurasi dapat dilihat pada Lampiran 10, dengan data jarak dari sensor ketika target bergerak dihilangkan. Hal ini dilakukan karena sensor akan membaca jarak yang tidak diketahui jarak aktualnya ketika target bergerak. Akurasi data jarak sensor yang didapatkan sebesar 100%.

x= a

n×100% (8)

Keterangan:

x = akurasi

a = banyaknya data yang akurat

n = banyaknya data

Korelasi data sensor jarak setelah kalibrasi terhadap jarak aktualnya dihitung dengan Persamaan 5 dan diperoleh hasil sebesar 0.999155. Nilai korelasi mendekati 1 artinya data sensor jarak setelah kalibrasi memiliki hubungan yang dekat dengan jarak aktualnya. Artinya hasil kalibrasi sangat baik dan sangat dekat dengan jarak aktualnya.

RMSE untuk data sensor jarak kalibrasi dihitung dengan menggunakan Persamaan 6 dan diperoleh hasil sebesar 1.1319. Nilai RMSE mendekati 0 artinya data sensor jarak kalibrasi menghasilkan sedikit error. Hal ini sangat baik karena error yang dihasilkan sedikit. Pengujian akurasi kalibrasi sensor jarak Gambar 10 Grafik data sensor jarak (

) dengan jarak aktual (••••) dan jarak

(28)

menghasilkan nilai korelasi dan RMSE yang sangat baik, sehingga akurasi yang didapat sangat baik.

Untuk data smoothing, pengujian dilakukan dengan menghitung rata-rata banyaknya PING yang diperlukan sensor untuk mencapai nilai aktualnya. Hasil dari pengujian dapat dilihat pada Tabel 5. Untuk moving average dengan window sebesar 5, dibutuhkan 5 kali PING untuk mencapai nilai aktual. Hal ini menunjukkan bahwa setiap 1 detik, sensor akan mendapatkan nilai aktual dari data yang didapat. Jika dalam rentang 1 detik terdapat data yang menyimpang, nilai yang didapat tidak akan berubah drastis, sehingga pada PING yang berikutnya, nilai aktual akan kembali didapat.

Untuk exponential smoothing dengan α (bobot/smoothing factor) 0.2, dibutuhkan rata-rata 29 kali PING untuk mencapai nilai aktual. Hal ini menunjukkan bahwa untuk mencapai nilai aktual, dibutuhkan waktu 6 detik. Dengan kata lain, robot memerlukan waktu tambahan untuk mendeteksi jarak aktualnya dengan target. Namun ketika ada data yang salah, nilai yang didapat berubah sangat sedikit.

Untuk exponential smoothing dengan α (bobot/smoothing factor) 0.5, dibutuhkan rata-rata 6 kali PING untuk mencapai nilai aktual. Hal ini cukup bagus karena hanya dibutuhkan 1.2 detik untuk mencapai nilai aktual. Metode ini dapat menghaluskan data yang didapat oleh sensor. Ketika ada data yang menyimpang, nilai yang didapat hanya berubah 50% dari selisih data sebelumnya dengan data yang menyimpang. Ketika terjadi perubahan jarak aktual, tiap PING dari sensor akan mengubah nilai yang didapat sebesar 50% dari selisih nilai sebelumnya dengan nilai baru yang didapat.

Untuk exponential smoothing dengan α (bobot/smoothing factor) 0.8, dibutuhkan rata-rata 3 kali PING untuk mencapai nilai aktual. Ketika ada kesalahan pembacaan nilai oleh sensor, data yang didapat akan berubah drastis, sekitar 80% dari selisih data sebelumnya dengan data yang baru. Walaupun untuk mencapai nilai aktual hanya dibutuhkan 600 milidetik, tetapi data yang didapat akan rentan terhadap gangguan. Hal ini dapat membuat robot berjalan secara zig-zag karena data yang diterima sangat mudah berubah.

Tabel 5 Hasil pengujian data smoothing moving average dan exponential smoothing pada sensor jarak

Sensor Rata-rata banyaknya PING *

(29)

Pengujian selanjutnya dilakukan pada data sensor deteksi api. Pengujian dilakukan dengan meletakkan api pada jarak tertentu di depan sensor. Kemudian digunakan threshold sebesar 65 untuk menentukan ada api atau tidak. Percobaan membuktikan bahwa seluruh nilai pengukuran yang dihasilkan ketika ada api lebih besar dari 65. Dengan kata lain, sensor api dengan threshold 65 memiliki akurasi 100%.

Untuk sensor garis, nilai pengukuran yang dihasilkan oleh sensor ketika mendeteksi garis warna tidak putih bernilai 0. Sedangkan ketika mendeteksi warna putih, nilai pengukuran yang dihasilkan sebesar 1. Akurasi sensor ini juga 100%.

Implementasi Sensor pada Robot

Peletakan 5 buah sensor jarak membentuk setengah lingkaran pada bagian depan robot. Sensor pertama diletakan menghadap depan robot, hal ini bertujuan agar robot dapat mendeteksi dinding di depan robot sehingga robot tidak menabrak dinding. Sensor kedua dan ketiga diletakan menghadap serong kanan dan serong kiri robot. Hal ini bertujuan agar kaki depan robot tidak menabrak dinding. Sensor keempat dan kelima diletakan menghadap samping kanan dan damping kiri robot. Hal ini bertujuan agar robot dapat mendeteksi jarak dari dinding kanan dan dinding kiri, sehingga robot dapat memutuskan untuk berbelok atau tidak berdasarkan jaraknya terhadap dinding di kanan dan di kiri. Untuk lebih jelasnya, peletakan sensor jarak dapat dilihat pada Gambar 11.

Setiap sensor dapat mengambil data secara bersamaan dengan menggunakan sebuah mikrokontroler. Source code untuk pengambilan data secara bersamaan dapat dilihat pada Lampiran 7. Sensor jarak diimplementasikan menggunakan rumus hasil kalibrasi serta tidak diterapkan data smoothing pada datanya. Hasil akuisisi data sensor secara bersamaan dapat dilihat pada Gambar 12. Pada Gambar 12:

 kolom pertama berisi data dari sensor jarak yang diletakan menghadap samping kiri robot,

 kolom kedua berisi data dari sensor jarak yang diletakan menghadap serong kiri robot,

(30)

 kolom ketiga berisi data sensor jarak yang diletakan menghadap depan robot,

 kolom keempat berisi data sensor jarak yang diletakan menghadap serong kanan robot,

 kolom kelima berisi data sensor jarak yang diletakan menghadap samping kanan robot,

 kolom keenam berisi data sensor deteksi api, dan

 kolom ketujuh berisi data sensor garis.

SIMPULAN DAN SARAN

Hasil eksperimen menunjukan bahwa sensor jarak ultrasonik yang digunakan dalam sistem robot hexapod pada penelitian ini dapat membaca data jarak dengan baik ketika konstanta pembagi yang digunakan adalah 57.34. Akurasi dari kalibrasi sensor jarak menggunakan konstanta pembagi 57.34 sangat baik, hal ini ditunjukkan dari korelasi data hasil kalibrasi sebesar 0.999155 dan RMSE sebesar 1.1319. Artinya data hasil kalibrasi dengan menggunakan konstanta pembagi 57.34 memiliki korelasi yang baik dengan nilai aktualnya serta menghasilkan error yang sedikit. Metode data smoothing yang direkomendasikan adalah moving average dengan window 5 atau exponential smoothing dengan bobot 0.5. Namun, penggunaan salah satu dari kedua metode ini memerlukan penelitian lebih lanjut, karena diperlukan penyesuaian dalam pemrosesan data di mikrokontroler. Untuk sensor deteksi api, nilai threshold yang disarankan adalah 65 untuk mendeteksi api dalam jarak 10 cm sampai 100 cm. Sensor garis tidak memerlukan pengolahan data tambahan karena nilai yang didapat merupakan nilai logika. Nilai 0 merepresentasikan garis tidak putih sedangkan nilai 1 merepresentasikan garis putih. Pada fire fighting robot, peletakan sensor jarak membentuk setengah lingkaran. Sensor jarak yang menghadap ke depan robot 1 buah, 2 buah sensor jarak menyerong kanan dan kiri, sedangkan 2 sensor jarak lainnya menghadap samping kanan dan kiri robot.

Saran untuk penelitian selanjutnya adalah dengan menggabungkan data yang diterima oleh sensor dengan kecerdasan buatan robot untuk mengambil keputusan pergerakan robot. Metode data smoothing dapat diterapkan, namun dibutuhkan penyesuaian dalam pemrosesan data di mikrokontroler.

(31)

DAFTAR PUSTAKA

Anggraeni W, Alfathoni A. 2010. Peramalan port throughput menggunakan metode kombinasi nonlinier [skripsi]. Yogyakarta (ID): UPN Veteran. Chiang TC. 2005. Business Conditions & Forecasting. Philadelphia (US): Drexel

University.

Chiarella C, He XZ, Hommes C. 2006. A dynamic analysis of moving average rules. Journal of Economic Dynamics & Control. 30:1729–1753.

Cytron Technologies. 2012. Flame sensor module getting started guide [datasheet]. Johor (MY): Cytron Technologies.

Downey AB. 2011. Think Stats: Probability and Statistics for Programmers. Massachusetts (US): Green Tea Pr.

Elec Freaks. 2011. Ultrasonic ranging module HC-SR04 [internet]. [diunduh 2013 Mar 24]. Tersedia pada: http://elecfreaks.com/store/download/HC-SR04.pdf. Johnson LL. 1995. A comparison of methods for estimating RMS error: a “brute

force” approach versus a mathematically-elegant approach, as applied to the calculation of a specific retrieval error for a limb-scanning microwave radiometer-spectrometer [tesis]. Ohio (US): Air Force Institute of Technology.

(32)

LAMPIRAN

Lampiran 1 Grafik data sensor jarak sebelum kalibrasi (a) Grafik data sensor jarak 1

(b) Grafik data sensor jarak 2

(c) Grafik data sensor jarak 3

0

101 106 111 116 121 126 131 136

(33)

Lampiran 1 Lanjutan

(d) Grafik data sensor jarak 4

(e) Grafik data sensor jarak 5

0

100 105 110 115 120 125 130 136 141

(34)

Lampiran 2 Grafik data sensor jarak setelah kalibrasi (a) Grafik data sensor jarak 1

(b) Grafik data sensor jarak 2

(c) Grafik data sensor jarak 3

0

101 106 111 116 121 126

(35)

Lampiran 2 Lanjutan

(d) Grafik data sensor jarak 4

(e) Grafik data sensor jarak 5

(36)

Lampiran 3 Grafik data sensor jarak setelah kalibrasi dan moving average dengan window 5

(a) Grafik data sensor jarak 1

(b) Grafik data sensor jarak 2

(c) Grafik data sensor jarak 3

(37)

Lampiran 3 Lanjutan

(d) Grafik data sensor jarak 4

(e) Grafik data sensor jarak 5

0 20 40 60 80 100 120

1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151

Ja

ra

k

(c

m

)

PING ke-Jarak sensor

Jarak sensor + MA Jarak aktual

0 20 40 60 80 100 120

1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151

Ja

ra

k

(c

m

)

PING ke-Jarak sensor

(38)

Lampiran 4 Grafik data sensor jarak setelah kalibrasi dan exponential smoothing dengan bobot 0.2

(a) Grafik data sensor jarak 1

(b) Grafik data sensor jarak 2

(c) Grafik data sensor jarak 3

0

101 106 111 116 121 126

(39)

Lampiran 4 Lanjutan

(d) Grafik data sensor jarak 4

(e) Grafik data sensor jarak 5

(40)

Lampiran 5 Grafik data sensor jarak setelah kalibrasi dan exponential smoothing dengan bobot 0.5

(a) Grafik data sensor jarak 1

(b) Grafik data sensor jarak 2

(c) Grafik data sensor jarak 3

0

101 106 111 116 121 126 131 136 141 146 151

(41)

Lampiran 5 Lanjutan

(d) Grafik data sensor jarak 4

(e) Grafik data sensor jarak 5

0

101 106 111 116 121 126

(42)

Lampiran 6 Grafik data sensor jarak setelah kalibrasi dan exponential smoothing dengan bobot 0.8

(a) Grafik data sensor jarak 1

(b) Grafik data sensor jarak 2

(c) Grafik data sensor jarak 3

0

101 106 111 116 121 126

(43)

Lampiran 6 Lanjutan

(d) Grafik data sensor jarak 4

(e) Grafik data sensor jarak 5

0

101 106 111 116 121 126 131 136 141 146 151

(44)

Lampiran 7 Source code untuk pengambilan data menggunakan sensor ultrasonik, sensor deteksi api, dan sensor garis

#include <NewPing.h>

//mendefinisikan pin digital yang digunakan untuk sensor jarak

#define PING_PINA 3 #define PING_PINB 4 #define PING_PINC 5 #define PING_PIND 6 #define PING_PINE 7

//mendefinisikan variabel jarak meksimum untuk sensor jarak #define MAX_DISTANCE 200

//fungsi ping yang nilainya disimpan pada variabel sonar NewPing sonara(PING_PINA, PING_PINA, MAX_DISTANCE);

//NewPing sonar(pin_transmit, pin_receive, jarak_maksimal); NewPing sonarb(PING_PINB, PING_PINB, MAX_DISTANCE);

NewPing sonarc(PING_PINC, PING_PINC, MAX_DISTANCE); NewPing sonard(PING_PIND, PING_PIND, MAX_DISTANCE); NewPing sonare(PING_PINE, PING_PINE, MAX_DISTANCE);

//inisialisasi variabel untuk sensor garis

int senPin = A3; // inisialisasi pin analog yang digunakan int warna = 0;

int sensor = 0;

//insialisasi setup clock untuk mikrokontroler void setup() {

Serial.begin(9600); }

//infinite loop void loop() {

//inisialissasi variabel jarak int distancea = 0;

int distanceb = 0; int distancec = 0; int distanced = 0; int distancee = 0;

//delay setiap pengambilan data delay(200);

//mulai pengambilan data

warna = analogRead(senPin);//pengambilan data oleh sensor garis

int sensorValue = analogRead(A0);//pengambilan data oleh sensor deteksi api

//pengambilan data pengukuran (RAW) oleh sensor jarak unsigned int timea = sonara.ping();

delay(1);

(45)

Lampiran 7 Lanjutan

unsigned int timec = sonarc.ping(); delay(1);

unsigned int timed = sonard.ping(); delay(1);

unsigned int timee = sonare.ping(); //memanggil fungsi konversi jarak distancea = distance(timea); if (distancea == 0){

Serial.print("Out of range\t");

//mencetak "out of range" jika jarak yang dideteksi kurang dari 0 cm

//atau lebih dari 200 cm }

else {

Serial.print(distancea);

//mencetak jarak hasil konversi Serial.print(" cm\t");

}

distanceb = distance(timeb); if (distanceb == 0){

Serial.print("Out of range\t"); }

else {

Serial.print(distanceb); Serial.print(" cm\t"); }

distancec = distance(timec); if (distancec == 0){

Serial.print("Out of range\t"); }

else {

Serial.print(distancec); Serial.print(" cm\t"); }

distanced = distance(timed); if (distanced == 0){

Serial.print("Out of range\t"); }

else {

Serial.print(distanced); Serial.print(" cm\t"); }

distancee = distance(timee); if (distancee == 0){

Serial.print("Out of range\t"); }

else {

(46)

Lampiran 7 Lanjutan

Serial.print(" cm\t"); }

//mendeteksi api jika nilainya lebih dari 65 maka terdeteksi api

if (sensorValue > 65){

Serial.print("Terdeteksi Api\t"); }

else {

Serial.print("Tidak ada Api\t"); }

//mendeteksi garis hitam atau putih if (warna > 600){

sensor = 1; }

else{

sensor = 0; }

//mencetak garis

Serial.println(sensor); }

//fungsi konversi jarak dari waktu ke jarak dalam cm int distance(int time){

int a=0; int hasil;

hasil = ceil((time/2)/28.67);//waktu PING/57.34

//jika hasil konversi lebih dari 200 cm atau kurang dari 0 cm

//maka return 0

if (hasil >= 200 || hasil <= 0){ return a;

} else {

return hasil; }

(47)

Lampiran 8 Source code untuk pengambilan data menggunakan sensor ultrasonik dengan moving average

#include <NewPing.h>//menggunakan library PING

#define PING_PINA 3//mendefinisikan pin digital yang digunakan

#define MAX_DISTANCE 200 //mendefinisikan jarak maksimal yang akan dideteksi

//memanggil fungsi PING

NewPing sonara(PING_PINA, PING_PINA, MAX_DISTANCE); //NewPing sonara(pin_Transmit, pin_Receive,

jarak_maksimal_deteksi);

const int numReadings = 5;//mendefinisikan banyaknya window yang akan digunakan untuk perhitungan moving average

int bacaa[numReadings];//array untuk menyimpan nilai masukan int index = 0;//variabel untuk mengetahui index yang sedang aktif

int totala = 0;//variabel hasil jumlah 5 data int rataa = 0;//variabel hasil rataan 5 data int thisReading = 0;//variable index array untuk membersihkan memory array

void setup() {

//setting clock yang akan digunakan Serial.begin(9600);

//membersihkan memory array yang digunakan

for (thisReading = 0; thisReading < numReadings; thisReading++){

bacaa[thisReading]=0; }

}

void loop() {

int distancea = 0;//variabel jarak

delay(1000);//delay setiap ping

unsigned int timea = sonara.ping();//mengaktifkan fungsi PING

Serial.print (timea); Serial.print ("\t");

//mulai moving average dari data lama dan data yang baru didapat

totala = totala - bacaa[index];//total sekarang = total sebelumnya dikurang nilai bacaan sebelumnya

distancea = distance(timea);//memanggil fungsi konversi jarak

(48)

Lampiran 8 Lanjutan

rataa = totala/numReadings;//rata-rata = total baru/jumlah window yang digunakan

//cetak hasil konversi if (distancea == 0){

Serial.println("Out of range\t"); }

else {

Serial.print(distancea); Serial.print(" \t"); }

//cetak hasil moving average if (rataa == 0){

Serial.println("Out of range\t"); }

else {

Serial.println(rataa); //Serial.println(" cm");

}

index = index + 1;//geser array if (index >=numReadings){

index = 0;//jika nilai array lebih dari 4, di ulang arraynya dari 0

} }

//fungsi konversi

int distance(int time){ int a=0;

int hasil;

hasil = ceil((time/2)/28.67); if (hasil >= 200 || hasil <= 0){ return a;

} else {

return hasil; }

(49)

Lampiran 9 Source code untuk pengambilan data menggunakan sensor ultrasonik dengan exponential smoothing

#include <NewPing.h>//menggunakan library PING

#define PING_PINA 3//mendefinisikan pin digital yang digunakan

#define MAX_DISTANCE 200//mendefinisikan jarak maksimal yang akan dideteksi

//memanggil fungsi PING

NewPing sonara(PING_PINA, PING_PINA, MAX_DISTANCE); //NewPing sonara(pin_Transmit, pin_Receive,

jarak_maksimal_deteksi);

float tempa = 0;//nilai hasil ES sebelumnya int hasila = 0;//nilai hasil

float nilaia = 0;//nilai masukan float alpha = 0.2;//bobot

int tempdisa = 0;//nilai jarak sebelumnya

void setup() {

//setting clock yang akan digunakan Serial.begin(9600);

}

void loop() {

int distancea = 0;//variabel jarak delay(1000);//delay setiap PING

unsigned int timea = sonara.ping();//mengaktifkan fungsi PING

Serial.print (timea); Serial.print ("\t");

//mulai exponential smoothing

distancea = distance(timea);//memanggil fungsi konversi jarak

//nilai perkiraan = (bobot*nilai sekarang) + (1-bobot)*nilai hasil ES sebelumnya

nilaia = (alpha*tempdisa) + ((1 - alpha)*tempa); //nilai F berikutnya

hasila = nilaia;//hasil

//cetak hasil konversi dan ES if (distancea == 0){

Serial.print("Out of range\t"); Serial.println(hasila);

} else {

Serial.print(distancea); Serial.print(" \t"); Serial.println(hasila); }

tempdisa = distancea;//jarak baru

tempa = nilaia;//menyimpan nilai hasil ES sebelumnya }

(50)

Lampiran 9 Lanjutan

int distance(int time){ int a=0;

int hasil;

hasil = ceil((time/2)/28.67); if (hasil >= 200 || hasil <= 0){ return a;

} else {

return hasil; }

(51)

Lampiran 10 Tabel hasil pengukuran sensor jarak Jarak aktual Data setelah kalibrasi Jarak

aktual

Data sebelum kalibrasi Data jarak Akurasi Data jarak Akurasi

(52)

Lampiran 10 Lanjutan

Jarak aktual Data setelah kalibrasi Jarak aktual

Data sebelum kalibrasi Data jarak Akurasi Data jarak Akurasi

(53)

Lampiran 10 Lanjutan

Jarak aktual Data setelah kalibrasi Jarak aktual

Data sebelum kalibrasi Data jarak Akurasi Data jarak Akurasi

(54)

Lampiran 10 Lanjutan

Jarak aktual Data setelah kalibrasi Jarak aktual

Data sebelum kalibrasi Data jarak Akurasi Data jarak Akurasi

10 10 1 40 38 1

10 10 1 40 38 1

Jumlah yang akurat 125 50 48 1 Rata-rata akurasi 1.0000 50 48 1 1 = pengukuran ±10% dari jarak aktual 50 47 1 0 = pengukuran tidak akurat (kesalahan 50 48 1

(55)

Lampiran 10 Lanjutan

Jarak aktual

Data sebelum kalibrasi Data jarak Akurasi

20 19 1

20 19 1

20 19 1

20 19 1

10 10 1

10 9 1

10 9 1

10 9 1

(56)

Lampiran 11 Tabel kalibrasi sensor jarak menggunakan cara brute force Lama waktu PING (ms) Jarak aktual Lama waktu PING/jarak aktual

(57)

Lampiran 11 Lanjutan

Lama waktu PING (ms) Jarak aktual Lama waktu PING/jarak aktual

(58)

Lampiran 11 Lanjutan

Lama waktu PING (ms) Jarak aktual Lama waktu PING/jarak aktual

(59)

Lampiran 11 Lanjutan

Lama waktu PING (ms) Jarak aktual Lama waktu PING/jarak aktual

5087 90 56.52

(60)

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta pada tanggal 28 Januari 1992. Penulis merupakan anak kedua dari 3 bersaudara dari pasangan Prawoto dan Ngatini. Pada tahun 2009, penulis menamatkan pendidikan di SMA Negeri 1 Ciputat. Penulis lulus seleksi masuk Institut Pertanian Bogor (IPB) pada tahun yang sama melalui jalur Undangan Seleksi Masuk IPB di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam.

Gambar

Gambar 1  Metode penelitian sensor jarak, sensor deteksi api, dan sensor garis
Gambar 3a. Setelah itu, dibuat rangkaian sederhana untuk sensor deteksi api. Sensor ini
Tabel 2  Nilai pengukuran sensor deteksi api
Tabel 3  Hasil perhitungan menggunakan cara brute force
+5

Referensi

Dokumen terkait

Dalam aspek Kemampuan Layanan (Service ability), dapat dikatakan baik berdasarkan hasil pembahasan dilihat dari Penguasaan keterampilan pengajar, keramahan para

Hukum Ohm adalah hukum yang mengatakan bahwa apabila arus listrik mengalir ke dalam sebuah penghantar , intensitas arusnya sama dengan tegangan yang

Hal ini menunjukkan bahwa indeks kematangan gonad ikan betina lebih besar dari pada ikan jantan, sesuai dengan pendapat Effendie (1997) yang menyatakan bahwa

Berdasarkan hasil estimasi, kenaikan 1 % Dengan posisi Indonesia sebagai negara pada GDP nominal Indonesia menyebabkan eksportir tersebut, variabel jumlah penduduk kenaikan

mencapai break even point ? 2) Apa saja kendala yang dihadapi oleh industri percetakan ( digital printing ) di Kecamatan Tembilahan Kabupaten Indragiri

Lima dimensi kualitas jasa tersebut dipandang sebagai lambang dimana konsumen mengevaluasi kinerja menyeluruh dari jasa, namun sebagaimana yang diterapkan yang terjadi pada

Rancangan sistem pakar yang dibuat ini bertujuan untuk membantu wanita dalam menentukan jenis kulit wajahnya, agar dapat memilih produk kosmetik yang tepat sesuai dengan jenis

Desain sistem ini berisikan tampilan hasil yang akan diperoleh dari Sistem Pendukung Keputusan Untuk Menentukan Lulusan Mahasiswa Terbaik Menggunakan Metode AHP