Senin, 12 Desember 2016

Mesin Inferensi

Mesin Inferensi

Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclusion) yang merupakan imlikasi berdasarkan informasi yang tersedia. Pada sistem pakar proses inferensi dilakukan olehsuatu modul yang dinamakan mesin inferensi (inference engine). Pada komponen ini terkandung suatu mekanisme pola pikir yang digunakan oleh seorang pakar dalam memecahkan masalah.
Mesin inferensi adalah modul yang merangkaikan basis data untuk menjadi sebuah kesimpulan. Mesin inferensi ini yang akan digunakan untuk menyelesaikan masalah yang diberikan kepada komputer. Data yang diambil dari basis pengetahuan diambil berdasarkan masalah apa yang akan diselesaikan oleh komputer, dan metode yang akan digunakan untuk menyelesaikan masalah itu pun akan berbeda-beda sesuai dengan pokok masalah. Jika masalah yang diberikan tidak dapat diselesaikan maka masalah tersebut akan disimpan ke dalam data.
Hasil pemrosesan yang dilakukan oleh mesin inferensi dari sudut pandang pengguna yang bukan pakar berupa konklusi yang di rekomendasikan oleh sistem pakar atau dapat juga berupa penjelasan jika memang dibutuhkan oleh pengguna. Untuk meningkatkan kemampuan sistem  pakar,  pada  sistem  tersebut  harus  dapat  dilakukan  proses  pembaharuan  pada  basis pengetahuan (knowledge base)  dan penyempurnaan pada mesin inferensi (inference engine) sehingga solusi yang dihasilkan lebih baik daripada sebelumnya [Hartati dan Iswanti dalam Kamsyakawuni].
Ada dua metode inferensi yang digunakan dalam sistem pakar yaitu Forward Chaining (runut maju), dan Backward Chaining (runut mundur) yang akan dibahas pada tulisan selanjutnya.

Sumber:
            Kamsyakawuni Ahmad. 2012. Aplikasi Sistem Pakar Untuk Diagnosa Penyakit Hipertiroid dengan Metode Inferensi fuzzy Mamdani (Tesis), Semarang: Universitas Diponegoro.
Kusrini. 2006. Sistem Pakar: Teori dan Aplikasi. Yogyakarta: Andi.
http://repository.usu.ac.id/bitstream/123456789/23487/4/Chapter%20II.pdf

Basis Pengetahuan (Bagian 3)

Basis Pengetahuan (Bagian 3)

Frame Based Knowledge
Model   representasi   bingkai   (frame    based   representation)   adalah    salah    satu representasi  pengetahuan  yang  dipakai  untuk  menyimpan  pengetahuan  dan  fakta  mengenai subyek  tertentu.  Model  ini  didukung  oleh  OKBC  yang  dapat  memfasilitasi  interoperabilitas antar basis pengetahuan.[Fridman, 2000]

Representasi pengetahuan dengan bingkai:
1.      Frame
Sebuah  FRS  mengelola  pengetahuan  dalam  gaya yang berorientasi objek.  “object  oriented”,  dimana fakta akan dihubungkan  dengan  obyek  yang  disebutkan  dalam  fakta dalam sebuah frame.  Frame  adalah  obyek  dimana  fakta saling dikaitkan. Frame membutuhkan nama,  yang kemudian FRS memelihara pemetaan dari nama  obyek  frame. Frame  ini  tercatat  sebagai  entitas  dalam  dunia  konseptual.  Frame tersimpan secara terbatas dalam basis pengetahuan.

2.      Slot
Slot  adalah  pemetaan  dari  frame kepada  himpunan  dari  nilai. Slot  juga  dikenal  dengan  nama.

3.      Classes and Instances
Classes and instancesClass  adalah  himpunan  dari  instance,  dimana  disebut  dengan  instance  dari  class. Sebuah entitas dapat menjadi instance dari banyak class, dimana disebut dengan tipenya, dan sebuah class dapat menjadi type dari banyak class. 

4.      Slot Value Inharitance dan Default
Slot   adalah   pemetaan   dari   sebagian   frame   ke   himpunan   nilai. Tetapi   karena modularitas dan alasan lain FRS mengizinkan satu slot untuk mendeskripsikan himpunan dari pemetaan untuk semua instance dari class.

5.      Facets

Facets  adalah  keterangan  dari  slot. Facet  memiliki  nilai  yang  sama  dengan  nilai  slot.

Object Based Knowledge
Adalah sebuah sistem yang dirancang untuk membentuk basis pengetahuan dengan bentuk objek dan kelas. Karena system ini bekerja dengan dasar objek dan kelas yang sangat ekspresif, layanan system ini lebih cocok untuk meneyediakan representasi sistem berbasis pengetahuan. Namun sistem ini sulit untuk diterapkan dengan benar.

