Anda di halaman 1dari 18

KECERDASAN BUATAN Diktat

2. MASALAH
PENGANTAR : Pada bagian ini dibahas penyelesaian masalah, serta strategi
uninformed untuk memecahkan masalah. Terdapat beberapa
teknik yang termasuk dalam strategi pencarian uninformed.
TUJUAN : Penguasaan materi dalam modul ini dirancang agar
mahasiswa mampu untuk :
 Mengetahui jenis masalah
 Dapat memformulasi masalah
 Mengetahui contoh penyelesaian masalah
 Mengetahui strategi pencarian tanpa informasi
(uninformed)

Di pandang dari sudut pemrograman, Kecerdasan buatan meliputi studi


pemrograman simbolik, penyelesaian masalah (problem solving) dan
pencarian (searching).
Untuk membuat aplikasi kecerdasan buatan ada 2 bagian utama yang
sangat dibutuhkan, yaitu:
a. Basis Pengetahuan (Knowledge Base), berisi fakta-fakta, teori,
pemikiran dan hubungan antara satu dengan lainnya.
b. Motor Inferensi (Inference Engine), yaitu kemampuan menarik
kesimpulan berdasarkan pengalaman.

Inputyang diberikan pada sistem yang menggunakan


kecerdasan buatan berupa masalah.
Proses. Pada sistem harus dilengkapi dengan
sekumpulan pengetahuan yang ada pada basis
pengetahuan (knowledge base). Sistem harus memiliki
inference engine agar mampu mengambil kesimpulan
berdasarkan fakta atau pengetahuan.
Output yang diberikan berupa solusi masalah sebagai
hasil dari inferensi.

Untuk membangun suatu sistem yang mampu menyelesaikan masalah,


perlu dipertimbangkan 4 hal:

9
KECERDASAN BUATAN Diktat

1. Mendefinisikan masalah dengan tepat, mencakup spesifikasi yang


tepat mengenai keadaan awal dan solusi yang diharapkan.
2. Menganalisis masalah tersebut serta mencari beberapa teknik
penyelesaian masalah yang sesuai.
3. Merepresentasikan pengetahuan yang perlu untuk menyelesaikan
masalah tersebut.
4. Memilih teknik penyelesaian masalah yang terbaik.

1. MENGINDETIFIKASI MASALAH
Sebagai contoh mengidentifikasi permasalahan Permainan Catur. Untuk
mendefinisikan masalah sebagai ruang keadaan, maka perlu melakukan
beberapa langkah-langkah, yaitu:
a. Posisi awal pada papan catur selalu sama, seperti yang terlihat
pada gambar 2.1

Gambar 2.1 Posisi awal permainan catur


b. Bidak bergerak sesuai aturan yang ditentukan, sehingga bidak
melangkah dari satu keadaan ke keadaan lain.
Untuk mempermudah menunjukkan posisi bidak, maka
- Setiap kotak arah horisontal ditunjuk dengan huruf
(a,b,c,d,e,f,g,h)
- Setiap kotak arah vertikal ditunjuk dengan angka
(1,2,3,4,5,6,7,8)
Misal sebuah bidak bergerak dari posisi (e,2) ke (e,4) seperti yang
terlihat pada gambar 2.2, dapat ditunjukkan dengan aturan berikut:
IF Bidak putih pada Kotak(e,2),
And Kotak(e,3) Kosong,
And Kotak(e,4) Kosong
Then Gerakkan bidak dari (e,2) ke (e,4)

10
KECERDASAN BUATAN Diktat

Gambar 2.2Gerakan bidak catur


c. Tujuan (goal) yang ingin dicapai adalah posisi bidak pada papan
catur menunjukkan kemenangan terhadap lawannya, yang ditandai
dengan posisi Raja yang tidak bisa bergerak lagi.

Contoh di atas menunjukkan representasi masalah dalam Ruang Keadaan


