Selasa, 08 November 2011

Resume Sistem Pakar

  1. Definisi sistem pakar
Sistem pakar adalah sebuah program computer yang mencoba meniru atau mensimulasikan pengetahuan (knowledge) dan keterampilan (skill) dari seorang pakar pada area tertentu.
Sistem ini akan mencoba memecahkan suatu permasalahan sesuai dengan kepakarannya.
·         Sistem pakar merupakan salah satu aplikasi dari kecerdasan buatan(artificial intelligence).
·         AI sendiri berakar dari keinginan manusia untuk membuat sebuah mesin cerdas.
·         Dewasa ini sistem pakar telah diaplikasi dalam banyak bidang, misalnya : industri manufaktur, pertanian, medis, militer de-es-be.
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’
7.      atau ’tidak yakin’ pada satu atau lebih pertanyaan selama konsultasi dan sistem pakar tetap akan memberikan jawaban.
8.      Tidak memerlukan biaya saat tidak digunakan
9.      Dapat digandakan (diperbanyak) sesuai kebutuhan dengan waktu yang minimal dan sedikit biaya
10.  Dapat memecahkan masalah lebih cepat daripada kemampuan manusia dengan catatan menggunakan data yang sama.
11.  Menghemat waktu dalam pengambilan keputusan
12.  Meningkatkan kualitas dan produktivitas karena dapat memberi nasehat yang konsisten dan mengurangi kesalahan
13.  Meningkatkan kapabilitas sistem terkomputerisasi yang lain.
14.  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
3.    Sistem pakar tidak 100% benar
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 :
1.     keahlian,
2.     ahli/pakar,
3.     pengalihan keahlian,
4.     Mengambil keputusan,
5.     aturan,
6.     kemampuan menjelaskan.

Contoh Permasalahan
Contoh klasik permasalahan dalam sistem pakar adalah masalah 2 ember air. “Diberikan 2 ember air yang berkapasitas 8 liter dan 6 liter. Kita dapat mengisi satu ember dari ember lainnya dan proses penakarannya hanya dengan memakai 2 ember tersebut. Bagaimana kita bisa mendapatkan tempat 4 liter dalam 8 ember. Asumsikan tidak ada air yang hilang dalam proses penakaran”
Langkah penyelesaian :
1.      Menentukan aksi-aksi (problem space) yang bisa mengubah kondisi pada kedua ember dalam bentuk rule atau tree-diagram seperti dalam gambar  contoh kemungkinana aksi dibawah ini :
a)      Isi ember 8 liter
b)      Isi ember  6 liter
c)      Kosongkan ember  8 liter
d)      Kosongkan ember  6 liter
e)      Isikan seluruh air dalam ember  8 liter ke 6 liter
f)       Isikan seluruh air dalam ember  6 liter ke 8 liter
g)      Penuhi ember  8 liter dari 6 liter
h)      Penuhi ember  6  liter dari 8 liter

2.      Menentukan urutan aksi untuk menghasilkan solusi, seperti :

Struktur Sistem Pakar
     Secara umum struktur sebuah sitem pakar terdiri atas 3 komponen utama, yaitu :
1.      Knowledge base (Basis pengetahuan) adalah bagian dari sebuah sistem pakar yang mengandung/menyimpan pengetahuan (domain knowledge).
2.      Working memory mengandung/menyimpan fakta-fakta yang termuka selama proses konsultasi dengan sistem pakar. Selama proses konsultasi, user memasukkan fakta-fakta yang dibutuhkan. Kemudian sistem akan mencari padanan tentang fakta tersebut dengan informasi yang ada dalam knowledge base untuk menghasilkan fakta baru.
3.      Inference engine bertugas mencari padanan antara fakta yang ada di dalam working memory dengan fakta-fakta domain knowledge tertentu yang ada di dalam knowledge base, kemudian inference engine mengabil kesimpulan dari problem yang diajukan kepada sistem.
Gambar Struktur dasar sistem pakar

