Anda di halaman 1dari 10

PENERAPANAN ALGORITMA BFS, DFS,

DAN UCS UNTUK MENCARI SOLUSI PADA MASALAH ROMANIA

1. PENDAHULUAN kota-kota mana saja yang harus dilalui


dalam menentukan lintasan terpendek dari
Pada zaman serba modern ini, peta masih
suatu kasus.
digunakan oleh kebanyakan orang untuk
menuju dari suatu titik awal ke titik tujuan. 2. TINJAUAN PUSTAKA
Lintasan yang dipilih untuk menuju titik
Beberapa dasar teori yang menjadi
tujuan pastilah lintasan yang paling
landasan penulisan, yaitu search, metode
pendek. Namun, pencarian lintasan
uninformed search, teori graf, algoritma
terpendek secara manual, akan
Breath First Search (BFS), Depth First
membutuhkan waktu yang banyak dan
Search (DFS), dan Uniform Cost Search
ketelitian lebih untuk mencapainya.
(UCS) yang akan digunakan untuk
Masalah lintasan terpendek berkaitan menyelesaikan permasalahan.
dengan pencarian lintasan pada graf
2.1 Search
berbobot yang menghubungkan dua buah
simpul (edge) sedemikian sehingga Menurut Luger (2005), search adalah
jumlah bobot pada sisi-sisi yang terpilih sebuah teknik menyelesaikan masalah
merupakan bobot minimum. Terdapat (problem solving) yang mengembangkan
banyak algoritma yang dapat digunakan sebuah ruang permasalahan secara
untuk pemecahan masalah dalam sistematik dalam sebuah proses. Terdapat
pencarian lintasan terpendek. Pemilihan 4 kriteria untuk menentukan performa
algoritma yang paling optimal seringkali sebuah metode pencarian, yaitu
menjadi permasalahan dalam pencarian Completeness, Time Complexity, Space
lintasan terpendek karena setiap algoritma Complexity, dan Optimality. Completeness
memiliki kelebihan dan kekurangannya adalah apakah metode tersebut menjamin
masing-masing [1]. ditemukannya solusi jika solusi tersebut
ada. Time Complexity adalah lama waktu
Secara umum, algoritma pencarian dapat
yang dibutuhkan untuk menemukan solusi
dibedakan menjadi dua metode yaitu,
tersebut. Space Complexity adalah jumlah
metode uninformed search dan metode
memory yang diperlukan dan yang
informed search. Metode uninformed
dimaksud Optimality adalah apakah
search merupakan metode matematika
metode tersebut menjamin menemukan
biasa dengan informasi yang jelas,
solusi yang terbaik jika terdapat beberapa
sedangkan metode informed search
solusi yang lain [3].
merupakan metode pencarian yang
menggunakan metode pendekatan pada Metode pencarian dibagi menjadi dua
proses pencariannya [2].
strategi, yaitu uninformed search dan
Pada tulisan ini, akan dibahas bagaimana informed search. Uninformed search
menemukan solusi dalam pencarian merupakan suatu strategi pencarian tanpa
lintasan terpendek dari kasus romania ada informasi mengenai cost (bobot) atau
dengan menggunakan algoritma informasi tertentu sedangkan Informed
pencarian Breadth Fisrt Search (BFS), search merupakan suatu strategi
Depth First Search (DFS) dan Uniform pencarian yang membutuhkan informasi
Cost Search (UCS) sehingga diperoleh
mengenai cost (bobot) atau informasi 2.4 Algoritma Pencarian Breadth-First
tertentu [3]. Search

2.2 Metode Uninformed Search Algoritma Breadth-First Search (BFS) atau