Sumber:

Rule based System (Basis Pengetahuan (Bagian 2))

Rule based System Adalah suatu cara untuk menyimpan dan memanipulasi data pengetahuan untuk menyediakan informasi yang berguna. Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping itu, bentuk ini juga digunakan apabila dibutuhkan penjelasan tentang langkah-langkah pencapaian solusi.

Jikalau ingin membuat Rule Based System untuk masalah tertentu, maka anda harus memiliki:
  1. Sekumpulan fakta untuk mewakili pekerjaan yang nantinya akan dilakukan.
  2.         Sekumpulan fakta.
  3.       Sebuah kondisi yang menentukan bahwa solusi telah ditemukan atau tidak ada satupun yang exist.
Keuntungan Rule Based System:
  1.              Modularity
  2.       Uniformity
  3.            Naturalness
k    Kerugian Ruled Based System:
  1.      Infinite Chaining
  2.      Possibility of Contraditions
  3.      Inefficiency
  4.      Opacity
  5.      Complex Domains

Case Based Reasoning dilakukan pada penalaran berbasis kasus (cases), basis pengetahuan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini digunakan apabila user menginginkan untuk mengetahui lebih banyak lagi pada kasus-kasus yang hampir sama (mirip). Selain itu, bentuk ini juga digunakan apabila kita telah memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan atau dapat diartikan pengetahuan direpresentasikan dalam bentuk kesimpulan kasus.

Case-Based Reasoning (CBR) terdiri dari atas empat langkah utama, yaitu:
  1. Retrieve : yaitu mengambil kembali permasalahan yang sama. Pada langkah ini dilakukan  proses pencarian atau kalkulasi dari kasus-kasus yang memiliki kesamaan.
  2.  Reuse : yaitu menggunakan kembali informasi dan pengetahuan dalam kasus tersebut untuk  mengatasi masalah baru. Pada langkah ini dicari solusi dari kasus serupa pada kondisi sebelumnya  untuk permasalahan baru.
  3. Revise : yaitu meninjau kembali solusi yang diberikan. Pada langkah ini dicari solusi dari  kasus serupa pada kondisi sebelumnya  untuk permasalahan yang terjadi kemudian.
  4. Retain : yaitu mendalami bagian dari pengalaman sebelumnya untuk digunakan dalam  pemecahan masalah berikutnya.
Sumber:


Soft Computing (Basis Pengetahuan (Bagian 1))

Soft Computing

      Pada saat ini komputer merupakan alat yang tidak bisa dipisahkan dari kita pada kehidupan sehari-hari. Berbeda dengan masa lampau, komputer hanya dianggap barang mahal, canggih, dan dapat menghitung lebih cepat dari manusia, tetapi saat ini, komputer adalah sebuah alat yang bila terkoneksi dengan jaringan internet akan membawa kita seperti keliling dunia. Kita selalu berpikir bahwa komputer akan memecahkan semua masalah dalam kehidupan kita, tetapi tidak semua masalah yang kita hadapi akan dipecahkan oleh sebuah rumusan yang pasti dan eksak. Banyak masalah yang membutuhkan banyak faktor untuk menyelesaikannya, untuk itu dibuatlah soft computing untuk memecahkan masalah tersebut.

        Soft computing adalah segolongan metoda yang mampu mengolah data dengan baik walaupun didalamnya terdapat ketidakpastian, ketidakakuratan maupun kebenaran parsial (Prof. Lotfi A Zadeh, 1992). Soft computing dibentuk dari 4 unsur:
  1. System Fuzzy/Fuzzy Logic
  2. Neural Network
  3. Probabilistic Reasoning
  4. Evolutionary Computing
A.  System Fuzzy
      Logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh pada tahun 1965. Dasar logika fuzzy adalah teori himpunan fuzzy. Pada teori himpunan fuzzy, peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting. Nilai keanggotaan atau derajat keanggotaan atau membership function menjadi ciri utama dalam penalaran dengan logika fuzzy tersebut (Kusuma Dewi, 2003). Fuzzy logic dikonstruksikan dengan if-then rules, karakteristik dari metode fuzzy yaitu 
  1. Pemecahan masalah dilakukan secara Linguistik atau variabel yang mengandung ketidakpastian
  2. Pemakaian if-then untuk menjelaskan hubungan antar variabel
  3. menjelaskan sistem dengan algoritma fuzzy
    Penerapan system fuzzy sebagai contoh adalah, pada tahun 1990 di jepang, dibuat sebuah mesin cuci otomatis yang dapat mendeteksi kotoran pada pakaian. Sebagai input logika tersebut jika baju yang terdeteksi sensor terdapat kotoran, maka akan diinput jenis kotoran, tingkat kekotoran dan banyaknya cucian, lalu setelah data tersebut diproses outputnya adalah bagaimana mesin cuci tersebut melakukan putaran-putaran yang tepat.

