Anda di halaman 1dari 34

BAB 1

PENDAHULUAN

1.1 LATAR BELAKANG

Kecerdasan Buatan ialah suatu program yang di desain sedemikian rupa menyerupai
pola pikir manusia yang bertujuan untuk membantu meringankan pekerjaan manusia.
Kecerdasan Buatan dalam bahasa Inggris berarti Artificial Intelligence atau sering
disebut AI. AI didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas
buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan
dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti
yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan
buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan
syaraf tiruan dan robotika.
Menurut John McCarthy, 1956, kecerdasan buatan adalah untuk mengetahui dan
memodelkan proses- proses berpikir manusia dan mendesain mesin agar dapat
menirukan perilaku manusia. Bagian utama aplikasi berbasis kecerdasan buatan:
• Basis Pengetahuan (Knowledge Base), berisi fakta-fakta, teori, pemikiran, dan
hubungan antara satu dg lainnya.
• Mesin Inferensi (Inference Engine), yaitu kemampuan menarik kesimpulan
berdasarkan pengalaman atau aturan.

Kelebihan kecerdasan buatan :


1. Lebih bersifat permanen. Kecerdasan alami bisa berubah karena sifat manusia pelupa.
Kecerdasan buatan tidak berubah selama sistem komputer & program tidak
mengubahnya.
2. Lebih mudah diduplikasi & disebarkan. Mentransfer pengetahuan manusia dari 1
orang ke orang lain membutuhkan proses yang sangat lama & keahlian tidak akan
pernah dapat diduplikasi dengan lengkap.Jadi jika pengetahuan terletak pada suatu

1 H i b a t e n w a f i r o h [2010 12 101]
sistem komputer, pengetahuan tersebut dapat disalin dari komputer tersebut & dapat
dipindahkan dengan mudah ke komputer yang lain.
3. Lebih murah. Menyediakan layanan komputer akan lebih mudah & murah
dibandingkan mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam
jangka waktu yang sangat lama.
4. Bersifat konsisten dan teliti karena kecerdasan buatan adalah bagian dari teknologi
komputer sedangkan kecerdasan alami senantiasa berubah-ubah
5. Dapat didokumentasi.Keputusan yang dibuat komputer dapat didokumentasi dengan
mudah dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami
sangat sulit untuk direproduksi.
6. Dapat mengerjakan beberapa task lebih cepat dan lebih baik dibanding manusia.

Kelebihan kecerdasan alami :


1. Kreatif : manusia memiliki kemampuan untuk menambah pengetahuan, sedangkan
pada kecerdasan buatan untuk menambah pengetahuan harus dilakukan melalui
sistem yang dibangun.
2. Memungkinkan orang untuk menggunakan pengalaman atau pembelajaran secara
langsung. Sedangkan pada kecerdasan buatan harus mendapat masukan berupa input-
input simbolik.
3. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat
terbatas.

1.2 TUJUAN

Praktikum ini dilakukan agar mahasiswa mampu menganalisis dan


mengimplementasikan program diagnosa penyakit sehingga dapat mengambil keputusan
yang cepat dan tepat dengan menggunakan bahasa Prolog. Mahasiswa dapat menggunakan
penalaran dalam memecahkan masalah dan mengerti syntax- syntax dalam bahasa
Prolog.

2 H i b a t e n w a f i r o h [2010 12 101]
BAB II
DASAR TEORI

2.1 ASUMSI DASAR AI


Jantung Penelitian AI adalah : Physical Symbol System Hypothesis. Physical
Symbol System terdiri dari himpunan entitas yang dinamakan simbol, berpola fisik yang dapat
menjadi komponen dari entitas tipe lain yang dinamakan Ekspresi (struktur simbol)

Struktur simbol terdiri dari sejumlah instant (Token) dari simbol-simbol yang
berhubungan pada beberapa cara fisik. Selain struktur tersebut, sistem juga berisi koleksi
proses-proses yang beroperasi pada ekspresi, untuk menghasilkan ekspresi lain : proses
pembuatan (create), modifikasi, reproduksi, dan penghancuran (destruksi).
Jadi PSS adalah mesin yang memproduksi suatu koleksi penyusunan struktur simbol.
Sistem seperti itu terdapat dalam suatu objek dunia yang lebih luas dari hanya ekspresi
simbolik itu sendiri.

Perbedaan antara Pemrograman AI dan Konvensional


AI Komputasi Konvensional
Representasi dan Manipulasi simbol Algoritama
Memberitahu komputer tentang suatu Memerintah komputer untuk
masalah menyelesaikan masalah
Komputer diberi pengetahuan dan Memberi data kepada komputer dan
kemampuan inferensi program

