Anda di halaman 1dari 30

TUGAS BESAR

PENCARIAN RUTE TERPENDEK DI SUATU LABIRIN MENGGUNAKAN


ALGORITMA DJIKSTRA PADA ROBOT TIKUS

Disusun untuk Memenuhi Matakuliah Sistem Cerdas


Dibimbing oleh Ibu Dr. Eng. Anik Nur Handayani, S.T, M.T.

Oleh:

Kelompok 1

Muhammad Munif (180536633049)


M. Rifki Izzul Haq (180536633012)
Muhammad Rozakullah Al-Ariki (180536633021)

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PROGRAM STUDI S1 TEKNIK ELEKTRO
MEI 2020
BAB I
PENDAHULUAN

1.1 Latar Belakang

Pada masa sekarang ini ilmu pengetahuan dan teknologi sangatlah dibutuhkan dalam
kehidupan manusia untuk mempermudah pekerjaan manusia. Karena keterbatasan manusia
dalam ilmu pengetahuan khususnya di bidang teknik. Untuk memudahkan manusia dengan
keterbatasan fisiknya yaitu dengan perkembangan kecerdasan buatan (Artificial Intelligence),
salah satu contohnya yaitu robot yang dapat membantu pekerjaan manusia.
Teknologi robotik saat ini mengalami kemajuan yang sangat pesat. Teknologi robotik
digunakan untuk melakukan kegiatan seperti yang makhluk hidup lakukan, sehingga
membutuhkan persepsi, aksi dan kecerdasan tersendiri yang diprogram di dalamnya untuk
menyamai kelakuan makhluk hidup. Persepsi didapatkan melalui sensor, aksi dikerjakan dengan
motor, dan kecerdasan diprogram dalam unit mikrokontroler yang menghubungkan sensor dan
motor. Robot yang canggih bahkan memiliki sistem kontrol (mikrokontroller yang di program)
yang tidak hanya menghasilkan aksi berdasarkan pengetahuan yang tersimpan di ’otak’-nya,
melainkan juga belajar memperoleh pengetahuan baru secara otomatis dari pengalamannya
sendiri.
Mobile robot merupakan salah satu jenis robot yang banyak digunakan dalam membantu
pekerjaan manusia. Mobile robot dapat diterapkan dalam beberapa aplikasi diantaranya:
pemadam kebakaran, pengelompokkan barang, pengikut objek, robot sepak bola dan robot
pencari rute terpendek.
Salah satu robot yang menarik dan banyak dikembangkan yaitu robot tikus. Robot tikus
merupakan salah satu mobile robot yang memiliki tujuan untuk menyelesaikan lintasan berupa
labirin, sehingga robot dapat menemukan tempat yang dituju melalui rute dengan jarak yang
terpendek. Untuk menyelesaikan solusi jalur terpendek dari titik start ke finish, Robot Tikus
harus melakukan scanning area secara langsung untuk mendapatkan data-data bobot sebagai
input algoritma pencari jalur terpendek dengan cara melalui semua jalan di dalam lintasan
labirin. Pada laporan tugas besar ini, robot tikus untuk mencari jalur terpendek dari titik start ke
goal pada lintasan labirin menggunakan algoritma djikstra. Algoritma ini menyelesaikan masalah
mencari sebuah lintasan terpendek (sebuah lintasan yang mempunyai panjang minimum) dari
vertex 0 ke
vertex 14 dalam graph berbobot, bobot tersebut adalah bilangan positif.
Berdasarkan hal tersebut, dalam penelitian tugas besar matakuliah ini kami bertujuan
untuk membangun mekanisme pembelajaran untuk robot tikus sederhana dengan penerapan
metode searching menggunakan algoritma djikstra untuk mencari jalur terpendek pada sebuah
labirin dari titik start sampai titik goal.
1.2 Rumusan Masalah

