Fuzzy Logic (Logika Fuzzy)

Fuzzy Logic

Pendahuluan Sistem Fuzzy

Sistem fuzzy diawali oleh Dr. Lotfi Zadeh pada tahun 1960an, pada dasarnya berhubungan dengan bagaimana manusia menangani ketidaktepatan (imprecise) dan informasi yang tidak pasti (uncertain). Ia menirukan bagaimana manusia menggunakan perkiraan pertimbangan (approximate reasoning) dalam hal berhubungan dengan ketidaktepatan (impresion), ketidakpastian (uncertainty), ketidakakurasian (inaccuracy), ketidakpersisan (inexactness), kerancuan (ambiguity), ketidakjelasan (vagueness), kekualitatifan (qualitativeness), subjektifitas (subjectivity) dan persepsi (perception) yang dialami setiap hari dalam pengambilan keputusan.

Sistem fuzzy mampu untuk menangani istilah-istilah samar-samar seperti quite (sungguh), very (amat) dan extremely (ekstrim) yang normal dipakai dalam bahasa sehari-hari. Ini secara langsung ada dalam konsep "komputasi dengan kata - computing with words (CW)" yang secara kontras beda dengan manipulasi bilangan dan simbol. Konsep komputasi dengan kata berhubungan dengan bahasa dan persepsi sedangkan manipulasi bilangan dan simbol berhubungan dengan pengukuran crisp (krispi, kaku, kering, garing) dan tertentu.

Menurut Zadeh manusia sukses dalam pengembangan mulai dari persepsi menuju pengukuran (sehingga sukses berhubungan dengan pengukuran yang tepat seperti halnya operasi-operasi di bidang penerbangan) tetapi masih harus mengembangkan pengukuran menuju ke persepsi (sehingga sukses dalam menangani fungsionalitas fleksibel seperti halnya pergerakan robot yang seperti manusia).

"Komputasi lunak - soft computing" diciptakan oleh Zadeh. Area ini, seperti yang dia katakan adalah perpaduan dari teknik dan metodologi diantara fuzzy logic (logika fuzzy), neuro-computing (komputasi syaraf) dan probabilistic reasoning (pertimbangan probabilistik) yang selanjutnya diikuti oleh algoritma genetika, chaotic systems (sistem chaos), belief networks (jaringan kepercayaan) dan bagian-bagian learning theory (teori pembelajaran).

Apa itu Logika Fuzzy

Logika fuzzy adalah superset (bagian yang melingkupi) logika boolean konvensional yang dikembangkan untuk menangani konsep kebenaran sebagian - nilai kebenaran diantara "kebenaran lengkap" dan "kesalahan lengkap". Transisi dari nilai kebenaran dari "kebenaran lengkap" ke "kesalahan lengkap" ditampilkan dalam fuzzy sets dan tidak dalam crisp sets.

Dalam crisp sets, seperti halnya set A dari umur tua {A | A >= 35} ada perbedaan yang tajam atau batasan diantara anggota set/himpunan, dan mereka yang bukan anggota dari himpunan. Dalam contoh, hanya usia yang lebih besar atau sama dengan 35 dipertimbangkan sebagai anggota dari himpunan A, dan usia yang lain bukanlah anggota. Tetapi bagaimana dengan 34.8? Akankah ia dianggap sebagai tua? Apakah usia diantara 35 dan 85 juga membawa konsep yang sama dengan "tua"? Dengan kata lain, bagaimana tua itu "tua"? Masalah yang sama timbul dalam mengklasifikasikan pelbagai pengukuran yang lain seperti tingkat panas-dingin dari suatu suhu, tinggi badan dan kemahalan dalam harga. Ketidaktepatan dan ketidakpastian dalam istilah seperti halnya fleksibelitas dalam nilai kebenaran dapat ditangani dalam fuzzy sets tetapi hal ini tidak bias dalam crisp sets.

Dalam fuzzy sets, transisi dari fungsi anggota ke fungsi kebukananggotaan dalam himpunan adalah gradual (berjenjang) dan tidak berubah secara mendadak. Gambar di bawah ini menjelaskan perbedaan diantara crisp set dan fuzzy set dari usia tua.