Pemrograman AI :
 Bila terjadi perubahan dalam program, maka tidak mengganggu seluruh “Facts” yang
tersimpan dalam “Otak” (layaknya pikiran manusia/seperti informasi yang terdapat
pada pikiran manusia)
 Independen
 Dapat Dimodifikasi tanpa mempengaruhi struktur kesluruhan program
 Fleksibel  efisien dan mudah untuk dimengerti

2.2 BAHASA PROLOG

3 H i b a t e n w a f i r o h [2010 12 101]
Bahasa Prolog merupakan bahasa generasi kelima yang mendorong pemrograman ke
dalam dimensi baru. Bahasa PROLOG dibagun atas dasar pemrograman alamiah dan
logika. Untuk itulah lahir nama PROLOG yaitu merupakan singkatan dari
Programming In Logic.

PROLOG merupakan bahasa Deklaratif, artinya jika kita memberi fakta dan aturan,
PROLOG akan menyelesaikan problem secara deduktif; atau dari banyak fakta dan
aturan kemudian diturunkan kesimpulan sebagai solusi.

Hal ini sangat jauh berbeda sekali dengan bahasa pemrograman PASCAL, atau
FORTRAN dan bahasa pemrograman lainnya yang berbasis prosedural.

2.2.1 Ciri Bahasa PROLOG

Ciri yang sangat menonjol pada PROLOG adalah di samping mencari solusi secara
logika terhadap pertanyaan yang kita ajukan, juga dapat memberi solusi lain atau
memberi semua kemungkinan jawaban. Serlain hanya berjalan dari awal sampai akhir
PROLOG dapat berjalan mundur dan mencari lebih dari satu cara penyelesaian tiap
bagian masalah. Secara sistimatis ciri PROLOG yang sangat menonjol adalah:

a. Predikat
b. Basis Data
c. Deduksi
d. Pemadanan dan Unifikasi
e. Pembuktian Mundur
f. Lacak Balik (Backtracking)
g. Rekrusi
h. Pengolahan simbol
i. Meta Programming
j. Paralel

2.2.2 PROLOG Sebagai bahasa Deklaratif

4 H i b a t e n w a f i r o h [2010 12 101]
Ciri utama PROLOG adalah bahasanya yang bersifat deskriptif atau deklaratif,
sedangkan bahasa pemrograman lainnya bersfifat prosedural. Maksudnya PROLOG
hanya membutuhkan deklarasi atau uraian masalah, sedangkan bahasa lainnya
memerlukan suatu perintah. Contoh;

1. Jika kita ingin menerangkan bahwa A adalah orang tua B, dalam PROLOG akan
ditulis;

orangtua(A,B).

2. Jika kita menerangkan bahwa A adalah leluhur dari Z maka harus didefinisikan
terlebih dahulu logikanya, kalau dalam bahasa Indonesianya adalah sebagai berikut;

A adalah leluhur Z jika A orang tua Z atau

A adalah leluhur Z jika A orang tua B dan B leluhur Z.

Aturan diatas dalam PROLOG adalah sebagai berikut;

Leluhur(A,Z) if orang tua(A,Z).

Leluhur(A,Z) if orangtua(A,B) and leluhur(B,Z).

2.2.3 Dasar Program PROLOG

Disini kita akan mengupas dasar-dasar pemrograman PROLOG, aturan umum penulisan
program dan bagaimana kita melakukan dialog dengan PROLOG, bagaimana penulisan
fakta dan aturan, serta konsep dasar klausa, variabel dan goal.

Fakta

Fakta adalah suatu kenyataan atau kebenaran yang diketahui. Fakta juga dapat
menyatakan hubungan (relasi) antara dua objek (benda) atau lebih. Fakta juga
menunjukkan sifat suatu objek. Contoh :

5 H i b a t e n w a f i r o h [2010 12 101]
orangtua (ali,husen).

pedas(cabe).

Contoh lainya ;

umar neno

amir

tia adi

hendra dodi

Gambar diatas dapat diketahui bahwa amir adalah hasil dari perkawinan antara umar dan
neno. Dan amir berputra tia dan adi, sedangkan adi berputra dodi dan tia berputra
hendra. Kasus diatas dapat mengungkapkan relasi keluarga diatas dengan satu relasi
seperti orangtua(X,Y), dibaca X adalah orangtua Y (perhatikan huruf awal dari suatu
variabel haruslah huruf besar).

Maka hubungan tadi dapat dituliskan sebagai berikut;

orangtua(umar,amir),

orangtua(neno,amir),

6 H i b a t e n w a f i r o h [2010 12 101]
orangtua(amir,tia),

