• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
5
0
0

Teks penuh

(1)

Prosiding SENTIA 2016 – Politeknik Negeri Malang Volume 8 – ISSN: 2085-2347

STUDI PENERAPAN ALGORITMA DIJKSTRA DAN ALGORITMA A*

DALAM MENENTUKAN RUTE TERPENDEK PADA ROBOT PEMADAM API

Akhmad Alfan Hidayatullah, Anik Nur Handayani, Muhammad Jauharul Fuady Teknik Elektro - Universitas Negeri Malang

Email: alfan.hidayatullah@gmail.com,aniknur.ft@um.ac.id, jauharul@um.ac.id

Abstrak

Studi ini membahas tentang robot pemadam api yang bertugas untuk mencari titik api terdekat dari titik start. Titik api terletak pada salah satu ruangan yang berada dalam sebuah labirin, sehingga dibutuhkan sebuah algoritma untuk mempercepat pencarian ruang terdekat dari titik robot start. Algoritma dijkstra dan algoritma A* merupakan algoritma pencarian untuk menemukan rute terpendek menuju ruang terdekat. Dalam penelitian ini baik algoritma dijkstra maupun algoritma A* menggunakan pemetaan yang telah diberikan sebelumnya. Pemetaan tersebut akan disimpan dalam variabel array dalam bentuk koordinat setiap ruangan. Jarak setiap ruangan dihitung menggunakan persamaan phytagoras. Sehingga akan didapatkan nilai jarak yang dibutuhkan masing-masing algoritma untuk menentukan rute menuju ruang terdekat. Empat masalah yang dikaji dalam studi penerapan algoritma Dijkstra dan A* adalah completeness, optimality, time complexity, dan space complexity.

Kata kunci: algoritma dijkstra, algoritma A*, robot pemadam api berkaki enam, rute terpendek

1. Pendahuluan

Teknologi berkembang sangat pesat beberapa tahun terakhir. Banyak bermunculan produk-produk maupun perangkat yang bekerja secara otomatis.

Mulai dari perangkat industri sampai dengan perangkat rumah tangga yang setiap hari kita temui.

Hampir semua aspek kehidupan manusia saat ini terbantu dengan adanya teknologi, terlebih dengan hadirnya teknologi robotika. Menurut Halim (2007), robot adalah peralatan elektro-mekanik (biomekanik), atau gabungan peralatan yang menghasilkan gerakan otonomi maupun gerakan berdasarkan perintah.

Robot bekerja sesuai dengan perintah yang diberikan oleh manusia, dengan kemampuan tersebut robot akan dengan mudah menyelesaikan berbagai permasalahan. Mulai dari permasalahan yang sederhana sampai dengan permasalahan yang membutuhkan tingkat ketelitian yang tinggi. Bahkan, permasalahan yang urgent seperti kebakaran juga sangat terbantu dengan adanya teknologi robotika.

Dengan adanya robot pemadam kebakaran, akan meminimalisasi resiko petugas pemadam kebakaran dalam bertugas, terlebih ketika bertugas pada lokasi yang tidak memungkinkan dan sangat beresiko.

Contohnya, pada kejadian kebakaran akibat zat radio aktif, kebakaran pada tempat-tempat yang rawan ledakan, dan sebagainya.

Kontes Robot Pemadam Api Indonesia (KRPAI) memiliki dua divisi di dalamnya, yaitu KRPAI berkaki dan beroda. Pada divisi beroda, robot menggunakan roda sebagai alat geraknya, sedangkan pada divisi berkaki robot menggunakan kaki sebagai alat geraknya. Arena pertandingan berbentuk

simulasi interior suatu rumah dengan empat buah ruangan. Terdapat satu titik api pada setiap arena pertandingan. Peletakan titik api bersifat acak pada ruangan yang telah tersedia. Robot akan melakukan start dari titik start yang acak, sehingga robot akan menentukan terlebih dahulu titik start untuk memulai pencarian titik api.

