• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Perbandingan Algoritma Flood-Fill dengan Algoritma Backtracking dalam Pencarian Jalur Terpendek pada Robot Micromouse T1 612009009 BAB II

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Perbandingan Algoritma Flood-Fill dengan Algoritma Backtracking dalam Pencarian Jalur Terpendek pada Robot Micromouse T1 612009009 BAB II"

Copied!
12
0
0

Teks penuh

(1)

BAB II

DASAR TEORI

Pada bab ini akan dibahas mengenai beberapa teori yang digunakan sebagai acuan dan pendukung dalam merealisasikan perancangan sistem pada skripsi ini.

2.1. Kajian Pustaka

a. Penerapan Algoritma Flood Fill untuk Menyelesaikan Maze pada

Line Follower Robot [1]

Pada jurnal ini, penulis merancang sebuah robot line follower yang dapat berjalan mengikuti garis dengan menerapkan algoritma flood-fill sebagai algoritma pencarian jalur terpendek di dalam sebuah labirin yang berbentuk garis. Algoritma flood-fill merupakan suatu metode pemecahan masalah dimana penyelesaiannya langsung mengarah ke solusi. Algoritma flood-fill ini memanfaatkan penilaian tiap sel dimana harus disesuaikan dengan kondisi lapangan (maze) yang dihadapi.

Berdasarkan hasil pengujian, penulis menyimpulkan bahwa algoritma flood-fill yang diterapkan pada robot line follower memiliki tingkat error sebesar 20 % yang disebabkan oleh pengerjaan mekanik robot yang kurang baik. Namun algoritma ini bisa dikatakan sudah dapat berjalan dengan tingkat keberhasilan 80 %.

b. Pencarian Jalur Terpendek untuk Robot Micromouse dengan

Menggunakan Algoritma Backtracking [2]

(2)

mengarah ke solusi saja yang akan dikembangkan lebih lagi hingga dicapainya penyelesaian akhir.

Berdasarkan hasil pengujian, penulis menyimpulkan bahwa robot micromouse yang dibuat masih belum dapat menjelajahi semua labirin dengan baik sehingga robot tidak dapat melakukan pemetaan dengan baik. Hal tersebut disebabkan oleh body robot yang terlalu besar sehingga membuat robot mengalami kesusahan saat menjelajahi labirin.

2.2. Penerapan Sensor

Dalam menyelesaikan suatu permasalahan di dalam peta labirin, robot micromouse membutuhkan sensor – sensor tertentu untuk dapat memetakan isi dari suatu peta labirin. Beberapa sensor penting yang perlu diterapkan di dalam robot micromouse adalah sensor dinding, sensor penghitung langkah, dan sensor penunjuk arah. Penjelasan dari sensor – sensor tersebut adalah sebagai berikut :

1. Sensor Dinding

Sensor dinding sangat diperlukan oleh robot micromouse untuk dapat mendeteksi dinding – dinding labirin. Sensor yang dapat digunakan untuk mendeteksi adanya dinding labirin adalah sensor cahaya. Pada umumnya, sensor ini memanfaatkan pantulan cahaya yang dipancarkan melalui transmitter untuk diterima oleh receiver pada sensor. Proses pemantulan cahaya pada sensor cahaya dapat dilihat pada Gambar 2.1.

(3)

Gambar 2.2. Pengaruh warna objek terhadap pantulan cahaya [3]

Objek yang digunakan sebagai media pemantulan cahaya harus memiliki warna dasar putih karena warna putih mampu memantulkan cahaya. Sedangkan objek dengan warna hitam akan menyerap cahaya yang telah dipancarkan oleh sensor cahaya [3]. Gambar 2.2 menunjukkan pengaruh warna objek terhadap pantulan cahaya.

Gambar 2.3. Penempatan Sensor Cahaya

Untuk dapat mendeteksi dinding labirin dari berbagai arah, maka sensor cahaya perlu ditempatkan pada sisi kanan, kiri dan depan robot. Dengan demikian robot micromouse mampu mendeteksi dinding pada bagian kanan, kiri dan depan. Gambar 2.3 menunjukkan penempatan sensor cahaya pada robot.

2. Sensor Penghitung Langkah

(4)