orangtua(amir,adi),

orangtua(adi,dodi),

orangtua(tia,hendra).

Orangtua disebut relasi, dan yang berada dalam tanda kurung menggambarkan objek dan
disebut argumen. Nama relasi seperti orangtua disebut juga predikat. Predikat tanpa
argumen diperkenankan dalam PROLOG

Selain relasi orangtua diatas kita juga dapat menuliskan relasi lain, untuk kasus diatas
dapat kita tuliskan sebagai berikut;

anak(amir,umar),

anak(amir,neno),

anak(tia,amir),

anak(adi,amir),

anak(dodi,adi),

anak(hendra,tia).

2.2.4 Aturan

Mengacu pada gambar diatas kita dapat mebuat relasi baru : anak dan kakek

anak(amir,umar),

anak(amir,neno),

anak(tia,amir),

anak(adi,amir),

anak(dodi,adi),

kakek(umar,tia),

7 H i b a t e n w a f i r o h [2010 12 101]
kakek(umar,adi),

kakek(amir,dodi),

Dengan demikian kita telah memiliki 3 (tiga) jenis predikat yang menyatakan diagram
keluarga itu, yaitu fakta untuk relasi orangtua. Relasi anak disususn terbalik dari fakta
relasi orangtua dan fakta untuk relasi kakek dilacak dari relasi yang ada, Maka kita
dapat melakukan dialog dengan menanyakan :

siapa anak umar?

yang dalam PROLOG dapat ditulis sebagai berikut :

anak(X,umar).

PROLOG akan menjawab :

X = amir

Untuk pertanyaan lainnya :

siapa kakek tia? Atau

kakek(X,tia).

PROLOG akan menjawab :

X = umar

Penulisan fakta baru dari fakta yang ada seperti diatas adalah penterjemahan manual, hal
ini tentu tidak praktis, apa lagi jika kita menghendaki lebih banyak relasi baru dan fakta
yang ada banyak sekali, maka ada cara lain yang lebih praktis dengan membuat suatu
aturan. Dengan meningkatkan daya nalar program, disamping sederhana dan lebih
mudah.

Dari kasus diatas maka rekasi orang tua relasi untuk anak adalah sebagai berikut

anak(Y,X) if orangtua(X,Y).

sedangkan untuk relasi kakek adalah

8 H i b a t e n w a f i r o h [2010 12 101]
kakek(X,Z) if laki_laki(X) and

orangtua(X,Y) and

orangtua(Y,Z).

Dengan memberi aturan ini, kita dapat menanyakan siapa anak X, dan siapa kakek Z dan
seterusnya, dengan adanya and (dan) disebut konjungsi, sedangkan or (atau) disebut
disjungsi. Dalam PROLOG if, and dan or bisa ditulis masing-masing dengan tanda :- ,
koma(,) dan titik-koma (;), maka aturan diatas dapat ditulius dalam PROLOG sebagai
berikut ;

kakek(X,Z) :- laki_laki(X),

orangtua(X,Y),

orangtua(Y,Z).

Berikut ini adalah penggunaan disjungsi dalam suatu aturan

orangtua(X,Y) :- ibu(X,Y);

ayah(X,Y),

orangtua(Y,Z).

Klausa diatas pengertianya adalah sebagai : X orang tua Y jika X ibu dari Y, atau X ayah
dari Y, pembuktiannya cukup salah satu saja yang benar.

Pernyataan diatas disebut kalimat bersyarat (conditional) yakni benar jika syarat nya atau
kondisinya dipenuhi; seperti halnya dengan bahasa lain, hanya susunannya terbalik.

2.2.5 Dialog dengan PROLOG

Setelah PROLOG diberi fakta atau fakta dan aturan, maka kita dapat menghadapkan
PROLOG dengan banyak pertanyaan. Dalam Turbo PROLOG kita dapat mencobanya
dengan menuliskan fakta orang tua diatas sebagai berikut

9 H i b a t e n w a f i r o h [2010 12 101]
preditactes

orangtua(symbol,symbol)

clauses

orangtua(umar,amir).

orangtua(neno,amir).

orangtua(amir,tia).

orangtua(amir,adi).

orangtua(adi,dodi).

orangtua(tia,hendra).

Kemudian program dijalankan dengan menekan tombol Alt +R bersamaan maka dilayar
akan tampil promt Goal: pada jendela dialog

Jika kita tanyakan dengan menuliskan ;

Setelah PROLOG diberi fakta atau fakta dan aturan, maka kita dapat menghadapkan
PROLOG dengan banyak pertanyaan. Dalam Turbo PROLOG kita dapat mencobanya
dengan menuliskan fakta orang tua diatas sebagai berikut

