Kamis, 01 Oktober 2009

APLIKASI SISTEM PAKAR


















































Manufactering/Engineering
Utilities and Telecommunication
Desain produk Konfigurasi
Analisis disain Real-time monitoring
Perencanaan proses Analisis alarm
Manajemen perakitan Diagnosis
Kontrol proses Analisis Jaringan
Diagnosa dan perbaikan Analisis Pemasaran
Schedulling Marketing suppport
Rostering Operasi back-office
Simulasi Schedulling
Estimasi biaya Billing operation
konfigurasi Perlengkapan ( provisioning)

Perbedaan utama antara pemrograman konvensional dengan pengembangan Sistem Pakar

Pemrograman konvensional
Fokus pada Solusi
Programmer bekerja sendirian
Sequential

Pengembangan Sistem Pakar
Fokus pada masalah
Hasil Kerja Team
Hasil Kerja Team

3 Pemain utama dalam suatu proyek sistem pakar

1.Domain expert
§ Definisi : orang yang memiliki ketrampilan ( skill) dan pengetahuan (knowledge) untuk menyelesaikan masalah khusus dengan cara-cara yang superior dibanding orang kebanyakan.
§ Memiliki pengetahuan kepakaran
§ Memiliki ketrampilan problem-solving yang efisien
§ Dapat mengkomunikasikan pengetahuan
§ Dapat menyediakan waktu
§ Dapat bekerja sama
2.Knowledge Engineer
§ Definisi : orang yang melakukan proses disain, mengembangkan dan menguji suatu sistem pakar
§ Memiliki ketrampilan rekayasa pengetahuan (knowledge engineering)
§ Memiliki ketrampilan komunikasi yang baik
§ Dapat menyesuaikan masalah kepada software
§ Memiliki ketrampilan pemrograman sistem pakar
End-User
§ Dapat membantu mendefinisikan spesifikasi interface
§ Dapat membantu proses akuisisi pengetahuan
§ Dapat membantu proses pengembangan sistem

Kategori Problema Sistem Pakar secara umum

1. Interpretasi – membuat kesimpulan atau deskripsi dari sekumpulan
data mentah.
2. Prediksi – memproyeksikan akibat-akibat yang dimungkinkan dari
situasi-situasi tertentu
3. Diagnosis – menentukan sebab malfungsi dalam situasi kompleks yang
didsarkan pada gejala-gejala yang teramati
4. Desain – menentukan konfigurasi komponen-komponen sistem yang
cocok dengan tujuan-tujuan kinerja tertentu yang memnuhi kendala -
kendala tertentu
5. Perencanaan – merencanakan serangkaian tindakan yang akan dapat
mencapai sejumlah tujuan dengan kondisi awal tertentu
6. Debugging dan Repair – menentukan dan menginterpretasikan cara-cara
untuk mengatasi malfungsi.
7. Instruksi – mendeteksi dan mengoreksi defisiensi dalam pemahaman
domain subyek
8. Pengendalian – mengatur tingkah laku suatu environment yang
kompleks
9. Selection – mengidentifikasi pilihan terbaik dari sekumpulan (list)
kemungkinan
10. Simulation – pemodelan interaksi antara komponen-komponen sistem
11. Monitoring – membandingkan hasil pengamatan dengan kondisi yang
diharapkan

STRUKTUR DETAIL SISTEM PAKAR

Terdiri atas 2 bagian :
· Development Environment (Lingkungan Pengembangan)
· Consultation Environment (Lingkungan Konsultasi)
Bagian-bagian yang secara umum ada pada struktur detail sistem pakar
· Knowledge Aqcuisision System
· Knowledge Base
· Inference engine
· User Interface
· User
· Workplace (Blackboard)
· Explanation Subsystem
· Knowledge refining system

