PROFIL PENULIS
Aap Jaehapni. Lahir di Indramayu tanggal 29 Januari 1987. Anak pertama dari 2 bersaudara, menamatkan pendidikan SLTA di SMAN I sukagumiwang (Kertasemaya) Indramayu (2004), dan melanjutkan studi S1 pada Jurusan Teknik Informatika di Universitas Komputer Indonesia (2004-2009). Mengerjakan Tugas Akhir dengan judul Perancangan dan Implementasi Algoritma Robot Cerdas Pemadam Api Expert Battle (DU 99) sampai dengan bulan Juli 2009 dan ikut serta dalam ajang kontes Regional dan Nasional, Kontes Robot Cerdas Indonesia (KRCI) Expert Battle tingkat Regional diselenggarakan pada tanggal 8-9 Mei 2009 di Balairung Universitas Indonesia, Depok sebagai mekanik tim DU 99 dengan prestasi yang diraih Juara I Regional II (DKI Jakarta, Jawa Barat dan Banten) Kontes Robot Cerdas Indonesia Divisi Expert Battle (2009) dan menjadi finalis diajang kontes nasioanal yang diselenggarakan pada tanggal 13-14 Juni 2009 di Graha Sabha Pramana Universitas Gajah Mada, Yogyakarta. Aktif sebagai asisten Lab. Divisi Robotika UNIKOM. Gemar dengan dunia computer, celluler, dan Informasi Teknologi (IT).
Email : jaehapni@gmail.com
Jaehapni_aap@yahoo.com Website : http://afnee.co.cc
PERANCANGAN DAN IMPLEMENTASI ALGORITMA ROBOT CERDAS PEMADAM API EXPERT BATTLE
( DU 99)
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
AAP JAEHAPNI 10104181
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA BANDUNG
1 BAB I PENDAHULUAN
1.1 Latar Belakang
Indonesia telah mengadakan beberapa kali kontes robot yang terbagi
menjadi dua, Kontes Robot Indonesia (KRI) dan Kontes Robot Cerdas Indonesia
(KRCI), pada Kontes Robot Cerdas Indonesia (KRCI) 2009 terdapat 4 (empat)
Divisi, yaitu :
1. Divisi Senior, meliputi :
a. Divisi Wheeled Robot
b. Divisi Legged Robot 2. Divisi Expert
a. Divisi ExpertSingle b. Divisi ExpertBattle
KRCI (Kontes Robot Cerdas Indonesia) selama ini menerapkan aturan
kontes atau pertandingan dalam bentuk perlombaan yang bersifat individual. Hal
ini menyebabkan pertandingan relatif menjadi kurang begitu atraktif bagi
penonton, karena hanya peserta, juri dan pengamat teknologi saja yang dapat
memahami apa yang sedang dilakukan oleh robot ketika bertanding. Sedangkan
pada KRI (Kontes Robot Indonesia) pertandingan menjadi meriah sebab
robot-robot peserta saling berhadap-hadapan seperti layaknya pertandingan olahraga
sehingga memungkinkan adanya dukungan aktif para penonton/supporter ketika
pertandingan sedang berlangsung. Sementara itu, jika robot KRCI selama ini
relatif berbentuk kecil sehingga mudah dibawa, maka robot KRI hampir selalu
berbentuk relatif besar dan berjumlah lebih dari dua. Dewan juri dan DP2M
DIKTI menyadari bahwa banyak perguruan tinggi belum mampu mengikuti
kontes tipe KRI karena terkendala dengan persiapan robot yang besar-besar dan
2 Untuk itulah maka dalam KRCI 2009, sebuah divisi baru bernama Expert
Battle diperkenalkan. Kontes pertandingan disusun dengan menggabungkan
konsep KRI yang mensyaratkan sistem pertandingan berhadap-hadapan dengan
KRCI yang melombakan robot berdimensi kecil yang berfungsi secara
sendiri-sendiri untuk memadamkan api lilin dan menyelamatkan bayi. Karena sifatnya
yang berhadap-hadapan tersebut maka divisi baru ini, diberi nama Expert Battle.
Divisi Expert Battle ini sesungguhnya mengadopsi peraturan pertandingan
IJE Robocon (Indonesia Japan Expo) Robot Kontes 2008 yang telah
diselengggarakan pada 9 Nopember 2008 yang lalu dalam rangka ulang tahun
ke-50 persahabatan Indonesia-Jepang.
Tema Divisi Pemadam Api Divisi Expert Battle pada KRCI 2009 adalah
“API-API PERSAHABATAN”.
Kontes tersebut memiliki nilai dan arti lebih didalam masyarakat khususnya
guna mendorong penguasaan teknologi maju bagi para mahasiswa teknik di
Indonesia dan peningkatan kualitas robot terutama pada algoritma dan sistem
kontrolnya.
Dalam mengikuti suatu kontes, robot yang didesain dan dirancang haruslah
cerdas, handal, stabil, serta cepat dalam melakukan aksi di arena kontes.
Penggunaan mikrokontroler harus sesuai dengan sensor dan program yang akan
digunakan.
Hal tersebut yang mendasari Penulis untuk menyusun tugas akhir yang
3 3 menit dan menyelamatkan boneka bayi dengan mengangkatnya dan
memindahkanya ke posisi HOME.
1.2 Maksud dan Tujuan
Maksud dan tujuan dari penelitian ini adalah merancang dan
mengimplementasikan algoritma robot cerdas pemadam api mengacu pada
Kontes Robot Cerdas (2009) Divisi Expert Battle yang akan saling
berhadap-hadapan dalam arena kontes untuk memperebutkan posisi-posisi api dan
memadamkanya dalam waktu 3 menit dan menyelamatkan boneka bayi dengan
mengangkat dan memindahkanya ke posisi HOME.
1.3 Batasan Masalah
Dalam tugas akhir ini, penulis membatasi permasalahan pada perancangan
algoritma gerak cepat robot, agar dapat memperebutkan posisi-posisi api dan
memadamkanya dalam waktu 3 menit dan menyelamatkan boneka bayi dengan
mengangkatnya dan memindahkanya ke posisi HOME. Batasan masalah ini
mengacu kepada peraturan Kontes Robot Cerdas Indonesia 2009 divisi expert
battle.
Dalam perancangan dan pengendalian algoritma gerak cepat robot tersebut
dibatasi beberapa ketentuan yakni :
1.3.1 Dimensi Robot
Robot yang dibuat dan diikutsertakan dalam Kontes Robot Cerdas
Indonesia 2009 Divisi Expert Battle dibatasi oleh ketentuan dimensi
maksimum saat start, yakni panjang robot 30 cm, lebar robot 30 cm,
dan tinggi robot bebas namun dilarang melebihi batas dinding yang
4
Gambar 1.1Bentuk Robot ketika START, bertanding dan
mengangkat bayi
Alasan utama penentuan ukuran panjang dan lebar yang digunakan
adalah kemudahan manuver robot dalam bergerak menyusuri lorong
arena yang memiliki lebar 48 cm dan kestabilan robot melewati
rintangan yang ada. Dengan lebar 25,5 cm masih ada sisa sekitar 22
cm di sisi kiri maupun kanan robot ketika robot berada di
tengah-tengah lorong. Hal ini memudahkan manuver dan berpotensi untuk
mempercepat gerak robot karena mikrokontroler tidak perlu terlalu
sering membaca hasil deteksi sensor dinding dan melakukan
manuver penghindaran tabrakan dengan dinding. Selain untuk
kemudahan dalam manuver, ukuran yang kami gunakan merupakan
penyesuaian dengan penempatan seluruh komponen.
1.3.2 Bentuk Robot
Gambar-gambar berikut ini menunjukkan bentuk robot pemadam
5 Gambar 1.2 Foto Robot Expert Battle
1.3.3 Jumlah Robot
Robot hanya 1 (satu) unit yang boleh bertanding.
1.3.4 Bayi
Bentuk dan dimensi boneka bayi seperti pada gambar 1.2, yaitu
terbuat dari Styrofoam dicat merah dan biru, sedangkan kepala
terbuat dari bola pingpong berwarna kuning dan memiliki panjang
diameter 8 cm dan tinggi 15 cm
Gambar 1.3Bentuk dan dimensi bayi
1.3.5 Lapangan Pertandingan
7 Tabel 1.1 Keterangan Gambar 1.4
Keterangan Tambahan :
a. Lantai Lapangan berwarna hijau gelap.
b. Lantai lapangan adalah rata tanpa halangan (obstacle),
kecuali pada posisi yang bertanda gambar
.
c. Tiap kotak berukuran (50x50)cm diukur dari tengah
dinding setebal 1.8-2 cm setinggi 25 cm.
d. Sisi dinding berwarna putih.
e. Atas dinding berwarna hitam.
f. Semua dinding rata tanpa asesori.
g. Tanda H adalah posisi START Robot di MERAH ataupun
BIRU.
h. Lambang H berwarna putih.
i. Batas tiap kotak (50x50)cm tidak bergaris.
8 1.5 berikut ini :
Gambar 1.5Posisi boneka dan tempatnya terhadap dinding
k. Boneka diletakkan di atas tempat berbentuk silinder kayu
pejal berwarna hijau yang ditanam tetap dilantai
l. Posisi lilin terhadap dinding pojok adalah seperti Gambar
1.6 berikut ( kecuali untuk lilin pada posisi gambar lilin 3
jaraknya adalah 2 cm dari dinding terdekat).
Gambar 1.6Posisi lilin terhadap dinding
1.3.6 Sistem Pertandingan
Pertandingan dilaksanakan sebagai berikut :
9 (Kompetisi) pada babak penyisihan. Pada babak Perempat final,
semifinal dan final dilakukan dengan sistem gugur (Knock Out System).
b. Dua Robot akan berhadapan (START di tempat masing-masing)
untuk memerebutkan posisi-posisi lilin dan memadamkanya, dan
mengangkat serta memindahkan boneka bayi yang menjadi
tanggung jawabnya (berwarna sesuai dengan posisi START) ke
posisi HOME masing-masing.
c. Diberikan waktu maksimum 1 (satu) menit kepada Tim Robot
untuk mempersiapkan robotnya di posisi START.
d. Robot dijalankan dengan menekan satu tombol START setelah
tanda GO diberikan. Penekanan tombol boleh dilakukan oleh
anggota tim.
e. Robot akan dinyatakan menang mutlak jika berhasil
memadamkan pasangan lilin sesuai dengan warna tim dan
memindah boneka bayi ke posisi HOME masing-masing seperti
terlihat pada Tabel 1.1. Nilai totalnya akan ditambah dengan
nilai lilin-lilin yang belum padam di seluruh lapangan.
f. Jika tidak ada yang menang mutlak hingga 3 menit pertandingan
berakhir maka nilai total dihitung dari lilin-lilin yang berhasil
dipadamkan dan keberhasilan mengangkat dan atau memindah
boneka bayi ke posisi HOME setelah dikurangi PENALTI.
g. Wasit berhak menghentikan pertandingan sewaktu-waktu jika
robot membahayakan lapangan, misalnya merobohkan dinding,
merusak boneka bayi, menggulingkan lilin sehingga
memungkinkan terjadinya kebakaran, dan hal-hal lain yang
dianggap dapat membahayakan/merusak lapangan pertandingan.
1.3.7 Sistem Penilaian
10 bertanda angka 5 dalam jarak kurang dari 20 cm diukur dari titik
tengah lilin (robot telah menyentuh atau berada di dalam garis
pembatas). Nilai batal jika robot masih berada di luar garis, dan atau
menyentuh tempat lilin dan atau lilin ini sekaligus mendapat
pengurangan nilai (penalti) 5.
b. Robot memperoleh nilai 3 jika mampu memadamkan lilin di posisi
bertanda angka 3 dalam jarak kurang dari 30 cm diukur dari titik
tengah lilin (robot telah menyentuh atau berada di dalam garis
pembatas). Nilai batal jika robot masih berada di luar garis, dan
atau menyentuh tempat lilin dan atau lilin ini sekaligus mendapat
pengurangan nilai (penalti) 3.
c. Robot memperoleh nilai 2 jika mampu memadamkan lilin di posisi
bertanda angka 2 dalam jarak kurang dari 30 cm diukur dari titik
tengah lilin (robot telah menyentuh atau berada di dalam garis
pembatas). Nilai batal jika robot masih berada di luar garis, dan atau
menyentuh tempat lilin dan atau lilin ini sekaligus mendapat
pengurangan nilai (penalti) 2.
d. Robot memperoleh nilai 1 jika mampu memadamkan lilin di posisi bertanda angka 1 dalam jarak kurang dari 30 cm diukur dari titik
tengah lilin (robot telah menyentuh atau berada di dalam garis
pembatas). Nilai batal jika robot masih berada di luar garis, dan atau
menyentuh tempat lilin dan atau lilin ini sekaligus mendapat
pengurangan nilai (penalti) 1
e. Robot memperoleh nilai 4 jika berhasil mengangkat sebuah boneka
bayi, baik boneka MERAH maupun BIRU dan mempertahankannya
di udara selama pertandingan berlangsung. Mendapat nilai 8 jika
dua-duanya mampu diangkat dan dipertahankan di udara selama
pertandingan.
f. Robot memperoleh nilai 8 jika mampu mengangkat boneka bayi
11 sendiri (nilai 4 untuk mengangkat dan nilai 4 untuk meletakkan). g. Jika sebuah lilin dipadamkan secara bersama-sama oleh dua robot
maka nilainya akan dibagi dua.
1.3.8 Retry (mengulang START)
Ijin mengulang START Robot (Retry) diberikan dengan syarat :
a. Untuk masing-masing Tim, Retry hanya dilakukan sekali selama
satu pertandingan. Permintaan Retry harus diajukan secara lisan
kepada Wasit, dan baru dilakukan jika IJIN telah diberikan. Peserta
boleh melakukan sendiri pemindahan robot ke posisi START
ataupun minta batuan wasit jika perlu.
b. Boneka bayi yang ditubruk atau disentuh oleh robot akan
dikembalikan pada posisi semula jika tim robot ini minta RETRY. c. Permintaan Retry TIDAK AKAN DILAYANI jika pertandingan
telah berjalan lebih dari SATU MENIT.
1.3.9 Menyerah
Menyerah atau GIVE UP dari sebuah pertandingan dapat diminta
dengan prosedur :
a. Melakukan permintaan secara lisan kepada Wasit sebelum atau
ketika pertandingan sedang berlangsung.
b. Jika Permintaan GIVE UP dilakukan ketika bertanding sedang
berlangsung maka robot yang bersangkutan harus diangkat
keluar dari arena pertandingan.
1.3.10 Penalti
Penalti akan diberikan kepada Tim Robot jika :
a. Robot menyentuh lilin dan atau tempatnya. Pengurangan nilai DISESUAIKAN dengan NILAI POSISI lilin tersebut.
b. Robot dengan sengaja menjatuhkan boneka bayi lawan baik
langsung (dengan menyenggol) ataupun tak langsung (dengan
12 namun terlepas. Nilai Penalti untuk pelanggaran ini adalah 4. c. Jika lilin ditubruk dan lepas dari tempatnya maka nilai penalti
dikalikan 2 (dua).
d. Pengurangan nilai SEBESAR 5 akan diberikan kepada Tim yang
robotnya menabrak robot lawan hingga menggulingkannya.
Kejadian-kejadian yang tidak menyebabkan penalti :
a. Robot bertabrakan, baik SENGAJA ATAUPUN TIDAK dan TIDAK MENYEBABKAN robot lawan TERGULING.
b. Robot terguling dengan sendirinya.
c. Robot terbakar atau rusak karena alasan sendiri ataupun karena
tabrakan. 1.3.11 Diskualifikasi
Diskualifikasi diberikan kepada Tim Robot jika :
a. Robot tidak memenuhi spesifikasi seperti yang diterangkan dalam
Rule 1.3.1.
b. Robot merusak lapangan pertandingan seperti, merobohkan dinding, merusak boneka, dan menubruk pot lilin dan atau pot
boneka hingga lepas dari tempatnya.
c. Anggota Tim dengan sengaja menyentuh robot ketika sedang bertanding.
d. Anggota Tim tidak patuh pada arahan WASIT dan atau JURI.
e. Anggota Tim melakukan tindakan yang dapat dikategorikan sebagai
tindakan menodai spirit fair play selama kegiatan kontes.
1.4 Metodologi Penelitian
Metodologi penelitian yang penulis lakukan adalah eksperimental dengan
tahapan sebagai berikut :
13 Mencari referensi buku dan mencari berbagai komponen pendukung yang
akan dipakai dalam perangcangan tugas akhir ini serta mempelajari bahsa
pemrograman yang akan digunakan.
2. Interview dan eksperimen
Mencoba berbagai modul rangkaian yang diperoleh dari studi literatur dan
studi lapangan serta mendiskusikan hasil eksperimen dengan dosen
pembimbing.
3. Perancangan
Setelah melakukan eksperimen dan hasil eksperimen tersebut sesuai dengan
kebutuhan maka dilakukan perancangan dengan cara menggabungkan
eksperimen-eksperimen dari segi perangkat keras ( modul-modul rangkaian )
dengan perangkat lunak, sehingga tersusun sebuah sistem.
4. Analisis dan Pengujian
Untuk mengetahui hasil dari perangcangan sistem yang telah dibuat,
selanjutnya akan dilakukan pengujian dengan cara mengambil data dari
sistem yang dibuat dan menganalisis data tersebut, apakah telah sesuai
dengan yang diinginkan atau belum, apabila data yang diperoleh tidak sesuai
dengan yang diinginkan maka akan dilakukan pengecekan kembali dan
memperbaikinya sehingga diperoleh hasil pengujian yang sesuai.
1.5 Sistematika Penulisan
Adapun sistematika penulisan pada tugas akhir ini adalah :
BAB I. PENDAHULUAN
Dalam bab ini membahas mengenai latar belakang, maksud dan
tujuan penulisan, batasan masalah, metoda penulisan dan sistematika
penulisan.
BAB II. LANDASAN TEORI
Dalam bab ini membahas tentang teori-teori dasar yang berhubungan
14 BAB III. PERANCANGAN SISTEM
Dalam bab ini membahas tentang perancangan perangkat keras dan
perangkat lunak. Pemilihan terhadap sensor-sensor yang digunakan
untuk navigasi, pencarian api dan pemadam api. Algoritma
pergerakan robot di arena
BAB IV. ANALISIS DAN PENGUJIAN
Dalam bab ini membahas tentang pengujian algoritma gerak robot
dan analisa data terhadap sensor-sensor yang digunakan, serta
pengujian robot dari segi mekanikal.
BAB V. KESIMPULAN DAN SARAN
Dalam bab ini berisi kesimpulan dan saran yang didapat selama
vii
2.2.1. Basic Stamp... 22
2.2.1.1 Editor Basic Stamp……… 23
2.2.1.2 Cara Pembuatan Program……… 26
III.PERANCANGAN SISTEM
3.2.2. Algoritma Gerak Untuk Seluruh Ruangan ... 41
IV. UJI COBA DAN ANALISIS SISTEM 4.1. Perangkat Keras (Penggunaan Sensor)... 53
4.1.1 Pendeteksian Jarak Jauh Menggunakan Sensor Dinding.. ... 53
4.1.2 Sensor IR Lantai……… ... 58
4.1.3 Sensor Api ………... 59
4.2. Software (Perangkat Lunak) ... 62
4.2.1 Penentuan Kecepatan Motor………... 62
4.2.2 Pendeteksian Jarak Jauh Menggunakan Sensor Ultrasonik... 63
4.2.3 Penentuan Perulangan pada prosedur belok kiri dan kanan.. .. 64
4.2.4 Pendeteksian dan Pencarian Api………... 65
viii
V. KESIMPULAN DAN SARAN
5.1. Kesimpulan ... 71 5.2. Saran... ... 71
DAFTAR PUSTAKA ... 73
ix
DAFTAR GAMBAR
Gambar 1.1. Bentuk robot ketika start, bertanding dan mengangkat bayi ... 4
Gambar 1.2. Foto robot Expert Battle ... 5
Gambar 1.3. Bentuk dan dimensi bayi ... 5
Gambar 1.4. Lapangan divisi Expert Battle ... 6
Gambar 1.5. Posisi boneka dan tempatnya terhadap dinding... 8
Gambar 1.6. Posisi lilin terhadap dinding ... 8
Gambar 2.1 Modul Mikrokontroller BS2P40 (Scenix48BD)... 16
Gambar 2.2 Konfigurasi pin SX48BD ... 17
Gambar 2.3 Tampilan editor Basic Stamp... 24
Gambar 2.4 Tampilan Menu/ToolBar editor Basic Stamp... 24
Gambar 2.5 Contoh tampilan tab editor dengan 4 file terbuka... 25
Gambar 2.6 Lembar kerja/editor Basic Stamp... 25
Gambar 2.7 Tampilan Status Bar pada program editor Basic Stamp ... 26
Gambar 2.8 Icon type Basic Stamp dan versi bahasa PBASIC ... 26
Gambar 2.9 Tampilan jenis Basic Stamp dan versi bahasa PBASIC editor.. 26
Gambar 2.10 Contoh tampilan editor Basic Stamp berisi potongan program. 27 Gambar 3.1. (a). Motor pump (b). Kipas pemadam... 34
Gambar 3.2. Gripper (Pencapit boneka bayi) ... 36
Gambar 3.3. Diagram blok sistem ... 36
Gambar 3.4. Alur Pergerakan robot ... 42
Gambar 3.5. Diagram alir gerak untuk semua ruangan... 43
Gambar 3.6. Lanjutan... 44
Gambar 3.13. Diagram alir ambil bayi merah... 52
Gambar 4.1 Posisi pengujian sensor dinding... 56
x
xi
DAFTAR TABEL
Tabel 1.1 Keterangan Gambar 1.4 ... 7
Tabel 2.1 Konfigurasi pin-pin mikrokontroler SX38BD ... 18
Tabel 2.2 Beberapa instruksi dasar basic stamp ... 23
Tabel 3.1 Pin-pin I/O yang digunakan pada SX38BD... 36
Tabel 4.1 Hasil pengukuran sensor dinding (ultrasonic)... 57
Tabel 4.2 Hasil pengujian sensor Lantai menggunakan LED super merah ... 58
Tabel 4.3 Hasil pengujian sensor lantai menggunakan infra merah ... 59
Tabel 4.4 Hasil pengukuran jumlah siklus sensor api... 61
Tabel 4.5 Perbandingan jarak aman antara sensor dengan dinding ... 63
Tabel 4.6 Perbandingan kondisi baterai dengan jumlah perulangan ... 64
Tabel 4.7 Hasil pengujian robot menyelesaikan tiap tugas di home biru ... 67
Tabel 4.8 Perhitungan nilai variansi percobaan di HOME biru ... 68
Tabel 4.9 Hasil pengujian robot menyelesaikan setiap tugas di home merah.. 69
Tabel 4.10Perhitungan nilai variansi percobaan di HOME merah ... 69
xii
DAFTAR LAMPIRAN
Lampiran A : Penjelasan peraturan Kontes Robot Cerdas Indonesia 2009 .... 73
xiii
Keluar ke atau masuk dari bagian lain
points Awal / akhir flowchart
6 Anak panah