orangtua(umar,amir) [Enter]

maka PROLOG akan menjawab : Yes, karena memang ada fakta yang menyatakan
bahwa umar adalah orang tua amir (umar dan amir disebut atom, yaitu unsur objek nyata
atau konstanta yang tidak tersusun dari objek lain, Namun jika kita membuat pertanyaan
berikut ini;

orangtua(umar,adi) [Enter]

maka PROLOG akan melakukan pencarian fakta dari klausa paling atas sampai paling
bawah dan ternyata tidak diketemukan maka Program akan menjawab No.

Bagaimana, jika kita menanyakan dengan pertanyaan sebagai berikut;

10 H i b a t e n w a f i r o h [2010 12 101]
orangtua(amir,X) [Enter]

maka program akan menjawab sebagai berikut

X = tia

X = adi

2 solutions

Dan bila pertanyaannya kita ubah menjadi berikut;

orangtua(umar,X) [Enter]

maka program akan menjawab sebagai berikut;

X = amir

solution

2.2.6 Variabel

Argumen suatu predikat dapat berupa konstanta (atom) atau variabel atau bahkan objek
lain. Atom disebut juga objek nyata (concrete) sedangkan variabel disebut juga objek
umum (general). Suatu atom, variabel atau objek lain dalam PROLOG disebut term,
dengan kata lain argumen juga disebut term.

Dalam PROLOG ada 2 variabel yaitu;

- Variabel bernama; yaitu variabel yang diberi nama seperti X, Orang dan lainya

- Variabel tak bernama dilambangkan dengan faris bawah ( _ )

Variabel bernama

Contoh variabel bernama yang benar;

Nama_orang

Program_17_08_07

11 H i b a t e n w a f i r o h [2010 12 101]
_var

PendapatanPerKapita

GolonganJabatan

Contoh variabel yang salah

2nama /* diawali dengan angka */

hari /* diawali dengan huruf kecil */

Nomor-induk /* mengandung karakter khusus - */

pangkat/gol

2.2.7 Variabel tak bernama

Jika kita ingin mengabaikan nilai variabel, gunakanlah variabel tak bernama yang
dilambangkan dengan garis bawah tunggal ( _ ). Jenis variabel ini tidak akan pernah
terikat, jika dipadankan dengan suatu nilai, variabel ini tidak pernah menyebabkan
kegagalan atau selalu sepadan (match), Biasanya digunakan untuk nilai yang diabaikan,
contoh ;

direktur(amir,keuangan).

direktur(dodi,umum)

direktur(nina,komersil).

direktur(yunus,produksi).

Jika kita ingin nenanyakan siapa saja yang jadi direktur, dengan mengabaikan
departemenya, dapat ditulis;

direktur(Orang,_).

Maka jawaban yang muncul adalah :

12 H i b a t e n w a f i r o h [2010 12 101]
Orang = amir

Orang = dodi

Orang = nina

Orang = yunus

2.2.8 Goal dan Pertanyaan

Untuk melaksanakan perintah atau dialog dapat ditempatkan pada goal, goal dapat
berbentuk sederhana seperti;

orangtua(X,amir).

Atau yang lebih detail seperti;

gemar(Orang,komputer) and gemar(Orang,mancing).

Goal yang terdiri ;ebih dari satu disebut goal majemuk dan bagianya disebut sub-goal

BAB III
METODOLOGI

13 H i b a t e n w a f i r o h [2010 12 101]
Aplikasi Turbo Prolog
Dalam menggunakan turbo prolog data yang di inputkan melalui apliksai turbo prolog yang
bekerja melalui via DOS sistem.

Setelah membuka lembaran DOS turbo prolog, lalu mulai Klik File kemudian New File guna
untuk menuliskan sebuah syntax

Kemudian setelah terbuka lembaran form baru, lalu tuiskanlah syntak

14 H i b a t e n w a f i r o h [2010 12 101]
Kemudian Dari hasil diatas, kita lanjuntkan dengan mengeksekusi Run /atau Compiler maka
hasil outputnya

BAB IV

15 H i b a t e n w a f i r o h [2010 12 101]
ANALISIS DAN HASIL

4.1 ANALISIS

4.1.1 PROGRAM MAKANAN

domains
orang,makanan,rasa = symbol

predicates
suka(orang,makanan)
berasa(makanan,rasa)
makanan(makanan)

clauses
suka(didit,X):-
makanan(X),berasa(X,keju).

berasa(roti,tawar).
berasa(pia,kacang_hijau).
berasa(pia,cokelat).
berasa(pia,susu).
berasa(pia,keju).
makanan(roti).
makanan(kripik).
makanan(pia).

4.1.2 PROGRAM PESAWAT

16 H i b a t e n w a f i r o h [2010 12 101]
domains

jenis, pabrik = symbol

JmlPen = integer

predicates

pembuat(Pabrik,Jenis)

pesawat(jenis,JmlPen)

pesawatkecil(jenis)

clauses

pembuat(boing,boing_747).

pembuat(fokker,f28).

pembuat(iptn,n250).

pesawat(boing_757,500).

pesawat(n250,50).

pesawatkecil(Jenis):-

pembuat(_,Jenis),

pesawat(Jenis,JmlPen),

JmlPen < 100.

4.1.3 ORANG TUA

17 H i b a t e n w a f i r o h [2010 12 101]
domains

orangtua = symbol

predicates

orangtua(symbol,symbol)

clauses

orangtua(umar,amir).

orangtua(neno,amir).

orangtua(amir,tia).

orangtua(amir,adi).

orangtua(adi,dodi).

orangtua(tia,hendra).

4.1.4 MENCARI NILAI RATA RATA

18 H i b a t e n w a f i r o h [2010 12 101]
domains
nrp,nama = string
nilai = integer
list = nilai*
predicates
mahasiswa(nama,nrp,nilai)
jumlahlist(list,nilai,integer)

goal
findall(Nilai,mahasiswa(_,_,Nilai),Lis),
jumlahlist(Lis,Jumlah,JmlMhs),
Rata_rata = Jumlah/JmlMhs,
write("Nilai rata-rata : ",Rata_rata).

clauses
jumlahlist([],0,0).
jumlahlist([H|T],Jml,N):-
jumlahlist(T,J1,N1),
Jml = H + J1, N = N1 + 1.
mahasiswa("Agus Susanto","200512027",75).
mahasiswa("Suparman","200512029",77).
mahasiswa("Wahyu","200512028",76).
mahasiswa("Wayan","200512019",68).
mahasiswa("Adar Supriyadi","200512015",74).
mahasiswa("Ali Syafudin","200512067",66).

4.1.5 MEDIANOGSA PENYAKIT

19 H i b a t e n w a f i r o h [2010 12 101]
/*========================================================*/
/* PROGRAM DIAGNOSA PENYAKIT */
/*=======================================================*/

domains
penyakit = string
gejala = string
query = string
jawab = char

database
dbmengalami (gejala)
dbtakmengalami (gejala)

predicates
penyebab (penyakit)
go
mengalami (query, gejala)
gejala (gejala)
clear_fakta2
simpan (gejala, jawab)
tanya (query, gejala, jawab)
go_once
diagnose (penyakit)
solusi (penyakit)

goal
clearwindow
makewindow (*,32,*2,* DIAGNOSA PENYAKIT THT *,0,0,24,80),
go,
removewindow

clauses
go :-
go_once, nl, nl, nl, nl, nl,
writw (“ Ingin mengulang lagi [y/t] ? “),

20 H i b a t e n w a f i r o h [2010 12 101]
read char (jawab), nl,
clearwindow,
jawab = ‘y’,
go.

go_once :-
diagnose (…),!,
save (test.dat*),
clear_fakta2.

go_once :-
write (“Maaf penyakit tidak dapat didiagnosa”),nl,
clear_fakta2.

mengalami (_, Gejala):-


dbmengalami (Gejala),!,

mengalami (Query, Gejala):-


not( dbtakmengalami (Gejala),
Tanya (Query, Gejala, Jawab),
Jawab = ‘y’.

takmengalami (_,Gejala):-
dbtakmengalami (Gejala)),!.

takmengalami (Query, Gejala):-


not (dbmengalami (Gejala)),
tanya (Query, Gejala, Jawab),
Jwab = ‘y’.

tanya (Query, Gejzlz, Jawab),


write (Query),
readchar( Jawab),
write (Jawab), nl,
simpan (Gejala, Jawab).

simpan (Gejala, ‘y’):=


aserta (dbmengalami (Gejala)).

simpan (Gejala, ‘t’):=


aserta (dbtakmengalami (Gejala)).

clear_fakta2:-
refract (dbmengalami (_)), fail.

clear_fakta2:-
refract (dbtakmengalami (_)), fail.
clear_fakta2:-
/*---------------------------------------------GEJALA---------------------------------------------*/

gejala (Gejala):-
dbmengalami (Geala):-,!.

gejala (Gejala):-

21 H i b a t e n w a f i r o h [2010 12 101]
dbtakmengalami (Geala):-,!, fail.

/***/
gejala (demam):-
mengalami (“Apakah anda demam [y/t] ?”, demam).

/*2*/
gejala (sakit_kepala):-
mengalami (“Apakah anda sakit kepala [y/t] ?”, sakit_kepala).

/*3*/
gejala (nyeri_bicara_menelan):-
mengalami (“Apakah anda merasa nyeri pada saat bicara atau menelan [y/t] ?”,
nyeri_bicara_menelan).

/*4*/
gejala (batuk):-
mengalami (“Apakah anda batuk [y/t] ?”,batuk).

/*5*/
gejala (hidung_tersumbat):-
mengalami (“Apakah hidung anda tersumbat [y/t] ?”, hidung_tersumbat).

/*6*/
gejala (nyeri_telinga):-
mengalami (“Apakah telinga anda terasa nyeri [y/t] ?”, nyeri_telinga).

/*7*/
gejala (nyeri_tenggorokan):-
mengalami (“Apakah tenggorokan anda terasa nyeri [y/t] ?”, nyeri_tenggorokan).

/*8*/
gejala (hidung_meler):-
mengalami (“Apakah hidung anda sering mengeluarkan ingus [y/t] ?”, hidung_meler).

/*9*/
gejala (letih_lesu):-
mengalami (“Apakah anda merasa letih dan lesu [y/t] ?”,letih_lesu).

/**0*/
gejala (mual_muntah):-
mengalami (“Apakah anda merasa mual atau muntah [y/t] ?”, mual_muntah).

/****/
gejala (selaput_lendir_merah):-
mengalami (“Apakah selaput lender anda merahi [y/t] ?”, selaput_lendir_merah).

/**2*/
gejala (benjolan_leher):-
mengalami (“Apakah pada leher anda ada benjolan [y/t] ?”, benjolan_leher).

/**3*/
gejala (nyeri_leher):-
mengalami (“Apakah anda merasa nyeri pada leher [y/t] ?”, nyeri_leher).

22 H i b a t e n w a f i r o h [2010 12 101]
/**4*/
gejala (getah_bening):-
mengalami (“Apakah anda mengalami pembengkakan getah bening [y/t] ?”,
getah_bening).

/**5*/
gejala (pendarahan_hidung):-
mengalami (“Apakah hidung anda mengalami pendarahan [y/t] ?”, pendarahan_hidung).

/**6*/
gejala (suara_serak):-
mengalami (“Apakah suara anda merasa serak [y/t] ?”, suara_serak).

/**7*/
gejala (bolamata_bergerak):-
mengalami (“Apakah bola mata anda bergerak tanpa sadar [y/t] ?”, bolamata_bergerak).

/**8*/
gejala (dahi_sakit):-
mengalami (“Apakah dahi anda terasa sakit [y/t] ?”, dahi_sakit).

/**9*/
gejala (leher_bengkak):-
mengalami (“Apakah leher anda bengkak [y/t] ?”,leher_bengkak).

/**20*/
gejala (tuli):-
mengalami (“Apakah ada gejala tuli [y/t] ?”,tulit).

/*2**/
gejala (tumbuh_dimulut):-
mengalami (“Apakah ada yang tumbuh dimulut anda [y/t] ?”, tumbuh_dimulut).

/*22*/
gejala (airliur_menetes):-
mengalami (“Apakah air liur anda sering menetes [y/t] ?”, airliur_menetes).

/*23*/
gejala (beratbadan_menurun):-
mengalami (“Apakah berat badan anda menurun [y/t] ?”, beratbadan_menurun).

/*24*/
gejala (nafas_abnormal):-
mengalami (“Apakah bunyi nafas anda abnormal [y/t] ?”,nafas_abnormal).

/*25*/
gejala (infeksi_sinus):-
mengalami (“Apakah anda mengalami infeksi sinus [y/t] ?”, infeksi_sinus).

/*26*/
gejala (nyeri_antara_mata):-
mengalami (“Apakah telinga anda merasa nyeri antara mata [y/t] ?”, nyeri_antara_mata).

/*27*/

23 H i b a t e n w a f i r o h [2010 12 101]
gejala (nyeri_pinggir_hidung):-
mengalami (“Apakah anda merasa nyeri pada pinggir hidung [y/t] ?”,
nyeri_pinggir_hidung).

/*28*/
gejala (nyeri_pippi):-
mengalami (“Apakah anda merasa nyeri pada pipi [y/t] ?”, nyeri_pipi).

/*29*/
gejala (nyeri_wajah):-
mengalami (“Apakah anda mengalami nyeri diwajah [y/t] ?”,nyeri_wajah).

/*30*/
gejala (perubahan_kulit):-
mengalami (“Apakah kulit anda mengalami perubahan [y/t] ?”, perubahan_kulit).

/*3**/
gejala (perubahan_suara):-
mengalami (“Apakah anda mengalami perubahan suarai [y/t] ?”, perubahan_suara).

/*32*/
gejala (radang_gendang_telinga):-
mengalami (“Apakah anda mengalami radang gendang telinga [y/t] ?”,
radang_gendang_telinga).

/*33*/
gejala (sakit_gigi):-
mengalami (“Apakah anda mengalami sakit gigi [y/t] ?”, sakit_gigi).

/*34*/
gejala (serangan_vertigo):-
mengalami (“Apakah anda mengalami serangan vertigo [y/t] ?”, serangan_vertigo).

/*35*/
gejala (telinga_berdenging):-
mengalami (“Apakah telinga anda berdenging [y/t] ?”, telinga_berdenging).

/*36*/
gejala (telinga_penuh):-
mengalami (“Apakah telinga anda terasa penuh [y/t] ?”, telinga_penuh).

/*37*/
gejala (tenggorokan_gatal):-
mengalami (“Apakah tenggorokan anda terasa gatal [y/t] ?”, tenggorokan_gatal).

/*38*/
gejala (tubuh_tak_seimbang):-
mengalami (“Apakah tubuh anda terasa tak seimbang [y/t] ?”, tubuh_tak_seimbang).

/*-------------------------------------------------------
DIAGNOSA-------------------------------------------------------------*/

24 H i b a t e n w a f i r o h [2010 12 101]
/***/
diagnosa (“Tonisitis”):-
gejala (demam),
gejala (sakit_kepala),
gejala (nyeri_bicara_menelan),
gejala (batuk),
gejala (nyeri_tenggorokan),
gejala (selaput_lendir_merah),
penyebab (“Tonisistis”).

/*2*/
diagnosa (“Sinusitis Maksilaris”):-
gejala (demam),
gejala (sakit_kepala),
gejala (batuk),
gejala (hidung tersumbat),
gejala (hidung meler),
gejala (letih lesu),
gejala (benjolan dileher),
penyebab (“Sinusitis Maksilaris”).

/*3*/
diagnosa (“Sinusitis Frontaliss”):-
gejala (demam),
gejala (sakit_kepala),
gejala (batuk),
gejala (hidung tersumbat),
gejala (hidung meler),
gejala (letih lesu),
gejala (benjolan dileher),

/*4*/
diagnosa (“Sinusitis Edmodalis”):-
gejala (demam),
gejala (sakit_kepala),
gejala (batuk),
gejala (hidung tersumbat),
gejala (hidung meler),
gejala (letih_lesu),
gejala (benjolan_dileher),
gejala (bolamata_bergerak),
penyebab (“Sinusitis Edmodalis”).

/*5*/
diagnosa (“Sinusitis Stenoidalis”):-
gejala (demam),
gejala (sakit_kepala),
gejala (batuk),
gejala (hidung_tersumbat),
gejala (hidung_meler),
gejala (letih_lesu),
gejala (benjolan_dileher),

25 H i b a t e n w a f i r o h [2010 12 101]
gejala (nyeri_leher),
penyebab (“Sinusitis Stenoidalis”).

/*6*/
diagnosa (“Abses Peritonesiler”):-
gejala (demam),
gejala (sakit_kepala),
gejala (nyeri_tenggorokan),
gejala (getah_bening),
gejala suara_serak),
penyebab (“Abses Peritonesiler”).

