Selasa, 18 Oktober 2011

Sistem Pakar (Pertemuan 5)

 
Membangun Knowledge Based System Dengan Sistem Berbasis Aturan

Langkah-langkah membangun Knowledge Based System :
Ø  Isolasi area bagi KBS
Untuk membatasi permasalahan pada sistem pakar yang akan dibangun harus diberikan batasan organisasi dan juga layanan yang dapat diberikan oleh system
Ø  Target Keputusan
Setelah permasalahn dibatsi, langkah selanjutnya adalah menentukan target keputusan bagi sistem pakar
Ø  Membuat Dependency Diagram (Diagram Ketergantungan)
Dependency diagram digunakan untuk menentukan hubungan antara factor-faktor penting yang mempengaruhi dalam pemberian suatu rekomendasi penyakit. Dependency diagram juga berisi aturan-aturan dan jawaban yang digunakan untuk memudahkan pada saaat proses verifikasi.
Ø  Membuat Tabel Keputusan
Tabel Keputusan dibuat untuk menunjukan hubungan antara nilai-nilai pada hasil fase atau rekomendasi basis pengetahuan
Ø  Menulis IF-THEN Rule
Setelah membuat Tabel Keputusan, langkah selanjutnya adalah membuat rule. Di bawah ini merupakan salah satu contoh dari pembuatan rule secara manual untuk anamnesa hidung pada penyakit asma.
    Contoh :
Rule 1 :
IF Cuping Hidung = Ya                                     AND
THEN Anamnesa Hidung = Sesuai

Rule 2 :
IF Bersin-bersin = Ya                                       AND
Cuping Hidung = Tidak                                     AND
THEN Anamnesa Hidung = Tidak sesuai

Rule 3 :
IF Bersin-bersin = Tidak                                    AND
Cuping Hidung = Tidak                                      AND
THEN Anamnesa Hidung = Tidak sesuai

Sumber :
http://blog.stikom.edu/lusiani/files/2011/10/Pakar_5.pdf

Sistem Pakar (Pertemuan 4)

Sistem Berbasis Aturan (Backward Reasoning)

     Mekanisme inferensi pada backward reasoning berbeda dengan forward reasoning. Walaupun kedua proses melibatkan pengujian terhadap masing-masing rule, backward reasoning mulai dari konklusi yang diharapkan menuju fakta-fakta yang mendukung konklusi tersebut.

Contoh Kasus : Kasus Beverage and Main Course Identification.
Perhatikan rule di bawah ini:
Parameter-parameter yang digunakan adalah:
-  guest-age: positive integer between 15 and 100
-  alcohol-indicated: yes/no
-  meal: formal/informal
-  drink: wine/beer/soda
-  guest: boss/neighbor/friend
-  dinner: fish/veal/read-meat/pultry/pizza
-  day: moday/tuesday/ . . . /sunday
Sistem dimulai dengan Known Fact Base: ()
Misalnya goal yang diharapkan adalah: Goals (drink wine-type dinner)
Tentukan hasil akhir dari database jika saat ini adalah Tuesday, kita mengundang neighbor berumur 30 th untuk casual meal.
R1 If guest-age < 21 Then alcohol-indecated = no
R2 If guest-age 21 Then alcohol-indecated = yes
R3 If alcohol-indecated = yes AND meal = formal Then drink = wine
R4 If alcohol-indecated = yes AND guest = boss Then drink = wine
R5 If alcohol-indecated = yes AND guest = neighbor Then drink = beer
R6 If drink = wine AND dinner = fish Then wine-type = white
R7 If drink = wine AND dinner = red-meat Then wine-type = red
R8 If guest = boss AND day = Friday Then dinner = fish
R9 If guest = boss AND day <> Friday Then dinner = red-meat
R10 If guest-age < 21 Then dinner = pizza
R11 If guest-age 21 Then dinner = fish
R12 If alcohol not indicated Then drink = soda

Sumber :
http://blog.stikom.edu/lusiani/sistem-pakar/pertemuan-3-4/

Sistem Pakar (Pertemuan 3)

 
Sistem Berbasis Aturan (Forward Reasoning)