B. Neural Network
     Secara   umum   Neural   Network   (NN)   adalah   jaringan   dari   sekelompok unit pemroses kecil  yang  dimodelkan  berdasarkan  jaringan  syaraf  manusia.  NN ini merupakan  sistem  adaptif yang  dapat  merubah  strukturnya  untuk memecahkan masalah  berdasarkan  informasi  eksternal maupun  internal  yang  mengalir  melalui jaringan  tersebut.  Secara  sederhana  NN  adalah sebuah alat  pemodelan  data statistik  non-linear.  NN  dapat  digunakan  untuk  memodelkan   hubungan yang kompleks antara input dan output untuk menemukan pola-pola pada  data. 
     
    Salah satu penerapan Artificial Neural Network adalah digunakan untuk pengenalan karakter optik yang dikenal dengan Optical Character Recognation. Optical Character Recognition merupakan suatu teknologi yang memungkinkan mesin (komputer) secara otomatis dapat mengenali karakter lewat suatu mekanisme optik. Proses yang dilakukan adalah mengubah citra yang mengandung karakter-karakter di dalamnya ke dalam informasi yang dapat dimanipulasi oleh mesin

C. Probabilistic Reasoning
     Reasoning berarti mengambil suatu keputusan atas suatu alasan atau sebab tertentu. Dua jenis reasoning adalah logical reasoning dan probabilistic reasoning. Salah satu kelebihan probabilistic reasoning dibandingkan logical reasoning terletak pada kemampuan untuk mengambil keputusan yang rasional, walaupun informasi yang diolah kurang lengkap atau mengandung unsur ketidakpastian.

   Probabilistic Reasoning mempunyai metode yang disebut Metode Naive Bayes. Metode ini digunakan untuk melakukan klasifikasi pada serangkaian data, kemudian dari data tersebut ditemukan sebuah pola untuk mengambil keputusan dalam masalah.

D. Evolutionary Computing
     Evolutionary Computation (EC) merupakan suatu abstraksi yang mengadopsi evolusi dan genetika yang disederhanakan. Dari abstraksi tersebut, lahirlah berbagai algoritma berbasis EC yang dikenal sebagai Evolutionary Algorithms (EAs). Sejak diperkenalkan pada tahun 1960-an, EAs terus diteliti dan dikembangkan hingga saat ini. Yang menarik pada EAs adalah Hanya dengan menggunakan proses-proses yang sebagian besar dilakukan secara acak, EAs bisa menghasilkan solusi yang bagus (mungkin saja solusi terbaik) dengan kecepatan yang dapat diterima. (Suyanto, Informatika 2008)

      Dalam Evolutionary Computing, penerapan yang ada salah satunya adalah Algoritma Genetika. Algoritma Gnetika termasuk dalam Evolutionary Algorithm yang merupakan penerapan dari abstraksi Evolutionary computing. Algoritma genetika  didasarkan pada prinsip-prinsip genetika dan seleksi alam. Elemen-elemen dasar dari genetika alam adalah. Reproduksi, crossover, dan mutasi. GA termasuk temuan dalam bidang optimasi, dimana suatu algoritma diciptakan dengan meniru mekanisme evolusi dalam perkembangan makhluk hidup. Dalam algoritma genetika ini, proses perkembangbiakan ini menjadi proses dasar yang menjadi perhatian utama dengan dasar berpikir "Bagaimana mendapatkan keturunan yang lebih baik". Dalam GA prosedur pencarian hanya didasarkan pada nilai fungsi tujuan, tidak ada pemakaian gradient atau teknik kalkulus.


Sumber:

https://ilmukuilmumu.wordpress.com/2009/11/12/teknik-optimasi/
http://tiindonesia.blogspot.co.id/2015/04/genetic-algorithm.html
Pengantar Soft Computing, Anto Satrio Nugroho
jmc.co.id/media/general/20140923_11.Logikafuzzy_.pdf
elib.unikom.ac.id/download.php?id=18725
http://www.komputasi.lipi.go.id/utama.cgi?daftarbuku&buku1130608045
Implementasi Artificial Neural Network Untuk Optical Character Reader
http://www.metode-algoritma.com/2013/06/conoth-perhitungan-naive-bayes.html