My Muse

Sabtu, 15 Oktober 2016

ANALISIS PERBANDINGAN ALGORITMA PLEDGE DENGAN ALGORITMA WALL FOLLOWER PADA ROBOT WALL MAZE

Abstract
Kecerdasan buatan dalam bidang robotika adalah suatu algoritma cerdas yang diprogramkan ke dalam kontroler robot. Kecerdasan ini diperlukan robot untuk membantu manusia menjalankan suatu fungsi tertentu secara otomatis dan mandiri. Fungsi yang dilakukan oleh robot melalui kecerdasan buatan dalam tugas akhir ini adalah melakukan penelusuran maze dari titik start sampai menemukan titik finish. Kecerdasan buatan diimplementasikan menggunakan algoritma pledge, yaitu sebuah algoritma pencari jalur dengan mempertimbangkan arah utama dan prioritas penelusuran yaitu right wall priority dan left wall priority. Algoritma wall follower juga digunakan dalam tugas akhir ini, algoritma ini digunakan sebagai pembanding kinerja terhadap algoritma pledge. Algoritma wall follower memiliki dua konsep penelusuran, yaitu right hand rule dan left hand rule. Pengujian yang dilakukan meliputi pengujian algoritma, pengujian terhadap Radiation cone (radiasi sensor), pengujian terhadap maze, pengujian terhadap jarak sensor dan pengujian waktu tempuh ke titik finish. Dari pengujian yang dilakukan dapat ditarik kesimpulan bahwa tingkat keberhasilan dalam penelusuran maze sebesar 90%, karena pada pengujian dengan posisi finish diluar lintasan robot tidak dapat berhenti tepat pada titik finish. Perangkat lunak dalam tugas akhir ini dirancang dengan menggunakan bahasa pemrograman Basic dan menggunakan simulator Mobotsim V.10.

PENDAHULUAN

1.1        Latar Belakang

Kecerdasan buatan merupakan bidang ilmu yang baru berkembang pada tahun 90-an dan aplikasinya banyak diterapkan dalam berbagai bidang, mulai dari games komputer, sistem kontrol cerdas, robotik, sistem pakar. Pada bidang robotik, kecerdasan buatan banyak diaplikasikan pada robot-robot tertentu dengan keistimewaan yang khusus dan berkaitan erat dengan kebutuhan dalam bidang industri modern yang menuntut adanya suatu instrumen dengan kemampuan yang tinggi yang dapat membantu menyelesaikan pekerjaan manusia atau untuk menyelesaikan pekerjaan yang tidak mampu diselesaikan oleh manusia.
Salah satu robot yang belakangan ini banyak menarik minat para ahli untuk dikembangkan adalah mobile robot. Menurut Hartanto (2005) mobile robot merupakan robot yang dapat berpindah dari tempatnya menuju tempat lain. Mobile robot menyerupai fungsi makhluk hidup yang dapat berpindah, jenis robot ini biasanya diciptakan untuk berbagai keperluan, seperti: mengangkut barang secara otomatis, melakukan perjalanan atau pemantauan ke tempat-tempat berbahaya, sebagai alat hiburan (robotainment) atau mainan.
Kemampuan dari mobile robot sangat beragam sesuai dengan tingkat dan jenis keperluan. Mobile robot terdiri dari robot line maze (penelusur garis) dan robot wall maze (penelusur dinding). Kedua robot ini merupakan jenis robot beroda yang memiliki sensor berupa garis untuk line maze dan suatu dinding untuk wall maze dengan sirkuit tertentu kemudian bergerak menelusuri garis atau dinding tersebut dengan modus tertentu. Kedua robot ini biasa digunakan dalam bidang industri besar yang dianggap berbahaya atau beresiko tinggi jika manusia yang melakukan hal tersebut atau bahkan justru manusia tidak mampu untuk melakukan hal tersebut dengan cara lain.
Dalam penerapannya robot line maze memiliki kemungkinan error yang lebih besar dibandingkan dengan robot wall maze. Robot line maze menggunakan sensor photodioda yang memiliki cara kerja dengan pantulan cahaya untuk melakukan penelusuran garis, sehingga jika pengaruh dari cahaya disekitar garis kurang, maka robot akan sulit mendeteksi keberadaan garis untuk bergerak maju. Kelemahan lain yang dimiliki oleh robot line maze adalah jika robot keluar dari lintasan garis yang dalam kondisi tertentu robot berada terlalu jauh dari garis maka kemungkinan error yang ditimbulkan sangat besar, sehingga diperlukan bantuan manual untuk mengembalikannya ke jalur sebelumnya. Sedangkan robot wal maze bekerja dengan menggunakan sensor ultrasonik yang bisa memantulkan sensor dari semua objek yang dibaca oleh sensor dan tidak terbatas hanya pada dinding. Robot wall maze pada umumnya digunakan untuk perjalanan atau pemantauan suatu tempat tertentu, dengan demikian robot wall maze harus dapat memahami dengan baik keberadaan lingkungan tempat robot tersebut berada dan harus memberikan respon terhadap keberadaan lingkungannya tersebut dengan baik. Lingkungan yang dimaksud dapat berupa labirin (maze).
Pemecahan maze dapat dilakukan dengan berbagai metode atau algoritma, diantaranya algoritma Depth First Search, Maze Mapping, Flood Fill, Wall Follower dan Pledge. Metode atau algoritma ini digunakan sebagai sistem kendali yang bisa membuat robot mampu melewati maze dengan baik dan dengan tingkat error seminimal mungkin. Dengan demikian, waktu yang ditempuh untuk mencapai tujuan menjadi lebih efektif sesuai dengan konsep dari masing-masing algoritma yang nantinya digunakan.
Terkait penelitian yang dilakukan sebelumnya mengenai penerapan algoritma pledge untuk menyelesaikan maze pada robot line follower atau line maze yang dilakukan oleh Arif Darmawan dan kawan-kawan (2010). Dalam penelitiannya, algoritma pledge dikembangkan dengan memberikan dua prioritas penelusuran yaitu right wall priority (prioritas dinding kanan) dan left wall priority (prioritas dinding kiri) hal ini dilakukan untuk memudahkan penelusuran ketika menemukan persimpangan berbentuk T pada maze yang berbentuk garis.
Berkaitan dengan hal tersebut di atas, tugas akhir ini mencoba untuk mengimplementasikan suatu jenis kecerdasan-buatan robot wall maze yang digunakan dalam pencarian jalur menuju ke tujuan yang diinginkan di suatu lingkungan, yaitu lingkungan labirin (maze) berbentuk dinding atau ruangan dengan start awal robot di salah satu sudut labirin dan tujuan berada di sudut yang lain dengan menggunakan algoritma pencarian jalur yaitu algoritma pledge. Untuk menguji kinerja algoritma pledge tugas akhir ini juga melakukan analisa terhadap algoritma wall follower yang nantinya dijadikan pembanding terhadap algoritma pledge.

