Selasa, 14 Oktober 2014





LAPORAN PRAKTIKUM
KECERDASAN BUATAN
PERTEMUAN 1


Disusun oleh :
Nur Muhammad AlUstadi
135410207
Teknik Informatika


Sekolah Tinggi Manajemen Informatika dan Komputer
AKAKOM
Yogyakarta
TA 2014










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
Dalam pembahasan kali ini saya akan belajar membuat program dalam jendela visual prolog. Dimana contoh programnya seperti dibawah ini.
PREDICATES
putra (STRING, STRING)
saudara_perempuan (STRING, STRING)
saudara_laki (STRING, STRING)
menikah (STRING, STRING)
ayah (STRING ayah, STRING putra)
kakek (STRING kakek, STRING cucu)
nondeterm ipar_perempuan (STRING, STRING)
CLAUSES
putra ("Ikhsan", "Bentang").
saudara_perempuan ("Dini", "Dina").
saudara_laki ("Adi", "Lintang").
menikah ("Ikhsan", "Dini").
menikah ("Lintang", "Surga").
ayah (A,B) :-putra (B,A).
kakek (A,B) :-ayah (A,C), ayah (C,B).

ipar_perempuan (A,B) :-menikah (A,C), saudara_perempuan (C,B).
ipar_perempuan (A,B) :-saudara_laki (A,C), menikah (C,B).

GOAL
ipar_perempuan ("Ikhsan",X).



PREDICATES
diatas merupakan sebuah  bagian dari program yang berfungsi untuk mendeklarasikan variabel-variabel yang ada. Sedangkan “nondeterm” disana merupakan pernyataan yang menyatakan bahwa predikat tersebut mempunyai lebih dari satu kemungkinan jawaban.

Putra, saudar_perempuan, Saudara_laki, menikah, ayah, kakek
merupakan variabel yang bertipe data STRING.

CLAUSES
diatas merupakan sebuah bagian dari klausa yaitu berupa bagian fakta  dimana fakta – fakta tersebut memiliki relasi, dalam program ini yang bertindak sebagai relasi yaitu: putra,saudara_perempuan, saudara_laki,dan menikah. Sedangkan kata berikutnya yang berada dalam kurung dan ditandai dengan dua tanda petik itu merupakan variabel-variabel yang bertipe string. Dengan ketentuan variabel-variabel tersebut penulisanya harus dimulai dengan huruf capital dan diakhiri dengan tanfda titik.

GOAL
 merupakan sebuah syarat agar suatu program dapat dieksekusi,

ipar_perempuan ("Ikhsan",X).
Membacanya siapa ipar perempuan Ikhsan?
ipar_perempuan (A,B) :-menikah (A,C), saudara_perempuan (C,B).
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, Jadi Outputnya Adalah Dina.

Output

ipar_perempuan ("Adi",Y).
Siapa ipar perempuan andi
ipar_perempuan (A,B) :-saudara_laki (A,C), menikah (C,B).

Dalam program tersebut dapat dijelaskan dengan kita menjabarkan masing-masing program. Kita awali terlebih dahulu dari ipar_perempuan(A,B):-saudara_laki(A,C),menikah(C,B). yaitu dimana ipar_perempuan (A,B) disini objek A dapat kita deklarasikan sebagai Andi sedengkan symbol B belom ada. Dimana A memilik saudara_laki (A,C) yaitu C (Lintang), menikah (C,B) maksudnya C minikah Dengan B (Syurga). Jadi ipar perempuan Andi Adalah Syurga. Outputnya Adalah Syurga.


















4.     Tugas

PREDICATES
ibu(STRING,STRING)
nondeterm anak(STRING,STRING)
saudara_perempuan(STRING,STRING)
saudara_laki(STRING,STRING)
menikah(STRING,STRING)
nondeterm ayah(STRING ayah,STRING putra)
nondeterm kakek(STRING kakek,STRING cucu)
tante(STRING,STRING)
nondeterm cucu(STRING,STRING)

CLAUSES
anak("Andi","Asep").
anak("Lukman","Asep").
anak("Rudi","Andi").
anak("Heru","Rudi").
anak("Aris","Andi").
anak("Desi","Lukman").
anak("Sinta","Ratna").
anak("Ratna","Lukman").
saudara_perempuan("Desi","Ratna").
saudara_laki("Rudi","Aris").
menikah("Asep","Nina").
menikah("Andi","Rina").
menikah("Lukman","Siti").
menikah("Rudi","Nia").
menikah("Ratna","Galih").
ibu("Ratna","Sinta").

ayah(A,B):-anak(B,A).
kakek(A,B):-ayah(A,C), ayah(C,B).
cucu(A,B):-anak(A,C), anak(C,B).
tante(A,B):-saudara_perempuan(A,C), ibu(C,B).

GOAL
tante(Tante_Sinta ,"Sinta").

Hasil :
1.    Tante Sinta :
Goal
tante(Tante_Sinta ,"Sinta").
Output :

2.    Siapa saja yang berstatus kakek?
Goal
Kakek(X,Y).
Output :

3.    Siapa cucu Andi dan Rina?
Goal
cucu(X,"Andi").
Output :

4.    Siapa anak Luman dan Siti?
Goal
anak(X,"Lukman").
Output :

5.    Siapa cucu Asep dan Nina?
Goal
cucu(X,"Asep").
Output :





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) à

Tidak ada komentar:

Posting Komentar