Anda di halaman 1dari 9

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA
BAB : AGEN CERDAS
NAMA : GALIH BHAKTIAR CANDRA
NIM : 155150207111182 ACC
TANGGAL : 20/03/2017
JENIS : TUGAS
ASISTEN : - NOVI NUR PUTRIWIJAYA
- HENY DWI JAYANTI

A. DEFINISI MASALAH
1. Carilah 2 aplikasi dari 5 tipe agen
- Simple reflex agents
- Model-based reflex agents
- Goal-based reflex agents
- Utility-based reflex agents dan
- Learning agents
Berikan review masing-masing aplikasi, kenapa aplikasi tersebut masuk
pada tipe agen tertentu ?

2. Pilih satu aplikasi dari 5 tipe agen pada nomor 1, kemudian tentukan PEAS
dari aplikasi tersebut !

3. Modifikasi kode program pada Tabel 1.1 menjadi model-based reflex


agents dengan model sampah-sampah yang bisa dibersihkan oleh vacuum
cleaner, simpan sebagai database yang diketahui oleh agen, buat task
environment seperti pada latihan dengan detail yang lebih jelas pada tiap-
tiap lokasi (contoh : lokasi 1 memiliki sampah kertas, plastik, debu, rambut,
kulit buah).

B. JAWAB
1. Simple-Reflex Agent :
a. Pintu otomatis :
Pintu akan bereaksi jika ada orang yang masuk zona deteksi dengan jarak
tertentu dan terbaca suhu panas tubuhnya maka pintu akan otomatis
membuka. Bisa disebut simple-reflex agent karena kerjanya simple yaitu
jika terdeteksi manusia maka pintu akan membuka otomatis tidak menekan
tombol apa-apa
b. Sistem pemadam kebakaran otomatis :
Jika ada asap yang terjangkau oleh alat, maka akan mengaktifkan kran
hydrant yang akan menyemprotkan air untuk memadamkan api. Bisa
disebut simple-reflex agent karena, jika terdeteksi adanya asap dan api
reflex langsung keluar air tanpa harus meminta konfirmasi atau menekan
tombol apapun.

Model-Based Agent :
a. Alat pemilih sampah :
Alat akan memilih sampah berdasarkan kriteria bahan sampahnya,
kemudian akan menentukan tong sampah mana yang disediakan untuk
menampung jenis sampah tersebut. Alat ini termasuk Model-Based Agent
karena alat akan menscaan tingkat kebasahan sampah, setelah itu tempat
sampah yang tipe kebasahannya sama dengan sampah otomatis terbuka.
b. Emergency braking collision :
Alat akan mendeteksi jarak kendaraan dan memperingati pengemudi. Jika
kendaraan didepan semakin dekat dan pengemudi tidak merespon, maka
kendaraan akan memperlambat laju kendaraan sehingga tidak menabrak
kendaraan di depannya. Alat ini termasuk Model-Based Agent karena alat
ini memcaba kondisi keadaan yang ada didepannya, apakah ada barang
atau mobil di depannya ? jika ada maka mobil segera mengurangi
kecepatan dan berhenti, jika tidak ada maka mobil akan berjalan dengan
seperti biasa

Goal-Based Agent :
a. Robot koki
Robot dapat memasak makanan secara otomatis. Manusia dapat memilih
menu makanan dan memasukkan bahan apa saja yang dibutuhkan,
kemudian robot akan menerjemahkannya dan mengambil peralatan yang
dibutuhkan. Jika ada bahan atau peralatan yang kurang robot akan
memperingatkan user.misal ada yang memesan nasi goreng, sebelum
ketujuan yaitu nasi goreng maka robot akan di setting untuk memilih
bahan-bahan missal, nasi,telur,bawah merah, bawang putih dll. Setelah
bahan sudah siap, maka robot akan langsung menuju ke tujuan utama,
yaitu membuat nasi goreng.

b. Siri
Aplikasi akan menentukan respon yang tepat sesuai tujuan yang di minta
oleh user.misal kita akan mencari mobil sport, user mengucapkan kata
mobil sport dan agent akan merespon kemudian membuka halaman mobil
sport. Tidak mungkin agent bisa berjalan jika tidak ada memberikan
perintah atau permintaan. Walaupun ada user yang berada didekatnya.