(State Space), yaitu suatu ruang yang berisi semua keadaan yang
mungkin. Kita dapat memulai bermain catur dengan menempatkan diri
pada keadaan awal, kemudian bergerak dari satu keadaan ke keadaan
yang lain sesuai dengan aturan yang ada, dan mengakhiri permainan jika
salah satu telah mencapai tujuan.

Sehingga secara umum, untuk mendeskripsikan masalah dengan baik,


harus:
a. Mendefinisikan suatu ruang keadaan;
b. Menetapkan satu atau lebih keadaan awal;
c. Menetapkan satu atau lebih tujuan;
d. Menetapkan kumpulan aturan.

2. REPRESENTASI RUANG KEADAAN

Terdapat beberapa cara dalam merepresentasikan ruang keadaan, yaitu:


a. GRAPH
Graph terdiri-dari node-node yang menunjukkan keadaan yaitu keadaan
awal dan keadaan baru yang akan dicapai dengan menggunakan
operator. Node-node dalam graph keadaan saling dihubungkan dengan
menggunakan arc (busur) yang diberi panah untuk menunjukkan arah dari
suatu keadaan ke keadaan berikutnya.

11
KECERDASAN BUATAN Diktat

A D
2 E
5

5 F
3 6
4
3
S B G
3
H

4 8

C 4 I

Gambar 2.3 State Graph


State Graph dengan Node S menunjukkan kondisi awal (start) dan Node
G menunjukkan Tujuan (goal). Terdapat 3 lintasan dari S ke G, yaitu
1. S – A – B – D – F – G
2. S – A – B – H – F – G
3. S – C – I – H – F – G

Adapun lintasan buntu :


1. S – A – B – D – F – E
2. S – A – B – H – F – E
3. S – C – I – H – F – E

b. POHON PELACAKAN
Struktur pohon seperti yang tampak pada Gambar 2.4 digunakan untuk
menggambarkan keadaan secara hirarkis. Pohon juga terdiri dari
beberapa node. Node yang terletak pada level-0 disebut dengan nama
“akar”.
Node akar menunjukkan keadaan awal yang terletak pada level ke nol dan
memiliki beberapa percabangan yang terdiri atas beberapa node
successor yang sering disebut Node “anak”.
Node-node yang tidak memiliki anak sering disebut dengan nama node
“daun” yang menunjukkan akhir dari suatu pencarian, dapat berupa tujuan
yang diharapkan (goal) atau jalan buntu (dead end).

12
KECERDASAN BUATAN Diktat

S
LEVEL 0

A C
LEVEL 1

B I
LEVEL 2

D H H

LEVEL 3

F F F
LEVEL 4

E G E G E G

LEVEL 5
BUNTU TUJUAN BUNTU TUJUAN BUNTU TUJUAN

Gambar 2.4 Struktur Pohon

c. POHON AND/ OR
Masalah S dapat ditemukan solusinya dengan 3 kemungkinan, yaitu :
A ORB OR C

A B C

Masalah S hanya dapat ditemukan solusinya dengan


A AND B AND C

A B C

13
KECERDASAN BUATAN Diktat

Pada permasalahan sebelumnya (Gambar 2.4), dengan menggunakan


Pohon AND/ OR, Tujuan (goal) dapat dicapai lebih singkat dari
sebelumnya (hanya 2 level saja)

S
LEVEL 0

A B C
LEVEL 1

D F G I H F G

LEVEL 2

Gambar 2.5 Pohon AND/ OR

3. KASUS

3.1. BEJANA AIR


Terdapat 2 bejana air yang masing-masing berkapasitas 3 liter dan 4 liter.
Semula kedua bejana tersebut kosong. Pada kedua bejana tersebut tidak
terdapat tanda ukuran batas volume. Sedangkan persediaan air tidak
terbatas untuk mengisi kedua bejana tersebut. Ilustrasi kondisi bejana
dapat dilihat pada Gambar 2.6. Bagaimana kita dapat mengisi tepat 2 liter
air pada bejana berkapasitas 3 liter?