Perbedaan crisp dan fuzzy set untuk usia tua
Gambar 1 Perbedaan crisp dan fuzzy set untuk usia tua

Dalam ilustrasi fuzzy set A, usia 35 atau di bawahnya masih mejadi anggota fuzzy set A usia tua tetapi derajat keanggotaannya lebih rendah. Derajat keanggotaan dalam fuzzy set adalah dalam jangkauan 0.0 (bukan anggota) sampai 1.0 (anggota penuh) yang kontras dengan hanya 0.0 (member) atau 1.0 (bukan anggota) dalam crisp set. Umumnya, derajat keanggotaan dalam fuzzy set usia muda berkurang pada saat usia juga berkurang. Jika kita memiliki fuzzy set B usia muda, kita harapkan derajat keanggotaannya meningkat bersama dengan meningkatnya usia.

Dari gambar di atas, usia 45 dapat dipersepsikan dalam logika fuzzy sebagai "tua" pada angka sekitar 0.95 dan sebagai "muda" pada angka sekitar 0.5. Hingga kita berpindah dari pengukuran eksak, crisp ke non eksak, persepsi fuzzy yang secara normal diasosiasikan ke kata atau istilah linguistik (berhubungan dengan bahasa).

Logika fuzzy sudah diaplikasikan dalam sistem pakar untuk menangani ketidakpastian bahasa yang digunakan oleh pakar ketika mereka mengungkapkan dengan kata-kata pengetahuan mengenai domain tertentu. Derajat ketidakpastian digunakan tidak hanya dalam merepresentasikan pengetahuan pakar, tetapi juga dalam pemrosesan tugas-tugas pakar.

Pengetahuan direpresentasikan dalam sistem pakar fuzzy menggunakan variabel linguistik, nilai linguistik, istilah linguistik, fungsi keangggotaan dan rule IF-THEN fuzzy.

Alasan Menggunakan Logika Fuzzy

Fuzzy logic menawarkan beberapa karakteristik unik yang menjadikannya suatu pilihan yang baik untuk banyak masalah control. Karakteristik tersebut antara lain :

  1. Sudah menjadi sifatnya yang kuat selama tidak membutuhkan ketepatan, input yang bebas derau, dan dapat diprogram untuk gagal dengan aman jika sensor arus balik dimatikan atau rusak. Control output adalah fungsi control halus meskipun jarak variasi input yang cukup besar.
  2. Selama fuzzy logic controller memproses aturan - aturan yang dibuat user yang memerintah system control target, ia dapat dimodifikasi dengan mudah untuk meningkatkan atau mengubah secara drastis performa system. Sensor yang baru dapat dengan mudah digabungkan kedalam system secara sederhana dengan menghasilkan aturan memerintah yang sesuai.
  3. Fuzzy logic tidak terbatas pada sedikit masukan umpan-balik dan satu atau dua output control, tidak juga penting untuk menilai atau menghitung parameter rata - rata perubahan dengan tujuan agar ia diimplementasikan. Sensor data yang menyediakan beberapa indikasi untuk aksi dan reaksi system sudah cukup. Hal ini memungkinkan sensor menjadi murah dan tidak tepat sehingga menghemat biaya system keseluruhan dan kompleksitas rendah.
  4. Karena operasi - operasi yang berbasiskan aturan, jumlah input yang masuk akal dapat diproses ( 1 sampai 8 atau lebih ) dan banyak output ( 1 sampai 4 atau lebih ) dihasilkan, walaupun pendefinisian rulebase secara cepat menjadi rumit jika terlalu banyak input dan output dipilih untuk implementasi tunggal selama pendefinisian rules(aturan), hubungan timbal baliknya juga harus didefinisikan. Akan lebih baik jika memecah system kedalam potongan - potongan yang lebih kecil dan menggunakan fuzzy logic controllers yang lebih kecil untuk didistribusikan pada system, masing - masing dengan tanggung jawab yang lebih terbatas.
  5. Fuzzy Logic dapat mengontrol system nonlinier yang akan sulit atau tidak mungkin untuk dimodelkan secara matematis. Hal ini membuka pintu bagi system control yang secara normal dianggap tidak mungkin untuk otomatisasi.

Bagaimana Menggunakan Logika Fuzzy

