Deden06sttg's Weblog

Konsep Dasar Pemrogramam Logik

Posted by deden06sttg pada November 24, 2008

· Pemrograman logic/ deklaratif

· Ciri pemrograman logic

· Awal pemrograman logic

· Konstruktor program logic

o Fakta

o Query

o Aturan (rules)

Pemrograman logik/ deklaratif

· Adalah pemrograman yang berdasarkan kepada deklarasi fakta dan aturan

· Berdasarkan fakta dan aturan yang disimpan dalam program, pemakai dapat melakukan query untuk jawaban yang merupakan komputasi dari program logik tersebut

Ciri pemrograman logik

· Tidak berfikir dalam urut-urutan operasi komputer seperti pada pemrograman prosedural, tapi menyatakan program dalam bentuk “deklarasi”

· Knowladge dan asumsi sudah cukup untuk menyelesaikan persoalan jika dinyatakan secara eksplisitsebagai aksioma logik

· Program logik dieksekusi dengan memberikan padanya sebuah prblem yang dinyatakan dalam pernyataan logik yang di sebut goal statement

· Eksekusi program adalah usaha untuk membuktikan goal benar, dengan asumsi (berupa fakta, aturan) yang ada pada program

Awal pemrograman logik

· Kowalski dan Colmerauer mencanangkan interpretasi prosedural dari Klausa Horn:

Aksioma: A if B1 and B2 and … and Bn

Dapat ditulis sebagai prosedur:

o A adalah prosedure head

o Bi adalah Body

o A benar, jika B benar

· Jadi pada pemrograman logik

o Program adalah sebuah himpunan aksioma/aturan yang mendefinisikan hubungan antar objek

o Komputasi program adalah pembuktian dari goal yang diberikan pada program

o Sebuah program mendefinisikan konsekuensi yang merupakan arti dari program itu

Konstruksi program logik

· Fakta

· Rules (aturan)

· Query

Aturan, fakta dan query adalah Klausa Horn

Fakta

· Adalah kalimat sederhana untuk menyatakan relasi antar objek

· Fakta dalam pemrograman logik dituliskan sebagai predikat

· Hanya fakta yang benar yang dimasukan ke dalam basis data dalam suatu program deklaratif

· Faktra yang benar tersebut dienumerasi satu per satu dan harus sesuai dengan dunia nyata yang diprogram

· Contoh:

1. {Ayah (X,Y): X adalah ayah dari Y}

Ayah (philips, charles)

Ayah (charles, harry)

2. {Ibu (X,Y) adalah benar, jika X adalah ibu dari Y}

Ibu (elisabeth, charles)

Ibu (diana, william)

3. {Pria (X)L jika X adalah pria}

Pria (philips)

Pria (charles)

4. {Perempuan (X): X adalah perempuan}

Perempuan (elisaneth)

Perempuan (diana)

5. {Suka (X,Y) benar, jika S suka Y}

Suka (sinta, kacang)

Suka (sinta, kripik)

Suka (ali, kripik)

Suka (ali, sinta)

6. {plus (N,M,S) benar, jika N ditambah M adalah S}

Plus (2,3,5)

Plus (3,4,7)

7. {jadwal (K,D,T,J1,J2) benar, jika kereta api bernomor K bernagkat dari kota D menuju ke T pada jam J1 dan akan tiba di kota T pada J2}

Jadwal (P101, Bandung, Jakarta, 05:00, 7:40)

Jadwal (P102, Bandung, Jakarta, 06:00, 7:40)

Jadwal (M101, Bandung, Surabaya, 17:45, 6:00)

Jadwal (P201, Jakarta, Bandung 05:30, 8:10)

Jadwal (P202, Jakarta, Bandung 06:30, 9:10)

Jadwal (P101, Surabaya, Bandung 06:00, 6:00)

8. {tanggal (d,m,y benar, jika adalah sebuah “tanggal” dengan tanggal d, bulan m, dan tahun y}

Tanggal (1,1,1995)

Tanggal (31,1,1995)

Tanggal (28,2,1994)

Tanggal (31,12,1993)

· Setiap nilai parameter dari FAKTA mempunyai domain tertentum berupa:

Numerik (integer, real)

Konstanta simbolik (nama)]list (bentuk spesifik yang terdiri dari sebuah elemen yang disebut head dan sisanya adlaah list yang disebut sebagai tail. List dituliskan dengan [X|Xs].

Query

· Adalah cara untuk memperoleh informasi dari sebuah program deklaratif

· Menanyakan apakah suatu relasi tertentu dipenuhi anatar objek

· Ditulis dengan tanda tanya

· Contoh : Ayah (philips, charles)?

(jawaban : YES)

Simple Query

· Terdiri dari 1 goal P

Fakta P

= Query P? menyanyakan apakah P benar

· Contoh

Fakta

Ayah (philip, charles)

Ibu (elisabeth, charles)

Query

Ayah (philips, charles)?

Ibu (elisabeth, charles)?

Logical variables

· Logical variabel adalah indibidu yang belum di tentukan secara spesifik

· Contoh:

= suka (sinta, X)?

X = kacang, X = kripik

= plus (X,Y,4)?

(X=0, Y=4)

(X=1, Y=3)

· Variabel sangat berguna untuk menyatakan fakta yang banyak

· Contoh:

Suka (alin, nasi) {ali suka nasi}

Suka (X, nasi) {semua orang suka nasi}

Suka (X,X) {semua orang suka pada dirinya sendiri}

Kali (O,X,O) {bilangan berapapun dikalikan nol, hasilnya nol}

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: