SISTEM PAKAR

Kosep dasar

Kecerdasan buatan merupakan cabang ilmu komputer yang mengadopsi kecerdasan manusia dalam berfikir. Hal-hal yang diadopsi kecerdasan buatan adalah penalaran, penglihatan, pembelajaran, pemecahan masalah, pemahaman bahasa alami, dan sebagainya. Sistem pakar menjadi salah satu teknologi kecerdasan buatan (Hartati dan Iswanti, 2008). Aplikasi sistem pakar telah dikembangkan mulai tahun 1960 yaitu General-Purpose Problem Solver (GPS) oleh Newel dan Simon. Selanjutnya, aplikasi sistem pakar juga dikembangkan diberbagai bidang, seperti SPEX untuk merencanakan eksperimen biologi molekul pada bidang kimia, ACE untuk mendiagnosa gangguan jaringan telepon pada bidang elektronik, VM untuk memonitor pasien gawat darurat pada bidang kedokteran, dan sebagainya.



Berikut merupakan beberapa pengertian Sistem Pakar menurut beberapa ahli:

  • Martin dan Osman (1988), sistem pakar merupakan sistem komputer yang menggunakan fakta, pengetahuan, dan teknil penalaran untum memecahkan masalah yang hanya dapat diselesaiakan dengan pakar (Hartati dan Iswanti, 2008).
  • Ignizio (1991), sistem pakar merupakan sistem berbasis pengetahuan yang memungkinkan komputer dapat berfikir dan mengambil keputusan (Hartati dan Iswanti, 2008).
  •  Jackson (1999), sistem pakar adalah program komputer yang merepresentasi pengetahuan manusia (pakar) dan melakukan penalaran manusia untuk memberikan solusi masalah atau hanya sekedar saran atau nasihat (Sutojo dkk, 2011).
  • Lugger dan Stubblefield (1993), sistem pakar merupakan sistem penyelesaian masalah dengan basis pengetahuan seorang pakar (Sutojo dkk, 2011).
  • Turban dan Aronson (2001), sistem pakar merupakan sistem yang memasukan pengetahuan manusia ke dalam komputer untuk masalah yang biasa diselesaikan oleh pakar (Hartati dan Iswanti, 2008).
  • Giarrantano dan Riley (2005), sistem pakar merupakan cabang ilmu kecerdasan buatan dimana pengetahuan tertentu yang dimiliki oleh seorang pakar digunakan untuk memecahkan masalah (Hartati dan Iswanti, 2008).
Dengan beberapa pengertian sistem pakar di atas, pengertian sistem pakar dapat disimpulkan bahwa sistem pakar merupakan sebuah sistem berbasis komputer dengan mengadopsi kecerdasan seorang pakar untuk memecahkan masalah atau memberikan saran. Alasan dikembangkannya sistem pakar adalah antara lain:

  • memberikan akses tak terbatas pada informasi kepakaran,
  • mengerjakan tugas rutin yang membutuhkan pakar secara otomatis,
  • kepakaran dapat mendukung pekerjaan yang tidak dapat dilakukan pada lingkungan yang kurang mendukung,
  • menyediakan informasi kepakaran, yang masih mahal, dan
  • melanjutkan kepakaran seorang pakar (Merlina dan Hidayat, 2012).

Dengan alasan tersebut, sistem pakar diharapkan dapat :

  • meningkatkan produktivitas,
  • membuat manusia awam seperti seorang pakar,
  • meningkatkan kualitas dengan saran atau solusi yang konsisten,
  • dapat mengambil pengetahuan kepakaran seseorang,
  • dapat beroperasi di lingkungan yang berbahaya,
  • handal,
  • memudahkan akses kepakaran,
  • meningkatkan kapabilitas sebuah SI,
  • tetap dapat bekerja walaupun dengan informasi yang kulang lengkap,
  • dapat digunakan sebagai media pendukung, dan
  • meningkatkan kemampuan untuk menyelesaikan masalah (Sutojo dkk, 2011).