Adapun langkah - langkah penggunaan fuzzy logic adalah sebagai berikut:

  • Definisikan obyektif dan kriteria control:
    1. Apa yang kita coba control?
    2. Apa yang harus kita lakukan untuk mengontrol sistem?
    3. Respon seperti apa yang kita harapkan?
    4. Apa mode kegagalan sistem yang mungkin?
  • Tentukan hubungan antara input dan output serta memilih jumlah minimum variable input pada mesin fuzzy logic(secara khusus error dan rata - rata perubahan error).
  • Dengan menggunakan struktur berbasis aturan dari fuzzy logic, jabarkan permasalahan control ke dalam aturan IF X AND Y THEN Z yang mendefinisikan respon output system yang diinginkan untuk kondisi input system yang diberikan. Jumlah dan kompleksitas dari rules bergantung pada jumlah parameter input yang diproses dan jumlah variable fuzzy yang bekerjasama dengan tiap - tiap parameter. Jika mungkin, gunakan setidaknya satu variable dan turunan waktunya. Walaupun mungkin untuk menggunakan sebuah parameter tunggal yang error saat itu juga tanpa mengetahui rata - rata perubahannya, hal ini melumpuhkan kemampuan system untuk meminamalisasi keterlampauan untuk sebuah tingkat input.
  • Buat fungsi keanggotaan yang menjelaskan nilai input atau output yang digunakan didalam rules.
  • Buat rutinitas proses awal dan akhir yang penting jika diimplementasikan dalam software, sebaliknya program rules kedalam mesin hardware fuzzy logic.
  • Test system, evaluasi hasil, atur rules dan fungsi keanggotaan, dan retest sampai hasil yang memuaskan didapat.

Himpunan Fuzzy

Tahun 1965, Profesor L.A. Zadeh memperkenalkan teori himpunan fuzzy, yang secara tidak langsung mengisyaratkan bahwa tidak hanya teori probabilitas saja yang dapat merepresentasikan ketidakpastian. Teori himpunan fuzzy adalah merupakan perluasan dari teori logika Boolean yang menyatakan tingkat angka 1 atau 0 atau pernyataan benar atau salah, sedang pada teori logika fuzzy terdapat tingkat nilai, yaitu :

1. satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu himpunan, atau
2. nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu himpunan.

Model Sistem Pakar Fuzzy

Sebuah sistem pakar fuzzy terdiri dari 4 buah komponen yang diberi nama: fuzzifier (pemfuzzifikasi), inference engine (mesin inferensia), defuzzier (defuzzifikasi) dan fuzzy rule base. Untuk lebih mudahnya, hal tersebut dapat disajikan pada gambar 11.4 berikut ini.

Model sistem pakar fuzzy
Gambar 2 Model sistem pakar fuzzy

Dalam fuzzifier, crisp input difuzzifikasikan kedalam nilai-nilai linguistik yang diasosiasikan ke input variabel linguistik. Setelah fuzzification (pemfuzzifikasian), mesin inferensia mengacu pada fuzzy rule base yang mengandung rule-rule IF-THEN untuk menurunkan nilai-nilai linguistik untuk variabel linguistik menengah dan output. Sekali nilai linguistic output tersedia, defuzzifier menghasilkan nilai akhir crisp dari nilai-nilai linguistik output.

Fuzzification

Melalui penggunaan fungsi anggota yang mendefinisikan setiap fuzzy set untuk setiap variabel linguistik, derajat keanggotaan dari nilai crisp dalam setiap fuzzy set dapat ditentukan. Seperti contoh pada gambar 11.5 di bawah ini variabel numerik "usia" yang memberikan nilai 25.0 di fuzzifikasikan menggunakan triangular MF mendefinisikan setiap fuzzy set untuk variabel linguistik "usia". Sebagai hasil dari fuzzification, variabel linguistic usia memiliki nilai linguistik "muda" dengan derajat keanggotaan 0.666, "sangat tua" dengan nilai 0.333 dan untuk nilai linguistik yang lain dengan nilai 0.0.

Contoh fuzzification dari crisp input
Gambar 3 Contoh fuzzification dari crisp input

