Rabu, 07 Desember 2011

Aplikasi Sistem Pakar Jenis-jenis Cabai Dengan Menggunakan SWI Prolog

Sebelum kita membuat programnya, kita harus tau domain knowledgenya terlebih dahulu, silahkan kalian lihat di http://adhimsa.com/wisata-kuliner/macam-macam-cabe-terpedas-di-dunia.html dan http://www.bumicuekcommunity.wordpress.com .  Setelah kita tahu domain knowledgenya, baru lah kita tuangkan kedalam program prolog.
Tuliskan source code dalam notepad :


/*  identifikasi cabai


mulai dengan ?- mulai.     */


mulai :- hipotesis(Cabai),
write('Saya pikir Cabai itu adalah: '),
write(Cabai),
nl,
ulang.


/* hipotesis yang akan dites */
hipotesis(merah)   :- merah, !.
hipotesis(keriting)     :- keriting, !.
hipotesis(bell_pepper)   :- bell_pepper, !.
hipotesis(gendot)  :- gendot, !.
hipotesis(rawit)   :- rawit, !.
hipotesis(jepang)   :- jepang, !.
hipotesis(tabasco) :- tabasco, !.
hipotesis(jalapeno):- jalapeno, !.
hipotesis(pimento):- pimento, !.
hipotesis(tidak_dikenali).             /* tidak ada diagnosa */


/* aturan identifikasi cabai */
merah :- cukup_pedas,
periksa(berwarna_merah_atau_hijau),
periksa(bentuk_panjang_padat_berisi).


keriting :- pedas,
periksa(berwarna_merah_atau_hijau),
periksa(bentuk_panjang_keriting),
periksa(ukuran_kurang_lebih_5cm).


bell_pepper :- tidak_pedas,
periksa(berwarna_kuning_atau_hijau_atau_merah_atau_ungu),
periksa(bentuk_seperti_lonceng),
periksa(ukuran_gemuk_kurang_lebih_7cm).


gendot :- sangat_pedas,
periksa(berwarna_hijau_atau_orange_atau_kuning),
periksa(bentuk_bulat_pendek_gemuk),
periksa(ukuran_2_sampai_6cm).


rawit :- pedas,
periksa(berwarna_merah_atau_hijau_muda),
periksa(bentuk_seperti_peluru),
periksa(ukuran_kurang_lebih_2cm).


jepang :- sangat_pedas,
periksa(berwarna_merah_atau_hijau_tua),
periksa(bentuk_meliuk-liuk),
periksa(ukuran_kurang_lebih_2cm).


tabasco :- pedas,
periksa(berwarna_merah_atau_orange_atau_kuning),
periksa(bentuk_gemuk_tumpul),
periksa(ukuran_kurang_lebih_1_sampai_2cm).


jalapeno :- cukup_pedas,
periksa(berwarna_hijau_tua_atau_merah),
periksa(bentuk_seperti_peluru),
periksa(ukuran_5_sampai_9cm).


pimento :- tidak_pedas,
periksa(berwarna_merah),
periksa(bentuk_seperti_hati),
periksa(ukuran_panjang_7_samapi_10cm_dan_lebar_5_sampai_7cm).


/* aturan klasifikasi */
tidak_pedas    :- periksa(bentuk_gemuk), !.
tidak_pedas    :- periksa(tingkat_pedas_0_sampai_500_scoville_units).
cukup_pedas :- periksa(ukuran_5_sampai_10cm).
pedas :- periksa(warna_dominan_merah), !.
pedas :- periksa(tingkat_pedas_30000_sampai_50000_scoville_units).
sangat_pedas :- periksa(ukurannya_pendek), !.
sangat_pedas :- periksa(tingkat_pedas_50000_sampai_350000_scoville_units).




/* Bagaimana cara bertanya */
tanya(Pertanyaan) :-
write('Apakah cabai itu mempunyai ciri '),
write(Pertanyaan),
write(‘? ‘),
read(Jawaban),
nl,
( (Jawaban== ya ; Jawaban == y)
->
assert(ya(Pertanyaan)) ;
assert(tidak(Pertanyaan)), fail).


:- dynamic ya/1,tidak/1.


/* Bagaimana memeriksa sesuatu */
periksa(S) :-
(ya(S)
->
true ;
(tidak(S)
->
fail ;
tanya(S))).


/* ulang semua penyataan ya/tidak */
ulang :- retract(ya(_)),fail.
ulang :- retract(tidak(_)),fail.
ulang.


Setelah dituliskan source code tersebut. Lalu simpan dengan nama ekstension .pl. Lalu buka program SWI Prolog, lalu pilih Consult, pilih file yang telah disimpan tadi. Lalu jalankan. Contoh hasil output dari source code diatas adalah:
Jika kalian ingin memerlukan hasil makalah yang lebih rinci dari program diatas. silahkan download disini http://www.4shared.com/file/hi1kwx1M/MAKALAH_SISTEM_PAKAR.html

Referensi:
http://energi-id.org/membangun-sistem-pakar-dengan-swi-prolog/

Tidak ada komentar:

Posting Komentar