algoritma pencarian melebar merupakan
Metode Uninformed Search sering disebut
pencarian dilakukan pada semua node
juga dengan Blind Search. Istilah tersebut
dalam setiap level secara berurutan dari
menggambarkan bahwa teknik pencarian
kiri ke kanan. Jika pada satu level belum
ini tidak memiliki informasi tambahan
ditemukan solusi, maka pencarian
mengenai kondisi diluar dari yang
dilanjutkan pada level berikutnya.
disediakan oleh definisi masalah. Metode
Demikian seterusnya sampai ditemukan
uninformed search terdiri atas Breath First
solusi. Dengan strategi ini, maka dapat
Search (BFS), Depth First Search (DFS),
dijamin bahwa solusi yang ditemukan
Uniform Cost Search (UCS), Depth-
adalah yang paling baik (Optimal).
Limited Search (DLS), Interative-Deeping
Algoritma BFS memerlukan sebuah
Search (IDS) dan Bi-directional Search
antrian (queue) untuk menyimpan simpul
(BDS) [4].
yang telah dikunjungi [6].
2.3 Teori Graf

Beberapa terminology graf yang dibahas


adalah verteks, edge, graf tidak berarah,
graf berarah, graf berbobot, dan path
(lintasan).

Verteks merupakan titik atau node yang


menunjukkan tempat yang dijadikan
sebagai goal atau tujuan, start atau awal,
atau tempat yang akan dilalui dalam suatu
perjalanan. Edge merupakan garis
penghubung antar verteks [5].
Gambar 1 diagram alur penyelesaian masalah
Graf tidak berarah (undirected graf) metode BFS
merupakan graf yang tidak memiliki arah
dan anak panah sehingga dapat dilalui Berikut ini adalah langkah-langkah
oleh dua arah yang berlawanan. Graf traversal graf dengan memanfaatkan
berarah (directed graf) merupakan graf algoritma BFS [7]:
yang memiliki arah dan biasanya
1. Masukan simpul akar(root) ke
ditunjukkan dengan sebuah anak panah
dalam antrian.
dengan salah satu ujungnya disebut tail
(ekor) dan head (kepala). Graf berarah 2. Keluarkan sebuah simpul dari
tidak dapat dilewati oleh dua arah yang antrian.
berbeda. Graf berbobot merupakan graf
3. Kunjungi semua tetangga dari
yang memiliki bobot atau nilai di setiap
simpul ini yang belum pernah
edge-nya dan dapat berupa graf berarah
dikunjungi sebelumnya. Masukan
maupun graf yang tidak berarah. Path
juga simpul-simpul tetangga ini ke
(lintasan) merupakan suatu lintasan yang
dalam antrian.
melalui verteks dan edge dimana verteks
tidak boleh dilewati lebih dari satu kali [5]. 4. Jika antrian telah kosong maka
penelusuran telah selesai. Jika
antrian masih ada, ulangi langkah for tiap simpul w yang bertetangga
nomor 2. dengan simpul v do
if not dikunjungi[w] then
Berikut ini adalah pseudocode
write(w) {cetak simpul
penelusuran graf dengan BFS. yang dikunjungi}
procedure BFS(G,v) MasukAntrian(q,w)
{ Traversal graf dengan algoritma dikunjungi[w] true
pencarian BFS.
endif
Masukan : G adalah graf, v adalah simpul
awal kunjungan endfor

Keluaran : semua simpul yang dikunjungi endwhile


dicetak ke layar
{ AntrianKosong(q) }
}

Deklarasi Kelebihan dan kekurangan algoritma BFS


yaitu [8] :
w : integer

q : antrian - Kelebihan Algoritma Breadth First


Search adalah : pasti menemukan
procedure BuatAntrian(input/output q:
antrian) solusi yang dicari, tidak akan
mengalami jalan buntu / tidak
{ membuat antrian kosong, kepala(q)
diisi 0 } menemukan solusi.
- Kelemahan Algoritma Breadth-First
procedure MasukAntrian(input/output
q:antrian, input v:integer) Search adalah : memerlukan
memori yang cukup besar, karena
{ memasukkan v ke dalam antrian q pada
posisi belakang } metode ini mengecek keseluruhan
node yang ada dan membutuhkan
procedure HapusAntrian(input/output
q:antrian, output v:integer) waktu yang lebih untuk mengecek
semua node yang ada tersebut.
{ menghapus v dari kepala antrian q }