Dalam aplikasi sistem pakar fuzzy, setiap nilai crisp variabel input pertama kali difuzzifikasikan ke dalam nilai linguistik sebelum mesin inferensia mengolahnya dalam pemrosesan dengan rule base.

Fuzzy Rule Base dan Fuzzy IF-THEN Rules

Sistem pakar fuzzy menggunakan fuzzy IF-THEN rules. Sebuah fuzzy IF-THEN rule memiliki bentuk:
IF X 1 = A 1 and X 2 = A 2 ... and X n = A n THEN Y = B

Dimana X i dan Y adalah variabel linguistik, sedangkan dan A i dan B adalah istilah linguistik. Bagian IF adalah antecedent atau premise (dasar pikiran/alasan), sedangkan bagian THEN adalah consequence atau conclusion (konklusi). Sebagai contoh dari fuzzy IF-THEN rule adalah:

IF pressure = "low" THEN volume = "big"

Contoh lain adalah seperti di bawah ini untuk masalah profile investasi.

IF (age = "young") and (fund = "small") THEN (tolerance = "risk neutral")
IF (age = "quite old") and (fund = "large") THEN (tolerance = "venturesome")
IF (fund = "very large") THEN (tolerance = "venturesome")

Dalam sistem pakar fuzzy, koleksi dari fuzzy IF-THEN rules disimpan dalam fuzzy rule base yang tereferensi oleh mesin inferensia saat mengolah input.

Mesin Inferensia

Sekali semua nilai crisp input telah difuzzifikasikan dalam nilai linguistik yang bersesuaian, mesin inferensia akan mengakses fuzzy rule base dari sistem pakar fuzzy untuk menurunkan nilai-nilai linguistik untuk hasil variabel linguistik antara (intermediate) sebagaimana variabel linguistik output.

Dua langkah utama dalam proses inferensia adalah aggregation (agregasi - pengumpulan) dan composition (komposisi - penyusunan). Agregasi adalah proses penghitungan untuk nilai-nilai dari bagian IF (antecedent) dari rule dimana komposisi adalah proses penghitungan untuk nilai-nilai di bagian THEN (konklusi) dari suatu rule.

Selama agregasi, setiap kondisi dalam bagian IF suatu rule diberi nilai derajat kebenaran berdasarkan pada derajat keanggotaan istilah linguistik yang sesuai. Dari sini, baik minimum (MIN) atau product (PROD) dari derajat kebenaran dari kondisi-kondisi biasanya dihitung untuk memotong derajat kebenaran dari bagian IF. Ini diberi nilai sebagaimana pada derajat kebenaran pada bagian THEN.

Sebagai contoh, diberikan rule-rule seperti di bawah ini.

Rule 1: min{0.6, 0.2} = 0.2
Rule 2: min{0.3, 0.35} = 0.3
Rule 3: min{0.45} = 0.45

Sehingga, bagian THEN dari rule 1, 2 dan 3 adalah 0.2, 0.3 dan 0.45 berturut-turut.

Langkah terakhir dalam proses inferensia adalah menentukan derajat kebenaran setiap istilah linguistik dari variabel linguistik output. Biasanya, baik maximum (MAX) maupun sum (SUM) dari derajat kebenaran dari rule dengan istilah linguistik yang sama dalam bagian THEN lalu dihitung untuk menentukan derajat kebenaran untuk setiap istilah linguistik dari variabel linguistik output.

Dari contoh sebelumnya, hasil perhitungan derajat kebenaran untuk istilah linguistik untuk toleransi variabel output menggunakan MAX adalah:

"risk neutral": max{0.2} = 0.2
"venturesome": max{0.3, 0.45} = 0.45

Ada banyak variasi metode agregasi dan komposisi yang tersedia dalam pelbagai literature yang berbeda.

Di bawah ini adalah beberapa contoh aplikasi Fuzzy Logic:

  • Penghematan Konsumsi Daya Listrik AC (Mitsubhishi Heavy Industries Tokyo).
  • Mesin Cuci.
  • Kamera.
  • Sistem Pengereman Mobil (Nissan).
  • Pengontrol kereta bawah tanah di Sendai, Jepang.

