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)
$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
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)!
Herianto, M.T
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
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
Latihan
2engan cara yang sama tuliskanlah (oal untuk pertanyaan!pertanyaan berikut : $oft%are Aplikasi apa yang dibuat oleh Microsoft 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)
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#
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+
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