function AntrianKosong(input q:antrian) 2.5 Algoritma Pencarian Depth-First


boolean
Search
{ true jika antrian q kosong, false
jika sebaliknya } Algoritma Depth-First Search (DFS) atau
algoritma pencarian mendalam juga
merupakan pencarian dilakukan pada satu
Algoritma
node dalam setiap level dari yang paling
BuatAntrian(q) { buat antrian kosong } kiri. Jika pada level yang paling dalam,
write(v) { cetak simpul awal yang solusi belum ditemukan, maka pencarian
dikunjungi } dilanjutkan pada node sebelah kanan.
dikunjungi[v] true { simpul v telah Node yang kiri dapat dihapus dari memori.
dikunjungi, tandai dengan true} Jika pada level yang paling dalam tidak
MasukAntrian(q,v) { masukkan simpul awal ditemukan solusi, maka pencarian
kunjungan ke dalam antrian} dilanjutkan pada level sebelumnya.
{kunjungi semua simpul graf selama Demikian seterusnya sampai ditemukan
antrian belum kosong } solusi. Jika solusi ditemukan maka tidak
while not AntrianKosong(q) do diperlukan proses backtracking
HapusAntrian(q,v) { simpul v telah (penelusuran balik untuk mendapatkan
dikunjungi, hapus dari antrian } jalur yang dinginkan)[6].
w : integer
Algoritma

write(v)

dikunjungi[v] true

for setiap simpul w yang bertetangga


dengan simpul v do

if not dikunjungi[w] then

DFS(w)

endif

Gambar 2 diagram alur penyelesaian masalah endfor


metode DFS

Algoritma DFS secara alami meng-


Kelebihan dan Kekurangan Algoritma
gunakan rekursif dalam implementasinya.
Depth First Search (DFS) yaitu [8]:
Berikut ini adalah langkah-langkah
traversal graf dengan memanfaatkan Kelebihan Algoritma Depth First Search
algoritma DFS [7].
Memori yang relatif kecil
1. Kunjungi simpul akar(root). Secara kebetulan, akan
2. Untuk sebuah tetangga dari simpul menemukan solusi tanpa harus
ini yang belum pernah dikunjungi menguji lebih banyak lagi
sebelumnya, anggap simpul ini Kekurangan Algoritma Depth First
sebagai akar untuk melakukan Search
DFS pada langkah 1.
Memungkinkan tidak ditemukan-
3. Jika sudah tidak terdapat tetangga nya tujuan yang diharapkan
yang belum pernah dikunjungi lagi, Hanya akan mendapatkan 1
lakukan runut balik ke simpul yang solusi pada setiap pencarian
telah dikunjungi sebelumnya.

4. Penelusuran berhenti ketika simpul


awal dari DFS ini sudah tidak 2.6 Algoritma Pencarian Uniform Cost
mempunyai tetangga yang belum Search
pernah dikunjungi.
Uniform Cost Search adalah algoritma
Berikut ini adalah pseudocode Seach Tree (graph) yang digunakan untuk
penelusuran graf dengan DFS. menyelesaikan beberapa persoalan.
procedure DFS(input v:integer)
Algoritma ini memulai pencarian dari root
node, kemudian dilanjutkan ke node-node
{Mengunjungi seluruh simpul graf dengan
algoritma pencarian DFS
selanjutnya. Dimana node tersebut dipilih
yang memilki harga (cost) terkecil dari root
Masukan: v adalah simpul awal
kunjungan
node. Algoritma ini merupakan modifikasi
dari Breadth First Search (BFS). Dalam
Keluaran: semua simpul yang
dikunjungi ditulis ke layar
implementasi algoritma ini melibatkan
semua node yang berhubungan dengan
}
root node dan meletaknnya dalam priority
Deklarasi queue untuk mencapai node tujuan.
dimana node-node yang dipilih merupakan butuh completeness dalam
node yang memiliki harga paling kecil [9]. menemukan setiap solusi.

