Anda di halaman 1dari 8

Jurnal Pilar Nusa Mandiri Volume 13 No.

1 Maret 2017 35

ANALISA EFEKTIFITAS METODE FORWARD CHAINING DAN


BACKWARD CHAINING PADA SISTEM PAKAR
Ibnu Akil
Program Studi Manajemen Administrasi
ASM BSI Jakarta
Jl. Jatiwaringin Raya No.18, Jakarta Timur
Ibnu.ial@bsi.ac.id

Abstract — The use of forward-chaining and penulis akan menganalisa kefektifan kedua
backward-chaining in expert system is something metode tersebut dengan melakukan
usual. Where forward-chaining is a data-driven perbandingan metode-metode tersebut pada satu
algorithm, while backward-chaining is goal-driven. kasus sistem pakar.
Both methods are usually used for reasoning. Here,
the writer will analyze effective the both method in BAHAN DAN METODE
their using for expert system.
Artificial Intelligent
Intisari — Penggunaan algoritma forward- Selama ribuan tahun, kita telah mencoba
chaining dan backward-chaining pada sistem untuk memahami bagaimana cara kita berpikir,
pakar adalah hal yang umum. Dimana proses yaitu bagaimana segelintir materi dapat melihat,
metode forward chaining adalah data-driven, memahami, memprediksi, dan memanipulasi
sedangkan metode backward chaining adalah dunia yang lebih besar dan lebih rumit dari
goal-driven. Kedua metode tersebut umumnya dirinya sendiri. Bidang artificial intelligent (AI)
digunakan untuk pencarian dengan kriteria masih lebih jauh lagi, AI bukan hanya mencoba
tertentu (reasoning). Disini penulis akan untuk memahami akan tetapi untuk membuat
menganalisa sejauh mana efektifitas kedua entitas yang pintar. (Russel & Norvig, 2010).
metode tersebut dalam penggunaannya pada Artificial Intelligent kadang kala juga disebut juga
sistem pakar. kecerdasan mesin atau pemrograman heuristis,
adalah teknologi yang muncul yang belakangan
Kata kunci: Backward-chaining, Forward- ini menarik publisitas. Banyak aplikasi yang
chaining, Sistem pakar. sekarang ini sedang dikembangkan. Salah satu
hal yang terlihat dari bidang ini adalah bahwa AI
PENDAHULUAN menekankan kepada bagaimana mebuat program
komputer menjadi lebih pintar (Hunt, 1986).
Dalam pembuatan program system pakar, Dalam bukunya Russel dan Norvig membagi
algoritma memiliki kedudukan yang penting, definisi AI menjadi empat kategori, yaitu;
bahkan menjadi jantung dari sistem tersebut.  Thinking Humanly; suatu usaha yang luar
Algoritma system pakar berbeda dengan biasa untuk membuat bagaimana sebuah
algoritma system pada umumnya. Dalam system mesin dapat berpikir seperti layaknya
pakar diperlukan suatu Inference Mechanism manusia.
(mekanisme inferensi). Mekanisme inferensi  Acting Humanly; sebuah seni dari membuat
adalah suatu algoritma yang tidak bergantung sebuah mesin yang menjalankan fungsi yang
pada suatu masalah tertentu yang digunakan membutuhkan kecerdasan apabila
untuk menentukan kesimpulan-kesimpulan atau dilaksanakan oleh manusia.
menjalankan tindakan-tindakan menggunakan  Thinking Rationally; sebuah kajian tentang
knowledge base (dasar pengetahuan). komputasi yang membuatnya menjadi mampu
Mekanisme inferensi yang biasa digunakan mempersepsikan, berpikir dan bertindak.
untuk system pakar yang bertujuan mencari  Acting Rationally; adalah suatu kajian dari
jawaban dari beberapa kriteria atau dalam merancang agen (mesin) yang cerdas.
terminology artificial intelegence disebut sebagai
Horn clause – yang merupakan pemisahan dari Expert System (Sistem Pakar)
literal-literal yang paling benar, adalah forward Selama beberapa dekade terakhir, Sistem
chaining dan backward chaining. Meskipun masih Pakar telah menjadi aplikasi praktek yang utama
banyak metode-metode yang lain, namun kedua dari riset AI. Dewasa ini, ada banyak system yang
metode inilah yang paling mudah digunakan. berguna dalam hampir setiap bidang operasional
Tetapi sejauh manakah kedua metode tersebut diseluruh dunia. Mulai dari gadget sederhana
efektif diterapkan dalam system pakar? Disini seperti handphone sampai robot-robot dalam

