Kamis, 27 Oktober 2016

Contoh Program Prolog Penyakit & Nama Obat Penyembuh

Contoh Program Nama Penyakit & Nama Obatnya

Inputannya adalah sebagai berikut :





Output & pertanyaan-pertanyaannya ialah sebagai berikut :
1. Obat apa yang bisa menyembuhkan cough dan nasal congestion ?
        Ouput : 

2. Obat apa yang bisa menyembuhkan batuk jika pasien mempunyai gejala penyakit diabetes dan glaucuma ?
      Ouput : 


3. Obat apa yang bisa menyembuhkan nausea ? Pasien tersebut menderita penyakit apa ?
       Output : 

4. Obat apa yang dapat menyembuhkan pilek ?
      Ouput : 

5. Apa obat yang dapat menyembuhkan pilek dapat menyembuhkan hidung yang sakit ?
     Output : 

6. Obat apa yang harus diminum jika pasien menderita penyakit ashtma ? obat tersebut dapat diminum juga pada kondisi apa ?
    Ouput : 

7. Obat apa yang dapat digunakan juga sebagai pain killer ?
   Output : 

8. Obat apa yang harus diminum oleh john ?
    Output : 


Sabtu, 08 Oktober 2016

4 Unsur Soft Computing

Keahlian/kemampuan seperti manusia pada domain tertentu,mampu beradaptasi dan belajar agar dapat bekerja 
lebih baik jika terjadi perubahan lingkungan. Soft Computing adalah kumpulan teknik–teknik perhitungan dalam 
ilmu komputer,inteligensia semu,machine learning dan beberapa disiplin ilmu teknik lainnya,yang berusaha untuk 
mempelajari,memodelkan,dan menganalisa fenomena yang sangat rumit.

Unsur-unsur pokok dalam Soft Computing,adalah sebagai berikut :

1.Sistem Fuzzy/Fuzzy System (Mengakomodasi Ketidaktepatan)
   
Logika Fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output. 
Untuk sistem yang sangat rumit, penggunaan logika fuzzy (fuzzy logic) adalah salah satu pemecahannya. 
Sistem tradisional dirancang untuk mengontrol keluaran tunggal yang berasal dari beberapa masukan yang 
tidak saling berhubungan. Karena ketidaktergantungan ini, penambahan masukan yang baru akan memperumit 
proses kontrol dan membutuhkan proses perhitungan kembali dari semua fungsi . Kebalikannya, penambahan 
masukan baru pada sistem fuzzy, yaitu sistem yang bekerja berdasarkan prinsip-prinsip logika fuzzy, hanya 
membutuhkan penambahan fungsi keanggotaan yang baru dan aturan-aturan yang berhubungan dengannya.
Sistem fuzzy secara umum terdapat 5 langkah dalam melakukan penalaran, yaitu:

- Memasukkan input fuzzy.
- Mengaplikasikan operator fuzy.
- Mengaplikasikan metode implikasi.
- Komposisi semua output.

Secara umum, sistem fuzzy sangat cocok untuk penalaran pendekatan terutama untuk sistem yang menangani 
masalah-masalah yang sulit didefinisikan dengan menggunakan model matematis .
Misalkan,nilai masukan dan parameter sebuah sistem bersifat kurang akurat atau kurang jelas,sehingga sulit 
mendefinisikan model matematikanya.

Sistem fuzzy mempunyai beberapa keuntungan bila dibandingkan dengan sistem tradisional, misalkan pada 
jumlah aturan yang dipergunakan. Pemrosesan awal sejumlah besar nilai menjadi sebuah nilai derajat keanggotaan 
pada sistem fuzzy mengurangi jumlah nilai menjadi sebuah nilai derajat keanggotaan pada sistem fuzzy mengurangi 
jumlah nilai yang harus dipergunakan pengontrol untuk membuat suatu keputusan. Keuntungan lainnya adalah sistem
fuzzy mempunyai kemampuan penalaran yang mirip dengan kemampuan penalaran manusia. Hal ini disebabkan karena 
sistem fuzzy mempunyai kemampuan untuk memberikan respon berdasarkan informasi yang bersifat kualitatif, tidak akurat, 
dan ambigu.

Ada beberapa alasan penggunaan Logika Fuzzy :

- Logika Fuzzy sangat fleksibel.
- Logika Fuzzy memiliki toleransi.
- Konsep logika fuzzy mudah dimengerti. 
  Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti.
- Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
- Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus 
   melalui proses pelatihan.
- Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional.

- Logika fuzzy didasarkan pada bahasa alami.(Sri Kusumadwi,2002:3)

2.Jaringan Syaraf/Neural Networks (Menggunakan Pembelajaran)
                        