Robot pemadam api beroda memiliki manuver yang lebih baik dikarenakan fleksibilitas roda dalam bergerak. Sedangkan untuk divisi berkaki pergerakan robot lebih kompleks, perpaduan antara desain mekanik, kualitas komponen, dan algoritma yang digunakan akan sangat menentukan performa robot tersebut. Sehingga dibutuhkan suatu algoritma yang dapat menentukan lokasi ruang yang akan dituju oleh robot, dan menentukan ruang yang memiliki jarak yang paling efektif dari letak robot berada.

2. Metode

Pada penelitian ini akan mengkaji empat kriteria yang diperlukan untuk mengukur unjuk kerja antara Dijkstra dan A*, dengan implementasi pada KRPAI Berkaki. Menurut Russel (2010) ada empat kriteria dalam mengevaluasi performa dari sebuah algoritma, yaitu:

1. Completeness

Pada kriteria ini menilai bagaimana sebuah algoritma mampu menjamin ketersediaan solusi ketika solusi tersebut memang ada. Sehingga, pada penelitian ini kemampuan algoritma harus mampu menjamin menemukan ruang terdekat dari titik start.

2. Optimality

(2)

Prosiding SENTIA 2016 – Politeknik Negeri Malang Volume 8 – ISSN: 2085-2347

Kriteria ini menunjukkan kemampuan algoritma dalam menemukan solusi yang optimal. Dalam hal ini kemampuan algoritma dalam menemukan ruang terdekat dengan rute yang terpendek pula.

3. Time Complexity

Kompleksitas waktu menunjukkan seberapa lama sebuah algoritma dalam menemukan solusi. Solusi dalam penelitian ini adalah, rute terpendek dalam pencarian ruang terdekat dari titik start pada robot pemadam api berkaki enam.

4. Space Complexity

Kriteria ini menunjukkan seberapa besar memory yang dibutuhkan oleh algoritma pencarian dalam menemukan rute terpendek pada pencarian ruang terdekat pada robot pemadam api berkaki enam.

Berdasarkan penelitian-penelitian yang sudah ada, didapatkan bahwa algoritma dijkstra dan algoritma A* dinilai potensial dalam menemukan rute terpendek menuju titik api. Akan tetapi algoritma dijkstra maupun algoritma A* belum teruji dalam permasalah robot pemadam api. Sehingga, perlu diadakan penelitian untuk mengetahui pengaruh apa yang diberikan kedua algoritma tersebut. Dengan demikian, kedua algoritma diharapkan mampu meningkatkan performa dari robot pemadam api.

Berikut merupakan langkah-langkah algoritma dijkstra:

Algoritma Dijkstra:

1. Mulai

2. Inisialisasi L sebagai himpunan kosong untuk himpunan yang telah terpilih sebagai jalur terpendek, inisialisasi V sebagai himpunan dengan nilai biaya jarak antar titik

3. Selama suksesor belum terlewati atau 𝑣𝑛  𝐿 lakukan:

a. Pilih titik 𝑣𝑘 ∈ 𝑉 − 𝐿 dengan 𝐷(𝑘) terkecil

b. Untuk setial 𝑉𝑗 ∈ 𝑉 − 𝐿 lakukan:

- Jika 𝐷(𝑗) > 𝑑(𝑘) + 𝑊(𝑘, 𝑗) maka ganti 𝐷(𝑗) dengan 𝐷(𝑘) + 𝑊(𝑘, 𝑗)

4. Untuk setiap 𝑉𝑗 ∈ 𝑉, 𝑤 ∗ (𝑙, 𝑗) = 𝐷(𝑗)

5. Selesai

Selanjutnya, berikut merupakan langkah- langkah algoritma A*:

Algoritma A*:

1. Mulai

2. Letakkan node start berada di OPEN list dengan f(node_start) = h(node_start)

3. Lakukan perulangan untuk setiap nilai dari OPEN list tidak berisi nilai null 4. Hitung f(node_current) =

g(node_current) + h(node_current) lalu tentukan nilai node_current dari nilai f(node_current) dengan nilai paling kecil

5. Ketika nilai node_current adalah goal maka solusi telah ditemukan

6. Bangkitkan setiap suksesor dari node_current

