People Innovation Excellence
 

EXPERT SYSTEMS

Dr. Widodo Budiharto

wbudiharto@binus.edu


Sistem Pakar merupakan cabang dari ilmu kecerdasan buatan yang mampu mensimulasikan perilaku dan kecerdasan manusia.  Artikel ini  memberikan overview konsep Sistem Pakar dan Penerapannya untuk aplikasi Pemberian Kredit menggunakan bahasa Visual C# .Net.

 

Pendahuluan

Sistem pakar adalah program komputer yang mensimulasikan penilaian dan perilaku manusia atau organisasi yang memiliki pengetahuan dan pengalaman ahli dalam bidang tertentu. Biasanya, sistem seperti ini berisi basis pengetahuan yang berisi akumulasi pengalaman dan satu set aturan untuk menerapkan pengetahuan dasar untuk setiap situasi tertentu. Sistem pakar canggih dapat ditingkatkan dengan penambahan basis pengetahuan atau set aturan.   Di antara yang paling terkenal sistem pakar yaitu aplikasi bermain catur dan system  diagnosis medis. Sedangkan definisi yang paling dikenal yaitu :

  1. Sebuah model dan prosedur terkait yang memaparkan, dalam satu domain tertentu, derajat keahlian dalam pemecahan masalah yang sebanding dengan seorang pakar manusia (Ignizio)
  2. Sistem pakar adalah sistem komputer yang mengemulasi kemampuan pengambilan keputusan seorang ahli manusia. (Giarrantano)

Pemrosesan yang dilakukan oleh system pakar merupakan pemrosesan pengetahuan, bukan pemrosesan data pada system komputer konvensional.  Pengetahuan (knowledge) adalah pemahaman secara praktis maupun teoritis terhadap suatu obyek atau domain tertentu.  Pengetahuan yang digunakan pada sistem pakar merupakan serangkaian informasi mengenai gejala-diagnosa, sebab-akibat, aksi reaksi tentang suatu domain tertentu (misalnya domain diagnosa medis). Beberapa model representasi pengetahuan yang penting adalah :

  • Jaringan semantic (Semantic Nets)
  • Bingkai (frame)
  • Kaidah Produksi (Production Rule)
  • Logika Predikat (Predicate Logic)

Secara umum, definisi tradisional sebuah program komputer biasanya:

Dalam sistem pakar, definisi berubah menjadi:
Mesin inferensi + Pengetahuan = SISTEM PAKAR

 

Dengan system pakar, permasalahan yang seharusnya hanya bisa diselesaikan oleh para pakar/ahli, dapat diselesaikan oleh orang biasa/awam. Sedangkan, untuk para ahli, sistem pakar juga akan membantu aktivitas mereka sebagai asisten yang seolah-olah sudah mempunyai banyak pengalaman.

 

Gambar  2.1  Model Sistem Pakar

 

Menurut Turban [3],  Sistem Pakar dapat ditampilkan dengan dua lingkungan, yaitu lingkungan pengembangan dan lingkungan konsultasi (runtime). Lingkungan pengembangan digunakan oleh ES builder untuk membangun komponen dan memasukkan pengetahuan ke dalam basis pengetahuan. Lingkungan konsultasi digunakan oleh user nonpakar untuk memperoleh pengetahuan dan nasihat pakar. Lingkungan ini dapat dipisahkan setelah sistem lengkap.

Tiga komponen utama yang tampak secara virtual di setiap sistem pakar adalah :

  • Basis pengetahuan

Merupakan representasi pengetahuan dari seorang pakar yang diperlukan untuk memahami, memformulasikan dan memecahkan masalah. Terdiri dari 2 elemen dasar yaitu :

  1. Fakta yang berupa informasi tentang situasi permasalahan, teori dari area permasalahan atau informasi tentang objek.
  2. Spesial heuristik yang merupakan informasi tentang cara bagaimana membangkitkan fakta.

 

  • Mesin inferensi