Berikut ini adalah langkah-langkah Kekurangan algoritma UCS sebagai


traversal graf dengan memanfaatkan berikut :
algoritma ucs [10]:
Memiliki syarat yang harus
1. initial state terletak pada node start dipenuhi agar bisa complete dan
atau simpul akar. Maka langka optimal.
pertama kunjungi simpu akar Memiliki kompleksitas waktu dan
(root). ruang yang banyak karena
2. kemudian untuk mencapai node memakai konsep BFS
berikutnya, algoritma ini memilih
total Cost yang paling kecil dari 3. MASALAH ROMANIA
beberapa kemungkinan Total Cost
yang dilalui state. Maka, Total Aksi Pada analisa pembahasan ini, penulis
adalah Total Cost akan menguraikan bagaimana penye-
3. Begitu seterusnya, dilakukan lesaian dari contoh masalah romania
pengecekan node yang memilki dalam mencari lintasan terpendek dari
total Cost terkecil hingga sampai kota Arad menuju kota Bucharest. Dalam
pada goal state. kasus ini kita akan menggunakan
algoritma pencarian Breadth Fisrt Search
(BFS), Depth First Search (DFS) dan
Konsep dasar Uniform Cost Serch hampir Uniform Cost Search (UCS) untuk
sama dengan BFS (Breadth-First Search), menemukan rute tercepat dan paling
bedanya adalah bahwa BFS efisien agar dapat sampai ke tujuan. Maka
menggunakan urutan level yang paling solusi yang diperoleh dari algoritma
rendah sampai yang paling tinggi, tersebut dapat memilih jalur mana yang
sedangkan UCS menggunakan urutan harus dilalui.
biaya dari yang paling kecil sampai yang
terbesar. UCS berusaha menemukan
solusi dengan total biaya terendah yang
dihitung berdasarkan biaya dari simpul
asal menuju ke simpul tujuan.

Kelebihan dan kekurangan UCS sebagai


berikut [3]:

Kelebihan algoritma UCS sebagai berikut :

Karena memiliki konsep seperti


BFS maka UCS menjamin
ditemukannya solusi dan solusi
yang ditemukannya selalu solusi
Gambar 3 Graf Masalah Romania
yang terbaik dalam kata lain UCS
merupakan pencarian yang 4. PENYELESAIAN MASALAH
complete dan optimal.
Sangat cocok digunakan bila tidak 4.1 Penerapan Algoritma BFS
menggunakan heuristik. karena
Pada pencarian solusi dengan algoritma endfor
endwhile
BFS akan dibangkitkan sebuah simpul
akar(root), yaitu kondisi titik awal dari implementasi algoritma BFS dalam bentuk
suatu graf. Lalu akan dibentuk simpul- pohon sesuai dengan masalah romania
simpul anak yang merupakan simpul yaitu:
tetangga dari simpul akar. Pencarian akan
berhenti jika simpul yang sedang Arad
0+0=0
dikunjungi merupakan simpul solusi.

Masukan dari algoritma BFS adalah Pada masalah romania, dilakukan


sebuah graf, dan simpul awal (akar) dari pencarian awal di kota Arad, yang akan
graf tersebut. Harapannya, akan didapat dianggap sebagai akar dari pohon BFS.
sebuah keluaran berupa seluruh simpul
Arad
yang telah dihidupkan. Berikut ini adalah 0+0=0
pseudocode algoritma BFS untuk mencari
solusi dari masalah romania.
Arad Arad Arad
0+75=75 0+112=112 0+140=140
Procedure BFS(G,akar)

{ Traversal Graf G dengan algoritma


pencarian BFS. Setelah itu, dicari kota-kota yang
Masukan : G adalah graf, v adalah node
bertetangga dengan kota Arad, yaitu kota
awal kunjungan Zerind, kota Timisoara, dan kota Sibiu.
Keluaran : semua n yang dikunjungi dicetak
Ketiga kota tersebut dimasukkan kedalam
ke layar level di bawah kota Arad.
}