7. Untuk setiap suksesor dari node_current kerjakan:

a. Hitung g(suksesor) = g(node_current) + actual cost(node_current, suksesor) b. Ketika suksesor telah berada di

OPEN list atau sudah pernah dibangkitkan sebelumnya bandingkan nilai g(suksesor) dengan nilai g(node_current) jika g(suksesor) lebih baik ubah parent suksesor menjadi node_current dan hitung ulang g(suksesor)

c. Ketika suksesor berada di CLOSED list, bandingkan nilai

g(suksesor) dengan

g(node_current) ketika g(suksesor) lebih baik, lakukan perulangan sampai tidak ada simpul dari suksesor yang ebrada di OPEN list d. Ketika suksesor tidak berada di

OPEN list maupun di CLOSED list, masukkan suksesor ke OPEN list dan tambahkan suksesor tersebut sebagai suksesornya node_current, dan hitung f = g(suksesor) + h(suksesor)

8. Selesai

Kedua algoritma, baik algoritma dijkstra maupun algoritma A* akan diimplementasikan ke dalam metode pencarian jarak terpendek pada robot berkaki enam.

3. Pembahasan

Proses pengambilan data dilakukan dengan dua cara, pertama adalah pengamatan pada hasil pencarian yang ditampilkan oleh robot dan kedua adalah pengamatan pada logfile hasil kompilasi algoritma yang terekam pada file dengan ekstensi ELF (Executable and Linkable Format). Pengamatan hasil keluaran pencarian dilakukan pada robot pemadam api berkaki enam. Hasil keluaran akan ditampilkan dalam layar LCD pada robot.

Data yang ditampilkan adalah data solusi pencarian, jarakterpendek hasil pencarian, dan waktu eksekusi algoritma. Solusi dan jarak hasil pencarian didapatkan dari kesimpulan dari semua kemungkinan

(3)

Prosiding SENTIA 2016 – Politeknik Negeri Malang Volume 8 – ISSN: 2085-2347

yang telah dibangkitkan. Sedangkan untuk waktu proses didapatkan dari timer internal dari mikrokontroler robot pemadam api berkaki enam.

Selain itu, untuk data memori didapatkan dari perhitungan setiap fungsi yang dibangkitkan selama proess pencarian. File ELF akan merekam setiap fungsi dalam program beserta memori yang dialokasikan pada masing-masing fungsi tersebut.

Sehingga, selama proses pencarian akan dihitung fungsi yang terpanggil dalam setiap siklus. Sehingga dapat dihitung memori yang dibutuhkan dalam memproses untuk setiap pencarian.

Gambar 1. Track KRPAI Berkaki

Gambar 2. Skema Pemetaan Track Robot Pemadam Api

Gambar 3. Flowchart Sistem Pencarian Seluruh Kemungkinan

a. Algoritma dijkstra akan melakukan perhitungan berdasarkan titik dengan nilai jarak terendah dari titik awal. Pencarian hasil terbaik dalam algoritma ini menggunakan nilai jarak sesungguhnya (actual cost) pada masing-masing titik. Pencarian tersebut akan berakhir ketika algoritma telah sampai pada Goal State yang telah ditentukan. Pada akhir pencarian akan dilihat berapa total nilai jarak yang telah dilalui oleh algoritma.

b. Pada proses pencarian menggunakan algoritma A* menggunakan nilai jarak sebenarnya (actual cost) dan nilai jarak perkiraan dari titik robot berada (current state) menuju titik tujuan (goal state) yang disebut dengan nilai heuristic. Pada proses pencarian, pengurutan dilakukan pada sebuah node yang memiliki nilai actual costterendah pada himpunan open atau node yang telah diaktifkan sebelumnya. Sedangkan dalam proses perhitungannya yaitu 𝑓(𝑛) = 𝑔(𝑛) + ℎ(𝑛) , dimana 𝑔(𝑛) adalah actual cost dan ℎ(𝑛) adalah heuristic cost. Perhitungan tersebut digunakan untuk memilih titik yang akan dimasukkan pada himpunan open selanjutnya. Atau membuka titik baru yang memiliki nilai kedekatan dengan goal state.

