1 of 37

Representasi Pengetahuan

2 of 37

Bahasan

  • Propositional Logic
  • Predicate Calculus/Logic

3 of 37

Tujuan Instruksional Khusus

  • Mahasiswa mampu merepresentasikan knowledge ke dalam bentuk propositional logic dan predicate calculus.
  • Mahasiswa mampu menganalisis permasalahan yang direpresentasikan dalam bentuk propositional logic dan predicate calculus/logic.

4 of 37

Propositional Logic

  • Propositional logic merupakan salah satu bentuk (bahasa) representasi logika yang paling tua dan paling sederhana.
  • Dengan cara ini beberapa fakta dapat digambarkan dan dimanipulasi dengan menggunakan aturan-aturan aljabar Boolean.
  • Propositional logic membentuk statement sederhana atau statement yang kompleks dengan menggunakan propositional connective, dimana mekanisme ini menentukan kebenaran dari sebuah statement kompleks dari nilai kebenaran yang direpresentasikan oleh statement lain yang lebih sederhana.

5 of 37

Propositional Logic - Operator Penghubung

6 of 37

Propositional Logic - Tabel Kebenaran (Truth Table)

7 of 37

Propositional Logic - Tabel Kebenaran (Truth Table)

  • Pemahaman antara operator penghubung dan tabel kebenaran dapat dijelaskan dengan menggunakan kalimat sederhana
  • Misalnya, seseorang sedang memegang dua buah benda, pensil dan penghapus. Lalu orang tersebut mengatakan:
    • "saya sedang memegang pensil dan penghapus".
  • Maka kita tahu bahwa peryataan tersebut adalah BENAR (TRUE).
  • Jika kemudian orang tersebut mengatakan:
    • "saya sedang memegang pensil dan tinta",
  • maka kita tahu bahwa pernyataan tersebut SALAH (FALSE).
  • Tetapi jika ia mengubah pernyataan menjadi:
    • "saya sedang memegang pensil atau tinta",
  • Maka pernyataan tersebut adalah BENAR (TRUE).

8 of 37

Propositional Logic - Tabel Kebenaran (Truth Table)

  • kaitan antara operator dan tabel kebenaran yang tidak dapat dijelaskan dengan menggunakan kalimat sederhana adalah implikasi material.
  • Tetapi bukan berarti nilai dari tabel kebenaran tidak benar, karena tabel kebenaran implikasi material telah teruji benar dalam aljabar boolean. Simaklah :

9 of 37

Propositional Logic - Arti Operator Penghubung

10 of 37

Propositional Logic - Arti Operator Penghubung

11 of 37

Propositional Logic - Arti Operator Penghubung

  • Contoh 1:
  • Tentukan bentuk propositional logic dari kalimat ini: ��Jika Pluto mengitari matahari, maka Pluto adalah planet, jika tidak demikian maka pluto bukan planet.��pm . . . Pluto mengitari matahari��pp . . . Pluto adalah planet
  • Kalimat di atas dapat ditranslasikan ke dalam bentuk yang lain: ��Hanya jika Pluto mengitari matahari, maka Pluto adalah planet. ��Sehingga berdasarkan Tabel 3, kalimat tersebut dapat diubah ke dalam bentuk propositional logic:��pm ↔ pp

12 of 37

Propositional Logic - Arti Operator Penghubung

  • Contoh 2:
  • Tentukan bentuk propositional logic dari kalimat ini: ��IF Romeo jatuh cinta AND Juliet menerima cintanya, �THEN Cupid sedang beraksi.

13 of 37

Propositional Logic - Arti Operator Penghubung

  • Contoh 3:
  • Tentukan bentuk propositional logic dari kalimat ini: ��barangsiapa memahami aturan perkuliahan atau �memiliki buku pedoman dan melanggar aturan tersebut �dengan sengaja atau tidak �akan mendapat hukuman

14 of 37