Heuristic Searching Sebagai Dasar dari Artificial Intelligence Note:
(AI)
         Para peneliti awal kecerdasan buatan menitik beratkan pada penyelesaian masalah yang tidak menggunakan metoda komputasi konvensional. Hal ini disebabkan metoda pemecahan masalah konvensional tidak dapat lagi digunakan. Permasalahan pada sistem AI tidak memiliki algoritma tertentu. Kalaupun ada tentulah sangat kompleks.
         Karena itu haruslah ditemukan sebuah teknik baru yang mirip dengan cara yang digunakan oleh manusia untuk menyelesaikan masalah dan dapat diimplementasikan pada komputer.
         Salah satu metoda yang cukup terkenal adalah metoda searching.
         Searching dalam sebuah struktur data telah menjadi dasar bagi algoritma komputer, tetapi proses searching pada AI memiliki perbedaan. Metoda searching pada AI merupakan searching problem space bukan searching data (e.g., angka, karakter, string) tertentu. Proses searching ini berupa jalur yang menggambarkan keadaan awal sebuah masalah menuju kepada penyelesaian masalah yang diinginkan (i.e., the solved problem). Jalur-jalur ini mengambarkan langkah-langkah penyelesaian masalah. Melalui proses searching menuju sebuah penyelesaian akan terbentuk sebuah solution space.
         Perhatikan contoh penyelesaian masalah komputer pada Gambar dibawah ini Langkah pertama untuk mengetahui apakah komputer dapat digunakan atau tidak adalah men-switch ON. Selanjutnya dengan melakukan inspeksi terhadap kondisi lampu indikator kita dapat menentukan langkah berikutnya. Misalnya kondisi lampu OFF. Dengan melakukan searching terhadap problem space kita akan tiba pada sebuah penyelesaian masalah agar komputer dapat diaktifkan kembali.


2.    Sistem Berbasis Aturan (Rule Based System)
Sistem berbasis aturan adalah sebuah program yang menggunakan aturan IF-THEN.
Model ini berbeda debgan pemrograman konvensional, misalnya rule tidak harus berada pada urutan tertentu.
Contoh dari sistem berbasis aturan adalah sbb:
IF Sabtu OR Minggu                  THEN Nonton bioskop
IF  NOT (Sabtu OR Minggu)       THEN Bekerja
IF Nonton Bioskop                      THEN pergi keluar
IF Bekerja                                  THEN pergi keluar
IF NOT (Bisa pergi keluar)         THEN Tinggal di rumah
IF  Cuaca baik                           THEN Bisa pergi keluar
IF  Hujan                                                THEN Bawa Payung
IF  Hujan            AND Bawa Payung      THEN Bisa pergi keluar

Perbedaan Sistem Konvensional dan Sistem Pakar
Sistem Konvensional
Sistem Pakar
Fokus pada solusi
Fokus pada problem
Programmer bekerja sendiri
Team-work
sequensial
iterative

Data, Informasi dan Pengetahuan (Knowledge)
·         Data merupakan hasil pengukuran atau catatan (record) tentang sebuah kejadian (misalnya : suhu, waktu, harga,dsb ). Data dapat berupa angka, huruf, gambar, suara dsb.
·         Informasi merupakan hasil olahan dari data sedemikian rupa sehingga karakteristik dari data tersebut dapat diuji, misalnya rata-rata, varian, distribusi dsb.
·         Pengetahuan merupakan informasi yang diletakkan pada konteks/lingkungan tertentu, misalnya peta jawa, distribusi kinya di Indonesia, dsb.

Keuntungan Representasi dengan Rule-Based
·         Modularity :
Karena setiap rule pada KBS dibagi secara jelas, maka mudah dan flexibel bagi knowledge engineer untuk menambah, memodifikasi, menghapus rule yang ada.
·         Uniformity :
Semua Knowledge pada sistem mempunyai format yang sama
·         Naturalness :
Rule adalah ekspresi yang natural dari Knowledge


Kerugian representasi dengan Rule-Based
·         In-efficiency :
Exekusi untuk pencocokan rule dan fakta memerlukan waktu yang lama (Setiap 1 cycle, harus menguji banyak rule).
·         Coverage Domain :
Berbeda permasalahan, akan beda rule dan setiap domain permasalahan akan memerlukan puluhan bahkan ratusan rule.