Rule based system dikatakan sebagai sistem yang digunakan sebagai cara untuk menyimpan dan memanipulasi pengetahuan untuk diwujudkan dalam suatu informasi yang dapat membantu dalam menyelesaikan berbagai permasalahan. Berbagai aplikasi dapat dihasilkan dari konsep ini misalnya aplikasi dalam bidang medis. Pada bidang medis salah satunya adalah aplikasi yang dapat membantu seorang dokter dalam mengidentifikasikan suatu permasalahan kesehatan berdasarkan gejala yang telah diketahui.
Sistem berbasis aturan (rule-based system) menggunakan Modus Ponens sebagai dasar untuk memanipulasi aturan, yaitu:
fakta A benar, dan operasi A B benar, maka fakta B adalah benar.
   Proses Reasoning dari sebuah sistem berbasis aturan adalah tahapan proses mulai dari sekumpulan fakta menuju solusi, jawaban dan kesimpulan. Terdapat dua macam cara yang dapat digunakan untuk menghasilkan suatu kesimpulan, yaitu:
- Forward Chaining (data driven): kesimpulan dihasilkan dari seperangkat data yang diketahui
- Backward Chaining (goal driven): memilih beberapa kesimpulan yang mungkin dan mencoba membuktikan kesimpulan tersebut dari bukti-bukti yang ada

   Dalam forward reasoning, proses inferensi dimulai dari seperangkat data yang ada menuju ke kesimpulan. Pada proses ini akan dilakukan pengecekan terhadap setiap rule untuk melihat apakah data yang sedang diobservasi tersebut memenuhi premis dari rule tersebut. Apabila memenuhi, maka rule akan dieksekusi untuk menghasilkan fakta baru yang mungkin akan digunakan oleh rule yang lain. Proses pengecekan rule ini disebut sebagai rule interpretation. Pada sistem berbasis pengetahuan, rule interpretation (interpretasi rule) dilakukan oleh inference engine. Fungsi masing-masing step untuk gambar di atas dijelaskan sebagai berikut:
-  Matching. Pada step ini, setiap rule yang ada pada basis pengetahuan dibandingkan dengan fakta-fakta yang diketahui untuk mencari rule mana yang memenuhi (istilah ’memenuhi’ berarti: situasi, premis, atau antecedent bernilai benar).
-   Conflict Resolution. Pada langkah pertama sangat mungkin dihasilkan suatu kondisi dimana beberapa rule dipenuhi. Conflict Resolution bertugas untuk mencari rule mana yang memiliki prioritas tertinggi yang berpotensi untuk dieksekusi.
-     Execution. Langkah terakhir dari proses forward reasoning adalah eksekusi (firing) dari rule. Proses ini menghasilkan dua kemungkinan, yaitu: fakta baru diturunkan dan ditambahkah fact base atau rule baru dihasilkan dan ditambahkan ke knowledge base

Lebih lanjut Dr. Peter melakukan identifikasi untuk setiap rule sebagai berikut:
1. Memiliki nomor rule
2. Memiliki parameter yang digunakan dalam premise (upstream element)
3. Memiliki parameter yang digunakan dalam kesimpulan(downstream element)
4. Memiliki seperangkat premise
5. Memiliki seperangkat kesimpulan

Dan identifikasi untuk setiap paramater:
1. Nama dari parameter tersebut
2. Seperangkat rule yang menurunkan nilai untuk parameter ini(disebut set-by)
3. Seperangkat rule yang menggunakan parameter ini untuk bagian premise (disebut premisefor)
4. Nilai dari parameter ini yang berasosiasi dengan confidence fator (CF)

Sumber :
http://blog.stikom.edu/anjik/2011/09/19/rule-based-system
http://blog.stikom.edu/lusiani/sistem-pakar/pertemuan-3-4/

Sistem Pakar (Pertemuan 2)


Propositional Logic dan Predicate Calculus

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 ditunjukkan dalam Tabel 2.1 sedangkan tabel kebenaran untuk masing-masing operator dapat dilihat pada Tabel 2.2.
Table 2.1: Operator Penghubung
English Name
Connective Name
Symbol

Conjunction
AND

Disjunction
OR

Negation
Not

Material Implication
If-Then

Material equivalence
Equals


Tabel 2.2 : Tabel Kebenaran
p
q
~p
p q

p∨ q

p→q

p↔q

