Selasa, 20 September 2011

Resume pertemuan ke 2

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.

Beberapa operator penghubung dasar yang seringkali dipakai dalam propositional logic sebagai berikut :

Conjunction AND ∧
Disjunction OR ∨
Negation Not ∼
Material Implication If-Then →
Material equivalence Equals ↔










Terdapat beberapa model inferensi yang secara umum digunakan dalam persoalan-persoalan logika, antara
lain:

1. Modus Ponens
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.

Modus Ponens merupakan dasar bagi sistem berbasis aturan (rule based system). Sebagai contoh perhatikan pernyataan di bawah ini:
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)

2. Modus Tolens
Model inferensi yang lain disebut sebagai Modus Tolens yang dinyatakan dengan rumusan:
Jika (p → q) adalah benar,
dan q tidak benar, maka p tidak benar.
 
Sebagai contoh, dengan menggunakan pernyataan pada contoh ter-
dahulu ditemukan sebuah fakta sebagai berikut: 
 
Sebagai contoh, dengan menggunakan pernyataan pada contoh terdahulu ditemukan sebuah fakta sebagai berikut:
∼ jadi-sarjana(alex)

maka dengan menggunakan Modus Tolens dapat ditarik kesimpulan:
∼ rajin-belajar(alex)

Selasa, 13 September 2011

Resume Sistem Pakar ke-1

Sistem pakar adalah suatu program komputer yang dirancang untuk mengambil keputusan seperti keputusan yang diambil oleh seorang atau beberapa orang pakar. Menurut Marimin (1992), sistem pakar adalah sistem perangkat lunak komputer yang menggunakan ilmu, fakta, dan teknik berpikir dalam pengambilan keputusan untuk menyelesaikan masalah-masalah yang biasanya hanya dapat diselesaikan oleh tenaga ahli dalam bidang yang bersangkutan.
Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.
Contoh bentuk pengetahuan
yang termasuk keahlian adalah :
a.  Fakta-fakta pada lingkup permasalahan tertentu.
b.  Teori-teori pada lingkup permasalahan tertentu.
c.  Prosedur-prosedur dan aturan-aturan berkenaan dengan lingkup
     permasalahan tertentu.
d.  Strategi-strategi global untuk menyelesaikan masalah.
e.  Meta-knowledge (pengetahuan tentang pengetahuan).  
Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan
lagi ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar.
Proses ini membutuhkan 4 aktivitas yaitu :
a.  Tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya).
b.  Representasi pengetahuan (ke komputer).
c.  Inferensi pengetahuan.
d.  Pengalihan pengetahuan ke user.
Suatu sistem pakar disusun oleh tiga modul utama (Staugaard, 1987), yaitu :
1.    Modul Penerimaan Pengetahuan Knowledge Acquisition Mode)
Sistem berada pada modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya.
2.   Modul Konsultasi(Consultation Mode)
Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh sistem.
3.    Modul Penjelasan(Explanation Mode)
Modul ini menjelaskan proses pengambilan keputusan oleh sistem (bagaimana suatu keputusan dapat diperoleh).
Komponen utama pada struktur sistem pakar (Hu et al, 1987) meliputi:
1.    Basis Pengetahuan (Knowledge Base)
Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui. Menurut Gondran (1986) dalam Utami (2002), basis pengetahuan merupakan representasi dari seorang pakar, yang kemudian dapat dimasukkan kedalam bahasa pemrograman khusus untuk kecerdasan buatan (misalnya PROLOG atau LISP) atau shell sistem pakar (misalnya EXSYS, PC-PLUS, CRYSTAL, dsb.)
2.    Mesin Inferensi (Inference Engine)
Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian.
Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya.
Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan prose penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu forward chaining, backward chaining, dan gabungan dari kedua tehnik pengendalian tersebut.
3.    Basis Data (Database)
Basis data terdiri atas semua fakta yang diperlukan, dimana fakta-fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.
4.    Antarmuka Pemakai (User Interface)
Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai dengan sistem. Hubungan antar komponen penyusun struktur sistem pakar dapat dilihat pada Gambar di bawah ini :
Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya.
Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu :
1.   Rule-Based Knowledge
               Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan
2.    Frame-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame
3.    Object-Based Knowledge
Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses)
4.    Case-Base Reasoning
Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases)

Heuristik adalah  aturan yang menjadi patokan atau aturan untuk menebak dengan baik.
heuristik tidak menjamin hasil sebaik algoritme yang biasa didapatkan dalam model matematika,namun heuristik biasanya menawarkan hasil yang cukup spesifik sehingga dapat berguna. Heuristik memungkinkan sistem pakar untuk berfungsi sedemikian rupa agar konsisten dengan keahlian manusia, dan menyarankan penggunanya cara memecahkan masalah. Karena sistem pakar berfungsi sebagai konsultan, tindakan menggunakan aplikasi ini disebut konsultasi, karena pengguna berkonsultasi kepada sistem pakar untuk mendapatkan saran.