Membuat inferensi yang memutuskan rule-rule  mana yang akan digunakan.

  • antarmuka pengguna.

Merupakan bagian dari sistem pakar yang berfungsi sebagai pengendali masukan dan keluaran. User interface melayani user selama proses konsultasi mulai dari tanya-jawab untuk mendapatkan fakta-fakta yang dibutuhkan oleh inference engine sampai menampilkan output yang merupakan kesimpulan dan solusi.

 

Informasi dari pakar harus dijadikan pengetahuan bagi system pakar yang akan kita kembangkan.  Pengetahuan dari system pakar selanjutnya dapat direpresentasikan dengan beberapa cara. Salah satu yang paling umum untuk merepresentasikan pengetahuan dalam bentuk aturan  IF-THEN, misalnya :

 

IF the car doesn’t run and  The fuel gauge reads empty

THEN fill the gas tank

 

Tabel di bawah menggambarkan persentase sistem pakar yang dikembangkan pada area tertentu:

Area

Percentase

Produksi/manajemen operasi 48%
Keuangan 17%
Sistem Informasi 12%
Pemasaran 10%
AKuntansi 5%
Bisnis Internasional 3%
Sumber daya Manusia 2%
lainnya 2%

 

Kelebihan dan karakteristik Sistem Pakar

 Sistem pakar banyak digunakan pada aplikasi terkini dan komplek karena :

  • Sistem pakar dapat bertindak sebagai konsultan, instruktur, atau pasangan / rekan.
  • Meningkatkan availability, kepakarran tersedia pada semua perangkat computer.
  • Mengurangi biasa
  • permanen
  • Pengetahuan dapat tidak lengkap – namun keahlian dapat diperluas sesuai kebutuhan. Program konvensional harus “lengkap” sebelum mereka dapat digunakan.
  • Database yang cerdas, system pakar dapat digunakan untuk mengakses databsaesecara cerdas, misalnya data mining.

 

Sistem pakar biasanya didesai untukmemiliki karakteristik berikut :

  • High performance
  • Adequate response time
  • Good reliability
  • understandable

 

Membangun Sistem Pakar

Pada dasarnya ada 4 langkah untuk membangun sebuah sistem pakar:
1. Analisis
2. Spesifikasi
3. Pengembangan
4. Penyebaran
Model spiral biasanya digunakan untuk pengembangan software dan sangat umum untuk menerapkan pendekatan ini.  Penjelasannya dari 4 langkah pengembangan  sebagai berikut :
Analisis
Tujuan analisis adalah untuk mengidentifikasi aplikasi yang potensial . Aplikasi yang mungkin  termasuk diagnostik, controller, dll. Selama analisis pengembang juga harus menilai kesesuaian pengetahuan rekayasa teknologi untuk aplikasi ini. Anda harus yakin dan bertanya  apakah system ini dapat bekerja lebih baik? Hal ini berlaku untuk menerapkan semua jenis kecerdasan buatan untuk memecahkan masalah.
Spesifikasi

         Langkah spesifikasi adalah tempat pengembang mendefinisikan apa yang sistem pakar dapat dilakukan. Para pengembang  juga harus bekerja dengan para pakar untuk belajar dan merencanakan pengembangan sistem.  Ahli adalah manusia yang diidentifikasi sebagai ahli  di domain bidang tertentu, seperti psikolog, dokter dan ilmuwan. Pengembang harus membiasakan diri dengan masalah sehingga pengembangan sistem dapat dilakukan. Pengembang akan menghabiskan sejumlah besar waktu dalam fase memperoleh pengetahuan.

          Mendefinisikan  apakah yang mampu dilakukan oleh sebuah system pakar  adalah sesuatu yang sangat menantang. Para ahli bisa jadi mengatasi masalah dengan cara yang berbeda.  Beberapa ahli mungkin membayangkan fungsionalitas yang berbeda pada sebuah system daripada seorang pengembang yang lebih memahami keterbatasan dari software. Hal ini juga penting untuk meyakinkan pada para pakar bahwa tujuan dari sistem pakar adalah bukan untuk menggantikan para ahli, tetapi untuk menumbuhkembangkan  pengetahuan dan keahlian di seluruh organisasi.