T
T
F
T
T
T
T
T
F
F
F
T
F
F
F
T
T
F
T
T
F
F
F
T
F
F
T
T

Pemahaman antara operator penghubung dan tabel kebenaran dapat dijelaskan dengan menggunakan kalimat sederhana (kecuali operator implikasi material). Satu-satunya 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.
Hubungan variabel dengan operator penghubung dalam propositional logic dapat diartikan seperti dalam Tabel 2.3 di bawah ini.
Table 2.3: Operator penghubung dan artinya
Operator
Arti
p q

p dan q adalah benar
p dan q keduanya benar
p dan q adalah benar pada saat bersamaan
p∨ q

p atau q adalah benar
p dan/atau q adalah benar paling tidak satu dari p dan p adalah benar
p q
q adalah benar, jika p benar
jika p benar, demikian juga q adalah benar
jika p benar, maka q juga benar dari p mengikuti q
p adalah syarat cukup untuk q
q adalah syarat perlu untuk p
p q
p sama dengan q
p benar-benar benar jika q adalah benar
p hanya benar jika q adalah benar
p adalah syarat cukup dan perlu untuk q
p adalah benar jika dan hanya jika q benar

Predicate Calculus
    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. 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.
Ø  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.
Ø  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)
Ø  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)
Dalam predicate calculus di atas, pengetahuan yang tersirat adalah : Jika dua orang pria menyukai wanita yang sama, maka kedua pria itu pasti tidak saling suka (saling membenci).
Ø  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 sebuh obyek dapat dinyatakan
Variabel dapat dikuantitaskan dengan dua cara, yaitu:
-  Ukuran kuantitas universal , yang berarti untuk semua.
-  Ukuran kuantitas eksistensial , yang berarti ada beberapa.

Sumber :
http://blog.stikom.edu/lusiani/files/2011/09/Pakar_21.pdf


Sistem Pakar (Pertemuan 1)

SISTEM PAKAR ( EXPERT SYSTEM )
Pengertian :
-   System pakar (expert system ) merupakan paket perangkat lunak atau paket program komputer yang ditujukan sebagai penyedia nasehat dan sarana bantu dalam memecahkan masalah di bidang-bidang spesialisasi tertentu seperti sains, perekayasaan, matematika, kedokteran, pendidikan dan sebagainya. Expert system merupakan subset dari Artificial Intelegence.
-   Sebuah program computer yang mencoba meniru/mensimulasikan pengetahuan (knowledge) dan keterampilan (skill) dari seorang pakar pad area tertentu. Selanjutnya system ini akan mencoba memecahkan suatu permasalahan sesuai dengan kepakaran. Diaplikasikan dalam banyak bidang, missal : industry manufaktur, pertanian, medis, militer, dll

    Keunggulan sistem pakar :
  •  Kemampuan menghimpun data dalam jumlah yang sangat besar
  •  Kemampuan menyimpan data tersebut untuk jangka waktu yang  panjang  dalam suatu bentuk yang tertentu 
  •  Kemampuan mengerjakan perhitungan secara tepat dan tepat dan tanpa jemu mencari kembali data yang tersimpan dengan kecepatan tinggi.
Kemampuan sistem pakar :
  •  Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya
  •  Bila diperlukan dapat menyajikan asumsi dan alur penalaran yang digunakan untuk sampai ke jawaban yang dikehendaki
  •  Menambah fakta kaidah dan alur penalaran benar yang baru ke dalam otaknya.
Ciri-ciri dari Sistem Pakar :
  •  Terbatas pada domain keahlian tertentu.
  •  Dapat memberikan penalaran untuk data-data yang tidak pasti
  •  Dapat mengemukakan rangkaian alasan-alasan yang diberikannya dengan cara yang dapat dipahami
  •  Berdasarkan pada kaidah/rule tertentu
  •  Dirancang untuk dapat dikembangkan secara terpisah
  •  Pengetahuan dan mekanisme inferensi jelas terpisah
  •  Keluarannya bersifat anjuran
  •  Sistem dapat mengaktifkan kaidah secara searah yang sesuai, dituntun oleh dialog dengan pemakai 