dapat digunakan untuk menghitung langkah adalah rotary encoder dimana merupakan sebuah alat elektromagnetik yang dapat memonitor posisi sudut suatu poros benda berputar. Pada umumnya, rotary encoder menggunakan sensor optik yang terdiri dari LED dan photo-transistor untuk menghasilkan serial pulsa. Sensor optik tersebut dipasang diantara suatu piringan tipis yang memiliki lubang – lubang pada bagian lingkaran piringan. Ketika piringan tersebut berputar, photo-transistor akan mendeteksi cahaya LED melalui lubang – lubang pada piringan sehingga menghasilkan suatu pulsa gelombang persegi melalui squaring circuit [4]. Susunan rotary encoder dapat dilihat pada Gambar 2.4.

Gambar 2.4. Susunan Rotary Encoder [4]

Banyaknya deretan pulsa yang dihasilkan pada satu putaran inilah yang akan menentukan akurasi dari suatu rotary encoder. Sehingga semakin banyak jumlah lubang pada piringan, akan semakin banyak deretan pulsa yang dihasilkan. Jumlah deretan pulsa ini nantinya akan berpengaruh pada sistem incremental untuk tiap pulsa yang diproses oleh kontroler untuk menghitung suatu jarak. Dengan begitu, robot lebih akurat dalam menentukan langkah yang akan ditempuh.

3. Sensor Penentu Arah

(5)

merupakan sebuah alat navigasi untuk menentukan arah yang bebas menyelaraskan dirinya dengan medan magnet bumi secara akurat. Kompas itu sendiri terbagi menjadi 2 bagian, yaitu : kompas analog dan kompas digital. Kompas analog menggunakan jarum atau lempengan besi sebagai penunjuk arah, sedangkan kompas digital menggunakan komponen – komponen elektronika seperti sensor magnet dimana telah menggunakan proses digitalisasi [5].

Gambar 2.5. Penempatan Kompas Digital

Pada umumnya, kompas digital merupakan sensor penunjuk arah yang paling praktis untuk diterapkan pada robot. Kompas digital mampu menghasilkan suatu nilai sudut dari arah mata angin yang sangat berguna untuk dijadikan sebagai acuan penunjuk arah pada robot. Acuan penunjuk arah tersebut dapat digunakan oleh robot untuk menentukan kapan harus belok kiri, belok kanan, maju lurus, atau berputar balik di dalam peta labirin. Kompas digital perlu ditempatkan tepat di tengah – tengah robot seperti pada Gambar 2.5 sehingga proses penentuan arah hadap pada robot menjadi lebih akurat.

2.3. Perbandingan Algoritma

(6)

Tabel 2.1. Perbandingan Algoritma

Sulit untuk diimplementasikan Mudah untuk diimplementasikan Tidak memerlukan informasi tentang dinding - dinding labirin sehingga tidak membutuhkan memori penyimpanan

Algoritma F lood-F ill Algoritma Backtracking

Dapat menemukan solusi yang

Algoritma flood-fill merupakan modifikasi dari algoritma bellman-ford yang memetakan setiap sel di labirin dengan nilai tertentu berdasarkan jaraknya terhadap tempat tujuan. Algoritma ini dapat dianalogikan seperti membanjiri suatu labirin dengan air yang banyak. Kemudian air akan terus mengalir ke segala arah yang tidak terhalang oleh dinding hingga mencapai lantai tempat tujuan. Jalur yang dilewati oleh tetesan air pertama di tempat tujuan merupakan jalur terpendek untuk mencapai tempat tujuan tersebut [6].

(7)

Berikut adalah tahap – tahap dari algoritma flood-fill, yaitu : a. Pembangkitan nilai awal untuk masing – masing sel

Nilai awal ditentukan dengan asumsi bahwa terdapat jalur yang saling menghubungkan antara sel satu dengan sel tetangga lainnya dan masih belum ada dinding labirin yang menghalangi jalur tersebut. Di sini, hanya ada 4 arah yang menjadi patokan dalam menghubungkan jalur antar sel, yaitu utara, selatan, timur dan barat. Proses pembangkitan nilai sel ini dimulai dari sel tujuan akhir dimana akan bernilai 0, sedangkan sel – sel tetangga yang terhubung dengan sel tujuan akhir tersebut akan bernilai 1. Kemudian sel – sel tetangga selanjutnya akan bernilai 2, 3, 4 dan seterusnya hingga semua sel terisi. Apabila dilihat polanya, setiap sel yang menjauhi sel tujuan akhir akan memiliki penambahan nilai sebesar satu dari nilai sel sebelumnya dan itu merepresentasikan jumlah sel yang harus ditempuh untuk dapat mencapai sel tujuan. Ilustrasi pembangkitan nilai awal dapat dilihat pada Gambar 2.6.