Predicate Calculus/Logic

  • Kalkulus predikat, disebut juga logika predikat memberi tambahan kemampuan untuk merepresentasikan pengetahuan dengan lebih cermat dan rinci.
  • Istilah kalkulus disini berbeda dengan istilah kalkulus dalam bidang matematika.
  • Suatu proposisi atau premis dibagi menjadi dua bagian, yaitu ARGUMEN (atau objek) dan PREDIKAT (keterangan).
  • Argumen adalah individu atau objek yang membuat keterangan.
  • Predikat adalah keterangan yang membuat argumen dan predikat.

15 of 37

Predicate Calculus/Logic

  • Dalam suatu kalimat, predikat bisa berupa kata kerja atau bagian kata kerja.
  • Representasi pengetahuan dengan menggunakan predicate calculus merupakan dasar bagi penulisan bahasa pemrograman PROLOG.
  • Misalnya sebuah proposisi: ��Rumput berwarna hijau.

  • Dapat dinyatakan dalam bentuk predicate calculus:��berwarna(rumput, hijau)�
  • Seperti terlihat dalam contoh di atas, dengan menggunakan predicate calculus statemen/kalimat yang lebih kompleks dapat direpresentasikan lebih baik daripada menggunakan propositional logic.

16 of 37

Predicate Calculus/Logic

  • Contoh:
  • Proposition : Manusia menjelajah Mars�Predicate calculus : Jelajah(manusia, mars)
  • Proposition : Jono menyukai Rebeca�Predicate calculus : suka(jono, rebeca)
  • Proposition : Rebeca cantik �Predicate calculus : cantik(rebeca)

17 of 37

Predicate Calculus/Logic - Variabel

  • Dalam predicate calculus huruf dapat digunakan untuk menggantikan argumen.
  • Simbol-simbol juga bisa digunakan untuk merancang beberapa objek atau individu. �Contoh: x = Jono, y = Rebeca, �maka pernyataan Jono menyukai Rebeca dapat ditulis dalam bentuk predicate calculus: suka(x,y).
  • Dalam beberapa hal variabel dibutuhkan agar pengetahuan dapat diekspresikan dalam kalkulus predikat sehingga nantinya dapat dimanipulasi dengan mudah dalam proses inferensi.

18 of 37

Predicate Calculus/Logic - Fungsi

  • Predicate calculus memperbolehkan penggunaan simbol untuk mewakili fungsi-fungsi. ��Contoh: ayah(Jono)=Santoso, ibu(Rebeca)=Rini.
  • Fungsi juga dapat digunakan bersamaan dengan predikat.��Contoh: teman(ayah(Jono),ibu(Rebeca)) = teman(Santoso,Rini)

19 of 37

Predicate Calculus/Logic - Operator

  • Predicate calculus menggunakan operator yang sama seperti operator-operator yang berlaku pada propositional logic.��Contoh: Diketahui dua buah statement sebagai berikut:��suka(Jono,Rebeca)�suka(Dani,Rebeca)

  • Pada 2 predikat diatas, terdapat dua orang menyukai Rebeca. Untuk memberikan pernyataan adanya kecemburuan di antara mereka, maka:��Jika suka(x,y) AND suka(z,y), maka TIDAK suka(x,z).��Atau��suka(x,y) suka(z,y) suka(x,z)

20 of 37

Predicate Calculus/Logic - Quantifier

  • Dalam bagian terdahulu, sebuah obyek atau argumen dapat diwakili oleh sebuah variabel, akan tetapi variabel yag telah dibicarakan hanya mewakili sebuah obyek atau individu atau argumen.
  • Bagaimana representasi dapat dilakukan apabila terdapat beberapa obyek? Atau dengan kata lain, bagaimana kuantitas dari sebuah obyek dapat dinyatakan?
  • Variabel dapat dikuantitaskan dengan dua cara, yaitu:��– Ukuran kuantitas universal , yang berarti untuk semua.�– Ukuran kuantitas eksistensial , yang berarti ada beberapa.

21 of 37

Predicate Calculus/Logic - Quantifier

  • Contoh 1:
  • Proposisi: Semua planet tata-surya mengelilingi matahari.
  • Dapat diekspresikan ke dalam bentuk:��X, [planet-tata-surya(X) mengelilingi(X,matahari)].
  • Contoh 2:
  • Proposisi: Asteroid mengelilingi beberapa planet.
  • Dapat diekspresikan ke dalam bentuk:��Y, [planet(Y) mengelilingi(asteroid,Y)].

