Jurusan Teknik Elektro ITS Surabaya, Jurusan Teknik Elektro ITS Surabaya, Jurusan Teknik elektro ITS Surabaya

dokumen-dokumen yang mirip
VARIASI PENGGUNAAN FUNGSI HEURISTIK DALAM PENGAPLIKASIAN ALGORITMA A*

BAB II TINJAUAN PUSTAKA

Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game

Penerapan Algoritma A-star (A*) Untuk Menyelesaikan Masalah Maze

Penerapan Algoritma A* (A Star) Sebagai Solusi Pencarian Rute Terpendek Pada Maze

PENGEMBANGAN APLIKASI GAME ARCADE 3D MARI SELAMATKAN HUTAN INDONESIA

BAB III ALGORITMA GREEDY DAN ALGORITMA A* membangkitkan simpul dari sebuah simpul sebelumnya (yang sejauh ini terbaik di

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN SISTEM

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Penerapan Algoritma A* Untuk Pencarian Rute Terdekat Pada Permainan Berbasis Ubin (Tile Based Game)

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

Simulasi Pencarian Rute Terpendek dengan Metode Algoritma A* (A-Star) Agus Gustriana ( )

Metode Path Finding pada Game 3D Menggunakan Algoritma A* dengan Navigation Mesh

PENERAPAN ALGORITMA A* (STAR) UNTUK MENCARI RUTE TERCEPAT DENGAN HAMBATAN

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

Algoritma A* untuk AI Path Finding bagi NPC

BAB 2 LANDASAN TEORI

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

Optimasi Rute Perjalanan Ambulance Menggunakan Algoritma A-Star

Pencarian Lintasan Terpendek Pada Aplikasi Navigasi Menggunakan Algoritma A*

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

Pencarian Rute Oleh Non Player Character Menggunakan Algoritma A* Berbasis 2D

STUDI PENERAPAN ALGORITMA DIJKSTRA DAN ALGORITMA A* DALAM MENENTUKAN RUTE TERPENDEK PADA ROBOT PEMADAM API

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. Masalah lintasan terpendek berkaitan dengan pencarian lintasan pada graf

BAB IV PENGUJIAN DAN ANALISIS

BAB I PENDAHULUAN UKDW. dalam kehidupan kita sehari-hari, terutama bagi para pengguna sarana

PENERAPAN ALGORITMA BIDIRECTIONAL A* PADA MOBILE NAVIGATION SYSTEM

BAB 2 TINJAUAN PUSTAKA

OPTIMASI PENCAPAIAN TARGET PADA SIMULASI PERENCANAAN JALUR ROBOT BERGERAK DI LINGKUNGAN DINAMIS

IMPLEMENTASI DAN ANALISIS PENGGUNAAN ALGORITMA A-STAR DENGAN PRIORITAS PADA PEMILIHAN RUTE LINTAS KENDARAAN RODA DUA

Penerapan Algoritma A* dalam Penentuan Lintasan Terpendek

BAB I PENDAHULUAN. yang juga diterapkan dalam beberapa kategori game seperti real time strategy

SIMULASI ALGORITMA A* UNTUK MENYELESAIKAN PATHFINDING

APLIKASI PENCARI RUTE OPTIMUM PADA PETA GUNA MENINGKATKAN EFISIENSI WAKTU TEMPUH PENGGUNA JALAN DENGAN METODE A* DAN BEST FIRST SEARCH 1

Algoritma A* Memanfaatkan Navigation Meshes dalam 3 Dimensional Pathfinding

IMPLEMENTASI SISTEM PARKIR CERDAS DI UNIVERSITAS TELKOM. SUBSISTEM : APLIKASI MOBILE

PENERAPAN METODE A* PADA GAME MOBILE LEARNING PEMILIHAN SAMPAH ORGANIK DAN ANORGANIK BERBASIS ANDROID Achmad Irpan Fuad 1 Moh.

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

GABUNGAN METODE DJIKSTRA DAN FUZZY C-MEANS UNTUK PENENTUAN RUTE DAN JUMLAH OBYEK RINTANGAN

BAB I PENDAHULUAN. ini. Salah satu penerapannya yaitu terdapat pada permasalahan dalam melakukan pencarian dari

Kompleksitas Algoritma A* Pada Implementasi PassiveAI Untuk Game Mobile AI

Simulasi Pencarian Shortest Distance Path

Penerapan Algoritma A Star Pada Permainan Snake

WEBGIS PENCARIAN RUTE TERPENDEK MENGGUNAKAN ALGORITM A STAR (A*) (Studi Kasus: Kota Bontang)

BAB 1 PENDAHULUAN Latar Belakang

BAB 3 PENANGANAN JARINGAN KOMUNIKASI MULTIHOP TERKONFIGURASI SENDIRI UNTUK PAIRFORM-COMMUNICATION

Perancangan Aplikasi Wisata Kabupaten Lebak Menggunakan Algoritma A* (A-Star) Berbasis Android

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

ANALISIS PERBANDINGAN ALGORITMA PATHFINDING GREEDY BEST-FIRST SEARCH DENGAN A*(STAR) DALAM MENENTUKAN LINTASAN PADA PETA

OPTIMASI RUTE PERJALANAN AMBULANCE MENGGUNAKAN ALGORITMA A-STAR. Marhaendro Bayu Setyawan

Penggunaan Algoritma Pathfinding pada Game

SEARCHING SIMULATION SHORTEST ROUTE OF BUS TRANSPORTATION TRANS JAKARTA INDONESIA USING ITERATIVE DEEPENING ALGORITHM AND DJIKSTRA ALGORITHM

BAB II DASAR TEORI Kajian Pustaka a. Penerapan Algoritma Flood Fill untuk Menyelesaikan Maze pada Line Follower Robot [1]

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

PENCARIAN SHORTEST PATH DINAMIK DENGAN ALGORITMA BELLMAN-BASED FLOOD-FILL DAN IMPLEMENTASINYA PADA ROBOT MICROMOUSE

SEARCHING. Blind Search & Heuristic Search

A-1 BAB I PENDAHULUAN

Pencarian Lintasan Terpendek Pada Peta Digital Menggunakan Teori Graf

BAB 2 TINJAUAN PUSTAKA

MENGHITUNG RUTE TERPENDEK MENGGUNAKAN ALGORITMA A* DENGAN FUNGSI EUCLIDEAN DISTANCE

ALGORITMA PENCARIAN (HEURISTIC)

BAB 2 LANDASAN TEORI 2.2. Algoritma A* (A Star)

Perencanaan Rute Gerak Mobile Robot Berpenggerak Differensial pada Medan Acak Menggunakan Algoritma A* Dikombinasikan dengan Teknik Image Blurring

I. PENDAHULUAN II. LANDASAN TEORI

Mendeteksi Blob dengan Menggunakan Algoritma BFS

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

BAB 2 TINJAUAN PUSTAKA

Perencanaan Rute Gerak Mobile Robot Berpenggerak Differensial Pada Medan Acak Menggunakan Algoritma A* Dikombinasikan Dengan Teknik Image Blurring

TIP 163. Game Engine. Topik 5 (Pert 6) Graf, Representasi Dunia, dan Algoritma Pencari Jalur (Pathfinding) Dosen: Aditya Wikan Mahastama

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2011

Yudi Yansyah, Prihastuti Harsani, M.Si, Erniyati M.Kom Program Studi Ilmu Komputer FMIPA Universitas Pakuan ABSTRACT

KONTROL OTOMATIS PADA ROBOT PENGANTAR BARANG DENGAN PARAMETER MASUKAN JARAK DENGAN OBJEK DAN POSISI ROBOT. oleh. Ricky Jeconiah NIM :

Pengembangan Heuristik Diferensial Terkompresi untuk Algoritma Block A*

PENGEMBANGAN HEURISTIK DIFERENSIAL TERKOMPRESI UNTUK ALGORITMA BLOCK A*

Evaluasi dan Usaha Optimalisasi Algoritma Depth First Search dan Breadth First Search dengan Penerapan pada Aplikasi Rat Race dan Web Peta

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

BAB 3 ANALISIS DAN PERANCANGAN

Penerapan Graf pada Robot Micromouse

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

PROTOTIPE GAME MAZE CHASER DENGAN ALGORITMA A*

BAB 2 LANDASAN TEORI

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

ROUTING. Budhi Irawan, S.Si, M.T

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object

BAB II TINJAUAN PUSTAKA

ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) SEBAGAI PATHFINDING ENEMY ATTACK PADA GAME TRASH COLLECTION

