Anda di halaman 1dari 18

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). Blind Search adalah model pencarian buta atau pencarian yang tidak memiliki

informasi awal Blind Searching sendiri dibagi menjadi tiga macam yaitu : Breadth First Search, Depth first Search, Uniform Cost Search.

Heuristic Search merupakan metode pencarian yang memperhatikan nilai heuristik (nilai perkiraan). Teknik pencarian heuristik (heuristic searching) merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan (state space) suatu problema secara selektif, yang memandu proses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang bodoh dan memboroskan waktu. Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness).Heuristic Search memperkirakan jarak menuju Goal (yang disebut dengan fungsi heuristik). Fungsi heuristik ini digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan. Jenis-jenis dari Heuristic Searching : Generate and Test, Hill Climbing, Best First Search, Alpha Beta Prunning, Means-End-Anlysis, Constraint Satisfaction.

1

Permasalahan pencarian adalah merupakan yang sering dijumpai oleh peneliti di bidang Kecerdasan Buatan. Permasalahan ini merupakan hal pentingdalam menentukan keberhasilan system kecerdasan buatan. Metode pencariandibagi menjadi 3 bagian, dapat dilihat pada bagan dibawah ini

Permasalahan pencarian adalah merupakan yang sering dijumpai oleh peneliti di bidang Kecerdasan Buatan. Permasalahan ini merupakan

Keterangan :

1. Metode Pencarian Buta, merupakan metode sederhana yang hanya berusaha mencari kemungkinan penyelesaian. Metode yang termasuk pada bagian ini adalah Breadth First Search, Depth First Search, Hill climbing,Beam Fisrt, dan Best First Search. 2. Metode Penyelesaian Optimal, merupakan metode yang lebih kompleksyang akan mencari jarak terpendek. Metode yang termasuk pada bagian ini adalah British Museum Procedure, Branch and Bound, Dynamic Programming dan A*. Metode-metode ini digunakan pada saat harga perjalanan untuk mencari kemungkinan menjadi perhitungan. 3. Metode Permainan, merupakan metode yang digunakan saat berhadapandengan musuh. Prosedur ini adalah minimal ( search, alpha beta pruning.Metode ini banyak digunakan pada program'program permainan seperti catur,dan sebagainya.

2

Metode pencarian dikatakan penting untuk menyelesaikan permasalahan karena setiap state ) keadaan menggambarkan langkah-langkah untuk menyelesaikan permasalahan. Metode pencarian dikatakan penting untuk perencanaan karena dalam sebuah permainan akan menentukan apa yang harus dilakukan, dimana setiap statemenggambarkan kemungkinan posisi pada suatu saat. Metode pencarian adalah bagian dari kesimpulan, dimana setiap statemenggambarkan hipotesis dalam sebuah rangkaian deduktif. Secara umum, untuk mendeskripsikan suatu permasalahan dengan baik

harus :

  • a. Mendefinisikan suatu ruang keadaan.

  • b. Menerapkan satu atau lebih keadaan awal.

  • c. Menetapkan satu atau lebih tujuan.

  • d. Menetapkan kumpulan aturan.

1.2. Rumusan Masalah

Dari latar belakang yang telah dijelaskan sebelumnya, maka rumusan

masalh dapat disimpulkan sebagai berikut:

  • a. Apa pengertian BFS ?

  • b. Apa pengertian DFS ?

  • c. Apa pengertian pencarian Heuristik ?

1.3 Tujuan Tujuan dari penyusunan makalah ini adalah sebagai berikut:

  • a. Agar pembaca dapat mengerti dan memahami dengan mudah dan cepat pengertian tentang BFS.

  • b. Agar pembaca dapat mengerti dan memahami dengan mudah dan cepat pengertian tentang DFS.

  • c. Agar pembaca dapat mengerti dan memahami dengan mudah dan cepat pengertian tentang pencarian heuristik.

3

BAB II PEMBAHASAN

  • 2.1 Pengertian Breadth-First Search