Gambar 2.6. Masalah Bejana Air

14
KECERDASAN BUATAN Diktat

Penyelesaian:
A. Identifikasi ruang keadaan (State Space)
Permasalahan ini dapat direpresentasikan dengan 2 bilangan integer,
yaitu x dan y:
 x = air yang diisikan pada bejana 3 liter (bejana A);
 y = air yang diisikan pada bejana 4 liter (bejana B);
Ruang keadaan = (x,y) sedemikian hingga x{0,1,2,3} dan
y{0,1,2,3,4}.

B. Keadaan awal & tujuan.


 Keadaan awal (initial state) = kedua bejana (x,y) dalam keadaan
kosong  (0,0);
 Tujuan (goal) = keadaan dimana pada bejana 3 liter berisi tepat 2
liter air (2,n) untuk sembarang n.

C. Keadaan bejana air.


Keadaan kedua bejana dapat dilihat pada Gambar 2.7.

X|Y 0 1 2 3 4

0 (0,0) (0,1) (0,2) (0,3) (0,4)


Initial 1 (1,0) (1,1) (1,2) (1,3) (1,4)
Goal
State 2 (2,0) (2,1) (2,2) (2,3) (2,4) State
3 (3,0) (3,1) (3,2) (3,3) (3,4)

Gambar 2.7. Keadaan Bejana Air

D. Aturan
Diasumsikan kita dapat mengisi bejana air itu dari keran air, membuang
air dari bejana ke luar, dan menuangkan air dari bejana yang satu ke
bejana yang lain.

15
KECERDASAN BUATAN Diktat

Kita buat beberapa aturan-aturan yang dapat digambarkan sebagai


berikut :

Tabel 2.1. Aturan Bejana Air

Aturan
Jika Maka
Ke-
1 (x,y) ; x<3 (3,y)
isi penuh bejana A 3 liter

2 (x,y) ; y<4 (x,4)


isi penuh bejana B 4 liter

3 (x,y) ; x>0 (0,y)


Kosongkan bejana A 3 liter.

4 (x,y) ; y>0 (x,0)


Kosongkan bejana B 4 liter.

5 (x,y) ; (x+y,0)
y>0, x+y≤3 Tuangkan seluruh air dari bejana B 4 liter ke
bejana A 3 liter.

6 (x,y) ; (0,x+y)
x>0, x+y≤4 Tuangkan seluruh air dari bejana A 3 liter ke
bejana B 4 liter.

7 (x,y) ; (3,y-(3-x))
y>0, x+y≥3 Tuangkan air dari bejana B 4 liter ke bejana A 3
liter sampai bejana A 3 liter penuh

8 (x,y) ; (x-(4-y),4)
x>0, x+y≥4 Tuangkan air dari bejana A 3 liter ke bejana B 4
liter sampai bejana B 4 liter penuh

E. Representasi ruang keadaan dengan pohon pelacakan.


Pencarian suatu solusi dapat dilukiskan dengan menggunakan pohon.
Tiap-tiap node menunjukkan satu keadaan. Jalur dari parent ke child,
menunjukkan 1 operasi. Tiap node memiliki node child yang menunjukkan
keadaan yang dapat dicapai oleh parent.

16
KECERDASAN BUATAN Diktat

(0,0)
1 2

(3,0) (0,4)

2 3 6 1 4 7

(3,4) (0,0) (0,3) (3,4) (0,0) (3,1)

1 2 4 5 3 6 7 8

(3,3) (0,4) (0,0) (3,0)


(0,1) (0,4) (3,1) (0,4)

2 3 4 7 8
1 2 4 5 4 7

(3,4) (0,3) (3,0) (3,3) (2,4)


(3,1) (0,4) (0,0) (1,0) (3,0) (3,1)

1–6–1–8 1 2 3 6

(3,0) (1,4) (0,0) (0,1)

1 3 4 7 8

(3,4) (0,4) (1,0) (3,2) (1,4)

