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 BOGOR 2013
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
BOGOR
2013
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.
Bogor, Desember 2013
Nur Muhammad Sidik
NIM G64090065
ABSTRAK
NUR MUHAMMAD SIDIK. Analisis dan Penerapan Sensor Jarak, Sensor
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.
Keywords: Arduino, exponential smoothing, fire fighting robot, HC-SR04,
moving average, sensors
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
BOGOR
2013
Penguji:
1 Shelvie Nidya Neyman, SKom MSi
2 Mushthofa, SKom MSc
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
Tanggal Lulus:
Judul Skripsi: . ..\naLis dan Penerapan Sensor Jarak, Sensor Deteksi Api, dan Sens r Garis pada Fire Fighting Robot
Nama : Nur ).. uhammad Sidik NIM : G6~090065
Disetujui oleh
Karlisa Priandana, ST MEng Pembimbing I
Diketahui oleh
Ketua Departemen
Tanggal Lulus : 1 3 DEC 2GB
PRAKATA
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.
Bogor, Desember 2013
Nur Muhammad Sidik
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
RIWAYAT HIDUP 47
DAFTAR TABEL
1 Nilai pengukuran sensor garis 9 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 Tampilan akuisisi data semua sensor secara bersamaan 17
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 11 Tabel kalibrasi sensor jarak menggunakan cara brute force 43
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 Sensor Ultrasonik PING))): salah satu jenis sensor deteksi jarak menggunakan gelombang
ultrasonik.
2
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
sampai menerima pantulan gelombang di receiver.
3
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).
Gambar 1 Metode penelitian sensor jarak, sensor deteksi api, dan sensor garis
4
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
Kalibrasi dilakukan agar data yang didapat oleh sensor dapat sedekat
mungkin dengan data aktualnya. Pada tahapan kalibrasi sensor, sensor yang
dikalibrasi hanyalah sensor jarak ultrasonik. Pada tahapan ini dilakukan
penyesuaian perhitungan jarak yang dibaca oleh sensor terhadap jarak aktual
sensor dengan target. Penyesuaian dilakukan dengan brute force dan regresi linear
yaitu dengan mencari rumus dasar menggunakan regresi linear dari hubungan
linear antara data pengukuran sensor terhadap jarak aktualnya. Metode brute force
menggunakan Persamaan 2. Cara ini menggunakan rataan dari pembagian antara
data pengukuran dari sensor dengan jarak aktualnya. Setelah didapatkan nilai
kontanta masing-masing, ditentukan nilai konstanta yang akan digunakan pada
rumus kalibrasi.
5
x =
ai
di n
i=1
n
(2)
Keterangan:
x = konstanta pembagi
n = banyaknya PING
ai = lama waktu PING ke-i
di = jarak aktual ke-i
Penerapan Data Smoothing
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
dimodelkan dengan Persamaan 3 dengan source code untuk Arduino UNO
terdapat di Lampiran 8.
X = Xi/T
T
i=1
(3)
Keterangan:
X = jarak deteksi MA (cm)
Xi = jarak deteksi ke-i (cm)
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+1 = αXi+(1-α)Fi (4)
Keterangan:
Fi= jarak deteksi ES ke-i (cm)
Xi = jarak observasi ke-i (cm)
α = bobot ES
Dari Persamaan 4 dapat dilihat bahwa semakin dekat nilai α (bobot) ke 1,
maka prediksi akan semakin mendekati data asli observasi (Xi) dan menjauhi data
hasil prediksi sebelumnya (Fi). Begitu pula sebaliknya jika nilai bobot mendekati
0 maka nilai hasil prediksi akan mendekati nilai prediksi sebelumnya (Chiang
6
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 y
i - y n
i=1
xi - x 2ni=1
yi - y
2ni=1
(5)
Keterangan:
r = korelasi
xi = data jarak sensor
x = rata-rata jarak sensor
yi = data jarak aktual
y = rata-rata jarak aktual
n = jumlah PING
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,
1995).
RMSE = (Yi - Y*
)2
ni=1
n
(6)
Keterangan:
Y = data jarak sensor
Y∗ = data jarak aktual
n = jumlah PING
Jika akurasi jarak dari sensor cukup baik maka kalibrasi sensor dapat
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
Implementasi sensor pada robot dilakukan dengan menempatkan sensor
pada robot. Hal ini dilakukan agar semua sensor dapat digunakan bersama-sama
dengan menggunakan sebuah mikrokontroler, serta penempatan posisi sensor pada
robot.
7
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)
Gambar 3 Rangkaian sederhana (a) sensor jarak ultrasonik dan (b) sensor deteksi
api
8
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.
Gambar 4 Grafik data jarak dari sensor dengan menggunakan rumus konversi
dari datasheet
0
10
20
30
40
50
60
70
80
90
100
1 21 41 61 81 101 121 141 161 181
Jara
k (
cm)
PING ke-
Jarak sensor
Jarak aktual
9
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
Tidak ada api 39 50
10
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
R² = 0.997
0
1
2
3
4
5
6
7
0 20 40 60 80 100
Lam
a w
aktu
PIN
G (
s)
Jarak aktual (cm)
Tabel 3 Hasil perhitungan menggunakan cara brute force
Lama waktu PING Jarak aktual Lama waktu PING/jarak aktual
591 10 59.1
591 10 59.1
591 10 59.1
1151 20 57.6
1165 20 58.3
. . .
. . .
. . .
603 10 60.3
603 10 60.3
591 10 59.1
591 10 59.1
591 10 59.1
Total lama waktu PING/ jarak aktual 9920.2
Rata-rata lama waktu PING/ jarak aktual 57.3
11
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.
d = t
57.34 (8)
Keterangan:
d = jarak deteksi (cm)
t = lama waktu PING
Grafik pada Gambar 6 menunjukkan data jarak aktual dan jarak yang
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
20
40
60
80
100
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
86
91
96
101
106
111
116
121
126
Jara
k (cm
)
PING ke-
Jarak sensor
Jarak aktual
12
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
PING Jarak (cm)
Aktual Kalibrasi MA
57 80 80 76
58 80 81 78
59 80 80 80
60 80 81 80
61 80 81 80
62 80 79 80
63 80 82 80
Gambar 7 Grafik data sensor jarak (―) dengan jarak aktual (••••) dan jarak
sensor menggunakan moving average (---)
0
20
40
60
80
100
120
1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151
Jara
k (
cm)
PING ke-
13
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
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
11
6
12
1
12
6
Jara
k (
cm)
PING ke-
Gambar 8 Grafik data sensor jarak (―) dengan jarak aktual (••••) dan jarak
sensor menggunakan exponential smoothing dengan bobot 0.2 (---)
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
11
6
Jara
k (
cm)
PING ke-
14
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
sensor menggunakan exponential smoothing dengan bobot 0.8 (---)
0
20
40
60
80
100
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
Jara
k (
cm)
PING ke-
15
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
* untuk mencapai nilai aktual
MA (window = 5) ES (α = 0.2) ES (α = 0.5) ES (α = 0.8)
1 5 28 6 3
2 5 28 6 3
3 5 29 6 3
4 5 29 7 3
5 5 29 6 3 * 1 PING = 200 ms
16
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,
Gambar 11 Peletakan sensor jarak ultrasonik pada robot
17
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.
Gambar 12 Tampilan akuisisi data semua sensor secara bersamaan
18
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.
Prasetyo WE. 2010. Perancangan dan implementasi robot cerdas pemadam api
senior beroda DU 114-v10 (dirancang untuk pertandingan KRCI 2010)
[skripsi]. Bandung (ID): Universitas Komputer Indonesia.
19
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
10
20
30
40
50
60
70
80
90
100
5
10 15 20 25 30 35 40 45 50 55 61 66 71 76 81 86 91 96 101
106
111
116
121
126
131
136
Jara
k (
cm)
PING ke-
Jarak sensor
Jarak aktual
0
10
20
30
40
50
60
70
80
90
100
20 40 60 80 100 120 140 160 180 200
Jara
k (
cm)
PING ke-
Jarak sensorJarak aktual
0
10
20
30
40
50
60
70
80
90
100
20 40 60 80 100 120 140 160 180
Jara
k (
cm)
PING ke-
Jarak sensorJarak aktual
20
Lampiran 1 Lanjutan
(d) Grafik data sensor jarak 4
(e) Grafik data sensor jarak 5
0
10
20
30
40
50
60
70
80
90
100
20 40 60 80 100 120 140 160
Jara
k (
cm)
PING ke-
Jarak sensor
Jarak aktual
0
10
20
30
40
50
60
70
80
90
100
510 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 10
010
511
011
512
012
513
013
614
1
Jara
k (
cm)
PING ke-
Jarak sensor
Jarak aktual
21
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
10
20
30
40
50
60
70
80
90
100
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Jara
k (
cm)
PING ke-
Jarak sensor
Jarak aktual
0
10
20
30
40
50
60
70
80
90
100
5
10
15
20
25
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
11
6
Jara
k (cm
)
PING ke-
Jarak sensor
Jarak aktual
0
10
20
30
40
50
60
70
80
90
100
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
86
91
96
101
10
6
11
1
11
6
12
1
12
6
Jara
k (
cm)
PING ke-
Jarak sensor
Jarak aktual
22
Lampiran 2 Lanjutan
(d) Grafik data sensor jarak 4
(e) Grafik data sensor jarak 5
0
10
20
30
40
50
60
70
80
90
100
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90
Jara
k (cm
)
PING ke-
Jarak sensor
Jarak aktual
0
10
20
30
40
50
60
70
80
90
100
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
10
0
10
5
11
0
11
5
120
12
5
Jara
k (cm
)
PING ke-
Jarak sensor
Jarak aktual
23
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
0
20
40
60
80
100
120
1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + MAJarak aktual
0
20
40
60
80
100
120
1 11 21 31 41 51 61 71 81 91 101 111 121 131 141
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + MAJarak aktual
0
20
40
60
80
100
120
1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + MAJarak aktual
24
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
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + MAJarak aktual
0
20
40
60
80
100
120
1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + MAJarak aktual
25
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
20
40
60
80
100
120
1 21 41 61 81 101 121 141 161 181 201 221 241 261 281
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
11
6
12
1
12
6
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
0
20
40
60
80
100
120
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101106111116
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
26
Lampiran 4 Lanjutan
(d) Grafik data sensor jarak 4
(e) Grafik data sensor jarak 5
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
101
106
111
116
121
126
131
136
141
146
151
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
11
6
12
1
12
6
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
27
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
20
40
60
80
100
120
1 21 41 61 81 101 121 141 161 181 201 221 241 261 281
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
116
12
1
12
6
13
1
13
6
141
14
6
15
1
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
101
106
111
116
121
126
Jara
k (cm
)
PING ke-
Jarak sensor
Jarak sensor + ES
Jarak aktual
28
Lampiran 5 Lanjutan
(d) Grafik data sensor jarak 4
(e) Grafik data sensor jarak 5
0
20
40
60
80
100
120
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
Jara
k (
cm)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
11
6
12
1
126
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
29
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
20
40
60
80
100
120
1 21 41 61 81 101 121 141 161 181 201 221 241 261 281
Jara
k (cm
)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
11
6
12
1
12
6
Jara
k (
cm)
PING ke-
Jarak sensor
Jarak sensor + ES
Jarak aktual
0
20
40
60
80
100
120
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
Jara
k (cm
)
PING ke-
Jarak sensor
Jarak sensor + ES
Jarak aktual
30
Lampiran 6 Lanjutan
(d) Grafik data sensor jarak 4
(e) Grafik data sensor jarak 5
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
101
106
111
116
121
126
131
136
141
146
151
Jara
k (cm
)
PING ke-
Jarak sensor
Jarak sensor + ES
Jarak aktual
0
20
40
60
80
100
120
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
11
6
12
1
12
6
Jara
k (
cm)
PING ke-
Jarak sensorJarak sensor + ESJarak aktual
31
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);
unsigned int timeb = sonarb.ping();
delay(1);
32
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 {
Serial.print(distancee);
33
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;
}
}
34
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
bacaa[index] = distancea;//memasukkan nilai baru ke array
totala = totala + bacaa[index];//total baru = total +
nilai array yang baru
35
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;
}
}
36
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
}
//fungsi konversi
37
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;
}
}
38
Lampiran 10 Tabel hasil pengukuran sensor jarak
Jarak aktual Data setelah kalibrasi
Jarak
aktual
Data sebelum kalibrasi
Data jarak Akurasi
Data jarak Akurasi
10 10 1
10 9 1
10 10 1
10 9 1
10 10 1
10 9 1
10 10 1
10 9 1
10 10 1
10 9 1
10 10 1
20 19 1
10 10 1
20 19 1
10 10 1
20 19 1
20 20 1
20 19 1
20 20 1
20 19 1
20 20 1
20 19 1
30 30 1
30 28 1
30 30 1
30 28 1
30 30 1
30 28 1
30 30 1
30 28 1
40 40 1
30 29 1
40 40 1
40 39 1
40 40 1
40 38 1
40 40 1
40 38 1
50 50 1
40 38 1
50 50 1
40 38 1
50 50 1
40 38 1
50 50 1
40 38 1
50 50 1
50 48 1
60 60 1
50 48 1
60 59 1
50 47 1
60 60 1
50 48 1
60 60 1
50 48 1
60 60 1
50 48 1
70 67 1
60 57 1
70 70 1
60 59 1
70 69 1
60 57 1
70 69 1
60 58 1
70 69 1
60 57 1
70 70 1
60 58 1
70 70 1
60 57 1
70 70 1
60 57 1
70 70 1
60 57 1
70 70 1
60 57 1
80 79 1
60 59 1
80 79 1
70 67 1
80 79 1
70 67 1
80 79 1
70 67 1
39
Lampiran 10 Lanjutan
Jarak aktual Data setelah kalibrasi
Jarak aktual
Data sebelum kalibrasi
Data jarak Akurasi
Data jarak Akurasi
80 83 1
70 67 1
80 84 1
70 67 1
80 82 1
70 67 1
80 82 1
80 74 1
80 79 1
80 74 1
80 79 1
80 76 1
80 80 1
80 76 1
80 80 1
80 76 1
80 80 1
80 77 1
80 79 1
80 77 1
80 80 1
80 77 1
90 91 1
80 76 1
90 90 1
90 87 1
90 89 1
90 86 1
90 89 1
90 86 1
90 90 1
90 86 1
90 91 1
90 86 1
90 90 1
100 97 1
90 90 1
100 97 1
90 90 1
100 97 1
100 97 1
100 97 1
100 100 1
100 97 1
100 100 1
100 97 1
100 100 1
100 97 1
100 100 1
100 97 1
100 100 1
90 89 1
90 91 1
90 88 1
90 89 1
90 87 1
90 90 1
90 86 1
90 90 1
90 87 1
90 90 1
90 87 1
90 90 1
80 78 1
80 82 1
80 75 1
80 80 1
80 76 1
80 80 1
80 77 1
80 80 1
70 68 1
80 80 1
70 67 1
70 69 1
70 67 1
70 69 1
70 69 1
70 70 1
70 69 1
70 71 1
70 67 1
70 71 1
70 67 1
70 71 1
60 58 1
40
Lampiran 10 Lanjutan
Jarak aktual Data setelah kalibrasi
Jarak aktual
Data sebelum kalibrasi
Data jarak Akurasi
Data jarak Akurasi
70 70 1
60 57 1
60 60 1
60 57 1
60 60 1
60 57 1
60 60 1
60 57 1
60 60 1
60 57 1
60 60 1
60 57 1
50 53 1
50 48 1
50 50 1
50 48 1
50 49 1
50 48 1
50 49 1
50 48 1
50 49 1
50 47 1
50 49 1
50 51 1
40 42 1
40 40 1
40 40 1
40 39 1
40 39 1
40 37 1
40 39 1
40 37 1
40 40 1
40 37 1
40 40 1
30 29 1
40 40 1
30 28 1
40 40 1
30 29 1
30 32 1
30 28 1
30 30 1
20 19 1
30 32 1
20 19 1
30 32 1
20 19 1
30 31 1
20 19 1
30 30 1
10 10 1
30 30 1
10 9 1
30 30 1
10 9 1
30 30 1
10 9 1
30 29 1
10 9 1
20 20 1
20 18 1
20 20 1
20 18 1
20 20 1
20 19 1
20 20 1
20 18 1
20 20 1
30 29 1
10 10 1
30 29 1
10 10 1
30 28 1
10 10 1
30 28 1
10 10 1
30 29 1
10 10 1
40 38 1
41
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
lebih dari 10%)
50 48 1
60 59 1
60 59 1
60 60 1
60 59 1
70 66 1
70 68 1
70 67 1
80 75 1
80 75 1
80 76 1
80 74 1
90 87 1
90 86 1
80 69 0
80 77 1
80 76 1
80 76 1
70 68 1
70 67 1
70 67 1
70 67 1
60 57 1
60 56 1
60 56 1
60 58 1
50 48 1
50 48 1
50 48 1
50 47 1
40 39 1
40 37 1
40 38 1
30 28 1
30 29 1
30 28 1
30 28 1
42
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
Jumlah yang akurat 179
Rata-rata akurasi 0.994444
43
Lampiran 11 Tabel kalibrasi sensor jarak menggunakan cara brute force
Lama waktu PING (ms) Jarak aktual Lama waktu PING/jarak aktual
591 10 59.10
591 10 59.10
591 10 59.10
1151 20 57.55
1165 20 58.25
1161 20 58.05
1151 20 57.55
1151 20 57.55
1151 20 57.55
1165 20 58.25
1715 30 57.17
1715 30 57.17
1715 30 57.17
1763 30 58.77
1711 30 57.03
1715 30 57.17
2267 40 56.68
2291 40 57.28
2287 40 57.18
2291 40 57.28
2839 50 56.78
2903 50 58.06
2847 50 56.94
2843 50 56.86
2891 50 57.82
2863 50 57.26
3395 60 56.58
3375 60 56.25
3371 60 56.18
3343 60 55.72
3343 60 55.72
3071 60 51.18
3987 70 56.96
3955 70 56.50
3959 70 56.56
3983 70 56.90
4571 80 57.14
4543 80 56.79
4567 80 57.09
4547 80 56.84
5115 90 56.83
5127 90 56.97
5123 90 56.92
5103 90 56.70
44
Lampiran 11 Lanjutan
Lama waktu PING (ms) Jarak aktual Lama waktu PING/jarak aktual
5139 90 57.10
5111 90 56.79
5675 100 56.75
5675 100 56.75
5695 100 56.95
5671 100 56.71
5671 100 56.71
5671 100 56.71
5675 100 56.75
5671 100 56.71
5671 100 56.71
5355 90 59.50
5155 90 57.28
5175 90 57.50
5167 90 57.41
5163 90 57.37
4647 80 58.09
4667 80 58.34
4591 80 57.39
4131 70 59.02
4007 70 57.24
4007 70 57.24
3959 70 56.56
3443 60 57.38
3463 60 57.72
3367 60 56.12
3411 60 56.85
2891 50 57.82
2867 50 57.34
2851 50 57.02
2871 50 57.42
2895 50 57.90
2287 40 57.18
2279 40 56.98
2259 40 56.48
2275 40 56.88
2307 40 57.68
1863 30 62.10
1715 30 57.17
1723 30 57.43
1719 30 57.30
1719 30 57.30
1235 20 61.75
1159 20 57.95
45
Lampiran 11 Lanjutan
Lama waktu PING (ms) Jarak aktual Lama waktu PING/jarak aktual
1159 20 57.95
1151 20 57.55
1155 20 57.75
599 10 59.90
603 10 60.30
595 10 59.50
595 10 59.50
1151 20 57.55
1155 20 57.75
1151 20 57.55
1151 20 57.55
1155 20 57.75
1719 30 57.30
1711 30 57.03
1715 30 57.17
1711 30 57.03
1711 30 57.03
2327 40 58.18
2307 40 57.68
2279 40 56.98
2299 40 57.48
2283 40 57.08
2855 50 57.10
2851 50 57.02
2851 50 57.02
2855 50 57.10
3539 60 58.98
3347 60 55.78
3367 60 56.12
3347 60 55.78
3343 60 55.72
3347 60 55.78
4023 70 57.47
3991 70 57.01
3991 70 57.01
3991 70 57.01
3987 70 56.96
3963 70 56.61
4595 80 57.44
4591 80 57.39
4597 80 57.46
4597 80 57.46
4543 80 56.79
5187 90 57.63
46
Lampiran 11 Lanjutan
Lama waktu PING (ms) Jarak aktual Lama waktu PING/jarak aktual
5087 90 56.52
5127 90 56.97
5703 100 57.03
5679 100 56.79
5675 100 56.75
5115 90 56.83
5095 90 56.61
5095 90 56.61
4611 80 57.64
4547 80 56.84
4531 80 56.64
4575 80 57.19
3991 70 57.01
3975 70 56.79
3979 70 56.84
3579 60 59.65
3343 60 55.72
3379 60 56.32
3375 60 56.25
3371 60 56.18
2851 50 57.02
2843 50 56.86
2847 50 56.94
2851 50 57.02
2303 40 57.58
2267 40 56.68
2243 40 56.08
2259 40 56.48
1715 30 57.17
1715 30 57.17
1711 30 57.03
1715 30 57.17
1215 20 60.75
1159 20 57.95
1155 20 57.75
1151 20 57.55
603 10 60.30
603 10 60.30
591 10 59.10
591 10 59.10
591 10 59.10
Total lama waktu PING/ jarak aktual 9920.21
Rata-rata lama waktu PING/ jarak aktual 57.34
47
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.
Penulis aktif di organisasi kemahasiswaan Himpunan Mahasiswa Ilmu
Komputer (Himalkom) pada tahun 2010–2011. Pada bulan Juli–Agustus 2012
penulis melaksanakan Praktik Kerja Lapang di PT Dirgantara Indonesia Bandung
dengan judul Pengembangan Sistem Artificial Inteligence Untuk Simulator Tank
AMX–13 TNI Angkatan Darat yang dikembangkan bersama Ade Nurusani,
Fiqrotul Ulya, dan Nadya Elsanoviany Putri.