KNOWLEDGE AQCUISISTION
Meliputi proses pengumpulan, pemindahan, dan perubahan dari
kemampuan pemecahan masalah seorang pakar atau sumber
pengetahuan terdokumentasi (buku, dll) ke program komputer, yang
bertujuan untuk memperbaiki dan atau mengembangkan basis
pengetahuan (knowledge-base)
KNOWLEDGE ENGINEERING
Definisi : Proses pengembangan suatu sistem pakar Orang yang mengembangkan suatu sistem pakar disebut: Knowledge Engineer
Fase pengembangan sistem pakar
1. Assessment
2. Knowledge Aqcuisition
3. Design
4. Test
5. Documentation
6. Maintenance

STRUKTUR DASAR SISTEM PAKAR

KNOWLEDGE BASE
· Definisi : Bagian dari sistem pakar yang berisi domain pengetahuan
· Berisi pengetahuan yang dibutuhkan untuk memahami, merumuskan dan menyelesaikan masalah.
· Terdiri dari 2 elemen dasar:
o Fakta, situasi masalah dan teori yang terkait
o Heuristik khus us atau rules, yang langsung menggunakan pengetahuan untuk menyelesaikan masalah khusus.
WORKING MEMORY
· Definisi : bagian dari sistem pakar yang berisi fakta-fakta masalah
yang ditemukan dalam suatu sesi
· Berisi fakta-fakta tentang suatu masalah yang ditemukan dalam proses
konsultasi
INFERENCE ENGINE
· Definisi : Processor pada sistem pakar yang mencocokan fakta-fakta
yang ada pada working memori dengan domain pengetahuan yang
terdapat pada knowledge base, untuk menarik kesimpulan dari
masalah yang dihadapi.
· Proses berpikir pada manusia dimodelkan dalam sistem pakar pada
modul yang disebut Inference Engine.

PEMINDAHAN KEPAKARAN

Tujuan dari sebuah sistem pakar adalah untuk mentransfer kepakaran yang
dimiliki seorang pakar kedalam komputer, dan kemudian kepada orang lain
(nonexpert).
Aktifitas yang dilakukan untuk memindahkan kepakaran:
1. Knowledge Acquisition (dari pakar atau sumber lainnya)
2. Knowledge Representation (ke dalam komputer)
3. Knowledge Inferencing
4. Knowledge Transfering

Perbandingan Sistem Konvensional dan Sistem Pakar

Sistem Konvensional
Informasi dan pemrosesan umumnya digabung dlm satu program sequential
Program tidak pernah salah (kecuali programer-nya yang salah)
Tidak menjelaskan mengapa input dibutuhkan atau bagaimana hasil diperoleh
Membutuhkan semua input data
Perubahan pada program merepotkan
Sistem bekerja jika sudah lengkap
Eksekusi secara algoritmik (step-by-step)
Manipulasi efektif pada database yang besar
Efisiensi adalah tujuan utama
Data kuantitatif
Representasi data dalam numerik
Menangkap, menambah dan mendistribusi data numerik atau informasi

Sistem Pakar
Knowledge base terpisah dari mekanisme pemrosesan (inference)
Program bisa saja melakukan kesalahan
Penjelasan (explanation) merupakan bagian dari ES
Tidak harus mambutuhkan semua input data atau fakta
Perubahan pada rules dapat dilakukan dengan mudah
Sistem dapat bekerja hanya dengan rules yang sedikit
Eksekusi dilakukan secara heuristic dan logik
Manipulasi efektif pada knowledge-base yang besar
Efektifitas adalah tujuan utama
Data kualitatif
Reperesentasi pengetahuan dalam simbol
data numerik atau informasi
Menangkap, menambah dan mendistribusi pertimbangan (judgment) dan pengetahuan

Alasan mendasar mengapa ES dikembangkan untuk menggantikan seorang pakar

· Dapat menyediakan kepakaran setiap waktu dan diberbagai lokasi
· Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan
seorang pakar.
· Seorang Pakar akan pensiun atau pergi
· Seorang Pakar adalah mahal
· Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat
(hostile environtment)

APA ITU KEPAKARAN/KEAHLIAN (EXPERTISE) ?

