Pengertian Sistem Pakar Sejarah Sistem Pakar Pengenalan Sistem Pakar

7

BAB II TEORI PENUNJANG

2.1 Pengertian Sistem Pakar

Sistem pakar dapat didefinisikan sebagai sebuah program komputer berbasis pengetahuan yang dapat menarik kesimpulan setingkat pakar dalam bidang tertentu yang hasil pemecahannya mirip dengan pemecahan yang diberikan oleh pakar yang sesungguhnya. Basis pengetahuan diperoleh dari pengalaman seorang pakar maupun teori-teori yang ada pada bidang yang spesifik saja, oleh karena itu sistem pakar memiliki keterbatasan.

2.2 Sejarah Sistem Pakar

Sistem pakar mulai dikembangkan pada pertengahan tahun 1960-an oleh perhimpunan Artificial Intelligence Corporation yang ditandai dengan dikembangkannya GPS General Purpose Problem Solver oleh Newell dan Simon dari Logic Theorist, yang merupakan sebuah percobaan untuk menciptakan sebuah mesin cerdas. GPS merupakan sebuah cikal bakal menuju sistem pakar. Perkembangan selanjutnya ditandai dengan terjadinya pergantian dari program yang bersifat serba guna General Purpose ke program yang bersifat khusus Spesial Purpose. Ini ditandai dengan dikembangkannya DENDRAL oleh E. Feigenbaum dari Universitas Stanford, yang kemudian diikuti dengan perkembangan MYCIN. 8 Beberapa sistem pakar mulai muncul pada pertengahan tahun 1970. Kemudian tahun 1980, teknologi sistem pakar yang semula dibatasi hanya di lingkungan akademis, mulai muncul sebagai aplikasi komersil, khususnya XCON, XSEL, dan CATS-1. Beberapa contoh sistem pakar dapat dilihat pada Tabel 2.1. Tabel 2.1. Contoh Sistem Pakar dan Kegunaannya Sistem Pakar Kegunaan DENDRAL Mengidentifikasi struktur molekular campuran yang tak dikenal MYCIN Diagnosa Penyakit XCON XSEL Membantu konfigurasi sistem komputer besar SOPHIE Analisis sirkuit elektronik Prospector Digunakan di dalam geologi untuk membantu mencari dan menemukan deposit FOLIO Membantu memberikan keputusan bagi seseorang manager dalam hal stok broker dan investasi DELTA Pemeliharaan lokomotif listrik disel

2.3 Pengenalan Sistem Pakar

