Definisi Kecerdasan Buatan : “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” (H. A. Simon
[1987] ) “Kecerdasan Buatan
(AI) merupakan sebuah studi tentang bagaimana membuat komputer melakukan
hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia.”
(Rich and Knight [1991]) “Kecerdasan
Buatan (AI) merupakan cabang dari ilmu komputer yang dalam
merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol
daripada bilangan, dan memproses informasi berdasarkan metode heuristic
atau dengan berdasarkan sejumlah aturan” (Encyclopedia Britannica).
1. 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
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
Gambar 1 Task Domain of Artificial Intelligence
BEDA KECERDASAN BUATAN & PROGRAM KONVENSIONAL
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.
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)
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.
POHON PELACAKAN / PENCARIAN
Struktur
pohon digunakan untuk menggambarkan keadaan secara hirarkis. Node yg
terletak pada levelo 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.
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 :
4.
Aturan-aturan Diasumsikan kita dapat mengisi ember air itu dari pompa
air, membuang air dari ember ke luar, menuangkan air dari ember yang
satu ke ember yang lain. Kita buat beberapa aturan-aturan yang dapat
digambarkan sebagai berikut :
5.
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 yg menunjukkan keadaan yg dapat dicapai oleh
parent.
Contoh 2 :
Masalah
PETANI,KAMBING,SERIGALA,SAYURAN,PERAHU Seorang petani akan
menyeberangkan seekor kambing,seekor serigala,sayuran dengan sebuah
perahu yg melalui sungai. Perahu hanya bisa memuat petani & satu
penumpang yg lain (kambing, serigala, atau sayuran). Jika ditinggalkan
petani tersebut, maka sayuran dimakan kambing dan kambing akan dimakan
serigala. Penyelesaian :
1.Identifikasi
ruang keadaan Permasalahan ini dapat dilambangkan dengan (jumlah
kambing,jumlah serigala,jumlah sayuran,jumlah perahu).
Contoh : daerah asal (0,1,1,1) = daerah asal tidak ada kambing,ada serigala, ada sayuran,ada perahu
2.Keadaan
awal & tujuan Keadaan awal, pada kedua daerah : daerah asal =
(1,1,1,1) daerah seberang = (0,0,0,0) Keadaan tujuan, pada kedua daerah :
daerah asal = (0,0,0,0) daerah seberang = (1,1,1,1) 3. Aturan-aturan
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
Kecerdasan Buatan dikelompokkan menjadi 4 macam, yaitu :
1.Systems that think like humans.
2.Systems that act like humans.
3.Systems that think rationally.
4.Systems that act rationally.
Detail Kecerdasan Buatan :
1.Sudut Pandang Kecerdasan : Kecerdasan buatan mampu membuat mesin menjadi cerdas(berbuat seperti yang dilakukan manusia)
2.Sudut
Pandang Penelitian : Kecerdasan buatan adalah studi bagaimana membuat
computer dapat melakukan sesuatu sebaik yang dilakukan manusia.
3.Sudut
Pandang Bisnis : Kecerdasan buatan adalah kumpulan peralatan yang
sangat powerful dan metodologis dalam menyelesaikan masalah bisnis.
4.Sudut
Pandang Pemrograman : Kecerdasan buatan meliputi studi tentang
pemrograman simbolik, problem solving, dan pencarian (searching).
Tujuan Kecerdasan Buatan : 1.Membuat komputer lebih cerdas 2.Membuat mesin lebih berguna
Jenis-Jenis Kecerdasan Buatan Dalam perkembangannya kecerdasan buatan dapat dikelompokkan sebagai berikut :
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, dan sebagainya.
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.
8.Soft Computing
METODE PENGUJIAN KECERDASAN SISTEM
TURING TEST – Metode Pengujian Kecerdasan
· Turing Testmerupakan sebuah metode pengujian kecerdasan yang dibuat oleh Alan Turing.
· Proses
uji ini melibatkan seorang penanya (manusia) dan dua obyek yang
ditanyai. Yang satu adalah seorang manusia dan satunya adalah
sebuah mesin yang akan diuji.
· Penanya tidak bisa melihat langsung kepada obyek yg ditanyai
· Penanya diminta untuk membedakan mana jawaban komputer dan
mana jawaban manusia berdasarkan jawaban kedua obyek tersebut.
· Jika penanya tidak dapat membedakan mana jawaban mesin dan mana
jawaban manusia maka Turing berpendapat bahwa mesin yang diuji
tersebut dapat diasumsikan CERDAS.
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 kemung kinan 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.
“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” (H. A. Simon [1987] )
“Kecerdasan Buatan (AI) merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia.” (Rich and Knight [1991])
“Kecerdasan Buatan (AI) merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan” (Encyclopedia Britannica).
b. motor inferensi (inference engine) : kemampuan menarik kesimpulan berdasarkan pengalaman
Tujuan Kecerdasan Buatan :
1.Membuat komputer lebih cerdas
2.Membuat mesin lebih berguna
Jenis-Jenis Kecerdasan Buatan
Dalam perkembangannya kecerdasan buatan dapat dikelompokkan sebagai berikut :
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 kemung kinan 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.