Algoritma Breadth-First Search (BFS) atau dikenal juga dengan nama algoritma pencarian melebar adalah algoritma yang melakukan pencarian secara melebar yang mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu. Selanjutnya, simpul yang belum dikunjungi dan bertetangga dengan simpulsimpul yang tadi dikunjungi , demikian seterusnya. Jika graf berbentuk pohon berakar, maka semua simpul pada aras d dikunjungi lebih dahulu sebelum simpul-simpul pad aras d+1. Algoritma ini memerlukan sebuah antrian q untuk menyimpan simpul yang telah dikunjungi. Simpul-simpul ini diperlukan sebagai acuan untuk mengunjungi simpul-simpul yang bertetanggaan dengannya. Tiap simpul yang telah dikunjungi masuk ke dalam antrian hanya satu kali. Algoritma ini juga membutuhkan table Boolean untuk menyimpan simpul yang telah dikunjungi sehingga tidak ada simpul yang dikunjungi lebih dari satu kali.Breadth-first search (BFS) melakukan proses searching pada semua node yang berada pada level atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses searching pada node di level berikutnya. Urutan proses searching BFS ditunjukkan dalam Gambar 2.1 adalah: A,B,C,D,E,F, ...

BAB II PEMBAHASAN 2.1 Pengertian Breadth-First Search Algoritma Breadth-First Search (BFS) atau dikenal juga dengan nama

Gambar 2.1. Diagram pohon dari BFS.

4

2.1.1. 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:

2.1.1. Cara Kerja Algoritma BFS Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam suatu

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

5

2.1.2. Contoh Pencarian Lintasan Terpendek Dengan BFS

Adapun contoh untuk mencari lintasan terpendek dengan menggukan algoritma BFS adalah sebagai berikut:

Diketahui sebuah kota, dengan memiliki inisial seperti yang ditunjukkan dibawah ini. Jarak antar kota dibentuk dengan sebuah graph terlihat dibawah:

2.1.2. Contoh Pencarian Lintasan Terpendek Dengan BFS Adapun contoh untuk mencari lintasan terpendek dengan menggukan algoritma

Pertanyaan: sebutkan rute yang akan ditempuh untuk mencapai kota no. 8. Titik awal perjalanan adalah kota no. 1. Gunakan algoritma BFS! Maka dengan menggunakan algoritma BFS, rute tercepat yang didapat adalah sebagai berikut:

1 2 3 4 5 6 7 8 Rute tersebut didapat dari pencarian secara melebar. Hal; tersebut dapat dijabarkan sebagai berikut:

Pertama-tama, pointer menunujuk pada daun yang ada sebelah kanan, yaitu no.2 (1 2) Setelah itu, proses dilanjutkan pada tetangga no.2 yaitu no.3 (1-2-3) dan selanjutnya mengarah pada tetangga terdekat, yakni no.4 (1-2-3-4). Pointer mencari teteangga no.4, namun karna tidak ada, maka pointer kembali ke kota no.2 dan masuk ke daun berikutnya, yakni no.5. Proses diulang hingga pointer menunjuk angka 8. Pencarian dengan Breadth First Search akan menjadi optimal ketika nilai pada semua path adalah sama. Dengan sedikit perluasan, dapat ditemukan sebuah algoritma yang optimal dengan melihat kepada nilai tiap path di antara node-node yang ada. Selain menjalankan fungsi algoritma BFS, Uniform Cost Search melakukan ekspansi node dengan

6

nilai path yang paling kecil. Hal ini bisa dilakukan dengan membuat antrian pada successor yang ada berdasar kepada nilai path-nya (node disimpan dalam bentuk priority queue).

  • 2.1.4. Keuntungan BFS

Keuntungan dari BFS adalah sebagai berikut:

  • a. Tidak menemui jalan buntu.

  • b. Jika ada suatu solusi, maka Breadth-first search akan menemukannya. Dan jika didapat lebih dari satu solusi, maka solusi minimum akan ditemukan.

  • 2.1.5. Kelemahan BFS

Kelemahan dari BFS adalah sebagai berikut:

  • a. Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam suatu pohon.

  • b. Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level ke-(n + 1).

2.2. Depth-First search (DFS)

