• Tidak ada hasil yang ditemukan

KOMPARASI ALGORITMA MAZE SOLVING DALAM MENENTUKAN JALUR TERCEPAT PADA MAZE

N/A
N/A
Protected

Academic year: 2021

Membagikan "KOMPARASI ALGORITMA MAZE SOLVING DALAM MENENTUKAN JALUR TERCEPAT PADA MAZE"

Copied!
7
0
0

Teks penuh

(1)

Jurnal Ilmiah Fakultas Teknik “Technologia”

KOMPARASI ALGORITMA MAZE SOLVING

DALAM MENENTUKAN JALUR TERCEPAT PADA MAZE

Ihda Innar Ridho, S. Kom., M. Kom ([email protected] )

ABSTRAK

Penelitian ini menyajikan perbandingan antara berbagai macam algoritma Maze Solving berikut;

Algoritma Depth-First Search, Algoritma Shortest Path / Djikstra dan Agoritma Flood Fill untuk mendapatkan solusi yang efisien dan atau tercepat untuk menemukan jalur dalam sebuah maze.

Penelitian dimulai algoritma maze solving sederhana yaitu logika depth-first untuk memecahkan suatu maze dan seberapa efisien algoritma tersebut dalam menemukan jalur dalam waktu tertentu.

Dan tahap selanjutnya percobaan yang sama dilakukan juga pada Algoritma Shortest Path / Djikstra dan Algoritma Flood Fill. Kode yang diperlukan untuk algoritma yang diusulkan ditulis dalam Borland Delphi 7. Untuk melihat kinerja secara keseluruhan, algoritma yang diusulkan telah diuji pada tiga generated maze dan waktu yang dibutuhkan untuk menyelesaikan maze tersebut dicatat dalam sebuah tabel, dan akhirnya Algoritma Flood Fill muncul sebagai pemenang.

Kata Kunci : Maze Solving, Depth-First Search Algorithm, Shortest Path, Algorithm, Flood Fill Agorithm

PENDAHULUAN

Teknologi robotika dewasa ini berkembang sangat pesat, berbagai macam varian robot dalam berbagai bentuk dan ukuran, dari yang berwujud binatang sampai berwujud manusia (robot humanoid) kerap dijumpai dimana- dimana. Semakin maju teknologi informasi semakin canggih pula teknologi robotika, baik dari segi fisik, kecerdasan maupun fungsinya.

Peranan robot sangat besar sekali dalam membantu pekerjaan manusia dalam menyelesaikan berbagai macam permasalahan di berbagai bidang, baik dalam bidang industri maupun non industri secara efektif dan efisien.

Menurut pergerakannya secara garis besar robot dapat dikategorikan sebagai robot beroda yaitu robot yang bergerak menggunakan roda, dan robot berkaki yaitu robot yang bergerak menggunakan kaki.

Terdapat dua tipe robot pencari jalur pada maze yang umumnya sering dijumpai dalam dunia robotik, yaitu Line Following Robot dan Wall Following Robot. Line Following Robot (Robot Pengikut Garis) adalah robot yang dapat berjalan mengikuti sebuah lintasan, ada yang menyebutnya dengan Line Tracker, Line Tracer Robot dan sebagainya. Garis yang dimaksud adalah garis berwarna hitam diatas permukaan berwarna putih atau sebaliknya, ada juga lintasan dengan warna lain dengan permukaan yang kontras dengan warna garisnya. Ada juga garis yang tak terlihat yang digunakan sebagai lintasan robot, misalnya medan magnet. Wall Follower Robot adalah robot yang pergerakannya melintasi alur dinding yang mengitarinya.

METODE PENELITIAN

(2)

Jurnal Ilmiah Fakultas Teknik “Technologia”

Penelitian ini adalah penelitian eksperimen dengan metode yang digunakan sebagai berikut :

1. Penentuan Masalah

Penentuan masalah penelitian dengan menggunakan studi literatur dan studi lapangan, dalam penelitian ini adalah mengidentifikasi kelebihan dan kekurangan yang dimiliki oleh beberapa macam algoritma maze solving.

2. Penentuan computing approach

Untuk menyelesaikan permasalahan maka berdasarkan studi literatur terhadap beberapa computing approach, maka sistem pencarian jalur tercepat dibuat dengan menggunakan terminologi maze solving.

3. Sebagai pengukur hasil penelitian digunakan sebuah test bed yang dibuat menggunakan bahasa pemrograman Delphi.