Referensi:

  • Irfan Subakti, M.Sc.Eng. 2006. Sistem Berbasis Pengetahuan. Surabaya: Edisi Jurusan T. Informatika - ITS
  • https://www.academia.edu/4858948/FUZZY_LOGIC_ASAL_MULA_FUZZY_LOGIC_Konsep_Fuzzy_Logic_diperkenalkan_oleh_Prof

Sistem Pakar

Sistem Pakar

Definisi Sistem Pakar

Adalah program pemberi advis/nasehat yang terkomputerisasi yang ditujukan untuk meniru proses reasoning (pertimbangan) dan pengetahuan dari pakar dalam menyelesaikan permasalahan masalah yang spesifik. Bidang ini digunakan lebih banyak daripada penggunaan bidang-bidang Kecerdasan Buatan lainnya. Sistem Pakar menarik minat yang besar dalam suatu organisasi disebabkan kemampuannya dalam meningkatkan produktifitas dan dalam meningkatkan gugus kerja di pelbagai bidang tertentu dimana pakar manusia akan mengalami kesulitan dalam mendapatkan dan mempertahankan kemampuan itu.

Pakar manusia cenderung untuk menjadi spesialis dalam bidang keahlian tertentu yang relatif sempit. Umumnya pakar memiliki karakteristik ini: mereka menyelesaikan masalah dengan cepat dan cukup akurat, menjelaskan what/apa (dan terkadang how/bagaimana) yang mereka kerjakan, mempertimbangkan reliabelitas konklusinya, mengetahui kapan jalan buntu menghadang, dan mereka berkomunikasi dengan para pakar lainnya. Mereka juga belajar dari pengalaman, mengubah cara pandangnya untuk menyesuaikan dengan masalah, juga mentransfer pengetahuan dari satu domain ke domain yang lain. Akhirnya, mereka menggunakan pelbagai tool, seperti aturan jempol, model matematis, dan simulasi detil untuk mendukung keputusan yang diambil.

Tujuan dari Sistem Pakar bukanlah menggantikan para pakar, tetapi hanya untuk membuat pengetahuan dan pengalaman para pakar itu tersimpan dan tersedia lebih luas dan leluasa. Umumnya, memang lebih banyak masalah yang ada yang mendesak untuk diselesaikan daripada keberadaan para pakar untuk menangani pelbagai persoalan. Sistem Pakar mengijinkan orang lain untuk meningkatkan produktifitas, memperbaiki kualitas keputusannya, dan menyelesaikan masalah di saat seorang pakar tidak ada.

Konsep Dasar Sistem Pakar

Menurut Efraim Turban, konsep dasar sistem pakar mengandung : keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan. Keahlian adalah suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh dari pelatihan, membaca atau pengalaman.

Contoh bentuk pengetahuan yang termasuk keahlian adalah:

  • Fakta-fakta pada lingkup permasalahan tertentu.
  • Teori-teori pada lingkup permasalahan tertentu.
  • Prosedur-prosedur dan aturan-aturan berkenaan dengan lingkup permasalahan tertentu.
  • Strategi-strategi global untuk menyelesaikan masalah.
  • Meta-knowledge (pengetahuan tentang pengetahuan).

Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan untuk menalar. Jika keahlian-keahlian sudah tersimpan sebagai basis pengetahuan dan sudah tersedia program yang mampu mengakses basisdata, maka komputer harus dapat diprogram untuk membuat inferensi. Konsep sistem pakar adalah menirukan metodologi dan kinerja seorang manusia yang ahli dalam bidang atau domain tertentu yang spesifik.(Setiawan, 1993). Sistem pakar adalah program pemberian nasehat (advice giving) atau program konsultasi yang mengandung pengetahuan dan pengalaman yang dimasuki oleh satu atau banyak pakar kedalam satu domain pengetahuan tertentu. Agar setiap orang biasa memanfaatkannya untuk memecahkan suatu masalah. (Suparman,1991).

Struktur Sistem Pakar

Sistem Pakar dibagi menjadi 2 bagian utama: lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation (runtime) environment). Lingkungan pengembangan digunakan oleh Pembangun Sistem Pakar (ES builder) untuk membangun komponen dan untuk membawa pengetahuan ke dalam knowledge base. Lingkungan konsultasi digunakan oleh orang yang bukan ahli untuk mendapatkan pengetahuan dan saran setara pakar.