Depth-first search (DFS) adalah proses searching sistematis buta yang melakukan ekpansi sebuah path (jalur) menuju penyelesaian masalah sebelum melakukan ekplorasi terhadap path yang lain. Proses searching mengikuti sebuah path tunggal sampai menemukan goal atau dead end. Apabila proses searching menemukan dead-end, DFS akan melakukan penelusuran balik ke node terakhir untuk melihat apakah node tersebut memiliki path cabang yang belum dieksplorasi. Apabila cabang ditemukan, DFS akan melakukan cabang tersebut. Apabila sudah tidak ada lagi cabang yang dapat dieksplorasi, DFS akan kembali ke node parent dan melakukan proses searching terhadap cabang yang belum dieksplorasi dari node parent sampai menemukan penyelesaian masalah. Urutan proses searching DFS ditunjukkan dalam Gambar berikutnya

7

Gambar 2.3 Diagram pohon dari DFS. Pencarian dilakukan pada satu node dalam setiap level dari yang

Gambar 2.3 Diagram pohon dari DFS.

Pencarian dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Node yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi. Jika solusi ditemukan maka tidak diperlukan proses backtracking (penelusuran balik untuk mendapatkan jalur yang dinginkan).

2.2.1. Kelebihan dan Kelemahan DFS

Kelebihan DFS adalah:

  • a. Pemakain memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan.

  • b. Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.

Kelemahan DFS adalah:

  • a. Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).

8

b. Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal).

b. Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka

Gambar 2.4. Penelusuran Depth First Search untuk Water Jug Problem.

2.2.2. Cara Kerja DFS

Pencarian rute terpendek dilakukan dengan cara membuat simpul-

simpul yang menjadi titik awal, titik-titik yang akan dilalui dan juga titik akhir sebagai akhir dari tujuan atau sebagai simpul yang dicari. Dalam algoritma DFS, simpul yang telah dikunjungi disimpan dalam suatu tumpukan (stack). Antrian ini digunakan untuk mengacu simpul-simpul yang akan dikunjungi sesuai urutan tumpukan (masuk terakhir, keluar pertama) dan mempermudah proses runut-balik jika simpul sudah tidak mempunyai anak (simpul pada kedalaman maksimal). Untuk memperjelas cara kerja algoritma DFS beserta tumpukan yang digunakannya, berikut langkah-langkah algoritma DFS:

  • 1. Masukkan simpul ujung (akar) ke dalam tumpukan

  • 2. Ambil simpul dari tumpukan teratas, 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 tumpukan

  • 5. Jika tumpukan kosong dan setiap simpul sudah dicek, pencarian selesai dan mengembalikan hasil solusi tidak ditemukan

  • 6. Ulangi pencarian dari langkah kedua

9

2.3. Pencarian Heuristik

Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam

proses pencarian, namum dengan kemungkinan mengorbankan kelengkapan (completeness). Fungsi heuristik digunakan untuk mengevaluasi keadaankeadaan

problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan. Jenis-jenis Heuristic Searching:

  • a. Generate and Test.

  • b. HillClimbing.

  • c. Best First Search.

  • d. Alpha Beta Prunning,Means-End-Anlysis,Constraint Satisfaction, Simulated Anealing, dll

2.3.1. Pembangkitan Dan Pengujian (Generate And Test)

Metode ini merupakan penggabungan antara depth-first search dengan

pelacakan mundur (backtracking), yaitu bergerak kebelakang menuju pada suatu keadaan awal. Algoritma:

  • a. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau lintasan tertentu dari keadaan awal).

  • b. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node terebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.

  • c. Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.

Contoh:

“Travelling Salesman Problem (TSP)” Seorang salesman ingin

mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh dikunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti gambar di bawah ini:

10

Penyelesaian dengan metode Generate and Test 11

Penyelesaian dengan metode Generate and Test

Penyelesaian dengan metode Generate and Test 11
Penyelesaian dengan metode Generate and Test 11

11

2.3.2. Pendakian Bukit (Hill Climbing)

Metode ini hampir sama dengan metode pembangkitan dan pengujian, hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristic. Pembangkitan keadaan berikutnya tergantung pada feedback dari prosedur pengetesan. Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin.

