KECERDASAN BUATAN
PERTEMUAN 1 & 2
Disusun oleh :
Ahmad Khoerudin
1154100
0
PERTEMUAN KE 1
LINGKUNGAN VISUAL PROLOG
(VISUAL PROLOG ENVIRONMET, VPE)
1. TUJUAN
Supaya mahasiswa mengetahui cara memulai program VPE, serta dapat
membuat program dari jendela VPE dan dapat menjalankan serta menguji
program yang telah dibuat dalam jendela VPE.
2. DASAR TEORI
Visual Prolog Environment (VPE)
Didesain supaya seorang programmer dapat dengan mudah, nyaman dan
cepat dalam membangun, menguji dan memodifikasi suatu aplikasi atau
program yang ditulis dalam visual prolog.
Menjalankan VPE
Program instalasi akan membuat sebuah program group yang didalamnya
tertdapat icon yang digunakan untuk menjalankan VPE, yaitu dengan cara
mengeklik icon tersebut.
Membuka jendela editor
Untuk menciptakan jendela editor yang baru, dapat menggunakan menu
perintah file | new.
Menjalankan dan menguji suatu program
Untuk mengecek bahwa sistem diset dengan baik, praktikan dapat
mencoba mengetikkan teks berikut pada jendela editor.
3. PEMBAHASAN
0
Dalam pembahasan kali ini saya akan belajar membuat program dalam jendela
visual prolog. Dimana contoh programnya seperti dibawah ini.
Output
Hasil ouputnya adalah dina. karena kita bisa mengetahui dalam clauses program
diatas. Dalam program tersebut dapat dijelaskan dengan kita menjabarkan
masing-masing program. Kita awali terlebih dahulu dari ipar_perempuan(A,B):-
menikah(A,C),saudara_perempuan(C,B). yaitu dimana ipar_perempuan (A,B) disini
objek A dapat kita deklarasikan sebagai ikhsan sedengkan symbol B belom ada.
Dimana menikah(A,C) yaitu A (ikhsan) menikah dengan C dimana symbol C
sebagai(dini), saudara_perempuan(C,B) maksudnya saudara perempuan dari dini
yaitu B. Dimana dari hasil penjelasan program tersebut kita bisa mengetahui
siapa ipar perempuan dari ikhsan yaitu dina karena disini ikhsan menikah
dengan dini.
0
4. TUGAS
1. Menyisipkan baris pada source program:
2. Tombol akselator:
copy: Ctrl+C, Cut: Ctrl+X, Redo:Alt+Shift+BkSp, Undo: Alt+BkSp, New:F7,
Open: F8, Save: F2, Exit:Alt+X, Goal: Ctrl+G
0
Output
selain muncul hasil no solution, ada munculnya eror waring yang mengatakan
bahwa clause ipar_perempuan lebih dari 1 kemungkinan.
0
5. KESIMPULAN
Dengan kita belajar visual prolog kita diwajibkan untuk bisa belajar logika
pada suatu program. serta Jika melakukan pemanggilan klausa atau matching,
program ini melacaknya dari atas ke bawah. Jika prolog menemukan bandingan
atau klausa yang match, prolog mencatat tempat ditemukannya klausa yang
match. Bagian clauses merupakan inti program ini, dapat juga tanpa clauses
tetapi tentunya goal hanya terdiri dari predikat standar. Jika ada bagian clauses
harus ada bagian predicates atau sebaliknya. Urutan dalam prosedur harus benar
untuk menjaga prolog dapat mencari jawaban dengan benar dan juga
menentukan kecepatan eksekusi program.
LISTING
(terlampir)
PERTEMUAN KE 2
DASAR-DASAR PROLOG
0
1. TUJUAN
Supaya mahasiswa mengetahui apa yang dimaksud dengan pemrograman logika,
serta dapat mengkonversikan dari bahasa natural ke bahasa prolog dan begitu
juga sebaliknya. Mengetahui konsep, aturan preidicat serta variabel dalam
bahasa prolog.
2. DASAR TEORI
Prolog dikenal sebagai bahasa deskreptive yang berarti dengan diberikan
serangkain-serangkain fakta dan aturan-aturan prolog. Dengan menggunakan
cara berfikir dedukatif akan dapat menyelesaikan permasalahan suatu program.
Prolog didasarkan pada kalusa-klausa horn(horn clauses), yang merupakan
himpunan bagian dari sistem formal yang dinamakan logika predikat. Logika
predikat menyederhanakan cara agar jelas bagaimana berfikir akan dilakukan.
3. PEMBAHASAN
Dalam praktikum kali ini saya belajar tentang dasar-dasar prolog dimana contoh
programnya seperti dibawah ini.
Output
0
Jumlah argument dalam predikat disebut aritas (arity). Satu predikat boleh
memiliki aritas yang berbeda (dengan syarat harus dikelompokkan dalam bagian
clausenya). Kata nondeterm pada section predicates berfungsi untuk memberi
tahu compiler bahwa predikat tersebut mempunyai lebih dari satu kemungkinan
jawaban(non-deterministik). Dalam fakta pada bagian Clauses diberi simbol X.
Maksud dari penamaan variabel pada orang(X) adalah menjelaskan bahwa
variabel oarng tersebut mengidentitaskan nama orang tersebut .. Dalam natural
relasi disimbolisasikan oleh suatu kalimat.fakta memiliki relasi yang diikuti
object atau object object didalam yanda kurung. Sebagaimana kalimat, fakta
tersebut diakhiri dengan tanda titik. sebagian sintak clausa jika diartikan dalam
bahasa formal :
0
Dimana dalam output yang baru ini dapat diketahui bahwa dian suka atoz
dan ada pula heni suka kijang.
Suka(_,Apa).
Suka(Siapa,_).
Disini siapa terdiri dari dian, yudi, heri, nur, dan heni. Karena perintah ini
menampilkan nama semua orang.
Dapat_membeli(_,Apa).
0
Dapat_membeli(Siapa,_).
Ini kebalikan dari progra dapat membeli apa dimana kalo program ini
menunjukan siapa orang yang membeli yaitu dian sama heni.
4. TUGAS
1. Ubah bahasa prolog menjadi bahasa normal :
A. Orang(daian) dian adalah orang
B. Mobil(atoz) atoz adalah mobil
C. Suka(dian,atoz). dian suka atoz
D. Dijual (atoz) atoz dijual
E. Dapat_membeli(x,y) :- x dapat membeli y jika
Orang(x) x adalah orang
Mobil(y) y adalah mobil
Suka(x,y) x suka dengan y
Dijual(y) Y dijual
F. Suka(_,Apa) apa saja yang ada didalam klausa suka.
2. Ubah bahasa natural menjadi basha prolog
A. Ricky mempunyai hobi bermain catur hobi (ricky,catur).
B. Embang orangnya pemalas pemalas (embang).
C. Yusida seorang vegetarian vegetarian (yusida).
D. Kusidar pandai main gitar pandai (kusidar, gitar).
E. Mobil yang berwarna merah itu mulik sadek, merk BMW.
Milik (mobil, Sadek), warna (mobil, merah), merek(mobil, BMW).
F. Awan seorang pemain piano, berasal dari pontianak bersuku jawa.
Pemain (Awan, piano), berasal( Awan, pontianak), suku(Awan ,
jawa).
3. Program :
PREDICATES
anak(STRING,STRING)
istri(STRING,STRING)
pria(STRING)
wanita(STRING)
ayah(STRING,STRING)
ibu(STRING,STRING)
0
cucu(STRING,STRING)
kakek(STRING,STRING)
adik(STRING,STRING)
usia(STRING,INTEGER)
CLAUSES
anak("Jhon","James").
anak("James","Peter").
anak("Sue","Ann").
istri("Mary","Peter").
istri("Ann","James").
pria("Jhon").
pria("James").
pria("Peter").
wanita("Mary").
wanita("Sue").
wanita("Ann").
usia("Jhon",10).
usia("Sue",13).
ayah(A,B):-anak(B,A).
kakek(A,B):-ayah(A,C), ayah(C,B).
ibu(A,B):-istri(B,C), anak(A,C).
cucu(A,B):-anak(A,C), anak(C,B).
cucu(A,B):-anak(A,C), istri(C,D), anak(D,B).
adik(A,B):-usia(A,C), usia(B,D), C<D.
GOAL
cucu(X,Y).
ibu(X,Y).
kakek(X,Y).
0
5. KESIMPULAN
Dalam praktikum kedua ini dapat saya simpulkan bahwa pemrograman
Logika (Proraming In Logic) adalah program logika yang telah memiliki obyek-
obyek yang mudah dalam prolog seperti variabel dan nomor. Dalam logika
predikat menyederhanakan cara agar jelas bagaimana berpikir akan dilakukan.
Dalam logika predikat , pertama harus membuang semua kata-kata yang tidak
dibutuhkan dari suatu kalimat.
LISTING
(terlampir)