Komponen-komponen yang ada di dalam Sistem Pakar:

  • Knowledge acquisition subsystem. Pengetahuan dapat diperoleh dari seorang pakar, buku teks (textbooks) atau laporan penelitian, dengan dukungan dari seorang knowledge engineer (seorang pakar yang memiliki spesialisasi dalam akuisisi pengetahuan).
  • Knowledge base. 2 jenis knowledge base adalah fakta (yaitu situasi dan teori) dan heuristics atau rule-rule.
  • Inference engine. Ia adalah otak dari suatu Sistem Pakar, bisa juga disebut dengan struktur kontrol (control structure) atau penerjemah rule (rule interpreter dalam Rule-Based Systems). Ia adalah program komputer yang memiliki metodologi untuk melakukan reasoning (pertimbangan) mengenai informasi yang tersimpan dalam knowledge base dan dalam “blackboard (workplace)”, dan ia digunakanuntuk memformulasikan konklusi. Ia memiliki 3 elemen utama: interpreter, scheduler, consistency enforcer.
  • Blackboard (workplace). Ia adalah tempat menyimpan sementara untuk memproses rencana (plan), agenda, solusi, dan deskripsi masalah yang didapat dari knowledge base selama sesi konsultasi.
  • User. Umumnya user yang dimaksud ini adalah: (1) Klien (yaitu bukan pakar) yang menginginkan advis/nasehat. Disini, Sistem Pakar bertindak seperti seorang konsultan atau penasehat. (2) Learner (pelajar) untuk mempelajari bagaimana Sistem Pakar menyelesaikan permasalahan. Disini, Sistem Pakar bertindak sebagai seorang instruktur. (3) Expert system builder (pembangun sistem pakar) yang ingin meningkatkan knowledge base-nya. Disini, Sistem Pakar bertindak sebagai seorang rekan. (4) Pakar. Disini, Sistem Pakar bertindak sebagai seorang kolega atau asisten.
  • User interface. Sistem Pakar haruslah user friendly dan berorientasi pada masalah dalam hal antarmukanya.
  • Explanation subsystem. Ini adalah kemampuan penelusuran kebenaran dari konklusi yang didapat dari sumber-sumbernya. Hal ini krusial untuk transformasi kepakaran dan penyelesain masalah. Komponen ini mampu menelusuri kebenaran dan untuk menerangkan perilaku Sistem Pakar, secara interaktif, menjawab pertanyaan seperti: Mengapa pertanyaan tertentu ditanyakan oleh Sistem Pakar? Bagaimana konklusi tertentu dicapai? Mengapa alternatif tertentu ditolak? Rencana apakah yang ada untuk mencapai solusi? Dan apa-apa saja selanjutnya yang harus dilakukan sebelumdiagnosis final dapat ditentukan?
  • Knowledge refining system. Dengan komponen ini, pakar mampu untuk menganalisis kinerja dari Sistem Pakar, belajar daripadanya, dan meningkatkannya pada konsultasi selanjutnya.

Inference Engine

Otak dari Sistem Pakar adalah Inference Engine (mesin inferensia), disebut juga control structure atau the rule interpreter (pada Sistem Pakar berbasis rule/aturan). Komponen ini sebenarnya adalah program komputer yang menyediakan metodologi untuk reasoning (pertimbangan) mengenai informasi dalam knowledge base dan dalam “blackboard”, dan digunakan untuk merumuskan kesimpulan.

3 elemen utamanya adalah:

  • Interpreter (rule interpreter dalam kebanyakan sistem), yang mengeksekusi item agenda yang dipilih dengan mengaplikasikannya pada knowledge base rule yang berhubungan.
  • Scheduler, yang menjaga kontrol di sepanjang agenda. Memperkirakan akibat dari pengaplikasian rule inferensia yang menampakkan prioritas item atau kriteria lain pada agenda.
  • Consistency enforcer, yang mencoba menjaga konsistensi representasi solusi yang muncul.
Diagram struktur Sistem Pakar
Gambar 1 Diagram struktur Sistem Pakar

