You are on page 1of 13

BAB I PENDAHULUAN

1.1

Latar belakang
Kemajuan teknologi tidak hanya menuntut kecepatan penyebaran informasi tetapi juga dalam

bidang ilmu Artificial Intelligence untuk melakukan metode pencarian dan pelacakan yang
merupakan suatu hal penting dalam suatu sistem. Karena pencarian dan pelacakan ini adalah hal
yang menentukan keberhasilan sistem tersebut. sebuah algoritma pencarian dijelaskan secara
luas adalah sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan
sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa
kemungkinan solusi. Sebagian besar algoritma yang dipelajari oleh ilmuwan komputer adalah
algoritma pencarian. Pada dasarnya, metode pencarian dan pelacakan dibagi dua, yaitu pencarian
buta (blind search) dan pencarian tersusun (heuristic search).
Pada makalah ini kami akan membahas satu metode pencarian dan pelacakan saja, yaitu
pencarian buta (blind search). Blind Searchg adalah model pencarian buta atau pencarian yang
tidak memiliki informasi awal. Algoritma Pencarian ini menggunakan Metode yang bermacam
macam namun yang paling banyak dibahas adalah Breadth Fisrt Search (BFS) dan Depth First
Search (DFS). Sehingga makalah ini

akan menjelaskan dan memberikan contoh aplikasi

penyelesaian masalah melalui metode Breadth Fisrt Search (BFS) dan Depth First Search (DFS).
1.2 Rumusan masalah
Berdasarkan latar belakang diatas, maka ada beberapa masalah yang akan di bahas dalam
makalah ini, yaitu :
1.2.1 Apa yang dimaksud dengan pencarian buta (blind search)?
1.2.2 Apa yang dimaksud dengan metode Breadth Fisrt Search (BFS)?
1.2.3 Apa yang dimaksud dengan metode Depth First Search (DFS)?
1.2.4 apa yang dimaksud dengan Best First Search?
1.2.5 Bagaimana pengaplikasian metode Breadth Fisrt Search (BFS) dan Depth First
Search (DFS) dalam menyelesaikan masalah?

1.3 Tujuan

1.2.1 Memahami pengertian pencarian buta (blind search)


1.2.2 Memahami metode Breadth Fisrt Search (BFS)
1.2.3 Memahami metode Depth First Search (DFS)
1.2.4 Memahami metode Best First Search
1.2.5 mengetahui cara pengaplikasian metode Breadth Fisrt Search (BFS) dan Depth First
Search (DFS) dalam menyelesaikan masalah.

BAB II PEMBAHASAN
2.1 Blind Search

Blind Search merupakan pencarian asal. Jika solusi sudah ditemukan, maka pencarian
akan dihentikan. Jika dibuat skemanya, pencarian buta hanya mengenal 3 bagian yaitu
[masalah]-[pencarian]-[solusi]. Blind Searching pencarian ini memiliki tiga ciri ciri utama
yaitu:

Membangkitkan simpul berdasarkan urutan


Kalau ada solusi maka solusi akan ditemukan
Hanya memiliki informasi tentang node yang telah dibuka (node selanjutnya tidak
diketahui).

Blind search tidak mempunyai atribut atau informasi tambahan. Algoritma yang termasuk Blind
search yaitu:

Breath First Search (BFS)