4. Evaluasi dan validasi penelitian

Tahap akhir dari penelitian melakukan evaluasi terhadap hasil penerapan sistem pada obyek penelitian yaitu berupa data ukuran kecepatan yang dapat diraih pada penggunaan algoritma yang berbeda-beda dan melakukan validasi hasil penelitian.

PEMBAHASAN A. Depth-First Logic

1. Interpretasi Maze

Maze dalam kompetisi Micromouse terdiri dari kelipatan bentuk persegi 18cm x 18cm. Yang terdiri dari unit kotak 16x16. Memiliki pusat, yang merupakan sel tujuan untuk Micromouse tersebut. Robot harus mencari keseluruhan maze dan menemukan jalur yang dapat membawanya melakukan perjalanan dalam waktu sesingkat mungkin. Maze ini adalah standar yang digunakan dalam semua kompetisi yang diadakan

di seluruh dunia oleh IEEE dan Lembaga standar lainnya. Disini penulis menggunakan labirin standar untuk perbandingan yang lebih baik dari segi efisiensi setiap logika yang akan dijelaskan. Maze tersebut diinterpretasikan dalam bentuk array dua dimensi, dimana setiap selnya diwakili oleh sebuah koordinat.

Baris dan kolom digunakan untuk membedakan array, maka baris dilambangkan dengan 'B' dan kolom ditandai dengan 'K', pertambahan dan pengurangan dalam B dan K akan menandakan sel yang berbeda.

Sekarang, gerakan Micromouse pada maze adalah murni PEMETAAN sel pada baris dan kolom.

Ketika maze diinterpretasikan secara matematis, maka akan ditemukan suatu pendekatan yang berguna untuk memecahkan algoritma akhir yang lebih tinggi yang lebih rumit.

2. Algoritma Dasar

Logika LEFT WALL FOLLOWER bekerja sesuai dengan aturan yaitu dengan mengikuti dinding disebelah kiri secara terus menerus sampai tiba ke titik pusat. RIGHT WALL FOLOWER mirip dengan WALL FOLLOWER, perbedaannya hanya terletak pada dinding yang diikuti berada di sisi sebelah kanan.

Micromouse mendeteksi jika ada dinding di sebelah kiri, dan mengikutinya ke mana pun itu mengarah sampai titik pusat tercapai.

Ini logika sederhana yang digunakan untuk memecahkan maze yang akan ditunjukkan oleh algoritma berikut:

• Langkah 1: Deteksi dinding disebelah kiri.

• Langkah 2: Jika ditemukan ada dinding disebelah kiri tandai = 1, jika tidak ada maka tandai = 0.

(3)

Jurnal Ilmiah Fakultas Teknik “Technologia”

• Langkah 3: Jika bertanda = 1 maka berjalan sebanyak 4 langkah, sebaliknya putar ke kiri sebanyak 90 derajat.

• Langkah 4: Deteksi jika ada dinding di depan.

• Langkah 5: Jika ada dinding di depan beri tanda = 1, jika tidak ada maka tandai dengan = 0.

• Langkah 6: jika bertanda = 0, bergerak lurus sebaliknya berbelok ke kanan sebanyak 90 derajat.

• Langkah 7: kembali ke langkah 1.

Gambar 1 LEFT WALL Maze yang sudah terpecahkan

Garis putih menunjukkan jalan yang diikuti oleh robot. Waktu yang dibutuhkan oleh robot dapat dihitung dengan mengasumsikan perpindahan dari sel ke sel dikali 2,5 detik. dan waktu berputar adalah 1 detik. maka total waktu yang dibutuhkan oleh robot ini adalah (140 × 2,5) + (27 × 1) =

404sec. untuk mencapai pusat maze.

Logika diatas telah diimplementasikan pada sebuah sampel maze sesungguhnya yang berukuran 5x5.

(Sesuai dengan standar IEEE) Namun ada keterbatasan dengan algoritma ini, yaitu, bahwa hanya dapat memecahkan maze dengan pola tertentu saja.

Gambar 2. LEFT WALL Maze yang tidak terpecahkan

(4)

Jurnal Ilmiah Fakultas Teknik “Technologia”

Maze di atas tidak dapat diselesaikan dengan menggunakan logika LEFT WALL FOLLOWER. Inilah salah satu kelemahan dari logika ini. Algoritma ini tidak cukup efisien untuk memecahkan labirin kompleksitas tinggi dan yang yang memiliki beberapa jalur yang mengarah ke pusat.