/*7*/
diagnosa (“Faringitis”):-
gejala (demam),
gejala (nyeri_bicara_menelan),
gejala (nyeri_tenggorokan),
gejala (nyeri_leher),
gejala (getah_bening),
penyebab (“Faringitis”).

/*8*/
diagnosa (“Kanker Laring”):-
gejala (nyeri_bicara_menelan),
gejala (batuk),
gejala (nyeri_tenggorokan),
gejala (getah_bening),
gejala (suara_serak),
penyebab (“Kanker Laring”).

/*9*/
diagnosa (“Deviasi Septum”):-
gejala (demam),
gejala (hidung_tersumbat),
gejala (nyeri_telinga),
gejala (pendarahan_dihidung),
gejala (suara_serak),
penyebab (“Deviasi Septum”).

/**0*/
diagnosa (“Laringitis”):-
gejala (demam),
gejala (nyeri_bicara_menelan),
gejala (getah_bening),
gejala (leher_bengkak),
penyebab (“Laringitis”).

/****/
diagnosa (“Kanker Leher & Kepala”):-
gejala (nyeri_bicara_menelan),
gejala (benjolan_dileher),
gejala (pendarahan_dihidung),
penyebab (“Kanker Leher & Kepala”).

/**2*/

26 H i b a t e n w a f i r o h [2010 12 101]
diagnosa (“Otitis Media Akut”):-
gejala (demam),
gejala (nyeri_telinga),
gejala (mual_muntah),
penyebab (“Otitis Media Akut”).