Ada 2 cara yang dapat dikerjakan dalam melakukan Inferensi, yaitu:

  • Forward Chaining. Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu). Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis.
    Forward Chaining
    Gambar 2 Forward Chaining
  • Backward Chaining. Pencocokan fakta atau pernyataan di mulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenara hipotesis tersebut dicari harus dicari fakta-fakta yang ada dalam basis pengetahuan.
    Backward Chaining
    Gambar 3 Backward Chaining

Perbandingan Sistem Pakar Dengan Sistem Lainnya

Table 1 Sistem Pakar dan Sistem yang lain
Dimensi
Transactions
Processing
Systems
(TPS)
Management
Information
Systems
(MIS)
Decision
Support
Systems
(DSS)
Expert
System (ES)
Executive
Information
Systems
(EIS)
Aplikasi Payroll,
inventory,
record
keeping,
informasi
produksi dan
penjualan
Kontrol
produksi,
peramalan
penjualan,
monitoring
Perencanaan
strategis
jangka
panjang, area
permasalahan
terintegrasi
secara
kompleks
Perencanaan
strategis
diagnosis,
perencanaan
kontrol
internal,
strategi-strategi
Dukungan pada
pengambilan
keputusan di
level puncak,
pemindaian
lingkungan
Fokus Transaksi data
Informasi
Keputusan-
keputusan,
fleksibelitas,
kemudahan
pengguna
Inferensia,
transfer
kepakaran
Penelusuran,
kontrol, “Drill
down”
Database Unik untuk tiap
aplikasi,
update secara
batch
Akses
interaktif oleh
programer
Sistem
manajemen
database,
akses
interaktif,
pengetahuan
faktual
Pengetahuan
prosedural
dan faktual;
knowledge
base (fakta-
fakta, rules)
Eksternal
(online) dan
berskala
perusahan
(corporate),
akses lebar
level
perusahaan
(enterprise)
(untuk semua
basis data)
Kemampuan
pengambilan
keputusan
Tak ada
keputusan
yang dapat
diambil
Permasalahan-
permasalahan
pengarahan
terstruktur
menggunakan
tool-tool
manajemen
sains
konvensional
Permasalahan-
permasalahan
semi
terstruktur,
model
manajemen
sains
terintegrasi,
paduan dari
pendapat dan
pemodelan
Sistem
membuat
keputusan
yang
kompleks, tak
terstruktur;
menggunakan
rules
(heuristics)
Hanya jika
dikombinasikan
dengan SPK
Manipulasi Numerik
Numerik
Numerik
Simbolik
Numerik
(utamanya);
kadang
simbolik
Jenis informasi
Laporan ringkasan,
operasional
Laporan penjadwalan
dan
permintaan,
alur
terstruktur,
pelaporan
pengecualian
Informasi untuk
mendukung
keputusan
spesifik
Advis dan penjelasan
Akses status, pelaporan
pengecualian,
indikator kunci
Tingkat
organisasi
tertinggi
yang
dilayani
Submanajerial,
manajemen
rendah
Manajemen
menengah
Analis dan
manajer
Manajer dan
spesialis
(Hanya)
eksekutif
senior
Daya
pendorong
Kegunaan
keefisienan
Keefektifan
Keefektifan
dan kegunaan
Ketepatan
waktu

Kelebihan Sistem Pakar

  • Memungkinkan orang awam bisa melakukan pekerjaan seorang pakar.
  • Meningkatkan produktivitas kerja dengan jalan meningkatkan efisiensi pekerjaan.
  • Menghemat waktu dalam menyelesaikan pekerjaan atau masalah yang kompleks.
  • Menyederhanakan beberapa operasi.
  • Pengolahan berulang-ulang secara otomatis.
  • Tersedianya pengetahuan pakar bagi masyarakat luas

Kelemahan Sistem Pakar

  • Pengembangan sistem pakar sangat sulit, seorang pakar yang baik sulit diperoleh. Memedatkan pengeahuan seorang pakar dan mengalihkannya menjadi sebuah program merupakan pekerjaan yang melelahkan dan memerlukan biaya yang besar.
  • Sistem pakar sangat mahal untuk mengembangkan, mencoba dan mengirimkannya ke pemakai terakhir memerlukan biaya tinggi.
  • Hampir semua sistem pakar (expert system) masih harus dapatdimplementasikan dalam komputer besar, sistem pakar yang dijalankan pada komputer pribadi tergolong sistem apkar kecil dan kurang canggih.
  • Sistem pakar tidak 100 % menguntungkan karena produk seseorang tidak ada yang sempurna dan tidak selalu benar, oleh karena itu perlu dikaji ulang secara teliti sebelum digunakan.