Representasi Graf Berarah dalam Mencari Solusi Jalur Optimum Menggunakan Algoritma A*

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

SIMULASI ALGORITMA A* DAN DIJKSTRA PADA WAN

Penerapan Algoritma Greedy Best First Search untuk Menyelesaikan Permainan Chroma Test : Brain Challenge

Penentuan Rute Terpendek Menggunakan Variasi Fungsi Heuristik Algoritme A* Pada Mobile Devices

Aplikasi Algoritma Teori Graf Pada Robot Pemecah Labirin Cerdas

BAB I PENDAHULUAN. Micromouse robot. Micromouse robot merupakan salah satu mobile robot yang

Transkripsi:

1 PERENCANAAN JALUR TERPENDEK PADA ROBOT NXT DENGAN OBSTACLE DINAMIS MENGGUNAKAN ALGORITMA D* Wahris Shobri Atmaja 1), Diah Puspito Wulandari, ST.,Msc 2), Ahmad Zaini, ST., MT. 3) Jurusan Teknik Elektro ITS Surabaya, Jurusan Teknik Elektro ITS Surabaya, Jurusan Teknik elektro ITS Surabaya 1) ws_atmaja@elect-eng.its.ac.id ABSTRACT - In computation world, many algorithm used to find shortest path from two node on the matrix or map. One from many searching algorithm is A* algorithm. A* algoritm same like Djikstra algoritm, but A* algorithm has heuristic function. A* Algorithm must have optimal solution because equal the shortest path from start and the shortest path from goal with static obstacle that has been planning. D* usually called Dynamic A* because the algorithm update the cost if found dynmic obstacle as the A* algorithm runs. With Mindstorms NXT and D* algorithm, Ever make mobile robot with pass the test and succes until goal we want without touch the static obstacle. And then the mobile robot same can finish although any dynamic obstacle because used D* algorithm. The successful of robot to finish with 50 time trial is 84%. Keyword : Robotic, NXT Mindstorms, A*, D* I. PENDAHULUAN Robot saat ini telah banyak dimanfaatkan oleh industri-industri di dunia dalam upaya meningkatkan efisiensi dan efektifitas berbagai aktifitas kerja manusia. Salah satu teknologi robot yang terkenal saat ini adalah LEGO NXT dengan nama NXT Mindstorms. NXT merupakan salah satu tool yang bis dimanfaatkan dalam dunia pendidikan untuk mempelajari pembuatan robot dan pengendaliannya. Untuk mempelajari pembuatan robot dapat dilakukan dengan mendesain menggunakan semua bagian yang sudah disediakn oleh NXT mindstorms untuk menjadi bentuk robot yng diinginkan. Selain itu juga dapat mempelajari program untuk mengendalikan robot dengan software yang sudah disediakan juga oleh NXT mindstorms. Dalam dunia komputasi, sangat banyak algoritma yang dapat digunakan untuk mencari jarak tependek dari dua titik yang terdapat pada suatu matriks (peta). salah satu dari algoritma pencari pasangan titik terdekat itu ialah algoritma A*. Algoritma A* sangat mirip dengan algoritma Djikstra, namun ia memiliki fungsi heuristik tambahan. Algoritma A* juga terkenal sebagai algoritma yang pasti memberikan hasil yang optimal karena menjumlahkan jarak terpendek dari start dan jarak terpendek dari goal dengan konfigurasi map dan obstacle yng sudah di tentukan. Sedangkan algoritma D* adalah algoritma A* dengan update nilai saat A* berjalan karena itu D* biasa disebut Dynamic A*. Algoritma ini berguna untuk mengatasi perubahan konfigurasi map karena adanya obstacle dinamis sehinggal merepresentasikan pada kondisi real. Dalam tugas akhir inilah, akan dibuat suatu Mobile Robot dengan NXT mindstorms yang dapat merencanakan suatu jalur terpendek agar robot sampai pada tempat tujuan yang diinginkan meskipun ada obstacle statis dan dinamis karena menggunkan algoritma D* II. DASAR TEORI 2.1 ALGORITMA A* A* (dibaca "A bintang"/"a star") adalah algoritma pencarian graf/pohon yang mencari jalur dari satu titik awal ke sebuah titik akhir yang telah ditentukan. Algoritma A* menggunakan pendekatan heuristik h(x) yang memberikan peringkat ke tiap-tiap titik x dengan cara memperkirakan rute terbaik yang dapat dilalui dari titik tersebut. Setelah itu tiap-tiap titk x tersebut dicek satu-persatu berdasarkan urutan yang dibuat dengan pendekatan heuristik tersebut. Maka dari itulah algoritma A* adalah contoh dari best-first search.