2 3 4 7 8

(3,4) (0,2) (3,0) (3,2) (1,4)

1 2 5 4

(3,2) (0,4) (2,0) (0,0)

2–7–3–5–2–7–3–5
Gambar 2.8. Representasi Keadaan dengan Pohon Pelacakan

Solusi 1 :
Isi Bejana A (x) Isi Bejana B (y) Aturan
0 0 1
3 0 6

0 3 1
3 3 8
2 4 solusi

17
KECERDASAN BUATAN Diktat

Solusi 2 :
Isi Bejana A (x) Isi Bejana B (y) Aturan

0 0 2
0 4 7

3 1 3
0 1 5
1 0 2
1 4 7
3 2 3
0 2 5
2 0 solusi

3.2. 8- PUZZLE
Terdapat sebuah permainan teka teki yaitu 8-puzzle problem, dimana
sebuah kotak besar yang terdiri dari 8 kotak bernomor dan 1 kotak tanpa
nomor didalamnya yang tersusun secara acak seperti yang terlihat pada
Gambar 2.9. Bagaimana 8 kotak yang tersusun secara acak tersebut
dapat tersusun secara urut.

1 2 3 1 2 3
7 8 4 8 4
6 5 7 6 5
Initial state Goal state
Gambar 2.9 8-Puzzle Problem
Penyelesaian:
A. Identifikasi ruang keadaan (State Space)
Terdapat 9 kotak yang terdiri dari 8 kotak bernomor dan 1 kotak
kosong
State space = lokasi 8 kotak bernomor dan lokasi 1 kotak kosong

18
KECERDASAN BUATAN Diktat

B. Keadaan awal & tujuan.


Keadaan awal (initial state) Tujuan (goal)

1 2 3 1 2 3
7 8 4 8 4
6 5 7 6 5
Initial state Goal state
C. Aturan.
kotak kosong bergerak ke kiri, kanan, atas dan bawah

bawah

1 2 3
kanan 7 8 4 kiri

6 5
atas

Gambar 2.10 Aturan 8-Puzzle Problem


D. Representasi ruang keadaan dengan pohon pelacakan.

1 2 3
7 8 4
6 5

kiri atas kanan

1 2 3 1 2 3 1 2 3

7 8 4 7 4 7 8 4
6 5 6 8 5 6 5

... dst
Gambar 2.11 Representasi Pengetahuan dengan Pohon Pelacakan
Solusi ?

19
KECERDASAN BUATAN Diktat

3.3. PETANI, KAMBING, SERIGALA DAN SAYUR-SAYURAN.


Seorang petani akan menyeberangkan seekor kambing, seekor serigala,
dan sayur-sayuran dengan sebuah perahu yang melalui sungai. Perahu
hanya bisa memuat petani dan satu penumpang yang lain (kambing,
serigala atau sayur-sayuran). Jika ditinggalkan oleh petani tersebut, maka
sayur-sayuran akan dimakan oleh kambing, dan kambing akan dimakan
oleh serigala.

Gambar 2.12. Petani, Kambing, Serigala Dan Sayur-Sayuran

Penyelesaian:
A. Identifikasi ruang keadaan.
Permasalahan ini dapat dilambangkan dengan (JumlahKambing,
JumlahSerigala, JumlahSayuran, JumlahPerahu).
Contoh: Daerah asal (0,1,1,1) berarti pada daerah asal tidak ada kambing,
ada serigala, ada sayuran, dan ada perahu.

B. Keadaan awal & tujuan.


 Keadaan awal, pada kedua daerah:
o Daerah asal: (1,1,1,1)
o Daerah seberang: (0,0,0,0)

 Tujuan, pada kedua daerah:


o Daerah asal: (0,0,0,0)
o Daerah seberang: (1,1,1,1)

20
KECERDASAN BUATAN Diktat

C. Aturan
Tabel 2.2. Aturan Petani, Kambing, Serigala dan Sayuran

Aturan Ke- Aturan