1.2    Rumusan Masalah

Dari latar belakang yang telah diuraikan sebelumnya, maka permasalahan yang akan dibahas dalam penelitian ini adalah, ”Bagaimana menganalisa perbandingan antara algoritma pledge dengan algoritma wall follower pada robot wall maze”.

1.3     Batasan Masalah

Batasan yang digunakan dalam penelitian ini agar pembahasan yang dilakukan tidak meluas yaitu:
1.      Pembahasan hanya pada kecerdasan buatan yang diterapkan pada robot wall maze, tidak membahas tentang perancangan perangkat robot.
2.      Pengujian dilakukan dalam bentuk simulasi dengan menggunakan simulator Mobotsim V.10.

1.4     Tujuan Penelitian

Tujuan penelitian tugas akhir ini adalah:
1.      Melakukan analisa terhadap kecerdasan buatan yang dirancang pada robot wall maze untuk menyelesaikan sebuah maze dengan menganalisa perbandingan algoritma pledge dan algortima wall follower, agar sebuah robot wall maze dapat mencapai titik finish pada sebuah maze dan memiliki kemampuan untuk menentukan jalur yang lebih efektif dan efisien.
2.      Dikatakan efektif karena keakuratan penelusuran berdasarkan masing-masing algoritma dalam menghindari rintangan dan lebih efisien karena waktu tempuh penelusuran dari masing-masing algoritma yang nantinya dapat ditentukan jalur terpendek menuju titik finish.

1.5        Sistematika Penulisan

Laporan Tugas Akhir ini terdiri dari enam bab yang disusun dengan sistematika penulisan sebagai berikut:
BAB I.
PENDAHULUAN
Bab ini berisi tentang Latar Belakang pelaksanaan penelitian, Rumusan Masalah yang dihadapi, Batasan yang digunakan, Tujuan Tugas Akhir yang hendak dicapai melalui penelitian ini serta Sistematika Penulisan.
BAB II.
LANDASAN TEORI
Bab ini membahas teori-teori yang berhubungan dengan pembahasan penelitian yang diangkat, yang terdiri dari pembahasan mengenai teori kecerdasan buatan (Artificial Intelligence), robotika, labirin (maze), algoritma pencarian jalur dan simulator Mobotsim.
BAB III.
METODOLOGI PENELITIAN
Pada bab ini dijelaskan mengenai tahapan dalam pelaksanaan penelitian tugas akhir. Tahapan penelitian tugas akhir dimulai dari pengumpulan data, identifikasi dan perumusan masalah, analisa, perancangan, implementasi dan pengujian hingga diperoleh kesimpulan akhir dari penelitian
BAB IV.
ANALISA DAN PERANCANGAN
Bab ini berisi tentang analisa algoritma yaitu algoritma Pledge dan algoritma Wall Follower, analisa simulasi dan setelah analisa selesai maka dilakukan perancangan.
BAB V.    IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi penjelasan mengenai implementasi yang terdiri dari:
                          tahapan implementasi               yaitu batasan implementasi, lingkungan
                        implementasi     dan    implementasi      interface perangkat       simulasi,
kemudian dilanjutkan dengan tahapan pengujian dan kesimpulan
pengujian.
BAB VI.   PENUTUP
Bab ini berisi kesimpulan yang dihasilkan dari pembahasan tentang Analisis perbandingan antara algoritma pledge dengan algoritma wall follower pada robot wall maze dan beberapa saran sebagai hasil akhir dari penelitian yang telah dilakukan.

2.2        Robotika

Robotika adalah satu cabang teknologi yang berhubungan dengan desain, konstruksi, operasi, disposisi struktural, pembuatan, dan aplikasi dari robot. Robotika terkait dengan ilmu pengetahuan bidang elektronika, mesin, mekanika, dan perangkat lunak komputer.

2.2.1    Sejarah Robotika

Keunggulan dalam teknologi robotik tak dapat dipungkiri telah lama dijadikan icon kebanggan negara-negara maju di dunia. Kecanggihan teknologi yang dimiliki, gedung-gedung tinggi yang mencakar langit, tingkat kesejahteraan rakyatnya yang tinggi, kota-kotanya yang modern, belumlah terasa lengkap tanpa popularitas kepiawaian dalam dunia robotik.
Robot adalah alat menaknika yang dapat melakukan tugas fisik, baik lewat pantauan manusia, maupun bekerja secara komputerisasi yang menghasilkan kecerdasan dan perilaku yang individu.
Kata robot yang berasal dari bahasa Czech, robota, yang berarti pekerja, mulai menjadi populer ketika seorang penulis berbangsa Czech (Ceko), Karl Capek, membuat pertunjukan dari lakon komedi yang ditulisnya pada tahun 1921 yang berjudul RUR (Rossum’s Universal Robot). Ia bercerita tentang mesin yang menyerupai manusia, tapi mampu bekerja terus-menerus tanpa lelah. (Pitowarno,2006)