Utility-Based Agent :
a. Rubik solver
Agent ini akan merekam susunan warna di semua sisi. Ia akan menentukan
algoritma yang tepat dan cepat untuk menyusun rubik. Agent memikirkan
apakah setiap sisi sudah berada dalam posisinya masing-masing ? jika
belum sesuai maka agent akan terus berjalan sampai semua sisi berada
dalam posisinya masing-masing.
b. Self parking
Agent akan memindai tempat parkir yang kosong , kemudian menentukan
cara parkir yang tepat untuk memarkirkan kendaraan dengan posisi yang
tepat.mobil parkir dengan mencari tempat yang kosong jika telah
diketemukan tempat yang kosong maka mobil bergegas ke tempat itu dan
siap untuk memarkirkan diri, tapi tidak sembarang parker jika tidak rapi
missal roda ban menginjak garis putih atau tidak sesuai maka mobil akan
segera memperbaiki posisinya agar bisa terparkir dengan rapi.

Learning Agent :
a. Tay AI Microsoft
Agent mempelajari data tweet para user twitter yang digunakan sebagai
acuan untuk membalas tweet dari para user twitter. Agent mempelajari
bagaimana tweet para user dan apa yang harus dibalas agent kepada tweet
tersebut, jadi agent mempelajari seluruh tweet tweet setiap user.
b. Google Maps
Aplikasi ini akan menavigasi user untuk sampai ketempat tujuan dengan
merekam data-data yang telah digunakan dan memilih rute tercepat untuk
menghemat waktu sampai ke tujuan. Missal menemukan jalan pertama
dengan panjang 30 km tapi setelah beberapa bulan kemudian telah
ditemukan rute dengan panjang jalan 25 km. maka dari itu google maps
disebut learning agent karena terus berkembang dengan kondisi jalan yang
sekarang dan jalur itu bisa di lewati kendaraan apa saja.

2. Aplikasi Pintu Otomatis


Performance measure : tepat waktu, akurat
Environment : manusia, pintu
Actuators : mesin penggerak pintu, gear
Sensor : sensor jarak, sensor panas

3. Source code dan pembahasan


