Selamat Datang
Join This Site
Algoritma Forward Chaining dan Backward Chaining

Algoritma Forward Chaining dan Backward Chaining

Algoritma Forward Chaining dan Backward Chaining

Forward Chaining

Forward chaining adalah teknik pencarian yang dimulai dengan fakta yang diketahui, kemudian mencocokan fakta-fakta tersebut dengan bagian IF dari rules IF-THEN. Bila ada fakta yang cocok dengan bagian IF, maka rule tersebut dieksekusi.

Bila sebuah rule di eksekusi, maka sebuah fakta baru ditambahkan kedalam database. Setiap kali pencocokan dimulai dari rule teratas dan setiap rule hanya boleh dieksekusi sekali saja. Proses pencocokan berhenti bila tidak ada lagi rule yang bisa dieksekusi.

Contoh : Menentukan warna binatang bernama Tweety. Data awal adalah Tweety terbang dan bernyanyi. Misalkan ada 4 aturan :
- If x melompat dan memakan serangga, maka x adalah katak
- If x terbang dan bernyanyi, maka x adalah burung kenari
- If x adalah katak, maka x berwarna hijau 
- If x adalah burung kenari, maka x berwarna kuning
  • Yang dicari pertama adalah aturan nomor 2, karena anteseden-nya cocok dengan data kita (if Tweety terbang dan bernyanyi)
  • Konsekuen (then Tweety adalah burung kenari) ditambahkan ke data yang dimiliki
  • If tweety adalah burung kenari, maka Tweety berwarna kuning (tujuan)

Backward Chaining

Backward chaining kebalikan dari fordward chaining di mana dalam metode ini prosesnya didahului dengan tujuan/goalnya. Penjelasannya lebih detail yaitu metode inferensi yang bekerja mundur ke arah kondisi awal. Proses diawali dari Goal (yang berada dibagian THEN dari rule IF-THEN), kemudian pencarian mulai dijalankan untuk mencocokan apakah fakta-fakta yang ada cocok dengan premis-premis dibagian IF.

JIka cocok, rule diekseksi, kemudian hipotesis di bagian THEN ditempatkan dibasis data sebagai fakta baru. Jika tidak cocok, simpan premis dibagian IF ke dalam stack sebagai subGoal. Dan proses berakhir jika goal ditemukan atau tidak ada rule yang bisa membuktikan kebenaran dari subGoal atau Goal

Secara garis besar :
  • Dimulai dengan tujuan (goal) yang diverifikasi apakah bernilai TRUE atau FALSE
  • Kemudian melihat rule yang mempunyai GOAL tersebut pada bagian konklusinya.
  • Mengecek pada premis dari rule tersebut untuk menguji apakah rule tersebut terpenuhi (bernilai TRUE)
  • Proses tersebut berlajut sampai semua kemungkinan yang ada telah diperiksa atau sampai rule inisial yang diperiksa (dg GOAL) telah terpenuhi
  • Jika GOAL terbukti FALSE, maka GOAL berikut yang dicoba.
  • Dimulai dari daftar tujuan dan bergerak ke belakang dari konsekuen ke anteseden untuk melihat data yang mendukung konsekuen.
  • Mencari sampai ada konsekuen (Then clause) yang merupakan tujuan. Jika antecedent (If clause) belum diketahui nilainya (bernilai benar/salah), maka ditambahkan ke daftar tujuan.
Contoh : Menentukan warna binatang bernama Tweety. Data awal adalah Tweety terbang dan bernyanyi. Misalkan ada 4 aturan :

- If x melompat dan memakan serangga, maka x adalah katak
- If x terbang dan bernyanyi, maka x adalah burung kenari
- If x adalah katak, maka x berwarna hijau 
- If x adalah burung kenari, maka x berwarna kuning

  • Pertama akan mencari aturan 3 dan 4 (sesuai dengan tujuan kita mencari warna)
  • Belum diketahui bahwa Tweety adalah burung kenari, maka kedua anteseden (If Tweety adalah katak, If Tweety adalah burung kenari) ditambahkan ke daftar tujuan.
  • Lalu mencari aturan 1 dan 2, karena konsekuen-nya (then x adalah katak, then x adalah burung kenari) cocok dengan daftar tujuan yang baru ditambahkan. 
  • Anteseden (If Tweety terbang dan bernyanyi) bernilai true/benar, maka disimpulkan Tweety adalah burung kenari. 
  • Tujuan menentukan warna Tweety sekarang sudah dicapai (Tweety berwarna hijau jika katak, dan kuning jika burung kenari, Tweety adalah burung kenari karena terbang dan bernyanyi, jadi Tweety berwarna kuning).
Contoh Kasus
Seorang user ingin berkonsultasi apakah tepat jika dia berinvestasi pada IBM?
Variabel-variabel yang digunakan:
A = memiliki uang $10.000 untuk investasi
B = berusia < 30 tahun
C = tingkat pendidikan pada level college
D = pendapatan minimum pertahun $40.000
E = investasi pada bidang Sekuritas (Asuransi)
F = investasi pada saham pertumbuhan (growth stock)
G = investasi pada saham IBM 

Setiap variabel dapat bernilai TRUE atau FALSE
 Fakta :
                 - Memiliki uang $10.000 (A TRUE)
- Berusia 25 tahun (B TRUE)
Dia ingin meminta nasihat apakah tepat jika berinvestasi pada IBM stock?

Rules :
R1  : IF seseorang memiliki uang $10.000 untuk berinvestasi
 AND dia berpendidikan pada level college
 THEN dia harus berinvestasi pada bidang sekuritas
R2  : IF seseorang memiliki pendapatan per tahun min $40.000 
 AND dia berpendidikan pada level college
 THEN dia harus berinvestasi pada saham pertumbuhan (growth stocks)
R3  : IF seseorang berusia < 30 tahun
 AND dia berinvestasi pada bidang sekuritas
 THEN dia sebaiknya berinvestasi pada saham pertumbuhan
R4  : IF seseorang berusia < 30 tahun dan > 22 tahun
 THEN dia berpendidikan college
R5  : IF seseorang ingin berinvestasi pada saham pertumbuhan  
 THEN saham yang dipilih adalah saham IBM.
  • R1: IF A AND C, THEN E
  • R2: IF D AND C, THEN F
  • R3: IF B AND E, THEN F
  • R4: IF B, THEN C
  • R5: IF F, THEN G

 Berikut ini adalah penejelasan didalam bentuk gambar agar mudah di pahami oleh anda.

Forward Chaining

Algoritma Forward Chaining dan Backward Chaining

Backward Chaining

Algoritma Forward Chaining dan Backward Chaining



Kata kunci : Algoritma Forward Chaining dan Backward Chaining, skripsi teknik informatika, contoh skripsi teknik informatika, fordward chaining, backward chaining. skripsi.



1 komentar:

avatar

padahal untuk logika and pensyaratan t and t = t,t and f=f berdasarkan tabel kebenaran, sendangkan fakta yang di asumsikan cuma 1.
hanya memiliki uang $10.000 tp tidak pada dia berpendidikan pada level college
pada contoh Rule:R1
bukannya harusnya false;
kecuali klw di asumsikan hanya pada 1 fakta itu akan bernilai true sesuai dengan variable yang di gunakan
bisa di jelasin ?
mf sy kurang mengerti.

Balas