ISSN 1978 – 1946 & E-ISSN 2527 – 6514 | Analisa Efektifitas Metode…
36 Jurnal Pilar Nusa Mandiri Volume 13 No.1 Maret 2017

industri manufaktur dan medis. Menurut F. (data-driven) yaitu, pemikiran yang mana focus
Bobillo dalam Al Ajlan, Sistem Pakar adalah perhatiannya dimulai dari data yang diketahui.
program-program yang memberi saran secara Forward-chaining bisa digunakan didalam agen
otomatis yang mencoba untuk meniru proses- untuk menghasilkan kesimpulan dari persepsi-
proses berpikir dan pengetahuan dari ahli-ahli persepsi yang datang, seringkali tanpa query
untuk meraih sasaran dari masalah tertentu yang spesifik.
(Ajlan, 2015). Sebuah Sistem Pakar adalah
program computer yang cerdas yang Algoritma Forward Chaining
menggunakan pengetahuan dan prosedur Berikut ini adalah algoritma dari metode
inferensi untuk menyelesaikan masalah-masalah forward-chaining:
yang cukup sulit sehingga membutuhkan function PL-FC-ENTAILS? (KB, Q) returns True
kepakaran manusia untuk solusinya (Hunt, or False
1986). inputs: KB, the knowledge base, a set of
propositional definite clauses q, the
Metode Forward Chaining query, a proposition symbol
Algoritma forward-chaining adalah satu count  a table, where count( e] is the
dari dua metode utama reasoning (pemikiran) number of symbols in c's premise
ketika menggunakan inference engine (mesin inferred  a table, where inferred[s] is
pengambil keputusan) dan bisa secara logis initially false for all symbols
dideskripsikan sebagai aplikasi pengulangan dari agenda  a queue of symbols, initially
modus ponens (satu set aturan inferensi dan symbols known to be true in KB
argumen yang valid). Lawan dari forward-
chaining adalah backward-chaining. while agenda is not empty do
Forward-chaining mulai bekerja dengan p  PoP(agenda)
data yang tersedia dan menggunakan aturan- if p = q then return true
aturan inferensi untuk mendapatkan data yang if inferred[p]= false then
lain sampai sasaran atau kesimpulan didapatkan. inferred[p]  true
Mesin inferensi yang menggunakan forward- for each clause c in KB where p
chaining mencari aturan-aturan inferensi sampai is in c.PREMISE do
menemukan satu dari antecedent (dalil hipotesa decrement count[c]
atau klausa IF - THEN) yang benar. Ketika aturan if count[c] = 0 then
tersebut ditemukan maka mesin pengambil add
keputusan dapat membuat kesimpulan, atau c.CONCLUSION to agenda
konsekuensi (klausa THEN), yang menghasilkan return false
informasi tambahan yang baru dari data yang
disediakan. Mesin akan mengulang melalui
proses ini sampai sasaran ditemukan. Jika algoritma diatas ditransformasikan dalam
Forward-chaining adalah contoh konsep umum bentuk flow chart adalah seperti gambar 1.
dari pemikiran yang dikendalikan oleh data

Gambar 1. Flow chart forward chaining (Sharma, Tiwari, & Kelkar, 2012)

ISSN 1978 – 1946 & E-ISSN 2527 – 6514 | Analisa Efektifitas Metode…
Jurnal Pilar Nusa Mandiri Volume 13 No.1 Maret 2017 37

Metode Backward Chaining Backward-chaining adalah sebuah bentuk