Deklarasi
finish : boolean
current : state
newstate : state
queue : antrian
visitedlist : list of state
simpul n: step

Algoritma
MasukAntrian(queue,akar)
MasukList(visitedlist,akar )
finish false
while (not AntrianKosong(queue) and not
finish)
HapusAntrian(queue, current)
for setiap simpul n yang bertetangga Selanjutnya dilakukan pencarian pada
dengan current do
newstate BuatStatusBaru(current, kota-kota tetangga kota zerind, kota
node n) timisoara, dan kota sibiu dan dimasukkan
if (Solusi(newstate)) ke dalam level selanjutnya. Hal tersebut
finish = true
TambahAnak(current, newstate) dilakukan sampai seluruh simpul di graf
TandaiSolusi(newstate) berhasil dijelajahi. Setelah dijelajahi
return
else
semua simpul dari graf maka akan
if (not Mengandung(visitedlist, diperoleh lintasan terpendek dari Arad
newstate)) then menuju ke Bucharest dengan
TambahAnak(current, newstate)
MasukAntrian(queue, newstate) menggunakan algoritma BFS maka
MasukList(visitedlist, newstate) diperoleh node:4, path: (Arad-Sibiu-
endif
endif
Fagaras-Bucharest), path cost =450, dan
Arad
ekspansi node sebanyak 14 kali.

4.2 Penerapan Algoritma DFS Pada masalah romania, dilakukan


pencarian awal di kota Arad, yang akan
Pada pencarian solusi dengan algoritma dianggap sebagai akar dari pohon DFS.
DFS juga akan dibangkitkan sebuah
simpul akar (root), yaitu kondisi titik awal
dari suatu graf. Lalu akan dibentuk simpul-
simpul anak yang merupakan simpul
tetangga dari simpul akar. Penelusuran
akan dilakukan secara kontinu terhadap
status yang telah dibuat pertama kali.
Pencarian akan berhenti jika simpul yang Setelah itu, dicari kota-kota yang
sedang dikunjungi merupakan simpul bertetangga dengan kota Arad, yaitu kota
solusi. Zerind, kota Timisoara, dan kota Sibiu.
Ketiga kota tersebut dimasukkan kedalam
Berikut ini adalah pseudocode algoritma level di bawah kota Arad. Tetapi DFS
DFS untuk mencari solusi dari masalah akan memeriksa solusi disebelah kiri
romania. sampai dengan depth dimana
ditemukannya solusi.
procedure DFS(input/output
simpul:state, input/output
visitedlist:list of state)
Deklarasi
newstate : state

Algoritma
if (Solusi(akar))
TandaiSolusi(akar)
else
for setiap simpul n yang
bertetangga dengan current do
newstate
BuatStatusBaru(current,simpul n)
if (not Mengandung(visitedlist,
newstate)) then
TambahAnak(current, newstate)
MasukList(visitedlist, newstate)
DFS(newstate, visitedlist) Proses pencarian akan berhenti ketika
if (Solusi(newstate)) ditemukan atau tidak ditemukannya solusi,
return secara kebetulan akan ditemukan solusi
endif tanpa harus menguji lebih banyak atau
endif keseluruhan dari simpul yang ada.
endfor Sehingga dari implementasi pohon di atas
endif maka dapat diihat bahwa untuk
implementasi algoritma BFS dalam bentuk memperolah lintasan terpendek dari Arad
pohon sesuai dengan masalah romania menuju ke Bucharest dengan
yaitu: menggunakan algoritma DFS maka
diperoleh node:7, path: (Arad-Zerind-
Oradea-Sibiu-Rimnicu-Pitesti-Bucharest), implementasi algoritma BFS dalam bentuk
path cost=575, dan ekspansi node pohon sesuai dengan masalah romania
sebanyak 7 kali. yaitu:

4.3 Penerapan Algoritma UCS Arad