2.3.2.1 Algoritma Simple Hill Climbing

Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada operator baru yang akan diaplikasikan pada keadaan sekarang:

  • a. Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.

  • b. Evaluasi keadaan baru tersebut :

  • c. Jika keadaan baru merupakan tujuan, keluar

  • d. Jika bukan tujuan, namun nilainya lebih baik dari pada keadaan sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang.

  • e. Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.

Pada simple hill climbing, ada 3 masalah yang mungkin:

  • a. Algoritma akan berhenti kalau mencapai nilai optimum local

  • b. Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi

  • c. Tidak diijinkan untuk melihat satupun langkah sebelumnya.

Contoh: TSP dengan Simple Hill Climbing

Disini ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi kota-kota yang bersebelahan. Apabila ada n kota, dan kita ingin mencari kombinasi l intasan dengan menukar posisi urutan 2 kota, maka kita akan mendapatkan sebanyak:

2.3.2. Pendakian Bukit (Hill Climbing) Metode ini hampir sama dengan metode pembangkitan dan pengujian, hanya saja

12

atau sebanyak 6 kombinasi (lihat gambar dibawah). Fungsi heuristic yang digunakan adalah panjang lintasan yang terjadi

atau sebanyak 6 kombinasi (lihat gambar dibawah). Fungsi heuristic yang digunakan adalah panjang lintasan yang terjadi

Gambar 2.6. Kombinasi Fungsi Heuristik

2.3.3. Pencarian Terbaik Pertama (Best-First Search)

Metode ini merupakan kombinasi dari metode depth-first search dan

breadth-first search. Pada metode best-first search, pencarian diperbolehkan

mengunjungi node yang ada di level yang lebih rendah, jika ternyata node pada level yang lebih tinggi ternyata memiliki nilai heuristic yang lebih buruk. Fungsi Heuristik yang digunakan merupakan prakiraan (estimasi) cost dari initial state ke goal state, yang dinyatakan dengan :

dimana:

f’(n) = g(n)+ h’(n)

f’ = Fungsi evaluasi g = cost dari ini tial state ke current state h’ = prakiraan cost dari current state ke goal state Contoh :

Misalkan kita memiliki ruang pencarian seperti pada gambar dibawah. Node M merupakan keadaan awal dan node T merupakan tujuannya. Biaya edge yang menghubungkan node M dengan node A adalah biaya yang dikeluarkan untuk bergerak dari kota M ke kota A. Nilai g diperoleh berdasarkan biaya edge minimal. Sedangkan nilai h’ di node A merupakan hasil perkiraan terhadap biaya

13

yang diperlukan dari node A untuk sampai ke tujuan. h’(n) bernilai ~ jika sudah

jelas tidak ada hubungan antara node n dengan node tujuan (jalan buntu). Kita bisa mengurut nilai untuk setiap node.

yang diperlukan dari node A untuk sampai ke tujuan. h’(n) bernilai ~ jika sudah jelas tidak

Gambar 2.7. Nilai Node

yang diperlukan dari node A untuk sampai ke tujuan. h’(n) bernilai ~ jika sudah jelas tidak

2.3.4. Pembangkitan Dan Pengujian (Generate And Test)

Metode ini merupakan penggabungan antara depth-first search dengan pelacakan mundur (backtracking), yaitu bergerak kebelakang menuju pada suatu keadaan awal. Algoritma:

  • a. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau lintasan tertentu dari keadaan awal).

14

  • b. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node terebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.

  • c. Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.

b. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node terebut atau

Sebuah fungsi heuristik mengevaluasi keadaan permasalahan tersendiri dan menentukan bagaimana diperlukan fungsi ini dalam memecahkan suatu permasalahan. Sebuah fungsi heuristik adalah sebuah fungsi yang memetakan keadaan permasalahan, yang mendeskripsikan daya tarik dan digambarkan dalam sebuah angka (Pearl, 1984). Fungsi heuristik yang dirancang dengan baik dapat berperan dalam sebuah bagian yang penting untuk memandu secara efisien proses pencarian menuju ke sebuah solusi. Tabel 2.1 menunjukkan beberapa fungsi heuristik sederhana untuk beberapa permasalahan.

b. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node terebut atau

