SYSTEM PAKAR
(LISP)
Dr. Ir. Sudjati Rachmat, DEA
12/04/2018 1
ALAT PEMBANGUN SISTEM PAKAR
12/04/2018 2
ALAT PEMBANGUN SISTEM PAKAR
LISP
Pada awal-awal perkembangan Sistem Pakar, LISP (singkatan
dari LISt Processing) adalah bahasa pemrograman paling
populer. LISP adalah bahasa pemrosesan simbolik yang
merepresentasikan pengetahuan dalam bentuk list (rincian).
Obyek seperti manusia, benda dan kejadian direpresentasikan
dalam bentuk simbol-simbol dan hubungan antar obyek tersebut
digambarkan dalam bentuk struktur data yang disebut list. LISP
juga mempunyai beberapa Procedure atau Fungsi untuk
pengolahan dan manipulasi daripada list tersebut.
LISP dibuat oleh John McCarthy di MIT, pada tahun 1950, dan
mulai dikembangkan menjadi bahasa komersial pada tahun
1960-an.
12/04/2018 3
ALAT PEMBANGUN SISTEM PAKAR
Dialek
Ada empat dialek utama dari LISP, yaitu
• MacLisp (MIT)
• InterLISP (Bolt, Beraneck & Newman, Inc
• Portable Standard LISP (Univ.UTAH)
• Common LISP (Komite Nasional Ilmuan Komputer
Amerika Serikat)
12/04/2018 4
ALAT PEMBANGUN SISTEM PAKAR
12/04/2018 6
ALAT PEMBANGUN SISTEM PAKAR
ATOM
Angka adalah atom yang memiliki nilai numerik. Angka ini dapat
dalam bentuk integer atau real, dapat juga bernilai positif atau
negatif.
1986
.00015
12/04/2018 48.3 8
– 27
ALAT PEMBANGUN SISTEM PAKAR
teman
xyz
JK36
12/04/2018
nomor-telepon 9
ALAT PEMBANGUN SISTEM PAKAR
LIST
(a i u e o)
(merah biru kuning hijau)
(amir budi wati sastro)
(1 2 3 5 7 11 13)
List dapat juga tersusun dari atom dan list, seperti contoh berikut
ini:
List juga dapat menjadi bagian dari suatu list, dimana list
tersebut juga merupakan bagian dari list yang lebih besar
lagi, list ini biasa disebut "nested", sepert contoh berikut ini:
12/04/2018 12
ALAT PEMBANGUN SISTEM PAKAR
primitive matematika:
ALAT PEMBANGUN SISTEM PAKAR
(+ 2.34 7.59)
9.93
(+2 (+ 4(+ 6 8)))
20
(- 8.6 1.1)
7.5
(* -4.9 2.3)
-11.27
(/ 4.9 .7)
7.0
Contoh:
(PLUS 4 5)
9
(DIF 8 1)
7
(TIMES 7 3)
21
(QUOTIENT 6 2)
3
Contoh:
(ABS – 6.4)
6.4
(EXPT 2 4)
16
(MAX 2 9 14 15 18)
18
(MIN 2 9 14 15 18)
2
(SQRT 4096)
64
12/04/2018 17
ALAT PEMBANGUN SISTEM PAKAR
Predikat
Contoh:
(NUMBERP 17)
T
12/04/2018 (NUMBERP mas) 18
NIL
ALAT PEMBANGUN SISTEM PAKAR
Pengolahan List
Contoh:
(CAR '(a b c d))
a
12/04/2018
(CAR '((a b c) (d e f) (g h i))) 20
(a b c)
ALAT PEMBANGUN SISTEM PAKAR
CDR digunakan untuk mengetahui komplemen primitive CAR,
atau dengan kata lain hasilnya adalah atom ke-2 sampai terakhir
dari suatu list
Contoh:
(CDR '(a b c d))
(b c d)
(CDR '((a b c) (d e f) (g h i)))
((d e f) (g h i))
Contoh:
12/04/2018
(APPEND '(a b c) '(d e f)) 21
((a b c d e f))
ALAT PEMBANGUN SISTEM PAKAR
CONS berguna untuk memasukkan argumen di awal list
Contoh:
(CONS 'a '(b c d))
(a b c d)
(CONS '(a b c) '((d e f) (g h i)))
((a b c) (d e f) (g h i))
Predikat LIST berguna untuk membentuk list dari dua atau lebih
argumen.
Contoh:
(LIST 'a 'b 'c)
(a b c)
12/04/2018
(LIST '(a b c) '(d e f) '(g h i)) 22
((a b c) (d e f) (g h i))
ALAT PEMBANGUN SISTEM PAKAR
Memasukkan Nilai Variabel
Setiap bahasa pemrograman mempunyai cara tersendiri untuk
memasukkan nilai ke sebuah variabel, seperti dalam bahasa
BASIC kita kenal perintah LET, contoh: LET X=48.
Contoh:
(SETQ X 14)
14
(SETQ Y 10)
10
12/04/2018 (+ X Y) 23
24
ALAT PEMBANGUN SISTEM PAKAR
12/04/2018 24
ALAT PEMBANGUN SISTEM PAKAR
Rekursi
Representasi Pengetahuan
12/04/2018 27
ALAT PEMBANGUN SISTEM PAKAR
Kaidah Produksi
(Premise Konklusi)
(MAKA (kesimpulan))
ALAT PEMBANGUN SISTEM PAKAR
(RUU_1
(JIKA hewan_berambut hewan_menyusui)
(MAKA hewan_mamalia))
12/04/2018 29
ALAT PEMBANGUN SISTEM PAKAR
Bingkai
Spesifikasi Mesin
Cylinder bore: 3.19'
Cylinder strike: 3.4'
Compretion ratio: 7.8
Daya: 140 hp
12/04/2018 31
ALAT PEMBANGUN SISTEM PAKAR
(Jumlah_pintu 4)
(Jumlah_ban 4)
(Berat 500_kg)
(Akselerasi 0-60_4_dt)
(Bahan_bakar bensin)
(Mesin (Cylinder_bore)
(Cylinder_stroke)
(Compretion_ratio)
(Daya))
(Cylinder_bore 3.19')
(Cylinder_stroke 3.4')
(Compretion_ratio 7.8)
(Daya
12/04/2018 140_hp) 32
ALAT PEMBANGUN SISTEM PAKAR
PROLOG
12/04/2018 36
ALAT PEMBANGUN SISTEM PAKAR
Bahasa Pemrograman Deklaratif
hubungan(obyek).
hubungan(obyek_1, obyek_2).
Contoh:
Perhatikan
12/04/2018 bahwa semua obyek harus dituliskan dengan huruf
38
Fakta ini dapat juga berupa fakta majemuk atau fakta terkait,
contoh:
Farid menulis buku Pemrograman Sistem Pakar. Buku ini
termasuk jenis buku komputer.
menulis(farid,jenis_buku("PemrogramanSistemPakar",komputer))
.12/04/2018 39
ALAT PEMBANGUN SISTEM PAKAR
Kaidah
Contoh:
Hasilnya adalah:
Sesuatu=apel
12/04/2018 42
ALAT PEMBANGUN SISTEM PAKAR
Operasi Matematika
Pemadanan
predicates
membuat(symbol, symbol)
clauses
membuat(atok, roket)
membuat(lis, jembatan)
membuat(farid, komputer)
Goal: membuat(lis, Apa)
Apa=jembatan
12/04/2018 44
1 Solutions
ALAT PEMBANGUN SISTEM PAKAR
Lacak Balik
Salah satu kelebihan PROLOG dari LISP adalah PROLOG telah
menyediakan fasilitas pencarian yang disebut Lacak Balik
(backtracking). Unjuk kerja dari Lacak Balik ini dapat dilihat dalam
program berikut
predicates
menulis(symbol, string)
rnenulis(symbol, string)
karya_klasik(string)
seniman_besar(symbol)
clauses
menulis(hamka, "Merantau ke Deli").
menulis(hamka, "Di Bawah Lindungan Ka’bah").
menulis(st_takdir_alisyahbana, "Siti Nurbaya").
12/04/2018 46
menulis(hilman, "Lupus")
ALAT PEMBANGUN SISTEM PAKAR
Goal: seniman_besar(hamka)
Yes
1 solutions
12/04/2018 49
ALAT PEMBANGUN SISTEM PAKAR
[a, i, u, e, o]
contoh di atas adalah sebuah list yang tersusun atas atom-atom yang
berupa huruf vokal.
12/04/2018 50
ALAT PEMBANGUN SISTEM PAKAR
PeIacakan Ke Belakang
12/04/2018 51
Gambar 4.1
12/04/2018 Peta jalan antar kota 52
ALAT PEMBANGUN SISTEM PAKAR
Dari peta di atas dapat dibuat sebuah program untuk mencari rute
hubungan antar kota-kota tersebut, sebagal berikut:
predicates
jalan(symbol, symbol)
rute(symbol, symbol)
clauses
rute(Awal, Tujuan):–
jalan(Awal, Tujuan),
write(" Pergi dari ", Awal, " ke ", Tujuan), n1.
rute(Awal, Tujuan):–
jalan(Lewat, Tujuan),
12/04/2018 53
rute(Awal, Lewat),
ALAT PEMBANGUN SISTEM PAKAR
12/04/2018 54
ALAT PEMBANGUN SISTEM PAKAR
Untuk mengetahui rute dari Cilegon ke Bogor, jalankan program dan
ketik:
Goal: rute(cilegon, bogor)
Representasi Pengetahuan
12/04/2018 56
ALAT PEMBANGUN SISTEM PAKAR
Representasi Logika
Representasi logika sangat mudah dilakukan menggunakan PROLOG,
sebab PROLOG adalah bahasa pemrograman logika (PROgramining
LOGic). Salah satu contoh klasik dari representasi logika adalah
masalah petani-serigala-kambing-kol.
12/04/2018 57
12/04/2018 58
12/04/2018 59
12/04/2018 60
12/04/2018 61
12/04/2018 62
12/04/2018 63
12/04/2018 64
12/04/2018 65
12/04/2018 66
12/04/2018 67
12/04/2018 68
Gambar 4.2
12/04/2018 Keluaran program logika.pro 69
ALAT PEMBANGUN SISTEM PAKAR
Kaidah Produksi
dapat ditulis,
hewan(mamalia): –
hewan(berambut),
hewan(menyusui).
12/04/2018 70
ALAT PEMBANGUN SISTEM PAKAR
12/04/2018 71
ALAT PEMBANGUN SISTEM PAKAR
12/04/2018 72
ALAT PEMBANGUN SISTEM PAKAR
Smaltalk
Unsur dasar Smaltalk adalah obyek. Obyek adalah sebuah yang dapat
berupa angka atau simbol. Obyek ini juga mengandung informasi
operasi-operasi yang dapat dilakukan padanya. Obyek ini merupakan
kombinasi antara pengetahuan deklaratif dan pengetahuan prosedural.
12/04/2018 73
ALAT PEMBANGUN SISTEM PAKAR
OPS5
12/04/2018 74
ALAT PEMBANGUN SISTEM PAKAR
SheII
Shell adalah sebuah program sistem pakar yang basis pengetahuannya
masih kosong. Ada lima jenis shell berdasarkan pada metode
representasi pengetahuan yang dipakai.
12/04/2018 77
ALAT PEMBANGUN SISTEM PAKAR
Contoh-contoh Shell
12/04/2018 78
ALAT PEMBANGUN SISTEM PAKAR
EXSYS
EXSYS dibuat oleh EXSYS Inc, merupakan shell yang dijalankan pada
IBM PC dan kompatibelnya, dengan memori minimum 640 Kbyte.
Sistem pelacakan kaidah ada dua, yang pertama sistem pelacakan yang
akan menguji semua kaidah yang mungkin, dan yang kedua adalah
sistem pelacakan yang akan menghentikan pelacakan bila kaidah yang
benar telah ditemukan.
12/04/2018 79
ALAT PEMBANGUN SISTEM PAKAR
Sistem perhitungan faktor kepastian ada tiga yaitu:
a. Dalam sistem 0 dan 1, nilai 0 untuk pernyataan yang salah dan 1
untuk pernyataan yang benar. Jika semua kondisi IF bernilai benar,
dan ada pilihan pada bagian THEN maka nilai 0 atau 1 dapat
diberikan.
b. Dalam sistem 0 - 10, nilai diberikan dalam bentuk perbandingan
dengan nilai penyebut 10 dan nilai pembilang berkisar antara 0
sampai 10. Nilai 0/10 berati salah absolut, dan nilai 10/10 berarti
benar absolut, sedangkan nilai 1-9 menunjukkan derajat kepastian.
c. Sistem nilai 0 - 100 merupakan sistem yang paling kompleks. Nilai
kombinasi akhir dapat dihitung dengan tiga cara. Cara pertama
adalah nilai rata-rata dan semua nilai-nilai solusi pada rule yang
bernilai benar. Cara kedua dengan mengalikan nilai-nilai tersebut.
Cara ketiga dengan mengalikan sebagai nilai bebas, dengan rumus
berikut:
12/04/2018
1 – ((1-a1)*(1-a2)*…*(1-ab)) = b 80
ALAT PEMBANGUN SISTEM PAKAR
PC+ adalah shell yang dibuat menggunakan bahasa LISP. Shell ini
dapat dijalankan pada Texas Instrumen Portable Profesional Computer,
dan IBM PC atau kompatibelnya dengan extended atau expanded
memory minimal 2048 Kb, sedangkan untuk menjalankan versi Run
Time PC+ dibutuhkan minimal RAM 640 Kb.
12/04/2018 81
Gambar 4.3
12/04/2018 82
Struktur basis pengetahuan PC+
ALAT PEMBANGUN SISTEM PAKAR
12/04/2018 85
ALAT PEMBANGUN SISTEM PAKAR
CRYSTAL
Crytal adalah shell yang pengetahuannya tersusun atas kaidah-kaidah.
Kaidah-kaidah pada Crytal dituliskan dalam bentuk:
Kesimpulan yang diambil
IF kondisi-kondisi yang harus dipenuhi
1stCLASS
12/04/2018 87
ALAT PEMBANGUN SISTEM PAKAR
INSIGHT
INSIGHT juga dapat mengakses data dari program data base seperti
Dbase III+.
12/04/2018 88
Gambar 4.4
12/04/2018 89
Format pengetahuan EXPERT EASE
ALAT PEMBANGUN SISTEM PAKAR
EXPERT EASE
12/04/2018 90