Gambar 2.1 Robot RUR (Rossum's Universal Robot)
Penciptaan robot yang sesunguhnya (bukan robot dalam sandiwara Karel Capek), bermula dari keinginan manusia untuk membuat tiruan binatang atau manusia itu sendiri. Namun fasilitas pengetahuan pada masa itu nampaknya menjadi kendala terbesar dalam terwujudnya proyek tersebut. Akhirnya, dibuatlah robot sederhana beroda yang digunakan untuk keperluan navigasi, pengamatan tingkah laku, sampai dengan perencanaan jalur.
                Istilah      robot      ini      kemudian      memperoleh      sambutan      dengan
diperkenalkannya robot jerman dalam film Metropolis tahun 1926 yang sempat dipamerkan dalam New York World’s Fair 1939. Film ini mengisahkan tentang robot berjalan mirip manusia beserta hewan peliharaannya (Pitowarno, 2006).
Tahun 1941, barulah istilah robotics digunakan dalam teknologi robot oleh penulis fiksi ilmiah Isaac Asimov. Dia juga memprediksi akan munculnya robotrobot industri canggih dimasa datang. Jika kita lihat hari ini, maka apa yang dibayangkan olehnya terbukti dimana begitu pesatnya perkembangan robot-robot industri saat ini. Istilah revolusi robot, robot age atau era robot sudah menjadi hal biasa untuk menjelaskan perkembangan itu. Robotics diterima sebagai istilah atau kata untuk mendeskripsikan semua kemajuan teknologi yang berhubungan dengan robot.
Pada tahun 1956 Georde Devil dan Joseph Engelberger membentuk perusahaan robot pertama kali tahu 1956. Devil memprediksi robot akan menjadi bagian penting di industri sebagai operator pabrik dan membantu pekerja dalam menjalankan mesin-mesin pabrik. Beberapa tahun kemudian atau tepatnya 1961, General Motor pertama kali menggunakan robot untuk pabrik otomotifnya. 

Gambar 2.2 Robot Industri
Dewasa ini mungkin definisi robot industri itu sudah tidak sesuai lagi karena teknologi mobile robot sudah dipakai secara meluas sejak tahun 80-an. Seiring itu pula kemudian muncul istilah robot humanoid, animaloid, dan sebagainya. Bahkan kini dalam industri spesifik seperti industri perfilman, industri angkasa luar dan industri pertahanan atau mesin perang, robot arm atau manipulator bisa jadi hanya menjadi bagian saja dari sistem robot secara keseluruhan (Pitowarno, 2006).
Kembali atas jasa insan film, istilah robot ini makin popular dengan lahirnya robot R2D2 dan C3Po dalam film Star Wars pertama pada tahun 1977.
Gambar 2.3 Robot R2D2 dan C3Po dalam film starwars
Menurut Fu et al. (1987) penelitian dan pengembangan pertama yang berbuah produk robotik dapat dilacak mulai dari tahun 1940-an ketika Argone National Laboratories di Oak Ridge, Amerika, memperkenalkan sebuah mekanisme robotik yang dinamai master-slave manipulator. Robot ini digunakan untuk menangani material radioaktif. Kemudian produk pertama robot komersial diperkenalkan oleh Unimation Incorporated, Amerika pada tahun 1950-an. Hingga belasan tahun kemudian langkah komersial ini telah diikuti oleh perusahaan-perusahaan lain. Namun demikian, seperti ditulis dalam beberapa sumber, penelitian intensif dibidang teknologi robotika telah menjadikan robotik sebagai sebuah disiplin ilmu kala itu belum terpikirkan.
Di negara-negara yang telah mapan kala itu, seperti Amerika, Inggris, Jerman dan Perancis mulai bermunculan grup-grup riset yang menjadikan robotik sebagai temanya, kemudian diikuti oleh Jepang, yang dipelopori oleh ilmuwanilmuwan yang baru pulang dari menimba ilmu di Amerika. Bahkan, di kemudian hari Jepang-lah yang tercatat sebagai negara yang paling produktif dalam mengembangkan teknologi robot. Hal ini tidak lain karena jepang gigih dalam melakukan penelitian teknologi infrastruktur seperti komponen dan piranti mikro (microdevices) yang akhirnya bidang ini terbukti sebagai inti dari pengembangan robot modern.

Gambar 2.4 Robot Asimo milik Honda

2.2.2     Sistem Robot dan Orientasi Fungsi

Sistem robot dan orientasi fungsi dalam dunia robotika meliputi (Pitowarno, 2006):
1.    Sistem Kontroler
Adalah rangkaian elektronik yang setidak-tidaknya terdiri dari rangkaian prosesor (CPU, Memori, komponen interface Input/output), signal conditioning untuk sensor (analog dan atau digital), serta driver untuk aktuator. Bila diperlukan bisa dilengkapi dengan sistem monitor seperti seven segment, LCD (liquid crstal display) ataupun CRT (cathode ray_tube).
2.    Mekanik Robot
Adalah sistem mekanik yang dapat terdiri dari setidak-tidaknya sebuah sistem gerak. Jumlah fungsi gerak disebut sebagai derajat kebebasan atau degree of freedom (DOF). Sebuah sendi yang diwakili oleh sebuah gerak actuator disebut sebagai satu DOF. Sedangkan derajat kebebasan pada struktur roda dan kaki diukur berdasarkan fungsi holonomic atau non-holonomic.
3.    Sensor
Adalah perangkat atau komponen yang bertugas mendeteksi (hasil) gerakan atau fenomena lingkungan yang diperlukan oleh sistem kontroller. Dapat dibuat dari sistem yang paling sederhana seperti sensor ON/OFF menggunakan limit switch, sistem analog, sistem bus parallel, sistem bus serial, hingga sistem mata kamera.
4.    Aktuator
Adalah perangkat elektromekanik yang menghasilkan daya gerakan. Dapat dibuat dari sistem motor listrik (motor DC, permanent magnet, brushless, motor DC servo, motor DC stepper, solenoid, dsb.), sistem pneumatic (perangkat kompresi berbasis udara atau gas nitrogen), dan perangkat hidrolik (berbasis bahan cair seperti oli). Untuk meningkatkan tenaga mekanik aktuator atau torsi gerakan dapat dipasang sistem gearbox, baik sistem direct-gear (sistem lurus, sistem ohmic/worm-gear), sprochet-chain (gir-rantai, gir-belt, ataupun sistem wire-roller)
5.    Sistem Roda
Adalah sistem mekanik yang dapat menggerakkan robot untuk berpindah posisi. Dapat terdiri dari sedikitnya sebuah roda penggerak (drive atau steer) dua roda deferensial (kiri kanan independent ataupun sistem belt seperti tank), tiga roda (synchro drive atau sistem holonomic), empat roda (Ackermann model/car like mobile robot atau sistem mecanum wheels) ataupun lebih.
6.    Sistem Kaki
Pada dasarnya sistem kaki adalah gerakan ‘roda’ yang didesain sedemikian rupa hingga memiliki kemampuan gerak seperti makhluk hidup. Robot berjalan dengan sistem dua kaki atau biped robot memiliki struktur kaki seperti manusia setidak-tidaknya memiliki sendi-sendi yang mewakili pergelangan kaki, lutut dan pinggul. Dalam konfigurasi yang ideal pergerakan pada pinggul dapat terdiri dari multi DOF dengan kemampuan gerakan memutar seperti orang menari jaipong. Demikian juga pada pergelangan kaki, idealnya adalah juga memiliki kemampuan gerakan polar. Untuk robot binatang, (animaloid) seperti serangga, jumlah kaki dapat didesain lebih dari empat. Bahkan robot ular yang memiliki DOF yang lebih dari 8 sesuai dengan panjang robot (ular) yang didefinisikan.
7.    Sistem Tangan
Adalah bagian atau anggota badan robot selain sistem roda atau kaki. Dalam konteks mobile robot, bagian tangan ini dikenal sebagai manipulator yaitu sistem gerak yang berfungsi untuk memanipulasi (memegang, mengambil, mengangkat, memindah atau mengolah) obyek. Pada robot industri fungsi mengolah ini dapat berupa perputaran (memasang mur-baut, mengebor/ drilling, dll.), tracking (mengelas, membubut, dsb) ataupun mengaduk (control proses). Untuk robot tangan didesain sendi lengan diukur berdasarkan DOF. Lengan dapat dibuat kaku atau tegar (rigid) ataupun fleksibel (flexible manipulator).
8.    Real World
Real world atau dunia nyata didefinisikan sebagai daerah kerja (workspace) daripada robot. Robot yang tersusun dari tangan/manipulator saja memiliki workspace yang terbatas sesuai panjang jangkauan tangannya. Untuk robot beroda/berkaki, workspace-nya menjadi relatif tak terbatas tergantung kemampuan jelajahnya. Dengan menggabung robot tangan ke atas mobile robot maka daerah kerja untuk navigasi dasar dapat berupa mengikuti jalur di jalan (seperti linefollower atau route-runner robot, model labirin pada robot tikus, robot marka jalan berbasis vision), berjalan menuju ke obyek atau sasaran (menggunakan sensor radar, sonar, kamera, proximity), ataupun berjalan menuju sasaran dengan menghindari halangan (obstacle). Untuk bagian tangan, tugasnya dapat berupa tracking mengikkuti referensi trajektori, menuju atau menghindari obyek berupa vision, dan segala terminology manipulasi yang mungkin dilakukan sesuai dengan tool pada posisi TIP atau ujung/pergelangan tangan.

2.2.3     Kontrol Robotik

Kontrol adalah bagian yang amat penting dalam robotik, tanpa kontrol hanya akan menjadi benda mekatronik yang mati. Dalam sistem kontrol robotik, terdapat dua bagian, yaitu perangkat keras elektronik dan perangkat lunak yang berisi program kemudi serta algoritma control (Pitowarno, 2006).
Dalam hal ini, system control bertugas mengkolaborasikan system elektronik dan mekanik dengan baik agar mencapai fungsi seperti yang dikehendaki. Tanda dalam interseksi adalah posisi atau bagian dimana terjadi interaksi antara ketiga bagian itu.
Sistem kontroler sendiri memiliki mekanisme kerja seperti yang diilustrasikan berikut ini:
Gambar 2.5 Mekanisme Kerja (Program) Kontroler
Tiga prosedur utama, yaitu baca sensor, memproses data sensor, dan mengirim sinyal aktuasi ke aktuator adalah tugas utama kontroler. Ilustrasi ini mengisyaratkan bahwa sebenarnya tugas kontroler adalah sederhana. Dengan membaginya menjadi tiga bagian maka seorang enginer akan lebih mudah dalam melakukan analisa tentang bagaimana kontroler yang didesainnya bekerja. Meski dalam program kemudi robot secara kompleks namun sebenarnya tetap dapat dibagi ke dalam tiga bagian besar itu yaitu: Baca sensor, Memproses data (algorithma kontrol dalam program kemudi), Tulis data (sinyal aktuasi ke aktuator).
Prosedur “Baca sensor” dapat terdiri dari berbagai teknik yang masingmasing membawa dampak kerumitan dalam pemrograman. Setidak-tidaknya ada dua macam teknik yang digunakan kontroler dalam menghubungi sensor, yaitu polling dan interrupt. Teknik polling adalah prosedur membaca data berdasarkan pengalamatan langsung yang dapat dilakukan kapan saja kontroler menghendaki. Sedang pada teknik interrupt, kontroler melakukan pembacaan jika sistem sensor melakukan interupsi, yaitu dengan memberikan sinyal interrupt ke kontroler (via perangkat keras) agar kontroler (CPU) melakukan proses pembacaan. Selama tidak ada interrupt maka kontroler tidak akan mengakses sensor tersebut.
Bagian yang berfungsi untuk memproses data sensor adalah bagian yang paling penting dalam program kontroler. Para peneliti dan enginer dapat dengan leluasa mengembangkan berbagai ide, teori dan teknik bagaimana membuat robot dapat bekerja sesuai harapan. Berbagai algoritma kontrol mulai dari teknik klasik dapat diterapkan. Jika dikehendaki kontrol yang lebih pintar dan dapat beradaptasi dapat memasukkan berbagai algoritma kontrol adaptive hingga teknik artificial intelligent.
Bagian ketiga, yaitu prosedur “Tulis data” adalah bagian yang berisi pengalamatan ke aktuator untuk proses penulisan data. Dalam konteks rangkaian elektronik, data ini adalah sinyal aktuasi ke kontroler seperti berapa besar tegangan dan arus yang masuk ke motor, dan sebagainya.

2.3        Labirin (Maze)

Labirin (Maze) memiliki arti tempat yg penuh dengan jalan dan lorong yang berliku-liku dan simpang siur atau sesuatu yg sangat rumit dan berbelit-belit. Maze juga dapat juga diartikan sebagai sistem rongga atau saluran yg berhubungan. Labirin (Maze) biasanya dikenal sebagai sebuah taman yang berliku-liku dan sangat rumit untuk menemukan jalan keluar, namun sebuah maze  juga dapat diasumsikan pada bangunan atau gedung yang memiliki banyak ruangan dengan letak yang rumit.
Pada bidang robotika ada dua jenis maze yang umum digunakan, yaitu wall maze dan line maze. Wall maze pada umumnya dikenal dengan istilah  labirin,  yakni suatu jaringan jalan yang terbentuk atas lorong-lorong dengan dinding tanpa atap. Pada line maze, jaringan jalan yang terbentuk dibuat dengan menggunakan garis. Jika garis berwarna putih maka background berwarna hitam atau sebaliknya. Permasalahan yang timbul pada maze adalah cara untuk mendapatkan jalur terpendek, sehingga dibutuhkan metode untuk menyelesaikannya.


Gambar 2.6 Bentuk Labirin (Maze)

2.4        Algoritma Pencari Jalur

Ada beberapa algoritma yang sering digunakan dalam pencarian jalur dalam sebuah maze diantaranya Depth first search, Flood Fill, Maze Mapping,  Pledge dan Wall Follower (Indrawan, 2008).

2.4.1    Depth first search

Merupakan metode yang intuitif dalam pencarian jalur di lingkungan labirin. Pada dasarnya robot dengan algoritma ini bergerak dan ketika menemukan percabangan, secara acak memilih salah satu jalurnya, jika jalur itu pada akhirnya  buntu, robot ini kembali ke percabangan tadi dan memilih jalur yang lain. Algoritma ini mengakibatkan robot untuk mengeksplorasi setiap cell di dalam labirin, robot pada akhirnya sampai pada cell tujuan.
Jelas, mengeksplorasi keseluruhan labirin bukan merupakan cara yang efektif dan juga, walaupun menemukan jalur, itu bukan jalur tercepat atau terpendek menuju ke tujuan.

2.4.2    Flood Fill

Algoritma ini melibatkan pemberian nilai pada masing-masing cell penyusun labirin, dimana nilai ini mempresentasikan jarak dari sembarang cell tujuan. Selanjutnya cell tujuan diberikan nilai 0. Jika robot pencari jalur berada di sebuah cell dengan nilai 1, robot tersebut 1 cell jauhnya dari tujuan. Jika robot berada pada cell dengan nilai 3, robot tersebut 3 cell jauhnya dari tujuan, begitu seterusnya.
Kelemahan dari algoritma ini ialah pada  flood fill  posisi start robot tidak bisa diubah-ubah dan bentuk dimensi  maze  harus diketahui terlebih dahulu sebelum robot dijalankan (Rahman, 2010).

2.4.3    Maze Mapping

Maze mapping merupakan algoritma yang digunakan untuk mapping, yakni mencari dan menggambarkan peta jalan keluar dari maze. Maze mapping pada umumnya di berbagai sumber menjelaskan dengan istilah path mapping yang konsep dasar dalam pencariannya mengikuti aturan wall follower (pada robot wall follower) atau  left/right hand rule (pada robot line tracer) (Mishra, 2008).

2.4.4    Pledge

Algoritma pledge didesain untuk rintangan melingkar dan memiliki arah awal untuk bergerak maju. Ketika berhadapan dengan rintangan, maka robot akan menggunakan metode penulusaran wall follower yang akan menghindari rintangan dengan meprioritaskan sisi kanan atau kiri. Ketika robot kembali ke arah awal dan total hitungan belokan adalah “0”, maka penyelesaian berlanjut sampai bertemu halangan kembali (Kamphans, 2004).
Berikut ini adalah pseudocode  untuk mempermudah pemahaman tentang urutan algoritma pledge.
Algoritma 2.1 Algoritma Pledge (Darmawan, 2010)
Algoritma diatas digunakan untuk perancangan robot dengan penelusuran line maze (penelusuran garis). Robot akan terus berjalan ke arah utama sampai menemukan halangan yang berbentuk garis. Ketika robot menemukan halangan, robot akan melakukan penelusuran dengan metode wall follower yaitu dengan mengikuti lintasan berupa garis sesuai prioritas yang diterapkan sambil menghitung total belokan.
Flowchart dari Algoritma pledge adalah sebagai berikut (Darmawan, 2010):
Gambar 2.7  Flowchart Algoritma Pledge dan Bagian yang Dimodifikasi
Flowchart yang dijelaskan pada Gambar 2.7 digunakan untuk robot line maze. Penjelasan dari flowchart pada Gambar 2.7 adalah sebagai berikut, robot berjalan menuju arah utama, misalnya arah utara sebagai arah utama robot. Arah utama adalah arah dimana robot pertama kali di start. Apabila belum terdapat halangan dan masih tersedia jalan utama maka robot akan terus berjalan kearah utama tersebut. Ketika robot mendapat halangan sehingga tidak mungkin berjalan ke arah utama maka robot akan melakukan teknik wall follower sambil melakukan perhitungan total belokan yang dilakukan. Apabila berbelok ke kanan ditambah 1 apabila berbelok ke kiri total belokan dikurangi satu. Robot akan kembali ke jalan utama apabila total belokan yang ditempuh = 1. Proses ini akan  terus dilakukan dengan robot akan melakukan mapping terhadap lintasan terus menerus sampai robot menemui garis finish (Kamphans, 2004).

2.4.5     Wall Follower

Algoritma ini merupakan teknik yang paling sederhana dalam pencarian jalur di lingkungan labirin. Pada dasarnya, robot dengan algoritma ini memiliki dua konsep penelusuran yaitu right hand rule atau konsep tangan kanan yaitu mengikuti dinding kanan dan left hand rule atau konsep tangan kiri dengan mengikuti dinding sebelah kiri sebagai petunjuk di sekeliling labirin untuk menemukan jalan keluar.
Algoritma ini cenderung berharap menemukan jalan keluar dibanding mencoba menyelesaikan labirin tersebut. Langkah-langkah yang dilakukan adalah sebagai berikut dalam pseudo-code (Harapan, 2009): 
Algoritma 2.2 Algoritma Wall Follower (Harapan, 2009)
Pada kasus-kasus tertentu, algoritma ini tidak akan bekerja karena robot tidak bisa mengatasi looping dan akan berputar-putar terus di pinggir labirin sehingga tidak dapat mencari jalur menuju ke tengah dan menemukan titik finish (Indrawan, 2008).
Gambar 2.8  Lingkungan Labirin Dimana Algoritma Wall Follower Tidak Bekerja

2.5       Mobotsim

Mobotsim adalah sebuah perangkat lunak untuk simulasi 2D robot roda (mobile robot atau Mobot). Perangkat lunak Mobotsim ini menyediakan suatu antarmuka grafis yang mewakili suatu lingkungan dimana user dapat dengan mudah bisa membuat, mengatur dan menyunting mobot dan objek-objek rintangan (Putra, 2005).


Gambar 2.9 Mobile Robot
Agar mampu mengatur gerakan robot roda tersebut, mobotsim memiliki editor bahasa Basic yang dapat digunakan untuk menuliskan makro-makro yang memanfaatkan fungsi-fungsi khusus robot untuk mendapatkan berbagai macam informasi, misalnya tentang koordinat robot dan data sensor, serta mangatur gerakan robot berdasarkan informasi-informasi yang diperoleh tersebut.

2.5.1    World Frame dan Sistem Koordinat

World frame merupakan area (region) dua-dimensi yang mewakili lingkungan mobile robot bekerja. Pertama kali user menjalankan Mobotsim, akan dibuat sebuah world frame secara default berukuran 20 x 20 meter, selanjutnya user bisa mengubah ukurannya sesuai dengan kebutuhan.
World frame menggunakan sistem koordinat kartesian standar dalam meter dan derajat, dengan titik asal di kiri atas, sebagaimana ditunjukkan pada gambar
2.10, sebuah grid dengan jarak 1 meter ditunjukkan sebagai acuan.
X [m]

Gambar 2.10 World Frame dan Sistem Koordinatnya

2.5.2    Jarak atau Ranging Sensor

Untuk mengatur jarak atau ranging sensor dalam mobotsim dapat dilakukan pada mobot configuration lalu pilih tab Ranging Sensor. Untuk lebih jelasnya dapat dilihat pada gambar dibawah ini:

Gambar 2.11 Tab Ranging Sensor

Dari Gambar 2.11 dapat dijelaskan bahwa besar radiation cone yang digunakan adalah 25 derajat dengan ranging sensor antara 0-5 meter dan pada umumnya jumlah sensor yang digunakan adalah 12, namun user masih dapat mengganti jumlah sensor sesuai kebutuhan simulasi. Nomor sensor dihitung dari sisi paling kanan dari bagian robot dengan melawan arah jarum jam, semakin ke kiri maka semakin besar nomor sensor tersebut. Sensor dengan sisi paling kanan bernilai 0.
Gambar 2.12 Ilustrasi Sensor Yang Digunakan
Dalam penerapannya di dalam coding, sensor dapat diinisialisasikan berupa huruf seperti a,b,c atau abjad lainnya.

2.5.3    Pembacaan Mark

Mark atau titik finish dapat dideteksi oleh robot dengan cara melihat posisi robot pada koordinat X atau Y,  jika robot membaca titik finish melalui koordinat sumbu X maka ketika robot berbanding lurus dengan koordinat X pada titik finish dalam arti nilai koordinat X pada titk finish sama dengan nilai koordinat X pada  robot maka robot akan berhenti melakukan penelusuran, tetapi jika nilai koordinat X pada robot masih lebih besar dari koordinat X pada titik finish maka robot masih akan terus melakukan penelusuran sampai posisi robot pada koordinat X sama dengan koordinat X pada mark atau titik finish. Hal yang sama juga berlaku jika pembacaan mark atau titik finish dilakukan melalui koordinat sumbu Y.

METODOLOGI PENELITIAN

Metodologi penelitian mempunyai peranan yang sangat penting dalam penelitian tugas akhir, karena pada metodologi penelitian ini menggambarkan langkah-langkah secara sistematis yang dilakukan dalam memecahkan permasalahan yang diangkat. Deskripsi dilengkapi dengan penyajian diagram alur pelaksanaan penelitian untuk memudahkan dalam memahami tahapan penelitian.
Dalam penulisan Tugas Akhir ini, studi literatur yang dilakukan yaitu dengan membaca berbagai literatur yang berkaitan dengan tulisan yang penulis kemukakan. Langkah-langkah yang akan ditempuh dalam penelitian ini dapat dilihat pada diagram alir dibawah ini:
   Gambar 3.1 Metodologi Penelitian
Dalam metodologi penelitian dijabarkan tahapan-tahapan yang dilakukan dalam penelitian. Metodologi penelitian terdiri dari beberapa tahapan yang terkait secara sistematis. Tahapan ini diperlukan untuk memudahkan dalam melakukan penelitian. Tahapan yang dilakukan dalam penelitian adalah sebagai berikut:

Pada tahap ini dilakukan pengumpulan data yang berhubungan dengan penelitian dan pembuatan sistem, yaitu dengan:
                1.     Studi Kepustakaan (Library Research)

Studi kepustakaan dilakukan dengan cara mempelajari buku-buku, jurnal-jurnal dan artikel-artikel di internet yang berhubungan dengan permasalahan yang dibahas yaitu mengenai Pemanfaatan Kecerdasan Buatan (Artificial Intelligence) untuk Menyelesaikan Maze pada Robot Wall Maze dengan Algoritma Pledge.
Jurnal, buku dan artikel yang dipelajari, diantaranya: jurnal yang dibuat oleh Tom Kamphans dan Elmar Langetepe dengan judul “The Pledge Algorithm Reconsidered Under Error in Sensor and Motion” dan jurnal Arif Darmawan, yang berjudul ”Penerapan Algoritma Pledge untuk Menyelesaikan Maze pada Line Follower Robot”, dari kedua jurnal ini penulis mempelajari tentang algoritma pledge yang digunakan sebagai acuan dalam tugas akhir ini. Sedangkan artikel yang penulis pelajari adalah artikel dengan judul “Maze Solving Algorithm for Micro Mouse” milik Swati Mishra, dari artikel ini penulis mempelajari tentang Algoritma-algoritma dalam penelusuran sebuah maze. Adapun buku yang penulis gunakan dalam penulisan tugas akhir ini adalah buku yang disusun oleh  Suyanto, ST, M.Sc yang berjudul “Artificial Intellegence: Searching, Reasoning, Planning, Learning” dari penerbit Informatika Bandung, dari buku ini penulis mempelajari tentang dasar dan konsep tentang kecerdasan buatan (Artificial Intellegence).

Dari pengamatan pendahuluan yang dilakukan, Permasalahan yang muncul adalah menentukan algoritma yang tepat untuk menyelesaikan maze berbentuk dinding yang nantinya algoritma tersebut dapat dibandingkan ketepatan dan kecepatannya dalam menelusuri maze.

Berdasarkan identifikasi masalah yang telah dijelaskan, maka perlu dirumuskan bagaimana menganalisis perbanding antara algoritma yang dipilih yaitu algoritma pledge dan wall follower sebagai pembanding kinerja algoritma pledge pada robot wall maze.

Analisa permasalahan berkaitan dengan mengidentifikasi kebutuhan algoritma dalam suatu penelitian. Dan analisa yang dilakukan dalam tugas akhir ini terbagi atas dua tahapan, yaitu analisis algoritma yaitu algoritma pledge dan algoritma wall follower kemudian dilanjutkan dengan analisa simulasi dari masing-masing algoritma yang telah dianalisa.

Setelah melakukan analisa, maka kemudian dilanjutkan dengan perancangan berdasarkan analisa permasalahan yang telah dilakukan sebelumnya. Dalam tugas akhir ini perancangan dilakukan dalam tiga tahapa, yaitu: perancangan maze dan mobot (mobile robot), perancangan geometri dan jarak sensor, kemudian perancangan mark atau titik finish.

Implementasi merupakan suatu konversi dari desain sistem yang telah dirancang kedalam sebuah program komputer dengan menggunakan bahasa pemrograman Basic berbasis desktop. Adapun fungsi-fungsi dari analisa perbandingan antara algoritma pledge dan algoritma wall follower adalah untuk melihat algoritma mana yang lebih unggul dan tepat dalam menyelesaikan maze yang digunakan dalam tugas akhir ini. Implementasi dalam tugas akhir ini terdiri dari 3 tahap yaitu: batasan implementasi, lingkungan implementasi dan implementasi simulator dan interface.

Pengujian ini berfokus pada perangkat lunak berupa kecerdasan buatan yang akan diterapkan untuk mencari jalan keluar dalam sebuah maze pada robot wall maze sehinggan robot dapat menemukan titik tujuan dengan algoritma pledge dan algoritma wall follower, yang nantinya dapat dilihat perbandingan antara kedua algoritma tersebut. Pengujian dalam tugas akhir ini terdiri dari: pengujian algoritma, pengujian radiasi sensor, pengujian waktu tempuh, pengujian nilai jarak sensor, pengujian posisi start dan finish yang berbeda dan pengujian dengan kondisi maze yang berbeda. Setelah pengujian dilakukan maka dalam tahap ini dilakukan analisa akhir terhadap hasil pengujian yang nantinya dapat dirumuskan kesimpulan dari semua pengujian.

Pada tahap ini ditarik kesimpulan-kesimpulan yang dihasilkan dari pembahasan tentang analisa perbandingan antara algoritma pledge dan algoritma wall follower pada robot wall maze serta saran untuk perbaikan pengembangan tugas akhir ini.

ANALISIS DAN PERANCANGAN

4.1.       Analisis Algoritma

Analisis algoritma ini bertujuan untuk menjelaskan alur pergerakan robot. Algoritma yang digunakan adalah algoritma pledge dan algoritma wall follower yang digunakan sebagai pembanding terhadap algoritma pledge.
4.1.1     Analisis Pergerakan Robot Menggunakan Algoritma Wall Follower
Seperti yang telah dijelaskan di dalam bab II landasan teori, algoritma wall follower merupakan algoritma pengikut dinding kiri atau kanan sebagai petunjuk di sekeliling labirin. Dalam tugas akhir ini algoritma wall follower digunakan sebagai pembanding atas kinerja algoritma pledge. Penulis memilih algoritma wall follower karena algoritma ini juga digunakan dalam pengembangan algoritma pledge. Algoritma Wall follower terdiri dari dua teknik penelusuran yaitu right hand rule dan left hand rule
4.1.1.1    Algoritma Wall Follower Dengan Right Hand Rule
                   Algoritma      ini      dirancang      untuk      penelusuran      maze      dengan
memprioritaskan dinding kanan sebagai petunjuk robot untuk menelusuri maze.
Flowchart dari algoritma ini adalah sebagai berikut:


Gambar 4.1 Flowchart Algoritma Wall Follower dengan Right Hand Rule
Berdasarkan flowchart algoritma wall follower dengan right hand rule yang ditunjukkan pada Gambar 4.1 dapat dijelaskan bahwa:
1.        Proses penelusuran maze dimulai dengan melakukan setting konfigurasi pada propertis robot, yang terdiri dari nama robot, index robot, posisi robot, propertis roda dan sensor robot.
2.        Setelah setting konfigasi selesai, maka dilanjutkan dengan menginisialisasi sensor yang digunakan, J=sensor. Dalam simulasi right hand rule ini, sensor yang digunakan ialah sensor ke 4 dari 12 sensor atau J=4.
3.        Selanjutnya, jalankan robot dengan sudut 180o agar robot dapat berjalan ke arah utama atau berjalan lurus.
4.        Ketika robot menemukan rintangan atau dinding dengan jarak sensor ke dinding kurang dari 0,9 meter maka robot akan berbelok ke kiri dan kembali berjalan lurus sampai menemukan rintangan atau dinding kembali.
5.        Jika robot menemukan rintangan atau dinding dengan jarak sensor ke dinding lebih dari 1 meter, maka robot akan berbelok ke kanan.
6.        Jika tidak terdapat halangan lagi maka robot akan mencari titik finish dengan menghitung jarak finish dengan keberadaan robot tersebut.
7.        Jika robot menemukan titik finish maka robot akan berhenti dan proses penelusuran selesai, jika tidak maka robot akan mengulang perintah mulai dari berjalan dengan sudut 180 atau berjalan lurus dan seterusnya sampai robot menemukan titik finish.
Untuk lebih memahami Algoritma dari Wall follower dengan right hand rule, berikut pseudocode dari algoritma tersebut:

Algoritma 4.1 Algoritma Wall Follower dengan Right Hand Rule
4.1.1.2    Algoritma Wall Follower Dengan Left Hand Rule
Seperti algoritma wall follower dengan right hand rule yang telah dijelaskan sebelumnya. Algoritma ini juga dirancang untuk penelusuran maze dengan memprioritaskan dinding kiri terlebih dahulu sebagai petunjuk robot untuk menelusuri maze. Flowchart dari algoritma ini adalah sebagai berikut:
Gambar 4.2 Flowchart Algoritma Wall Follower dengan Left Hand Rule
Flowchart pada algoritma ini hampir sama flowchart pada algoritma right hand rule, perbedaannya hanya pada pengaturan sensor untuk pembacaan dinding.  Berdasarkan flowchart algoritma wall follower dengan left hand rule yang ditunjukkan pada Gambar 4.2 dapat dijelaskan bahwa:
1.        Proses penelusuran maze dimulai dengan melakukan setting konfigurasi pada propertis robot, yang terdiri dari nama robot, index robot, posisi robot, propertis roda dan sensor robot.
2.        Setelah setting konfigasi selesai, maka dilanjutkan dengan menginisialisasi sensor yang digunakan, J=sensor. Dalam simulasi left hand rule ini, sensor yang digunakan ialah sensor ke 3 dari 5 buah sensor atau J=3.
3.        Selanjutnya, jalankan robot dengan sudut 180o agar robot dapat berjalan ke arah utama atau berjalan lurus.
4.        Ketika robot menemukan rintangan atau dinding dengan jarak sensor ke dinding lebih dari 0,9 meter maka robot akan berbelok ke kanan dan kembali berjalan lurus sampai menemukan rintangan atau dinding kembali.
5.        Jika robot menemukan rintangan atau dinding dengan jarak sensor ke dinding kurang dari 1 meter, maka robot akan berbelok ke kiri.
6.        Jika tidak terdapat halangan lagi maka robot akan mencari titik finish dengan menghitung jarak finish dengan keberadaan robot tersebut.
7.        Jika robot menemukan titik finish maka robot akan berhenti dan proses penelusuran pun selesai, jika tidak maka robot akan mengulang perintah mulai dari berjalan dengan sudut 180 atau berjalan lurus dan seterusnya sampai robot menemukan titik finish.
PENUTUP

6.1        Kesimpulan

Setelah menyelesaikan serangkaian tahapan-tahapan terhadap perancangan algoritma pledge pada robot wall maze yang dimulai dari pengumpulan data tentang algoritma pledge hingga pada tahapan pengujian, maka dapat diambil beberapa kesimpulan diantaranya adalah sebagai berikut:
1.        Hasil penerapan algoritma pledge untuk menyelesaikan maze pada robot wall maze memiliki tingkat keberhasilan sebesar 90%, karena pada pengujian dengan posisi finish diluar lintasan robot tidak dapat mencapai titik finish seperti yang diinginkan, namun robot tetap berhenti sesuai koordinat Y dari titik finish.
2.        Algoritma            pledge  yang dimodifikasi memiliki    2 kemungkinan
prioritas yang dapat digunakan yaitu Right wall priority dan Left wall priority. Tidak ada keunggulan ditiap prioritasnya, yang membedakan hanya pada saat pengambilan keputusan ketika robot menemui rintangan berbentuk persimpangan.
3.        Algoritma wall follower digunakan sebagai pembanding kinerja algoritma pledge. Algoritma ini memiliki dua konsep penelusuran yaitu right hand rule dan left hand rule.
4.        Dengan bentuk maze yang digunakan dalam tugas akhir ini, dapat dilihat bahwa algoritma pledge lebih unggul dalam melakukan penelusuran dibandingkan dengan algoritma wall follower, ini disebabkan:
a.    Algoritma wall follower melakukan penelusuran hanya berdasarkan dinding kanan dan kiri, sehingga hampir keseluruhan dinding pada bagian kiri ditelusuri.
b.    Penelusuran dengan wall follower memakan waktu yang lebih lama dibanding algoritma pledge yang melakukan penelusuran berdasarkan arah utama, sehingga tidak perlu melakukan penelusuran terhadap keseluruhan dinding yang diprioritaskan.
5.        Tampilan 2D pada simulator Mobotsim V.10 mengakibatkan kurang akuratnya visualisasi terhadap halangan atau dinding yang dirancang melalui objek-objek yang tersedia. Tinggi dari halangan atau dinding tidak dapat ditentukan sehingga ketika robot bertemu dengan setiap objek yang dirancang kedalam worl frame, robot akan membacanya sebagai halangan dan menghindarinya.

6.2        Saran

Untuk penelitian kedepannya penulis memiliki beberapa saran yang dapat dikembangkan pada penelitian selanjutnya, seperti:
1.      Analisa penelusuran terhadap maze ini dapat diterapkan dengan menggunakan algoritma-algoritma penelusuran dan menggunakan simulator lainnya, seperti simulator dengan tampilan 3D agar bentuk robot dan maze yang digunakan dapat divisualisasikan dengan lebih jelas.
2.      Pengembangan robot wall maze juga bisa dilakukan dengan menambahkan kemampuan lain kepada robot, misalnya mengembangkannya menjadi robot pemadam api, sehingga robot memiliki kecerdasan bukan hanya dalam menelusuri jalur dan mencari titik finish tetapi robot tersebut juga dapat memadamkan api sesuai dengan konsep kecerdasan yang nantinya akan ditanamkan.

DAFTAR PUSTAKA

Anita, Nur Syafidtri. Robot Micromouse Dengan Menggunakan Algoritma. [online] available www.gunadarma.ac.id/library/articles/.../Artikel_21105199.pdf, diakses tanggal 3 januari 2012.
Budiharto, Widodo, Membuat Sendiri Robot Cerdas, Elex Media Komputindo, Jakarta, 2006.
Budiharto, Widodo, 10 Proyek Robot Spektakuler, Elex Media Komputindo, Jakarta, 2008.
Darmawan, Arif, Hendriawan, Akhmad dan Akbar, Reesa. Penerapan Algoritma Pledge untuk Menyelesaikan Maze pada Line Follower Robot. Tugas Akhir EEPIS-ITS, 2010.
David, Giessel, Building a Mouse,  UAF MicroMouse, 2007
Harapan, Samudra, Bekti, Pencarian Shortest Path Dinamik Dengan Algoritma Bellman-Based Flood-Fill Dan Implementasinya Pada Robot Micromouse, Tugas akhir ITB, 2009.
Hartanto, Dwi dan Raharjo, Suwanto. Visual Downloader untuk Microcontroller AT89C2051 . Andi Offset,  Yogyakarta, 2005.
Indrawan, Gede. Perancangan dan Implementasi Kecerdasan Buatan Robot Pencari Jalur Berbasis Microcontroler Basic Stamp. Tesis UI, 2008.
Iqbal, M, Nugraha, Hendriawan, Akhmad dan Akbar Reesa. Penerapan Algoritma Maze Mapping untuk menyelesaikan Maze pada Line Tracer. Tugas Akhir EEPIS-ITS, 2009.
Kamphans, Tom dan Lengetepe, Elmer. The Pledge Algorithm Reconsidered under Errors in Sensors and Motion. Departmen of computer science, Bonn, Germany, 2004.
Kusumadewi, Sri, Artificial Intelligence: Teknik dan Aplikasinya, Graha Ilmu, Yogyakarta, 2003.
Mishra, Swati.  Maze Solving Algorithm for Micro Mouse. IEEE International Conference on Signal Image Technology and Internet Based Systems: 2008.
Pitowarno, Endra, Robotika Desain, Kontrol dan Kecerdasan Buatan, Andi Offset, Yogyakarta, 2006.
Putra, Agfianto Eko. Pengendalian Mobile Robot (MOBOT) Dengan MOBOTSIM v1.0, Gaya Media, Yogyakarta, 2005.
Putra, Agfianto Eko. MOBOTSIM v1.0: Software Pembelajaran Pengendalian
Mobile Robot. [online]            available http://agfi.staff.ugm.ac.id/blog/index.php/2009/01/mobotsim-v10-softwarepembelajaran-pengendalian-mobile-robot/,         diakses tanggal 29        Desember 2011.
Reiners, Paul D. Robots, Mazes, And Subsumption Architecture. [online] available http://www.ibm.com/developerworks/java/library/j-robots/, diakses tanggal 3 Januari 2012.
Setiawan, Sandi, Artificial Intelligence, Andi Offset, Yogyakarta,  1993.
Suparman, Mengenal Artificial Intelligence, Andi Offset, Yogyakarta, 1991.

Suyanto, Artificial Intellegence: Searching, Reasoning, Planning, Learning. Informatika Bandung, Bandung, 2007.

Tidak ada komentar:

Posting Komentar