3. Shortest Path/ Djikstra Logic

Jika diamati bahwa desain sistem navigasi otonom dengan banyak tugas yang harus diselesaikan dalam lingkungan yang tidak diketahui merupakan suatu usaha yang kompleks.

Dengan tujuan yang simultan untuk menangkap target dan menghindari rintangan, tantangan dapat menjadi lebih rumit jika rintangan dan target memiliki perbedaan yang tipis, seperti bentuk cekung dan maze antara robot dan target. sistem navigasi yang murni reaktif (sesuai dengan yang apa diperintahkan) tidak mampu menangani dengan baik skenario rintangan tersebut untuk itu dibutuhkan suatu perlakuan kognitif tambahan.

Munculnya konsep-konsep dari teori jaringan kekebalan kemudian digunakan untuk mengkonversi pengontrol robot yang sebelumnya bersifat reaktif, berdasarkan sistem pembelajaran klasifikasi, menjadi sebuah perangkat koneksionis. Mulai dari pengetahuan apriori, pengklasifikasi dan koneksionis mereka berevolusi seiring pergerakan navigasi robot.

Sebagai kesimpulan dari fakta di atas penulis mencoba menerapkan Shortest Path dengan Algoritma Djikstra untuk memecahkan permasalahan ini.

Algoritma ini menawarkan pencarian jalur terpendek dari sebuah graf yang langsung menuju sekumpulan node.

Pendekatan ini mengadopsi strategi multi-perilaku koordinasi, di mana sebuah novel perilaku pencarian jalur

dikembangkan untuk menentukan jalur terpendek [ 10]

4. Pemecahan Maze

Input dari algoritma ini terdiri dari graf G berbobot dan simpul awal berada di G. Penulis akan menunjukkan V himpunan semua titik dalam graf G.

Setiap ujung grafik adalah pasangan terurut dari simpul (u, v) mewakili sambungan dari titik u ke titik v, himpunan semua sisi dilambangkan E.

bobot tepi diberikan oleh fungsi bobot w: E [0,) sehingga w (u, v) adalah hasil perpindahan langsung dari simpul u ke simpul v. Hasil perhitungan pada dari satu tepi dapat dianggap sebagai jarak antara dua simpul. Hasil perhitungan pada jalur antara dua simpul adalah jumlah perhitungan dari tepi jalur tersebut. Untuk sepasang diberikan simpul s dan t dalam V, algoritma ini mencari jalur dari s ke t dengan biaya terendah (misal; lintasan terpendek).

Jadi inilah sifat dasar algoritma ini yang dapat digunakan untuk mencari graf. Fungsi bertahap dari algoritma ini bisa dilihat di bawah ini.

LANGKAH 1: Mulai "ready set"

dengan node awal

Set jarak awal dengan 0, dist [s] = 0;

lainnya tak terbatas: dist [i] = (untuk i s);

Set Siap = {}.

LANGKAH 2: Pilih simpul dengan jarak terpendek dari titik awal yang tidak ada di “ready set” Siap = Siap + {n}

LANGKAH 3: Hitung jarak ke semua tetangganya

Untuk setiap tetangga beri node m sebanyak n

Periksa apakah dist [n] + tepi (n, m)

<dist [m]

Jika ya maka dist [m] = dist [n] + tepi (n, m);

LANGKAH 4: Simpan pendahulu jalan. pre[m] = n;

(5)

Jurnal Ilmiah Fakultas Teknik “Technologia”

LANGKAH 5: Tambahkan node saat ini untuk " ready set".

LANGKAH 6: Periksa setiap node yang tersisa, jika ya goto langkah 2 LANGKAH 7: end

Sekarang timbul permasalahan tentang bagaimana menghasilkan langsung graf G dari node yang telah dibahas sebelumnya. Jadi untuk hal ini diperlukan Micromouse yang melintasi maze secara keseluruhan dan menghasilkan node! Jadi fungsi lintasan bisa didefinisikan sebagai berikut:

Traverse ():

LANGKAH 1: Bergerak lurus

LANGKAH 2: Periksa apakah ada dinding di depan. Jika ya, maka goto langkah 3 selainnya goto langkah 1.

LANGKAH 3: Periksa apakah lokasi saat ini berada dalam V, jika tidak ada