Tahapan Pengembangan Sistem Pakar

Tahapan Pengembangan Sistem Pakar
Gambar 4 Tahapan Pengembangan Sistem Pakar
  • Identifikasi, Merupakan tahap penentuan hal-hal yang penting sebagai dasar dari permasalahan yang akan dianalisis.
  • Konseptualitas, Hasil identifikasi masalah, dikonseptualisasikan dalam bentuk relasi antar data, hubungan antar pengetahuan dan konsep-konsep penting dan ideal yang akan diterapkan.
  • Formalisasi, Konsep-konsep dari konseptualisasi diimplementasikan secara formal dalam tahap formalisasi.
  • Implementasi, Apabila pengetahuan sudah diformalisasikan secara lengkap maka tahap implementasi dapat dimulai dengan membuat garis besar masalah kemudian memecahkan masalah kedalam modul-modul.
  • Evaluasi, Tahap ini merupakan tahap pengujian terhadap sistem pakar yang telah dibangun dan untuk menemukan kesalahan-kesalahan yang masih ada.
  • Pengembangan sistem, Fungsi dari pengembangan sistem adalah agar sistem yang dibangun tidak menjadi usang dan investasi tidak sia-sia. Hal pengembangan sistem yang paling berguna adalah proses dokumentasi sistem dimana didalamnya tersimpan semua hal penting yang menjadi tolak ukur pengembangan sistem di masa mendatang.

Bentuk Sistem Pakar

Ada 4 bentuk sistem pakar, yaitu :

  • Berdiri sendiri. Sistem pakar jenis ini merupakan software yang berdiri- sendiri tidak tergantung dengan software yang lainnya.
  • Sistem pakar jenis ini merupakan bagian program yang terkandung didalam suatu algoritma (konvensional), atau merupakanprogram dimana didalamnya memanggil algoritma subrutin lain(konvensional).
  • Menghubungkan ke software lain . Bentuk ini biasanya merupakan systempakar yang menghubungkan ke suatu paket program tertentu, misalnya
  • Sistem Mengabdi. Sistem pakar merupakan bagian dari komputer khususyang dihubungkan dengan suatu fungsi tertentu. Misalnya sistem pakar yang digunakan untuk membantu menganalisis data radar.

Contoh beberapa sistem pakar

XSEL

Sistem pakar ini dapat bertindak sebagai asisten penjual yang membantu penjual komputer DEC memilihkan pesanan pelanggan sesuai dengan kebutuhan.

MYCIN

Sistem ini dikembangkan di Universitas Stanford pada pertengah-an 1970-an dengan tujuan untuk membantu jurumedis dalam mendiagnosa penyakit yang disebabkan oleh bakteri

PROSPECTOR

Sistem ini diciptakan oleh Richard Duda, Peter Hard, dan Rene Reboh pada tahun 1978 yang menyediakan kemampuan seperti seorang pakar di bidang geologi.

Kesimpulan

Jadi Sistem Pakar dapat didefinisikan sebagai suatu sistem perangkat lunak yang menggunakan ilmu, fakta, dan teknik tertentu dapam pengambilan keputusan untuk menyelesaikan masalah-masalah yang tidak terlalu umum dimana biasanya untuk memecahkan masalah tersebut memerlukan tenaga kerja yang ahli dalam bidang yang bersangkutan. Jadi dengan adanya sistem pakar kita dapat menyesaikan masalah tersebut tanpa memerlukan ahli dalam bidang tersebut yang kemungkinan akan sulit ditemukan, dengan adanya perangkat lunak sistem pakar ini kita dapat menyelesaikan masalah hanya dengan menggunakan computer dan perangkat lunak sistem pakar tersebut.

Referensi:

  • http://fairuzelsaid.com/konsep-sistem-pakar/
  • Irfan Subakti, M.Sc.Eng. 2006. Sistem Berbasis Pengetahuan. Surabaya: Edisi Jurusan T. Informatika - ITS