Sistem Pakar (Expert System)
1. Pengertian Sistem Pakar
Sistem Pakar (Expert System) adalah program komputer yang dirancang untuk meniru kemampuan seorang pakar dalam bidang tertentu. Sistem ini menggunakan pengetahuan dan prosedur inferensi untuk menyelesaikan masalah yang cukup sulit sehingga memerlukan keahlian manusia untuk menyelesaikannya.
Karakteristik | Penjelasan |
|---|---|
Keahlian Tinggi | Memiliki pengetahuan setingkat pakar di bidang tertentu |
Waktu Respons Baik | Memberikan jawaban dalam waktu yang wajar |
Dapat Diandalkan | Tidak terpengaruh emosi atau kelelahan |
Dapat Menjelaskan | Mampu menjelaskan alasan dari kesimpulan yang diambil |
Fleksibel | Pengetahuan dapat ditambah atau diperbarui |
Contoh Penerapan:
MYCIN — Diagnosis penyakit infeksi bakteri
DENDRAL — Analisis struktur molekul kimia
XCON/R1 — Konfigurasi sistem komputer
Diagnosis Penyakit — Mendiagnosis penyakit berdasarkan gejala
Troubleshooting — Menemukan dan memperbaiki kerusakan perangkat
2. Arsitektur Sistem Pakar
Arsitektur sistem pakar terdiri dari beberapa komponen utama yang saling berinteraksi:
Komponen Utama:
No | Komponen | Fungsi |
|---|---|---|
1 | Basis Pengetahuan (Knowledge Base) | Menyimpan fakta dan aturan (rule) dari domain pakar |
2 | Mesin Inferensi (Inference Engine) | Otak sistem — memproses fakta dan aturan untuk menarik kesimpulan |
3 | Memori Kerja (Working Memory) | Menyimpan fakta-fakta sementara selama proses konsultasi |
4 | Antarmuka Pengguna (User Interface) | Media interaksi antara pengguna dan sistem |
5 | Fasilitas Penjelasan (Explanation Facility) | Menjelaskan alasan/proses di balik kesimpulan yang dihasilkan |
3. Basis Pengetahuan (Knowledge Base)
Basis Pengetahuan adalah komponen inti dari sistem pakar yang menyimpan pengetahuan domain dari seorang pakar. Basis pengetahuan terdiri dari dua elemen utama:
3.1. Fakta
Fakta adalah informasi tentang objek, peristiwa, atau situasi yang diketahui benar dalam suatu domain.
Contoh Fakta (Domain Diagnosa Penyakit):
Pasien mengalami demam tinggi
Pasien mengalami batuk kering
Pasien mengalami sesak napas
Suhu tubuh pasien > 38°C
3.2. Representasi Pengetahuan
Pengetahuan dalam sistem pakar dapat direpresentasikan dalam beberapa cara:
Metode | Deskripsi | Contoh |
|---|---|---|
Aturan Produksi (Production Rules) | IF-THEN rules | IF demam AND batuk THEN flu |
Frame | Struktur data terorganisir | Frame "Penyakit" dengan slot: nama, gejala, pengobatan |
Jaringan Semantik | Graf berisi node dan relasi | Flu → is_a → Penyakit |
Logika Proposisi | Pernyataan logis formal | P ∧ Q → R |
Metode yang paling umum digunakan dalam sistem pakar adalah Aturan Produksi (Production Rules) karena mudah dipahami dan diimplementasikan.
# === Contoh Representasi Basis Pengetahuan dalam Python ===
# 1. Basis Pengetahuan: Fakta berupa gejala penyakit
knowledge_base = {
"penyakit": {
"Flu": {
"gejala": ["demam", "batuk", "pilek", "sakit kepala", "nyeri otot"],
"pengobatan": "Istirahat, minum banyak air, paracetamol",
"tingkat_keparahan": "Ringan"
},
"COVID-19": {
"gejala": ["demam", "batuk kering", "sesak napas", "kehilangan penciuman", "kelelahan"],
"pengobatan": "Isolasi mandiri, konsultasi dokter, antiviral jika perlu",
"tingkat_keparahan": "Sedang-Berat"
},
"Demam Berdarah": {
"gejala": ["demam tinggi", "nyeri sendi", "ruam kulit", "mual", "pendarahan gusi"],
"pengobatan": "Rawat inap, infus cairan, monitor trombosit",
"tingkat_keparahan": "Berat"
},
"Tifus": {
"gejala": ["demam", "sakit perut", "diare", "lidah kotor", "lemas"],
"pengobatan": "Antibiotik, istirahat total, diet lunak",
"tingkat_keparahan": "Sedang"
},
"Maag": {
"gejala": ["nyeri lambung", "mual", "kembung", "sendawa", "nafsu makan menurun"],
"pengobatan": "Antasida, makan teratur, hindari makanan pedas",
"tingkat_keparahan": "Ringan"
}
}
}============================================================
BASIS PENGETAHUAN SISTEM PAKAR DIAGNOSA PENYAKIT
============================================================
Penyakit: Flu
Gejala : demam, batuk, pilek, sakit kepala, nyeri otot
Pengobatan : Istirahat, minum banyak air, paracetamol
Keparahan : Ringan
------------------------------------------------------------
Penyakit: COVID-19
Gejala : demam, batuk kering, sesak napas, kehilangan penciuman, kelelahan
Pengobatan : Isolasi mandiri, konsultasi dokter, antiviral jika perlu
Keparahan : Sedang-Berat
------------------------------------------------------------
Penyakit: Demam Berdarah
Gejala : demam tinggi, nyeri sendi, ruam kulit, mual, pendarahan gusi
Pengobatan : Rawat inap, infus cairan, monitor trombosit
Keparahan : Berat
------------------------------------------------------------
Penyakit: Tifus
Gejala : demam, sakit perut, diare, lidah kotor, lemas
Pengobatan : Antibiotik, istirahat total, diet lunak
Keparahan : Sedang
------------------------------------------------------------
Penyakit: Maag
Gejala : nyeri lambung, mual, kembung, sendawa, nafsu makan menurun
Pengobatan : Antasida, makan teratur, hindari makanan pedas
Keparahan : Ringan
------------------------------------------------------------
4. Aturan (Rules) dalam Sistem Pakar
4.1 Aturan Produksi (Production Rules)
Aturan produksi adalah bentuk representasi pengetahuan yang paling umum dalam sistem pakar. Formatnya menggunakan struktur IF...THEN... (Jika...Maka...):
IF <kondisi / premis> THEN <aksi / kesimpulan>Bagian-bagian aturan:
Bagian | Nama Lain | Fungsi |
|---|---|---|
IF (kondisi) | Anteseden / Premis / LHS (Left Hand Side) | Syarat yang harus dipenuhi |
THEN (aksi) | Konsekuen / Kesimpulan / RHS (Right Hand Side) | Hasil jika kondisi terpenuhi |
4.2 Contoh Aturan Produksi
Domain: Diagnosa Penyakit
Rule 1: IF pasien demam AND pasien batuk AND pasien pilek
THEN diagnosa = Flu
Rule 2: IF pasien demam AND pasien batuk kering AND pasien sesak napas
THEN diagnosa = COVID-19
Rule 3: IF pasien demam tinggi AND pasien nyeri sendi AND pasien ruam kulit
THEN diagnosa = Demam Berdarah4.3 Operator Logika dalam Aturan
Aturan dapat menggunakan operator logika untuk menggabungkan beberapa kondisi:
Operator | Arti | Contoh |
|---|---|---|
AND | Semua kondisi harus benar | IF demam AND batuk THEN flu |
OR | Salah satu kondisi harus benar | IF mual OR muntah THEN gangguan pencernaan |
NOT | Kondisi harus salah/tidak ada | IF demam AND NOT batuk THEN bukan flu |
4.4 Aturan Berantai (Chained Rules)
Kesimpulan dari satu aturan bisa menjadi kondisi bagi aturan lain:
Rule A: IF demam AND batuk THEN suspek_infeksi = ya
Rule B: IF suspek_infeksi = ya AND sesak napas THEN diagnosa = PneumoniaPada contoh di atas, Rule A menghasilkan fakta baru (
suspek_infeksi = ya) yang kemudian digunakan oleh Rule B untuk menarik kesimpulan lebih lanjut.
5. Ringkasan
Topik | Poin Penting |
|---|---|
Sistem Pakar | Program komputer yang meniru keahlian seorang pakar di bidang tertentu |
Arsitektur | Terdiri dari: Basis Pengetahuan, Mesin Inferensi, Memori Kerja, Antarmuka Pengguna, Fasilitas Penjelasan |
Basis Pengetahuan | Menyimpan fakta dan aturan dari domain pakar |
Aturan (Rules) | Format IF kondisi THEN kesimpulan, menggunakan operator AND, OR, NOT |
Aturan Berantai | Kesimpulan satu aturan bisa menjadi kondisi bagi aturan lain |