Escolar Documentos
Profissional Documentos
Cultura Documentos
? ?
? ? ? ? ? ? ?
Ir. Bambang Siswoyo
c 3 ?
???
¦
?
?
¦
? ?
?
¦
? V??
¦
?
3 3 3
a
Algoritma Generate & Test termodifikasi untuk pencarian semua rute yang mungkin.
Pada prinsipnya algoritma ini merupakan penggabungan antara Depth First Search dengan
pelacakan mundur (Backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan
tertentu. Nilai pengujian berupa jawaban ͚ya͛ atau ͚tidak͛.
1.? Pada langkah pertama adalah masukan node yang dijadikan sebagai ͞Start͟(node awal),
pada suatu tampungan data berupa Stack atau tumpukan, selanjutnya diberi nama
Stack1.
2.? Kemudian pada langkah kedua ambil node dari Stack1, kemudian dijadikan sebagai
Node Awal.
a.? Jika tidak ada node yang dapat dijadikan sebagai Node Awal, maka berhenti dari
pencarian, karena Stack1 kosong.
b.? Jika ada, lanjut ke langkah tiga.
3.? Kemudian pada langkah ini adalah melakukan pengecekan dari setiap node yang
merupakan kemungkinan solusi selanjutnya.
a.? Jika didapatkan node yang merupakan solusi selanjutnya, simpan node tersebut
di dalam Stack1. Jika tidak, lakukan backtracking sampai pada node pada Stack2.
Jika Stack2 kosong, maka lakukan langkah pertama. Jika tidak, lanjut ke langkah
empat.
b.? Jika jumlah node yang ditemukan lebih dari 1, simpan Node Awal pada tempat
tampungan data berupa tumpukan, selanjutnya diberi nama Stack2. Jika tidak
lanjut ke langkah empat.
Ñ.? Pada langkah keempat dilakukan pengujian untuk melihat apakah node tersebut benar-
benar merupakan solusinya dengan cara membandingkan node tersebut atau node
akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.
a.? Jika solusi ditemukan, (sama dengan node ͞Finish͟), simpan hasil di tabel
tampung, kemudian lakukan backtracking sampai pada node yang ada pada
Stack2. Ulangi langkah kedua
b.? Jika tidak, lakukan langkah 2.
Contoh Kasus:
Misalkan ada segmen jalan berarah (directed) yang terlihat pada Gambar 1, jika A
terpilih sebagai ͞Start͟ dan J sebagai ͞Finish͟. Pertanyaannya rute mana saja yang mungkin
dilalui dari A untuk menuju J, dengan kondisi jalan tersebut?
1 C
A 2
G
J
Ñ 8
B
I
F
3 D 5
7
E
H
u c
Ñ,6,7,8 2 1 5 1,3,5
1
Ñ,7,8 2,6 1 5 1,3,5 A
B
3 D 5
Ñ,7,8 2 1 6 1,3,5,6
1
Ñ,8 2,7 1 6
A
B
D
3 5
E
6
Ñ,8 2 1 7 1,3,5,6,7
8 2,Ñ 1 7 1,3,5,6,7
1
A
B
D
3 5
E H 7
6
8 2 1 Ñ 1,3,5,6,7,
Ñ
1
- 2,8 1 Ñ 1,3,5,6,7, A
Ñ B Ñ
3 D
5
E 7
H
6
- 2 1 8 1,3,5,6,7,
1
Ñ,8 A
B J
Ñ 8
D
3 5 I
E
7
H
6
u
!
" #
3,Ñ,5,6,7,8 - - 2 1,2
1 C
2
3,5,7,8 6,Ñ 2 2 1,2 A
3,5,7,8 6 2 Ñ 1,2,Ñ
1 C
3,5,7 6,8 2 Ñ 1,2,Ñ G
A 2 Ñ
3,5,7 6 2 8 1,2,Ñ,8
1 C 8
A G 8
2 Ñ
u
!
"
3,Ñ,5,7,8 - - 6 1,2,6
1 C
3,Ñ,5,8 7 - 6 1,2,6 A 2
F
3,Ñ,5,8 - - 7 1,2,6,7
1 C
3,5,8 Ñ - 7 1,2,6,7 A 2
F
H
6 7
3,5,8 - - Ñ 1,2,6,7,Ñ
1 C
Ñ
3,5 8 - Ñ 1,2,6,7,Ñ 2
A
F
H
6 7
3,5 - - 8 1,2,6,7,Ñ, J
1 C 8
Ñ
8 A 2
F I
H
6 7
u
!
$ u
C J
3,5 - - - 1,2,6,7,Ñ,
1 Ñ 8
8 A 2
F
I
H
6 7
$ %&
u
c
Secara umum cara kerja sistem robot mobil untuk mencari rute terpendek adalah
seperti yang ditunjukkan pada diagram dibawah ini;
u
w#u
c
#
% '
Pertama-tama posisi start dan tujuan robot ditentukan kemudian robot akan secara
otomatis menentukan rute dari start sampai tujuan dengan metode simulated annealing.
Setelah mendapatkan rute, robot akan berjalan secara tracking line menuju ke tujuan sesuai
dengan rutenya. Area untuk peta telah didefinisikan terlebih dahulu.
u
Pemetaan
(&
u
Pemetaan merupakan hal yang penting yang pertama kali dilakukan dalam alur
program. Berhasil atau tidaknya pencarian benda ataupun penentuan jalur terpendek tidak
lepas dari pemetaan ini. Dengan pemetaan ini maka seluruh area yang ada akan digambarkan.
Hasil yang didapat dari pemetaan tersebut akan dijadikan acuan untuk menghitung kuadrat
jarak lurus setiap titik yang ada pada area terhadap titik tujuan. Nilai hasil perhitungan jarak
yang didapat tersebut akan disimpan di dalam alamat RAM mikrokontroler. Nilai tersebut
kemudian akan dianalisa dengan menggunakan metode simulated annealing. Dengan metode
ini maka akan didapatkan rute yang terpendek menuju titik tujuan. Namun, rute ini masih
berupa alamat RAM bukan nilai ouput port yang sesungguhnya. Oleh karena itu perlu diubah
menjadi output port. Barulah robot tersebut dapat menelusuri jalur yang telah didapat. Jalur
tersebut merupakan jalur terpendek menuju tujuan yang diinginkan.
Contoh kasus yang akan dilakukan adalah pada posisi start (0,5) dan posisi tujuan (0,2),
posisi start (0,0) dan posisi tujuan (0,5), posisi start (2,0) dan posisi tujuan (Ñ,5), posisi start
(0,Ñ) dan posisi tujuan (1,0), posisi start (1,0) dan posisi tujuan (Ñ,0).
)
u
¦ $*¦ $
u
¦ $¦$*
*
u
¦ $¦#$
+
u
¦#$ ¦ $
Bila melihat hasil pengujian yang telah dilakukan seperti yang ditunjukkan oleh gambar
diatas, terlihat bahwa dengan menggunakan metode Y , robot mobil berhasil
mencari rute terpendek. dan robot mobil juga dapat bergerak mengikuti rute yang telah
didapatkan. Tetapi pada hasil pengujian yang ditunjukkan oleh Gambar 6, metode Y
terjebak pada rute yang sama sehingga robot hanya bergerak berputar-putar saja
pada area tertentu.
Pada kasus ini adalah bagaimana dari node ͞ ͟ (S) bisa mencapai node Z. Berikut
penyelesaiannya.
, -
./
0
1.? Buat sebuah antrian, inisialisasi node pertama dengan dari .
2.? Bila node pertama A a, node dihapus diganti dengan anak-anaknya dengan urutan
yang paling kecil jaraknya
3.? Bila node pertama = a, maka pencarian selesai
# c
Child = B BAZ
A
Child = C CAZ
A /
Child = E DAZ
E w
Child = Z
ü ü0ü
Kesimpulan :
ü
Lintasan yang didapat untuk mencapai node adalah u%/ü
1.? Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang
aktif saja yang akan disimpan.
2.? Metode ini akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang
keadaan.
1.? Algoritma akan berhenti jika sudah mencapai nilai optimum local
2.? Perlu menentukan aturan yang tepat
V
u
Kasus pada metode ini sama dengan kasus , hanya saja penyelesaiannya
yang berbeda.
3
5
5
8
" -
(
u
0
1.? Buat sebuah antrian, inisialisasi node pertama dengan Root dari tree.
2.? Bila node pertama A a, node dihapus diganti dengan anak-anaknya. Selanjutnya
keseluruhan node yang ada di di-u ͞
Y
͟.
3.? Bila node pertama = Goal, maka pencarian selesai.
Kebetulan dalam kasus ini terdapat nilai OY
, sehingga kita dapat
membandingkannya melalui nilai OY
tersebut. w 1
1
c . .
Root = S - SAZ
u
5 3
Child = B 3 5 BAZ
A
8
5
Child = C 5 8 CAZ
A /
6 9
Child = E 6 9 DAZ
E w
6
Child = Z
ü ü0ü
Kesimpulan :
ü
Lintasan yang didapat untuk mencapai node adalah u%/ü
1.? Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang
aktif saja yang akan disimpan.
2.? Secara kebetulan, metode ini akan menemukan solusi tanpa harus menguji lebih banyak
lagi dalam ruang keadaan.
1.? Algoritma akan berhenti jika sudah mencapai nilai optimum local
2.? Tidak diizinkan untuk melihat satupun langkah sebelumnya.
w
1.? http://lecturer.ukdw.ac.id/petrus/pparyono-paper-semkopertis07.pdf
2.? http://fportfolio.petra.ac.id/user_files/97-031/Thiang-
Simulated%20Annealing%20Robot.pdf
3.? http://www.cs.ui.ac.id/WebKuliah/IKI30320/materi/iki30320_20070919_handout.pdf
Ñ.? http://lecturer.eepis-
its.edu/~kangedi/materi%20kuliah/Kecerdasan%20Buatan/Bab%20Ñ%20Algoritma%20P
encarian.pdf