Kadang kala sebuah nilai tinggi dari fungsi heuristik mengindikasikan sebuah posisi yang baik secara relatif (terlihat pada catur dan tic tac toe), di lain waktu sebuah nilai rendah mengindikasikan sebuah situasi yang menguntungkan (terlihat pada perjalanan salesman). Program yang menggunakan nilai (value) dari fungsi dapat mengusahakan minimal atau maksimal secara tepat.

15

Tujuan dari sebuah fungsi heuristik adalah untuk memandu proses pencarian tujuan yang menguntungkan dengan menganjurkan jalur yang mana yang diikuti pertama kali ketika tersedia lebih dari satu tujuan. Setelah proses berlangsung, akan bisa dihitung sebuah fungsi heuristik yang sempurna dengan cara melakukan sebuah pencarian yang lengkap dari simpul dalam pertanyaan dan menentukan apakah fungsi ini menuju ke sebuah solusi yang baik. Sayangnya, seperti semua kaidah penemuan lainnya, heuristik juga dapat salah. Heuristik hanyalah panduan informasi untuk menebak langkah berikutnya yang harus diambil dalam menyelesaikan suatu permasalahan, dan sering dilakukan berdasarkan eksperimen/percobaan atau secara intuisi. Oleh karena menggunakan informasi yang terbatas, heuristik jarang dapat memprediksi tingkah laku yang eksak dari ruang keadaan saat dilakukan pencarian. Heuristik dapat membimbing algoritma pencarian untuk mendapatkan solusi suboptimal atau gagal menemukan solusi apapun, karena tidak ada solusi yang dapat menuju keadaan akhir. Heuristik dan perancangan algoritma untuk mengimplementasikan pencarian heuristik telah menjadi inti permasalahan penelitian AI. Game playing dan pemecahan teorema (theorem solving) adalah dua aplikasi paling tua dari AI, kedua-duanya memerlukan heuristik untuk memangkas ruang dari solusi yang mungkin.

16

3.1. Kesimpulan

BAB II

PENUTUP

Dari pembahasan diatas dapat ditarik kesimpulan yaitu :

  • a. Breadth-first search (BFS) melakukan proses searching pada semua node yang berada pada level atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses searching pada node di level berikutnya.

  • b. Depth-first search (DFS) adalah proses searching sistematis buta yang melakukan ekpansi sebuah path (jalur) menuju penyelesaian masalah sebelum melakukan ekplorasi terhadap path yang lain.

  • c. Heuristic search adalah suatu istilah yang berasal dari bahasa Yunani yang berarti menemukan/menyingkap. Heuristik adalah suatu perbuatan yang membantu kita menemukan jalan dalam pohon pelacakan yang menuntut kita kepada suatu solusi masalah. Heuristik dapat diartikan juga sebagai suatu kaidah yang merupakan metoda/prosedur yang didasarkan kepada pengalaman dan praktek, syarat, trik atau bantuan lainnya yang membantu mempersempit dan memfokuskan proses pelacakan kepada suatu tujuan tertentu.

17

DAFTAR PUSTAKA

Kusumadewi, Sri.2003. Artificial Yogyakarta, Graha Ilmu.

Intelegence ( Teknik dan Aplikasinya).

Nenk, Iecha, ARTFICIAL INTELLEGENCE ALGORITMA PENCARIAN ( Searching Algoritm)

Ramadhani, Aristama. 2008. Menggerakkan Karakter Game Menggunkan Algoritma Breadth-First Search (BFS) dan Algoritma A* (A Star), MakalahIF2251-043, Program Studi Teknik Informatika ITB, Bandung.

Riftadi, Mohammad. 2007. Variasi Penggunaan Fungsi Heuristik dalam Pengaplikasian Algoritma A*, Makalah IF2251, Teknik Informatika ITB, Bandung.

Suyanto. 2007. Artificial Intelligence Searching, Reasoning, Planning dan Learning, Bandung, Informatika.

Wibowo, Toto Agung. 2009. Jurnal Perkuliahan AI pada Game Development (Path finding), Telkom Bandung.

Yusuf, Usup.2011. Best First Search Pengertian Best First Search.

18