maka tambahkan lokasi pada set V, Hitung jarak antara lokasi saat ini dan lokasi sebelumnya. Simpan nilai dalam set E, selainnya berputar 180 derajat dan lintasi jalur V sebelumnya.

LANGKAH 4: Periksa apakah ada dinding di sebelah kanan. Jika ada, berbelok ke kiri sebanyak 90 derajat, jika tidak ada berbelok 90 derajat ke kanan.

LANGKAH 5: Goto langkah 1

Ulangi langkah 1 sampai 5 sampai seluruh maze dilalui.

Perhitungan jarak antara dua node berturut-turut dilakukan dengan menambahkan rangkaian counter pada dasar chasis di dekat roda, untuk menghitung jumlah sel antara tujuan dan lokasi sumber. Perhitungan ini akan menghasilkan bobot tepi E

. }

Gambar 5 Nilai 4 variabel pada 4 kuadran

Maka jika digabungkan akan menjadi PERSAMAAN MATEMATIKA sebagai berikut:

Penambahan dan pengurangan baris: B-(i

* decr) + (i * incr)

Penambahan dan pengurangan kolom: K- (j * DECC) + (j * incc)

Untuk selanjutnya persamaan keseluruhannya adalah sebagai berikut:

(dimana variabel i, j bervariasi dalam satu lingkaran dari 0 sampai 8).

6. Hasil Eksperimen

Perencanaan gerak yang baik merupakan persyaratan utama yang dituntut dari robot otonom. Diberi suatu tugas yang harus dipenuhi, robot harus merencanakan

tindakannya termasuk pergerakan yang terbebas dari tabrakan. Studi komparasi pada panjang jalur & performa waktu yang dibutuhkan pada robot yang berkaitan dengan algoritma yang berbeda termasuk simulasi dan tes telah dilakukan

MAZE[B-(i*decr) + (i*incr)][K-(j*decc)+j*incc)] = i+j;

(6)

Jurnal Ilmiah Fakultas Teknik “Technologia”

untuk menguji teori yang didapat, berikut perbandingan hasil eksperimen pada

beberapa algoritma yang telah dipaparkan sebelumnya diatas:

Left Wall Follower

Right Wall Follower

Algoritma Djikstra

Algortima Flood Fill Pergerakan

dari sel ke sel

70 62 50 50

Perputaran 27 25 16 16

Waktu yang dibutuhkan (*dalam satuan detik)

307 283 266 +

tambahan waktu untuk

pembuatan graf

266

KESIMPULAN a. Kesimpulan

Masalah yang dihadapi dalam Wall Follower baik pengikut wall kiri atau pengikut wall kanan telah diselesaikan dengan algoritma Djikstra. Dan algoritma Djikstra ini untuk selanjutnya disempurnakan oleh algoritma Flood Fill. Logika pengikut wall kanan/ kiri dibatasi untuk jenis terbatas pada maze saja, sedangkan algoritma Djikstra dapat dipakai untuk memecahkan hampir semua jenis dari maze. Akan tetapi memerlukan banyak waktu untuk interpretasi maze dan pemetaan yang hal ini mengurangi efisiensi. Masalah ini sekali lagi bisa diminimalisir menggunakan algoritma Flood Fill dimana interpretasi maze atau bisa disebut dengan pembentukan map dilakukan bersamaan dengan maze solving. Tugas yang dilakukan secara bersama-sama tersebut terbukti efektif meningkatkan efisiensi micromouse.

Analisis rumit dari algoritma di atas memberi kita dasar bagaimana untuk melanjutkan penelitian dalam perencanaan jalur, pada sistem navigasi perangkat cerdas. Eksperimen ini dilakukan menggunakan maze berstandar IEEE, jika ada perubahan ukuran dimensi, waktu traversal dapat

berubah tetapi algoritma tidak akan.

Dalam hal maze yang tidak standar, sebuah hardware tambahan untuk sensor akan diperlukan untuk mendeteksi apakah sel telah dilalui atau tidak. Hal ini akan menambah kompleksitas program. Penelitian dimasa yang akan datang diharapkan dapat memberikan penekanan pada permasalahan ini.

b. Saran