22 of 37

Predicate Calculus/Logic - Quantifier

  • Contoh 3:
  • Proposisi: ��Jika rata-rata nilai dari mahasiswa lebih besar dari 80%, maka mahasiswa akan mendapat huruf mutu A.
  • Dapat diekspresikan ke dalam bentuk:��Nama, X, [mahasiswa(Nama) rata-nilai(Nama,X) mendapat_nilai_lebih(X,80) huruf_mutu(Nama, "A")].

23 of 37

Predicate Calculus/Logic - Latihan

  • Rubahlah proposisi di bawah ini ke dalam bentuk predicate calculus:
  • Garfield adalah tokoh kartun.
  • Semua kucing adalah binatang.
  • Setiap orang menyukai seseorang.
  • Semua kucing menyukai atau membenci anjing.
  • Seseorang hanya mencoba melukai seseorang yang mereka tidak suka.
  • Garfield mencoba melukai anjing Rover.

24 of 37

Predicate Calculus/Logic - Model-Model Inferensi

  • Inti dasar dari predicate calculus sebenarnya adalah kemampuan untuk melakukan inferensi logis.
  • Pada proses inferensi kebenaran baru dapat diturunkan dari aksioma-aksioma yang sudah ada. Konsep ini sebenarnya merupakan dasar dari sistem berbasis pengetahuan.
  • Terdapat beberapa model inferensi yang secara umum digunakan dalam persoalan-persoalan logika, antara lain:

25 of 37

Predicate Calculus/Logic - Model-Model Inferensi

  • Modus Ponens
  • Seperti dijelaskan di atas, melakukan proses inferensi berarti juga menurunkan fakta baru dari beberapa fakta yang sudah ada.
  • Modus Ponens melakukan inferensi dengan mengikuti aturan sebagai berikut:��Jika pernyataan p dan (p → q) adalah benar,�maka dapat ditarik kesimpulan bahwa q adalah benar.

26 of 37

Predicate Calculus/Logic - Model-Model Inferensi

  • Modus Ponens merupakan dasar bagi sistem berbasis aturan (rule based system).
  • Contoh :��Jika seseorang rajin belajar maka ia bisa menjadi sarjana��Jika representasikan dalam bentuk predicate calculus, menjadi:��X, [rajin-belajar(X) jadi-sarjana(X)]

  • Apabila sebuah fakta (pernyataan) ditemukan dalam database seperti:��rajin-belajar(alex)��maka melalui Modus Ponens, dapat ditarik kesimpulan:��jadi-sarjana(alex)

27 of 37

Predicate Calculus/Logic - Model-Model Inferensi

  • Modus Tolens
  • Dinyatakan dengan rumusan:��Jika (p → q) adalah benar,�dan q tidak benar, maka p tidak benar.
  • Sebagai contoh, dengan menggunakan pernyataan contoh terdahulu ditemukan sebuah fakta sebagai berikut:��jadi-sarjana(alex)��maka dengan menggunakan Modus Tolens dapat ditarik kesimpulan:��rajin-belajar(alex)

28 of 37

Predicate Calculus/Logic – �Automated Reasoning (penalaran automatis)

  • Ada tiga macam metoda reasoning yang secara umum digunakan yaitu:
    • Deduksi (Deduction),
    • Abduksi (Abduction) dan
    • Induksi (Induction).�
  • Deduksi
  • Didefinisikan sebagai: �reasoning dari fakta yang sudah diketahui menuju fakta yang belum diketahui, dari hal-hal umum menuju ke hal-hal spesifik, �dari premis menuju ke kesimpulan logis.

29 of 37

Predicate Calculus/Logic - Automated Reasoning

  • Jika obyek A lebih besar dari beberapa obyek B dan obyek B lebih besar daripada obyek C, maka obyek A lebih besar daripada obyek C.
  • Definisi di atas dapat dinyatakan dalam bentuk predicate calculus sebagai: �� A, B, C, [lebih-besar(A,B) lebih-besar(B,C) lebih-besar(A,C)]
  • Misalkan di dalam sebuah knowledge-based ditemukan fakta-fakta sebagai berikut:��lebih-besar(bumi,merkurius)�lebih-besar(yupiter,bumi)��maka dengan menggunakan reasoning deduktif dapat ditarik suatu kesimpulan: ��lebih-besar(yupiter,merkurius)

