Sistem Pakar Sistem Pakar Pemberian Rekomendasi Penyakit Jantung

BAB 2 TINJAUAN PUSTAKA

2.1. Sistem Pakar

2.1.1. Sejarah sistem pakar Perkembangan Artificial Intelligence AI merupaka terobosan baru dalam dunia komputer. AI berkembang setelah perusahaan General Electric menggunakan komputer pertama kali di bidang bisnis. Pada tahun 1956, istilah AI mulai dipopuler-kan oleh John McCarthy sebagai suatu tema ilmiah di bidang komputer yang diadakan di Dartmouth College. Pada tahun yang sama komputer berbasis AI pertama kali dikembangkan dengan nama Logic Theorist yang melakukan penalaran terbatas untuk teorema kalkulus. Perkembangan ini mendorong para peneliti untuk mengembangkan program lain yang disebut sebagai General Problem Solver GPS. Program ini bertujuan untuk memecahkan berbagai jenis masalah dan ternyata menjadi tugas yang sangat besar dan sangat berat untuk dikembangkan. Setelah GPS, ternyata AI banyak dikembangkan dalam bidang permainan atau game. Banyak juga ahli mengimplementasikan AI dalam bidang bisnis dan matematika. Pada tahun 1972, Newell dan Simon memperkenalkan Teori Logika secara konseptual yang kemudian berkembang pesat dan menjadi acuan pengembangan sistem berbasis kecerdasan buatan lainnya. Buchanan dan Feigenbaum juga mengembangkan bahasa pemrograman DENDRAL pada tahun 1978. Bahasa pemrograman ini dibuat untuk badan antariksa Amerika Serikat, yaitu NASA, dan digunakan untuk penelitian kimia di planet Mars. Universitas Sumatera Utara Pada tahun 1976, yaitu 2 tahun sebelum DENDRAL, sebenarnya program sistem pakar sudah dikembangkan secara modern, yaitu MYCIN yang dibuat oleh Shortliffe dengan bahasa pemrograman LISP. Program MYCIN menyimpan ± 500 basis pengetahuan dan basis aturan untuk mendiagnosis penyakit manusia. Program ini juga mengimplementasikan metode penelusuran dan pemecahan masalah, serta mengembangkan berbagai teori penting dalam kecerdasan buatan seperti metode certainty factor, teori probabilitas dan teorema fuzzy. Dewasa ini program MYCIN menjadi acuan penting untuk pengembangan sistem pakar secara modern karena didalamnya telah terintegrasi semua komponen standar yang dibutuhkan oleh sistem pakar itu sendiri. 2.1.2. Pengertian sistem pakar Sistem pakar atau Expert system merupakan salah satu bidang yang dipelajari dalam teknologi kecerdasan buatan. Selain sistem pakar, bidang lain yang dipelajari adalah Robotika Robotics, Penglihatan Komputer Computer Vision, Pengolahan Bahasa Alami Natural Language Processing, Pengenalan Pola Pattern Recognition, Sistem Syaraf Buatan Artificial Neural System, dan juga Pengenalan Suara Speech Recoggnition. Sistem pakar dibuat hanya pada domain pengetahuan tertentu untuk suatu kepakaran tertentu yang mendekati kemampuan manusia di salah satu bidang saja. Sistem pakar mencoba mencari penyelesaian yang memuaskan, yaitu sebuah penyelesaian yang cukup bagus agar pekerjaan dapat berjalan walaupun itu bukan penyelesaian yang optimal. Pada dasarnya sistem pakar diterapkan untuk mendukung aktivitas pemecahan masalah. Beberapa aktivitas pemecahan yang dimaksud, antara lain : pembuatan keputusan decision making, pemaduan pengetahuan knowledge fusing, pembuatan desain designing, perencanaan planning, prakiraan forecasting, pengaturan regulating, pengendalian controlling, diagnosis diagnosing, perumusan prescribing, penjelasan explaining, pemberian nasihat advising, dan pelatihan tutoring. Sistem pakar juga dapat berfungsi sebagai asisten yang pandai dari seorang pakar. Martin dan Oxman, 1988. Definisi sistem pakar menurut beberapa sumber dapat dilihat pada Tabel 2.1. Universitas Sumatera Utara Tabel 2.1. Definisi Sistem Pakar Sumber Definisi Giarratano dan Rilley 2005 Salah satu cabang kecerdasan buatan yang menggunakan pengetahuna-pengetahuan khusus yang dimiliki oleh seorang ahli untuk menyelesaikan suatu masalah tertentu. Martin dan Oxman 1988 Sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah, yang biasanya hanya dapat diselesaikan oleh seorang pakar dalam bidang tertentu. Ignizio 1991 Sistem pakar merupakan bidang yang dicirikan oleh sistem berbasis pengetahuan Knowledge Base System, memungkinkan komputer dapat berfikir dan mengambil kesimpulan dari sekumpulan kaidah. Turban dan Aronson 2001 Sistem yang menggunakan pengetahuan manusia yang dimasukkan ke dalam komputer untuk memecahkan masalah-masalah yang biasanya diselesaikan oleh pakar. 2.1.3. Manfaat sistem pakar Menurut buku Pengembangan Sistem Pakar menggunakan Visual Basic, selain memiliki banyak manfaat, pengembangkan sistem pakar juga memiliki kelemahan. Berikut adalah manfaat dari sistem pakar: 1. Masyarakat awam non-pakar dapat memanfaatkan keahlian di dalam bidang tertentu tanpa kehadiran langsung seorang pakar. 2. Meningkatkan produktivitas kerja, yaitu bertambah efisiensi pekerjaan tertentu serta hasil solusi kerja. Universitas Sumatera Utara 3. Penghematan waktu dalam menyelesaikan masalah yang kompleks. 4. Memberikan penyederhanaan solusi untuk kasus-kasus yang kompleks dan berulang-ulang. 5. Pengetahuan dari seorang pakar dapat didokumentasikan tanpa ada batas waktu. 6. Memungkinkan penggabungan berbagai bidang pengetahuan dari berbagai pakar untuk dikombinasikan. 2.1.4. Ciri-ciri dan karakteristik sistem pakar Ada berbagai ciri dan karakteristik yang membedakan sistem pakar dengan sistem yang lain. Ciri dan karakteristik ini menjadi pedoman utama dalam pengembangan sistem pakar. Ciri dan karakteristik yang dimaksud adalah sebagai berikut : 1. Pengetahuan sistem pakar merupakan suatu konsep, bukan berbentuk numeris. Hal ini dikarenakan komputer melakukan proses pengolahan data secara numerik sedangkan keahlian dari seorang pakar adalah fakta dan aturan-aturan, bukan numerik. 2. Informasi dalam sistem pakar tidak selalu lengkap, subyektif, tidak konsisten, subyek terus berubah dan tergantung pada kondisi lingkungan sehingga keputusan yang diambil bersifat tidak pasti dan tidak mutlak “ya” atau “tidak” akan tetapi menurut ukuran kebenaran tertentu. Oleh karena itu dibutuhkan kemampuan sistem untuk belajar secara mandiri dalam menyelesaikan masalah-masalah dengan pertimbangan-pertimbangan khusus. 3. Kemungkinan solusi sistem pakar terhadap suatu permasalahan adalah bervariasi dan mempunyai banyak pilihan jawaban yang dapat diterima, semua faktor yang ditelusuri memiliki ruang masalah yang luas dan tidak pasti. Oleh karena itu diperlukan fleksibilitas sistem dalam menangani kemungkinan solusi dari berbagai permasalahan. 4. Perubahan atau pengembangan pengetahuan dalam sistem pakar dapat terjadi setiap saat bahkan sepanjang waktu sehingga diperlukan kemudahan dalam modifikasi sistem untuk menampung jumlah pengetahuan yang semakin besar dan semakin bervariasi. 5. Pandangan dan pendapat setiap pakar tidaklah selalu sama, yang oleh karena itu tidak ada jaminan bahwa solusi sistem pakar merupakan jawaban yang pasti benar. Setiap pakar akan memberikan pertimbangan-pertimbangan berdasarkan faktor subyektif. Universitas Sumatera Utara 6. Keputusan merupakan bagian terpenting dari sistem pakar. Sistem pakar harus memberikan solusi yang akurat berdasarkan masukan pengetahuan meskipun solusinya sulit sehingga fasilitas informasi sistem harus selalu diperlukan. 2.1.5. Struktur sistem pakar Sistem pakar dibangun oleh dua lingkungan yaitu lingkungan pengembangan development environment dan lingkungan konsultasi consultation environment. Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar ke dalam sistem pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Menurut Turban 2005, sistem pakar disusun oleh 4 komponen utama, yaitu : 1. Penambahan Pengetahuan Bagian ini digunakan untuk memasukkan pengetahuan, mengkonstruksi atau memperluas pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa didapat dari ahli, buku, basis data penelitian dan gambar. 2. Basis Pengetahuan Knowledge Base Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui. 3. Mesin Inferensi Inference Engine Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis data pengetahuan dalam rangka mencari solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti exact reasoning dan strategi penalaran tak pasti inexact reasoning. Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya. Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan proses penalaran. Terdapat tiga teknik pengendalian Universitas Sumatera Utara yang sering digunakan, yaitu forward chaining, backward chaining, dan penggabungan kedua teknik tersebut. 4. Antarmuka Pemakai User Interface Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai dengan sistem. Selain empat komponen utama diatas, ada beberapa komponen lain yang ikut membangun struktur sistem pakar, yaitu : 1. Blackboard Blackboard merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada tiga tipe keputusan yang dapat direkam, yaitu : a. Rencana, bagaimana menghadapi masalah b. Agenda, aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi. c. Solusi, calon aksi yang dibangkitkan. 2. Fasilitas Penjelasan. Fasilitas penjelasan sistem merupakan bagian dari sistem pakar yang memberikan penjelasan atas kesimpulan yang dicapai tentang suatu masalah, serta memberikan rekomendasi kepada pemakai. 3. Penyaringan Pengetahuan. Kemampuan pakar dalam menganalisis dan meningkatkan kinerja pembelajaran dapat diterapkan dalam program sistem pakar sehingga sistem pakar tersebut dapat menganalisis penyebab dari kesuksesan dan kegagalan yang dialami. 4. Basis Data Database Basis data terdiri atas semua fakta yang diperlukan, dimana fakta-fakta tersbut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan. Hubungan antar komponen penyusun struktur sistem pakar dapat dilihat pada Gambar 2.1: Universitas Sumatera Utara Gambar 2.1. Struktur Sistem Pakar Turban, 2005 2.1.6. Forward chaining Forward chaining merupakan salah satu teknik yang digunakan dalam mekanisme inferensi untuk pengujian aturan. Dalam forward chaining, aturan-aturan diuji satu demi satu dalam urutan tertentu. Urutan itu mungkin berupa urutan pemasukan aturan ke dalam basis aturan atau juga urutan lain yang ditentukan oleh pemakai. Setiap aturan diuji, sistem pakar akan mengevaluasi apakah kondisinya benar atau salah. Jika kondisinya benar, maka aturan itu disimpan kemudian aturan berikutnya diuji. Sebaliknya, jika kondisinya salah maka aturan itu tidak disimpan dan aturan berikutnya diuji. Proses ini akan berulang iterative sampai seluruh basis aturan teruji dengan berbagai kondisi yang dapat dilihat pada Gambar 2.2. Kelebihan dari metode forward chaining adalah data baru dapat dimasukkan ke dalam tabel database inferensi dan kemungkinan untuk melakukan perubahan inference rules. Universitas Sumatera Utara Gambar 2.2 Proses forward chaining

2.2. Logika Fuzzy