Manusia dalam bidang keilmuan disebut dengan istilah homo sapiens, karena memiliki kemampuan mental, intellegence, yang sangat penting untuk menopang kehidupan sehari-hari. AI kependekan artificiall intellegence,
adalah bidang ilmu yang mencoba untuk mempelajari kemampuan mental ini.
AI adalah bidang ilmu yang sudah ada cukup lama. Lebih dari 2000 tahun,
sudah ada usaha-usaha yang dilakukan oleh para ahli untuk mempelajari
mengapa manusia bisa menerima rangangan kemudian berespon dan sikap lain
yang menunjukkan “kepandaiannya”, namun istilah AI baru diusulkan
sekitar tahun 1956. AI telah mempengaruhi banyak bidang mulai dari
bidang-bidang yang bersifat umum, seperti usaha mempelajari bagaimana
sebenarnya manusia berpikir dan dirumuskan dalam notasi matematika
sampai dengan bidang khusus, seperti bagaimana komputer bisa memainkan
catur untuk melawan juara dunia catur.
Haugeland, 1985
Usaha untuk membuat komputer berpikir, machine with minds.
H. A. Simon [1987] :
“ Kecerdasan buatan (artificial intelligence)
merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan
pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan
manusia adalah- cerdas”
Rich and Knight [1991]:
“Kecerdasan Buatan (AI) merupakan sebuah studi
tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini
dapat dilakukan lebih baik oleh manusia.”
Encyclopedia Britannica:
“Kecerdasan Buatan (AI) merupakan cabang dari ilmu komputer yang dalam representasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada
bilangan, dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan”
Tujuan dari kecerdasan buatan menurut Winston dan Prendergast [1984]:
1. Membuat mesin menjadi lebih pintar (tujuan utama)
2. Memahami apa itu kecerdasan (tujuan ilmiah)
3. Membuat mesin lebih bermanfaat (tujuan entrepreneurial)
AI dapat dipandang dalam berbagai perspektif.
Ø Dari perspektif Kecerdasan (Intelligence)
AI adalah bagaimana membuat mesin yang “cerdas” dan dapat melakukan hal-hal yang sebelumnya dapat dilakukan oleh manusia.
Ø Dari perspektif bisnis, AI adalah sekelompok alat bantu (tools) yang berdaya guna, dan metodologi yang menggunakan tool-tool tersebut
guna menyelesaikan masalah-masalah bisnis.
Ø Dari perspektif pemrograman (Programming), AI termasuk didalamnya adalah studi tentang pemrograman simbolik, pemecahan masalah, proses pencarian (search)
Umumnya program AI lebih fokus pada simbol-simbol daripada pemrosesan numerik (huruf, kata, angka untuk merepresentasikan obyek, proses dan hubungannya).
Ø Pemecahan masalah:
Pencapaian tujuan
Ø Search:
Jarang mengarah langsung ke solusi. Proses search menggunakan beberapa teknik.
Ø Bahasa pemrograman AI :
LISP, dikembangkan awal tahun 1950-an, bahasa pemrograman pertama yang diasosiasikan dengan AI. PROLOG, dikembangkan pada tahun 1970-an. Bahasa pemrograman berorientasi obyek (Object Oriented Programming (Objective C, C++, Smalltalk, Java.)
Dari perspektif penelitian (research)
Ø Riset tentang AI dimulai pada awal tahun 1960-an, percobaan pertama adalah membuat program permainan (game) catur, membuktikan teori, dan general problem solving (untuk tugastugas sederhana)
Ø “Artificial intelligence” adalah nama pada akar dari studi area.
Gambar. 1 Task Domain of Artificial Intelligence
DOMAIN PENELITIAN DALAM KECERDASAN BUATAN
Ø Formal tasks (matematika, games)
Ø Mundane task (perception, robotics, natural language, common sense,
reasoning)
Ø Expert tasks (financial analysis, medical diagnostics, engineering,
scientific analysis, dll)
PERMAINAN (Game)
Ø Kebanyakan permainan dilakukan dengan menggunakan sekumpulan aturan.
Ø Dalam permainan digunakan apa yang disebut dengan pencarian ruang.
Ø Teknik untuk menentukan alternatif dalam menyimak problema ruang merupakan sesuatu yang rumit.
Ø Teknik tersebut disebut dengan HEURISTIC.
Ø Permainan merupakan bidang yang menarik dalam studi heuristic.
NATURAL LANGUAGE
Suatu teknologi yang memberikan kemampuan kepada
komputer untuk memahami bahasa manusia sehingga pengguna komputer dapat
berkomunikasi dengan komputer dengan menggunakan bahasa sehari -hari.
ROBOTIK DAN SISTEM SENSOR
Sistem sensor, seperti sistem vision, sistem tactile, dan sistem pemrosesan sinyal jika dikombinasikan dengan AI, dapat dikategorikan kedalam suatu sistem yang luas yang disebut sistem robotik.
EXPERT SYSTEM
Sistem pakar (Expert System) adalah
program penasehat berbasis computer yang mencoba meniru proses berpikir
dan pengetahuan dari seorang pakar dalam menyelesaikan masalah-masalah
spesifik.
Turing test
Bayangkan setting berikut : ada dua buah ruangan, A
dan B.Salah satu ruang berisi komputer, yang lain berisi manusia. Si
penginterogasi berada di luar dan tidak tahu ruangan mana yang berisi
manusia dan yang mana yang berisi komputer. Dia dapat mengajukan
pertanyaan melalui sebuah teletype dan akan menerima jawaban dari A dan
B. si Penanya ini kemudian harus mengidentifikasi apakah A atau B yang
adalah manusia. Untuk melewati Turing Test komputer harus bisa menipu si
penanya sehingga ia percaya bahwa komputer itu adalah manusia. Untuk
lebih detail tentang turing test dapat dilihat di http ://cogsi.ucsd.edu/~asaygin/tt/ttest.html
Logika dan ilmu tentang pikiran berhubungan erat
dengan studi tentang pikiran dan inferensi yang rasional dan ideal.
Penekanan pada kali ini adalah pada mekanisme inferensi / cara
menyimpulkan dan propertinya. Ini adalah cara sistem sampai pada suatu
kesimpulan. Atau penalaran dibelakang pemilihan aksi sangat penting bagi
pandangan ini. Kebenaran dan kelengkapan hasil mekanisme inferensi
sangat penting disini.
AI adalah studi tentang rasional
agent. Pandanganini berhubungan dengan embuat mesin yang bertindak
secara rasional. Fokusnya adalah bagaimana sistem bertingkah laku dan
berperformansi, dan bukan pada proses pemikirannya.Rational agent adalah
agen yang bertindak secara rasional sebaik mungkin.
Ø Permasalahan yang biasa di hadapi oleh AI
Ketika mempelajari lingkupan tugas tugas yang kita
harapkan dapat kita kerjakan oleh sebuah entitas cerdas, kita perlu
membaginya menjadi tugas tugas umum dan tugas tugas ahli yang dapat
dilakukan oleh entitas ini.
Ø Contoh dari tugas tugas umum antara lain :
Mengenali orang / object Berkomunikasi (melalui bahasa alami /natural language)
Berjalan melewati halangan di jalan Tugas tugas ini dilakukan secara rutin oleh semua orang dan beberapa binatang.
Ø Contoh dari tugas khusus antara lain :
Diagnosis medis. Menyelesaikan masalah matematis. Bermain permainan seperti catur
Tugas tugas ini tidak bisa dilakukan oleh semua orang, dan hanya bisa dilakukan oleh orang orangahli
Yang manakah diantara tugas tugas ini yang
tergolong sulit, dan yang mana yang tergolong mudah ? tentu saja tugas
tugas di golongan pertama mudah dilakukan oleh semua orang, dan hampir
semua orang mampu menguasainya. Tugas golongan kedua membutuhkan
pengembangan kemampuan dan/ atau kecerdasan dan hanya beberapa orang
ahli yang dapat melakukannya dengan baik. Namun, jika kita melihat hasil
yang dapat dilakukan sistem komputer sampai saat ini, kita melihat
keberhasilan di bidang ini termasuk melakukan tugas tugas yang rumit
seperti integrasi symbolic, membuktikan teorema, dan bermain catur
Di lain pihak sangat sulit bagi sistem komputer
untuk melakukan tugas tugas rutin yang biasa dilakukan oleh semua
manusia dan beberapa hewan. Contohnya berjalan tanpa menabrak, menangkap
mangsa, menghindari pemangsa. Manusia dan hewan mampu
menginterpretasikan informasi rumit dari sensor yang dimilikinya. Kita
mampu mengenali objek dan orang dari gambarvisual yang kita terima. Kita
juga mampu melakukan fungsi fungsi sosial yang rumit.
Pendekatan pada Kecerdasan buatan
Strong AI : pendekatan ini ingin
menuju ke pembuatan suatu mesin yang bisa benar benar berpikir dan
memecahkan masalah. Mesin mesin ini harus sadar akan dirinya dan
kemampuannyamintelegensianya secara umum harus tidak bisa dibedakan
dengan intelegensia seorang manusia.Optimisme berlebihan di sekitar
tahun 1950 dan 1960 berkenaan dengan Strong AI telah memberijalan bagi
appresiasi tingkat kesulitan yang sangat tinggi untuk masalah tersebut.
Pendekatan inimempertahankan bahwa mesin yang di program dengan cukup
akan mampu untuk memilikikeadaan mental kognitif (cognitive mental
state).
Weak AI : Pendekatan ini berurusan
dengan pembuatan Kecerdasan buatan di komputer yang tidakbenar benar
bisa berpikir dan memecahkan masalah, namun bisa berprilaku seakan akan
ia memilikikecerdasan. Pendekatan ini menyatakan bahwa sebuah mesin yang
di program dengan cukup akan dapat meniru pemikiran manusia
Applied AI : Pendekatan ini
berusaha menghasilkan suatu sistem cerdas yang secara komersial dapat
digunakan, sebagai contoh sebuah sistem keamanan yang dapat mengenali
wajah orang yang boleh memasuki gedung. Pendekatan ini sudah mengalami
cukup banyak sukses.
Coginitive AI : Pendekatan ini
memandang komputer sebagai alat untuk mengetes teori tentang bagaimana
otak manusia bekerja. Sebagai contoh teori tentang bagaimana cara kita
mengenali wajah, dan benda benda lainnya, atau bagaimana kita memecahkan
masalah yang abstrak.
KONSEP DAN DEFINISI DALAM KECERDASAN BUATAN
PEMROSESAN SIMBOLIK
Ø Komputer semula didisain untuk memproses bilangan/angka-angka (pemrosesan numerik).
Ø Sementara
manusia dalam berpikir dan menyelesaikan masalah lebih bersifat
simbolik, tidak didasarkan kepada sejumlah rumus atau melakukan
komputasi matematis.
Ø Sifat penting dari AI adalah bahwa AI merupakan bagian dari ilmu komputer yang melukan proses secara simbolik dan non-algoritmik dalam penyelesaian masalah.
HEURISTIC
Ø Istilah Heuristic diambil dari bahasa Yunani yang berarti menemukan
Ø Heuristic merupakan suatu strategi untuk melakukan proses pencarian (search)
ruang problema secara selektif, yang memandu proses pencarian yang kita
lakukan disepanjang jalur yang memiliki kemungkinan sukses paling
besar.
PENARIKAN KESIMPULAN (INFERENCING)
Ø AI mecoba membuat mesin memiliki kemampuan berpikir atau mempertimbangkan (reasoning)
Ø Kemampuan berpikir (reasoning) termasuk didalamnya proses penarikan kesimpulan (inferencing) berdasarkan fakta-fakta dan aturan dengan menggunakan metode heuristik atau metode pencarian lainnya.
PENCOCOKAN POLA (PATTERN MATCHING)
Ø AI bekerja dengan metode pencocokan pola (pattern matching) yang berusaha untuk menjelaskan obyek, kejadian (events) atau proses, dalam hubungan logik atau komputasional.
Perbandingan Kecerdasan Buatan dengan Kecerdasan Alamiah
Keuntungan Kecerdasan Buatan dibanding kecerdasan alamiah:
Ø lebih permanen
Ø memberikan kemudahan dalam duplikasi dan penyebaran
Ø relatif lebih murah dari kecerdasan alamiah
Ø Konsisten dan teliti
Ø Dapat didokumentasi
Ø Dapat mengerjakan beberapa task dengan lebih cepat dan lebih baik dibanding manusia
Keuntungan Kecerdasan Alamiah dibanding kecerdasan buatan:
Ø Bersifat lebih kreatif
Ø Dapat
melakukan proses pembelajaran secara langsung, sementara AI harus
mendapatkan masukan berupa simbol dan representasirepresentasi.
Ø Fokus yang luas sebagai referensi untuk pengambilan keputusan sebaliknya AI menggunakan fokus yang sempit.
Komputer dapat digunakan untuk mengumpulkan informasi tentang obyek, kegiatan (events),
proses dan dapat memproses sejumlah besar informasi dengan lebih
efisien dari yang dapat dikerjakan manusia, tetapi disisi lain manusia
–dengan menggunakan insting- dapat melakukan hal yang sulit untuk
diprogram pada komputer, yaitu: manusia dapat mengenali (recognize) hubungan antara hal-hal tersebut, menilai kualitas dan menemukan pola yang menjelaskan hubungan tersebut.
Bagaimana komputer konvensional memproses data
Proses
|
Yang dikerjakan
|
Kalkulasi
|
mengerjakan operasi-operasi matematis: tambah, kurang,
bagi, kali, atau mencari akar. Menyelesaikan rumus/persamaan
|
Logika penyimpanan
|
mengerjakan operasi logika: “and”, “or”, atau “invert” menyimpan data dan gambar pada file
|
retrieve
|
mengakses data yang disimpan pada file
|
translate
|
mengkonversi data dari satu bentuk ke bentuk yang lain
|
Sort
|
memeriksa data dan menampilkan dalam urutan yang
diinginkan
|
Edit
|
melakukan perubahan, penambahan, penghapusan pada data
|
monitor
|
mengamati event external dan internal dan melakukan
tindakan jika kondisi tertentu tercapai
|
kontrol
|
Memberikan perintah atau mengendalikan peralatan diluar
|
Perbandingan AI dengan Pemrograman Konvensional
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
Motor Inferensi
Basis Pengetahuan
Input, masalah, Output
pertanyaan,dll
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
Kecerdasan buatan Program konvensional
Fokus pemrosesan Konsep simbolik / numerik (pengetahuan) Data & informasi
Pencarian Heuristik Algoritma
Sifat input Bisa tidak lengkap Harus lengkap
Keterangan Disediakan Biasanya tidak disediakan
Struktur Kontrol dipisahkan dari pengetahuan Kontrol terintegrasi dengan informasi (data)
Sifat output Kuantitatif Kualitatif
Kemampuan menalar Ya 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.
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
METODE PELACAKAN/PENCARIAN
Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.
Teknik pencarian :
A. Pencarian buta (blind search) :
1. Pencarian melebar pertama (Breadth – First Search)
2. Pencarian mendalam pertama (Depth – First Search)
B. Pencarian terbimbing (heuristic search) :
1. Pendakian Bukit (Hill Climbing)
2. Pencarian Terbaik Pertama (Best First Search)
A. Pencarian Buta (blind search)
1. Breadth – First Search
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.
Keuntungan :
S
A
B
C
D
E
F
H
G
- tidak akan menemui jalan buntu
- jika ada 1 solusi, maka breadth – first search akan menemukannya,jika
ada lebih dari 1 solusi, maka solusi minimum akan ditemukan.
Kelemahan :
- membutuhkan memori yang cukup banyak
- membutuhkan waktu yang cukup lama
2. Depth – First Search
Proses pencarian dilakukan pada semua anaknya sebelum dilakukan
pencarian ke node-node yang selevel. Pencarian dimulai dari node akar ke
level yang lebih tinggi. Proses diulangi terus hingga ditemukan solusi.
Keuntungan :
S
A
B
C
D
E
F
H
G
- membutuhkan memori relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan
- Secara kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan
Kelemahan :
- Memungkinkan tidak ditemukannya tujuan yang diharapkan
- Hanya mendapat 1 solusi pada setiap pencarian
B. Heuristic Search
Pencarian buta tidak selalu dapat diterapkan dengan baik, hal ini
disebabkan waktu aksesnya yang cukup lama & besarnya memori yang
diperlukan. Kelemahan ini dapat diatasi jika ada informasi tambahan dari
domain yang bersangkutan.
Misal kasus 8-puzzle. Ada 4 operator yang dapat digunakan untuk menggerakkan dari satu keadaan ke keadaan yang baru
Tujuan
Keadaan awal
1. Ubin kosong digeser ke kiri
2. Ubin kosong digeser ke kanan
3. Ubin kosong digeser ke bawah
4. Ubin kosong digeser ke atas
Langkah awal
Pada pencarian heuristik perlu diberikan informasi khusus, yaitu :
♦ Untuk jumlah ubin yang menempati posisi yang benar
Jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih baik)
♦ Untuk jumlah ubin yang menempati posisi yang salah
Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)
Tujuan
atas
kanan
kiri
♦ Menghitung total gerakan yang diperlukan untuk mencapai tujuan
Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)
atas
kanan
kiri
Tujuan
1. Hill Climbing
Contoh : Traveling Salesman Problem (TSP)
Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota
sudah diketahui. Kita ingin mengetahui rute terpendek dimana setiap kota
hanya boleh dikunjungi tepat 1 kali. Misal ada 4 kota dengan jarak
antara tiap-tiap kota seperti berikut ini :
Solusi – solusi yang mungkin dengan menyusun kota-kota dalam urutan abjad, misal :
A – B – C – D : dengan panjang lintasan (=19)
A – B – D – C : (=18)
A – C – B – D : (=12)
A – C – D – B : (=13)
dst
a. Metode simple hill climbing
Ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator
digunakan untuk menukar posisi kota-kota yang bersebelahan. Fungsi
heuristik yang digunakan adalah panjang lintasan yang terjadi.
Operator yang akan digunakan adalah menukar urutan posisi 2 kota dalam 1
lintasan. Bila ada n kota, dan ingin mencari kombinasi lintasan dengan
menukar posisi urutan 2 kota, maka akan didapat sebanyak :
Keenam kompbinasi ini akan dipakai semuanya sebagai operator, yaitu :
Tukar 1,2 = menukar urutan posisi kota ke – 1 dengan kota ke – 2
Tukar 2,3 = menukar urutan posisi kota ke – 2 dengan kota ke – 3
Tukar 3,4 = menukar urutan posisi kota ke – 3 dengan kota ke – 4
Tukar 4,1 = menukar urutan posisi kota ke – 4 dengan kota ke – 1
Tukar 2,4 = menukar urutan posisi kota ke – 2 dengan kota ke – 4
Tukar 1,3 = menukar urutan posisi kota ke – 1 dengan kota ke – 3
III. REPRESENTASI PENGETAHUAN
Sebelumnya kita telah dapat merepresentasikan suatu masalah dalam ruang
keadaan. Dalam menyelesaikan masalah tersebut, dibutuhkan pengetahuan
yang cukup dan sistem juga harus memiliki kemampuan untuk menalar. Basis
pengetahuan dan kemampuan untuk melakukan penalaran merupakan bagian
terpenting dari sistem yang menggunakan kecerdasan buatan.
3.1 LOGIKA
Logika adalah bentuk representasi pengetahuan yang paling tua. Proses
logika adalah proses membentuk kesimpulan atau menarik suatu inferensi
berdasarkan fakta yang telah ada. Input dari proses logika berupa premis
atau fakta-fakta yang diakui kebenarannya sehingga dengan melakukan
penalaran pada proses logika dapat dibentuk suatu inferensi atau
kesimpulan yang benar juga.
Ada 2 penalaran yang dapat dilakukan untuk mendapat konklusi :
1. Penalaran deduktif : dimulai dari prinsip umum untuk mendapatkan konklusi yang lebih khusus.
Contoh :
Premis mayor : Jika hujan turun saya tidak akan berangkat kuliah
Premis minor : Hari ini hujan turun
Konklusi : Hari ini saya tidak akan berangkat kuliah
2. Penalaran induktif : dimulai dari fakta-fakta khusus untuk mendapatkan kesimpulan umum.
Contoh :
Premis -1 : Aljabar adalah pelajaran yang sulit
Premis -2 : Geometri adalah pelajaran yang sulit
Premis -3 : Kalkulus adalah pelajaran yang sulit
Konklusi : Matematika adalah pelajaran yang sulit
Munculnya premis baru bisa mengakibatkan gugurnya konklusi yang sudah diperoleh, misal :
Premis -4 : Kinematika adalah pelajaran yang sulit
Premis tersebut menyebabkan konklusi : “Matematika adalah pelajaran yang
sulit”, menjadi salah, karena Kinematika bukan merupakan bagian dari
Matematika, sehingga bila menggunakan penalaran induktif sangat
dimungkinkan adanya ketidakpastian.
3.1.1 Logika Proposisi
Proposisi adalah suatu pernyataan yang dapat bernilai Benar atau Salah.
Simbol-simbol seperti P dan Q menunjukkan proposisi. Dua atau lebih
proposisi dapat digabungkan dengan menggunakan operator logika :
a. Konjungsi : ∧ (and)
b. Disjungsi : ∨ (or)
c. Negasi : ¬ (not)
d. Implikasi : �� (if then)
e. Ekuivalensi : ↔ (if and only if)
3.1.2 Logika Predikat
Representasi Fakta Sederhana
Misal diketahui fakta-fakta sebagai berikut :
Andi adalah seorang laki-laki : A
Ali adalah seorang laki-laki : B
Amir adalah seorang laki-laki : C
Anto adalah seorang laki-laki : D
Agus adalah seorang laki-laki : E
Jika kelima fakta tersebut dinyatakan dengan menggunakan proposisi, maka
akan terjadi pemborosan, dimana beberapa pernyataan dengan predikat
yang sama akan dibuat dalam proposisi yang berbeda.
Logika predikat digunakan untuk merepresentasikan hal-hal yang tidak
dapat direpresentasikan dengan menggunakan logika proposisi. Pada logika
predikat kita dapat merepresentasikan fakta-fakta sebagai suatu
pernyataan yang disebut dengan wff (well – formed formula).
Pada contoh diatas, dapat dituliskan :
laki-laki(x)
dimana x adalah variabel yang disubstitusikan dengan Andi, Ali, Amir, Anto, Agus, dan laki-laki yang lain.
Dalam logika predikat, suatu proposisi atau premis dibagi menjadi 2
bagian, yaitu argumen (objek) dan predikat (keterangan). Argumen adalah
individu atau objek yang membuat keterangan. Predikat adalah keterangan
yang membuat argumen dan predikat.
Contoh :
1. Jika besok tidak hujan, Tommy pergi ke gunung
¬ cuaca(hujan,besok) �� pergi(tommy, gunung)
2. Diana adalah nenek dari ibu Amir
nenek(Diana,ibu(Amir))
3. Mahasiswa berada di dalam kelas
didalam(mahasiswa,kelas)
Dari contoh diatas dapat dijabarkan sebagai berikut :
di dalam = predikat (keterangan)
mahasiswa = argumen (objek)
kelas = argumen (objek)
4. Johan suka Maria
suka(johan,maria)
5. Pintu terbuka
Buka(pintu)
6. Johan suka Maria
Ramon suka Maria
Misal : Johan = x, Maria = y, Ramon = z
Maka : suka(x,y) ∧ suka(z,y) �� tidak suka(x,z)
Dibaca : Jika Johan suka Maria dan Ramon suka Maria, maka Johan tidak suka Ramon
Misal terdapat pernyataan sebagai berikut :
1. Andi adalah seorang mahasiswa
2. Andi masuk jurusan Elektro
3. Setiap mahasiswa elektro pasti mahasiswa teknik
4. Kalkulus adalah matakuliah yang sulit
5. Setiap mahasiswa teknik pasti akan suka kalkulus atau akan membencinya
6. Setiap mahasiswa pasti akan suka terhadap suatu matakuliah
7. Mahasiswa yang tidak pernah hadir pada kuliah matakuliah sulit, maka mereka pastitidak suka terhadap matakuliah tersebut.
8. Andi tidak pernah hadir kuliah matakuliah kalkulus
Kedelapan pernyataan diatas dapat dibawa ke bentuk logika predikat
dengan menggunakan operator-operator : �� , ¬ , ∧ , ∨ , ∀ (untuk
setiap), ∃ (terdapat), sebagai berikut :
1. mahasiswa(Andi)
2. elektro(Andi)
3. ∀x : elektro(x) �� teknik(x)
4. sulit(kalkulus)
5. ∀x : teknik(x) �� suka(x,kalkulus) ∨ benci(x,kalkulus)
6. ∀x : ∃y : suka(x,y)
7. ∀x : ∀y : mahasiswa(x) ∧ sulit(y) ∧ ¬hadir(x,y) �� ¬suka(x,y)
8. ¬hadir(Andi,kalkulus)
Andaikan kita akan menjawab pertanyaan :
“Apakah Andi suka matakuliah kalkulus?”
Maka dari pernyataan ke-7 kita akan membuktikan bahwa Andi tidak suka
dengan matakuliah kalkulus. Dengan menggunakan penalaran backward, bisa
dibuktikan bahwa :
¬ suka(Andi,kalkulus)
Sebagai berikut :
¬ suka(Andi,kalkulus)
mahasiswa(Andi) ∧
(7, substitusi)
sulit(kalkulus) ∧
¬ hadir(Andi,kalkulus)
sulit(kalkulus) ∧
(1)
¬ hadir(Andi,kalkulus)
(4)
¬ hadir(Andi,kalkulus)
(8)
Dari penalaran tersebut dapat dibuktikan bahwa Andi tidak suka dengan matakuliah kalkulus.
3.2 LIST dan TREE
List dan Tree merupakan struktur sederhana yang digunakan dalam representasi hirarki pengetahuan.
LIST
Adalah serangkaian jenis barang-barang tertulis yang berhubungan. Hal
ini bisa merupakan suatu daftar (list) nama orang yang anda kenal,
barang-barang yang akan dibeli dari toko Serba Ada, hal-hal yang akan
dikerjakan minggu ini, atau produk-produk berbagai jenis barang dalam
katalog, dll.
List biasanya digunakan untuk merepresentasikan hirarki pegetahuan
dimana objek dikelompokkan, dikategorikan atau digabungkan sesuai dengan
urutan atau hubungannya. Objek dibagi dalam kelompok atau jenis yang
sama. Kemudian hubungan ditampilkan dengan menghubungkan satu sama lain.
POHON
Struktur pohon adalah struktur grafik hirarki. Struktur ini merupakan
cara yang sederhana untuk menggambarkan list dan hirarki pengetahuan
lainnya.
3.3 JARINGAN SEMANTIK
Jaringan semantik merupakan gambaran pengetahuan grafis yang menunjukkan
hubungan antar berbagai objek. Jaringan semantik terdiri dari
lingkaran-lingkaran yang menunjukkan objek dan informasi tentang
objek-objek tersebut. Objek disini bisa berupa benda atau peristiwa.
Antara 2 objek dihubungkan oleh arc yang menunjukkan hubungan antar
objek. Gambar berikut menunjukkan representasi pengetahuan menggunakan
jaringan semantik.
3.3 FRAME
Frame merupakan kumpulan pengetahuan tentang sutau objek tertentu,
peristiwa, lokasi, situasi, dll. Frame memiliki slot yang menggambarkan
rincian (atribut) dan karakteristik objek. Frame biasanya digunakan
untuk merepresentasikan pengetahuan yang didasarkan pada karakteristik
yang sudah dikenal, yang merupakan pengalaman-pengalaman. Dengan
menggunakan frame, sangat mudah untuk membuat inferensi tentang objek,
peristiwa, atau situasi baru, karena frame menyediakan basis pengetahuan
yang ditarik dari pengalaman
3.4. NASKAH (SCRIPT)
Script adalah skema representasi pengetahuan yang sama dengan frame,
yaitu merepresentasikan pengetahuan berdasarkan karakteristik yang sudah
dikenal sebagai pengalaman-pengalaman. Perbedaannya, frame
menggambarkan objek, sedangkan script menggambarkan urutan peristiwa.
Dalam menggambarkan urutan peristiwa, script menggunakan slot yang
berisi informasi tentang orang, objek, dan tindakan-tindakan yang
terjadi dalam suatu peristiwa.
Elemen script meliputi :
1. Kondisi input, yaitu kondisi yang harus dipenuhi sebelum terjadi atau berlaku suatu peristiwa dalam script
2. Track, yaitu variasi yang mungkin terjadi dalam suatu script
3. Prop, berisi objek-objek pendukung yang digunakan selama peristiwa terjadi
4. Role, yaitu peran yang dimainkan oleh seseorang dalam peristiwa
5. Scene, yaitu adegan yang dimainkan yang menjadi bagian dari suatu peristiwa
6. Hasil, yaitu kondisi yang ada setelah urutan peristiwa dalam script terjadi.
Berikut ini adalah contoh script kejadian yang ada di “Ujian Akhir”
Jalur (track) : ujian tertulis matakuliah Kecerdasan Buatan
Role (peran) : mahasiswa, pengawas
Prop (pendukung) : lembar soal, lembar jawab, presensi, pena, dll
Kondisi input : mahasiswa terdaftar untuk mengikuti ujian
Adegan (scene) -1 : Persiapan pengawas
• Pengawas menyiapkan lembar soal
• Pengawas menyiapkan lembar jawab
• Pengawas menyiapkan lembar presensi
Adegan-2 : Mahasiswa masuk ruangan
• Pengawas mempersilahkan mahasiswa masuk
• Pengawas membagikan lembar soal
• Pengawas membagikan lembar jawab
• Pengawas memimpin doa
Adegan – 3 : Mahasiswa mengerjakan soal ujian
• Mahasiswa menuliskan identitas di lembar jawab
• Mahasiswa menandatangai lembar jawab
• Mahasiswa mengerjakan soal
• Mahasiswa mengecek jawaban
Adegan – 4 : Mahasiswa telah selesai ujian
• Pengawas mempersilahkan mahasiswa keluar ruangan
• Mahasiswa mengumpulkan kembali lembar jawab
• Mahasiswa keluar ruangan
Adegan – 5 : Mahasiswa mengemasi lembar jawab
• Pengawas mengurutkan lembar jawab
• Pengawas mengecek lembar jawab dan presensi
• Pengawas meninggalkan ruangan
Hasil :
• Mahasiswa merasa senang dan lega
• Mahasiswa merasa kecewa
• Mahasiswa pusing
• Mahasiswa memaki – maki
• Mahasiswa sangat bersyukur
3.5 SISTEM PRODUKSI
Sistem produksi secara umum terdiri dari komponen-komponen :
1. ruang keadan, yang berisi keadaan awal, tujuan, kumpulan aturan yang digunakan untuk mencapai tujuan
2. strategi kontrol, berguna untuk mengarahkan bagaimana proses pencarian akan berlangsung dan mengendalikan arah eksplorasi
Tujuan
Aturan
Keadaan awal
Strategi Kontrol
Representasi pengetahuan dengan sistem produksi berupa aplikasi aturan (rule) yang berupa :
1. Antecedent, yaitu bagian yang mengekspresikan situasi atau premis (pernyataan berawalan IF)
2. Konsekuen, yaitu bagian yang menyatakan suatu tindakan tertentu atau
konklusi yang diterapkan jika suatu situasi atau premis bernilai benar
(pernyataan berawalan THEN)
Konsekuensi atau konklusi yang dinyatakan pada bagian THEN baru
dinyatakan benar, jika bagian IF pada sistem tersebut juga benar atau
sesuai dengan aturan tertentu.
Contoh :
IF lalulintas pagi ini padat
THEN saya naik sepeda motor saja
Apabila pengetahuan direpresentasikan dengan aturan, maka ada 2 metode penalaran yang dapat digunakan :
1. Forward Reasoning (penalaran maju)
Pelacakan dimulai dari keadaan awal (informasi atau fakta yang ada) dan
kemudian dicoba untuk mencocokkan dengan tujuan yang diharapkan
2. Backward Reasoning (penalaran mundur)
Penalaran dimulai dari tujuan atau hipotesa, baru dicocokkan dengan keadaan awal atau fakta-fakta yang ada.
Ada beberapa faktor yang mempengaruhi pemilihan backward atau forward dalam memilih metode penalaran :
- banyaknya keadaan awal dan tujuan. Jika jumlah keadaan awal lebih
kecil daripada tujuan, maka digunakan penalaran forward. Sebaliknya jika
jumlah tujuan lebih banyak daripada keadaan awal, maka dipilih
penalaran backward
- rata-rata jumlah node yang dapat diraih langsung dari suatu node.
Lebih baik dipilih yang jumlah node tiap cabangnya lebih sedikit
- apakah program butuh menanyai user untuk melakukan justifikasi
terhadap proses penalaran? Jika ya, maka alangkah baiknya jika dipilih
arah yang lebih memudahkan user
- bentuk kejadian yang akan memicu penyelesaian masalah. Jika kejadian
itu berupa fakta baru, maka lebih baik dipilih penalaran forward. Namun
jika kejadian itu berupa query, maka lebih baik digunakan penalaran
backward.
V. SISTEM PAKAR
Sistem pakar (expert system) adalah sistem yang berusaha mengapdosi
pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan
masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang
baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu
dengan meniru kerja dari para ahli.
Dengan sistem pakar, orang awam pun dapat menyelesaikan masalah yang
cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para
ahli. Bagi para ahli, sistem pakar juga akan membantu aktivitasnya
sebagai asisten yang sangat berpengalaman.
Sistem pakar dikembangkan pertama kali tahun 1960.
Sistem pakar yang terkenal :
Sistem pakar Kegunaan
MYCIN Diagnosa penyakit
DENDRAL Mengidentifikasi struktur molekular campuran kimia yang tak dikenal
XCON & XSEL Membantu mengkonfigurasi sistem komputer besar
SOPHIE Analisis sirkit elektronik
Prospector Digunakan di dalam geologi untuk membantu mencari dan menemukan deposit
FOLIO Membantu memberikan keputusan bagi seorang manajer dalam hal stok broker dan investasi
DELTA Pemeliharaan lokomotif listrik disel
MANFAAT SISTEM PAKAR :
1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli
2. Bisa melakukan proses secara berulang secara otomatis
3. Menyimpan pengetahuan dan keahlian para pakar
4. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka)
5. Mampu beroperasi dalam lingkungan yang berbahaya
6. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian
7. Tidak memerlukan biaya saat tidak digunakan, sedangkan pada pakar manusia memerlukan biaya sehari-hari.
8. Dapat digandakan (diperbanyak) sesuai kebutuhan dengan waktu yang minimal dan sedikit biaya
9. Dapat memecahkan masalah lebih cepat daripada kemampuan manusia dengan catatan menggunakan data yang sama.
10. Menghemat waktu dalam pengambilan keputusan
11. Meningkatkan kualitas dan produktivitas
KELEMAHAN SISTEM PAKAR
1. Biaya yang diperlukan untuk membuat, memelihara, dan mengembangkannya sangat mahal
2. Sulit dikembangkan, hal ini erat kaitannya dengan ketersediaan pakar di bidangnya
3. Sistem pakar tidak 100% benar karena seseorang yang terlibat dalam
pembuatan sistem pakar tidak selalu benar. Oleh karena itu perlu diuji
ulang secara teliti sebelum digunakan
KONSEP DASAR SISTEM PAKAR
Konsep dasar sistem pakar mengandung keahlian, ahli/pakar, pengalihan
keahlian, mengambil keputusan, aturan, kemampuan menjelaskan.
Keahlian
Keahlian bersifat luas dan merupakan penguasaan pengetahuan dalam bidang
khusus yang diperoleh dari pelatihan, membaca atau pengalaman. Contoh
bentuk pengetahuan yang termasuk keahlian :
- Teori, fakta, aturan-aturan pada lingkup permasalahan tertentu
- Strategi global untuk menyelesaikan masalah
Ahli / Pakar
Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan,
mempelajari hal-hal baru seputar topik permasalahan, menyusun kembali
pengetahuan jika dipandang perlu, memecahkan masalah dengan cepat dan
tepat
Pengalihan keahlian
Tujuan dari sistem pakar adalah untuk mentransfer keahlian dari seorang
pakar ke dalam komputer kemudian ke masyarakat. Proses ini meliputi 4
kegiatan, yaitu perolehan pengetahuan (dari para ahli atau sumber-sumber
lainnya), representasi pengetahuan ke komputer, kesimpulan dari
pengetahuan dan pengalihan pengetahuan ke pengguna.
Mengambil keputusan
Hal yang unik dari sistem pakar adalah kemampuan untuk menjelaskan
dimana keahlian tersimpan dalam basis pengetahuan. Kemampuan komputer
untuk mengambil kesimpulan dilakukan oleh komponen yang dikenal dengan
mesin inferensi yaitu meliputi prosedur tentang pemecahan masalah.
Aturan
Sistem pakar yang dibuat merupakan sistem yang berdasarkan pada aturan –
aturan dimana program disimpan dalam bentuk aturan-aturan sebagai
prosedur pemecahan masalah. Aturan tersebut biasanya berbentuk IF –
THEN.
Kemampuan menjelaskan
Keunikan lain dari sistem pakar adalah kemampuan dalam menjelaskan atau
memberi saran/rekomendasi serta juga menjelaskan mengapa beberapa
tindakan/saran tidak direkomendasikan.
refferensi :
http://apvalentine.students.uii.ac.id/kuliah-perdana-semester-iv-kecerdasan-buatan-rtificial-intelligence-disingkat-ai-pengampu-mata-kuliah-ini-adalah-syafiul-muzid-st-teknik-informatika-uii/