2 Algoritma ini pertama kali ditemukan pada tahun 1968 oleh Peter Hart, Nils Nilsson dan Bertram Raphael. Dalam tulisan mereka, algoritma ini dinamakan algoritma A. Penggunaan algoritma ini dengan fungsi heuristik yang tepat dapat memberikan hasil yang optimal, maka algoritma inipun disebut A*. Dalam ilmu komputer, A* adalah algoritma komputer yang banyak digunakan dalam pathfinding dan traversal grafik, proses merencanakan jalur efisien tercepat antara titik, yang disebut node. Tercatat untuk kinerja dan ketepatan, menikmati digunakan secara luas. Peter Hart, Nils Nilsson, dan Bertram Raphael pertama kali menjelaskan algoritma ini pada tahun 1968. Ini adalah perluasan dari algoritma 1959 Edsger Dijkstra. Sebuah algoritma untuk mencapai kinerja yang lebih baik (berkenaan dengan waktu) dengan menggunakan heuristik. Beberapa terminologi dasar yang terdapat pada algoritma ini adalah starting point, simpul (nodes), A, open list, closed list, nilai (cost), goal, halangan (unwalkable). Gambar 2.1.1 Pemberian nilai A* Dalam setiap simpul atau kotak terdapat 3 parameter nilai yaitu nilai F, G, dan H Dimana rumus dasar nilai A* adalah F(n) = G(n) + H(n) (1) F = Nilai total G = Nilai jarak terpendek dari start H = Nilai jarak terpendek dari goal Selain terdapat 3 parameter nilai juga terdapat koordinat titik yang akan untuk menentukan arah dan posisi robot berada. Dimana pada gambar diatas menunjukkan nilai koordinat (0,0). Begitu juga untuk semua kotak yang lain. Starting point adalah sebuah terminologi untuk posisi awal sebuah benda. A adalah simpul yang sedang dijalankan dalam algortima pencarian jalan terpendek. Simpul adalah petak-petak kecil sebagai representasi dari area pathfinding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga. Open list adalah tempat menyimpan data simpul yang mungkin diakses dari starting point maupun simpul yang sedang dijalankan. Closed list adalah tempat menyimpan data simpul sebelum A yang juga merupakan bagian dari jalur terpendek yang telah berhasil didapatkan. Nilai (F) adalah nilai yang diperoleh dari penjumlahan nilai G, jumlah nilai tiap simpul dalam jalur terpendek dari starting point ke A, dan H, jumlah nilai perkiraan dari sebuah simpul ke goal. Goal yaitu simpul yang dituju. Halangan adalah sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh A. Prinsip algoritma ini adalah mencari jalur terpendek dari sebuah simpul awal (starting point) menuju simpul tujuan dengan memperhatikan harga (F) terkecil. Perhatikan Gambar dibawah ini : Gambar 2.1.2 Proses awal pencarian A* Diawali dengan menempatkan A pada starting point, kemudian memasukkan seluruh simpul yang bertetangga dan tidak memilik atribut rintangan dengan A ke dalam open list. Kemudian mencari nilai H terkecil dari simpul-simpul dalam open list tersebut. Kemudian memindahkan A ke simpul yang memiliki nilai H terkecil. Simpul sebelum A disimpan sebagai parent dari A dan dimasukkan ke dalam closed list. Jika terdapat simpul lain yang bertetangga dengan A (yang sudah berpindah) namun belum termasuk kedalam anggota open list, maka masukkan simpul-simpul tersebut ke dalam open list. Setelah itu, bandingkan nilai G yang ada dengan nilai G sebelumnya (pada langkah awal, tidak perlu dilakukan perbandingan nilai G). Jika nilai G sebelumnya lebih kecil maka A kembali ke posisi awal. Simpul yang pernah dicoba dimasukkan ke dalam closed list. Hal terebut dilakukan berulang-ulang hingga terdapat solusi

