DEFINISI
Kecerdasan buatan (Artificial Intelligence) :
Bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat
melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia bahkan bisa lebih baik
daripada yang dilakukan manusia.
Menurut John McCarthy, 1956, AI :
Untuk mengetahui dan memodelkan proses – proses berpikir manusia dan mendesain mesin
agar dapat menirukan perilaku manusia.
Cerdas = memiliki pengetahuan + pengalaman, penalaran (bagaimana membuat keputusan &
mengambil tindakan), moral yang baik
Manusia cerdas (pandai) dalam menyelesaikan permasalahan karena manusia mempunyai pengetahuan
& pengalaman. Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang dimiliki
tentu akan lebih mampu menyelesaikan permasalahan. Tapi bekal pengetahuan saja tidak cukup,
manusia juga diberi akal untuk melakukan penalaran,mengambil kesimpulan berdasarkan pengetahuan
& pengalaman yang dimiliki. Tanpa memiliki kemampuan untuk menalar dengan baik, manusia dengan
segudang pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik.
Demikian juga dengan kemampuan menalar yang sangat baik,namun tanpa bekal pengetahuan dan
pengalaman yang memadai,manusia juga tidak akan bisa menyelesaikan masalah dengan baik.
Agar mesin bisa cerdas (bertindak seperti & sebaik manusia) maka harus diberi bekal pengetahuan &
mempunyai kemampuan untuk menalar.
2 bagian utama yg dibutuhkan untuk aplikasi kecerdasan buatan :
a. basis pengetahuan (knowledge base): berisi fakta-fakta, teori, pemikiran & hubungan antara satu
dengan lainnya.
b. motor inferensi (inference engine) : kemampuan menarik kesimpulan berdasarkan pengalaman
Input, masalah,
pertanyaan, dll
Basis
Pengetahuan
Motor
Inferensi
Output,
jawaban,solusi
BEDA KECERDASAN BUATAN & KECERDASAN ALAMI
Kelebihan kecerdasan buatan :
1. Lebih bersifat permanen. Kecerdasan alami bisa berubah karena sifat manusia pelupa.
Kecerdasan buatan tidak berubah selama sistem komputer & program tidak mengubahnya.
2. Lebih mudah diduplikasi & disebarkan. Mentransfer pengetahuan manusia dari 1 orang ke
orang lain membutuhkan proses yang sangat lama & keahlian tidak akan pernah dapat
diduplikasi dengan lengkap.Jadi jika pengetahuan terletak pada suatu sistem komputer,
pengetahuan tersebut dapat disalin dari komputer tersebut & dapat dipindahkan dengan mudah
ke komputer yang lain.
3. Lebih murah. Menyediakan layanan komputer akan lebih mudah & murah dibandingkan
mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang
sangat lama.
4. Bersifat konsisten karena kecerdasan buatan adalah bagian dari teknologi komputer sedangkan
kecerdasan alami senantiasa berubah-ubah
5. Dapat didokumentasi.Keputusan yang dibuat komputer dapat didokumentasi dengan mudah
dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk
direproduksi.
6. Lebih cepat
7. Lebih baik
Kelebihan kecerdasan alami :
1. Kreatif : manusia memiliki kemampuan untuk menambah pengetahuan, sedangkan pada
kecerdasan buatan untuk menambah pengetahuan harus dilakukan melalui sistem yang
dibangun.
2. Memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedangkan pada
kecerdasan buatan harus bekerja dengan input-input simbolik.
3. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat terbatas.
BEDA KECERDASAN BUATAN & PROGRAM KONVENSIONAL
Fokus pemrosesan
Pencarian
Sifat input
Keterangan
Struktur
Sifat output
Kemampuan menalar
Kecerdasan buatan
Konsep simbolik / numerik
(pengetahuan)
Heuristik
Bisa tidak lengkap
Disediakan
Kontrol dipisahkan dari
pengetahuan
Kuantitatif
Ya
Program konvensional
Data & informasi
Algoritma
Harus lengkap
Biasanya tidak disediakan
Kontrol terintegrasi dengan
informasi (data)
Kualitatif
Tidak
Program kecerdasan buatan dapat ditulis dalam semua bahasa komputer, baik dalam bahasa C, Pascal,
Basic, dan bahasa pemrograman lainnya. Tetapi dalam perkembangan selanjutnya, dikembangkan
bahasa pemrograman yang khusus untuk aplikasi kecerdasan buatan yaitu LISP dan PROLOG.
SEJARAH KECERDASAN BUATAN
Tahun 1950 – an Alan Turing, seorang pionir AI dan ahli matematika Inggris melakukan percobaan
Turing (Turing Test) yaitu sebuah komputer melalui terminalnya ditempatkan pada jarak jauh. Di ujung
yang satu ada terminal dengan software AI dan diujung lain ada sebuah terminal dengan seorang
operator. Operator itu tidak mengetahui kalau di ujung terminal lain dipasang software AI. Mereka
berkomunikasi dimana terminal di ujung memberikan respon terhadap serangkaian pertanyaan yang
diajukan oleh operator. Dan sang operator itu mengira bahwa ia sedang berkomunikasi dengan
operator lainnya yang berada pada terminal lain.
Turing beranggapan bahwa jika mesin dapat membuat seseorang percaya bahwa dirinya mampu
berkomunikasi dengan orang lain, maka dapat dikatakan bahwa mesin tersebut cerdas (seperti layaknya
manusia).
KECERDASAN BUATAN PADA APLIKASI KOMERSIAL
Lingkup utama kecerdasan buatan :
1. Sistem pakar (expert system) : komputer sebagai sarana untuk menyimpan pengetahuan para
pakar sehingga komputer memiliki keahlian menyelesaikan permasalahan dengan meniru
keahlian yang dimiliki pakar.
2. Pengolahan bahasa alami (natural language processing) : user dapat berkomunikasi dengan
komputer menggunakan bahasa sehari-hari, misal bahasa inggris, bahasa indonesia, bahasa
jawa, dll
3. Pengenalan ucapan (speech recognition) : manusia dapat berkomunikasi dengan komputer
menggunakan suara.
4. Robotika & sistem sensor
5. Computer vision : menginterpretasikan gambar atau objek-objek tampak melalui komputer
6. Intelligent computer-aided instruction : komputer dapat digunakan sebagai tutor yang dapat
melatih & mengajar
7. Game playing
SOFT Computing
Soft computing merupakan inovasi baru dalam membangun sistem cerdas yaitu sistem yang memiliki
keahlian seperti manusia pada domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih
baik jika terjadi perubahan lingkungan. Soft computing mengeksploitasi adanya toleransi terhadap
ketidaktepatan, ketidakpastian, dan kebenaran parsial untuk dapat diselesaikan dan dikendalikan
dengan mudah agar sesuai dengan realita (Prof. Lotfi A Zadeh, 1992).
Metodologi-metodologi yang digunakan dalam Soft computing adalah :
1. Sistem Fuzzy (mengakomodasi ketidaktepatan) Logika Fuzzy (fuzzy logic)
2. Jaringan Syaraf (menggunakan pembelajaran) Jaringan Syaraf Tiruan (neurall network)
3. Probabilistic Reasoning (mengakomodasi ketidakpastian)
4. Evolutionary Computing (optimasi) Algoritma Genetika
II. MASALAH DAN METODE PEMECAHAN MASALAH
Sistem yang menggunakan kecerdasan buatan akan memberikan output berupa solusi dari suatu
masalah berdasarkan kumpulan pengetahuan yang ada.
Input, masalah,
pertanyaan, dll
Basis
Pengetahuan
Motor
Inferensi
Output,
jawaban,solusi
Gambar sistem yang menggunakan kecerdasan buatan
Pada gambar, input yg diberikan pada sistem yg menggunakan kecerdasan buatan adalah berupa
masalah. Sistem harus dilengkapi dengan sekumpulan pengetahuan yang ada pada basis pengetahuan.
Sistem harus memiliki motor inferensi agar mampu mengambil kesimpulan berdasarkan fakta atau
pengetahuan. Output yang diberikan berupa solusi masalah sebagai hasil dari inferensi.
Secara umum, untuk membangun suatu sistem yang mampu menyelesaikan masalah, perlu
dipertimbangkan 4 hal :
1. Mendefinisikan masalah dengan tepat.
Pendefinisian ini 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
MENDEFINISIKAN MASALAH SEBAGAI SUATU RUANG KEADAAN
Misalkan permasalahan yang dihadapi adalah permainan catur, maka harus ditentukan :
1. posisi awal pada papan catur
posisi awal setiap permainan catur selalu sama, yaitu semua bidak diletakkan di atas papan
catur dalam 2 sisi, yaitu kubu putih dan kubu hitam.
2. aturan – aturan untuk melakukan gerakan
aturan – aturan ini sangat berguna untuk menentukan gerakan suatu bidak, yaitu melangkah dari
satu keadaan ke keadaan lain. Misalkan untuk mempermudah menunjukkan posisi bidak, setiap
kotak ditunjukkan dalam huruf (a,b,c,d,e,f,g,h) pada arah horisontal dan angka (1,2,3,4,5,6,7,8)
pada arah vertikal. Suatu aturan untuk menggerakkan bidak dari posisi (e,2) ke (e,4) dapat
ditunjukkan dengan aturan :
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)
3. tujuan (goal)
tujuan yang ingin dicapai adalah posisi pada papan catur yang menunjukkan kemenangan
seseorang terhadap lawannya. Kemenangan ini ditandai dengan posisi raja yang sudah tidak
dapat bergerak lagi.
Contoh tersebut 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.
Jadi untuk
mendeskripsikan masalah dengan baik harus :
1. Mendefinisikan suatu ruang keadaan (state space)
2. Menetapkan satu atau lebih keadaan awal (initial state)
3. Menetapkan satu atau lebih tujuan (goal state)
4. Menetapkan kumpulan aturan
Ada beberapa cara untuk merepresentasikan Ruang Keadaan, antara lain :
GRAPH KEADAAN
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.
A
4
6
M
5
D
3
C
8
3
I
2
J
3
B
E
5
H
5
1
7
2
F
3
G
T
Graph keadaan dengan node M menunjukkan keadaan awal, node T adalah tujuan. Ada 4 lintasan dari
M ke T :
M-A-B-C-E-T
M-A-B-C-E-H-T
M-D-C-E-T
M-D-C-E-H-T
Lintasan buntu atau lintasan yang tidak sampai ke tujuan :
M-A-B-C-E-F-G
M-A-B-C-E-I-J
M-D-C-E-F-G
M-D-C-E-I-J
M-D-I-J
POHON PELACAKAN / PENCARIAN
Struktur pohon digunakan untuk menggambarkan keadaan secara hirarkis. Node yg terletak pada level-
o disebut ’akar’.
Node akar : menunjukkan keadaan awal & memiliki beberapa percabangan yang terdiri atas beberapa
node yg disebut ’anak’ .
Node-node yg tidak memiliki anak disebut ’daun’ menunjukkan akhir dari suatu pencarian, dapat
berupa tujuan yang diharapkan (goal) atau jalan buntu (dead end).
Gambar berikut menunjukkan pohon pencarian untuk graph keadaan dengan 6 level.
M
A
D
Level-0
Level-1
B
I
C
Level-2
C
J
Buntu
E
Level-3
E
F
I
H
T
Tujuan
Level-4
F
I
H
T
Tujuan
G
Buntu
J
Buntu
T
Tujuan
Level-5
G
J
T
Level-6
Buntu Buntu TujuanPOHON AND/OR
POHON AND/OR
Masalah M dicari solusinya dengan 4 kemungkinan yaitu A OR B OR C OR D.
M
A
B
C
D
Masalah M hanya dapat diselesaikan dengan A AND B AND C AND D
M
A
B
C
D
Contoh : Dengan menggunakan pohon AND/OR tujuan yang dicapai pada pohon di Gambar
sebelumnya bisa dipersingkat hanya sampai level-2 saja.
M
A
B
C
E
D
C
E
H
T
T
H
T
T
Contoh 1 : Masalah EMBER
Ada 2 ember masing-masing berkapasitas 4 galon (ember A) dan 3 galon (ember B). Ada pompa air yg
akan digunakan untuk mengisi air pada ember tersebut. Bagaimana dapat mengisi tepat 2 galon air ke
dalam ember berkapasitas 4 galon?
Penyelesaian :
1. Identifikasi ruang keadaan (state space)
Permasalahan ini dapat digambarkan sebagai himpunan pasangan bilangan bulat :
x = jumlah air yg diisikan ke ember 4 galon (ember A)
y = jumlah air yg diisikan ke ember 3 galon (ember B)
Ruang keadaan = (x,y) sedemikian hingga x ∈ {0,1,2,3,4} dan y ∈{0,1,2,3}
2. Keadaan awal & tujuan
Keadaan awal : kedua ember kosong = (0,0)
Tujuan : ember 4 galon berisi 2 galon air = (2,n) dengan sembarang n
3. Keadaan ember
Keadaan ember bisa digambarkan sebagai berikut :
Keadaan awal
Tujuan
(0,0)
(0,1)
(0,2)
(0,3)
(1,0)
(1,1)
(1,2)
(1,3)
(2,0)
(2,1)
(2,2)
(2,3)
(3,0)
(3,1)
(3,2)
(3,3)
(4,0)
(4,1)
(4,2)
(4,3)