Beberapa keuntungan penerapan Sistem Pakar :
    •  Membuat seorang yang awam bekerja seperti layaknya seorang pakar
    •  Meningkatkan produktivitas akibat meningkatnya kualitas hasil pekerjaan, meningkatnya kualitas pekerjaan ini disebabkan meningkatnya efisiensi kerja
    •  Menghemat waktu kerja
    •  Menyerdehanakan pekerjaan
    •  Merupakan arsip terpercaya dari sebuah keahlian, sehingga bagi pemakai Sistem Pakar seolah-olah berkonsultasi langsung dengan sang pakar, meskipun mungkin sang pakar telah meninggal
    •  Memperluas jangkauan, dari keahlian seorang pakar. Dimana sebuah Sistem Pakar yang telah disahkan, akan sama saja artinya dengan seorang pakar yang tersedia dalam jumlah besar (dapat diperbanyak dengan kemampuan yang persis sama), dapat diperoleh dan dipakai dimana saja 
     Kelemahan Sistem Pakar :
    • Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal
    •  Sulit dikembangkan system pakar yang benar-benar berkualitas tinggi. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya
    • Sistem pakar tidak dapat 100% bernilai benar 
    • Terkadang sistem tidak dapat membuat keputusan
    •  Pengetahuan tidak selalu didapat dengan mudah karena pendekatan tiap pakar berbeda.

    Minggu, 16 Oktober 2011

    Sistem Operasi (Pertemuan 6)

    Repository Dan Instal Paket
    (Pertemuan 6)

    Pengertian Repository, kumpulan dari berbagai macam aplikasi yang berasal di internet, dikumpulkan menjadi satu kemudian dikemas pada media DVD termasuk di dalamnya berisi software aplikasi , games, multimedia, internet, office, themes dll.
    Dengan file repository, kita dapat melakukan instalasi program apa saja yang terdapat di dalam repository Ubuntu tanpa perlu terhubung dengan internet. Saat ini repository Ubuntu bisa di download dan dimasukkan ke DVD sehingga dapat didistribusikan dengan mudah.
    Cara membuat file repository :
    1.      Buat file.ISO dari ke-10 DVD Repository Ubuntu,
    2.      Salin semua file.ISO Repository ke folder (Contoh :/home/Ubuntu/Repository),
    3.      Kemudian buat folder di /mnt, sejumlah file.ISO repository, contoh :
    a.       ubuntu@broadcast:~$ sudo mkdir/mnt/repo1
    b.      ubuntu@broadcast:~$ sudo mkdir/mnt/repo2
    c.       ubuntu@broadcast:~$ sudo mkdir/mnt/repo3
    dan seterusnya.
    Kemudian kita mount secara otomatis semua file.ISO yanag ada di folder /home/ubuntu/repository ke /mnt. Dengan perintah sebagai berikut :
    ubuntu@broadcast:~$sudo gedit/etc/fstab/
    5.      Dengan menambahkan perintah :
    a.       #Repository
    b.     /home/ubuntu/repository/repo1-ubuntu.iso/mnt/repo1 iso9660 loop,defaults 0 0
    c.       /home/ubuntu/repository/repo2-ubuntu.iso/mnt/repo1 iso9660 loop,defaults 0 0
    d.      /home/ubuntu/repository/repo3-ubuntu.iso/mnt/repo1 iso9660 loop,defaults 0 0
    6.    Simpan file tersebut lalu restart computer/laptop anda. Pastikan file.ISO ter-mounting  otomatis ketika startup. Untuk melihat apakah sudah termounting, caranya buka system monitor , System > Administration > System Monitor.
    7.      Untuk langkah terakhir yaitu menambahkan perintah di bawah ini pda file /etc/apt/sources.list
    ubuntu@broadcast:~$sudo gedit/etc/apt/source.list
    8.      Lalu tambahkan perintah berikut :
    a.       #from file
    b.      Deb file;”/mnt/repo1/”moverick main
    c.       Deb file;”/mnt/repo2/”moverick main multiverse restricted
    d.      Deb file;”/mnt/repo3/”moverick multiverse universe
    9.      Keluar dan simpan file tersebut. Lalu lakukan update source dengan cara :
    Ubuntu@broadcst:~$ sudo apt-get update
    10.  Selesai

    Sumber :
    http://blog.stikom.edu/slamet/files/2011/09/Cara-Membuat-Repository-Lokal-Ubuntu-dari-File-ISO.pdf