Setelah saya posting tentang capture programnya, saya ingin membagikan code yag menjadi inti dari sistem pakar ini, yaitu perhitungan Certainty Factor.
Untuk menghitung seberapa besar kepastian sesorang terkena peyakit tertentu, pertama-tama harus diketahui, CF Rule dan CF gejala dari input user.
CF input gejala dari user bisa berupa pilihan2 seperti pada gambar di bawah (Pasti tidak, Hampir pasti tidak, dll) dan untuk tiap pilihan di bawah mengandung nilai CF dengan range dari -1.0 hingga 1.0.
Setelah mendapat input CF gejala dari tiap user, CF gejala tersebut dikalikan dengan CF Rule dari suatu penyakit.
Jika satu penyakit termuat dalam beberapa rule (menjadi konsekuen dari antesenden beberapa rule), maka CF harus dikombinasikan dengan rumus berikut:
Karena kebetulan semua CF nya positif, jadi saya menggunakan rumus kombinasi yang pertama. Berikut contoh perhitungan CF Combine Untuk hipertensi:
Perhitungan CF (contoh untuk gangguan gizi hipertensi):
CF1,2(Hipertensi)=CF1(Hipertensi)+CF2(Hipertensi)-(CF1(Hipertensi)*CF2(Hipertensi))
=0.378+0.456-(0.378 x 0.456)
=0.661632
CF 12,3(Hipertensi)=CF12(Hipertensi)+CF3(Hipertensi)-(CF12(Hipertensi)*CF3(Hipertensi))
=0.661632+0.12-(0.661632 x 0.12)
=0.702236
CF123,4(Hipertensi)=CF123(Hipertensi)+CF4(Hipertensi)-(CF123(Hipertensi)*CF4(Hipertensi))
=0.702236+0.35-(0.702236 x 0.35)
=0.806454
CF1234,5(Hipertensi)=CF1234(Hipertensi)+CF5(Hipertensi)-
(CF1234(Hipertensi)*CF5(Hipertensi))
=0.806454+0.24-(0.806454 x 0.24)
=0.852905
CF1,2(Hipertensi)=CF1(Hipertensi)+CF2(Hipertensi)-(CF1(Hipertensi)*CF2(Hipertensi))
=0.378+0.456-(0.378 x 0.456)
=0.661632
CF 12,3(Hipertensi)=CF12(Hipertensi)+CF3(Hipertensi)-(CF12(Hipertensi)*CF3(Hipertensi))
=0.661632+0.12-(0.661632 x 0.12)
=0.702236
CF123,4(Hipertensi)=CF123(Hipertensi)+CF4(Hipertensi)-(CF123(Hipertensi)*CF4(Hipertensi))
=0.702236+0.35-(0.702236 x 0.35)
=0.806454
CF1234,5(Hipertensi)=CF1234(Hipertensi)+CF5(Hipertensi)-
(CF1234(Hipertensi)*CF5(Hipertensi))
=0.806454+0.24-(0.806454 x 0.24)
=0.852905
Perhitungan CF seperti di atas dilakukan juga untuk gangguan-gangguan gizi
yang lain pada golongan IMT yang sama. Kemudian CF tiap gangguan gizi
dibandingkan dan dicari yang terbesar. Gangguan gizi yang memiliki CF
terbesar itulah yang merupakan gangguan gizi yang diidap oleh consultee..
Perhitungan CF Combine di atas, saya wujudkan dalam source code berikut (dalam bahasa C#)













