Modul 1-ai

12

Transcript of Modul 1-ai

Page 1: Modul 1-ai
Page 2: Modul 1-ai

MODUL I

PENGENALAN GNU PROLOG DAN PEMROGRAMAN PROLOG

I. Tujuan

1. Praktikan memahami lingkungan kerja GNU PROLOG

2. Praktikan memahami cara kerja pemrograman prolog

3. Praktikan memahami dasar penulisan sintaks pada prolog

II. Teori

1. Pendahuluan

PROgramming in LOGics atau biasa disingkat Prolog, adalah suatu bahasa pemrograman

khusus yang berbeda dari bahasa pemrograman pada umumnya. Inti dari prolog adalah mesin

penarik kesimpulan yang berdasarkan data yang disediakan oleh programmer. Tidak seperti bahasa

prosedural seperti Java, C++, dll statement prolog seluruhnya adalah eksprsei logika. Prolog

mendukung gaya pemrograman deklaratif, mendeklarasikan suatu logika pada mesin prolog.

Pemrograman di prolog berarti mendeskripsikan dunia, menggunakan program compilingnya

berarti bertanya kepada prolog tentang dunia yang telah kita deskripsikan sebelumnya. Secara

ilustrasi kita seperti mengiasi otak (pikiran), kita membuat logika-logika untuk pikiran tersebut,

sehingga pikiran tersebut dapat berjalan berdasarkan logika-logika yang telah kita bangun

(kecerdasan buatan atau artificial intelligent).

GNU Prolog adalah compiler prolog yang dikembangkan oleh Daniel Diaz dari Departement

of Computing Science University of Paris dan disebarkan secara bebas. Secara teknis, kita tidak

membuat program prolog, namun membuat database prolog.

2. Sintaks Prolog

Ada beberapa hal yang perlu kita perhatikan dalam penulisan program prolog. Program

prolog mengenali objek pada program melalui bentuk sintaksnya, yakni bagaimana bahasa yang

digunakan menyatukan kata-kata. Berikut beberapa hal yang perlu kita ketahui tentang Program

Prolog.

2.2.1 Terms

Terms adalah struktur/jenis data dalam prolog, program prolog dibangun dari terms. Ada 4

jenis terms, antara lain; atoms, number, variables dan compound terms. Atom dan number

terkadang digunakan secara bersamaan dan disebut dengan compound terms.

1. Atoms

Page 3: Modul 1-ai

Atom adalah satuan terkecil dari informasi pada prolog, yaitu suatu string yang dibangun dari

huruf besar atau kecil, angka, garis bawah dan karakter-karakter lain, yang diawali dengan

huruf kecil atau suatu untaian karakter yang diapit tanda petik satu.

Contoh:

elephant, jono, x_122, ’Negara Kesatuan Republik Indonesia’

2. Numbers

Number adalah angka baik itu bilangan bulat ataupun pecahan

Contoh:

1, 17, 0.67, -893

3. Variables

Variable adalah string yang digunakan untuk menyimpan suatu nilai objek. Penulisan

variable dimulai dengan huruf besar atau garis bawah.

Contoh:

X, Y, _a, Anak, _

4. Compound terms

Compound term adalah struktur data pada prolog yang dibentuk oleh sebuah functor (sebuah

Prolog atom) dan beberapa argumen (Prolog terms, seperti atoms, numbers, variables dan

compound terms) .

Contoh:

big (house, X), element(bumi(X, tanah), 7), functor(cat).

functor argumen

2.2.2 Clauses, Program dan Queries

a. Clause (klausa) adalah statement yang menjadi logika PROLOG. Ada dua jenis clause,

yaitu fact (fakta) dan rules (aturan).

1. Fact

Fact (fakta) adalah suatu logika dunia nyata yang akan kita masukka sebagai basis

pengetahuan prolog. Dalam prolog penulisan fakta dengan cara.

Contoh:

suka(jono, tina). , baca(andi, buku).

Page 4: Modul 1-ai

suka dan baca adalah relasi yang menghubungkan objek yang ada didalam tanda

kurung. Fakta disebut juga predicate yang diakhiri dengan titik. Predicate adalah

gabungan dari atom dan compound terms atau terms.

2. Rules

Rule (aturan) adalah suatu fakta yang yang tersusun atas fakta-fakta lain. Aturan

terdiri dari head (predicate) dan body (kumpulan dari beberapa predicate yang

dipisahkan oleh tanda koma). Dan antara head dan body dipisahkan oleh tanda :- dan

tentu saja diakhiri dengan tanda titik. Tanda :- kita baca dengan ”jika”.

