You are on page 1of 5

1.

BFS (Breath First Search)


Breadth-first search adalah algoritma yang melakukan pencarian secara melebar. Strategi pencarian
yang dilakukan pada semua simpul dalam setiap level secara berurutan dari kiri ke kanan.
Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya.
Demikian seterusnya sampai ditemukan solusi.

Langkah BFS
Menentukan node asal dan node tujuan.
Pencarian dimulai dari node asal, node yang ada pada setiap tingkat seluruhnya diuji sebelum
pindah ketingkat berikutnya.
Jika node tujuan ditemukan maka berhenti, tapi jika belum ditemukan maka dilanjutkan ke node
yang ada di level 1. Node yang berada dalam level 1 adalah node-node yan bertetangga dengan
node asal.
Jika langkah 3 masih belum sampai ke tujuan, maka pencarian dilakukan ke node di level 2, yaitu
node-node yang bertetangga dengan masing-masing node di level 1. Demikian seterusnya, proses
dilanjutkan sampai node tujuan ditemukan
Kelebihan
Tidak akan menemukan jalan buntu.
metode Breadth First Search pencarian akan berhenti bila solusi atau node tujuan ditemukan,
tanpa harus membandingkan lagi dengan node-node yang lain.
Kekurangan

Membutuhkan memori yang cukup besar, karena menyimpan semua node dalam satu pohon.
metode Breadth First Search node yang dikunjungi tidak bisa langsung ke tujuan, harus
melalui level demi level sampai ditemukannya tujuan.

Kesimpulan

Breadth-first search (BFS) melakukan proses searching pada semua node yang berada pada
level tetangga yang terdekat terlebih dahulu sebelum melanjutkan proses searching pada node
di level berikutnya. Metode BFS membutuhkan memori yang cukup banyak namun dengan
menggunakan metode ini solusinya tidak akan menemukan jalan buntu.

2. DFS (Depth First Search)


Depth-first search (DFS) melakukan pencarian secara preorder. Mengunjungi anak suatu simpul
sebelum simpul tetangganya atau melakukan pencarian kedalam (masuk).
Kelebihan Dari Algoritma Depth-First Search
Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang aktif
saja.
Secara kebetulan, metode depth-first search akan menemukan solusi tanpa harus menguji
lebih banyak lagi dalam ruang keadaan.
Kelemahan Dari Algoritma Depth-First Search
Memungkinkan tidak ditemukannya tujuan yang diharapkan.
Hanya akan menemukan satu solusi pada setiap pencarian

3. BFS (Best First Search)


Merupakan kombinasi kelebihan teknik depth first search & breadth first search. Best-First Search
merupakan sebuah metode yang membangkitkan simpul dari simpul sebelumnya.Best-first search
memilih simpul baru yang memiliki biaya terkecil diantara semua simpul-simpul pada level
terdalam.
Kelebihan
Membutuhkan memori yang relative kecil,karena hanya node node pada lintasan yg aktif
saja yang disimpan.
Secara kebetulan,metode best first search akan menemukan solusi tanpa harus menguji lebih
banyak lagi dalam ruang keadaan
Kekurangan

Algoritma akan berhenti kalau mencapai nilai optimum local


Tidak diijinkan untuk melihat satupun langkah sebelumya

Istilah Umum BFS


Start node adalah sebuah terminology untuk posisi awal sebuah pencarian
Curret node adalah simpul yang sedang dijalankan dalam algoritma pencarian jalan terpendek
Suksesor adalah simpul-simpul yang yang akan diperiksa setelah current node
Simpul (node) merupakan representasi dari area pencarian
Goal node yaitu simpul tujuan
Parent adalah curret node dari suksesor.
Langkah BFS
dibangkitkan node A. Kemudian semua suksesor A dibangkitan, dan dicari harga paling
minimal.
node D dipilih karena harganya paling rendah
semua suksesor D dibangkitkan, kemudian harganya akan dibandingkan dengan harga node B
dan C.Ternyata harga node B paling kecil dibandingkan harga node C, E, dan F. Sehingga B
terpilih dan selanjutnya akan dibangkitkan semua suksesor B.
Demikian seterusnya sampai ditemukan node tujuan

Kesimpulan
Pelacakan dengan menggunakan metode best first search adalah pelacakan yang selalu dapat
menghasilkan solusi.
Best-First Search merupakan sebuah metode yang membangkitkan simpul dari simpul sebelumnya.
Best-first search memilih simpul baru yang memiliki biaya terkecil diantara semua leaf nodes
(simpul-simpul pada level terdalam) yang pernah dibangkitkan. Penentuan simpulterbaik dilakukan
dengan menggunakan sebuah fungsi yang disebut fungsi evaluasi f(n).
4. Iterartive Deepening Search

5. A*
Merupakan salah satu dari algoritma yang menerapkan teknik heuristik (teknik pencarian
terbimbing). Algoritma ini dipelajari untuk menyelesaikan permasalahan yang menggunakan graf
untuk perluasan ruang statusnya. Dengan kata lain digunakan untuk menyelesaikan permasalahan
yang bisa direpresentasikan dengan graf.
Cara

Open
o Lakukan pengecekan apakah perlu pengubahan parent atau tidak tergantung pada nilai gnya melalui parent lama atau parent baru. Jika melalui parent baru memberikan nilai g
yang lebih kecil, maka dilakukan pula perbaruan (update) nilai g dan f pada suksesor
tersebut.
o Dengan perbaruan ini, suksesor tersebut memiliki kesempatan yang lebih besar untuk
terpilih sebagai simpul terbaik (best node).
Closed
o Lakukan pengecekan apakah perlu pengubahan parent atau tidak. Jika ya, maka
dilakukan perbaruan nilai g dan f pada suksesor tersebut serta pada semua anak
cucunya yang sudah pernah berada di OPEN. Dengan perbaruan ini, maka semua anak
cucunya tersebut memiliki kesempatan lebih besar untuk terpilih sebagai simpul terbaik
(best node).

Kesimpulan
Rute ini yang telah ditemukan adalah rute terpendek yang ada di graph tersebut. Jadi, METODE A*
dan optimal.
A* juga tanpa ada batasan waktu dan memory, jadi A* adalah complete (selalu menemukan solusi
jika solusinya ada).
Untuk masalah yang lebih kompleks, misalkan pencarian rute terpendek pada graph yang tediri dari
100 juta simpul, A* akan menghadapi masalah waktu, proses dan memory yang dibutuhkan. Jadi,
masih terdapat banyak variasi A* dengan karakteristik yang sesuai dengan permasalahan tersebut.
6. Simple Hill Climbing
Ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk
menukar posisi kota-kota yang bersebelahan. Fungsi heuristik yang digunakan adalah panjang
lintasan yang terjadi. Operator yang akan digunakan adalah menukar urutan posisi 2 kota dalam 1
lintasan. Bila ada n kota, dan ingin mencari kombinasi lintasan dengan menukar posisi urutan 2 kota,

maka akan didapat sebanyak


Keenam kombinasi ini akan dipakai semuanya sebagai operator, yaitu :
Tukar 1,2 = menukar urutan posisi kota ke 1 dengan kota ke 2
Tukar 2,3 = menukar urutan posisi kota ke 2 dengan kota ke 3
Tukar 3,4 = menukar urutan posisi kota ke 3 dengan kota ke 4
Tukar 4,1 = menukar urutan posisi kota ke 4 dengan kota ke 1
Tukar 2,4 = menukar urutan posisi kota ke 2 dengan kota ke 4
Tukar 1,3 = menukar urutan posisi kota ke 1 dengan kota ke 3

Pada simple hill climbing, ada 3 masalah yang mungkin:


Algoritma akan berhenti kalau mencapai nilai optimum local
Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi
Tidak diijinkan untuk melihat satupun langkah sebelumnya.

You might also like