Sistem pakar hanya dibuat untuk masalah tertentu saja. Secara garis besar, masalah tersebut dapat dikelompokan menjadi beberapa kelompok, yaitu:

  • interpretasi, membuat deskripsi atau konklusi berdasarkan daya yang didapat atau dimasukan,
  • prediksi, memperkirakan akibat dari suatu situasi,
  • diagnosis, membuat hipotesa berdasarkan gejala,
  • desain, melakukan perancangan konfigurasi komponen berdasarkan kendala yang ada,
  • planning, perencanaan tindakan yang akan dilakukan untuk mencapai sasaran atau tujuan yang telah ditentukan.
  •  monitoring, membandingkan antara hasil pengamatan dengan perencanaan,
  •  debugging, menentukan cara penyelesaian untuk mengatasi kesalahan,
  • reparasi, melakukan perbaikan atas kesalahan,
  • instruksi, menjawab pertanyaan untuk mendapatkan fakta, dan
  • kontrol, mengontrol sistem terhadap hasil interpretasi, diagnosis, debugging, monitoring, dan perbaikan (Sutojo,2011 & Hartati dan Iswanti, 2008).

Masalah-masalah tersebut merupakan masalah kompleks yang hanya dapat diselesaikan oleh seorang pakar. Pakar merupakan seseorang yang memiliki keahlian, pengalaman, dan metode tertentu untuk menyelesaikan masalah yang tidak dapat diselesaikan oleh manusia awam (Kusrini, 2008). Beberapa kemampuan kepakaran akan dimiliki seorang pakar, diantaranya adalah dapat mengenali suatu masalah dan dapat merumuskan masalah tersebut, kemudian seorang pakar dapat menyelesaikan masalah tersebut dengan cepat dan tepat serta dapat menjelaskan solusi  masalah tersebut.  

Sebaiknya, seorang pakar menyelesaikan suatu masalah dengan belajar dari pengalaman atau merestruktur pengetahuan yang sudah ada (Hartati dan Iswanti, 2008).
Pada sistem pakar, kepakaran seorang pakar akan dipindahkan ke dalam komputer. Kepakaran merupakan suatu pengetahuan yang diperoleh dari proses pelatihan, membaca, dan pengalaman yang dialami pakar. Kepakaran tersebut meliputi:
a.       fakta pada suatu permasalahan tertentu,
b.       teori tentang suatu permasalahan tertentu,
c.       aturan dan prosedur tentang apa yang harus dilakukan pada suatu masalah tertentu,
d.       aturan heuristik pada suatu situasi tertentu,
e.       strategi umtuk menyelesaikan masalah, dan
f.        meta knowledge.

Proses pemindahan keahlian akan dilakukan akuisisi pengetahuan, representasi pengetahuan, inferensi pengetahuan, dan pemindahan pengetahuan (Sutojo dkk, 2011). Akuisisi pengetahuan merupakan proses pengumpulan, permindahan, pengubahan kepakaran menjadi sesuatu yang di mengerti komputer. Proses ini akan memudahkan seorang pakar menambahkan atau memperbaharui pengetahuan pada sistem (Hartati dan Iswanti, 2008).

Ada dua lingkungan pada sistem pakar, yaitu Lingkungan konsultasi, lingkungan non pakar melakukan konsultasi untuk mendapatkan saran atau solusi, dan lingkungan pengembangan, lingkungan pembuat sistem pakar membangun komponennya, memasukan pertanyaan-pertanyaan (Sutojo,2011 & Hartati dan Iswanti, 2008).

Struktur Sistem Pakar


Gambar 1 menunjukan struktur suatu sistem pakar.

Gambar 1 Struktur Sistem Pakar

Pengetahuan (Knowledge Base)