Contoh:

Bahasa Indonesia:

Seseorang akan dipanggil bibi oleh seorang anak, jika dia adalah adik dari orang tua

anak tersebut.

Bahasa Prolog:

bibi(Bibi, Anak):- adik(Bibi, Orangtua), orangtua(Orangtua, Anak).

adik(ani, jono).

orangtua(jono, budi).

b. Programs

Program adalah kumpulan dari clauses yang disimpan dalam ekstensi prolog (.pl).

c. Queries

Query (Kueri) adalah pertanyaan-pertanyaan yang diajukan pada prolog setelah sebuah

program prolog kita compile. Query memiliki struktur penulisan yang sama dengan

program prolog yang kita compile.

2.2.3 Built-in Predicates

Ada beberapa built-in predicates (predikat yang telah disediakan oleh prolog), beberapa

diantaranya antara lain:

1. Consult

Consult digunakan untuk proses compiling program prolog secara manual.

Contoh: consult(’coba.pl’.)

2. Output

Kita bisa menulis output pada monitor dengan predicate ’write’.

Contoh: write(’Hello world’), nl.

3. GNU PROLOG

Page 5: Modul 1-ai

Gambar 1.1 Lembar Kerja GNU Prolog

Dalam GNU Prolog -dan compiler-compiler PROLOG lainnya- kita melakukukan

programming prolog dengan 2 langkah, antara lain:

1. Menulis dasar logikanya.

2. Mengecek kebenaran logika-logika tersebut.

1. Menulis Dasar Logika

Menulis dasar logika berarti membuat sebuah basis pengetahuan untuk prolog. Berdasarkan basis

pengetahuan itulah mesin prolog akan menterjemahkan respon yang ia dapatkan lalu

memutuskan tindakan apa yang harus dilakukan, berikut langkah-langkahnya:

1. Untuk menulis dasar logikanya, kita menggunakan word editor berupa notepad, atau word

editor lain yang bisa kita gunakan untuk menyimpan dengan bentuk ekstensi *.pl

Gambar 1.2 Save As *.pl

2. Kita tuliskan basis pengetahuannya sesuai dengan sintaks prolog

Contoh:

Page 6: Modul 1-ai

baca(budi, buku).

baca(amir, majalah).

baca(koko, tabloid).

buku(matematika).

buku(fisika).

3. Kita simpan dengan ekstensi .pl

2. Mengecek kebenaran logika

1. Kita perlu melakukan compiling program terlebih dahulu.

2. Klik menu File.

3. Akan muncul beberapa sub menu, antara lain:

1. Consult

Consult Kita memilih program yang akan kita compile. Lalu klik Open.

Gambar 1.3 Program yang akan di-compile

Maka akan otomatis ter-compile

Gambar 1.4 program Sukses di-compile

2. Change dir

Berarti kita memilih direktori tempat kita menyimpan program-program prolog kita.

Page 7: Modul 1-ai

Gambar 1.5 Pilih Direktori Kerja Prolog

Lalu kita tinggal menulis nama program prolog kita untuk kita compile, penulisannya

[’nama_program.pl’]. Lalu tekan Enter.

Gambar 1.6 Compiling Program dengan Change Dir

3. Insert File Name

Insert File Name berarti kita memasukkan nama file program kita kedalam console

prolog.

Kita pilih nama file yang akan dimasukkan

Page 8: Modul 1-ai

Lalu nama file akan muncul di console

Jika kita ingin melakukan compile, kita ketikkan predicate consult

III.TUGAS

Page 9: Modul 1-ai

Buatlah silsilah keluarga dari pihak ayah. Mulai dari kakek sampai ke diri kita. Dengan syarat

maksimum saudara ayah 3 orang dan maksimum anak dari masing-masing saudara ayah 3 orang,

seperti diagram dibawah.

a. Buatlah pohon silsilah keluarga tersebut

b. Buatlah program prolog yang memiliki fakta-fakta yang ada pada silsilah keluarga kita

c. Buatlah aturan yang membentuk:

1. Kakek kita memanggil orang tua dari ayah

2. Cucu kakek memanggil anak dari anaknya

3. Paman kita memanggil saudara ayah yang laki-laki

4. Bibi kita memanggil saudara ayah yang perempuan

5. Keponakan saudara ayah memanggil anak dari saudara yang lain

6. Sapupu kita memanggil anak dari saudara ayah.

Gambar 1.3 Tampilan Antar Muka (GUI) Table

Kakek

Ayah

Kita

Saudara Ayah

Saudara Ayah

Anak Anak Anak Anak Anak Anak Anak Anak