Proses Reasoning
·         Proaes reasoning dari sebuah sistem berbasia atruran adalah tahapan proses mulai dari sekumpulan fakta menuju solusi, jawaban dan kesimpulan.
·         Terdapat dua macam cara yang dapat digunakan untuk menghasilkan suatu kesimpulan, yaitu :
o   Forward Chaining (data driven) : kesimpulan dihasilkan dari seperangkat data yang diketahui.
-          Forward Chaining yang diimplementasikan sebagai inference networks sangat baik untuk aplikasi monitoring dan diagnosa yang control sistemnya ‘real time’
-          Juga sangat baik untuk persoalan yang relasi antar faktanya sangat mudah ditetapkan
o   Backward Chaining (goal driven) : memilih beberapa kesimpulan yang mungkin dan mencoba membuktikan kesimpulan tersebut dari bukti-bukti yang ada.
-          Backward Chaining sangat sesuai  untuk aplikasi yang inputnya sangat banyak, dibandingkan konklusinya.
-          Juga sangat baik untuk persoalan diagnosis (mis medical diagnosis) dimana user berhubungan langsung dengan KBS.

Forward Reasoning
Merupakan proses inferensi dimulai dari seperangkat data yang ada menuju ke kesimpulan.
Fungsi masing-masing step untuk gambar diatas dijelaskan sebagai berikut :
1.      Matching
Adalah setiap rule yang ada pada basis pengetahuan dibandingkan dengan fakta-fakta yang diketahui untuk mencari rule mana yang memenuhiaaaaa(istilah ‘memenuhi’ berarti : situasi, premis, atau antecedent bernilai benar).
2.      Confict Resolution
Pada langkah pertama sangat mungkin dihasilkan suatu kondisi dimana beberapa rule dipenuhi. Conflict Resolution bertugas untuk mencari rule dimana yang memiliki prioritas tertinggi yang berpotensi untuk dieksekusi.
3.      Education
Langkah terakhir dari proses forward reasoning adalah eksekusi dari rule. Proses ini menghasilkan dua kemungkinan, yaitu : fakta baru diturunkan dan ditambahkan fact base atau rule baru dihasilkan dan ditambahkan ke knowledge base.
Backward Reasoning
Mekanisme inferensi pada backward reasoning berbeda dengan forward reasoning. Walaupun kedua proses melibatkan pengujian terhadap masing-masing rule, backward reasoning mulai dari konklusi yang diharapkan menuju fakta-fakta yang mendukung konklusi tersebut.

3.    Propositional Logic dan Predicate Calculus
Propositional Logic
Propositional Logic Merupakan salah satu bentuk (bahasa) representasi logika yang paling tertua dan paling sederhana.
Beberapa fakta dapat digambarkan dan dimanipulasi dengan menggunakan aturan-aturan aljabar Boolean.
Propositional logic membentuk statement sederhana atau statement yang kompleks dengan menggunakan propositional connective, dimana mekanismen ini menentukan kebenaran dari sebuah statement kompleks dari kebenaran yang direpresentasikan oleh statement lain yang lebih sederhana.
Beberapa operator penghubung yang sering kali dipakai dalam propositional logic antara lain:

Tabel Operator penghubung

Tabel Kebenaran


 Predicate Calculus