3 atau tidaka ada lagi simpul lain yang berada pada open list. mungkin karena di kota Manhattan di Amerika, jarak dari dua lokasi umumnya dihitung dari blokblok yang harus dilalui saja dan tentunya tidak bisa dilintasi secara diagonal. Perhitungannya dapat ditulis sebagai berikut: h(n) = abs(n.x-tujuan.x) + abs(n.y-tujuan.y) (2) Gambar 2.1.3 Proses akhir pencarian A* Keterangan gambar : Kotak hijau = Starting point Kotak hitam = Halangan Kotak merah = Goal Hijau tepi = Open list Biru tepi = Closed list Nilai tiap kotak = Nilai F, G, H Lingkaran merah = Jalur terpendek 2.1.1 Fungsi Heuristik untuk A* Seperti yang telah disebutkan diatas, fungsi heuristik sangat berpengaruh terhadap kelakuan algoritma A*: Apabila h(n) selalu bernilai 0, maka hanya g(n) yang akan berperan, dan A* berubah menjadi Algoritma Dijkstra, yang menjamin selalu akan menemukan jalur terpendek. Apabila h(n) selalu lebih rendah atau sama dengan nilai perpindahan dari titik n ke tujuan, maka A* dijamin akan selalu menemukan jalur terpendek. Semakin rendah nilai h(n), semakin banyak titik-titik yang diperiksa A*, membuatnya semakin lambat. Apabila h(n) tepat sama dengan nilai perpindahan dari n ke tujuan, maka A* hanya akan mengikuti jalur terbaik dan tidak pernah memeriksa satupun titik lainnya, membuatnya sangat cepat. Walaupun hal ini belum tentu bisa diaplikasikan ke semua kasus, ada beberapa kasus khusus yang dapat menggunakannya. Apabila h(n) kadangkala lebih besar dari nilai perpindahan dari n ke tujuan, maka A* tidak menjamin ditemukannya jalur terpendek, tapi prosesnya cepat. Apabila h(n) secara relatif jauh lebih besar dari g(n), maka hanya h(n) yang memainkan peran, dan A* berubah menjadi BFS. Heuristik yang paling umum digunakan adalah jarak Manhattan. Fungsi heuristik ini hanya akan menjumlahkan selisih nilai x dan nilai y dari dua buah titik. Heuristik ini dinamakan Manhattan Hal lain yang harus diperhatikan adalah seberapa cepat fungsi heuristik dapat dikomputasi. Selalu akan ada trade-off antara akurasi dari fungsi heuristik dan waktu yang dibutuhkannya untuk mengomputasinya. Nampaknya bagus jika fungsi heuristik yang digunakan sangat akurat, dilihat dari berbagai macam percobaan bahwa jika heuristik yang digunakan sempurna maka A* akan selalu melewati jalur yang tepat dan akan selalu memberikan optimum global. Namun, heuristik yang sempurna semacam itu tidak ada (dan tidak akan pernah ada), dan bahkan untuk mendekatinya saja akan memerlukan tambahan komputasi yang tidak ringan. Seringkali dalam aplikasinya heuristik yang memberikan hasil yang sangat akurat namun lambat, kurang disenangi dibanding heuristik yang tidak begitu optimal namun memberikan hasil dengan cepat. Maka dari itu, pemilihan heuristik sangat bergantung pada tujuan penggunaan A*. Jika hasil yang dibutuhkan adalah optimum global, maka fungsi heuristik yang digunakannya haruslah "sempurna", sedang jika yang dibutuhkan adalah hasil yang cepat dan tidak harus jalur terpendek, maka lebih bijak menggunakan heuristik yang lebih ringan. 2.2 ALGORITMA D* D* adalah algoritma A* dengan halangan yang dinamis. Algoritma ini seperti algoritma A* tetapi dapat mendeteksi halangan saat A* nya jalan. Algoritma pencarian D diperkenalkan oleh Anthony Stentz pada tahun 1994. Nama D* berasal dari istilah Dynamic A* Untuk lebih jelasnya lihat gambar dibwah ini : Gambar 2.2.1 Proses awal pencarian D*