Pengetahuan merupakan pemahaman terhadap fakta, informasi, konsep, prosedur, model, heuristik terhadap suatu objek (Hartati dan Iswanti, 2008). Sistem pakar membutuhkan pengetahuan dasar(knowledge base) untuk memahami, merumuskan, dan memecahkan persoalan. Pengetahuan dasar memiliki dua elemen dasar, yaitu:
a.       fakta à suatu kondisi, situasi, permasalahan yang ada, dan
b.       rule à aturan yang mengarahkan pada penggunaanpengetahuan untuk meyelesaikan masalah (Merlina dan Hidayat, 2012).
Pengetahuan dapat diklasifikasikan menjadi tiga kriteria, yaitu:
a.       pengetahuan prosedural,
pengetahuan prosedural merupakan pengetahuan yang lebih menekankan kepada bagaimana cara melakukan sesuatu dengan serangkaian tindakan. Pengetahuan prosedural menggunakan algoritma untuk memecahkan masalah.
Contoh:
-          pengetahuan tentang cara membuat bolu kukus.

b.       pengetahuan deklaratif,
pengetahuan deklaratif merupakan pengetahuan yang bernilai salah atau benar. Pengetahuan ini mengacu kepada fakta dan assesri dan akan dihungkan dengan pemcahan masalah.
Contoh:
-          Strawberi berwarna merah.

c.       pengetahuan tacit
pengetahuan tacit disebut juga dengan pengetahuan tidak sadar. Tacit memiliki arti dipahami  tetapi tidak dapat dikatakan. Oleh karena itu, pegetahuan tacit merupakan pengetahuan yang tidak dapt di ungkapkan dengan bahasa.
Contoh:
-          pengetahuan tentang bagaimana cara menggerakan tangan (Kursini, 2008 & Hartati dan Iswanti, 2008).
Pengetahuan tersebut akan dikumpulkan sebagai pengetahuan dasar atau basis pengetahuan. Pengetahuan dapat dikumpulkan dari media cetak, elektronik, atu dari kepakaran seorang ahli. Pada sistem pakar, proses yang dilakukan adalah pemrosesan pengetahuan bukan pemrosesan data. Pengetahuan, yang ada pada sistem pakar, mengenai hubungan gejala-diagnosa, sebab-akibat, aksi-reaksi, tentang suatu domain masalah (Hartati dan Iswanti,2008).

Basis pengetahuan akan direpresentasikan ke dalam bentuk dan format sehingga komputer dapat mengerti. Metode atau model representasi pengetahuan memiliki karakteristik tertentu. Pertama, model harus bisa diprogram ke dalam bahasa pemrograman atau shells dan konklusinya akan disimpan pada memori. Model representasi merupakan struktur data yang dapat dimodifikasi oleh mesin inferensi untuk pencocokan pola. Model representasi juga dirancang untuk proses penalaran (Kursini, 2008).

Model representasi dapat dilakukan dengan beberapa model dibawah ini.

a.       Jaringan sematik
Jaringan semantik adalah informasi dan ata yang dihubungkan yang membentuk sebuah jaringan, dimana informasi tersebut merupakan informasi yang proporsional. Informasi yang proporsional merupakan infromasi yang bernilai satah atau benar. Jaringan semantik memiliki komponen dasar berupa simpul dan penghubung. Simpul merepesentasikan data atau objek sedangkan penghubung merepresentasikan hubungan antar objek (Hartati dan Iswanti,2008 & Merlina dan Hidayat, 2012).

b.       Bingkai (Frame)
Representasi bingkai merupakan representasi pengetahuan dimana informasi atau data dikelompokan atau dimasukan ke dalam slot atau atribut. Bingkai merupakan aplikasi pemorgraman berorientasi objek pada sistem pakar.

c.       Kaidah produksi
Kaidah prosuksi merepresentasikan saran, arah, dan strategi dengan cara formal, yaitu denan menggunakan bentuk if-then. Bentuk tersebut menghubungkan antara antesenden dengan konsekuensi (Hartati dan Iswanti,2008). Kaidah prosuksi dibagi menjadi dua klasifikasi, yaitu kaidah derajat pertama, premisnya bukan merupakan premis pada kaidah lain, dna kaidah meta, kaidah yang berisi penjelasan dari kaidah lain (Kursini, 2008). Sebelum kondisi-konsi menjadi bentuk kaidah produksi, pengetahuan harus disajikan dalam bentuk tabel keputusan dan pohon keputusan terlebih dahulu (Hartati dan Iswanti,2008).