Dengan ini penulis menyimpulkan, jika tidak memiliki kendala waktu dan kendala perangkat keras kita dapat secara efektif menggunakan algoritma Djikstra, akan tetapi jika terkendala dikeduanya algoritma Flood Fill lebih unggul dari yang lain. Selanjutnya, jika kita tidak ingin membuat perhitungan yang kompleks untuk ditanamkan dalam sistem, yang berarti, jika kita memiliki keterbatasan memori dan maze yang harus dipecahkan terlihat cukup mudah, kita dapat menggunakan algoritma Right\ Left Follower. Namun untuk hal ini kita perlu memiliki pengetahuan sebelumnya tentang maze, apakah itu dinding lintasannya bertipe right-walled atau left-walled. Dengan demikian, algoritma Flood Fill sejauh ini merupakan algoritma yang paling efektif dari semuanya, dengan kelemahan yang lebih sedikit atau hampir tidak ada selain

(7)

Jurnal Ilmiah Fakultas Teknik “Technologia”

dari software yang kompleks yang sulit untuk dikodekan. Kecepatan robot untuk menemukan jalur, dipengaruhi oleh algoritma yang diterapkan.

DAFTAR PUSTAKA

Babak Hosseini Kazerouni, Mona Behnam Moradi, and Pooya Hosseini Kazerouni,

"Variable Priorities in Maze-Sloving,"

2003.

Dracopoulos Dimitris C., "Robot Path Planning for Maze ," 1998.

en.wikipedia.org. [Online].

http://en.wikipedia.org/wiki/Maze_solving_al gorithm

Hongshe Dang, Jinguo Song, and Qin Guo,

"An Efficient Algorithm for Robot Maze-Solving," IEEE, 2010.

Hermann Kern, Through the labyrinth:

designs and meanings over 5000 years.:

Prestel. p. 23., 2000.

Jianping Cai, Xuting Wan, Meimei Huo, and Jianzhong Wu, "An Algorithm of Micromouse Maze Solving," IEEE, 2010.

Lappa Valley Steam Railway. (retrieved 13 June 2010) Lappa Valley Steam Railway – Trevithick Brick Path Maze.

Mishra Swarti and Bande Pankaj, "Maze Solving Algorithms for Micro Mouse,"

IEEE, p. International Conference on Signal Image Technology and Internet Bases System, 2008.

Pengfei Guo, Xuezhi Wang, and Yingshi Han,

"The enhanced genetic algorithms for the optimization design," IEEE, 2010.

Sandy Halim, Merancang Mobile Robot Pembawa Objek Menggunakan OOPic- R. Jakarta: Elex Media Komputindo, 2007.

S.J. Russel, Stuart J., and Peter Norvig, Artificial Intelligence A Modern Approach Second Edition.: Pearson Education, 2003.

Wang Meng and N.K. Liu James, "Fuzzy Logic Based Robot Path Planning in unknown Environment," no. the Fourth International Conference on Machine Learning and Cybernetics, Guangzhou, 2005.

Ya Juan Zhang, Zi Li Zhang, and Yong Deng,

"An improved maze solving algorithm based on an amoeboid organism," IEEE, 2011.

YouTube. (2007-12-23, Diakses pada 2011- 12-18) Maze to Tree.

Gambar

Gambar 2.  LEFT WALL Maze yang tidak terpecahkan

Referensi

Dokumen terkait

Pembahasan mengenai Upaya yang dilakukan oleh pemerintah dalam pembangunan industri pariwisata dalam persaingan global khususnya ASEAN Economic Community dapat

Henry Ford made the Quadricycle from miscellaneous parts including bicycle tires for the wheels and a

ISO 9001:2008 hanya merupakan suatu sistem manajemen mutu sehingga perusahaan yang mengimplementasikan dan memperoleh sertifikat ISO dapat menyatakan bahwa sistem

Dari 6 indeks validasi untuk mengetahui jumlah pengelompokan yang tepat, menunjukkan bahwa pengelompokan menjadi 2 kelompok memberikan hasil pengelompokan yang lebih bagus

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

Pada pembakaran batu bata yang menggunakan sekam padi dapat dilihat bahwa tidak semua hasil pembakaran masih berupa abu, tetapi juga masih mengandung sedikit arang

Fotokopi sertifikat Merek, petikan resmi merek terdaftar, atau bukti permohonan Salinan sah akte badan hukum, jika penerima hak adalah badan hukum. Fotokopi identitas pemohon

Kualitas Tidur dan Faktor-faktor Gangguan Tidur Pada Penderita Diabetes Mellitus di Wilayah Kerja Puskesmas Medan Johor.. Medan: Fakultas Keperawatan Universitas