(8)

b. Pembaharuan pemetaan dinding

Pada tahap ini, akan dilakukan proses pemetaan dinding berdasarkan informasi tentang kondisi lapangan. Kondisi lapangan ini mengacu pada dinding – dinding penghalang dimana tiap – tiap sel memiliki 4 dinding penghalang di bagian utara, selatan, timur dan barat. Bentuk kondisi lapangan dapat dilihat pada Gambar 2.7. Dalam hal ini, ketiga sensor robot akan bekerja sebagai pencari informasi terhadap dinding – dinding labirin di sekitar robot di dalam suatu sel. Semua informasi mengenai dinding – dinding labirin tersebut untuk sementara akan disimpan di dalam suatu array. Kemudian setelah proses pemetaan dinding – dinding labirin berakhir, semua informasi mengenai dinding labirin di dalam array tersebut akan disimpan di dalam suatu memori sehingga dapat diakses kapan pun saat dibutuhkan. Proses pemetaan dinding ini nantinya akan mempengaruhi nilai – nilai awal pada tiap sel.

Gambar 2.7. Bentuk Kondisi Lapangan

c. Pembaharuan nilai sel

(9)

jalur pada sel terkecil yang dituju terhalang oleh dinding penghalang atau sel tujuan lain memiliki nilai yang lebih besar dari pada nilai sel robot berada. Untuk menyesuaikan nilai – nilai sel tersebut, maka nilai sel robot berada perlu diubah dengan melakukan proses pembangkitan ulang terhadap nilai – nilai sel tersebut. Ilustrasi proses pembaharuannilai sel dapat dilihat pada Gambar 2.8.

Gambar 2.8. Ilustrasi proses pembaharuannilai sel [1]

Berdasarkan gambar di atas, robot mulai berjalan dari posisi start menuju sel yang bernilai lebih kecil dari sel robot berada. Proses pembaharuan nilai sel terjadi saat robot berada pada sel bernilai 2 dimana jalur pada sel tujuan selanjutnya yang bernilai 1 terhalang oleh dinding pada bagian timur. Saat itu juga nilai pada sel robot berada berubah menjadi 4 dan robot mulai berbalik arah berjalan menuju sel tujuan yang nilainya lebih kecil dari sel robot berada. Setelah robot berjalan dan berada pada sel yang bernilai 1, pada saat itu robot akan menuju sel tujuan yang bernilai 0 pada bagian utara. Namun karena sel tujuan tersebut terhalang oleh dinding dan sel tujuan lainnya bernilai 2 dimana lebih besar dari nilai sel robot berada, dilakukan pembaharuan nilai sel kembali. Saat itu juga nilai sel robot berada berubah menjadi 3 dan robot dapat melanjutkan perjalanan menuju sel yang ada di bagian timur yang bernilai 2 dimana lebih kecil dari nilai sel robot berada. Selanjutnya robot berjalan hingga mencapai finish tanpa ada pembaharuan nilai sel kembali.

d. Menentukan sel tujuan selanjutnya

Setelah melakukan proses penomoran – penomoran terhadap nilai tiap

(10)

tujuan robot. Proses ini akan membandingkan antara nilai sel robot berada dengan nilai sel – sel tetangga yang ada di sekitarnya. Sel – sel tetangga yang memiliki nilai terkecil dari yang lainnya akan menjadi sel tujuan selanjutnya. Apabila ditemukan lebih dari satu sel terkecil yang sama besar nilainya, maka akan dipilih sel tujuan yang memiliki jalur lurus / tidak bebelok sehingga mempercepat proses pencarian jalur terpendek.

e. Bergerak menuju ke arah sel tujuan selanjutnya