d.       Logika predikat
Logika predikat merupakan penarikan kesimpulan berdasarakan masukan yang berupa presmis atau fakta yang telah diakui kebenarannya yang akan lakukan inferensi atau penyimpulan fakta menjadi kesimpulan. Penarikan kesimpulan, umumnya, menggunakan dua penalaran, yaitu deduktif dan induktif. Penalaran deduktif merupakan konklusi mengikuti premis yang ada, sedangkan penalaran induktif merupakan penalaran yang menghasilkan konklusi tentang semua anggota. Logika predikat diperkenalkan oleh Aristoteles dengan sebutan logika formal, yaitu logika yang berhubungan dengan sintak penyataan tertentu, dan selanjutnya logika ini dikembangkan oleh George (1847) dengan konsep logika simbolis. Selain menunjukan nilai kebenaran suatu fakta, logika predikat juga merepresentasikan pernyataan tentang objek tertentu. Quantifier digunakan pada logika ini untuk menganalisis struktur internal dari kalimat premis. Quantifier dapat berupa kata semua, beberapa, ada, atau tidak (Hartati dan Iswanti,2008 & Merlina dan Hidayat, 2012).

Pemilihan model representasi pengetahuan harus sesuai dengan jenis pengetahuan (Hartati dan Iswanti,2008).

Perunutan

Perunutan merupakan proses pencocokan fakta dengan pengetahuan yang sudah tersimpan dalam memori. Jika premis IF cocok dengan pengetahuan dasar maka rul akan dieksekusi, kemudian kondisi THEN akan menjadi pengetahuan baru. Proses perunutan menggunakan metode inferensi, yaitu mekanisme berfikir sistem pakar dengan pola pola penalaran sistem oleh pakar. Metode inferensi menggunakan dua pendekatan, yaitu:
a.       Runut maju (Foward Chaining)
Teknik peruntuan maju dimulai dengan fakta yang diketahui, kemudian dicocokan dengan bagian IF. Bila kondisi tersebut cocok, maka rule dilakukan dan fakta baru (THEN) ditambahkan. Runut maju disebut juga penalaran maju (foward reasoning). Perunutan ini dapat modelkan dengan:
IF (informasi masukan)THEN (Konklusi)
Informasi masukan dapat berupa data, atu hasil pengamatan dan konklusi dapat berupa tujuan, hipotesa, penjelasan, atau diagnosa. Setiap aturan hanya dapat di eksekusi sekali, kemudian pencocokan akan dilanjutkan dengan aturan urutan selanjutnya dan pencocokan akan berhenti bila sudah ada aturan yang cocok atau tidak ada aturan yang cocok dengan input masukan. Metode yang digunakan pada Foward Chaining adalah DFS (Depth First Search), BFS (Breadth First Search), dan Best First Search.

b.       Runut balik (Backward Chaining)
Proses perunutan balik kebalikan dari proses perunutan maju. Pada runut maju, sistem tidak memiliki hipotesa. Namun, perunutan balik atau balik akan mengecek konklusi sebagai praduga awal. Perunutan balik disebut juga sebagai goal-driven search. Teknik perunutan ini dimodelkan dengan:
Tujuan,IF (Kondisi)
Teknik perunutan balik memerlukan perumusan dan pengujian sub hipotesis atau hipotesis sementara.

Ketidakpastian