(4)

Prosiding SENTIA 2016 – Politeknik Negeri Malang Volume 8 – ISSN: 2085-2347

Gambar 4.Visualisasi Proses Pencarian Rute Dari Start 0 Menuju Room 4 Menggunakan

Algoritma Dijkstra

4. Kesimpulan

Berdasarkan hasil penelitian dan kesimpulan yang telah dirumuskan, berikut ini merupakan saran yang diharapkan dapat menjadi masukan dan bahan pertimbangan di dalam pengembangan robot pemadam api berkaki enam secara keseluruhan, yaitu:

1. Baik algoritma A* maupun algoritma dijkstra menggunakan jarak antar node atau titik dalam melakukan proses pencarian. Sehingga sebuah aplikasi harus mengetahui letak pasti dimana objek tersebut berada. Perlu dibutuhkan sebuah metode untuk memberikan kepastian mengenai lokasi objek penerapan algoritma untuk meyakinkan algoritma tersebut dalam melakukan proses pencarian.

2. Proses identifikasi lokasi merupakan komponen penting dalam algoritma pencarian rute terpendek. Proses tersebut akan menunjukkan posisi robot yang sesungguhnya, sehingga robot dapat memprediksi perpindahan posisi tersebut secara real-time. Robot mengidentifikasi posisi berdasarkan perbedaan jarak antar zona terhadap robot, baik jarak depan, kanan, dan kiri robot.

Dengan cara tersebut akan memakan terlalu banyak waktu dalam membedakan nilai-nilai pada masing-masing zona. Sehingga, perlu dikembangkan proses identifikasi lokasi yang lebih efisien dengan menggunakan sensor yang memiliki tingkat ketelitian lebih tinggi. Misalnya sensor visual seperti kamera atau sensor radar yang menggunakan kelombang yang mempunyai pancaran lebih kuat seperti laser misalnya.

(5)

Prosiding SENTIA 2016 – Politeknik Negeri Malang Volume 8 – ISSN: 2085-2347

RUJUKAN

Firdifiansyah, Finsa. Perbandingan Algoritma Dijkstra dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek. Malang:

Jurusan Teknik Elektro Universitas Brawijaya.

Nazir, Moh. 2014. Metode Penelitian. Bogor: Ghalia Indonesia.

Russel, Stuart J, Peter Norvig. 2010. Artificial Intelligence, A Modern Approach. New Jersey: Prentice Hall.

Santoso, Leo Willyanto, Alexander Setiawan, Andre K. Prajogo. Performance Analysis of Dijkstra, A* and Ant Algorithm for Finding Optimal Path Case Study: Surabaya City Map. Surabaya: Petra Christian University Suyanto. Artificial Intelligence Searching, Reasoning,

Planning, Learning Revisi Kedua. 2014.

Yogyakarta: Informatika

Gambar

Gambar 1. Track KRPAI Berkaki
Gambar 4.Visualisasi Proses Pencarian Rute  Dari Start 0 Menuju Room 4 Menggunakan

Referensi

Dokumen terkait

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

Sehingga dalam penelitian ini dilakukan pengembangan sistem pendeteksian plagiarisme dengan menggunakan proses klastering berdasarkan topik dari set dokumen masukan

Pertama, pada dinding ge- ser dengan tulangan ringan respons beban perpindahan hampir mendekati uji eks- perimental akan tetapi pada perambatan retaknya sangat berbeda

Anda memakai perlengkapan pelindung yang sesuai kami rekomendasikan: Gunakan sarung tangan Lateks atau Nitril untuk memastikan tangan anda terlindungi dari kemungkinan

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

Sebagai akibat dari bibit yang lebih baik, maka bibit yang berasal dari benih tanam langsung maupun bahan tanaman berupa semaian dengan stadia atau fase benih

Namun peukeunong tidak bisa percaya sepenuhnya tetapi untuk mencegahnya saja supaya bisa untuk saling menjaga diri sendiri jangan sampai terjerumus kedalam hal