Setelah sel yang akan dituju ditentukan, maka robot akan berjalan sejauh satu sel menuju arah sel tujuan tersebut. Pada proses ini robot akan melakukan manuver terlebih dahulu kearah sel yang dituju, kemudian dilanjutkan dengan robot berjalan menuju sel tersebut. Ini adalah tahap akhir proses dari algoritma flood-fill dan keseluruhan proses ini akan diulang secara berulang – ulang sampai ditemukannya nilai yang mengindikasikan sel tujuan akhir.

2.5. Algoritma Backtracking

(11)

Berikut adalah prinsip dari pencarian solusi dengan metode runut-balik, yaitu :  Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan

pembentukan yang dipakai adalah mengikuti aturan pencarian mendalam (DFS). Simpul-simpul yang sudah dilahirkan dinamakan simpul hidup (live node). Simpul hidup yang sedang diperluas dinamakan simpul-E ( Expand-node).

 Tiap kali simpul-E diperluas, lintasan yang dibangun olehnya bertambah panjang. Jika lintasan yang sedang dibentuk tidak mengarah ke solusi, maka simpul-E tersebut “dibunuh” sehingga menjadi simpul mati (dead node).  Jika pembentukan lintasan berakhir dengan simpul mati, maka proses

pencarian diteruskan dengan membangkitkan simpul anak yang lainnya. Bila tidak ada lagi simpul anak yang dapat dibangkitkan, maka pencarian solusi dilanjutkan dengan melakukan runut-balik ke simpul hidup terdekat (simpul orangtua). Selanjutnya simpul ini menjadi simpul-E yang baru.

 Pencarian dihentikan apabila telah menemukan solusi atau tidak ada lagi simpul hidup untuk runut-balik.

Gambar 2.10. Ilustrasi proses runut-balik pada peta labirin 5 x 5

(12)

robot akan menelusuri lorong labirin, ketika menemukan percabangan jalur maka robot akan memilih salah satu dari jalur yang tersedia. Apabila jalan yang dipilih ternyata merupakan jalan buntu, maka robot akan melakukan proses runut-balik ke percabangan tadi dan kemudian memilih jalur yang lainnya. Ilustrasi proses runu-balik dapat dilihat pada Gambar 2.10. Proses ini tentu saja akan membuat robot mencoba semua kemungkinan jalur yang ada. Dengan menjelajahi semua sel dalam labirin, pada akhirnya robot akan dapat menemukan tempat yang dituju dan mampu menentukan jalur terpendek yang harus dilewatinya.

Gambar 2.11. Pohon solusi proses runut-balik dan pencarian jalur terpendek

Gambar

Gambar 2.1. Proses pemantulan cahaya pada sensor cahaya
Gambar 2.3. Penempatan Sensor Cahaya
Gambar 2.4. Susunan Rotary Encoder [4]
Gambar 2.5. Penempatan Kompas Digital
+7

Referensi

Dokumen terkait

Cerdas dalam bahasa Inggris adalah SMART yang artinya cerdas. Akan tetapi, dalam proses perencanaan kegiatan merupakan singkatan dari lima huruf bermakna. Ketika

Sebagai dampak dari tingkat minat belajar siswa yang tinggi tersebut maka secara keseluruhan terdapat 33 siswa atau 91,6% tuntas belajar dan 3 siswa atau 8,4% belum

Berbeda dari perlakuan variasi suhu, hasil dea- setilasi dengan variasi waktu (Gambar 5) menunjukkan bahwa deasetilasi dengan waktu 10 jam menghasilkan bobot kitosan yang

Hal ini dapat disebabkan karena kandungan yang terdapat pada kotrimoksazol telah dimurnikan dan benar – benar bekerja sebagai antibakteri dibandingkan dengan ekstrak

Menurut Doshi dkk., (2008), salah satu bahan biologis yang dapat digunakan untuk biosorpsi adalah mikroalga Nannochloropsis salina karena spesies ini mampu

Metode lain yang umum dipakai dalam tahap layering adalah cash converted into monetary instruments (mengubah uang tunai ke dalam instrumen moneter). Sekali

dalam pengembangan media pembelajaran PLC berbasis web meliputi tahapan penelitian dan pengembangan, keterbatasan isi materi dan teknis. Pada tahapan penelitian dan

Simpulan berdasarkan hasil penelitian dapat disimpulkan bahwa penggunaan tepung gathot (ketela terfermentasi) dalam ransum ayam broiler tidak memberikan pengaruh terhadap