Anda di halaman 1dari 20

Kecerdasan Buatan

04
Modul ke:

Materi Minggu 4: Uninformed Search (2)


Buku Acuan:
Ertel, Wolfgang. 2017. Introduction to Artificial Intelligence; Second Edition.Germany:
Fakultas
Springer.
FASILKOM I Putu Edy Suardiyana Putra, Ph.D.

Program Studi
Teknik
Informatika
Uninformed search
• Pertemuan kali ini akan fokus pada implementasi algoritma
pencarian (BFS dan DFS) yang sudah dipelajari pada minggu
sebelumnya menggunakan bahasa pemrograman Python.
• Tujuan utama dari pertemuan minggu ini adalah mengasah
kemampuan programming dengan menggunakan bahasa
pemrograma Pythnon.
Contoh tree yang akan
digunakan
A

B C Tree ini akan digunakan


sebagai input dari
program BFS yang akan
dibuat dengan
menggunakan bahasa
D E pemrograman Python
Contoh code BFS

Code ini adalah hasil adaptasi


dari code yang ada pada tautan
berikut:
https://codereview.stackexchan
ge.com/questions/135156/bfs-i
mplementation-in-python-3
Contoh code BFS

Bagian code ini berfungsi


untuk memberitahu komputer
bahwa kita akan
menggunakan library dari
Python yang bernama
collections. Informasi lebih
lengkap terkait collections
dapat dilihat pada tautan
berikut ini:
https://docs.python.org/2/libr
ary/collections.html
Contoh code BFS

Code ini terbagi menjadi dua


fungsi utama:
1. main
2. breadth_first_search(gra
ph,root)
Contoh code BFS

Fungsi main merupakan


fungsi pertama yang
dijalankan oleh komputer.
Untuk kasus ini, Graph/tree
yang akan kita gunakan akan
didefinisikan di fungsi ini.
Contoh code BFS
Fungsi BFS membutuhkan 2
parameter: tree/graph,
dan root dari graph/tree
tersebut
Fungsi ini merupakan fungsi dari BFS itu sendiri.

Untuk menjalankan proses


BFS, dibutuhkan 2 buah
array: visited dan queue.
Array visited berfungsi untuk
menyimpan node yang
sudah dikunjungi. Untuk
array queue, datatype
yang digunakan adalah
collections. Alasan
utamanya adalah untuk
mempermudah
Proses penelusuran graph mengambil dan
/tree dengan memasukkan data dengan
menggunakan BFS sistem FIFO (First in First
Out).
Contoh output BFS

A A A

B C B C B C

D E D E D E

A A

B C B C

D E D E
Studi kasus peta Romania

Arad

Timisoar Sibiu
Zerind
a

Oradea Lugoj Rimnicu Fagaras


Vilcea
Contoh code BFS
Perhatikan dengan baik perubahan yang
terjadi. Dikarenakan yang berubah hanya tree
nya saja, jadi code yang berubah hanya
terbatas pada fungsi main.

Contoh luaran
Contoh code DFS

Code ini adalah hasil adaptasi


dari code yang ada pada tautan
berikut:
https://www.koderdojo.com/bl
og/depth-first-search-in-python-
recursive-and-non-recursive-pro
gramming
Contoh code DFS

Code ini terbagi menjadi dua


fungsi utama:
1. main
2. depth_first_search(graph
,root)
Contoh code DFS

Fungsi main merupakan


fungsi pertama yang
dijalankan oleh komputer.
Untuk kasus ini, Graph/tree
yang akan kita gunakan akan
didefinisikan di fungsi ini.
Contoh code DFS
Fungsi DFS membutuhkan 2
Fungsi ini merupakan fungsi dari DFS itu sendiri.
parameter: tree/graph,
dan root dari graph/tree
tersebut

Untuk menjalankan proses


DFS, dibutuhkan 2 buah
array: stack dan path.
Array stack berfungsi untuk
menyimpan node yang
digunakan sebagai
navigasi. Array stack di sini
menggunakan data type
stack yang artinya
pengambilan data
dilakukan secara LIFO (Last
In First Out).
Proses penelusuran graph Array path berfungsi untuk
/tree dengan menyimpan jalur yang
menggunakan DFS dilalui dengan
menggunakan teknik DFS.
Contoh code DFS

A A
stack path
B C path B C stack C
C
B A
D E B A D E

A path
stack B
B C
E C
D E D A
Contoh code DFS

path
A E
B
B C
stack C
D E D A

path
D
A
E
B C B
C
D E
A
Studi kasus peta Romania

Arad

Timisoara Sibiu
Zerind

Oradea Lugoj Rimnicu Fagaras


Vilcea
Contoh code DFS
Perhatikan dengan baik perubahan yang
terjadi. Dikarenakan yang berubah hanya tree
nya saja, jadi code yang berubah hanya
terbatas pada fungsi main.

Contoh luaran
Terima Kasih
I Putu Edy Suardiyana Putra, Ph.D.

Anda mungkin juga menyukai