1. Pemahaman yang luas dari tugas atau pengetahuan spesifik yang diperoleh dari pelatihan, membaca dan pengalaman.
2. Jenis-jenis pengetahuan yang dimiliki dalam kepakaran:
o Teori-teori dari permasalahan
o Aturan dan prosedur yang mengacu pada area permasalahan
o Aturan (heuristik) yang harus dikerj akan pada situasi yang terjadi
o Strategi global untuk menyelesaikan berbagai jenis masalah
o Meta-knowledge (pengetahuan tentang pengetahuan)
o Fakta-fakta

APA ITU PAKAR/AHLI (EXPERT) ?

Seorang pakar/ahli (human expert) adalah seorang individu yang
memiliki kemampuan pemahaman yang superior dari suatu masalah.
Misalnya: seorang dokter, penasehat keuangan, pakar mesin mobil, dll.
· Kemampuan kepakaran:
o Dapat mengenali (recognizing) dan merumuskan masalah
o Menyelesaikan masalah dengan cepat dan tepat
o Menjelaskan solusi
o Belajar dari pengalaman
o Restrukturisasi pengetahuan
o Menentukan relevansi/hubungan
o Memahami batas kemampuan

DEFINISI SISTEM PAKAR (EXPERT SYSTEM)

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 menirukerja dari para ahli.

Martin dan Otman 1998
Sistem berbasis pakar yang menggunakan pengetahuan, fakta, dan teknik penalaran dlm memecahkan masalah yang biasanya dapat dipecah

Glarratan dan Riley
sistem pakar yang bisa meniru kemampuan pakar

Durkin

Program komputer yang dirancang untuk memodelkan kemampuan penyelesaian yang dilakukan oleh pakar

ciri-ciri :
- Terbatas pada domain tertentu
- Dapat membeli penalaran atas data-data yang tidak pasti
- Keluaran bersifat anjuran
- Berdasarkan kaidah terbaru
- Sistem dapat mengaktifkan kaidah yang sesuai
- dapat mengguakan ragkaian alasan
- pengetahuan dan referensi terpisah

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. Pengguna bisa merespon dengan jawaban ’tidak tahu’ atau ’tidak yakin’ pada satu atau lebih pertanyaan selama konsultasi dan sistem pakar tetap akan memberikan jawaban.
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 karena dapat memberi nasehat yang konsisten dan
mengurangi kesalahan
12. Meningkatkan kapabilitas sistem terkomputerisasi yang lain. Integrasi Sistem Pakar dengan
sistem komputer lain membuat lebih efektif, dan bisa mencakup lebih banyak aplikasi .
13. Mampu menyediakan pelatihan. Pengguna pemula yang bekerja dengan sistem pakar akan
menjadi lebih berpengalaman. Fasilitas penjelas dapat berfungsi sebagai guru.

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 dan
kepakaran sangat sulit diekstrak dari manusia karena sangat sulit bagi seorang pakar untuk
menjelaskan langkah mereka dalam menangani masalah.
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.
4. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa berbeda-beda, meskipun
sama-sama benar.
5. Transfer pengetahuan dapat bersifat subjektif dan bias
6. Kurangnya rasa percaya pengguna dapat menghalangi pemakaian sistem pakar.

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.

ELEMEN MANUSIA YANG TERKAIT DALAM PENGGUNAAN DAN PENGEMBANGAN SISTEM PAKAR
1. Pakar
Pakar adalah orang yang memiliki pengetahuan khusus, pendapat, pengalaman dan metode, serta kemampuan untuk mengaplikasikan keahliannya tersebut guna menyelesaikan masalah.
2. 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.
3. 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

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
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 interpretasiinterpretasi, prediksi, perbaikan, dan monitoring kelakuan sistem
10. Seleksi
Mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan.
11. Simulasi
Pemodelan interaksi antara komponen-komponen sistem.

