Sistem Pakar Dan Logika Fuzzy - Repository UNIKOM

  SISTEM PAKAR (Expert System)

  • Sistem Pakar merupakan kumpulan pengetahuan

  (basis pengetahuan) dari beberapa pakan yang digunakan untuk memecahkan suatu masalah

  • Pada sistem pakar digunakan representasi pengetahuan berupa RULE (IF.. THEN), sehingga suatu sistem pakar merupakan kumpulan dari beberapa RULE

  Beberapa aplikasi sistem pakar :

  • Interpreting and identifying
  • Instructing and training
  • Predicting • Controlling • Diagnosing • Monitoring • Designing • Planning • Debugging and testing

  

Keuntungan Sistem Pakar

  • Memungkinkan orang awam mengerjakan pekerjaan para ahli
  • • Bisa melakukan proses secara berulang secara

    otomatis
  • Menyimpan pengetahuan dan keahlian para pakar (khususnya untuk pengetahuan yg langka)
  • • Mampu mengambil dan melestarikan keahlian

    pakar
  • Memasukkan faktor ketidakpastian
  • Menghemat waktu dalam mengambil keputusan

  Kelemahan sistem pakar

  • Sistem pakar biasanya dipakai hanya pada bidang tertentu sesuai dengan kepakaran
  • Penambahan pengetahuan baru bisa mengubah program secara keseluruhan
  • Kepastian dalam sistem pakar hanya berupa pendekatan saja.

  

Sistem Pakar dapat diorganisasikan

menjadi

  • Knowlegde base : berisi rule/kaidah pemecahan masalah, prosedur dan data intrinsik yang berhubungan dengan problem domain
  • Working memory : Tempat menyimpan data dari masalah yang akan dikerjakan
  • Inference engine : Mekanisme yang mencari kesimpulan dengan cara mencocokkan pengetahuan di knowlegde base dan terhadap masalah yang muncul

  Inference Engine Working Memory

  Knowledge Base Knowledge Engineers

  Users Expert

A. Pemodelan Basis Pengetahuan

  (Knowledge Base)

  • Jaringan Semantik • Frame • Script • Rule If-then
  • Logika Predikat

  

Jaringan Semantik

  • Merupakan gambaran pengetahuan yang dimodelkan secara grafis yang menunjukkan hubungan antar obyek
  • Obyek digambarkan dengan lingkaran, obyek bisa berupa peristiwa ataupun fakta. Hubungan antar obyek dinyatakan dengan garis: Contoh relasi obyek: Mesin dibuat di toko, mesin menghasilkan gear dibuat

  Mesin Toko

  Semantic Network Operator Error Caused by Scrap number is

  20 is a Part Needs Inspection Quality Teeth Generated by has Gear Condition is Requires is a Good Destination is Cutting Assembly Order Rotor Customer Shipping

  

Pohon Keputusan

  • Merupakan jaringan semantik khusus yang penalarannya dimulai dari atas puncak

  A: Apakah anda sakit A

  B: Apakah sakitnya di tulang

  C: Jika sehat apakah sering cek B C kesehatan

  D: Jika di gigi berarti berlubang F E D

  E: Jika di kulit atau bagian lain hubungi dokter F: Hati-hati penyakit dalam

  

Frames

  • Berupa tabel dengan tiap slot bisa berisi

  fakta, obyek, kelas dari obyek, situasi dan kejadian

  • Urutan proses teratur berdasarkan kolom

  Contoh : - Tabel pencocokan/Keputusan - Tabel kesamaan - Tabel perbedaan

  Contoh Frame Gear Teet Number

  20 Assembly Rotor Production Method Cutting Delivery Date 9/2/03

  Script

  • Representasi pengetahuan yang berupa skenario atau urutan kejadian
  • Komponen script:
    • Kondisi masukan
    • Hasil yang diinginkan
    • Aturan - Urutan peristiwa

  • Contoh Script:
    • Prosedur mematikan Proyektor Komputer - Skenario film

  Rule

  • Rule (Kaidah) dinyatakan dalam bentuk perintah If-Then: If premis Then Kesimpulan If input Then Output If kondisi Then aksi If antecedent Then konsekuensi If data Then Hasil • Beberapa premis atau antecendent dapat dihubungkan dengan logika AND atau OR

  A B C H E D F G

  Latihan

  • Cobalah buat Rule dari semantik berikut:

  I y y y y y y y y y t t t t t t t t