Algoritma backward-chaining, sesuai pemikiran yang dikendalikan oleh tujuan atau
namanya bekerja mundur dari query-nya. Jika goal. Backward-chaining berguna untuk
query q diketahui adalah benar, maka tak ada menjawab pertanyaan-pertanyaan yang spesifik
yang perlu dikerjakan selanjutnya. Selain itu, seperti “Apa yang harus aku lakukan sekarang?”
algoritmanya akan mencari implikasi-implikasi di dan “Dimana kunci-kunci ku?”. Seringkali, harga
dalam basis data pengetahuan atau Knowledge dari metode backward-chaining lebih sedikit dari
Base (KB) yang kesimpulannya adalah q. Jika pada pencarian linear didalam KB, karena
semua premis-premis dari salah satu implikasi- prosesnya hanya menyentuh fakta-fakta yang
implikasi tersebut bisa dibuktikan benar, maka q terkait.
adalah benar (Russel & Norvig, 2010). Jelas sekali
disini bahwa backward-chaining menggunakan Algoritma Backward Chaining
algoritma pencarian depth-first. Berikut adalah pseudocode dari algoritma
metode backward-chaining.

function FOL-BC-ASK(KB, query) returns a generator of substitutions return FOL-BC-OR ( KB, query,
F)

generator FOL-BC-OR(KB, goal, 0) yields a substitution