/**3*/
diagnosa (“Contanct Ulcers”):-
gejala (nyeri_bicara_menelan),
gejala (suara_serak),
penyebab (“Contanct Ulcers”).

/**4*/
diagnosa (“Abses Parafaringeal”):-
gejala (nyeri_bicara_menelan),
gejala (leher_bengkak),
penyebab (“Kanker Leher & Kepala”).

/**5*/
diagnosa (“Barotitis Media”):-
gejala (sakit_kepala),
gejala (nyeri_telinga),
penyebab (“Barotitis Media”).
/**6*/
diagnosa (“Kanker Nafasoring”):-
gejala (hidung_tersumbat),
gejala (pendarahan_dihidung),
penyebab (“Kanker Nafasoring”).

/**7*/
diagnosa (“Kanker Tonsil”):-
gejala (nyeri_tenggorokan),
gejala (benjolan_dileher),
penyebab (“Kanker Tonsil”).

/**8*/
diagnosa (“Neuronitis Vastibularis”):-
gejala (mual_muntah),
gejala (bolamata_bergerak),
penyebab (“Neuronitis Vastibularis”).

/**9*/
diagnosa (“Maniere”):-
gejala (nyeri_telinga),
gejala (mual_muntah),
penyebab (“Maniere”).

/*20*/
diagnosa (“Tumor Syaraf Pendengaran”):-
gejala (sakit_kepala),
gejala (tuli),
penyebab (“Tumor Syaraf Pendengaran”).