1 import java.util.*;
2 import java.io.*;
3
4 public class AgenCerdas2 {
5
6 private String lingkungan[][][];
7
8 AgenCerdas2(int x, int y) {
9 lingkungan = new String[x][y][3];
10 }
11
12 public static List getListSampah() throws
Exception {
13 String thisLine = null;
14 InputStream is = null;
15 List sampah = new ArrayList();
16
17 try {
18 is = new
FileInputStream("C:/Users/bhaktiarc/Documents/NetBean
sProjects/Praktikum_KB/src/Bab_1/test.txt");
19 InputStreamReader isr = new
InputStreamReader(is);
20 BufferedReader br = new
BufferedReader(isr);
21
22 for (int i = 0; (thisLine =
br.readLine()) != null; i++) {
23 sampah.add(thisLine);
24 }
25 } catch (Exception e) {
26 e.printStackTrace();
27 }
28
29 return sampah;
30 }
31
32 public void setKondisi(int x, int y, String
Lokasi, String Status, String Sampah) {
33 lingkungan[x - 1][y - 1][0] = Lokasi;
34 lingkungan[x - 1][y - 1][1] = Status;
35 lingkungan[x - 1][y - 1][2] = Sampah;
36
37 }
38
39 public void Bersihkan() {
40 try {
for (int i = 0; i < lingkungan.length; i+
41 +) {
for (int j = 0; j <
42 lingkungan[i].length; j++) {
if (!lingkungan[i][j]
43 [1].equalsIgnoreCase("bersih")) {
lingkungan[i][j][2] =
44 Vacum(lingkungan[i][j][2]);
}
45 }
46 }
47 } catch (Exception e) {
48 e.getMessage();
49 }
50
51 }
52
53 public void Cek() {
54 try {
55 for (int i = 0; i < lingkungan.length; i+
56 +) {
for (int j = 0; j <
57 lingkungan[i].length; j++) {
if (lingkungan[i][j][2] == null
58 || lingkungan[i][j][2].equals("")) {
lingkungan[i][j][1] =
59 "Bersih";
}
60 }
61 }
62 } catch (Exception e) {
63 e.getMessage();
64 }
65 }
66
67 public void cetak() {
68 for (int i = 0; i < lingkungan.length; i++) {
69 for (int j = 0; j < lingkungan[i].length;
70 j++) {
System.out.println("Lokasi = " +
71 lingkungan[i][j][0]);
System.out.println("Status = " +
72 lingkungan[i][j][1]);
if (!lingkungan[i][j]
73 [1].equalsIgnoreCase("bersih")) {
System.out.println("Sampah sisa =
" + lingkungan[i][j][2]);
74 }
System.out.println("");
75 }
76 }
77 }
78
79 public static String Vacum(String JenisSampah)
80 throws Exception {
81 List ListSampah = getListSampah();
List JSampah = new ArrayList();
82
83 String tes2[] =
84 JenisSampah.toLowerCase().split(", ");
85
for (int i = 0; i < tes2.length; i++) {
86 JSampah.add(tes2[i]);
87 }
88
89 for (int i = 0; i < ListSampah.size(); i++) {
90 for (int j = 0; j < JSampah.size(); j++)
91 {
92 if
(ListSampah.get(i).equals(JSampah.get(j))) {
93 JSampah.remove(j);
}
94 }
95 }
96
97 JenisSampah = "";
98 for (int i = 0; i < JSampah.size(); i++) {
99 JenisSampah += JSampah.get(i) + ", ";
100 }
101
102 return JenisSampah;
103 }
104
105 public static void main(String[] args) {
106 AgenCerdas2 a = new AgenCerdas2(2, 3);
107
108 a.setKondisi(1, 1, "1,1", "Kotor", "kertas,
109 plastik, debu, rambut, kulit buah");
110 a.setKondisi(1, 2, "1,2", "Kotor", "debu,
rambut");
111 a.setKondisi(1, 3, "1,3", "Kotor", "kulit
buah, rambut, plastik");
a.setKondisi(2, 1, "2,1", "Bersih", "");
112 a.setKondisi(2, 2, "2,2", "Kotor", "plastik,
debu, kertas");
113 a.setKondisi(2, 3, "2,3", "Bersih", "");
114
a.Bersihkan();
115 a.Cek();
116 a.cetak();
117 }
118 }
119
120
121
 Method AgenCerdas2
Method ini merupakan constructor.
 Method getListSampah
Method ini mengambil list sampah yang bisa dibersihkan dari database yang
disimpan dalam file test.txt dengan menggunakan fungsi buffered reader.
Kemudian list sampah dikembalikan dalam bentuk object list.
 Method setKondisi
Method ini digunakan untuk menginisialisasi lokasi dan jenis sampah.
 Method Bersihkan
Method ini digunakan untuk memanggil method Vacum dengan fungsi
perulangan for yang di deklarasi untuk membersihkan sampah.
 Method Cek
Method ini digunakan untuk mengecek kondisi dengan fungsi perulangan for
dan mengubah status apabila sampah telah hilang, maka diubah statusnya
menjadi bersih.
 Method Cetak
Method ini digunakan untuk mencetak status serta lokasi sisa sampah.
 Method Vacum
Method ini digunakan untuk proses pembersihan sampah disetiap elemen.
Method ini mempunyai parameter JenisSampah yang diisikan oleh sampah
sampah yang ada pada setiap elemen. Method ini kemudian mengambil list
sampah yang sudah diolah di method GetListSampah untuk dicocokkan dengan
jenis sampah, kemudian pembersihan dilakukan. Method ini mengembalikan
sampah kosong yang dibersihkan maupun yang tidak dapat dibersihkan dengan
tipe data string.
 Method Main
Method ini digunakan untuk menjalankan program.
C. KESIMPULAN
1) Sebuah agen adalah segala sesuatu yang dapat merasakan lingkungannya melalui
peralatan sensor-sensor, bertindak sesuai dengan lingkungannya dan dengan
mengunakan peralatan penggeraknya /actuator (Russel dan Norvig)

2)
- Simpel Reflex Agents agen ini merupakan agen paling sederhana dimana agen
hanya menerapkan teknik kondisi-aksi, contoh: aplikasi pengurut surat.
- Model-Based Reflex Agents agen ini mampu melakukan pelacakan terhadap
lingkungan secara terus menerus sehingga lingkungan dapat dikesan dengan
baik dan melakukan tindakan seperti agen reflex sederhana, contoh: aplikasi
deteksi bus
- Goal-Based Agents agen mengetahui tujuan yang ingin dicapai, sehingga agen
akan bekerja terus menerus hingga tujuan agen tercapai, contoh: aplikasi menu
pada restoran
- Utility-Based Agents agen ini memikirkan kondisi yang baik untuk agen
sehingga agen dapat melakukan tugas jauh lebih baik, contoh: aplikasi taksi
- Learning agents merupakan agen yang mampu belajar dari pengalaman,
sehingga mampu meningkatkan kinerja agen itu sendiri, contoh: aplikasi
diagnose penyakit.

Anda mungkin juga menyukai