for each rule (//is rhs) in FETCH-RULES-FOR-GOAL(KB, goal) do
(lhs, rise)  STANDARDIZE VARIABLES((lhs, rhs))
for each 0' in FOL-BC-AND(KB, the, UNIFY(rhs, goad, 0)) do
yield 9'

generator FOL-BC-AND(KB, goals, 9) yields a substitution


if 0 = failure then return
else if LENGTH(goals) = 0 then yield 0
else do
first,rest FIRST(goaLs). REST(goals)
for each 0' in FOL-BC-OR(KB, SUBST(0, first), 0) do
for each 0" in FOL-BC-AND(KB, rest, 0') do
yield 8"
flowchart algoritma backward-chaining adalah sebagai berikut:

Gambar 2. Flowchart Backward-chaining (Sharma, Tiwari, & Kelkar, 2012)

ISSN 1978 – 1946 & E-ISSN 2527 – 6514 | Analisa Efektifitas Metode…
38 Jurnal Pilar Nusa Mandiri Volume 13 No.1 Maret 2017

HASIL DAN PEMBAHASAN  Mencari di database untuk rule-rule yang


mungkin mencapai tujuan atau memiliki
Apa perbedaan mendasar antara metode tujuan dalam sebagian fakta mereka
forward-chaining dan backward-chaining? Kita  Jika kondisi dari rule tersebut cocok dengan
akan ilustrasikan dengan rules berikut: fakta pada database maka rule diproses dan
R1: Jika jagung tumbuh di tanah yang tidak goal dapat dibuktikan
subur, maka jagung tersebut dihinggapi lalat
hitam. Studi Kasus
R2: Jika tanah rendah kandungan nitrogen, Diketahui rule-rule sebagai berikut:
maka tanah itu tidak subur. P => Q
Dengan forward-chaining: L  M => P
Tanah ini rendah kandungan nitrogen, karena itu B  C => M
tanah ini tidak subur, karena itu jagung yang A  B => L
tumbuh di tanah ini dihinggapi lalat hitam. Q => C
Reasoning; X => C
 Ada masalah dengan jagung ini. Y => X
 Maka uji tanahnya. L  A => D
 Terbukti bahwa tanahnya rendah kandungan A
nitrogen. B
 Jika itu masalahnya, jagung yang tumbuh pada
tanah tersebut akan dihinggapi lalat hitam.
 Karena itu masalahnya adalah jagung Q
dihinggapi lalat hitam dikarenakan rendahnya
kandungan nitrogen pada tanah.
Bagaimana cara kerja metode forward-chaining?
 Proses dikendalikan oleh data (data-driven) P
 Mulai dari data/fakta yang diketahui dan
proses data tersebut
 Hanya rule paling atas yang diproses setiap
saat D L M
 Rule menambah fakta baru ke database ketika
diproses
 Setiap rule hanya boleh dieksekusi sekali
 Putaran akan berhenti ketika tidak ada lagi A B C
rule yang akan diproses

Dengan backward-chaining:
Jagung ini dihinggapi lalat hitam, karena itu X
jagung ini pasti tumbuh ditanah yang tidak subur,
karena itu tanahnya pasti rendah kandungan
nitrogen.
Y
Reasoning;
 Ada masalah dengan jagung ini.
 Mungkin jagung ini dihinggapi lalat hitam. Gambar 3. Pohon Pakar
 Jika iya, maka jagung ini pasti tumbuh ditanah
yang tidak subur. Sedangkan fakta yang diketahui adalah: L, Q, D, P,
 Jika iya, pasti tanahnya rendah kandungan C
nitrogen. Proses dengan metode forward-chaining:
 Maka uji kandungan nitrogen pada tanah, Fact: L
maka kita akan tahu apakah benar A, B => L Precedent: A,B + L
masalahnya adalah lalat hitam pada jagung. YES
Bagaimana cara kerja metode backward-
chaining?
 Proses dikendalikan oleh tujuan (goal-driven)
 System memiliki tujuan, mekanisme inferensi
berusaha mencari faktu untuk
membuktikannya

ISSN 1978 – 1946 & E-ISSN 2527 – 6514 | Analisa Efektifitas Metode…
Jurnal Pilar Nusa Mandiri Volume 13 No.1 Maret 2017 39

Q Q

P
P

4 3
D L M
D L M

A B C
A B C
1 2
1 2
X

Q
Gambar 5. Proses Fakta D
Fact: P
P
A, B => L Precedent: A,B + L
A, B, L => D Precedent: L,A + D
NO
3
Fact: C
D L M
A, B => L Precedent: A,B + L
A, B, L => D Precedent: L,A + D
NO
A B C
Proses dengan metode Backward-chaining:
1 2 Fact: L
L : L <= A,B : A, B
X A : A : None
B : B : None
YES
Y

Gambar 4. Proses Fakta L

Fact: Q
A, B => L Precedent: A,B + L
A, B, L => D Precedent: L,A + D
NO

Fact: D
A, B => L Precedent: A,B + L
A, B, L => D Precedent: L,A + D
YES

ISSN 1978 – 1946 & E-ISSN 2527 – 6514 | Analisa Efektifitas Metode…
40 Jurnal Pilar Nusa Mandiri Volume 13 No.1 Maret 2017

Fact: D
Q D : D <= L,A : L, A
L : L <= A,B : A, B
A : A : None
P B : B : None
A : A : None
YES
1
Q
D L M

A B C 1
D L M

X
A B C

Y
X

Y
Q
Q

P
P

1 1 2
D L M
D L M

A B C
A B C 3

3 X
2
X
Y

Q
Y

P
Gambar 6. Fakta L
Fact: Q 1 2
Q : Q <= P : P
D L M
P : P <= L,M : L, M
L : L <= A,B : A, B
A : A : None
B : B : None A B C
M : M <= B,C : B, C 3/5 4
B : B : None X
C : C <= Q : Q
Q : CYCLE DETECTED : None
C : C <= X : X Y
X : X <= Y : Y
Y : None Gambar 7. Fakta D
NO

ISSN 1978 – 1946 & E-ISSN 2527 – 6514 | Analisa Efektifitas Metode…
Jurnal Pilar Nusa Mandiri Volume 13 No.1 Maret 2017 41

Fact: P bergantung kepada aplikasi yang menerima


P : P <= L,M : L, M input fakta-fakta baru untuk mesin rule.
L : L <= A,B : A, B 6. Dalam backward-chaining diarahkan oleh
A : A : None tujuannya/goalnya, jadi rule-rule bisa
B : B : None diterapkan yang dibutuhkan untuk meraih
M : M <= B,C : B, C goal. Akan tetapi dalam forward-chaining
B : B : None keseluruhan proses tidak diarahkan kepada
C : C <= Q : Q tujuan, jadi waktu untuk menghentikan rule-
Q : Q <= P : P rule tidak diketahui.
P : CYCLE DETECTED : None 7. Jika fakta-fakta yang diberikan menuntun
C : C <= X : X kepada kesimpulan yang banyak, tetapi cara
X : X <= Y : Y untuk meraih kesimpulan tertentu sedikit,
Y : None maka akan lebih banyak informasi yang
NO keluar dari pada informasi yang masuk, maka
gunakanlah backward-chaining. Disisi lain,
Fact: C apabila cara untuk meraih kesimpulan
C : C <= Q : Q tertentu banyak, tetapi jumlah kesimpulan
Q : Q <= P : P untuk diraih dengan menggunakan fakta
P : P <= L,M : L, M adalah sedikit, maka lebih baik menggunakan
L : L <= A,B : A, B forward-chaining.
A : A : None
B : B : None Table 1. Komparasi Forward-chaining dan
M : M <= B,C : B, C Backward-chaining
B : B : None Atribut Backward- Forward-
C : CYCLE DETECTED : None chaining chaining
C : C <= X : X Dikenal juga Goal-driven Data-driven
X : X <= Y : Y sebagai
Y : None Dimulai dari Kesimpulan Data baru
NO yang
memungkinkan
KESIMPULAN Pemrosesan Efisien Melelahkan
Ditujukan Data yang Kesimpulan
Dari hasil analisa diketahui beberapa fakta untuk diperlukan apapun
mengenai metode forward-chaining dan Pendekatan Konservatif Oportunistik
backward-chaining sebagai berikut: Praktis jika Jumlah jawaban Ledakan
1. Eksplorasi dari pengetahuan memiliki yang mungkin kombinasi
mekanisme yang berbeda antara forward- cukup beralasan membuat
chaining dan backward-chaining. Backward- jumlah
chaining lebih terfokus dan mencoba untuk jawaban
menghindari eksplorasi jalur-jalur yang tidak menjadi tak
perlu dari reasoning. Sementara forward tertentu
chaining seperti pencarian yang melelahkan. Cocok untuk Diagnose, resep, Perancanaan,
2. Backward-chaining baik untuk tugas-tugas dan debug pemantauan,
klasifikasi dan diagnosa, tetapi tidak cukup aplikasi kendali dan
baik untuk perencanaan, perancangan, dan aplikasi
pemantauan proses. Namun forward-chaining interpretasi
cocok untuk tugas-tugas tersebut. Reasoning Atas-bawah Bawah-atas
3. Forward-chaining sistem melibatkan Jenis Depth-first Breadth-first
penulisan rule-rule untuk mengatur sub goal – pencarian search search
sub goal. Sementara backward-chaining
Siapa yang Konsekuensi Antecedent
secara otomatis mengatur sub goal – sub goal.
menentukan menentukan menentukan
4. Gunakan metode forward-chaining untuk
pencarian pencarian pencarian
system yang memiliki banyak hipotesa
Alur Consequent to Antecedent to
keluaran dan data, sebaliknya gunakan
antecedent consequent
backward-chaining untuk system yang sedikit
memiliki hipotesa keluaran dan data.
5. Mesin backward-chaining melakukan query
untuk fakta baru, sedangkan forward-chaining

ISSN 1978 – 1946 & E-ISSN 2527 – 6514 | Analisa Efektifitas Metode…
42 Jurnal Pilar Nusa Mandiri Volume 13 No.1 Maret 2017

REFERENSI
Paper Ilmiah yang pernah di hasilkan
Ajlan, A. (2015). The Comparison Between  ANALISIS DAN DESAIN SISTEM BERBASIS WEB DENGAN
Forward and Backward Chaining. WEB APPLICATION EXTENSION-UML DAN FRAMEWORK
International Journal of Machine Learning MVC
and Computing, 106-113.  RANCANG BANGUN SISTEM INFORMASI
Hunt, D. (1986). Artificial Intelligence & Expert PERPUSTAKAAN BERBASIS WEB MENGGUNAKAN MVC
System Source Book. New York: Chapman (MODEL VIEW CONTROLER)
and Hall.  IMPLEMENTASI PERSISTENCE DENGAN FRAMEWORK
Russel, S., & Norvig, P. (2010). Artificial Intelligent HIBERNATE UNTUK MENINGKATKAN EFEKTIFITAS
A Modern Approach Third Edition. New PEMROGRAMAN
Jersey: Pearson Education.  METODE PEMBELAJARAN OBJECT ORIENTED
Sharma, T., Tiwari, N., & Kelkar, D. (2012). Study PROGRAMMING (OOP) DENGAN PENDEKATAN
of Difference Between Forward and HEMISPHERIC COGNITIVE STYLE COLLABORATION
Backward Reasoning. Ijetae, 271-273.

BIODATA PENULIS

Ibnu Akil, M.Kom. Jakarta 15


Januari 1980. Magister Ilmu
Komputer Program Pasca
Sarjana Nusamandiri. Bekerja
sebagai Dosen di AMIK BSI
dan Konsultan IT.

ISSN 1978 – 1946 & E-ISSN 2527 – 6514 | Analisa Efektifitas Metode…

Anda mungkin juga menyukai