Pengembangan
Di sini, pengembang harus belajar bagaimana ahli melakukan tugas (akuisisi pengetahuan) dalam berbagai kasus. Pada dasarnya ada tiga jenis kasus pengembang harus mendiskusikan dengan ahli: saat ini, historis, dan hipotetis. Kasus saat ini dapat  diperoleh dengan mengamatai ahli melakukan tugas. Kasus sebelumnya (historis)  dapat dibahas dengan berdiskusi dengan ahli tugas yang dilakukan di masa lalu. Dan, kasus hipotetis dapat diperoleh dengan  memintai ahli menjelaskan bagaimana tugas harus dilakukan dalam situasi hipotetis (hypothetical situation).

 

Berikut ini contoh hasil pengembangan system pakar dan sesi pertanyaan untuk diagnosa penyakit secara online [6].

Gambar 2.2 Diagnosa penyakti kulit secara online [6]

 

 Case Study : Aplikasi Sistem Pakar Menggunakan Visual C# .Net

Sistem pakar dapat digunakan untuk membangun Aplikasi Loan Evaluation berdasarkan input income, employment, education dan referensi seseorang.  Gambar di bawah merupakan contoh sederhana decision rule yang dapat digunakan yang dikembangkan dari [5]:

 

Gambar 2.3  Decision rule untuk Loan Evaluation Expert System

 

Buatlah aplikasi Sistem pakar tersebut menggunakan Visual C# 2010 Express edition. Dengan langkah –langkahnya:

  1. Buat proyek baru dengan nama ExpertSystemDemo

Gambar  2.4 Membuat proyek baru di Visual C# .Net

 

  1. Buat form Utama yang terdiri dari label, button dan picturebox dengan desain sebagai berikut :

Gambar  2.5. Form utama aplikasi

Aksi yang dilakukan ketika button Proceed diklik adalah menampilkan form income, dengan kode sebagai brikut :

private void btnProceed_Click(object sender, EventArgs e)

{

frmIncome i = new frmIncome();//buat objek form Income

this.Hide(); //sembunyikan form utama

i.Show();//tampilkan form Income

}

  1. Pada form income memiliki radio button,yang jika button Evaluate diklik akan menentukan status sebagai berikut :

   

Gambar  2.6. Form income dan tampilan hasil jika income High

private void btnEvaluate_Click(object sender, EventArgs e)

{

frmEmployment frmemp = new frmEmployment();//buat obyek

frmReferences frmref = new frmReferences();

 

if (this.rbHigh.Checked==true) //jika radio button dengan income High dipilih

{

MessageBox.Show(“Grant the Loan”, “Result”); // Dapat pinjaman

}

else if (this.rbMed.Checked == true) //jika menengah

{

this.Hide();

frmemp.Show(); //cek status Employment

}

else

{

this.Hide();

frmref.Show(); //cek dulu status referensi

}

 

}

 

  1.  Jika income medium, maka akan dicek status Employment sebagai berikut, dimana memanfaatkan variable global yang dibuat pada suatu kelas.

 

namespace ExpertSystemDemo

{

class Employment

{

public static string strEmployed=”No”;

public static string strUnEmployed=”No”;

 

}

}

 

Variabel global ini akan digunakan untuk identifikasi penilain selanjutnya pada form Education

Gambar  2.7 . Form Employment

private void btnEvaluateEmployment_Click(object sender, EventArgs e)