27 H i b a t e n w a f i r o h [2010 12 101]
/*2**/
diagnosa (“Kanker Leher Metastatik”):-
gejala (benjolan_dileher),
penyebab (“Kanker Leher Metastatik”).

/*22*/
diagnosa (“Osteosklerosis”):-
gejala (tuli),
penyebab (“Osteosklerosis”).

/*23*/
diagnosa (“Vertigo Postular”):-
gejala (bolamata_bergerak),
penyebab (“Vertigo Postular”).

penyebab (“Kanker Leher & Kepala”):-


Solusi(“Tonsilitis”).

penyebab (“Sinusistis Maksilaris”):-


gejala (nyeri_pipi),
gejala (sakit)gigi),
solusi (“Sinusitis Maksilaris”).

penyebab (“Sinusistis Frontalis”):-


solusi (“Sinusitis Frontaliis”).

4.2 HASIL

4.2.1 PROGRAM MAKANAN

Hasil di bawah merupakan output dari runing

28 H i b a t e n w a f i r o h [2010 12 101]
4.2.2 PROGRAM PESAWAT

Hasil di bawah merupakan output dari runing

4.2.3 PROGRAM ORANG TUA

29 H i b a t e n w a f i r o h [2010 12 101]
Hasil di bawah merupakan output dari runing