BENTUK / TIPE SISTEM PAKAR
1. Mandiri : sistem pakar yang murni berdiri sendiri, tidak digabung dengan software lain, bisa
dijalankan pada komputer pribadi, mainframe.
2. Terkait/Tergabung : dalam bentuk ini sistem pakar hanya merupakan bagian dari program yang
lebih besar. Program tersebut biasanya menggunakan teknik algoritma konvensional tapi bisa
mengakses sistem pakar yang ditempatkan sebagai subrutin, yang bisa dimanfaatkan setiap kali
dibutuhkan.
3. Terhubung : merupakan sistem pakar yang berhubungan dengan software lain, misal :
spreadsheet, DBMS, program grafik. Pada saat proses inferensi, sistem pakar bisa mengakses
data dalam spreadsheet atau DBMS atau program grafik bisa dipanggil untuk menayangkan
output visual.
4. Sistem Mengabdi
Merupakan bagian dari komputer khusus yang diabdikan kepada fungsi tunggal. Sistem tersebut
bisa membantu analisa data radar dalam pesawat tempur atau membuat keputusan intelejen
tentang bagaimana memodifikasi pembangunan kimiawi, dll.

STRUKTUR SISTEM PAKAR
2 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


Komponen-komponen yang terdapat dalam arsitektur/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.
3. Akuisisi Pengetahuan (Knowledge Acquisition)
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. 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-kasus
contoh. Selanjutnya aturan dapat digunakan untuk menilai kasus lain yang hasilnya tidak
diketahui.
4. Mesin/Motor Inferensi (inference engine)
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.
5. Workplace / Blackboard
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
- Solusi : calon aksi yang akan dibangkitkan
6. 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 ?
7. 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

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

Breadth-First Search (BFS)

Pencarian dilakukan pada semua node dalam setiap level secara berurutan dari kiri ke
kanan. Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada
level berikutnya. Demikian seterusnya sampai ditemukan solusi. Dengan strategi ini,
maka dapat dijamin bahwa solusi yang ditemukan adalah yang paling baik (Optimal).
Tetapi BFS harus menyimpan semua node yang pernah dibangkitkan. Hal ini harus
dilakukan untuk penelusuran balik jika solusi sudah ditemukan. Gambar 2.4
mengilustrasikan pembangkitan pohon BFS untuk masalah Water Jug. Pembangkitan
suksesor dari suatu node bergantung pada urutan dari Aturan Produksi yang dibuat (lihat
gambar 2.3). Jika urutan dari aturan 4 ditukar dengan aturan 5, maka pohon BFS yang
dibangkitkan juga akan berubah.

Depth-First Search (DFS)

Pencarian dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada
level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node
sebelah kanan. Node 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. Jika solusi ditemukan maka tidak
diperlukan proses backtracking (penelusuran balik untuk mendapatkan jalur yang
dinginkan).

Kelebihan DFS adalah:
• Pemakain memori hanya sedikit, berbeda jauh dengan BFS yang harus
menyimpan semua node yang pernah dibangkitkan.
• Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS
akan menemukannya secara cepat.

Kelemahan DFS adalah:
• Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka
tidak ada jaminan untuk menemukan solusi (Tidak Complete).
• Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang
berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling
baik (Tidak Optimal).

Strategi Pencarian

Terdapat empat kriteria dalam strategi pencarian, yaitu:

• Completeness: Apakah strategi tersebut menjamin penemuan solusi jika
solusinya memang ada?
• Time complexity: Berapa lama waktu yang diperlukan?
• Space complexity: Berapa banyak memori yang diperlukan?
• Optimality: Apakah strategi tersebut menemukan solusi yang paling baik jika
terdapat beberapa solusi berbeda pada permasalahan yang ada?

Strategi Kontrol