Jaringan Syaraf Tiruan, yang merupakan metode yang dikembangkan oleh mcculloch – pitts merupakan algoritma yang berusaha 
meniru bentuk syaraf biologis makhluk hidup. Dengan konsep Neuron-nya disertai dengan bobot dan fungsi aktivasi merupakan 
terobosan dalam algoritma soft computing. 
Setelah sempat redup di tahun 70-an karena tidak sanggup menyelesaikan kasus serderhana seperti XoR, akhirnya algoritma ini 
marak diteliti kembali setelah Hopfield menemukan metode pembelajaran rambatan kesalahan (backprogragation error) yang 
sanggup mengeset bobot sesuai dengan target pembelajaran.

3.Penalaran Probabilistik/Probabilistic Reasoning (Mengakomodasi Ketidakpastian)
         
Probabilistic Reasoning adalah metode Soft Computing juga untuk membuat komputer atau suatu device mengambil keputusan 
layaknya makhluk hidup. 
Jadi,dari semua data-data yang sudah dimiliki,metode ini memberikan pola-pola tertentu untuk mengambil keputusan.

4.Evolutionary Computing (Optimalisasi)

Evolutionary Computing merupakan algoritma yang berusaha meniru sifat adaptive dari alam sekitar (mirip teori darwin) dimana 
organisme yang hidup saat ini adalah organisme terbaik yang berhasil unggul dibanding organisme lain yang sudah punah. 
Metodenya adalah membangkitkan sembarang bilangan, kemudian dievaluasi dengan fungsi objective dan jika kurang baik maka 
dimusnahkan, sedangkan yang baik,dikawin silangkan serta dimutasi sehingga menghasilkan individu baru yang lebih baik dari
induknya. 
Operasi ini terus berlangsung hingga dihasilkan individu terbaik hasil dari kawin silang dan mutasi.

Jadi,kesimpulannya adalah Fuzzy System mengakomodasi ketidaktepatan (imprecision),lalu Probabilistic Reasoning 
mengakomodasi ketidakpastian (uncertainity),dan Neural Networks menggunakan pembelajaran untuk meminimalisir kebenaran 
parsial (partial truth) dan perkiraan untuk mencapai tractability,sementara itu,Evolutioner Computing untuk mencapai optimasi 
dalam rangka ketahanan (robustness) dan biaya penyelesaian murah.

Keempat unsur tersebut akan saling menyatu bersinergi untuk saling melengkapi dalam mengerjakan/menyelesaikan sesuatu.


Sumber : http://library.binus.ac.id/eColls/eThesisdoc/Bab2HTML/2009200177IFBab2/page18.html
                http://socs.binus.ac.id/2012/03/02/pemodelan-dasar-sistem-fuzzy/
                https://rahmadya.com/2012/01/27/soft-computing/
                http://syahrulzzadie.blogspot.co.id/2014/10/pengertian-soft-computing.html

4 UNSUR DARI SOFT COMPUTING

4 Unsur Soft Computing

Keahlian/kemampuan seperti manusia pada domain tertentu,mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika terjadi perubahan lingkungan.
Soft Computing adalah kumpulan teknik–teknik perhitungan dalam ilmu komputer,inteligensia semu,machine learning dan beberapa disiplin ilmu teknik lainnya,yang berusaha untuk mempelajari,memodelkan,dan menganalisa fenomena yang sangat rumit.

Unsur-unsur pokok dalam Soft Computing,adalah sebagai berikut :

1.Sistem Fuzzy/Fuzzy System (Mengakomodasi Ketidaktepatan)
   
          Logika Fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output. 
Untuk sistem yang sangat rumit, penggunaan logika fuzzy (fuzzy logic) adalah salah satu pemecahannya. 
Sistem tradisional dirancang untuk mengontrol keluaran tunggal yang berasal dari beberapa masukan yang tidak saling berhubungan.  
Karena ketidaktergantungan ini, penambahan masukan yang baru akan memperumit proses kontrol dan membutuhkan proses perhitungan kembali dari semua fungsi . Kebalikannya, penambahan masukan baru pada sistem fuzzy, yaitu 
sistem yang bekerja berdasarkan prinsip-prinsip logika fuzzy, hanya membutuhkan penambahan fungsi keanggotaan yang baru dan aturan-aturan yang berhubungan dengannya.
Sistem fuzzy secara umum terdapat 5 langkah dalam melakukan penalaran, yaitu:

- Memasukkan input fuzzy.
- Mengaplikasikan operator fuzy.
- Mengaplikasikan metode implikasi.
- Komposisi semua output.

          Secara umum, sistem fuzzy sangat cocok untuk penalaran pendekatan terutama untuk sistem yang menangani masalah-masalah yang sulit didefinisikan dengan menggunakan model matematis .