4.2.3 PROGRAM MENCARI RATA – RATA

30 H i b a t e n w a f i r o h [2010 12 101]
Hasil di bawah merupakan output dari runing

4.2.3 MENDIAGNOSA PENYAKIT

31 H i b a t e n w a f i r o h [2010 12 101]
Hasil di bawah merupakan output dari runing

BAB V

32 H i b a t e n w a f i r o h [2010 12 101]
KESIMPULAN

Mempelajari kecerdasan buatan kita akan dapat membuat program-program yang cara
kerjanya mirip dengan otak manusia. Dengan bahasa Prolog ini kita dapat belajar
mengkonversi bahasa natural ke bahasa prolog dengan pemrograman logika.tentunya dengan
mengetahui konsep-konsep dasar fakta-fakta, aturan-aturan, predikat-predikat dan variabel.

33 H i b a t e n w a f i r o h [2010 12 101]
DAFTAR PUSTAKA

 http://informaticunsil.blogspot.com/2012/12/sejarah-bahasa-pemrograman-
prolog.html
 http://www.docstoc.com/docs/117015128/Kecerdasan-Buatan-%28PDF-
download%29
 http://gudanglaporankuliahku.blogspot.com/2012/11/laporan-kecerdasan-
buatan-2_18.html
 http://sistemoperasimobile.blogspot.com/2013/04/pengertian-dan-contoh-
makalah_3.html

34 H i b a t e n w a f i r o h [2010 12 101]

Anda mungkin juga menyukai