4 bergerak maka akan di lanjutkan sesuai dengan A* yang pertama seperti gambar 2.2.3. Akan tetapi bila halangan diam, maka posisi terakhir saat mendeteksi halangan akan dijadikan sebagai start baru dan akan dilakukan proses pencarian A* kedua dengan goal yang sama seperti gambar 2.2.4 dan gambar 2.2.5. III. DESAIN DAN IMPLEMENTASI Gambar 2.2.2 Halangan pada jalur A* 3.1 DESAIN ROBOT 3.1.1 Desain robot NXT Gambar 2.2.3 Halangan dinamis pada jalur A* Gambar 3.1.1 Desain robot NXT Gambar 2.2.4 Posisi Start pada A* kedua Desain robot NXT dibuat seperti gambar diatas. Yaitu robot berbentuk sepertu mobil atau anjing dengan 2 roda pada bagian depan dan satu roda bebas pada bagian belakang. Roda bebas ini digunakan untuk mengurangi adanya gesekan pada roda saat berjalan agar robot bisa berjalan lurus. Sedangkan 2 roda bagian depan dihubungkan dengan 2 buah motor untuk mengatur pergerakan robot baik maju atau belok. Sensor yang digunakan adalah sensor ultrasonic dengan penempatan depan. Sensor ini digunakan untuk mendeteksi adanya obstacle saat robot berjalan. Semua proses pengaturan dilakukan oleh NXT dengan tampilan layar LCD. 3.1.2 Desain Maze Gambar 2.2.5 Proses akhir Pencarian A* kedua Diawali dengan proses akhir pencarian A* yang dijadikan sebagai proses awal pencarian D* seperti gambar 2.2.1. Pada saat menjalankan A* yang pertama, tiba-tiba ada halangan pada jalur A* maka sensor akan mendeteksi halangan tersebut seperti gambar 2.2.2. Setelah mendeteksi halangan pada jalur A* akan di tunggu apakah halangan tersebut diam atau bergerak. Kalau halangan Gambar 3.1.1 Desain Maze