·         Kalkulus predikat, disebut juga logika predikat member tambahan kemampuan untuk mempresentasikan pengetahuan dengan lebih cermat dari rinci.
·         Representasi pengetahuan dengan menggunakan predicate calculus merupakan dasar bagi penulisan bahasa pemrograman PROLOG
·         Contoh :
Propositional : Manusia menjelajah Mars
Predicate calculus : Jelajah (manusia, mars)
Propositional : Jono menyukai Rebeca
Predicate calculus :  suka (jono, rebeca)
Propositional :  Rebeca cantik
Predicate calculus : cantik (Rebeca)
Variabel
·         Dimana predicate calculus huruf dapat digunakan untuk menggantikan argument
·         Simbol-simbol juga bisa untuk merancang beberapa objek atau individu.
Contoh : x = jono, y = Rebeca, maka pernyataan jono menyukai Rebeca dapat ditulis dalam bentuk predicate calculus suka (x,y).
·           Dalam beberapa hal variable dibutuhkan agar pengetahuan dapat diekspresikan dalam kalkulus predikat sehngga nantinya dapat dimanipulasi dengan mudah dalam proses inferensi.
Fungsi
·         Predicate calculus memperbolehkan penggunaan symbol untuk mewakili fungsi-fungsi.
Contoh : ayah (jono)=Santoso, ibu (Rebeca)=Rini
·         Fungsi juga dapat digunakan bersamaan dengan predikat
Contoh : Teman (ayah(Jono), ibu(Rebeca)=teman(Santoso.Rini)
Operator
Predicate calculus menggunakan operator yang sama seperti operator-operator yang berlaku pada propotional logic.
Contoh :
Diketahui dua buah statement sebagai berikut :
Suka (Jono.Rebeca)
Suka (Dani,Rebeca)
Pada 2 predikat diatas, terdapat dau oarng menyukai rebeca. Untuk memberikan pernyataan adanya kecemburuan di antara mereka, maka:
Jika suka(x,y) AND suka(z,y), maka TIDAK suka(x,z).





4.    Membangun KBS dengan Sistem Berbasis Aturan
Sebagai contoh permasalahan akan diambil kasus pada Health Maintenance Organization (HMO).
HMO adalah sebuah organisasi yang member layanan kesehatan bagi anggotanya, misalnya layanan pengobatan, layanan panggilan ambulan, dsb.
Untuk menjamin bahwa masalah kesehatan serius akan mendapatkan prioritas layanan, seorang manajer telah menempatkan seseorang untuk melakukan screening awal terhadap pasien. Screering dilakukan dengan cara berkonsultasi dengan sistem pakar untuk menentukan status dan jenis layanan yang tepat bagi pasien.
Langkah-Langkah membangun KBS
·         Langkah 1 : Isolasi area bagi KBS
Untuk membatasi permasalahan pada sistem pakar yang akan dibangun harus diberikan batasan organisasi dan juga layanan yang dapat diberikan oleh sistem. Sebagai contoh untuk sistem HMO, batasan struktur organisasi dan layanan ditunjukkan dalam gambar.
·         Langkah 2 : Target Keputusan
Langkah selanjutnya adalah menentukan target keputusan bagi sistem pakar. Pasien pada umumnya membutuhkan bantuan untuk penyakit yang baru diderita (new case) atau penanganan kelanjutan dari penyakit yang sudah lama diderita (flow up case).  Atau mungkin juga pasien yang lainnya membutuhkan informasi atau layanan ini, sedangkan mereka yang bukan merupakan anggota akan diarahkan untuk ikut serta dalam keanggotaan HMO. Karena iti dapat ditentukan dalam 3 hal factor utama yang menentukan target keputusan,yaitu :
-          HMO status : Bagaimana status keanggotaan dari pasien? Deklarasi keanggotaan dari pasien akan diikuti dengan validasi nomor id.
-          Reason : Apa alas an datang ke HMO? Apakah new case, follow-up case, information seeking other visit?
a)       

b)       

Gambar Blok diagram organisasi dan layanan HMO

-          Problem : Bagaiamana keseriusan dari kondisi pasien sekarang? Dalam hal ini dapat diidentifikasi dari temperature dan symptom yang lain.

·         Langkah 3 : Membuat Dependency Diagram (Diagram Ketergantungan)

Gambar Dependency Diagram HMO

·         Langkah 4 : Membuat Tabel Keputusan
Tabel keputusan diturunkan dari  Dependency diagram pada gambar diatas,karena dalam gambar tersebut terdapat tiga segitiga, maka akan terdapat 3 tabel keputusan. Tabel keputusan untuk set 1 (Rule 1-5) adalah sebagai berikut :
Gambar Blok diagram target keputusan








Tabel keputusan set 1


Penyederhanaan table keputusan set 1


·         Langkah 5 : Menulis IF-THEN Rule
Berdasarkan table keputusan yang telah direduksi dapat diturunkan sistem berbasis aturan seperti ditunjukkan dibawah ini :










Tidak ada komentar:

Posting Komentar