0+0=0
Pada pencarian solusi dengan algoritma
UCS akan dibangkitkan sebuah simpul
Pada masalah romania, dilakukan
akar(root), yaitu kondisi titik awal dari
pencarian awal di kota Arad, yang akan
suatu graf. Lalu akan dibentuk simpul-
dianggap sebagai akar dari pohon BFS.
simpul anak yang merupakan simpul
tetangga dari simpul akar. Kemudian
untuk mencapai node berikutnya,
algoritma ini memilih total Cost yang
paling kecil dari beberapa kemungkinan
total Cost yang dilalui. Pencarian akan
berhenti jika simpul yang sedang
dikunjungi merupakan simpul solusi Setelah itu, dicari kota-kota yang
dengan total Cost terkecil. bertetangga dengan kota Arad, yaitu kota
Zerind, kota Timisoara, dan kota Sibiu.
Berikut ini adalah pseudocode algoritma Ketiga kota tersebut dimasukkan kedalam
UCS untuk mencari solusi dari masalah level di bawah kota Arad.
romania.
Pseudocode :

procedure UniformCostSearch(Graph, root,


goal)

node := root, cost = 0

frontier := empty priority queue


containing node

explored := empty set

do

if frontier is empty

return failure

node := frontier.pop()

if node is goal
Konsep dasar pencarian Uniform Cost
return solution
Serch hampir sama dengan BFS
explored.add(node) (Breadth-First Search), bedanya adalah
for each of nodes neighbors n bahwa BFS menggunakan urutan level
if n is not in explored yang paling rendah sampai yang paling
tinggi, sedangkan UCS menggunakan
if n is not in frontier
urutan biaya dari yang paling kecil sampai
frontier.add(n) yang terbesar. UCS berusaha
if n is in frontier with higher cost menemukan solusi dengan total biaya
replace existing node with n
terendah yang dihitung berdasarkan biaya
dari Arad ke Bucharest. Sehingga dari
implementasi pohon di atas maka dapat
diihat bahwa untuk memperolah lintasan Setelah melakukan penyelesaian dengan
terpendek dari Arad menuju ke Bucharest tree maupun dengan program,
dengan menggunakan algoritma UCS disimpulkan bahwa output dari algoritma
maka diperoleh node:5, path: (Arad-Sibiu- dengan penyelesaian manual yaitu:
Rimnicu Vilcea-Pitesti-Bucharest), path
1. BFS
cost=418, dan ekspansi node sebanyak
- Node:4
15 kali.
- Path = (Arad Sibiu Fagaras -
5. KESIMPULAN Bucharest)
- Path Cost =450
Algoritma Breadth-First Search (BFS) atau
- Ekspansi node sebanyak 14 kali.
algoritma pencarian melebar merupakan
2. DFS
pencarian dilakukan pada semua node
- Node:7
dalam setiap level secara berurutan dari
- Path: (Arad Zerind Oradea
kiri ke kanan. Jika pada satu level belum
Sibiu Rimnicu Pitesti -
ditemukan solusi, maka pencarian
Bucharest)
dilanjutkan pada level berikutnya.
- Path Cost=575
Demikian seterusnya sampai ditemukan
- Ekspansi node sebanyak 7 kali
solusi.
3. UCS
Algoritma Depth-First Search (DFS) atau - Node:5,
algoritma pencarian mendalam juga - Path: (Arad-Sibiu-Rimnicu Vilcea-
merupakan pencarian dilakukan pada satu Pitesti-Bucharest)
node dalam setiap level dari yang paling - Path Cost=418
kiri. Jika pada level yang paling dalam, - Ekspansi node sebanyak 15 kali
solusi belum ditemukan, maka pencarian
Sedangkan penyelesaikan masalah
dilanjutkan pada node sebelah kanan.
dengan menggunakan program dapat
Node yang kiri dapat dihapus dari memori.
dievaluasi kinerja dari ketiga algortima
Jika pada level yang paling dalam tidak
yaitu:
ditemukan solusi, maka pencarian
dilanjutkan pada level sebelumnya. Evaluasi
Algoritma Complet- Optimal
Demikian seterusnya sampai ditemukan eness
Time Space
y
solusi. BFS Complete 0.07 55.3086 Optimal
Sec MB
Uniform Cost Search adalah algoritma DFS Not 0.19 6 MB Not
Seach Tree (graph) yang digunakan untuk Complete Sec Optimal
UCS Complete 0.07 53.7891 Optimal
menyelesaikan beberapa persoalan. Sec MB
Algoritma ini memulai pencarian dari root
node, kemudian dilanjutkan ke node-node
selanjutnya. Dimana node tersebut dipilih Algoritma UCS lebih baik dalam hal
yang memilki harga (cost) terkecil dari root menentukan lintasan terpendek karena
node. algoritma UCS akan memilih lintasan
(path) yang memiliki biaya terendah
Masalah romania dapat dicari solusinya dibandingkan dengan algoritma BFS dan
dengan memanfaatkan algoritma BFS, DFS, kemudian dari evaluasi ketiga
DFS, dan UCS. Pada makalah ini masalah algoritma dengan menggunakan program
romania dapat diselesaikan secara dapat dilihat bahwa algoritma UCS
manual menggunakan tree dan dapat juga tersebut complete dan optimal serta waktu
diselesaikan menggunakan program yang digunakan lebih sedikit dibanding
dalam bahasa java dan phyton 3. BFS. Dengan demikian algoritma UCS
menjadi pilihan terbaik di antara algoritma ARTIFICIAL INTELLIGENCE:
BFS, DFS, dan UCS untuk menentukan http://fahrululumsholihin.blogspot.co
solusi dari masalah romania. .id/2015/05/v-
behaviorurldefaultvmlo.html

