Anda di halaman 1dari 11

1 eceModul untuk kegiatan labor :

Mata Kuliah : Intelijensi Buatan/AI


Materi/Pembahasan :

Fakta, Rule dan Query pada Prolog


Tujuan : Melalui modul ini diharapkan peserta dapat memahami dan membuat pernyataan fakta, aturan/rule dan query/goal pada turbo Prolog

Gambaran umum : Pemrograman AI merupakan kegiatan membuat program yang prinsip kerjanya dirancang untuk semirip mungkin dengan cara manusia berpikir menggunakan intelijensi!nya" dalam memecahkan suatu masalah# Manusia dalam berpikir untuk memecahkan masalah akan menggunakan pengetahuan yang telah dimilikinya yang berkaitan dengan masalah yang akan dipecahkan# $emakin banyak dan lengkap pengetahuan tersebut maka semakin mendekati sempurna lah pemecahan/ja%aban masalah tersebut# Pemrograman prolog menirukan prinsip yang demikian# Maka pada

pemrograman prolog ada fasilitas untuk memberikan pengetahuan ke komputer, dan ada cara!cara untuk menguji atau bertanya ke komputer berkaitan dengan pengetahuan yang telah disusupkan tersebut# Pengetahuan pada prolog dituliskan dengan menyatakan fakta facts" dan

aturan rules" yang disebut dengan : Clauses. &akta pada prolog ada yang berupa fakta penjelasan sifat satu objek dan ada fakta yang menghubungkan relasi" keterkaitan dua objek# Aturan/'ules pada prolog merupakan pernyataan sebab!akibat antara beberapa fakta# $elanjutnya untuk menguji pengetahuan tersebut prolog menyediakan fasilitas penulisan Goal. (oal pada prolog dapat dituliskan di dalam kode program langsung internal" dan dapat juga dituliskan saat program dijalankan/run e)ternal"# Menuliskan (oal pada prolog disebut juga memberikan Query pengajuan pertanyaan"

Herianto, M.T

+angkah praktikum berikut akan membimbing anda untuk memahami tentang masalah penulisan : &akta, aturan dan query pada prolog#

Langkah Praktikum :
1# ,ika diketahui fakta!fakta berikut : -indo%s termasuk $istem operasi .s", +inu) juga termasuk sistem operasi, /o0ell juga termasuk sistem operasi, 1b adalah tool bahasa pemrograman, 2elphi juga tool bahasa pemrograman, .ffice adalah aplikasi, Photoshop adalah aplikasi, &lash adalah aplikasi, ,etAudio adalah aplikasi 3ntuk menuliskan fakta!fakta di atas, maka ketikkan kode berikut pada prolog : Clauses Os(windows). Os(linux). Os(novell). bahasa(vb). bahasa(delphi). Aplikasi(office). Aplikasi(photoshop). Aplikasi(flash). Aplikasi(jetAudio). ,ika program di atas langsung anda jalankan, maka prolog akan memberikan pesan kesalahan sebab predicate : .s, bahasa dan aplikasi belum dideklarasikan# 3ntuk itu sebelum bagian 4lauses tambahkan kode deklarasi predicate berikut : Predicates Os(symbol). Bahasa(symbol). Aplikasi(symbol).

Herianto, M.T

$etelah anda tambahkan kode di atas, jalankan kembali program anda# ,ika pengetikan anda benar, maka prolog akan memberi anda kesempatan untuk mengajukan query melalui prompt (oal# Ajukan pertanyaan berikut : $oft%are apa sajakah yang termasuk $istem .perasi 6 oal!"!os(A)

$oft%are mana saja yang termasuk bahasa pemrograman 6 oal!"!bahasa(A)

$oft%are mana saja yang termasuk aplikasi 6 oal!"!################(tentukan!sendiri!$)

$ymbol A pada pernyataan di atas dapat anda ganti dengan yang lain dan boleh lebih dari 1 karakter asalkan karakter pertamanya huruf besar ingat syarat memberi nama 0ariabel ke prolog"#
4atatan : Penulisan fakta seperti di atas termasuk jenis penulisan fakta yang hanya menjelaskan sifat satu objek, sebab parameter predikatnya hanya satu#

*# 3ntuk mencobakan penulisan fakta yang merelasikan beberapa objek, tambahkan fakta!fakta di atas yang huruf tebal" menjadi seperti berikut : -indo%s termasuk $istem operasi .s", +inu) juga termasuk sistem operasi, /o0ell juga termasuk sistem operasi, 1b adalah tool bahasa pemrograman, 2elphi juga tool bahasa pemrograman, .ffice adalah aplikasi, Photoshop adalah aplikasi, &lash adalah aplikasi,
Herianto, M.T

,etAudio adalah aplikasi


Perusahaan Microsoft membuat Microsoft juga membuat "#, Microsoft juga membuat $ffice, #orlan! membuat %el&hi, '!obe membuat Photosho& Co on membuat (et'u!io in!o s,

3ntuk itu kode prolog anda tambahkan menjadi berikut : Predicates Os(symbol). Bahasa(symbol). Aplikasi(symbol). Perusahaan(symbol,symbol). Clauses Os(windows). Os(linux). Os(novell). bahasa(vb). bahasa(delphi). Aplikasi(office). Aplikasi(photoshop). Aplikasi(flash). Aplikasi(jetAudio). Perusahaan(microsoft,windows). Perusahaan(microsoft,vb). Perusahaan(microsoft,office). Perusahaan(borland,delphi). Perusahaan(adobe,photoshop). Perusahaan(cowon,jetAudio).