Depth First Search (DFS)
Uniform Cost Search (UCS)
Depth-Limited Search (DLS)
Interative-Deeping Search (IDS)
Bi-directional Search (BDS

Hanya saja yang paling banyak dibahas adalah Breadth Fisrt Search (BFS) dan Depth First
Search (DFS).
2.2 Breadth - First Search
Breadth - First Search Metode ini akan mulai mencari dari node yang paling kiri, kemudian
berpindah ke-node se-level dengannya, dan berulang - ulang trus hingga menemukan solusi yang
dimaksud atau dpat dikatakan metode breadth-first search, yaitu semua node pada level n akan
dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai
dari node akar terus ke level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya,
demikian pula dari kiri ke kanan hingga ditemukannya solusi
Algoritma ini memerlukan sebuah antrian q untuk menyimpan simpul yang telah dikunjungi.
Simpulsimpul ini diperlukan sebagai acuan untuk mengunjungi simpul-simpul yang
bertetanggaan dengannya. Tiap simpul yang telah dikunjungu masuk ke dalam antrian hanya satu
kali. Algoritma ini juga membutuhkan table Boolean untuk menyimpan simpul yang te lah
dikunjungi sehingga tidak ada simpul yang dikunjungi lebih dari satu kali.

Gambar 2.1 diagram alur penyelesaian masalah metode BFS


CARA KERJA ALGORITMA BFS
Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam suatu antrian. Antrian
ini digunakan untuk mengacu simpul-simpul yang bertetangga dengannya yang akan dikunjungi
kemudian sesuai urutan pengantrian.
Untuk memperjelas cara kerja algoritma BFS beserta antrian yang digunakannya, berikut
langkah-langkah algoritma BFS:
1.

Masukkan simpul ujung (akar) ke dalam antrian

2.

Ambil simpul dari awal antrian, lalu cek apakah simpul merupakan solusi

3.

Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan.

4.

Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan simpul
tersebut (simpul anak) ke dalam antrian

5.

Jika antrian kosong dan setiap simpul sudah dicek, pencarian selesai dan mengembalikan
hasil solusi tidak ditemukan

6.

Ulangi pencarian dari langkah kedua

Contohnya terlihat dibawah ini:

Maka penyelesaiannya adalah:


Gambar (a) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1.
Gambar (b) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1
Gambar (c) BFS(1): 1, 2, 3, 4, 5, 6, 7, 8, 9
- Keuntungan metode Breadth First Search adalah : pasti menemukan solusi yang dicari, tidak
akan mengalami jalan buntu / tidak menemukan solusi.
Jika ada satu solusi, maka breadth-first search akan menemukannya. Dan, jika ada lebih dari
satu solusi, maka solusi minimum akan ditemukan.
- Kelemahan metode Breadth-First Search adalah : memerlukan memori yang cukup besar,
karena metode ini mengecek keseluruhan node yang ada dan membutuhkan waktu yang lebih
untuk mengecek semua node yang ada tersebut.
2.3 Depth-First Search
Depth-First Search, DFS adalah sebuah pencarian uninformed yang berlangsung dengan
memperluas simpul anak pertama dari pencarian pohon yang muncul dan dengan demikian akan
semakin dalam sampai node tujuan ditemukan, atau sampai hits node yang tidak memiliki anak.
Kemudian pencarian backtracks , kembali ke node terakhir kebanyakan belum selesai
menjelajahi. Dalam implementasi non-rekursif, semua node yang baru diperluas ditambahkan
ke stack untuk eksplorasi.
Para waktu dan ruang analisis DFS berbeda menurut wilayah penerapannya. Dalam ilmu
komputer teoretis, DFS biasanya digunakan untuk melintasi seluruh grafik, dan membutuhkan
waktu O (| V | + | E |) , linear dalam ukuran grafik. Dalam aplikasi ini juga menggunakan
ruang O (| V |) dalam kasus terburuk untuk menyimpan tumpukan vertex di jalan pencarian saat
ini serta set-vertex sudah dikunjungi. Oleh karena itu, dalam pengaturan ini, waktu dan batas

ruang adalah sama seperti untuk luas pencarian pertama dan pilihan yang kedua algoritma untuk
menggunakan kurang tergantung pada kompleksitas dan lebih pada sifat-sifat yang berbeda dari
orderings titik dua algoritma menghasilkan. Untuk aplikasi dari DFS untuk mencari masalah
dalam kecerdasan buatan , Namun, grafik yang akan dicari sering terlalu besar untuk
mengunjungi secara keseluruhan atau bahkan tak terbatas, dan DFS mungkin menderita dari nonpemutusan kontrak kerja ketika panjang jalur di pohon pencarian tak terbatas. Oleh karena itu,
pencarian hanya dilakukan dengan kedalaman terbatas, dan karena ketersediaan memori yang
terbatas biasanya tidak menggunakan struktur data yang melacak himpunan semua node yang
sudah dikunjungi sebelumnya.
Dalam hal ini, waktu masih linier dalam jumlah vertex diperluas dan tepi (walaupun
nomor ini tidak sama dengan ukuran keseluruhan grafik karena beberapa titik bisa dicari lebih
dari sekali dan lain-lain tidak sama sekali) tetapi ruang kompleksitas ini varian dari DFS hanya
sebanding dengan batas kedalaman, jauh lebih kecil daripada ruang yang dibutuhkan untuk
mencari sampai kedalaman yang sama dengan -pertama pencarian luas . Untuk aplikasi tersebut,
DFS juga meminjamkan sendiri jauh lebih baik untuk heuristik metode memilih cabang yang
tampak mungkin. Ketika suatu batas kedalaman yang tepat tidak diketahui apriori, pertama cari
memperdalam kedalaman-iteratif berlaku DFS berulang kali dengan urutan batas meningkat;
dalam modus kecerdasan buatan analisis, denganfaktor percabangan lebih besar dari satu,
meningkatkan memperdalam berulang kali berjalan dengan hanya faktor konstan selama kasus di
mana batas kedalaman yang benar dikenal karena pertumbuhan geometrik jumlah node per
tingkat.

Gambar 2.2 diagram alur penyelesaian masalah metode DFS

Keuntungan metode Depth First


Memori yang relatif kecil
Secara kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi
Kekurangan metode Depth First
- Memungkinkan tidak ditemukannya tujuan yang diharapkan
- Hanya akan mendapatkan 1 solusi pada setiap pencarian
2.4 Best First Search (BFS)
Best First Search (BFS) merupakan suatu cara yang menggabungkan keuntungan atau
kelebihan dari pencarian Breadth First Search dan Depth First Search. Pada setiap langkah
proses pencarian terbaik pertama, kita memilih node-node dengan menerapkan fungsi heuristik
yang memadai pada setiap node/simpul yang kita pilih dengan menggunakan aturan-aturan
tertentu untuk menghasilkan penggantinya. Fungsi Heuristik yang digunakan merupakan
prakiraan (estimasi) cost dari initial state ke goal state, yang dinyatakan dengan :

f = g + h
Dimana f = prakiraan cost dari initial ke goal
g = cost dari initial state ke current state
h = prakiraan cost dari current state ke goal state
Best first search (BFS) juga merupakan sebuah metode yang membangkit kan 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
simpul terbaik dilakukan dengan menggunakan sebuah fungsi yang disebut fungsi
evaluasi f(n). fungsi evaluasi best-first search dapat berupa biaya perkiraan dari suatu simpul
menuju ke goal atau gabungan antara biaya sebenarnya dan biaya perkiraan tersebut.
Pada setiap langkah proses pencarian terbaik pertama, kita memilih node-node dengan
menerapkan fungsi heuristik yang memadai pada setiap node/simpul yang kita pilih dengan
menggunakan aturan-aturan tertentu untuk menghasilkan penggantinya. Fungsi heuristic
merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan suatu problema
secara selektif, yang memandu proses pencarian yang kita lakukan sepanjang jalur yang
memiliki kemungkinan sukses paling besar.
Ada beberapa istilah yang sering digunakan pada metode best first search, yaitu:
1.

Start node adalah sebuah terminology untuk posisi awal sebuah pencarian

2.

Curret node adalah simpul yang sedang dijalankan dalam algoritma pencarian jalan terpendek

3.

Suksesor adalah simpul-simpul yang yang akan diperiksa setelah current node

4.

Simpul (node) merupakan representasi dari area pencarian

5.

Open list adalah tempat menyimpan data simpul yang mungkin diakses dari starting node
maupun simpul yang sedang dijalankan

6.

Closed list adalah tempat menyimpan data simpul yang juga merupakan bagian dari jalur
terpendek yang telah berhasil didapatkan

7.

Goal node yaitu simpul tujuan

8.

Parent adalah curret node dari suksesor.

Algoritma Best First Search


Algoritma best first search ini merupakan kombinasi dari algoritma depth first search dengan
algoritma breadth first search dengan mengambil kelebihan dari kedua algoritma tersebut.
Apabila pada pencarian dengan algoritma hill climbing tidak diperbolehkan untuk kembali ke
node pada level yang lebih rendah meskipun node di level yang lebih rendah tersebut memiliki
nilai heuristik yang lebih baik, lain halnya pada algoritma best first search, pencarian
diperbolehkan mengunjungi node yang ada di level yang lebih rendah, jika ternyata node di level
yang lebih tinggi memiliki nilai heuristik yang lebih buruk.
Algoritma best first search merupakan salah satu bagian dari tipe informed search. Algoritma
ini menggunakan nilai-nilai heuristik tiap simpul yang dibuka. Simpul dengan nilai heuristik
terbaik akan dibuka lebih dahulu. Bila goal state belum ditemukan, akan dilakukan pemeriksaan
pada simpul berikutnya dengan nilai heuristik terbaik pada kedalaman yang sama. Simpul
tersebut kemudian dibuka dan diperiksa apakah terdapat goal state pada cabang-cabangnya. Bila
goal state belum ditemukan, akan dilakukan proses yang sama pada simpul berikutnya.
Merupakan metode yang membangkitkan suksesor dengan mempertim- bangkan harga
(didapat dari fungsi heuristik tertentu) dari setiap node, bukan dari aturan baku seperti DFS
maupun BFS
2.5 Penerapan Metode BFS Dan DFS Dalam Pencarian Solusi Game Wolf, Sheep, And
Cabbage
Untuk memfasilitasi pemecahan masalah Wolf, Sheep, dan Cabbage menggunakan
algoritma pencarian BFS dan DFS kita akan mendefinisikan permasalahan ini sebagai
sebuah struktur pohon. Serta berikut adalah representasi permasalahan Wolf, Sheep, and
Cabbage yang telah disesuaikan dengan struktur pohon yang dibangun :
1. Setiap role dalam permasalahan ini akan diwakilkan dengan sebuah karakter. Petani
direpresentasikan dengan huruf F, serigala dengan huruf W, domba dengan huruf S, dan kubis
dengan huruf C, kecuali perahu yang tidak perlu direpresentasikan karena sudah dapat
diwakilkan oleh petani.
2. Kondisi awal permainan adalah state dengan semua role berada di sebelah kanan sungai.

3. Kondisi akhir permainan adalah state dengan semua role berada di sebelah kiri sungai tanpa
ada satu pun role yang hilang karena dimakan.
4. Setiap state untuk role di sisi sungai disimpan ke dalam sebuah simpul dengan notasi berikut
<{role di kiri}, {role di kanan}>*
Contoh:
Kondisi awal permainan
<{}, { F,W,S,C }>
Konsisi akhir permainan
<{ F,W,S,C }, {}>
*notasi {} menunjukkan sebuah himpunan, maka {F,W} = {W,F}
5. Petani yang membawa hewan dan barang akan dimasukkan ke dalam himpunan di mana sisi
perahu menepi.
6. State yang terdapat salah satu dari {W,S} atau {S,C} akan dianggap tidak valid.
Berikut adalah batasan yang digunakan dalam pembangunan pohon :
1. Simpul yang berulang akan digambarkan tetapi tidak akan diteruskan
2. Simpul yang tidak valid tidak akan digambarkan
Perlu diperhatikan bahwa pohon yang didapat pada bagian BFS dan DFS adalah pohon dengan
simpul yang dilewati oleh pencarian BFS atau DFS.
2.4.1 Pemecahan dengan BFS
Algoritma BFS yang digunakan :
1. Masukkan state awal ke dalam antrian
2. Cek apakah sudah memenuhi state akhir jika ya kembalikan solusi, jika tidak masukkan state
yang mungkin dari state sebelumnya ke dalam antrian.
3. Cek antrian, jika kosong pencarian berakhir dengan dengan solusi kosong.
4. Kembali lagi ke 2.

Berikut adalah pohon yang dihasilkan dari pencarian dengan algoritma BFS :
Jumlah penelusuran yang dilakukan oleh algoritma BFS adalah 14 (empat belas)
kali. Jumlah state yang diperlukan untuk mencapai state akhir adalah delapan. Hasil yang
didapatkan dari pencarian ini adalah optimal.
2.4.2 Pemecahan dengan DFS
Algoritma DFS yang digunakan :
1.

Masukkan state awal ke dalam tumpukan

2.

Cek apakah sudah memenuhi state akhir jika ya kembalikan solusi, jika tidak masukkan state
yang mungkin dari state sebelumnya ke dalam antrian.

3.

Cek tumpukan, jika kosong pencarian berakhir dengan dengan solusi kosong.

4.

Kembali lagi ke 2.
Berikut adalah pohon yang dihasilkan dari pencarian dengan algoritma DFS dengan prioritas
yang digunakan adalah kiri ke kanan :
Jumlah penelusuran yang dilakukan oleh algoritma DFS adalah tujuh kali. Jumlah
state yang diperlukan untuk mencapai state akhir adalah delapan. Hasil yang didapatkan dari
pencarian ini sama dengan hasil yang didapatkan pencarian BFS.

BAB III KESIMPULAN

Blind Search merupakan pencarian asal. Jika solusi sudah ditemukan, maka pencarian

akan dihentikan
Breadth-first search (BFS) melakukan proses searching pada semua node yang berada
pada level atau hirarkitetangga yang terdekat terlebih dahulu sebelum melanjutkan proses

searching pada node di level berikutnya.


Depth-First Search, proses pencarian akan dilakukanpada semua anaknya sebelum
dilakukan pencarian ke node-node yang selevel. Pencarian dimulai dari node akar ke

level yang lebih tinggi. Proses ini diulangi terus hingga ditemukannya solusi
Best First Search (BFS) merupakan suatu cara yang menggabungkan keuntungan atau
kelebihan dari pencarian Breadth First Search dan Depth First Search.

BAB IV DAFTAR PUSTAKA

http://aenstein.blogspot.co.id/2012/03/blind-seacrhing.html
http://nrmcoretan.blogspot.co.id/2016/03/makalah-metode-pencarian-best-first.html
http://coretanrissa.blogspot.co.id/2012/04/penerapan-metode-bfs-dan-dfs-dalam.html
http://fahrululumsholihin.blogspot.co.id/2015/05/v-behaviorurldefaultvmlo.html
http://jidun12ispcom.blogspot.co.id/2010/04/depth-first-search.html

You might also like