Syarat-syarat strategi kontrol:
• cause motion. Perhatikan kembali water jug problem. Jika kita
mengimplementasikan strategi kontrol sederhana dengan selalu memilih aturan
pertama pada daftar 12 aturan yang telah dibuat, maka kita tidak akan pernah
memecahkan masalah. Strategi kontrol yang tidak menyebabkan motion tidak
akan pernah mencapai solusi.
• Systematic. Strategi kontrol sederhana yang lain untuk water jug problem: pada
setiap siklus, pilih secara random aturan-aturan yang dapat diaplikasikan. Strategi
ini lebih baik dari yang pertama, karena menyebabkan motion. Pada akhirnya
strategi tersebut akan mencapai solusi. Tetapi mungkin kita akan mengunjungi
beberapa state yang sama selama proses tersebut dan mungkin menggunakan
lebih banyak langkah dari jumlah langkah yang diperlukan. Hal ini disebabkan
strategi kontrol tersebut tidak sistematik. Beberapa strategi kontrol yang
sistematik telah diusulkan, yang biasa disebut sebagai metoda-metoda dalam
teknik searching. Di bab ini, akan dibahas enam metoda, yaitu Breadth First
Search, Uniform Cost Search, Depth First Search, Depth-Limited Search,
Iterative-Deepening Depth-First Search, dan Bi-directional search. Masingmasing
metoda tersebut mempunyai karakteristik yang berbeda.

Sistem Produksi

Sistem produksi terdiri dari:

Himpunan aturan, masing-masing terdiri dari sisi kiri (pola) yang menentukan
kemampuan aplikasi dari aturan tersebut dan sisi kanan yang menggambarkan
operasi yang dilalukan jika aturan dilaksanakan.
• Satu atau lebih pengetahuan atau basis data yang berisi informasi apapun untuk
tugas tertentu. Beberapa bagian basis data bisa permanen, dan bagian yang lain
bisa hanya merupakan solusi untuk masalah saat ini. Informasi dalam basis data
ini disusun secara tepat.
Strategi kontrol yang menspesifikasikan urutan dimana aturan akan
dibandingkan dengan basis data dan menspesifikasikan cara pemecahan masalah
yang timbul ketika beberapa aturan sesuai sekaligus pada waktu yang sama.
A rule applier (pengaplikasi aturan).

Karakteristik Masalah Dalam AI

• Apakah masalahnya dapat didekomposisi menjadi himpunan sub masalah yang (hampir) independen lebih kecil atau lebih mudah ?
• Dapatkah langkah penyelesaian diacuhkan paling tidak dibatalkan ketika dapat
dibuktikan hal tersebut tidak bijaksana ?
• Apakah universe masalahnya dapat diprediksi ?
• Apakah solusi yang baik dari masalah tertentu jelas tanpa membandingkan
dengan seluruh solusi lain yang mungkin ?
• Apakah solusi yang diinginkan sebuah keadaaan dari dunia atau sebuah jalur dari
keadaan ?
• Apa peran dari pengetahuan ?
• Apakah pekerjaan memerlukan interakasi dengan manusia ?

Penyelesaian Masalah berdasarkan teknik AI

Empat hal untuk membangun sistem atau memecahkan masalah tertentu :
1. Definisikan masalah dengan jelas
2. Analisis masalah
3. Kumpulkan dan representasikan knowledge
4. Pilih teknik pemecah masalah terbaik dan gunakan untuk masalah tertentu

Mendefinisikan Masalah sebagai “State Space Search” (SSS)
Misalnya permainan catur , maka SSS nya adalah :
Menspesifikasikan posisi awal dari papan catur
Peraturan (rules) yang mendefinisikan langkah-langkah yang legal
Posisi papan yang merepresentasikan pemenang dari satu sisi atau sisi lainnya.
Tujuan (Goal) dari permainan adalah : memenangkan permainan.


Penyelesaian Masalah berdasarkan teknik AI

Empat hal untuk membangun sistem atau memecahkan masalah tertentu :
1. Definisikan masalah dengan jelas
2. Analisis masalah
3. Kumpulkan dan representasikan knowledge
4. Pilih teknik pemecah masalah terbaik dan gunakan untuk masalah tertentu

Mendefinisikan Masalah sebagai “State Space Search” (SSS)
Misalnya permainan catur , maka SSS nya adalah :
Menspesifikasikan posisi awal dari papan catur
Peraturan (rules) yang mendefinisikan langkah-langkah yang legal
Posisi papan yang merepresentasikan pemenang dari satu sisi atau sisi lainnya.
Tujuan (Goal) dari permainan adalah : memenangkan permainan.