Misalkan, nilai masukan dan parameter sebuah sistem bersifat kurang akurat atau kurang jelas,sehingga sulit mendefinisikan model matematikanya.
Sistem fuzzy mempunyai beberapa keuntungan bila dibandingkan dengan sistem tradisional, misalkan pada jumlah aturan yang dipergunakan. Pemrosesan awal sejumlah besar nilai menjadi sebuah nilai derajat keanggotaan pada sistem fuzzy mengurangi jumlah nilai menjadi sebuah nilai derajat keanggotaan pada sistem fuzzy mengurangi jumlah nilai yang harus dipergunakan pengontrol untuk membuat suatu keputusan. 
Keuntungan lainnya adalah sistem fuzzy mempunyai kemampuan penalaran yang mirip dengan kemampuan penalaran manusia. Hal ini disebabkan karena sistem fuzzy mempunyai kemampuan untuk memberikan respon berdasarkan informasi yang bersifat kualitatif, tidak akurat, dan ambigu.
Ada beberapa alasan penggunaan Logika Fuzzy :

- Logika Fuzzy sangat fleksibel.
- Logika Fuzzy memiliki toleransi.
- Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti.
- Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
- Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
- Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional.

- Logika fuzzy didasarkan pada bahasa alami.(Sri Kusumadwi,2002:3)

2.Jaringan Syaraf/Neural Networks (Menggunakan Pembelajaran)
                        
         Jaringan Syaraf Tiruan, yang merupakan metode yang dikembangkan oleh mcculloch – pitts merupakan algoritma yang berusaha meniru bentuk syaraf biologis makhluk hidup. 
Dengan konsep Neuron-nya disertai dengan bobot dan fungsi aktivasi merupakan terobosan dalam algoritma soft computing. 
Setelah sempat redup di tahun 70-an karena tidak sanggup menyelesaikan kasus serderhana seperti XoR, akhirnya algoritma ini marak diteliti kembali setelah Hopfield menemukan metode pembelajaran rambatan kesalahan (backprogragation error) yang sanggup mengeset bobot sesuai dengan target pembelajaran.

3.Penalaran Probabilistik/Probabilistic Reasoning (Mengakomodasi Ketidakpastian)
         Probabilistic Reasoning adalah metode Soft Computing juga untuk membuat komputer atau suatu device mengambil keputusan layaknya makhluk hidup. 
Jadi,dari semua data-data yang sudah dimiliki,metode ini memberikan pola-pola tertentu untuk mengambil keputusan.


4.Evolutionary Computing (Optimalisasi)

         Evolutionary Computing merupakan algoritma yang berusaha meniru sifat adaptive dari alam sekitar (mirip teori darwin) dimana organisme yang hidup saat ini adalah organisme terbaik yang berhasil unggul dibanding organisme lain yang sudah punah. 
Metodenya adalah membangkitkan sembarang bilangan, kemudian dievaluasi dengan fungsi objective dan jika kurang baik maka dimusnahkan, sedangkan yang baik, dikawin silangkan serta dimutasi sehingga menghasilkan individu baru yang lebih baik dari induknya. 
Operasi ini terus berlangsung hingga dihasilkan individu terbaik hasil dari kawin silang dan mutasi.

Jadi,kesimpulannya adalah Fuzzy System mengakomodasi ketidaktepatan (imprecision),lalu Probabilistic Reasoning mengakomodasi ketidakpastian (uncertainity),dan Neural Networks menggunakan pembelajaran untuk meminimalisir kebenaran parsial (partial truth) dan perkiraan untuk mencapai tractability,sementara itu,Evolutioner Computing untuk mencapai optimasi dalam rangka ketahanan (robustness) dan biaya penyelesaian murah.

Keempat unsur tersebut akan saling menyatu bersinergi untuk saling melengkapi dalam mengerjakan/menyelesaikan sesuatu.


Sumber : http://library.binus.ac.id/eColls/eThesisdoc/Bab2HTML/2009200177IFBab2/page18.html
               http://socs.binus.ac.id/2012/03/02/pemodelan-dasar-sistem-fuzzy/
               https://rahmadya.com/2012/01/27/soft-computing/
               http://syahrulzzadie.blogspot.co.id/2014/10/pengertian-soft-computing.html

Sabtu, 01 Oktober 2016

Sistem Pakar (Expert System) & Sistem Cerdas

Pengertian

Sistem pakar (expert system) adalah sistem yang berusaha mengapdosi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli.