30 of 37

Predicate Calculus/Logic - Automated Reasoning

  • Abduksi
  • Abduksi adalah metoda reasoning yang sering dipakai untuk memberikan/menghasilkan penjelasan terhadap fakta.
  • Berbeda dengan metoda deduksi, pada metoda ini tidak ada jaminan bahwa kesimpulan yang didapat selalu benar. Sebagai contoh, sebuah aturan seperti pada contoh terdahulu dituliskan sebagai berikut:��X, [rajin-belajar(X) jadi-sarjana(X)]��

31 of 37

Predicate Calculus/Logic - Automated Reasoning

  • Misalkan didapati bahwa Alex telah diwisuda, maka bentuk predicate calculus nya adalah: ��jadi-sarjana(alex)
  • Dengan menggunakan abduksi dapat disimpulkan bahwa:��rajin-belajar(alex)��Tetapi tidak ada jaminan bahwa kesimpulan tersebut benar. Menjadi sarjana tidak selalu berarti rajin belajar.

32 of 37

Predicate Calculus/Logic - Automated Reasoning

  • Induksi
  • Induksi berarti proses reasoning dari fakta-fakta khusus atau kasus-kasus individual menuju ke kesimpulan secara general.
  • Sebagai contoh:��P(a) adalah benarP(b) adalah benar��maka dengan induksi dapat disimpulkan bahwa:��X, P(X) adalah benar

33 of 37

Predicate Calculus/Logic - Automated Reasoning

  • Dari contoh terdahulu, misalnya setelah melakukan observasi berulang-berulang ternyata kita menemukan bahwa ��“hanya mahasiswa yang belajar dengan rajin menjadi sarjana”, ��maka dengan induksi dapat ditarik kesimpulan bahwa:��X, [jadi-sarjana(X) rajin-belajar(X)]

34 of 37

The end

35 of 37

Latihan Prolog

  • Diberikan fakta-fakta dari PROLOG sebagai berikut :
  • job(smith,clerk)
  • job(dell, stock-person)
  • job(jones, clerk)
  • job(putnam, assistant-manager)
  • job(fishback, clerk)
  • job(adams, stock-person)
  • job(philips, manager)
  • job(stevens, vice-president)
  • job(johnson, president)
  • boss(clerk, assistant-manager)
  • boss(stock-person, assistant-manager)
  • boss(assistant-manager, manager)
  • boss(manager, vice-president)
  • boss(vice-president, president)

36 of 37

  • Tentukan respons yang diberikan oleh PROLOG terhadap Query berikut
  • (a) ?job(philips, X), boss(X, Y), job(Z, Y).
  • (b) ?boss(stock-person, X); boss(clerk, X).
  • (c) Jawab kembali kedua pertanyaan di atas apabila ditambahkan Rule : Boss(X, Z) :- boss(X, Y), boss(Y, Z)
  • Note: dalam PROLOG operator AND (konjungsi) direpresentasikan dengan tanda komma (,), sedangkan operator OR (disjungsi) direpresentasikan dengan tanda titik-koma (;). Sementara itu tanda := merupakan representasi dari implikasi material dan tanda adalah negasi

37 of 37

  • Rubahlah fakta-fakta di bawah ini ke dalam bentuk predicate calculus menggunakan hubungan: meninggal(X), sex(X,Y), mengenal(X,Y), membenci(X,Y), korban(X), pembunuh(X). Lalu dengan menggunakan metoda inferensi tentukan siapa pembunuh dalam kasus ini.
  • Korban meninggal.
  • Korban adalah perempuan.
  • Jono dan Suryo mengenal korban.
  • Korban mengenal Toni dan Jono.
  • Si pembunuh mengenal korban.
  • Susi adalah korban.
  • Jono membenci Susi.
  • Suryo membenci Toni.
  • Toni membenci Jono.
  • Korban mengenal seseorang yang membenci pembunuh tersebut.