Berdasarkan latar belakang tersebut, ada beberapa permasalahan yang menjadi fokus
pada penilitian dan pengerjaan tugas besar matakuliah ini, antara lain :
1. Bagaimana kita dapat mengimplementasikan materi Sistem Cerdas sub bab Algoritma
Djikstra kedalam dunia nyata?
2. Bagaimana cara melakukan perhitungan manual dan running program dengan
menggunakan robot tikus di suatu labirin menggunakan algoritma djikstra?
3. Bagaimana prinsip kerja dari robot tikus pencarian rute terpendek dengan cost terendah
untuk mencari titik keluar (start menuju goal)?

1.3 Tujuan

Tujuan tugas besar ini adalah membuat pencarian jalur terpendek menggunakan
algoritma djikstra pada robot tikus. Tujuan tugas besar ini yaitu:
1. Mengimplementasikan materi Sistem Cerdas sub bab Algoritma Djikstra kedalam dunia
nyata.
2. Mengetahui cara melakukan perhitungan manual dan running program dengan
menggunakan robot tikus di suatu labirin menggunakan algoritma djikstra.
3. Mengetahui system control bekerja pencarian rute terpendek dengan cost terendah untuk
mencari titik keluar (start menuju goal).
BAB II

TINJAUAN PUSTAKA

2.1 Algoritma Djikstra

Djikstra merupakan salah satu varian bentuk algoritma popular dalam pemecahan


persoalan terkait masalah optimasi pencarian  lintasan terpendek sebuah lintasan yang
mempunyai panjang minimum dari verteks a ke z dalam graph berbobot, bobot tersebut adalah
bilangan positif jadi tidak dapat dilalui oleh node negatif. Namun jika terjadi demikian, maka
penyelesaian yang diberikan adalah infiniti (Tak Hingga). Pada algoritma Dijkstra, node
digunakan karena algoritma Dijkstra menggunakan graph berarah untuk penentuan rute listasan
terpendek. Berikut Pseudo Code dan Flowchart Algoritma Djikstra:

Gambar Flowchart Algoritma Djikstra


Algoritma ini bertujuan untuk menemukan jalur terpendek berdasarkan bobot terkecil
dari satu titik ke titk lainnya. Misalnya titik mengambarkan gedung dan garis menggambarkan
jalan, maka algoritma Dijkstra melakukan kalkulasi terhadap semua kemungkinan bobot terkecil
dari setiap titik.
2.2 Mobile Robot

Mobil robot adalah kontruksi robot yang ciri khasnya yaitu mempunyai actuator berupa
roda untuk menggerakkan keseluruhan badan robot tersebut sehingga robot dapat melakukan
perpindahan posisi dari satu titik ke titik yang lain. Robot tikus adalah robot cerdas yang dapat
bergerak bebas di dalam sebuah labirin (maze) tanpa menyentuh obyek sekitarnya, robot
mengetahui ke arah mana harus bergerak, berapa derajat harus berputar jika menemui jalan buntu
pada area labirin. Robot tikus ini termasuk ke dalam jenis robot mobile yaitu Autonomous
Mobile Robot. Autonomous Mobile Robot adalah pengendalian gerakan dari robot yang
berdasarkan program kemudi yang diberikan sehingga seolah - olah robot tersebut bergerak
sendiri. Robot tikus ini akan berjalan dalam labirin yang dimulai dari posisi start pada bagian
sudut labirin. Kemudian robot akan bergerak menuju finish yang berada di tengah labirin.
Setelah mencapai finish maka robot akan kembali ke posisi start.
Robot tikus menggunakan mobile robot komersil Pololu 3π seperti yang ditunjukkan
pada gambar :

Gambar Pololu 3π robot


Robot tikus yang digunakan dilengkapi dengan sensor dinding IR (Infra Red) dan
Mikrokontroler ATMega644P sebagai pengendali utama yang terhubung dengan mikrokontroler
pada Pololu 3π robot.

2.3 Pengolahan Citra

Pada robot tikus ini menggunakan pengolahan citra untuk melakukan scanning area pada
daerah labirin guna menyimpan data node serta cost yang telah ditentukan. Melakukan scanning
area secara langsung melalui pengolahan citra labirin pada komputer yang tentunya memiliki
proses lebih cepat. Dengan mengambil citra dari area labirin, melakukan pengolahan citra
tersebut pada Personal Computer (PC) sehingga data-data bobot yang diperlukan untuk
penyelesaian rute terpendek dapat diketahui, dan mengirim data-data tersebut ke Robot Tikus.
Setelah data pengolahan citra oleh komputer diterima, diharapkan Robot Tikus mengetahui jalur
terpendek dari titik start ke finish tanpa melakukan scanning area pada lintasan labirin.
h

2.4 Sensor Ultrasonik

Ultrasonik, sering digunakan untuk keperluan mengukur jarak sebuah benda atau untuk
mendeteksi rintangan. Teknik mengukur menggunakan ultrasonic ini meniru cara yang
digunakan kelelawar atau lumba-lumba yang secara alami menggunakan sonar (sound navigation
and ranging) untuk keperluan mengukur jarak dan navigasi. Sensor ultrasonik merupakan sensor
yang digunakan untuk mendeteksi halangan yang akan dilewati oleh mobile robot tikus. Sensor
ultrasonic yang digunakan dalam pembuatan mobile robot tikus ini adalah sensor PING yang
berjumlah 3 buah. Dimana 1 buah sensor berfungsi sebagai sensor kiri, 1 buah untuk sebagai
sensor tengah dan 1 buah sensor berfungsi sebagai sensor kanan. Inputan sensor ultrasonic akan
dihubungkan ke pin digital yang ada pada Arduino mobile robot.

Gambar Sensor Ultrasonik PING


j

2.5 Mikrokontroler ATMega644P

Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian


elektronik dan umunya dapat menyimpan program did umumnya terdiri dari CPU (Central
Processing Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital Converter
(ADC) yang sudah terintegrasi di dalamnya. Pada mikrokontroler ATMega644P yaitu
mikrokontroler 8-bit dengan Perancangan perangkat lunak pada mikrokontroler menggunakan
bahasa pemrograman C pada compiler Code Vision AVR.

Gambar Mikrokontroler ATMega644P


Secara umum pada ATMega644P terdapat beberapa fungsi diantaranya penerimaan data
dari PC, komunikasi antara ATMega644P dengan ATMega328P sebagai pengatur kecepatan
putar motor, penampil ke layar LCD, dan sebagai pembaca sensor dinding. Data nodes yang
diterima dari PC diolah menggunakan Algorima Dijkstra yang ditanamkan pada ATMega644P
untuk mencari jalur terpendek dari titik start menuju finish.

2.6 Arduino Uno

Arduino Uno adalah papan mikrokontroler yang berbasiskan ATmega328. Arduino jenis
ini memiliki 14 pin input/output digital (dengan 6 di antaranya bisa digunakan sebagai output
PWM), 6 analog input, ceramic resonator 16 MHz, koneksi USB, sambungan untuk power
supply, header ICSP, dan tombol reset. Untuk menghidupkannya, mikrokontroler ini bisa
disambungkan ke komputer menggunakan koneksi USB, menggunakan adaptor AC-DC, atau
baterai.

Gambar Arduino Uno

2. 7 Labirin

Labirin merupakan tempat yg penuh dengan jalan dan lorong yg berliku-liku dan
simpang siur dan dipisahkan oleh tembok dengan lebar yang sama. Labirin sering kali
dijadikan tantangan dalam permainan seperti puzzle, dimana terdapat objek dalam posisi
awal harus menemukan jalan keluar pada posisi yang ditentukan. Berikut sketsa gambar labirin :
Gambar Sketsagsddc Labirin
BAB III
METODOLOGI PENELITIAN
3.1 Blok Diagram Sistem dan Cara Kerja Blok

Gambar Blok Diagram


Cara kerja seperti blok diagram di atas terdiri dari tiga langkah yaitu input, proses, dan
output. Pada input terdapat pengolahan citra untuk melakukan scanning area pada daerah labirin
guna menyimpan data node serta cost yang telah ditentukan. Melakukan scanning area secara
langsung melalui pengolahan citra labirin pada komputer yang tentunya memiliki proses lebih cepat.
Dengan mengambil citra dari area labirin, melakukan pengolahan citra tersebut pada Personal Computer
(PC) sehingga data-data bobot yang diperlukan untuk penyelesaian rute terpendek dapat diketahui, dan
mengirim data-data tersebut ke robot tikus. Selanjutnya sensor ultrasonic untuk mendeteksi halangan
yang akan dilewati oleh mobile robot tikus. Sensor ultrasonic yang digunakan dalam pembuatan
mobile robot tikus ini adalah sensor PING yang berjumlah 3 buah. Dimana 1 buah sensor
berfungsi sebagai sensor kiri, 1 buah untuk sebagai sensor tengah dan 1 buah sensor berfungsi
sebagai sensor kanan. Inputan sensor ultrasonic akan dihubungkan ke pin digital yang ada pada
arduino.
Pada langkah kedua yaitu proses. Secara umum pada ATMega644P terdapat beberapa
fungsi diantaranya penerimaan data dari PC, komunikasi antara ATMega644P dengan
ATMega328 sebagai pengatur kecepatan putar motor, penampil ke layar LCD, dan sebagai
pembaca sensor dinding. Data nodes yang diterima dari PC diolah menggunakan Algorima
Dijkstra yang ditanamkan pada ATMega644P untuk mencari jalur terpendek dari titik start
menuju finish. Mobil robot adalah kontruksi robot yang ciri khasnya yaitu mempunyai actuator
berupa roda untuk menggerakkan keseluruhan badan robot tersebut sehingga robot dapat
melakukan perpindahan posisi dari satu titik ke titik yang lain. Pada robot tikus adalah robot
cerdas yang dapat bergerak bebas di dalam sebuah labirin tanpa menyentuh obyek sekitarnya,
robot mengetahui ke arah mana harus bergerak, berapa derajat harus berputar jika menemui jalan
buntu pada area labirin.
k

Setelah robot tikus melakukan scanning area untuk mendapatkan data-data bobot sebagai
input algoritma pencari jalur terpendek dengan cara melalui semua jalan di dalam lintasan labirin
tersebut, maka output langkah ketiga dari system ini yaitu penelusuran rute terpendek di suatu
labirin pada robot tikus menggunakan algoritma djikstra.
k

3.2 Graph dan Matrix Adjecancy

Gambar Graph
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 0 3 ∞ 10 6 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
1 3 0 1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
2 ∞ 1 0 ∞ 4 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
3 10 ∞ ∞ 0 ∞ ∞ 3 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
4 6 ∞ 4 ∞ 0 9 ∞ 7 ∞ ∞ ∞ ∞ ∞ ∞ ∞
5 ∞ ∞ 2 ∞ 9 0 ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞
6 ∞ ∞ ∞ 3 ∞ ∞ 0 ∞ ∞ 5 ∞ ∞ ∞ ∞ ∞
7 ∞ ∞ ∞ ∞ 7 4 ∞ 0 ∞ 6 1 ∞ ∞ ∞ ∞
8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 2 ∞ ∞ ∞
9 ∞ ∞ ∞ ∞ ∞ ∞ 5 6 ∞ 0 7 ∞ 6 ∞ ∞
10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 4 7 0 8 ∞ 5 ∞
11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 ∞ 8 0 ∞ ∞ 3
12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 6 ∞ ∞ 0 11 ∞
13 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 5 ∞ 11 0 2
14 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ 2 0
Tabel Matrix Adjecancy
k

3.3 Metode Pencarian

3.3.1 Tahap Perancangan


Flowchart Tahapan Perancangan
 Analisis
Melakukan pengumpulan bahan, informasi, dan referensi yang relevan
berkaitan dengan topik tugas besar dan melakukan identifikasi masalah untuk
menentukan solusi dan pembahasan apa yang diperlukan, berkaitan dengan topik
penelitian serta mempelajari literature yang akan digunakan dengan masalah yang
dihadapi untuk digunakan sebagai kajian pendukung teori dalam tugas besar ini.
 Desain
Melakukan perancangan kebutuhan robot dan desain kerangka robot serta
tahapan-tahapan proses operasi mencakup proses perancangan pembuatan
program menggunakan algoritma dijkstra.
 Pengembangan
Melakukan pembuatan robot antara lain melakukan persiapan hardware yang
akan digunakan, membuat robot, arena labirin dan melakukan pengkodingan
terhadap program algoritma dijkstra yang akan di implementasikan ke dalam robot.
 Implementasi
Menyempurnakan robot dan mengimplementasikan algoritma dijkstra,
selanjutnya dilakukan pengujian robot secara menyeluruh untuk memastikan fungsi-
fungsi dari robot telah berjalan dengan baik sesuai yang kerusakan pada perangkat
keras.
 Evaluasi
Menuliskan kesimpulan melalui analisa yang diperoleh serta mencatat bug
maupunlogic error yang ditemukan untuk di analisa kembali untuk pengembangan
robot kedepan.
L
3.3.2 Algoritma Pencarian

Flowchart Proses Penerapan Algoritma Djikstra Robot Tikus


Algoritma Pencarian :
1. Pertama, menscanning area di suatu labirin
2. Membuat peta yang diketahui dengan menginialisasi titik awal dan titik akhir dari jalur
yang akan di tempuh.
3. Lalu memberikan label sementara untuk jarak dan titik.
4. Setelah itu melakukan pencarian jarak terpendek dari label sementara.
5. Titik yang mendapatkan jarak terpendek diberikan label permanen.
6. Memberi arah kepada titik yang baru saja diberikan label permanen.
7. Menghapus jarak terpendek dari label sementara.
8. Mencari lagi jarak terpendek berikutnya dengan membandingkan jarak dari titik tersebut
atau titik yang diberi label permanen.
9. Jika ada titik yang masih bisa dicari maka kembali ke proses d, jika tidak lanjut ke
proses selanjutnya.
10. Mengumpulkan data arah dari semua label permanen.
11. Membuat semua data arah menjadi sebuah array.
12. Membaca data array.
13. Robot berjalan sesuai arah yang terdapat pada array.
14. Jika sampai titik akhir maka robot akan selesai, jika belum maka akan kembali lagi
membaca data array.
,

3.3.3 Perhitungan Cost

Perhitungan cost pada robot tikus menggunakan algoritma djikstra di suatu labirin
langkah pertama yaitu menscanning area di suatu labirin untuk mendapatkan data setiap
node beserta cost atau jarak antar node dengan melalui semua jalan. Cost atau jarak yang
terpendek yang akan dipilih dan dilalui oleh robot tikus. Contoh pada graph kita
menentukan start pada node 0 dan goal pada node 14. Maka jarak terpendek yang akan
dilalui yaitu 0 – 1 – 2 – 5 – 7 – 10 – 13 – 14 dengan cost sebesar 18.
BAB IV
HASIL DAN ANALISA
4.1 Hasil Perhitungan Manual
Start = 0; goal = 14
Cost dari 0 ke 14 yaitu 18
Rute yang dilalui = 0 -> 1 -> 2 -> 5 -> 7 -> 10 -> 13 -> 14
o

4.2 Hasil Running Program


Script Program :
#include<bits/stdc++.h>
using namespace std ;

#define INF 999

int n, src, cost[100][100];


int dist[100];
bool visited[100] = {0};
int parent[100];

void init(){
for(int i=0;i<n;i++){
parent[i]=i;
dist[i]=INF;
}
dist[src]=0;
}

int getNearest(){
int minvalue = INF;
int minnode = 0;
for(int i=0; i < n; i++){
if( !visited[i] && dist[i] < minvalue){
minvalue = dist[i];
minnode = i;
}
}
return minnode;
}

void dijkstra(){
for(int i=0;i<n;i++){
int nearest = getNearest();
visited[nearest] = true;

for(int adj = 0; adj<n; adj++){


if(cost[nearest][adj] !=INF &&
dist[adj] > dist[nearest]+cost[nearest][adj] ){
dist[adj] = dist[nearest]+cost[nearest][adj];
parent[adj] = nearest;
}
}
}
}

void display(){
cout<<"\nGoal :\t\t\tCost :\t\t\tJalur";

for(int i=0; i<n; i++)


{
cout<<i<<"\t\t\t"<<dist[i]<<"\t\t\t"<<" ";

cout<<i<<" ";
int parnode = parent[i];

while(parnode!=src){
cout<<" <- " << parnode<<" ";
parnode = parent[parnode];
}
cout<<endl;
}

int main(void) {
cout<<"Jumlah Node : ";
cin>>n ;
for(int i = 0 ;i < n ; i++){
for(int j = 0 ; j< n ; j++){
cin>>cost[i][j] ;
}
}
cout<<"\nMasukan Start : ";
cin>>src ;
init();
dijkstra() ;
display();
}

Gambar Hasil Running Program


i
4.3 Analisa Keseluruhan Point 4.1 dan 4.2
4.3.1 Analisa Point 4.1
Pada perhitungan manual ini menggunakan metode djikstra dimana start dari 0
dan goalnya yaitu 14. Langkah awal untuk perhitungan metode djikstra yaitu membuat tabel
inisialisasi terlebih dahulu dimana bagian kolom terdapat vertex, known, cost, dan path.
Vertex merupakan titik node, known merupakan nilai benar dan salah jika suatu vertex di
mulai (start) maka nilai berubah dari F (False) menjadi T (True), cost yaitu jarak antar
vertex/node dari titik asal ke tujuan awalnya cost bernilai tak hingga semua, sedangkan path
adalah dimana jika terjadi perubahan pada nilai cost maka path perlu diganti sesuai dengan
start dari vertex asal.
Kita mulai start dari vertex 0, known pada vertex 0 berubah menjadi True (T)
cost bernilai 0 karena tidak adanya jarak, path tetap -1 karena tidak ada node sebelumnya.
Setalah itu tandai yang terhubung dengan vertex 0 yaitu vertex 1, vertex 3, dan vertex 4.
Ubah nilai cost pada setiap vertex yang terhubung dengan jarak pada vertex 0 didapatkan
yaitu vertex 1 = 3, vertex 3 = 10, dan vertex 4 =6. Ganti path pada ketiga vertex tersebut
yang semula -1 menjadi 0. Langkah berikutnya tentukan vertex selanjutnya sebagai start
caranya yaitu lihat pada bagian known yang bernilai F (False) kemudian cost yang paling
rendah yang dipilih ke langkah selanjutnya sebagai start, vertex 1 dengan cost terendah,
Lakukaan hal ini sampai known bernilai T (True) semua, maka dapat ditentukan jarak
terpendek yang dapat dilalui oleh robot tikus dari start 0 menuju goal 14. Didapatkan rute
node yaitu 0 -> 1 -> 2 -> 5 -> 7 -> 10 -> 13 -> 14 dan didapatkan nilai cost sebesar 18.
k

4.3.2 Analisa Point 4.5


Pada point 4.2 atau hasil running program. Pertama kita masukkan jumlah node
yaitu 15. Lalu masukkan nilai seperti pada table matrix adjecancy. Setelah itu masukan start
kita isi 0 (sebagai tempat awal). Pada goal 1, memiliki cost 3 dan jalur yang dilalui hanya 1.
Pada goal 2, memiliki cost 4 dan jalur yang dilalui 1 dan 2. Pada goal 3, memiliki cost 10
dan jalur yang dilalui 3. Pada goal 4, memiliki cost 6 dan jalur yang dilalui 4. Pada goal 5,
memiliki cost 6 dan jalur yang dilalui 1, 2, dan 5. Pada goal 6, memiliki cost 13 dan jalur
yang dilalui 3 dan 6. Untuk cost dan jalur pada goal 7 sampai dengan 14 seperti pada gambar
hasil running program di atas. Untuk yang dicari sendiri adalah start 0 dan goal 14, jika
dilihat dari program cost terkecil adalah 18 dan jalur yang dilalui adalah 1, 2, 5, 7, 10, 13,
dan 14.
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil pada Tugas Besar ini mengenai Pencarian Rute Terpendek di Suatu Labirin
Menggunakan Algoritma Djikstra pada Robot Tikus dapat disimpulkan bahwa :

 Algoritma Djikstra dapat digunakan sebagai pemandu gerak robot tikus karena algoritma
Djikstra beroperasi secara tidak menyeluruh terhadap semua alternative fungsi yang ada,
sehingga lintasan terpendek tidak hanya diperoleh dari node sumber ke node tujuan saja,
akan tetapi lintasan terpendek dapat diperoleh dari semua kemungkinan node yang ada.
 Prinsip kerja dari robot tikus yaitu mobile robot yang digunakan untuk menyelesaikan
lintasan berupa labirin, sehingga robot bisa menemukan tempat yang dituju dengan rute
dengan jarak yang terpendek. menggunakan algoritma Dijkstra. Untuk menyelesaikan
lintasan labirin dari start ke goal, robot tikus harus melakukan scanning area terlebih
dahulu secara langsung untuk mendapatkan data-data bobot sebagai input algoritma
pencari jalur terpendek dengan cara melalui semua jalan di dalam lintasan labirin
tersebut, lalu kembali ke titik awal kemudian mencari titik keluar dengan jarak terpendek.
 Aplikasi pada PC dapat melakukan pengolahan citra labirin sehingga pada dinding labirin
berwarna hitam dan pada lintasan berwarna putih. Aplikasi juga dapat mendeteksi adanya
nodes dan jumlah nodes yang terdeteksi oleh aplikasi pada PC sesuai dengan perhitungan
nodes secara manual jika pada semua lintasan memiliki lebar yang sama. Aplikasi akan
mengalami error dalam pencarian nodes jika terdapat lintasan yang memiliki lebar tidak
sama.
 Dari hasil perhitungan manual dan hasil running program didapatkan hasil yang sama
untuk mencari rute terpendek pada sebuah labirin pada start node 0 dan goal node 14,
maka jarak terpendek yang akan dilalui yaitu 0 – 1 – 2 – 5 – 7 – 10 – 13 – 14 dengan cost
sebesar 18. Dengan demikian robot tikus akan melewati rute node tersebut.
5.2 Saran
Penulis menyadari bahwa laporan Tugas Besar ini masih jauh dari sempurna karena
terbatasnya pengalaman penulis. Untuk itu segala saran dan kritik yang membagun akan sangat
penulis terima dengan kerendahan hati.
DAFTAR PUSTAKA

Finsa Ferdiansyah. 2013, Perbandingan Algoritma Djikstra Dan Algoritma Ant Colony Dalam
Penentuan Jalut Terpendek. Jurnal Jurusan teknik elektro Konsentrasi Rekayasa Komputer
Fakultas Teknik, Universitas Brawijaya.
Mishra, Swati. Maze Solving Algorithm for Micromouse. IEEE International Conference on
Signal Image Technology and internet Based Systems :2008.
Nateshmbat, 2020. Dijkstra Algorithm for finding shortest path to all vertices from a single
source URL : https://gist.github.com/nateshmbhat/1a79daa00a148e44ad79c3e338977440#file-
dijkstra_algorithm-cpp. Diakses pada tanggal 11 Mei 2020, pukul 09.00 WIB.
Rusmini. 2011. Pencarian Rute Terpendek Untuk Robot Micromouse Dengan Menggunakan
Algoritma.Backtracking.URL.:http://repo.eepisits.edu/1459/1/[A
%2DD206%2D9]_pp.41%2D48_Pencarian_Rute_Terpendek_Untuk_Robot_Micr
omouse_Dengan.pdf. Diakses pada tanggal 11 Mei 2020, pukul 15.30 WIB.
Basuki, A., Palandi, J.F. 2005. Pengolahan Citra Digital Menggunakan Visual Basic.Jogjakarta:
Graha Ilmu.
LAMPIRAN
A. Lampiran Perhitungan Manual
k

B. Lampiran Hasil Program

C. Lampiran PPT
Di file PPT.
l
D. Pembagian Pengerjaan Tugas Besar

Berikut merupakan pembagian tugas pada kelompok 1 :


 Muhammad Munif mengerjakan PPT dan lampiran perhitungan
 M. Rifki Izzul Haq mengerjakan laporan
 Muhammad Rozakullah Al-Ariki mengerjakan coding/program
Tetapi kami tidak hanya mengerjakan tugas masing-masing, kami juga saling membantu satu
sama lain dalam mengerjakan menyesesaikan Tugas Besar ini.

Anda mungkin juga menyukai