5 Desain maze yang dibuat adalah suatu lantai dengan luas 240cm x 240cm. dimana terdri dari 8 ubin vertikal dan 8 ubin horizontal. Dengan masing2 ubin berukuran 30cm x 30cm. Posisi tampilan awal maze baik posisi start, obstacle, dan goal seperti pada gambar diatas. Posisi tersebut dapat dirubah sesuai dengan yang diinginkan. 3.2 IMPLEMENTASI Gambar 3.2.1 Kemampuan robot NXT Robot NXT mindstorms yang dibuat memiliki kemampuan untuk belok dari 0 sampai 360 derajat. Dengan posisi awal (default) robot menghadap ke kanan. Posisi ini digunakan untuk menyimpan koordinat awal robot serta arah robot kedua parameter tersebut digunakan agar robot dapat berjalan dan mengetahui arah selanjutnya dengan benar. IV. PENGUJIAN 4.1 Pengujian Sistem Pada bagian ini akan membahas pengujian dan analisa sistem yang telah dirancang. Smua pengujian dilakukan dalam kondisi baterai NXT yang terisi penuh. dan pada maze seperti gambar dibawah ini : Gambar 4.1.1 Maze pengujian sistem 4.2 Pengujian Sistem meliputi : A. Pengujian respon NXT terhadap algoritma D* B. Pengujian waktu robot untuk berjalan C. Pengujian Prosentase keberhasilan robot A. Pengujian respon NXT terhadap algoritma D* Pengujian respon NXT terhadap algoritma D* ini digunakan untuk mencari tau seberapa cepat mikrokontroller pada NXT memproses algoritma D* yang sudah dibuat. Percobaan dilakukan sebanyak 10 kali dengan posisi start dan goal yang sama tetapi halangan berbeda-beda. Baik halangan yang mudah maupun halangan yang sulit. Selengkapnya lihat table dibawah ini : Tabel 4.2.1 Pengujian respon NXT terhadap algoritma D* Percobaan Koordinat Start Koordinat Goal Halangan Waktu (detik) 1 2,3 6,3 0 2,3 2 2,3 6,3 1 2,4 3 2,3 6,3 2 2,8 4 2,3 6,3 3 3,5 5 2,3 6,3 4 4,4 6 2,3 6,3 5 5,5 7 2,3 6,3 6 5,9 8 2,3 6,3 7 7,2 9 2,3 6,3 8 9,7 10 2,3 6,3 9 11,5 RATA-RATA = 5,52 B. Pengujian Waktu robot untuk berjalan Pengujian Waktu robot untuk berjalan dari satu ubin ke ubin yang lain baik maju lurus, maju diagonal maupun belok di gunakan untuk menghitung berapa lama waktu yang dibutuhkan robot untuk menghindari obstacle dinamis yang bergerak sehingga robot tidak menabraknya. Selengkapnya lihat table dibawh ini : Tabel 4.2.2 Pengujian waktu robot berjalan maju Percobaan Gerakan maju Waktu(detik) 1 lurus 1,98 2 diagonal 2,54 RATA-RATA = 2,26 Tabel 4.2.3 Pengujian waktu robot berjalan belok Percobaan Gerakan belok Waktu(detik) 1 45 0 1,35 2 90 0 1,66 3 135 0 2,29 4 180 0 2,79 5 225 0 2,34 6 270 0 1,89 7 315 0 1,48 RATA-RATA = 1,97