2.3.1 Konsep Dasar Sistem Pakar Menurut Efraim Turban, konsep dasar sistem pakar mengandung enam hal yaitu keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan [1] . a. Keahlian Keahlian adalah suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh dari pelatihan, membaca atau pengalaman. 9 b. Ahli Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan, menyusun kembali pengetahuan jika dipandang perlu, memecah aturan-aturan jika dibutuhkan, dan menentukan relevan tidaknya keahlian mereka. c. Pengalihan keahlian Tujuan dari sistem pakar adalah mengalihkan keahlian dari seorang pakar ke komputer dan kemudian ke manusia lain yang bukan ahli. Pengetahuan yang disimpan dalam komputer disebut basis pengetahuan knowledge base. Pengetahuan ini dibedakan menjadi dua, yaitu fakta dan aturan. d. Inferensimenarik kesimpulan Keahlian-keahlian yang sudah tersimpan dalam komputer sebagai basis pengetahuan, maka sistem pakar harus diprogram agar dapat menarik kesimpulan. e. Aturan Rule Kebanyakan sistem pakar adalah sistem berbasis rule. Pengetahuan disimpan dalam bentuk rule-rule sebagai prosedur pemecahan masalah. f. Kemampuan menjelaskan Explanation Capability Keistimewaan lain dari sistem pakar adalah kemampuan menjelaskan darimana asal sebuah solusirekomendasi diperoleh. 10 2.3.2 Arsitektur Sistem Pakar Komponen utama yang harus ada dalam sebuah sistem pakar adalah knowledge base basis pengetahuan, inference engine mesin penarik kesimpulan, explanation subsystem subsistem penjelas output dan user interface [2] . Secara umum arsitektur sistem pakar dapat dilihat pada gambar 2.1 Gambar 2.1. Arsitektur Sistem Pakar a. Basis Pengetahuan Knowledge Base Knowledge base adalah kumpulan informasi atau pengetahuan pakar mengenai suatu bidang yang spesifik. Knowledge base terdiri dari dua bagian yaitu fakta seperti yang terdapat pada buku atau fakta yang diperoleh dari pakar dan aturan rule yang digunakan oleh seorang pakar untuk menarik kesimpulan. b. Inference Engine Inference Engine merupakan bagian dari sistem pakar yang bertugas untuk menentukan solusi yang tepat dari sejumlah solusi yang tersedia. Proses yang dilakukan dalam inference engine adalah bagaimana mengambil keputusan terhadap proses yang terjadi dan proses penalaran pada basis pengetahuan yang 11 dimilikinya. Penentuan sistem pendukung keputusan dan metode pelacakan sangat penting dalam rangka menarik kesimpulan. Inference engine merupakan otak dari sistem pakar. Komponen ini pada dasarnya berupa suatu program komputer yang menyediakan suatu metodologi untuk mengolah informasi dalam knowledge base dan merumuskan kesimpulan. Adapun untuk mendapatkan sebuah kesimpulan terdapat dua metode penalaran, yaitu metode backward chaining dan metode forward chaining. c. Explanation Subsystem Explanation Subsystem merupakan kemampuan untuk memberikan penjelasan atas sebuah kesimpulan yang diberikan. d. User Interface User Interface merupakan bagian dari sistem pakar yang berfungsi sebagai pengendali input output. User interface melayani user selama proses konsultasi mulai dari tanya jawab untuk mendapatkan fakta-fakta yang dibutuhkan inference engine sampai menampilkan output yang merupakan kesimpulanrekomendasi yang dihasilkan oleh inference engine. e. Certainty Factor Certainty Factor merupakan faktor keyakinan atas fakta-fakta yang ada. 12 2.3.3 Kategori Sistem Pakar Banyak sekali bidang yang menggunakan sistem pakar sebagai bantuan sehingga sistem pakar itu sendiri dapat dikelompokkan menjadi [2] : a. Interpretasi Memberikan gambaran tentang sekumpulan data mentah yang biasanya diperoleh melalui sensor. Contoh: pengenalan kataucapan, pembuatan peta. b. Prediksi Memberikan dugaan mengenai akibat yang mungkin ditimbulkan dari sejumlah situasi yang diberikan. Contoh: perkiraan cuaca, ramalan panen. c. Diagnosa Menentukan penyebab gagalnya suatu sistem dalam situasi yang kompleks yang didasarkan pada observasi terhadap gejala-gejala yang dapat diamati. Contoh: diagnosa penyakit pada bidang kedokteran. d. Desain Menentukan konfigurasi yang cocok dari komponen-komponen yang ada dalam sebuah sistem sehingga unjuk kerja yang memuaskan dapat diperoleh walaupun di dalamnya terdapat sejumlah keterbatasan. Contoh: penyusunan anggaran belanja, desain arsitektur rumah. e. Perencanaan Mendapatkan urutan tindakan yang harus dilakukan untuk mencapat sasaran yang ditentukan sebelumnya dari suatu kondisi awal tertentu. Contoh: 13 perencanaan strategi manajemen. f. Pengawasan Monitoring Membandingkan perilaku yang diamati pada suatu sistem dengan perilaku yang diharapkan untuk mengenali lebih banyak variasi perilaku di dalamnya. Contoh: manajemen pengawasan, pengendalian instalasi nuklir g. Pelacakan dan Perbaikan Debugging and Repairing Penentuan dan implementasi perbaikanpertolongan pada kegagalan suatu sistem. Contoh: uji coba software komputer, reparasi mesin, pelacakan kerusakan hardware komputer. h. Instruksi Mendeteksi dan memperbaiki kekurangan perilaku siswa dalam memahami suatu bidang tertentu. Contoh: program untuk tutorial. i. Klasifikasi Menentukan kategori dari sejumlah kriteria yang diberikan. Contoh: penentuan jabatan seorang pegawai. j. Kontrol Pengaturan perilaku kerja dalam suatu lingkungan yang kompleks, termasuk di dalamnya penafsiran, perkiraan dan perbaikan perilaku kerja sistem tersebut. Contoh: pengawasan jadwal penerbangan. 14 2.3.4 Peranan Manusia Dalam Sistem Pakar Dalam pengembangan sebuah sistem pakar, peranan manusia ikut menentukan keberhasilan dari sistem pakar tersebut. Adapun peranan manusia yang di maksud ialah [3] : 1. Pakar Domain Expert Pakar adalah seseorang yang mempunyai pengetahuan khusus, pendapat, keahlian dan metode serta kemampuan untuk menggunakannya. Pakar dapat memberikan nasehat dan memecahkan masalah. Tugasnya menyediakan pengetahuan tentang bagaimana cara melaksanakan tugasnya untuk kemudian diserap dan diimplementasikan ke dalam sistem pakar. 2. Perancang Knowledge Engineer Knowledge Engineer adalah pihak yang membantu dalam pembuatan sebuah sistem pakar. Knowledge Engineer ini bertugas menyerap pengetahuan yang dimiliki oleh para pakar dan mengimplementasikannya ke dalam software sistem pakar. Tugas ini cukup sulit karena knowledge engineer tidak boleh memasukkan perkiraan atau perasaannya ke dalam pengetahuan yang diperoleh. Selain itu seorang knowledge engineer harus pandai mengorek pengetahuan pakar karena ada kalanya seorang pakar tidak dapat menceritakan atau menjelaskan keahliannya. 3. Pemakai End User Merupakan manusia yang menggunakan hasil dari perancangan sistem pakar. 15 2.3.5 Keuntungan-keuntungan Dari Sistem Pakar Beberapa keuntungan yang diperoleh dari penggunaan sistem pakar adalah [1] : 1. Membuat seseorang yang awan dapat bekerja layaknya seorang pakar. 2. Membuat peralatan yang kompleks lebih mudah dioperasikan karena sistem pakar dapat melatih pekerja yang tidak berpengalaman. 3. Menyediakan nasihat yang konsisten dan dapat mengurangi tingkat kesalahan. 4. Membantu memecahkan masalah yang kompleks. 5. Menghemat waktu dalam pengambilan keputusan. 6. Meningkatkan output dan produktivitas. 7. Meningkatkan kualitas. 2.3.6 Faktor Kepastian Certainty Factor Dalam kenyataan sehari-hari, para pakar seringkali berurusan dengan data- data yang tidak menentu dan tidak pasti. Ketidakpastian disebabkan oleh 2 faktor, yaitu aturan yang tidak pasti dan jawaban pengguna yang tidak pasti atas suatu pertanyaan yang diajukan oleh sistem [4] . Misalnya jika seseorang mengalami sakit kepala, demam dan bersin-bersin ada kemungkinan orang tersebut terserang penyakit flu, tetapi bukan berarti apabila seseorang mengalami gejala tersebut pasti terserang penyakit flu. Dengan demikian sistem pakar harus dapat menangani masalah 16 ketidakpastian tersebut. Salah satu teknik yg digunakan adalah dengan penggunaan faktor kepastian. Faktor kepastian menggambarkan tingkat keyakinan terhadap permasalahan yang sedang dihadapi. Angka yang diberikan dalam jangkauan antara 0 sangat tidak yakin sampai 1 sangat yakin. Jangkauan nilai CF dapat dilihat pada Gambar 2.2. Sangat TidakYakin Tidak Yakin Tidak Tahu Yakin Sangat Yakin 0,5 1 0,8 0,2 CF Derajat Ketidakpercayaan Derajat Kepercayaan Gambar 2.2 Jangkauan Nilai CF Ada 2 macam faktor kepastian yang digunakan, yaitu: 1. Faktor kepastian yang diisikan oleh pakar bersama dengan aturan. 2. Faktor kepastian yang diberikan oleh pengguna. Faktor kepastian yang diisikan oleh pakar menggambarkan kepercayaan pakar terhadap hubungan antara premis dan hipotesis pada aturan kaidah produksi. Sementara itu faktor kepastian dari pengguna menunjukkan besarnya kepercayaan terhadap keberadaan masing-masing elemen dalam premis. 2.3.6.1 Menentukan CF Pararel CF Pararel merupakan CF yang diperoleh dari beberapa premis pada sebuah aturan. Besarnya CF pararel dipengaruhi oleh CFUser masing-masing premis berdasarkan operator yang digunakan. 17 Rumus 2.1 digunakan jika antar premis menggunakan operator AND. Misalnya IF x AND y THEN H. CF x,y = MinCFx, CFy 2.1 Rumus 2.2 digunakan jika antar premis menggunakan operator OR. Misalnya IF x OR y THEN H. CF x,y = MaxCFx, CFy 2.2 Rumus 2.4 digunakan jika premis menggunakan operator NOT. Misalnya IF not x THEN H. CFTidak x = -CFx 2.3 2.3.6.2 Menentukan CF Sequensial CF sekuensial diperoleh dari hasil perhitungan CF pararel dari semua premis dalam satu aturan dengan CF aturan yang diberikan oleh pakar. Adapun rumus untuk melakukan perhitungan CF Sekuensial ditunjukkan pada Rumus 2.4. CFRn = CFx,y CFX,Y 2.4 CFRn : CF sequensial aturan ke n dari premis x dan y CFx,y : CF paralel dari premis x dan y CFX,Y : CF pakar dari premis x dan y 18 2.3.6.3 Menentukan CF Gabungan CF Gabungan merupakan penggabungan dari beberapa CF sequential. CF akhir dari suatu aturan dengan aturan yang lain digabungkan untuk mendapatkan nilai CF konklusi. Adapun rumus untuk melakukan perhitungan CF gabungan ditunjukkan pada Rumus 2.5, 2.6, dan 2.7 1 y CF R CF R CF R CF H CF n n n − + = + CFR n 0 dan CFR n-1 0 2.6 , 1 1 1 − − − + = n n n n R CF R CF Min R CF R CF H CF CFR n 0 atau CFR n-1 0 2.7 1 1 n n n R CF R CF R CF H CF + + = − CFR n 0 dan CFR n-1 0 2.8

2.4 Konsep Backward Chaining