Ketidakpastian dapat berupa probabilitas yang bergantung pada hasil. Ada dua faktor kepastian yang digunakan, yaitu faktor kepastian yang diisikan oleh pakar bersama dengan aturan dan faktor kepastian yang diberikan pengguna. Faktor kepastian yang diisikan oleh pakar adalah gambaran tingkat keyakinan pakar pada hubungan antara antesenden dan konsekuen.  
Ada tiga penyebab suatu ketidakpastian, yaitu aturan tunggal, penyelesaian konflik, dan ketidakcocokan. Aturan tunggal dapat dipengaruhi oleh kesalahan, probabilitas, dan kombinasi gejala. Kesalahn dapat terjadi akbiat dari keambiguan cara, ketidak lengkapan data, kesalahan informasi, ketidakpercayaan terhadap suatu media, dan adanya bias(Kursini,2008). Probabilitas dapat terjadi karena ketidakmampuan seorang pakar merumuskan suatu aturan dengan pasti. Ketidakcocokan dapat terjadi bila adanya kontradiksi aturan, subsumsi aturan, redudansi aturan, kehilangan aturan, dan penggabungan data.
Selain itu, sistem pakar memiliki dua macam ketidakpastian, yaitu ketidakpastian data dan ketidak pastian dalam proses inferensi. Ketidakpastian data disebabkan informasi tidak lengkap, kontradiksi atau mirip, sedangkan ketidakpastian dalamproses inferensi disebabkan oleh aturan mewakili pengamatan.
Beberapa cara tersedia untuk mengatasi ketidakpastian, diantaranya adalah sebagai berikut:
1.       Toeri Probabilitas

  • Probabilitas
Probabilitas salah satu cara mengetahui suatu kepastian. Teori probabilitas menunjukan kemungkinan suatu kejadian E akan terjadi sebanyak n kali diantara N peristiwa. Jika P(E) = 0, maka peristiwa E pasti tidak terjadi.

  • Teori probabilitas bersyarat.
Teori ini merupakan cara untuk mengetahui kepastian ketika terjadi beberapa kejadian terjadi.
Formulasi di atas berarti bahwa peluang terjadinya A jika B terjadi lebih dulu pada kejadian yang sama.

  • Teori Bayes

2.       Certainty Factor (CF)
CF diperkenalkan oleh Shortliffe pada MYCIN untuk menunjukan nilai paramenter klinis.
Formula CF adalah sebagai berikut:
CF(H,E) = MB(H,E) – MD(H,E)
CF(H,E)     = CF dari hipotesa H yang dipengaruhi fakta E;
MB(H,E)    = ukuran kenaikan kepercayaan terhadap hipotesa H yang dipengaruhi fakta E.
MD(H,E)   = ukuran kenaikan ketidakpercayaan terhadap hipotesa H yang dipengaruhi fakta E.

Selain formula CF di atas, CF juga dapat mengukur premis premis yang ada pada aturan. CF ini disebut sebagai CF Pararel, yang diformulasikan dengan formula sebagai berikut:
CF(x dan y) = Min(CF(x),CF(y))
CF(x atau y) = Max(CF(x),CF(y))
CF(tidak x) = -(CF(x))

CF sequensial diperoleh dari hasik perhitungan CF Pararel. CF sequensial diformulasikan dengan formulasi sebagai berikut:
CF(x, y) = CF(x)* CF(y)
CF(x, y) = CF Pararel
CF(x) = CF Sequensial dari semua premis
CF(y) = CF Pakar

CF Akhir dari sebuah konklusi adalah CF gabungan. CF diperlukan jika suatu kondisi diperoleh dari beberapa aturan sekaligus.

Refrensi

Kusrini. 2008. Aplikasi Sistem Pakar. Yogyakarta: Penerbit Andi Yogyakarta.
Merlina, Nita dan Rahmat Hidayat. 2012. Perancangan Sistem Pakar. Bogor: Penerbit Ghalia Indonesia.
Sutojo. Edy Mulyanto. Vincent Suhartono. 2011. Kecerdasan Buatan. Yogyakarta: Penerbit Andi Yogyakarta.
Hartati, Sri dan Sari Iswanti. 2008. Sistem Pakar dan Pengembangannya. Yogyakarta: Graha Ilmu.

Comments