1 Kambing menyeberang
2 Sayuran menyeberang
3. Serigala menyeberang
4. Kambing kembali
5. Sayuran kembali
6. Serigala kembali
7. Perahu kembali

D. Representasi ruang keadaan


Salah satu solusi yang bisa ditemukan :
Daerah Aturan yang
Daerah Asal
Seberang dipakai
(1,1,1,1) (0,0,0,0) 1
(0,1,1,0) (1,0,0,1) 7
(0,1,1,1) (1,0,0,0) 3
(0,0,1,0) (1,1,0,1) 4
(1,0,1,1) (0,1,0,0) 2
(1,0,0,0) (0,1,1,1) 7
(1,0,0,1) (0,1,1,0) 1
(0,0,0,0) (1,1,1,1) solusi

4. PENCARIAN
Hal penting dalam menentukan keberhasilan sistem berdasar kecerdasan
adalah kesuksesan dalam pencarian dan pencocokan. Definisi dari
pencarian (searching) adalah melakukan pemeriksaan sistematis dari
status-status untuk menemukan suatu jalur dari status awal ke status
tujuan. Ruang pencarian(Search space) terdiri dari himpunan status yang
mungkin, dan operator yang mendefinisikan sambungannya. Solusi
adalah jalur dari status awal ke status yang memenuhi uji tujuan.

21
KECERDASAN BUATAN Diktat

Terdapat empat kriteria dalam strategi pencarian, yaitu:


a. Kelengkapan (Completeness): Apakah strategi tersebut menjamin
penemuan solusi jika solusinya memang ada?
b. Kompleksitas Waktu (Time complexity): Berapa lama waktu yang
diperlukan?
c. Kompleksitas Ruang (Space complexity): Berapa banyak memori
yang diperlukan?
d. Optimalitas (Optimality): Apakah strategi tersebut menemukan solusi
yang paling baik jika terdapat beberapa solusi berbeda pada
permasalahan yang ada?

Kompleksitas waktu dan ruang diukur dalam hal:

b = faktor percabangan maksimum search tree


d = kedalaman solusi yang paling murah
m = panjang maksimum setiap path (mungkin )

Klasifikasi strategi pencarian terdiri dari 2 jenis, yaitu:


a. Uninformed (blind) search
Strategi pencarian uninformed merupakan pencarian buta, dimana
strategi ini hanya menggunakan informasi yang tersedia dalam definisi
masalah.
Terdapat 5 teknik yang termasuk strategi uninformed search, yaitu:
1. Breadth First Search
2. Depth First Search
3. Uniform Cost Search
4. Depth Limited Search
5. Iterative Deepening Search

b. Informed (heuristik) search


Strategi pencarian informed merupakan pencarian terbimbing, dimana
strategi ini melakukan proses pencarian ruang keadaan (state space)
suatu problem secara selektif, yang memandu proses pencarian yang
dilakukan di sepanjang jalur yang memiliki kemungkinan sukses paling
besar, dan mengesampingkan usaha yang sia-sia dan memboroskan
waktu. Untuk dapat menerapkan heuristik tersebut dengan baik dalam
suatu domain tertentu, diperlukan suatu 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.

22
KECERDASAN BUATAN Diktat

Terdapat 5 teknik yang termasuk strategi informed search, yaitu:


1. Generate and Test
2. Hill Climbing
3. Greedy
4. Best First Search
5. A*

5. STRATEGI PENCARIAN UNINFORMED

5.1. BREADTH FIRST SEARCH


 Pencarian melebar terlebih dahulu
 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 1 dari kiri ke
kanan, kemudian berpindah ke level berikutnya dari kiri ke kanan
hingga solusi ditemukan.
 Cocok untuk pohon yang tidak seimbang, tetapi boros memori
jika semua node tujuan ada pada level yang dalam dan di
sebelah kiri.

Urutan ekspansi dari Node A – D adalah A – B – C – D


Gambar 2.13 Strategi Breadth First Search

