diktat sistem cerdas
DESCRIPTION
Sistem CerdasTRANSCRIPT
Daftar Isi BAB 1 ................................................................................................................................... 1
Kecerdasan Buatan .............................................................................................................. 1
A. Pendahuluan ............................................................................................................ 1
1. Sejarah Kecerdasan Buatan ................................................................................. 1
2. Definisi Kecerdasan Buatan ................................................................................ 2
3. Perbandingan AI dengan Program Komputer Konvensional .............................. 3
B. Bidang Aplikasi Kecerdasan Buatan ....................................................................... 4
BAB 2 ................................................................................................................................. 7
Sistem Pakar ........................................................................................................................ 7
A. Pendahuluan ............................................................................................................ 7
B. Manfaat dan Keterbatasan Sistem Pakar................................................................ 7
C. Komponen Sistem Pakar ......................................................................................... 9
D. Perbedaan Sistem Konvensional Dengan Sistem Pakar ........................................ 10
E. Elemen Manusia yang Terkait dalam Penggunaan dan Pengembangan Sistem
Pakar ............................................................................................................................. 10
F. Area Permasalahan Aplikasi Sistem Pakar ........................................................... 11
G. Struktur Sistem Pakar ........................................................................................... 12
H. Basis Pengetahuan (Knowledge Base) .................................................................. 15
I. Mesin Inferensi (Inference Engine) ...................................................................... 16
J. Langkah-Langkah Pembuatan Sistem Pakar ......................................................... 17
BAB 3 ............................................................................................................................... 21
Pencarian ........................................................................................................................... 21
A. Pendahuluan .......................................................................................................... 21
B. Teknik Pencarian ................................................................................................... 21
C. Pencarian Buta (Blind Search) ............................................................................... 21
1. Breadth – First Search ....................................................................................... 21
2. Depth – First Search ......................................................................................... 22
D. Pencarian Terbimbing (Heuristic Search) .............................................................. 23
1. Hill Climbing ...................................................................................................... 26
2. Best First Search ................................................................................................ 28
BAB 4 ................................................................................................................................. 31
2
Representasi Pengetahuan ............................................................................................... 31
A. Pendahuluan .......................................................................................................... 31
B. Logika ................................................................................................................... 31
1. Logika Proposisi ................................................................................................ 32
2. Logika Predikat ................................................................................................. 36
C. List dan Tree ........................................................................................................ 36
1. List ..................................................................................................................... 37
2. Tree ................................................................................................................... 37
BAB 5................................................................................................................................ 39
Logika Fuzzy ..................................................................................................................... 39
A. Pendahuluan .......................................................................................................... 39
B. Konsep Dasar Logika Fuzzy ................................................................................. 40
1. Himpunan Tegas .................................................................................................... 40
2. Himpunan Fuzzy .................................................................................................... 41
1
BAB 1
Kecerdasan Buatan
A. Pendahuluan
Kecerdasan Buatan atau Sistem Cerdas atau Intelegensi Buatan atau
Artificial Inteligent (AI) merupakan cabang terpenting dalam komputer.
Komputer tidah hanya alat untuk menghitung, tetapi diharapkan dapat
diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh
manusia. Manusia mempunyai pengetahuan, pengalaman dan kemampuan
penalaran dengan baik, untuk itu komputer bisa bertindak seperti dan sebaik
manusia, maka komputer juga harus dibekali pengetahuan dan mempunyai
kemampuan untuk menalar.
1. Sejarah Kecerdasan Buatan
Kecerdasan Buatan termasuk bidang ilmu yang relatif muda. Di awal abad
20, seorang penemu Spanyol, Torres Y Quevedo, membuat sebuah mesin yang
dapat men’skak-mat’ raja lawannya dengan sebuah ratu dan raja. Perkembangan
secara sistematis kemudian dimulai segera setelah ditemukannya komputer
digital. Pada tahun 1950-an para ilmuwan dan peneliti mulai memikirkan
bagaimana caranya agar mesin dapat melakukan pekerjaannya seperti yang bisa
dikerjakan oleh manusia. Seorang matematikawan Inggris, Alan Turing pertama
kali mengusulkan adanya tes untuk melihat bisa tidaknya sebuah mesin dikatakan
cerdas. Hasil tes tersebut kemudian dikenal dengan Turing test, dimana mesin
tersebut menyamar seolah-olah sebagai seseorang di dalam suatu permainan yang
mampu memberikan respon terhadap serangkaian pertanyaan yang diajukan.
Turning beranggapan bahwa, jika mesin dapat membuat seseorang percaya bahwa
dirinya mampu berkomunikasi dengan orang lain, maka dapat dikatakan bahwa
mesin tersebut cerdas layaknya manusia.
Istilah Kecerdasan Buatan dimunculkan pertama kali oleh pofesor dari
Massachusetts Institute of Technology (MIT) yang bernama John McCarthy pada
tahun 1956 di Dartmouth Conference yang dihadiri oleh para peneliti AI. Pada
Konferensi tersebut juga didefinisikan tujuan utama dari Kecerdasan Buatan, yaitu
2
: mekanisme berfikir manusia dapat secara tepat dimodelkan dan disimulasikan
pada komputer digital. Beberapa program AI yang antara lain:
a. Logic Theorist diperkenalkan pada Dartmouth Cobference. Program ini
dapat membuktikan teorema-teorema matematika
b. ELIZA , deprogram oleh Joseph Weinzenbaum (1967). Program ini
mampu melakukan terapi terhadap pasien dengan memberikan beberapa
pertanyaan.
c. Sad Sam, deprogram oleh Robert K. Lindsay (1960), program ini dapat
mengetahui kalimat-kalimat sederhana yang ditulis dalam bahasa Inggris
dan mampu memberikan jawaban dari fakta-fakta yang didengar dalam
sebuah percakapan.
2. Definisi Kecerdasan Buatan
Banyak pakar mendifinisikan Kecerdasan Buatan, diantaranya adalah:
a. Kecerdasan Buatan adalah ilmu rekayasa yang membuat suatu mesin
mempunyai intelegensi tertentu khususnya program komputer yang
“cerdas” (John McCarthy, 1956)
b. Kecerdasan Buatan merupakan sebuah studi tentang bagaimana membuat
komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik
oleh manusia. (Rich and Knight, 1991)
c. Kecerdasan buatan (AI) merupakan cabang dari ilmu komputer yang
dalam mempresentasi pengetahuan lebih banyak menggunakan bentuk
symbol-simbol daripada bilangan, dan memproses informasi berdasarkan
metode heuristic (Metode Heuristik adalah teknik yang dirancang untuk
memecahkan masalah yang mengabaikan apakah solusi dapat dibuktikan
benar, tapi yang biasanya menghasilkan solusi yang baik atau
memecahkan masalah yang lebih sederhana yang mengandung atau
memotong dengan pemecahan masalah yang lebih kompleks.) atau dengan
berdasarkan sejumlah aturan. (Encyclopedia Britannica)
d. Kecerdasan adalah kemampuan untuk belajar atau mengerti dari
pengalaman. Memahami pesan yang kontradiktif dan ambigu, menanggapi
dengan cepat dan baik atas situasi yang baru, menggunakan penalaran
3
dalam memecahkan masalah dan menyelesaikannya secara efektif
(Winston dan Pendergast, 1994)
Kebanyakan ahli setuju bahwa Kecerdasan Buatan berhubungan dengan 2
ide dasar. Pertama, menyangkut studi proses berfikir manusia, dan kedua
berhubungan dengan merepresentasikan proses tersebut melalui mesin (komputer,
robot, dll).
Kemampuan untuk problem solving adalah salah satu cara untuk
mengukur kecerdasan dalam berbagai konteks. Terlihat di sini bahwa mesin
cerdas akan diragukan untuk dapat melayani keperluan khusus jika tidak mampu
menangani permasalahan remeh/kecil yang biasa dikerjakan orang secara rutin.
Terdapat beberapa alasan untuk memodelkan performa manusia dalam hal ini:
a. Untuk menguji teori psikologis dari performa manusia
b. Untuk membuat komputer dapat memahami penalaran (reasoning)
manusia
c. Untuk membuat manusia dapat memahami penalaran komputer
d. Untuk mengeksploitasi pengetahuan apa yang dapat diambil dari manusia.
Menurut Winston dan Prendergast (1984), tujuan dari Kecerdasan Buatan
adalah:
a. Membuat mesin menjadi lebih pintar.
b. Memahami apakah kecerdasan (intelligence) itu.
c. Membuat mesin menjadi lebih berguna.
3. Perbandingan AI dengan Program Komputer Konvensional
Program komputer konvensional prosesnya berbasis algoritma, yakni
formula matematis atau prosedur sekuensial yang mengarah kepada suatu solusi.
Algoritma tersebut dikonversi ke program komputer yang memberitahu komputer
secara pasti instruksi apa yang harus dikerjakan. Algoritma yang dipakai
kemudian menggunakan data seperti angka, huruf, atau kata untuk menyelesaikan
masalah.
Perangkat lunak AI berbasis representasi serta manipulasi simbolik. Di sini
simbol tersebut berupa huruf, kata, atau angka yang merepresentasikan obyek,
proses dan hubungan keduanya. Sebuah obyek bisa jadi seorang manusia, benda,
pikiran, konsep, kejadian, atau pernyataan suatu fakta. Menggunakan simbol, kita
4
dapat menciptakan basis pengetahuan yang berisi fakta, konsep, dan hubungan di
antara keduanya. Kemudian beberapa proses dapat digunakan untuk
memanipulasi simbol tersebut untuk menghasilkan nasehat atau rekomendasi
untuk penyelesaian suatu masalah. Perbedaan dasar antara AI dengan program
komputer konvensional diberikan dalam Tabel 1-1.
Tabel 1.1 Perbandingan antara AI dan Program Konvensional
Aspek AI Program Konvensional
Pemrosesan Sebagian besar simbolik Algoritmik
Input Tidak harus lengkap Harus lengkap
Pendekatan Pencarian Sebagian besar heuristik Algoritma
Penjelasan/Eksplansi Tersedia Biasanya tidak tersedia
Fokus Pengetahuan Data
Pemeliharaan & Peningkatan Relatif mudah Biasanya sulit
Berfikir Secara Logis Ada Tidak ada
B. Bidang Aplikasi Kecerdasan Buatan
Penerapan Kecerdasan Buatan meliputi berbagai bidang seperti
ditunjukkan pada bagian akar pohon AI dalam Gambar 1, antara lain:
Bahasa/linguistik, Psikologi, Filsafat, Teknik Elektro, Ilmu Komputer, dan Ilmu
Manajemen. Sedangkan sistem cerdas yang banyak dikembangkan saat ini adalah:
Sistem Pakar (Expert System), yaitu program konsultasi (advisory) yang
mencoba menirukan proses penalaran seorang pakar/ahli dalam memecahkan
masalah yang rumit. Sistem Pakar merupakan aplikasi AI yang paling banyak.
Lebih detil tentang Sistem Pakar akan diberikan dalam bab berikutnya.
Pemrosesan Bahasa Alami (Natural Language Processing), yang
memberi kemampuan pengguna komputer untuk berkomunikasi dengan
komputer dalam bahasa mereka sendiri (bahasa manusia). Sehingga komunikasi
dapat dilakukan dengan cara percakapan alih-alih menggunakan perintah yang
biasa digunakan dalam bahasa komputer biasa. Bidang ini dibagi 2 lagi:
a. Pemahaman bahasa alami, yang mempelajari metode yang
memungkinkan komputer mengerti perintah yang diberikan dalam
bahasa manusia biasa. Dengan kata lain, komputer dapat memahami
manusia.
5
b. Pembangkitan bahasa alami, sering disebut juga sintesa suara, yang
membuat komputer dapat membangkitkan bahasa manusia biasa
sehingga manusia dapat memahami komputer secara mudah.
Gambar 1. Pohon Kecerdasan Buatan dan Apliksi Utamanya
Pemahaman Ucapan/Suara (Speech/Voice Understanding), adalah
teknik agar komputer dapat mengenali dan memahami bahasa ucapan. Proses ini
mengijinkan seseorang berkomunikasi dengan komputer dengan cara berbicara
kepadanya. Istilah “pengenalan suara” mengandung arti bahwa tujuan utamanya
adalah mengenai kata yang diucapkan tanpa harus tahu artinya, di mana bagian itu
merupakan tugas “pemahaman suara”. Secara umum prosesnya adalah usaha
untuk menerjemahkan apa yang diucapkan seorang manusia menjadi kata-kata
atau kalimat yang dapat dimengerti oleh komputer.
Sistem Sensor dan Robotika. Sistem sensor, seperti sistem visi dan
pencitraan, serta sistem pengolahan sinyal, merupakan bagian dari robotika.
Sebuah robot, yaitu perangkat elektromekanik yang diprogram untuk melakukan
6
tugas manual, tidak semuanya merupakan bagian dari AI. Robot yang hanya
melakukan aksi yang telah diprogramkan dikatakan sebagai robot bodoh yang
tidak lebih pintar dari lift. Robot yang cerdas biasanya mempunyai perangkat
sensor, seperti kamera, yang mengumpulkan informasi mengenai operasi dan
lingkungannya. Kemudian bagian AI robot tersebut menerjemahkan informasi
tadi dan merespon serta beradaptasi jika terjadi perubahan lingkungan.
Komputer Visi, merupakan kombinasi dari pencitraan, pengolahan citra,
pengenalan pola serta proses pengambilan keputusan. Tujuan utama dari
komputer visi adalah untuk menerjemahkan suatu pemandangan. Komputer visi
banyak dipakai dalam kendali kualitas produk industri.
Intelligent Tutoring/Intelligent Computer-Aided Instruction, adalah
komputer yang mengajari manusia. Belajar melalui komputer sudah lama
digunakan, namun dengan menambahkan aspek kecerdasan di dalamnya, dapat
tercipta komputer “guru” yang dapat mengatur teknik pengajarannya untuk
menyesuaikan dengan kebutuhan “murid” secara individiual. Sistem ini juga
mendukung pembelajaran bagi orang yang mempunyai kekurangan fisik atau
kelemahan belajar.
Mesin Belajar (Machine Learning), yang berhubungan dengan
sekumpulan metode untuk mencoba mengajari/melatih komputer untuk
memecahkan masalah atau mendukung usaha pemecahan masalah dengan
menganalisa kasus-kasus yang telah terjadi. Dua metode mesin belajar yang
paling populer adalah Komputasi Neural dan Logika Samar (Fuzzy) yang akan
dipelajari lebih dalam di bab-bab berikutnya. Aplikasi lain dari AI misalnya untuk
merangkum berita, pemrograman komputer secara otomatis, atau menerjemahkan
dari suatu bahasa ke bahasa yang lain, serta aplikasi dalam permainan (Ingat
pertandingan catur antara Grand Master Anatoly Karpov dengan komputer Deep
Thought dari IBM).
7
BAB 2
Sistem Pakar A. Pendahuluan
Sistem Pakar (expert system) merupakan usaha untuk menirukan seorang
pakar. Biasanya Sistem Pakar berupa perangkat lunak pengambil keputusan yang
mampu mencapai tingkat performa yang sebanding seorang pakar dalam bidang
problem yang khusus dan sempit. Ide dasarnya adalah: kepakaran ditransfer dari
seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang
ada disimpan dalam komputer, dan pengguna dapat berkonsultasi pada komputer
itu untuk suatu nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan,
mendeduksi, dll.) seperti layaknya seorang pakar, kemudian menjelaskannya ke
pengguna tersebut, bila perlu dengan alasan-alasannya. Sistem Pakar malahan
terkadang lebih baik unjuk kerjanya daripada seorang pakar manusia!
Kepakaran (expertise) adalah pengetahuan yang ekstensif (meluas) dan
spesifik yang diperoleh melalui rangkaian pelatihan, membaca, dan pengalaman.
Pengetahuan membuat pakar dapat mengambil keputusan secara lebih baik dan
lebih cepat daripada non-pakar dalam memecahkan problem yang kompleks.
Kepakaran mempunyai sifat berjenjang, pakar top memiliki pengetahuan lebih
banyak daripada pakar yunior. Tujuan Sistem Pakar adalah untuk mentransfer
kepakaran dari seorang pakar ke komputer, kemudian ke orang lain (yang bukan
pakar).
B. Manfaat dan Keterbatasan Sistem Pakar
A. Manfaat Sistem Pakar
Mengapa Sistem Pakar sangat populer? Hal ini disebabkan karena
banyaknya kemampuan dan manfaat yang diberikan oleh Sistem Pakar, di
antaranya:
a. Meningkatkan output dan produktivitas, karena Sistem Pakar dapat
bekerja lebih cepat dari manusia.
b. Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan
mengurangi kesalahan.
8
c. Mampu menangkap kepakaran yang sangat terbatas.
d. Dapat beroperasi di lingkungan yang berbahaya.
e. Memudahkan akses ke pengetahuan.
f. Handal. Sistem Pakar tidak pernah menjadi bosan dan kelelahan atau
sakit. Sistem Pakar juga secara konsisten melihat semua detil dan tidak
akan melewatkan informasi yang relevan dan solusi yang potensial.
g. Meningkatkan kapabilitas sistem terkomputerisasi yang lain. Integrasi
Sistem Pakar dengan sistem komputer lain membuat lebih efektif, dan
mencakup lebih banyak aplikasi .
h. Mampu bekerja dengan informasi yang tidak lengkap atau tidak pasti.
Berbeda dengan sistem komputer konvensional, Sistem Pakar dapat
bekerja dengan informasi yang tidak lengkap. Pengguna dapat merespon
dengan: “tidak tahu” atau “tidak yakin” pada satu atau lebih pertanyaan
selama konsultasi, dan Sistem Pakar tetap akan memberikan jawabannya.
i. Mampu menyediakan pelatihan. Pengguna pemula yang bekerja dengan
Sistem Pakar akan menjadi lebih berpengalaman. Fasilitas penjelas dapat
berfungsi sebagai guru.
j. Meningkatkan kemampuan problem solving, karena mengambil sumber
pengetahuan dari banyak pakar.
k. Meniadakan kebutuhan perangkat yang mahal.
l. Fleksibel.
B. Keterbatasan Sistem Pakar
Metodologi Sistem Pakar yang ada tidak selalu mudah, sederhana dan
efektif. Berikut adalah keterbatasan yang menghambat perkembangan Sistem
Pakar:
a. Pengetahuan yang hendak diambil tidak selalu tersedia.
b. Kepakaran sangat sulit diekstrak dari manusia.
c. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa
berbeda-beda, meskipun sama-sama benar.
d. Adalah sangat sulit bagi seorang pakar untuk mengabstraksi atau
menjelaskan langkah mereka dalam menangani masalah
9
e. Pengguna Sistem Pakar mempunyai batas kognitif alami, sehingga
mungkin tidak bisa memanfaatkan sistem secara maksimal.
f. Sistem Pakar bekerja baik untuk suatu bidang yang sempit.
g. Banyak pakar yang tidak mempunyai jalan untuk mencek apakah
kesimpulan mereka benar dan masuk akal.
h. Istilah dan jargon yang dipakai oleh pakar dalam mengekspresikan fakta
seringkali terbatas dan tidak mudah dimengerti oleh orang lain.
i. Pengembangan Sistem Pakar seringkali membutuhkan perekayasa
pengetahuan (knowledge engineer) yang langka dan mahal.
j. Kurangnya rasa percaya pengguna menghalangi pemakaian Sistem Pakar.
k. Transfer pengetahuan dapat bersifat subyektif dan bias.
C. Komponen Sistem Pakar
Konsep dasar sistem pakar terdiri atas 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.
10
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.
D. Perbedaan Sistem Konvensional Dengan Sistem Pakar
Sistm Konvensional Sistem Pakar
Informasi dan pemrosesannya biasanya
jadi satu dengan program
Basis pengetahuan merupakan bagian
terpisah dari mekanisme inferensi
Program tidak pernah salah (keculai
pemrogramnya yang salah)
Program bisa saja salah
Biasanya tidak bisa menjelaskan
mengapa suatu input data itu
dibutuhkan atau bagaimana output itu
diperoleh
Penjelasan adalah bagian terpenting
dari sistem pakar
Pengubahan program cukup sulit dan
merepotkan
Pengubahan pada aturan / kaidah dapat
dilakukan dengan mudah
Sistem hanya akan bekerja jika sistem
tersebut sudah lengkap
Sistem dapat bekerja hanya dengan
beberapa aturan
Eksekusi dilakukan langkah demi
langkah secara algoritmik
Eksekusi dilakukan pada keseluruhan
basispengetahuan secara heuristik dan
logis
Menggunakan data Menggunakan pengetahuan
Tujuan utamanya adalah efisiensi Tujuan utamanya adalah efektivitas
E. Elemen Manusia yang Terkait dalam Penggunaan dan Pengembangan
Sistem Pakar
a) Pakar
11
Pakar adalah orang yang memiliki pengetahuan khusus, pendapat,
pengalaman dan metode, serta kemampuan untuk mengaplikasikan
keahliannya tersebut guna menyelesaikan masalah.
b) Perekayasa Pengetahuan
Perekayasa pengetahuan adalah orang yang membantu pakar dalam
menyusun area permasalahan dengan menginterpretasikan dan
mengintegrasikan jawaban-jawaban pakar atas pertanyaan yang diajukan,
menggambarkan analogi, mengajukan counter example dan menerangkan
kesulitan-kesulitan konseptual.
c) Pemakai
Pemakai awam: dalam hal ini sistem pakar bertindak sebagai konsultan
untuk memberikan saran dan solusi kepada pemakai
Pelajar yang ingin belajar: sistem pakar bertindak sebagai instruktur
Pembuat sistem pakar: sistem pakar sebagai partner dalam pengembangan
basis pengetahuan.
Pakar: sistem pakar bertindak sebagai mitra kerja/asisten
F. Area Permasalahan Aplikasi Sistem Pakar
1. Interpretasi
Yaitu pengambilan keputusan dari hasil observasi, diantaranya: pengawasan,
pengenalan ucapan, analisis citra, interpretasi sinyal, dan beberapa analisis
kecerdasan
2. Prediksi
Memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi tertentu,
diantaranya : peramalan, prediksi demografis, peralaman ekonomi, prediksi
lalulintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan.
3. Diagnosis
Menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada
gejala-gejala yang teramati, diantaranya : medis, elektronis, mekanis, dan
diagnosis perangkat lunak
4. Desain
12
Menentukan konfigurasi komponen-komponen sistem yang cocok dengan
tujuan-tujuan kinerja tertentu dan kendala-kendala tertentu, diantaranya :
layout sirkuit, perancangan bangunan
5. Perencanaan
Merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah
tujuan dengan kondisi awal tertentu, diantaranya: perencanaan keuangan,
komunikasi, militer, pengembangan politik, routing dan manajemen proyek.
6. Monitoring
Membandingkan tingkah laku suatu sistem yang teramati dengan tingkah laku
yang diharapkan darinya, diantaranya: Computer Aided Monitoring System
7. Debugging dan repair
Menentukan dan mengimplementasikan cara-cara untuk mengatasi malfungsi,
diantaranya memberikan resep obat terhadap suatu kegagalan.
8. Instruksi
Melakukan instruksi untuk diagnosis, debugging dan perbaikan kinerja.
9. Kontrol
Mengatur tingkah laku suatu environment yang kompleks seperti kontrol
terhadap interpretasi-interpretasi, prediksi, perbaikan, dan monitoring
kelakuan sistem
10. Seleksi
Mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan.
11. Simulasi
Pemodelan interaksi antara komponen-komponen sistem.
G. Struktur Sistem Pakar
Dua bagian utama sistem pakar :
Lingkungan pengembangan (development environment) :
digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan
sistem pakar
Lingkungan konsultasi (consultation environment)
digunakan oleh pengguna yang bukan pakar untuk memperoleh
pengetahuan pakar.
13
Arsitektur Sistem Pakar
Gambar 2. Struktur Skematis Sistem Pakar
Komponen-komponen yang terdapat dalam arsitektur atau struktur sistem pakar:
1. Antarmuka Pengguna (User Interface)
Merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar
untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan
mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Selain itu
antarmuka menerima dari sistem dan menyajikannya ke dalam bentuk yang
dapat dimengerti oleh pemakai.
2. Basis Pengetahuan
Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi,
dan penyelesaian masalah. Komponen sistem pakar ini disusun atas 2 elemen
dasar, yaitu :
- fakta : informasi tentang obyek dalam area permasalahan tertentu
- aturan : informasi tentang cara bagaimana memperoleh fakta baru dari
fakta yang telah diketahui.
Akuisisi Pengetahuan (Knowladge Acquistion)
Akuisisi pengetahuan adalah akumulasi, transfer, dan transformasi keahlian
dalam menyelesaikan masalah dari sumber pengetahuan ke dalam program
komputer. Dalam tahap ini knowledge engineer berusaha menyerap
pengetahuan untuk selanjutnya ditransfer ke dalam basis pengetahuan.
14
Pengetahuan diperoleh dari pakar, dilengkapi dengan buku, basis data,
laporan penelitian dan pengalaman pemakai.
Metode akuisisi pengetahuan :
Wawancara
Metode yang paling banyak digunakan, yang melibatkan pembicaraan
dengan pakar secara langsung dalam suatu wawancara
Analisis Protokol
Dalam metode ini pakar diminta untuk melakukan suatu pekerjaan dan
mengungkapkan proses pemikirannya dengan menggunakan kata-kata.
Pekerjaan tersebut direkam, dituliskan, dan dianalisis.
Observasi pada pekerjaan pakar
Pekerjaan dalam bidang tertentu yang dilakukan pakar direkam dan
diobservasi.
Induksi aturan dari contoh
Induksi adalah suatu proses penalaran dari khusus ke umum. Suatu
sistem induksi aturan diberi contoh-contoh dari suatu masalah yang
hasilnya telah diketahui. Setelah diberikan beberapa contoh, sistem
induksi aturan tersebut dapat membuat aturan yang benar untuk kasus-
kasuscontoh. Selanjutnya aturan dapat digunakan untuk menilai kasus
lain yang hasilnya tidakdiketahui.
3. Mesin
Komponen ini mengandung mekanisme pola pikir dan penalaran yang
digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi
adalah program komputer yang memberikan metodologi untuk penalaran
tentang informasi yang ada dalam basis pengetahuan dan dalam workplace,
dan untuk memformulasikan kesimpulan.
4. Workplace/papan tulis
Workplace merupakan area dari sekumpulan memori kerja (working memory),
digunakan untuk merekam kejadian yang sedang berlangsung termasuk
keputusan sementara. Ada 3 keputusan yang dapat direkam :
- Rencana : bagaimana menghadapi masalah
- Agenda : aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi
15
- Solusi : calon aksi yang akan dibangkitkan
5. Fasilitas Penjelasan
Adalah komponen tambahan yang akan meningkatkan kemampuan sistem
pakar. Digunakan untuk melacak respon dan memberikan penjelasan tentang
kelakuan sistem pakar secara interaktif melalui pertanyaan :
- mengapa suatu pertanyaan ditanyakan oleh sistem pakar ?
- bagaimana konklusi dicapai ?
- mengapa ada alternatif yang dibatalkan ?
- rencana apa yang digunakan untuk mendapatkan solusi ?
6. Perbaikan Pengetahuan
Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya
serta kemampuan untuk belajar dari kinerjanya. Kemampuan tersebut adalah
penting dalam pembelajaran terkomputerisasi, sehingga program akan
mampu menganalisis penyebab kesuksesan dan kegagalan yang dialaminya
dan juga mengevaluasi apakah pengetahuan-pengetahuan yang ada masih
cocok untuk digunakan di masa mendatang
H. Basis Pengetahuan (Knowledge Base)
Basis pengetahuan berisi pengetahuan-pengetahuan dalam penyelesaian masalah.
Ada 2 bentuk pendekatan basis pengetahuan :
a. Penalaran berbasis aturan (rule-based reasoning)
Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan
menggunakan aturan berbentuk IF-THEN. Bentuk ini digunakan apabila kita
memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan
si pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping
itu, bentuk ini juga digunakan apabila dibutuhkan penjelasan tentang jejak
(langkah-langkah) pencapaian solusi.
Contoh : aturan identifikasi hewan
Rule 1 : IF hewan berambut dan menyusui THEN hewan mamalia
Rule 2 : IF hewan mempunyai sayap dan bertelur THEN hewan jenis burung
Rule 3 : IF hewan mamalia dan memakan daging THEN hewan karnivora
Dst...
16
b. Penalaran berbasis kasus (case-based reasoning)
Pada penalaran berbasis kasus, basis pengetahuan akan berisi solusi-solusi
yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk
keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini digunakan apabila
user menginginkan untuk tahu lebih banyak lagi pada kasus-kasus yang
hampir sama (mirip). Selain itu bentuk ini juga digunakan bila kita telah
memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan.
I. Mesin Inferensi (Inference Engine)
Ada 2 cara penalaran yang dapat dikerjakan dalam melakukan inferensi :
1. Forward Chaining
Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri dulu (IF dulu).
Dengan kata lain penalaran dimulai dari fakta terlebih dahulu untuk menguji
kebenaran hipotesis.
2. Backward Chaining
Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN
dulu). Dengan kata lain penalaran dimulai dari hipotesis terlebih dahulu, dan
untuk menguji kebenaran hipotesis tersebut harus dicari fakta-fakta yang ada
dalam basis pengetahuan.
Contoh :
R1 : IF suku bunga turun THEN harga obligasi naik
R2 : IF suku bunga naik THEN harga obligasi turun
R3 : IF suku bunga tidak berubah THEN harga obligasi tidak berubah
R4 : IF dolar naik THEN suku bunga turun
R5 : IF dolar turun THEN suku bunga naik
R6 : IF harga obligasi turun THEN beli obligasi
Apabila diketahui bahwa dolar turun, maka untuk memutuskan apakah akan
membeli obligasi atau tidak dapat ditunjukkan sebagai berikut :
Forward Chaining
Dari fakta dolar turun, berdasarkan Rule 5, diperoleh konklusi suku bunga naik.
Dari Rule 2 suku bunga naik menyebabkan harga obligasi turun. Dengan Rule 6,
jika harga obligasi turun, maka kesimpulan yang diambil adalah membeli obligasi.
17
Backward Chaining
Dari solusi yaitu membeli obligasi, dengan menggunakan Rule 6 diperoleh
anteseden harga obligasi turun. Dari Rule 2 dibuktikan harga obligasi turun
bernilai benar jika suku bunga naik bernilai benar. Dari Rule 5 suku bunga naik
bernilai memang bernilai benar karena diketahui fakta dolar turun.
J. Langkah-Langkah Pembuatan Sistem Pakar
1. Mengidentifikasi masalah dan kebutuhan
2. Menentukan problema yang cocok
3. Mempertimbangkan alternatif
4. Menghitung pengembalian investasi
5. Memilih alat pengembangan
6. Merekayasa pengetahuan
7. Merancang sistem
8. Melengkapi pengembangan
9. Menguji dan mencari kesalahan sistem
10. Memelihara sistem
18
CONTOH REPRESENTASI PENGETAHUAN DARI KNOWLEDGE BASE BERBASIS ATURAN/RULE SISTEM PAKAR
DETEKSI KERUSAKAN KOMPUTER
19
JENIS KERUSAKAN
A1 = Monitor Rusak
A2 = Memori Rusak
A3 = HDD Rusak
A4 = VGA Rusak
A5 = Sound Card Rusak
A6 = OS Bermasalah
A7 = Aplikasi Rusak
A8 = PSU Rusak
A9 = Prosesor Rusak
A10 = Memory Kurang (Perlu Upgrade Memory)
A11 = Memory VGA Kurang (Perlu Upgrade VGA)
A12 = Clock Prosor Kurang Tinggi (Perlu Upgrade Prosesor)
A13 = Kabel Ide Rusak
A14 = Kurang Daya Pada Psu (Perlu Upgrade Psu)
A15 = Perangkat USB Rusak
A16 = Keyboard Rusak
A17 = Mouse Rusak
20
21
BAB 3
Pencarian
A. Pendahuluan
Hal penting dalam menentukan keberhasilan sistem cerdas adalah
kesuksesan dalam pencarian. Pencarian adalah suatu proses mencari solusi dari
suatu permasalahan melalui sekumpulan, kemungkinan ruang keadaan (state
space). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang
mungkin.
Untuk mengukur perfomansi 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?
B. Teknik Pencarian Teknik pencarian dapat dibagi menjadi dua:
1. Pencarian buta (blind search) : tidak ada informasi awal yang digunakan
dalam proses pencarian
Pencarian melebar pertama (Breadth – First Search)
Pencarian mendalam pertama (Depth – First Search)
2. Pencarian terbimbing (heuristic search) : adanya informasi awal yang
digunakan dalam proses pencarian
Pendakian Bukit (Hill Climbing)
Pencarian Terbaik Pertama (Best First Search)
C. 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
22
level 1 dari kiri ke kanan, kemudian berpindah ke level berikutnya dari kiri ke
kanan hingga solusi ditemukan.
Keuntungan :
Tidak akan menemui jalan buntu, menjamin ditemukannya solusi (jika
solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik
Jika ada 1 solusi, maka breadth – first search akan menemukannya,jika
ada lebih dari 1 solusi, maka solusi minimum akan ditemukan.
Kesimpulan : complete dan optimal
Kelemahan :
Membutuhkan memori yang banyak, karena harus menyimpan semua
simpul yang pernah
Dibangkitkan. Hal ini harus dilakukan agar BFS dapat melakukan
penelusuran simpul-simpul sampai di level bawah
Membutuhkan waktu yang cukup lama
2. Depth – First Search
Pencarian dilakukan pada suatu simpul dalam setiap level dari yang paling
kiri. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian
dilanjutkan pada simpul sebelah kanan dan simpul yang kiri dapat dihapus dari
memori.Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian
dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan
solusi.
23
Keuntungan :
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, jadi jika solusi yang dicari berada pada
level yang dalam dan paling kiri, maka DFS akan menemukannya dengan
cepat sehingga waktu cepat.
Kelemahan :
Memungkinkan tidak ditemukannya tujuan yang diharapkan, karena jika
pohon yang dibangkitkan mempunyai level yang sangat dalam (tak
terhingga) sehingga tidak complete karena tidak ada jaminan menemukan
solusi
Hanya mendapat 1 solusi pada setiap pencarian, karena jika terdapat lebih
dari satu solusi yang sama tetapi berada pada level yang berbeda, maka
DFS tidak menjamin untuk menemukan solusi yang paling baik sehingga
tidak optimal.
D. Pencarian Terbimbing (Heuristic Search)
Pencarian buta tidak selalu dapat diterapkan dengan baik, hal ini
disebabkan waktu aksesnya yang cukup lama & besarnya memori yang
diperlukan. Untuk masalah dengan ruang masalah yang besar, teknik pencarian
buta bukan metode yang baik karena keterbatasan kecepatan komputer dan
memori.
Metode heuristic search diharapkan bisa menyelesaikan permasalahan
yang lebih besar. Metode heuristic search menggunakan suatu fungsi yang
menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke
simpul tujuan disebut fungsi heuristic. Aplikasi yang menggunakan fungsi
heuristic : Google, Deep Blue Chess Machine.
Contoh:
Misal kasus 8-puzzle. Ada 4 operator yang dapat digunakan untuk menggerakkan
dari satu keadaan ke keadaan yang baru
1. Ubin kosong digeser ke kiri
2. Ubin kosong digeser ke kanan
24
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)
25
Untuk jumlah ubin yang menempati posisi yang salah
Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)
Menghitung total gerakan yang diperlukan untuk mencapai tujuan
Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)
26
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)
Dan seterusnya
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 :
𝑛!
2! 𝑛 − 2 =
4!
2! 4 − 2 != 6 𝑘𝑜𝑚𝑏𝑖𝑛𝑎𝑠𝑖
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
27
Keadaan awal, lintasan ABCD (=19).
Level pertama, hill climbing mengunjungi BACD (=17), BACD (=17) < ABCD
(=19), sehingga BACD menjadi pilihan selanjutnya dengan operator Tukar
1,2
Level kedua, mengunjungi ABCD, karena operator Tukar 1,2 sudah dipakai
BACD, maka pilih node lain yaitu BCAD (=15), BCAD (=15) < BACD
(=17)
Level ketiga, mengunjungi CBAD (=20), CBAD (=20) > BCAD (=15), maka
pilih node lain yaitu BCDA (=18), pilih node lain yaitu DCAB (=17),
pilih node lain yaitu BDAC (=14), BDAC (=14) < BCAD (=15)
Level keempat, mengunjungi DBAC (=15), DBAC(=15) > BDAC (=14), maka
pilih node lain yaitu BADC (=21), pilih node lain yaitu BDCA (=13),
BDCA (=13) < BDAC (=14)
Level kelima, mengunjungi DBCA (=12), DBCA (=12) < BDCA (=13)
28
Level keenam, mengunjungi BDCA, karena operator Tukar 1,2 sudah dipakai
DBCA, maka pilih node lain yaitu DCBA, pilih DBAC, pilih ABCD, pilih
DACB, pilih CBDA
Karena sudah tidak ada node yang memiliki nilai heuristik yang lebih kecil
dibanding nilai heuristik
DBCA, maka node DBCA (=12) adalah lintasan terpendek (SOLUSI)
b. Metode steepest – ascent hill climbing
Steepest – ascent hill climbing hampir sama dengan simple – ascent hill
climbing, hanya saja gerakan pencarian tidak dimulai dari kiri, tetapi berdasarkan
nilai heuristik terbaik.
Keadaan awal, lintasan ABCD (=19).
Level pertama, hill climbing memilih nilai heuristik terbaik yaitu ACBD (=12)
sehingga ACBD menjadi pilihan selanjutnya.
Level kedua, hill climbing memilih nilai heuristik terbaik, karena nilai heuristik
lebih besar dibanding ACBD, maka hasil yang diperoleh lintasannya tetap
ACBD (=12)
2. Best First Search
Metode best first search merupakan kombinasi dari metode depth first
search dan breadth first search dengan mengambil kelebihan dari kedua metode
tersebut. Hill climbing tidak diperbolehkan untuk kembali ke node pada lebih
rendah meskipun node tersebut memiliki nilai heuristik lebih baik. Pada best first
search, pencarian diperbolehkan mengunjungi node di lebih rendah, jika ternyata
node di level lebih tinggi memiliki nilai heuristik lebih buruk. Untuk
mengimplementasikan metode ini, dibutuhkan 2 antrian yang berisi node-node,
yaitu :
29
OPEN: berisi node-node yang sudah dibangkitkan, sudah memiliki fungsi
heuristik namun belum diuji. Umumnya berupa antrian berprioritas yang berisi
elemen-elemen dengan nilai heuristik tertinggi.
CLOSED : berisi node-node yang sudah diuji.
Diasumsikan node dengan nilai yang lebihbesar memiliki nilai evaluasi yang lebih
baik. Pada keadaan awal, antrian berisi A. Pengujian dilakukan di level pertama,
node D memiliki nilai terbaik, sehingga menempati antrian pertama, disusul
dengan C dan B. Node D memiliki cabang E dan F yang masing-masing bernilai 2
& 4 Dengan demikian C merupakan pilihan terbaik dengan menempati antrian
pertama. Dan demikian seterusnya.
30
31
BAB 4
Representasi Pengetahuan
A. Pendahuluan
Dua bagian dasar sistem kecerdasan buatan (menurut Turban) :
Basis pengetahuan :
Berisi fakta tentang objek-objek dalam domain yang dipilih dan hubungan
diantara domain-domain tersebut
Inference Engine :
Merupakan sekumpulan prosedur yang digunakan untuk menguji basis
pengetahuan dalam menjawab suatu pertanyaan,menyelesaikan masalah, atau
membuat keputusan
Basis pengetahuan berisi struktur data yang dapat dimanipulasi oleh suatu
sistem inferensi yang menggunakan pencarian dan teknik pencocokan pola pada
basis pengetahuan yang bermanfaat untuk menjawab pertanyaan, menggambarkan
kesimpulan atau bentuk lainnya sebagai suatu fungsi kecerdasan. Karakteristik
representasi pengetahuan:
Dapat diprogram dengan bahasa komputer dan disimpan dalam memori
Fakta dan pengetahuan lain yang terkandung didalamnya dapat digunakan
untuk melakukan penalaran
Dalam menyelesaikan masalah harus 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.
B. 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.
32
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.
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)
33
Untuk melakukan inferensi pada logika proposisi dapat dilakukan dengan
menggunakan resolusi. Resolusi adalah suatu aturan untuk melakukan inferensi
yang dapat berjalan secara efisien dalam suatu bentuk khusus yaitu conjunctive
normal form (CNF), ciri – cirinya :
setiap kalimat merupakan disjungsi literal
semua kalimat terkonjungsi secara implicit
Langkah-langkah untuk mengubah suatu kalimat (konversi) ke bentuk CNF :
Hilangkan implikasi dan ekuivalensi
• x y menjadi ¬ x ∨ y
• x ↔ y menjadi (¬ x ∨ y) ∧ (¬ y ∨ x)
Kurangi lingkup semua negasi menjadi satu negasi saja
• ¬ (¬ x) menjadi x
• ¬ (x ∨ y) menjadi (¬ x ∧ ¬ y)
• ¬ (x ∧ y) menjadi (¬ x ∨ ¬ y)
Gunakan aturan assosiatif dan distributif untuk mengkonversi menjadi
conjuction of disjunction
• Assosiatif : (A∨ B)∨ C menjadi A∨ (B∨ C)
• Distributif : (A ∧ B)∨ C menjadi (A∨ C) ∧ (B ∨ C)
Buat satu kalimat terpisah untuk tiap-tiap konjungsi
Contoh:
Diketahui basis pengetahuan (fakta-fakta yang bernilai benar) sebagai berikut :
1. P
2. (P ∧ Q) Æ R
3. (S ∨ T) Æ Q
4. T
Tentukan kebenaran R.
Untuk membuktikan kebenaran R dengan menggunakan resolusi,maka ubah dulu
menjadi bentuk CNF.
34
Kemudian kita tambahkan kontradiksi pada tujuannya, R menjadi ¬ R
sehingga fakta-fakta (dalam bentuk CNF) dapat disusun menjadi :
1. P
2. ¬ P ∨ ¬ Q ∨ R
3. ¬ S ∨ Q
4. ¬ T∨ Q
5. T
6. ¬ R
Sehingga resolusi dapat dilakukan untuk membuktikan kebenaran R, sebagai
berikut :
Contoh bila diterapkan dalam kalimat :
P : Ani anak yang cerdas
Q : Ani rajin belajar
35
R : Ani akan menjadi juara kelas
S : Ani makannya banyak
T : Ani istirahatnya cukup
Kalimat yang terbentuk :
• Ani anak yang cerdas
• Jika ani anak yang cerdas dan ani rajin belajar, maka ani akan menjadi
juara kelas
• Jika ani makannya banyak atau ani istirahatnya cukup, maka ani rajin
belajar
• Ani istirahatnya cukup
Setelah dilakukan konversi ke bentuk CNF, didapat :
Fakta ke-2 : Ani tidak cerdas atau ani tidak rajin belajar atau ani akan menjadi
juara kelas
Fakta ke-3 : Ani tidak makan banyak atau ani rajin belajar Fakta ke-4 : Ani tidak
cukup istirahat atau ani rajin belajar
36
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). Logika predikat merupakan dasar
bagi bahasa AI seperti bahasa pemrograman PROLOG
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))
C. List dan Tree
List dan Tree merupakan struktur sederhana yang digunakan dalam
representasi hirarki pengetahuan.
37
1. List
List adalah daftar dari rangkaian materi yang terkait. 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 pengetahuan
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.
2. Tree
Struktur pohon adalah struktur grafik hirarki. Struktur ini merupakan cara
yang sederhana untuk menggambarkan list dan hirarki pengetahuan lainnya.
38
39
BAB 5
Logika Fuzzy
A. Pendahuluan
Logika fuzzy adalah suatu cara untuk memetakan suatu ruang input ke
dalam suatu ruang output. Skema logika fuzzy :
Antara input dan output terdapat suatu kotak hitam yang harus memetakan input
ke output yang sesuai. Misal :
Alasan menggunakan fuzzy adalah sebagai berikut:
Konsep logika fuzzy mudah dimengerti
Logika fuzzy sangat fleksibel
Memiliki toleransi terhadap data-data yang tidak tepat
Dapat membangun dan mengaplikasikan pengalaman-pengalaman para
pakar secara langsung
tanpa harus melalui proses pelatihan
Logika fuzzy didasarkan pada bahasa alami
Aplikasi Logika Fuzzy:
Tahun 1990 pertama kali mesin cuci dengan logika fuzzy di Jepang
(Matsushita Electric Industrial Company). Sistem fuzzy digunakan untuk
menentukan putaran yang tepat secara otomatis berdasarkan jenis dan
banyaknya kotoran serta jumlah yang akan dicuci. Input yang digunakan :
40
seberapa kotor, jenis kotoran, banyaknya yang dicuci. Mesin ini
menggunakan sensor optik, mengeluarkan cahaya ke air dan mengukur
bagaimana cahaya tersebut sampai ke ujung lainnya. Makin kotor, maka
sinar yang sampai makin redup. Sistem juga mampu menentukan jenis
kotoran tersebut daki/minyak.
Transmisi otomatis pada mobil Nissan,menghemat bensin 12 – 17 %
Kereta bawah tanah Sendai mengontrol pemberhentian otomatis pada area
tertentu
Ilmu kedokteran dan biologi, seperti sistem diagnosis kanker
Manajemen dan pengambilan keputusan, misal tata letak pabrik
berdasarkan logika fuzzy,
pembuatan games berdasarkan logika fuzzy,dll
Ilmu lingkungan, misal kendali kualitas air, prediksi cuaca
Teknik,misal perancangan jaringan komputer, prediksi adanya gempa
bumi, dll
B. Konsep Dasar Logika Fuzzy
1. Himpunan Tegas nilai keanggotaan suatu item x dalam suatu himpunan A, yang sering
ditulis dengan µA[x], memiliki 2 kemungkinan, yaitu :
1, yang berarti bahwa item tersebut (x) anggota himpunan A
0, yang berarti bahwa item tersebut (x) bukan anggota himpunan A
contoh 1:
S = [1,2,3,4,5,6] adalah semesta pembicaraan
A = [1,2,3]
B = [3,4,5]
Jadi :
nilai keanggotaan 2 pada himpunan A µA[2] = 1 , karena 2 ∈ A
nilai keanggotaan 3 pada himpunan A µA[3] = 1 , karena 3 ∈ A
nilai keanggotaan 4 pada himpunan A µA[4] = 0 , karena 4 ∉ A
41
nilai keanggotaan 2 pada himpunan B µB[2] = 0 , karena 2 ∉ B
nilai keanggotaan 3 pada himpunan B µB[3] = 1 , karena 3 ∈ A
Contoh 2:
misal variabel umur dibagi menjadi 3 kategori, yaitu :
MUDA umur < 35 tahun
PAROBAYA 35 ≤ umur ≤ 55 tahun
TUA umur > 55 tahun
Nilai keanggotaan secara grafis, himpunan MUDA, PAROBAYA, TUA :
usia 34 tahun maka dikatakan MUDA µMUDA[34] = 1
usia 35 tahun maka dikatakan TIDAKMUDA µMUDA[35] = 0
usia 35 tahun maka dikatakan PAROBAYA µPAROBAYA[35] = 1
usia 34 tahun maka dikatakan TIDAKPAROBAYA µPAROBAYA[34] = 0
usia 35 tahun kurang 1 hari maka dikatakan TIDAKPAROBAYA
µPAROBAYA[35 th – 1 hari] = 0
usia 35 tahun lebih 1 hari maka dikatakan TIDAKMUDA µMUDA[35 th + 1
hari] = 0
Himpunan crisp untuk menyatakan umur bisa tidak adil karena adanya perubahan
kecil saja pada suatu nilai mengakibatkan perbedaan kategori yang cukup
signifikan.
2. Himpunan Fuzzy Himpunan fuzzy digunakan untuk mengantisipasi hal tersebut diatas.
Seseorang dapat masuk dalam 2 himpunan yang berbeda, MUDA dan
42
PAROBAYA, PAROBAYA dan TUA, dsb. Seberapa besar eksistensinya dalam
himpunan tersebut dapat dilihat pada nilai/derajat keanggotaannya.
Himpunan fuzzy untuk variabel UMUR :
usia 40 tahun termasuk dalam himpunan MUDA dengan µMUDA[40] = 0,25
termasuk juga dalam himpunan PAROBAYA dengan µ PAROBAYA
[40] = 0,5
usia 50 tahun termasuk dalam himpunan TUA dengan µTUA[50] = 0,25
termasuk juga dalam himpunan PAROBAYA dengan µ PAROBAYA
[50] = 0,5
Himpunan crisp, nilai keanggotaan hanya 0 dan 1.
Himpunan fuzzy, derajat/nilai keanggotaan terletak pada rentang 0 sampai 1
sehingga :
Bila x memiliki derajat keanggotaan fuzzy µ A [x] = 0 x bukan
anggota himpunan A
Bila x memiliki derajat keanggotaan fuzzy µ A [x] = 1 x anggota
penuh himpunan A