,alankan/'un program dan ajukan kembali query seperti berikut : Apa saja soft%are yang dibuat oleh perusahaan microsoft 6 oal!"!perusahaan(microsoft%&oftware)!

Apakah 2elphi dibuat oleh Microsoft ' oal!"!perusahaan(microsoft%delphi)!

Herianto, M.T

Perusahaan apakah yang membuat 2elphi 6 oal!"!perusahaan(Perusahaan%delphi)!

$oft%are apa yang dibuat perusahaan Adobe 6 oal!"!##################!!!(tentukan!sendiri!$)

$iapakah yang membuat ,etAudio 6 oal!"!##################!!!(tentukan!sendiri!$)

TUGAS
9ambahkan program prolog di atas untuk fakta!fakta berikut : +inu) dibuat oleh Perusahaan 'ed:at, +inu) juga dibuat oleh Mandrake, +inu) juga dibuat oleh $use, /o0ell dibuat oleh /et%are 2an &lash dibuat oleh macromedia $etelah anda tambahkan tuliskan (oal untuk pertanyaan berikut : Perusahaan apa yang membuat +inu) 6 Apakah &lash dibuat oleh Microsoft 6 Apa saja soft%are yang dibuat oleh /et%are 6

(dikumpulkan !)

). Tentang &ernyatan majemuk : Misalkan dari program di atas diajukan pertanyaan : Microsoft membuat soft%are sistem operasi apa 6 3ntuk menuliskan pernyataan di atas pada
Herianto, M.T

bagian (oal maka

akan melibatkan predicate

os*+

juga predicate

&erusahaan*+# Pernyataan demikian disebut dengan pernyataan majemuk# ,alankan kembali program prolog anda dan tuliskan (oal berikut : oal!"!Perusahaan(microsoft%&oftware)%Os(&oftware)
Artinya : Microsoft membuat soft%are sistem operasi apa 6

9uliskan ja%aban prolog < ====#

Latihan
2engan cara yang sama tuliskanlah (oal untuk pertanyaan!pertanyaan berikut : $oft%are Aplikasi apa yang dibuat oleh Microsoft 6

Perusahaan apa saja yang membuat >ahasa Pemrograman 6

Apakah >orland ada membuat $istem .perasi 6

,. Tentang -ule.'turan : Aturan yaitu hubungan sebab!akibat if!then" antara beberapa fakta# Aturan juga dapat digunakan untuk mendapatkan fakta baru dari beberapa fakta yang ada# 4ontoh aturan : ? $ebuah soft%are disebut mahal jika dibuat oleh perusahaan Microsoft#@ Maka untuk menuliskan aturan tersebut pada prolog pernyataannya adalah : (ahal(&oftware)!")!perusahaan(microsoft%&oftware).

Herianto, M.T

9ambahkan pernyataan di atas pada program anda < ,angan lupa menambahkan deklarasi predicate mahal "#

Bemudian jalankan dan berikan query berikut : $oft%are apa saja yang termasuk mahal 6 oal!"!mahal(&oftware)

Apakah 2elphi termasuk mahal 6 oal!"!mahal(delphi)

Latihan :
>uatlah pernyataan prolog untuk aturan berikut : ? Perusahaan soft%are masa depan adalah perusahaan yang mengembangkan +inu)#@ >erdasarkan aturan tersebut buat query yang menanyakan : Perusahaan apa saja yang termasuk perusahaan masa depan 6

8# (oal Internal (oal internal yaitu (oal yang dituliskan di dalam kode program# 2engan adanya (oal Internal maka saat program dijalankan/run tidak ada lagi prompt (oal#

9ambahkan kode berikut pada program anda :

Herianto, M.T

*oal Clearwindow%aplikasi(&)%perusahaan(P%&)% write(+,an*!membuat!aplikasi!!+%&%+!adalah!perusahaan!+%P). ,alankan/run program dan catat hasilnya < =================================== ========## =================================== ========## 9ambahkan kode di bagian goal tersebut menjadi seperti berikut huruf tebal" : *oal Clearwindow%aplikasi(&)%perusahaan(P%&)% write(+,an* ! membuat ! aplikasi ! ! +%&%+ ! adalah ! perusahaan ! +%! P),nl,fail. Bembali catat hasilnya =================================== ========## =================================== ========## =================================== ========##

$ebutkan fungsi penambahan perintah : nl dan fail tersebut < =================================== ========## =================================== ========## =================================== ========##

Herianto, M.T

Tugas :

*%ikum&ulkan+

>uatlah goal internal untuk menghasilkan output dengan pesan :


kata!kata pesan silahkan dibuat sendiri"

1# Perusahaan!perusahaan yang membuat bahasa pemrograman *# Perusahaan!perusahaan yang membuat sistem operasi 5# Eang termasuk $oft%are mahal 7# Eang termasuk $oft%are tidak mahal 8# ===== ;# =====

Herianto, M.T

1F

>uatlah program prolog untuk fakta dan rule seperti ditentukan berikut :

>oeing adalah pembuat >oeingGA7A &okker adalah pembuat &*C IP9/ adalah pembuat &*8F >oeingGA7A penumpangnya 8FF &*C penumpangnya ;FF /*8F penumpangnya 8F Pesa%at kecil adalah pesa%at yang penumpangnya HI 8F Pesa%at besar adalah pesa%at yang penumpangnya JI5FF
pembuat(boein*%bO-./ 0121). pembuat(fokker%f34). pembuat(iptn%f356). pesawat(bO-./ 0121%566). pesawat(n356%56). pesawatkecil(7enis)")pesawat(7enis%7umlah)%7umlah8956.

Herianto, M.T

11

Herianto, M.T

Anda mungkin juga menyukai