Algoritma BFS :
Langkah 1. Bentuk antrian Q dan masukkan node akar (misal: Root).
Langkah 2. Sampai Q kosong atau node tujuan ditemukan
do:
Langkah 2.1 Apakah Node pertama dalam Q adalah tujuan?
Langkah 2.2 IF Iya, Selesai dan Return Node ini
Langkah 2.3 IF Tidak
Langkah 2.3.1 Hapus Node pertama dalam Q.
Langkah 2.3.2 Bangkitkan Node-Node baru (successor).
Langkah 2.3.3 Tambahkan Node-Node baru itu ke akhir Q.
Langkah 3. IF tujuan dicapai, SUKSES; else GAGAL.

23
KECERDASAN BUATAN Diktat

 Keuntungan :
a. tidak akan menemui jalan buntu, menjamin ditemukannya
solusi (jika solusinya memang ada) dan solusi yang
ditemukan pasti yang paling baik
b. jika ada 1 solusi, maka breadth – first search akan
menemukannya, jika ada lebih dari 1 solusi, maka solusi
minimum akan ditemukan.
c. Kesimpulan : complete dan optimal
 Kelemahan :
a. membutuhkan memori yang banyak, karena harus
menyimpan semua Node yang pernah dibangkitkan. Hal ini
harus dilakukan agar BFS dapat melakukan penelusuran
Node-Node sampai di level bawah
b. membutuhkan waktu yang cukup lama

5.2. DEPTH – FIRST SEARCH


 Pencarian dilakukan pada suatu Node dalam setiap level dari
yang paling kiri.
 Jika pada level yang paling dalam tidak ditemukan solusi, maka
pencarian dilanjutkan pada Node sebelah kanan dan 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.

24
KECERDASAN BUATAN Diktat

Urutan ekspansi dari A ke M adalah A-B-D-H-I-E-J-K-C-F-L-M


Gambar 2.14 Strategi Depth First Search

Langkah1. Bentuk antrian Q dan masukkan Node awal (misal: Root).


Langkah 2. Sampai Q kosong atau Node tujuan ditemukan
do:
Langkah 2.1 Apakah elemen pertama dalam Q merupakan tujuan?
Langkah 2.2 IF Iya, Selesai dan Return Node ini
Langkah 2.3 IF bukan
Langkah 2.3.1 Hapus elemen pertama dalam Q.
Langkah 2.3.2 Bangkitkan Node - Node baru (successor ).
Langkah 2.3.3 Tambahkan Node baru (urut terbaru) ke depan Q.
Langkah 3. IF tujuan dicapai, SUKSES; else GAGAL.

25
KECERDASAN BUATAN Diktat

 Keuntungan
a. Membutuhkan memori yang relatif kecil, karena hanya
node-node pada lintasan yang aktif saja yang disimpan.
b. Secara kebetulan, metode depth-first search akan
menemukan solusi tanpa harus menguji labih banyak lagi
dalam ruang keadaan. Jadi jika solusi yang dicari berada pada
level yang dalam dan letaknya paling kiri, maka pencarian
dengan DFS akan cepat ditemukan. (waktu cepat)

 Kelemahan.
a. Memungkinkan tidak ditemukannya tujuan yang diharapkan,
karena jika pohon yang dibangkitkan mempunyai level yang
sangat dalam (tak berhingga) (tidak complete) , karena tidak
ada jaminan solusi akan ditemukan.
b. Hanya akan mendapatkan 1 solusi pada setiap pencarian,
karena jika terdapat lebih dari 1 solusi yang sama tetapi
berada pada level yang berbeda, maka DFS tidak menjamin
untuk menemukan solusi yang paling baik (tidak optimal.)

TUGAS

Deskripsikan pemahaman anda tentang strategi berikut dalam bentuk


laporan!
1. Uniform Cost Search (UCS)
2. Depth Limited Search (DLS)
3. Iterative Deepening Search (IDS)

26

Anda mungkin juga menyukai