Anda di halaman 1dari 18

PRATIKUM 2

ROBOT PACMAN

2.1. Tujuan Praktikum

Mahasiswa mampu mengimplementasikan Agent Robot Pacman sederhana dengan


menggunakan bahasa pemrograman Java Applet. Implementasi agent ini menggunakan
metode Simple Reflex Agents.

2.2. Dasar Teori

2.2.1. Jenis-Jenis Agent Program

Dalam Kecerdasan Buatan, tingkat kesulitan untuk menyelesaikan permasalahan (problem


solving) tergantung dari model agent program yang diimplementasikan. Menurut Russel dan
Norvig, terdapat 5 jenis model agent program.

1. Simple Reflex Agents :


Merupakan agent yang bekerja berdasarkan reflex. Contohnya, sebuah driver
agent(supir taxi otomatis), harus memberikan reflex mengerem ketika terdapat mobil
yang berhenti didepanya.
2. Model Based Reflex Agents:
Merupakan agent yang bekerja berdasarkan model reflex.
3. Goal Based Agents:
Merupakan sebuah agent yang mendasarkan setiap tindakannya untuk mencapai tujuan
yang telah ditentukan. Setiap agent akan mempertimbangkan setiap kemungkinan yang
akan terjadi pada mesa depan berdasarkan tindakan yang akan/telah dilakukanya.
4. Utility Based Agents:
Merupakan sebuah fungsi yang memetakan suatu keadaan kedalam bilangan real, yang
menggambarkan derajak kesenangan/kepuasan. Sedikit berbeda dengan Goal Based
Agent, tipe ini tidak mengutamakan semua tujua, tetapi akan mengutamakan tujuan
mana yang mungkin tercapai berdasarkan kondisi tertentu(tujuan kepuasan,
kenyamanan, keefisienan).
5. Learning Agents:
Merupakan agent yang tetap melakukan pengecekan terhadap keadaan lingkungan,
sehingga dapat memberikan respon yang tepat.

2.3. Mengimplementasikan Agent Pacman dengan Java Applet.

Applet ini terdiri dari tiga buah class, RobotPacMan, RobotAksi, dan MyPoint.
Class

RobotPacMan digunakan untuk merancang posisi dari panel, button “Start” dan “Stop”.
SOURCE CODE :
RUNNING :

A. Keadaan Awal

B. Strat
C. Stop

PRATIKUM 3
MASALAH DAN RUANG KEADAAN

Tugas
Pelajari dan analisa kasus petani, kambing, sayuran, dan serigala. Buatkan mekanisme
pembuatan struktur agent.

Jawaban :

a. Petani, Kambing, Sayur dan Serigala.


b. Seorang Petani akan menyeberangkan seekor kambing, seekor serigala, sayur-sayuran
dengan sebuah boat yang melalui sungai.
c. Boat hanya bisa memuat atau memuat petani dan satu penumpang yang lain (Kambing,
Serigala, atau Sayur-sayuran)
d. Jika ditinggalkan oleh Petani tersebut, maka sayur-sayuran akan dimakan oleh kambing,
dan kambing akan dimakan oleh serigala.

Penyelesaian Umum :

a. Mendefenisikan satu ruang keadaan


b. Menetapkan satu atau lebih keadaan awal
c. Menetapkan satu atau lebih tujuan
d. Menetapkan kumpulan aturan

Penyelesaian :

1. Identifikasi ruang keadaan


a. Permasalahan ini dapat dilambangkan dengan (jumlah kambing, jumlah serigala,
jumlah sayuran, jumlah Boat)
b. Sebagai contoh: Daerah asal (0,1,1,1) berarti pada daerah asal tidak ada kambing, ada
serigala, ada sayuran, dan ada boat.
2. Keadaan awal
a. Daerah asal: (1,1,1,1)
b. Daerah seberang: (0,0,0,0)
c. Tujuan
d. Daerah Asal: (0,0,0,0)
e. Daerah seberang: (1,1,1,1)

Aturan - Aturan:

Aturan Aturan
ke
1. Kambing menyeberang
2. Sayuran Menyeberang
3. Serigala Menyeberang
4. Kambing Kembali
5. Sayuran Kembali
6. Serigala Kembali
7. Boat Kembali

Penyelesaian:

Daerah Asal Daerah Seberang Aturan Yang 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

Metode Pencarian dan Pelacakan :

a. Hal penting dalam menentukan keberhasilan system cerdas adalah kesuksesan dalam
pencarian
b. Pencarian: suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan
kemungkinan ruang keadaan (state space)
c. Ruang keadaan: merupakan suatu ruang yang berisi semua keadaan yang mungkin
d. Untuk mengukur performansi metode pencarian terdapat empat kriteria yang dapat
digunakan:
- Completeness: apakah metode tersebut menjamin penemuan solusi jika solusinya
memang ada?
- Time Complexity: berapa lama waktu yang diperlukan?
- Space Complexity: berapa banyak memori yang diperlukan?
- Optimality: apakah metode tersebut menjamin menemukan solusi yang terbaik
jika terdapat beberapa solusi berbeda?

Pelacakan :

1. Dua teknik pencarian dan pelacakan


- Pencarian buta (blind search)
 Pencarian melebar pertama (Breadth – First Search)
 Pencarian mendalam pertama (Depth - First Search)
- Pencarian terbimbing (Heuristic Search)
 Pendakian Bukit (Hill Climbing)
 Pencarian terbaik pertama (Best First Search)

Pencarian Melebar Pertama (Breadth – First Search):

2. Semua node pada level n akan dikunjungi terlebih dahulu sebelum level n+1
3. Mulai dari akar terus ke level 1 dari kiri ke kanan
4. Kemudian ke level selanjutnya hingga solusi ditemukan.
Pencarian Melebar Pertama ( Breadth- First Searche) :

 Keuntungan:
- Tidak akan menemui jalan buntu
- Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang
ditemukan pasti yang paling baik.
- Jika ada satu solusi maka Breadth – First Search akan menemukannya.
 Kelemahannya:
- Membutuhkan memori yang cukup banyak
- Membutuhkan waktu yang cukup lama

Pencarian mendalam pertama (Depth - First Search)

 Proses pencarian dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-
node yang selevel.
 Keuntungan
- Memori relative kecil
- Secara kebetulan, akan enemukan solusi tanpa harus menguji lebih banyak lagi.

Pencarian Buta ( Blind Searche) :

 Kekurangan
- Memungkinkan tidak ditemukan tujuan yang diharapkan
- Hanya akan mendapatkan 1 solusi pasa setiap pencarian.

Solusi Tugas :

 3 kanibal dan 3 misionaris


 Menyeberangkan semua ke seberang
 Jika terdapat lebih banyak kanibal pada satu sisi, maka misionaris akan dimakan oleh
kanibal.
 Jika:
- M : Misionaris
- K : Kanibal
- M> : K pada satu sisi

Daerah Kiri Daerah Kanan


() (M,M,M,K,K,K)
(K,K) (K,M,M,M)
(K,K,K) (K,K,M,M,M)
(K,K) (K,M,M,M)
(K,K,M,M) (K,M)
(K,M) (K,K,M,M)
(K,M,M,M) (K,K)
(M,M,M,K,K) (K)
(M,M,M,K) (K,K)
(M,M,M,K,K,K) ()

PRATIKUM 4
TEKNIK PENCARIAN BLIND SEARCH
Mengimplementasikan program salah satu algoritma blind search pada kasus tree. Program ini
dibuat dengan menggunakan bahasa pemrograman Java.

SOURCE CODE :
RUNNING :
Implementasi Manual

Anda mungkin juga menyukai