DAFTAR PUSTAKA [9] Indriani, R. (2015, November 20). Uniform


Cost Search (UCS). Retrieved Oktober
21, 2017, from Uniform Cost Search
[1] Hardianto. (2013). Jurnal Teknologi (UCS) dan Iterative-Deepening Search
Informasi dan Komunikas. (IDS):
Implementasi Algoritma Heuristik http://riaindriani95.blogspot.co.id/20
untuk optimisasi rute terpendek, 79- 15/09/uniform-cost-search-ucs-dan-
88. iterative.html
[2] Russel, S. &. (2010). Artificial Intelligence: [10] Azizah, A. H. (2012, Februari 12).
A Modern Approach. New Jersey: Artificial Intelligence. Retrieved
Prentice. Oktober 21, 2017, from TomatCoklat:
[3] Sutrisna, A. (2015, September 21). Tugas https://tomatcoklat.wordpress.com/2
Kecerdasan Buatan. Retrieved 012/02/19/artificial-intelligence-_/
Oktober 21, 2017, from Sky_Heaven:
http://sutrisnajie.blogspot.co.id/2015
/09/tugas-kecerdasan-buatan.html

[4] Derwin Suhartono, S. M. (2013, April 23).


SEARCHING: UNINFORMED &
INFORMED. Retrieved Oktober 21,
2017, from BINUS:
http://socs.binus.ac.id/2013/04/23/u
ninformed-search-dan-informed-
search/

[5] Welianto, S., Santosa, R. G., & C., A. R.


(2009). IMPLEMENTASI ALGORITMA
GENERATE AND TEST PADA
PENCARIAN RUTE TERPENDEK, 3.

[6] Bawafi, S. H. (2012, Maret 24). ANALISA


TEKNIK SEARCHING DALAM
ARTIFICIAL INTELLIGENCE. Retrieved
Oktober 21, 2017, from blind
seacrhing:
http://aenstein.blogspot.co.id/2012/0
3/blind-seacrhing.html

[7] Pasaribu, E. S. (2013). Penerapan


Algoritma BFS, DFS, dan IDS pada
Penyelesaian Permainan Bubble Blast
2, 2.

[8] Ulum, F. (2015, Mei). BLIND SEARCH.


Retrieved Oktober 21, 2017, from

Anda mungkin juga menyukai