Sistem cerdas adalah sistem yang dapat mengadopsi sebagaian kecil dari tingkat kecerdasan manusia untuk berinteraksi dengan keadaan eksternal suatu sistem. Sebagian kecil dari tingkat kecerdasan itu antara lain: kemampuan untuk dilatih, mengingat kembali kondisi yang pernah dialami, mengolah data-data untuk memberikan aksi yang tepat sesuai yang telah diajarkan, dan kemampuan menyerap kepakaran seorang ahli melalui perintah yang dituliskan dalam sebuah bahasa pemrograman tertentu

APA ITU PAKAR/AHLI (EXPERT) ?

Seorang pakar/ahli (human expert) ialah seorang individu yang memiliki kemampuan pemahaman yang superior dari suatu masalah.

KONSEP DASAR SISTEM PAKAR

Konsep dasar sistem pakar mengandung

  • Keahlian
  • Ahli/pakar
  • Pengalihan keahlian
  • Mengambil keputusan
  • Aturan
  • Kemampuan menjelaskan


SISTEM PAKAR YANG TERKENAL

MYCIN

Paling terkenal, dibuat oleh Edward Shortlife of Standford University tahun 70-an Sistem pakar medical yang bisa mendiagnosa penyakit infeksi dan merekomendasi pengobatan. MYCIN membantu dokter mengidentifikasi pasien yang menderita penyakit. Dokter duduk di depan komputer dan memasukkan data pasien: umur, riwayat kesehatan, hasil laboratorium dan informasi terkait lainnya. Dengan informasi ini ditambah pengetahuan yang sudah ada
dalam komputer, MYCIN mendiagnosa selanjutnya merekomendasi obat dan dosis yang harus dimakan. Juga sebagai penasehat medis, tidak dimaksudkan untuk mengantikan kedudukan seorang dokter, namun untuk membantu dokter dalam mengkonfirmasi diagnosa dan terapi yang diberikan kepada pasien.

MANFAAT SISTEM PAKAR (Expert System)

1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli
2. Bisa melakukan proses secara berulang secara otomatis
3. Menyimpan pengetahuan dan keahlian para pakar
4. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka)
5. Mampu beroperasi dalam lingkungan yang berbahaya
6. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian. Pengguna bisa merespon dengan jawaban ’tidak tahu’ atau ’tidak yakin’ pada satu atau lebih pertanyaan selama konsultasi dan sistem pakar tetap akan memberikan jawaban.
7. Tidak memerlukan biaya saat tidak digunakan
8. Dapat digandakan (diperbanyak) sesuai kebutuhan dengan waktu yang minimal dan sedikit biaya
9. Dapat memecahkan masalah lebih cepat daripada kemampuan manusia dengan catatan menggunakan data yang sama.
10.Menghemat waktu dalam pengambilan keputusan
11. Meningkatkan kualitas dan produktivitas karena dapat memberi nasehat yang konsisten dan mengurangi kesalahan
12. Meningkatkan kapabilitas sistem terkomputerisasi yang lain.
13. Mampu menyediakan pelatihan. Pengguna pemula yang bekerja dengan sistem pakar akan menjadi lebih berpengalaman. Fasilitas penjelas dapat berfungsi sebagai guru.

KELEMAHAN SISTEM PAKAR

1. Biaya yang diperlukan untuk membuat, memelihara, dan mengembangkannya sangat mahal
2. Sulit dikembangkan
3. Sistem pakar tidak 100% benar
4. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa berbeda-beda, meskipun sama sama benar.
5. Transfer pengetahuan dapat bersifat subjektif dan bias
6. Kurangnya rasa percaya pengguna dapat menghalangi pemakaian sistem pakar.

Jadi, Menurut saya, Sistem Pakar yang dimaksud ialah sistem yang sudah terintegrasi dengan baik dan bisa menyelesaikan suatu masalah. Dan dari kedua teori diatas , antara Sistem Pakar Dengan Sistem Cerdas itu sama-sama mengacu ke arah suatu pengembangan dimana sistem tersebut dibuat persis dengan kecerdasan manusia (para ahli/ilmuwan) yang dituntut untuk menyelesaikan suatu problem yang dihadapi dengan suatu bahasa pemrograman tertentu. Jadi dengan bantuan sistem pakar/sistem cerdas tersebut bisa menghubungkan interaksi antara manusia dengan perangkat kerja pendukung pemutusan suatu keputusan/masalah.


Sumber :
http://rosyid.lecturer.pens.ac.id/materi%20AI/Minggu7%20-%20Expert%20System%20(Baru).pdf
http://denissopyan2004.blogspot.co.id/2008/11/21-sistem-cerdas-berbasis-pengetahuan.html