{

frmEducation frmed = new frmEducation();

if (this.rbEmployed.Checked == true)

{

ExpertSystemDemo.Employment.strEmployed = “Yes”;

ExpertSystemDemo.Employment.strUnEmployed = “No”;

}

else

{

ExpertSystemDemo.Employment.strEmployed = “No”;

ExpertSystemDemo.Employment.strUnEmployed = “Yes”;

}

this.Hide();

frmed.Show();

}

 

  1. Form education akan mengecek apakah status employment dan pendidikan untuk menentukan status pemberian loan

 

Gambar  2.8. Form utama aplikasi

private void btnEvaluateEducation_Click(object sender, EventArgs e) {

frmReferences frmref = new frmReferences();

frmFinal frmfin = new frmFinal();

if (ExpertSystemDemo.Employment.strEmployed == “Yes”)

{

//jika bekerja dan pendidikan tinggi

 

if (this.rbHigh.Checked == true)

{

MessageBox.Show(“Grant the Loan”, “Recomendation”);

}

else

{

MessageBox.Show(“Investigate further”, “Result”);

}

}

else

if (this.rbHigh.Checked==true )

{

MessageBox.Show(“Investigate further”, “Recomendation”);

}

else

{

MessageBox.Show(“Refuse the Loan”, “Recomendation”);

}

this.Hide();

frmfin.Show();

}

Jika sudah selesai, maka user dapat rerun  atau keluar dari aplikasi. Aplikasi yang komplek akan semakin cerdas jika basis data pengetahuan dari  para pakar lebih banyak. Untuk pengembangan selanjutnya, Anda dapat mengembangkan system mobile Medical Expert System sebagai berikut ;

Gambar 2.9. Mobile Medical Expert System [4].

Referensi :

[1]. Introduction to Expert Systems: The Development and Implementation of Rule-Based Expert Systems, James P. Ignizio, McGraw-Hill, Inc., 1991.

[2]. Expert Systems: Principles and Programming, Joseph Giarratano and Gary Riley, PWS-Kent Publishing Co, 2005.

[3]. E. Turban, Decision Support and Expert Systems, 1995

[4].  Nana Yaw Asabere ,  mMES: A Mobile Medical Expert System for Health Institutions in Ghana, International Journal of Science and Technology, vol. 2(6),pp. 333-340,  2012. Diakses pada 10 Februari 2012 di http://ejournalofsciences.org/archive/vol2no6/vol2no6_1.pdf

[5]. http://info.cba.ksu.edu/bkovar/VBproject.pdf

[6]. Muhammad Zubair et.al,  Diagnosis of Skin Diseases using Online Expert System, International Journal of Computer Science and Information Security, VOl. 9(6), pp. 323-329, 2011.

 

 


Published at : Updated

Periksa Browser Anda

Check Your Browser

Situs ini tidak lagi mendukung penggunaan browser dengan teknologi tertinggal.

Apabila Anda melihat pesan ini, berarti Anda masih menggunakan browser Internet Explorer seri 8 / 7 / 6 / ...

Sebagai informasi, browser yang anda gunakan ini tidaklah aman dan tidak dapat menampilkan teknologi CSS terakhir yang dapat membuat sebuah situs tampil lebih baik. Bahkan Microsoft sebagai pembuatnya, telah merekomendasikan agar menggunakan browser yang lebih modern.

Untuk tampilan yang lebih baik, gunakan salah satu browser berikut. Download dan Install, seluruhnya gratis untuk digunakan.

We're Moving Forward.

This Site Is No Longer Supporting Out-of Date Browser.

If you are viewing this message, it means that you are currently using Internet Explorer 8 / 7 / 6 / below to access this site. FYI, it is unsafe and unable to render the latest CSS improvements. Even Microsoft, its creator, wants you to install more modern browser.

Best viewed with one of these browser instead. It is totally free.

  1. Google Chrome
  2. Mozilla Firefox
  3. Opera
  4. Internet Explorer 9
Close