LOGIKA PREDIKAT

  Logika predikat memberikan bagian fungsi dan fakta dalam bentuk Predikat(fakta, data)

  Contoh : Produksi(meja, kursi, 30, sofa) OAV triplet

  Object Attribute Value Gear Number of Teeth

  20

  Penggabungan Frame dengan Rule ROOT FRAME SUBFRAME PARMS : Frame Name : ASSET LESSEE-CASH PARMS : Frame Name : Finance FINANCE- INTEREST PRESERVES-CASH CANNOT-BORROW ACQUIRE-BY FINANCE-PERIOD ASSET-COST DOWN-PAYMENT 1 RULE : THEN CANNOT-BORROW IF LESSE-CREDIT = POOR 1 RULE : THEN FINANCE-IT (calculation) IF ACQUIRE-BY=PURCHASE 2 THEN HOW-T0-ACQUIRE BY = LEASE IF CANNOT-BORROW OR PRESERVES-CASH THEN FINANCE-IT (calculation) AND ACQUIRE=LEASE 3 2 IF FINANCE-IT IS KNOWN IF ACQUIRE-BY=LEASE

  3 IF LESSE-CREDIT=FAIR AND CASH-RESERVE-NEEDED AND LESSEE-CASH = FAIR THEN PAYMENT = (external calculation) 4 THEN HOW-TO-AQUIRE=BUY IF HOW-TO-ACQUIRE IS NOTKNOWN THEN PRESERVE-CASH BUY-THE-ASSET

  Logika Predikat

  • Logika predikat dikembangkan dari propositional logic Logika propositional
  • Suatu kalimat logika ini terdiri dari beberapa atomic proposition yang dihubungkan menggunakan logical connectivity

    

  • Misal Proposition P: Alison suka wafel

  Propositin Q: Alison makan wafel maka: : Alison suka wafel atau Alison makan wafel

  Q P

  : Alison suka wafel dan Alison makan wafel

  Q P

  : Alison tidak makan wafel

  Q

  : If Alison suka wafel maka Alison makan

  Q P

  wafel

  Logika Predikat

  Dalam kalimat logika predikat beberapa fakta dan variabel dihubungkan menggunakan fungsi berupa predikatnya :

  • teman(alison, richard)
  • teman(ayah(fred),ayah(joe))
  • Suka(X,richard) Beberapa kalimat logika predikat dapat juga dihubungkan menggunakan penghubung logika

  

  • teman(alison,richard) suka(alison,richard)

  

  • suka(alison,richard) suka(alison,wafel)

  

  • ((suka(alison,richard) suka(alison,wafel)

  

  suka(alison,wafel)) suka(alison,richard)   Suatu kalimat logika predikat dapat juga dinyatakan menggunakan quantifier ( dan )

   

   

  • X burung(X) terbang(X)

  

  Terdapat beberapa burung yang tidak bisa terbang

  • X(orang(X) Y cinta(X,Y))

    

  Setiap orang memiliki sesuatu yang dicintai Latihan :

  • X meja(X) jumlah_kakinya(X,4)

    

  Terdapat beberapa meja yang jumlah kakinya tidak

  4

    

  • X (macintosh(X) betul-betul_komputer(X))

  Jika sesuatu benda adalah macintosh maka benda itu bukan betul-betul komputer

   

  

  • X kue_creepes(X) (rasa(X,manis) rasa(X,pedas))

  Logika predikat dan frame

  Dapat saja logika predikat menyatakan bentuk frame misalnya jika terdapat obyek gajah memilik slot warna dengan value abu-abu maka

     

  • X gajah(X) warna(X,Y) abu-abu(Y)

B. Inferensi Engine dengan Model

  Penalaran

  Penalaran merupakan proses lanjut dari representasi pengetahuan untuk menyelesaikan masalah

  1. Sistem berbasiskan Rule

  • Forward chaining system|

  Fakta membuat suatu kesimpulan

  • Backward chaining system

  Kesimpulan telah ada kemudian mencari faktanya

  2. Deduktif dan induktif Deduktif : dari informasi umum menjadi informasi khusus Induktif : dari informasi khusus menjadi informasi

  Contoh Forward Chaining System

  Terdapat beberapa Rule

  1. IF (kuliah X) AND (ikut praktikum X) THEN ADD (kerja lembur X)

  2. IF (bulan februari) THEN ADD (kuliah alison)

  3. IF (bulan februari) THEN ADD (ikut praktikum X)

  4. IF (kerja lembur X) OR (kurang tidur X) THEN ADD (bad-mood X)

  5. IF (bad-mood X) THEN DELETE (gembira X)

  6. IF (kuliah X)

  Misal di memory ada (bulan februari) (gembira alison) (mencari alison) Dari RULE 2 dan 3 (kuliah alison) (bulan februari) (gembira alison) (mencari alison) Dari rule 3 dan 1 (kerja lembur alison) (ikut praktikum alison) (kuliah alison) (bulan februari) (gembira alison) (mencari alison)

  Dari rule 4 dan 6 kemudian 5 (bad mood alison) (kerja lembur alison) (ikut praktikum alison) (kuliah alison) (bulan februari)

  Contoh Forward Chaining

  • Diketahui aturan sistem Pakar:

  R1 : IF suku bunga turun THEN harga obligasi naik R2 : IF suku bunga naik THEN harga obligasi turun R3 : IF suku tidak berubah THEN harga obligasi tidak berubah R4 : IF dolar naik THEN suku bunga naik R5 : IF dolar turun THEN suku bunga naik R6 : IF harga obligasi turun THEN beli obligasi

  • Jika dolar turun apakah obligasi akan dibeli?

  3. Monotonik dan nonmonotonik

  • Monotonik : penalaran dari parameter yang tidak akan pernah berubah once a thief, always a thief
  • Non monotonik : penalaran dengan parameter yang bisa berubah sekarang presiden dulu anak petani

  4. Penalaran berdasarkan pelacakan diagram semantik :

  • Depth-First Search : pelacakan ke simpul premis terdalam tanpa melacak premis di dekatnya yang tidak diperlukan
  • Breadth-First Search : semua premis pada cabang dilacak baru pindah ke simpul terdalam

  Goal State Depth-first search Breadth-first search

  

Pemrograman sistem pakar

  • Sekuensial Pemrograman yang berurutan
  • Rekursif Pemrograman dengan memanggil berulang terhadap dirinya untuk menentukan kesimpulan sementara. Kesimpulan sementara diperoleh setelah kesimpulan terakhir didapat

  • Contoh : Pemrograman Sekuensial Ada 2 buah teko masing-masing berkapasitas 4 galon (teko A) dan 3 galon (teko B). Tidak ada tanda yang menunjukkan batas ukuran pada kedua teko tersebut. Ada sebuah pompa air yang akan digunakan untuk mengisi air pada kedua teko tersebut. Permasalahannya bagaimana dapat mengisikan tepat 2 galon air ke dalam teko yang berkapasitas 4 galon

  Air tak terbatas Teko A

  Teko B

  

Aturan

1: Jika x < 4 maka isi teko A (4,y) 2: Jika y < 3 maka isi teko B (x,3) 3: Jika x > 0 maka tuangkan sebagian air keluar dari teko A (x-d,y) 4: Jika y>0 maka tuangkan sebagian air keluar dari teko B (x,y-d) 5: Jika x > 0 maka kosongkan teko A dengan membuangnya ke tanah (0,y)

6: Jika y > 0 maka kosongkan teko B dengan membuang airnya ke

tanah

  7. JIka x+y≥4 dan y >0 maka tuangkan air dari teko B ke teko A sampai teko A penuh

  8. Jika x+y ≥3 dan x>0 tuangkan air dari teko A ke teko B sampai teko B penuh

  9. Jika x+y≥4 dan y >0 tuangkan seluruh air dari teko B ke teko A

  

10. JIka x+y ≥3 dan x>0 tuangkan seluruh air dari teko A ke teko B

  11. Jika (0,2) tuangkan 2 galon air dari teko B ke Teko A

  12. JIka (2,y) kosongkan 2 galon air di teko A dengan membuangnya ke tanah

  Solusi

  • Isi Teko A Isi Teko B Aturan pakai

  2

  3

  9

  3

  2

  3

  3

  7

  4

  2

  5

  2

  9

  2 solusi

  

Contoh Rekursif

  • Pindahkan 3 keping satu per satu dari A ke B dengan aturan yang kecil tidak boleh dibawah yang besar

  A B C

  • pindahkan satu keping dari a ke c
  • pindahkan satu keping dari a ke b
  • pindahkan satu keping dari c ke b
  • pindahkan satu keping dari a ke c
  • pindahkan satu keping dari b ke a
  • pindahkan satu keping dari b ke c
  • pindahkan satu keping dari a ke c

  Deskripsi AI

IV. Pengaruh Ketidakpastian pada

  Penalaran

  • Di dalam pengambilan keputusan penalaran yang merupakan kunci utama sering dipengaruhi oleh fakta yang tidak pasti misalnya : Saat orang yang sembuh ditanya apakah sudah masih sakit atau tidak. Jawabnya adalah sudah mendingan
  • Ketidakpastian ini muncul dari pamahaman intuitif (intuitive insight) yang merupakan realita dari manusia
  • Ketidakpastian ini terkadang sulit untuk diterapkan pada sistem berbasis komputer
  • Karena ketidakpastian ini merupakan realita

IV.1. Pendekatan Bayesian

  • Menggunakan teori probabilitas dengan menganggap suatu ketidakpastian adalah suatu kejadian (event) yang saling berpengaruh.
  • Misal [B 1 , B 2 ,.., B n ] adalah kejadian pada ruang

   sampel S dengan P(B ) 0 untuk i = 1,2, ..n. i

  Misal A adalah suatu kejadian sembarang pada

  P B A P B P A | B

   k     k k

  S maka

  P ( B | A )   k n n

  P B A P B P A | Bi i i

          i   1 i

  1 B B 3 4 B 1 B 2 A B n B B 5 k

  • Contoh : 2% dari populasi terkena TBC Diberikan fakta : P(T)=0,02 Tentukan variabel : P(X|T), P(X|Not-T), P(T|X)

    P(X|T) : Probabilitas bahwa foto sinar X dari orang TBC adalah

    positif P(X|Not-T) : Probabilitas bahwa foto sinar X dari orang sehat adalah positif

    P(T|X) : Probabilitas bahwa seorang dengan foto sinar X positif

  terkena TBC

  • Diberikan data : P(X|T) = 0,9;

  P(X|Not-T)=0,01 Carilah P(T|X) Jawab :

  P ( T ) P ( X | T ) P T |

  X

    P ( T ) P ( X | T ) P ( Not T ) P ( X | Not T )

    

  ( , 02 )( , 90 ) , 648

   

  ( , 02 )( , 9 ) ( , 98 )( , 01 ) 

  IV. 2. Tabel Keputusan (Decision table) dan Pohon Keputusan (Decision Tree)

  Tabel Keputusan untuk seleksi tugas Aksi Tugas I Tugas 2 Tugas 3 Kejadian Long Medium Short Long Medium Short Long Medium Short

  Hujan

  I I U

  I U D

  I I U Tidak Hujan

  I D D U D D U U U I = Increased duration, D = Decreased duration, U = Unchanged duration

AKSI OUTCOME KEJADIAN KONSEKUENSI

  0,35 hujan Increased duration (0,2275) 0,65 long 0,30 0,35 medium hujan

Tidak hujan

0,65 Increased duration Increased duration (0,1050) (0,4225) 1,0 short 0,05 0,35 hujan 0,65

Tidak hujan

decreased duration unchanged duration (0,0175) (0,1950) Tugas 1

Tidak hujan

hujan (0,1120) 0,65 decreased duration Increased duration (0,0325) Tugas 2 0,32 long medium hujan

Tidak hujan

0,65 0,35 unchanged duration (0,1435) (0,2080) 0,27 short 0,41 0,35 hujan

Tidak hujan

0,65 decreased duration decreased duration unchanged duration 1,0 (0,0945) (0,2665) hujan (0,0350) 0,65 0,35

Tidak hujan

decreased duration (0,1755) Tugas 3 long Tidak hujan unchanged duration Increased duration (0,0650) medium hujan unchanged duration Increased duration (0,3900) (0,2100) 1,0

IV.3. Certainty Factor

  • • Certainty Factor (CF) atau Confident Factor digunakan untuk

    menentukan ketidakpastian pada metoda heuristik dengan menetapkan nilai secara heuristik antara –1 sampai 1.
  • Digunakan pada RULE dengan aturan :
    • CF dari conjunction (AND) dari beberapa fakta diambil CF yang minimum
    • CF dari disjunction (OR) dari beberapa fakta diambil CF maksimum
    • CF dari kesimpulan yang diperoleh dari hasil kali CF masing-masing premisenya
    Contoh : Rule 1 : IF A and B and C, THEN simpulkan D (CF=0.8) Rule 2 : IF H and I and J, THEN simpulkan D (CF=0,7)

  • • Jika CF dari A, B, C, H, I, J adalah 0,7; 0,3; 0,5; 0,8; 0,7; 0,9 maka CF dari

    komputasi untuk D adalah 0,49
  • Dari Rule 1 : Min[CF(A), CF(B), CF(C)] = Min[0,7;0,3;0,5]=0,3 CF(D) pada Rule 1 = Min[CF(A), CF(B), CF(C)] (Rule 1 CF) = (0,3)(0,8) = 0,24
  • Dari Rule 2 : Min[CF(H), CF(I), CF(J)] = Min[0,8;0,7;0,9]=0,7 CF(D) pada Rule 2 = Min[CF(H), CF(I), CF(J)] (Rule 2 CF) = (0,7)(0,7) = 0,49
  • Kombinasi Rule CF(D) = Max [CF(D) ; CF(D) ] = 0,49
  • 1 2

    IV. 4. Logika Fuzzy (1965, Zadeh)

    • Logika Fuzzy memberikan nilai

      Contoh Fuzzy untuk antara 0 dan 1, nilai ini disebut prestasi akademik

      Fungsi Keanggotaan Fuzzy (Fuzzy Membership Function) 1.0 atau Derajat Keanggotaan Fuzzy 0.99 0.9

    • Setiap jenis pengelompokkan Agak (kelas) memiliki nilai
    • Tinggi keanggotaan yang kontinu.

        Masing-masing kelas Fu zzy perbedaannya juga tidak jelas ang got aan (Fuzzy) misal kelas barang yang De raja t Ke Tinggi baik dan sangat baik. 0.7 Sangat Tinggi 2.0 3,6 4.0

        Matematika Fuzzy • Misalkan A adalah himpunan obyek pada ruang sampel X.

        Didefinisikan X = x , x , …, x 1 2 n

      • • Himpunan A sebagai himpunan Fuzzy dapat dinyatakan dengan

        kombinasi linier A = u 1 (x1), u 2 (x 2 ), … , u n (x n ) u adalah derajat keanggotaan x di dalam A i
      • i atau dapat juga dituliskan himpunan A di dalam X adalah A = {x, u (x)} , x X a

          

         Contoh himpuan Fuzzy untuk A={BAIK}

          Derajat Kekasaran keanggotaan di Permukaan dalam (x) himpunan BAIK ua(x)) 1,00 0,95

          5,20 0,88 10,50 0,70 … … 35,00 0,10

          45,00 0,05 50,00 0,00

          Operasi pada himpunan Fuzzy

        • Misal terdapat himpunan Fuzzy : A, B, C, dan D yang berada pada himpunan semesta X. Maka operasi yang ada :
        • Equality (Kesamaan):

          A=B jika dan hanya jika u ( x ) u ( x ), x

          X   

          A B

        • Containment (Himpunan bagian) :

          u ( x ) u ( x ), x

          X

          jika dan hanya jika

          B   

          A A B u ( x ) min ( u ( x ), u ( x ))

           A B x A B

        • Intersection (irisan) : 

          u ( x ) min u ( x ), u ( x ) 

          A B x A B

        • Union (penggabungan):   
        • Complement :

          u ( x ) 1 u ( x )  

          A B