6 C. Pengujian prosentase keberhasilan robot Pengujian prosentase keberhasilan robot dilakukan sebanyak 50 kali dengan posisi start dan posisi goal berbeda-beda. Begitu juga dengan obstacle nya. Baik jumlah maupun kesulitannya berbeda-beda. Hal ini dilakukan untuk mengetahui seberapa bagus robot NXT dalam memproses lgoritma D* dan menjalankannya. Selengkapnya lihat table dibawah ini : Tabel 4.2.4 Pengujian prosentase keberhasilan robot Percobaan Koordinat Start Koordinat Goal Halangan Keterangan 1 1,7, 2,3 0 Berhasil 2 2,5 4,3 1 Berhasil 3 3,3 7,3 2 Berhasil 4 5,3 3,3 0 Berhasil 5 1,3 6,3 1 Berhasil 6 2,3 5,3 2 Berhasil 7 5,3 3,2 0 Berhasil 8 7,3 4,5 1 Berhasil 9 1,3 4,3 2 Berhasil 10 6,3 1,3 0 Berhasil 11 5,7 1,5 1 Berhasil 12 1,3 7,5 2 13 5,5 1,2 0 Berhasil 14 6,6 0,4 1 Berhasil 15 6,3 3,4 2 Berhasil 16 7,3 1,1 0 Berhasil 17 2,4 5,6 1 Berhasil 18 1,4 7,7 2 19 3,3 5,1 0 Berhasil 20 1,3 6,3 1 Berhasil 21 2,3 7,3 2 Berhasil 22 4,3 2,3 0 Berhasil 23 3,3 4,3 1 Berhasil 24 4,3 7,3 2 25 3,3 3,3 0 Berhasil 26 2,3 6,3 1 Berhasil 27 3,3 6,3 2 28 2,6 3,2 0 Berhasil 29 2,4 4,5 1 Berhasil 30 1,3 4,3 2 Berhasil 31 2,3 1,3 0 Berhasil 32 2,6 1,5 1 Berhasil 33 1,3 7,5 2 Berhasil 34 6,3 1,2 0 Berhasil 35 5,2 0,4 1 Berhasil 36 6,3 3,4 2 Berhasil 37 7,3 1,1 0 Berhasil 38 2,3 5,6 1 Berhasil 39 2,5 7,7 2 40 1,3 5,1 0 Berhasil 41 2,7 6,3 1 Berhasil 42 5,1 7,3 2 43 2,5 3,4 2 Berhasil 44 2,2 1,1 0 Berhasil 45 5,3 5,6 1 Berhasil 46 3,3 7,7 2 Berhasil 47 1,2 5,1 0 Berhasil 48 2,1 6,3 1 Berhasil 49 4,3 7,3 2 50 1,1 7,7 2 RATA-RATAKEBERHASILAN = 42/50 x 100% V. KESIMPULAN = 84% 1) Rata-rata respon NXT terhadap algoritma D* dengan start dan goal yang sama tetapi dengan halangan yang berbeda-beda baik yang mudah maupun sulit adalah 5,52 detik 2) Rata-rata waktu robot untuk berjalan adalah : a. Maju = 2,26 detik b. Belok = 1,97 detik Dari rata-rata tersebut dapat disimpulkan bahwa obstacle dinamis yang bergerak minimal 4,5 detik untuk pindah dari satu ubin ke ubin yang lain. Karena gerakan robot untuk maju 2 ubin adalah 4,52 detik 3) Prosentase keberhasilan robot untuk sampai ke goal dengan 50 kali percobaan dengan posisi start, posisi goal, dan halangan dinamis yang berbeda-beda adalah 84% VI. DAFTAR PUSTAKA [1] http://www.nxtprograms.com/ [2] http://bricxcc.sourceforge.net/nbc/ [3] A* searchalgorithm,http://en.wikipedia.org/ wiki/a_search_algorithm, Wikipedia, tanggal akses 2 januari 2010 pukul 13.00WIB. [4] Patrick Lester, A* Pathfinding for Beginners, http://www.gamedev.net/reference/articles/art icle2003.asp, 2003. [5] Stentz, A. 1995. The focussed D* algorithm for real-time re-planning. In Proceedings of the International Joint Conferenceon Arti?cial Intelligence, 1652 1659.