Pada kesempatan kali ini kita akan mengenal perintah sederhana untuk CLIPS yaitu dengan membuat template untuk fakta Dosen dan Manipulasi Data pada Template yang sudah kita buat.
1.
Membuat template untuk fakta dosen yang berisi
slot nama, nip, kepakaran, fakultas dan departemen.
Perintah Clips menggunakan deftempate<spasi>nama_template
kemudian diikuti dengan slot yang akan
dimasukan, seperti yang terlihat pada gambar dibawah ini.
Gambar 1 Membuat Template Dosen
2.
Menambahkan 5 data ke template Dosen yang telah
kita buat sebelumnya dengan menggunakan perintah assert seperti pada gambar dibawah ini.
Gambar 2 Memasukan Data pada Template
Dosen
3. a.
Melakukan modifikasi fakultas dan departemen
Perubah dilakukan satu persatu dengan
menggunakan perintah
(modify <fact-index>
<slot-modifier>)
Kali ini kita akan merubah fakta fakultas
dan departemen yang berindex 5, seperti yang terlihat pada gambar dibawah ini.
Setelah melakukan modifikasi nomor index
akan bertambah, seperti gambar diatas kita memodifikasi index nomor 5 setelah
berhasil memodifikasi maka komponen yang ada pada index nomor 5 berubah menjadi
bernomor index 6. Ketika akan mencari nomor index 5 secara otomatis akan
terhapus, dan data index nomor 5 tidak akan ditemukan.
b.
Duplikasi data dengan mengubah nama dan nip dosen ke-3.
Dengan perintah(duplicate
<fact-index> <slot-duplicate>) kita dapat menduplikasi
data dari index tertentu dan memodifikasi jika ada data yang tidak akan sama.
Contoh pada gambar dibawah ini saya akan menduplikasi fakta dari index 3 dan
membedakan nama dan nip.
c. Menghapus
dari working memori dosen pertama.
Perintah untuk
menghapus (retract
<fact-index>)
Untuk lebih jelasnya dibawah ini adalah kumpulan kode yang telah kita buat untuk perintah sederhana contoh diatas.
CLIPS (6.30 3/17/15)
CLIPS> (deftemplate dosen
(slot nama)
(slot nip)
(slot kepakaran)
(slot fakultas)
(slot departemen))
CLIPS> (assert (dosen (nama "Muchamad")
(nip G64144033)
(kepakaran Jaringan)
(fakultas Ilmu Komputer)
(departemen MIPA)
))
[TMPLTDEF2] The single field slot fakultas can only contain a single field value.
CLIPS> (assert (dosen (nama "Muchamad")
(nip G64144033)
(kepakaran Jaringan)
(fakultas Komputer)
(departemen MIPA)
))
==> f-1 (dosen (nama "Muchamad") (nip G64144033) (kepakaran Jaringan) (fakultas Komputer) (departemen MIPA))
<Fact-1>
CLIPS> (assert (dosen (nama "Aang")
(nip G64144034)
(kepakaran Pencangkokan)
(fakultas BIOLOGI)
(departemen MIPA1)
))
==> f-2 (dosen (nama "Aang") (nip G64144034) (kepakaran Pencangkokan) (fakultas BIOLOGI) (departemen MIPA1))
<Fact-2>
CLIPS> (assert (dosen (nama "Sopian")
(nip G64144035)
(kepakaran Gravitasi)
(fakultas FISIKA)
(departemen MIPA2)
))
==> f-3 (dosen (nama "Sopian") (nip G64144035) (kepakaran Gravitasi) (fakultas FISIKA) (departemen MIPA2))
<Fact-3>
CLIPS> (assert (dosen (nama "MuchamadAangSopian")
(nip G64144036)
(kepakaran PerubahanZat)
(fakultas KIMIA)
(departemen MIPA3)
))
==> f-4 (dosen (nama "MuchamadAangSopian") (nip G64144036) (kepakaran PerubahanZat) (fakultas KIMIA) (departemen MIPA3))
<Fact-4>
CLIPS> (assert (dosen (nama "TheLegendOfAang")
(nip G64144037)
(kepakaran NILAJUMBO)
(fakultas PERIKANAN)
(departemen MIPA4)
))
==> f-5 (dosen (nama "TheLegendOfAang") (nip G64144037) (kepakaran NILAJUMBO) (fakultas PERIKANAN) (departemen MIPA4))
<Fact-5>
CLIPS> clc
clc
CLIPS> (modify 5 (fakultas BUDIDAYAPERIKANAN))
<== f-5 (dosen (nama "TheLegendOfAang") (nip G64144037) (kepakaran NILAJUMBO) (fakultas PERIKANAN) (departemen MIPA4))
==> f-6 (dosen (nama "TheLegendOfAang") (nip G64144037) (kepakaran NILAJUMBO) (fakultas BUDIDAYAPERIKANAN) (departemen MIPA4))
<Fact-6>
CLIPS> (modify 5 (departemen PEERIKANANdanKELAUTAN))
[PRNTUTIL1] Unable to find fact f-5.
FALSE
CLIPS> (modify 6 (departemen PEERIKANANdanKELAUTAN))
<== f-6 (dosen (nama "TheLegendOfAang") (nip G64144037) (kepakaran NILAJUMBO) (fakultas BUDIDAYAPERIKANAN) (departemen MIPA4))
==> f-7 (dosen (nama "TheLegendOfAang") (nip G64144037) (kepakaran NILAJUMBO) (fakultas BUDIDAYAPERIKANAN) (departemen PEERIKANANdanKELAUTAN))
<Fact-7>
CLIPS> (duplicate 3 (nama AangDuplicated)(nip G64144033Duplicated))
==> f-8 (dosen (nama AangDuplicated) (nip G64144033Duplicated) (kepakaran Gravitasi) (fakultas FISIKA) (departemen MIPA2))
<Fact-8>
CLIPS> (retract 1)
<== f-1 (dosen (nama "Muchamad") (nip G64144033) (kepakaran Jaringan) (fakultas Komputer) (departemen MIPA))
CLIPS>
Sign up here with your email
ConversionConversion EmoticonEmoticon