You are on page 1of 14

SISTEM PAKAR / EXPERT SYSTEM Session - 2

MOTOR INFERENSI (FORWARD CHAINING DAN BACKWARD CHAINING)

FORWARD CHAINING

Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF). Dengan kata lain penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis.

CONTOH SIM !ASI TABE! AT RAN

Pada tabel di bawah ini terdapat 1 aturan yang tersimpan dalam basis pengetahuan. Fakta awal yang diberikan hanya ! " # $ (bernilai benar)% buktikan apakah & bernilai benar (hipotesis ! &)
NO. RULE R-1 R-2 R-3 R-4 R-5 R-6 R-7 R-8 R-9 R-10 RULES IF A & B THEN C IF C THEN D IF A & E THEN F IF A THEN G IF F & G THEN D IF G & E THEN H IF C & H THEN I IF I & A THEN J IF G THEN J IF J THEN CONCLUSION F F T T T T F F T T

A! R INFERENSI
NO. RULE R-3 R-4 R-5 R-6 R-9 R-10 H$%&#'($( R-9 F!"#! A F!"#! E R-3 F R-5 D R-6 H R-4 G J R-10 RULES F G D H J

BACKWARD CHAINING

Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan ('($))% dengan kata lain menguji kebenaran hipotesis tersebut dicari berdasarkan fakta * fakta yang ada dalam basis pengetahuan.
H$%&#'($( R-10 J R-9 G R-4 F!"#! A

PRO!OG (PROGRAMMING !OGIC)

Prolog adalah bahasa pemrograman logika atau di sebut juga sebagai bahasa non+procedural. )amanya diambil dari bahasa Perancis programmation en logi,ue (pemrograman logika). -ahasa ini diciptakan oleh "lain .olmerauer dan /obert &owalski sekitar tahun 1012 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih+alih rangkaian perintah untuk dijalankan komputer. (3ikipedia) -erbeda dengan bahasa pemrograman yang lain% yang menggunakan algoritma kon4ensional sebagai teknik pencariannya seperti pada Delphi% Pascal% -"5I.% .6-67 dan bahasa pemrograman yang sejenisnya% karena prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika. (3ikipedia)

CIRI " CIRI PRO!OG

6bject oriented languange atau declarati4e languange. 'idak terdapat prosedur% tetapi hanya kumpulan data+data objek (fakta) yang akan diolah% dan relasi antar objek tersebut membentuk aturan yang diperlukan untuk mencari suatu jawaban Programmer menentukan tujuan (goal)% dan komputer menentukan bagaimana cara mencapai tujuan tersebut serta mencari jawabannya. Dilakukan pembuktian terhadap cocok+tidaknya tujuan dengan data+data yang telah ada dan relasinya. Prolog ideal untuk memecahkan masalah yang tidak terstruktur% dan prosedur pemecahannya tidak diketahui% khususnya untuk memecahkan masalah non numerik. Prolog bekerja seperti pikiran manusia% proses pemecahan masalah bergerak di dalam ruang masalah menuju suatu tujuan (jawaban tertentu).

FREEWARE TOO!S PRO!OG

Platform 8ac 9 3indows 9 7inu: ! http!99www.gprolog.org Platform Debian9;buntu98int ! ketik perintah pada terminal 9 konsole untuk langsung menginstall melalui terminal. sudo apt+get install swi+prolog

MENGENA! PRO!OG

Domains ! mendeklarasikan 4ariabel * 4ariabel penguji. .ontoh ! male%female<symbol Predicates ! membuat fungsi * fungsi untuk aturan 9 clauses. .ontoh ! suka(male%female) Clauses ! membuat aturan * aturan. .ontoh ! suka(anton%nina). Goal ! mencari hipotesis 9 menguji fakta * fakta sehingga akan menghasilkan hipotesis. .ontoh! =oal! suka(anton%female). 8aka jawabannya adalah! female<nina

SWI-PRO!OG (#on$o% se&e'%(n()

-uka gedit 9 pluma &etik ! suka(anton%nina). suka(anton%yuni). suka(nina%anton). suka(yuni%budi). suka(budi%nina).

5impan didirectory >9home? dengan nama cinta.pl -uka terminal ketik ! swipl .ompile file dengan cara ! @+ Acinta.plB. (sampai muncul tulisan ! C cinta compiled . sec% D1E bytes true.)

CARA MEMANGGI!

@+ suka("%-). hasilnya ! " < anton% - < nina (ketik simbol F apabila ingin mengetahui clauses berikutnya). " < anton% - < ninaF " < anton% - < yuniF " < nina% - < antonF " < yuni% - < budiF " < budi% - < ninaF

CONTOH KE " 2 (si)si)(% *e)+(',()

CARA MEMANGGI!

married(yuda%G). child(rico%G). parents(nana%G%H). grandparents(rudi%G%H). sibling(danang%G). sister(ana%G). sister(dita%G). brother(tedi%G). brother(rudi%G).

T GAS PRO!OG ($+,(s *e)o-.o*)

jika dollar melemah maka beli dollar jika dollar menguat maka jual dollar jika harga obligasi turun maka beli obiligasi jika harga obligasi naik maka jual obligasi jika dollar melemah dan harga obligasi turun maka beli obligasi jika dollar melemah dan harga obligasi naik maka tahan obligasi jika dollar menguat dan harga obligasi naik maka jual obligasi Iika dollar menguat dan harga obligasi turun maka tahan obligasi Iika dollar melemah dan harga obligasi turun maka beli obligasi 'ugas diprint pada kertas "J beserta co4er!

5ource code prolog .apture proses pada program prolog 3aktu 2 minggu

You might also like