Jumat, 13 November 2015

SISTEM PAKAR 11 - Membangun sistem pakar dengan VB



Perancangan Database
Dalam pemilihan database kita dapat memilih menggunakan MySql ataupun Access yang umum digunakan, Access dipilih karena sudah terdapat pada Microsoft Office 2007, berbeda jika kita ingin menggunakan MySQL, maka kita harus menginstalnya terlebih dahulu ke dalam komputer atau laptop.
Diagram Relasi Antar Tabel Sistem Pakar

Perancangan Flowchart Sistem


Bekerja Dengan Microsoft Visual Basic 2008
Dalam membuat aplikasi sistem pakar kita dapat memilih program selain Microsoft Visual Basic 2008 tersebut, sebut saja misalkan Java, PHP, Delphi, Dll.
  Tampilan program Visual Basic 2008
Membuat Desain Antar Muka Program Sistem Pakar
Terakhir, agar aplikasi Sistem Pakar yang kita inginkan tersebut tercipta maka dibutuhkan suatu semangat, usaha yang pantang menyerah dan kesabaran.

SISTEM PAKAR 10 - DFD


IMPLEMENTASI SISTEM PAKAR DI BIDANG KEDOKTERAN UNTUK MENDIAGNOSIS JENIS PENYAKIT MATA PADA MANUSIA


1. Pendahuluan
Sistem pakar merupakan salah satu bagian dari kecerdasan buatan yang akhir – akhir ini mengalami perkembangan yang sangat pesat. Sistem ini dirancang untuk menirukan keahlian seorang pakar dalam menjawab pertanyaan dan menyelesaikan suatu permasalahan baik di bidang kesehatan atau kedokteran, bisnis, ekonomi dan sebagainya. Sistem pakar merupakan program komputer yang mampu menyimpan pengetahuan dan kaidah seorang pakar yang khusus. Sistem pakar sangat membantu untuk pengambilan keputusan, dimana sistem pakar ini dapat mengumpulkan dan menyimpan pengetahuan dari seseorang atau beberapa orang pakar dalam suatu basis pengetahuan (knowledge base) dan menggunakan sistem penalaran yang menyerupai seorang pakar dalam memecahkan masalah. Jadi sistem pakar ini dapat memecahkan suatu masalah tertentu karena sudah menyimpan pengetahuan secara keseluruhan (Naser dan Zaiter, 2008).

(Daniel dan Virginia, 2010) menyebutkan bahwa salah satu masalah di dalam dunia medis atau kedokteran adalah adanya ketidakseimbangan antara pasien dan dokter. Selain itu, sebagian besar dari masyarakat tidak terlatih secara medis sehingga apabila mengalami gejala penyakit yang diderita belum tentu dapat memahami cara-cara penanggulangannya. Sangat disayangkan apabila gejala-gejala yang sebenarnya dapat ditangani lebih awal menjadi penyakit yang lebih serius akibat kurangnya pengetahuan. Pengetahuan sebenarnya dapat diperoleh dari buku-buku atau situs-situs internet yang membahas tentang kesehatan. Akan tetapi, untuk mempelajari hal tersebut tidaklah mudah karena selain memerlukan waktu yang cukup lama untuk memahaminya, sumber-sumber tersebut juga belum tentu dapat mendiagnosis jenis penyakit seperti yang dilakukan oleh seorang dokter.

Oleh karena itu, di dunia kedokteran, sudah banyak bermunculan aplikasi sistem pakar. Sistem pakar ini mampu mendiagnosis berbagai jenis penyakit pada manusia, baik penyakit mata, THT (telinga, hidung, tenggorokan), mulut, organ dalam (jantung, hati, ginjal), maupun AIDS (Hamdani, 2010). Dengan adanya sistem pakar ini, orang awam mampu mendeteksi adanya penyakit pada dirinya berdasarkan gejala-gejala yang dirasakan oleh orang tersebut dengan menjawab pertanyaan pada aplikasi seperti halnya konsultasi ke dokter. Dengan demikian, orang awam dapat mendeteksi penyakit beserta solusi pengobatannya sejak dini sehingga bisa dilakukan penanganan segera, bahkan dapat dilakukan upaya pencegahan terhadap penyakit tertentu (Kumar dan Prava, 2010). Jadi, dengan pengembangan sistem pakar, diharapkan bahwa orang awam pun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli (Handayani dan Sutikno, 2008).

Untuk paper ini, jenis penyakit yang didiagnosis oleh sistem pakar adalah jenis penyakit mata. Organ mata dipilih karena mata merupakan panca indera yang sangat penting untuk penglihatan. Menurut Hamdani (2010), dengan mata dapat melihat secara nornal, manusia dapat menikmati keindahan alam dan berinteraksi dengan lingkungan sekitar dengan baik. Dengan mata, manusia dapat belajar lebih banyak tentang pengetahuan di dunia daripada melalui panca indera yang lain (Naser dan Zaiter, 2008). Hampir setiap kegiatan, manusia menggunakan mata, misalnya membaca, bekerja, menonton televisi, menulis, berkendara, dan lain-lain sehingga banyak orang yang setuju bahwa mata merupakan panca indera yang paling penting. Jika mata mengalami gangguan atau penyakit mata, maka akan berakibat sangat fatal bagi kehidupan manusia. Proses pembelajaran dan interaksi manusia akan terganggu. Jadi sudah mestinya mata merupakan anggota tubuh yang perlu dijaga dalam kesehatan sehari-hari dan sudah semestinya manusia tahu sejak dini apabila terkena gejala penyakit mata tertentu sehingga tidak semakin parah dan membahayakan mata apalagi hingga terjadi kebutaan. Pada kenyataannya, banyak kasus penyakit mata dapat menimbulkan kebutaan karena terlambat ditangani (Naser dan Zaiter, 2008).

2. Landasan Teori
2.1 Proses Diagnosis Penyakit
Proses diagnosis merupakan perpaduan dari aktifitas intelektual dan manipulatif. Menurut Handayani dan Sutikno (2008), diagnosis sendiri didefinisikan sebagi suatu proses penting pemberian nama dan pengklasifikasian penyakit-penyakit pasien, yang menunjukkan kemungkinan nasib pasien dan yang mengarahkan pada pengobatan tertentu. Diagnosis sebagaimana halnya dengan penelitian-penelitian ilmiah, didasarkan atas metode hipotesis. Dengan metode hipotesis ini menjadikan penyakit-penyakit begitu mudah dikenali hanya dengan suatu kesimpulan diagnostik. Diagnosis dimulai sejak permulaan wawancara medis dan berlangsung selama melakukan pemeriksaan fisik. Dari diagnosis tersebut akan diperoleh pertanyaan-pertanyaan yang terarah, perincian pemeriksaan fisik yang dilakukan untuk menentukan pilihan tes-tes serta pemeriksaan khusus yang akan dikerjakan. Data yang berhasil dihimpun akan dipertimbangkan dan diklasifikasikan berdasarkan keluhan-keluhan dari pasien serta hubungannya terhadap penyakit tertentu. Berdasarkan gejala-gejala serta tanda-tanda yang dialami oleh penderita, maka penegakkan diagnosis akan lebih terpusat pada bagian-bagian tubuh tertentu. Dengan demikian penyebab dari gejala-gejala dan tanda-tanda tersebut dapat diketahui dengan mudah dan akhirnya diperoleh kesimpulan awal mengenai penyakit tertentu.

2.2 Sistem Pakar
Menurut Naser dan Zaiter (2008), sistem pakar adalah suatu sistem yang memanfaatkan pengetahuan manusia yang ditangkap di sebuah komputer untuk memecahkan masalah yang biasanya membutuhkan keahlian manusia. Durkin dalam Daniel dan Virginia (2010) juga menyebutkan hal yang senada bahwa sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Sistem pakar mencari dan memanfaatkan informasi yang relevan dari pengguna dan dari basis pengetahuan yang tersedia untuk membuat rekomendasi. Sistem pakar juga dapat didefinisikan sebagai sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan tehnik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut. Sistem pakar memberikan nilai tambah pada teknologi untuk membantu dalam menangani era informasi yang semakin canggih (Daniel dan Virginia, 2010). Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli (Prabowo dkk, 2008).

Sulistyohati dan Hidayat (2008) mengatakan bahwa konsep dasar suatu sistem pakar mengandung beberapa unsur, diantaranya adalah keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan. Keahlian adalah salah satu penguasaaan pengetahuan di bidang tertentu dan mempunyai keinginan untuk belajar memperbaharui pengetahuan dalam bidangnya. Pengalihan keahlian adalah mengalihkan keahlian dari seorang pakar dan kemudian dialihkan lagi ke orang yang bukan ahli atau orang awam yang membutuhkan. Pengalihan keahlian ini adalah tujuan utama dari sistem pakar. Inferensi merupakan suatu rangkaian proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Kemampuan menjelaskan merupakan salah satu fitur yang harus dimiliki oleh sistem pakar setelah tersedia program di dalam komputer.

Tujuan pengembangan sistem pakar sebenarnya tidak untuk menggantikan peran para pakar, namun untuk mengimplementasikan pengetahuan para pakar ke dalam bentuk perangkat lunak, sehingga dapat digunakan oleh banyak orang dan tanpa biaya yang besar (Sulistyohati dan Hidayat, 2008). Selain itu, bagi para ahli, sistem pakar ini justru akan membantu aktifitasnya sebagai asisten yang sangat berpengalaman (Handayani dan Sutikno, 2008). Untuk membangun sistem yang difungsikan untuk menirukan seorang pakar manusia harus bisa melakukan hal-hal yang dapat dikerjakan oleh para pakar. Menurut Setiawan (2009), untuk membangun sistem yang seperti itu, maka dibutuhkan komponen-komponen sebagai berikut:
1. Basis pengetahuan (Knowledge base). Berisi pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan memecahkan persoalan. Bentuk basis pengetahuan yang umum digunakan ada 2, yaitu: penalaran berbasis aturan dan penalaran berbasis kasus.
2. Motor inferensi (inference engine). Ada 2 cara yang dapat dikerjakan dalam melakukan inferensi, yaitu:
a. Penalaran maju (Forward chaining) merupakan grup dari multiple inferensi yang melakukan pencarian dari suatu masalah kepada solusinya. Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh.
b. Penalaran mundur (Backward chaining) menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mencari bukti yang mendukung (atau kontradiktif) dari ekspektasi tersebut.
3. Blackboard. Merupakan area kerja memori yang disimpan sebagai database untuk deskripsi persoalan terbaru yang ditetapkan oleh data input dan digunakan juga untuk perekaman hipotesis dan keputusan sementara.
4. Subsistem akuisisi pengetahuan. Akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian pemecahan masalah dari pakar atau sumber pengetahuan terdokumentasi ke program komputer untuk membangun atau memperluas basis pengetahuan.
5. Antarmuka pengguna (User Interface). Digunakan untuk media komunikasi antara user dan program.
6. Subsistem penjelasan. Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan.
7. Sistem penyaring pengetahuan.
Untuk lebih jelasnya, komponen sistem pakar dapat dilihat pada Gambar 1.
Gambar 1 Komponen Sistem Pakar

Sementara itu, Naser dan Zaiter (2008) menyebutkan bahwa sistem pakar itu terdiri dari 6 komponen, yaitu:
- Rule-based systems
- Knowledge-based systems
- Intelligent agent (IA)
- Database methodology
- Inference engine
- System-user interaction (User Interface).
Untuk lebih jelasnya, komponen sistem pakar lainnya ini dapat dilihat pada Gambar 2.
Gambar 2 Komponen Sistem Pakar Lainnya

Dari komponen-komponen sistem pakar di atas, secara garis besar ada 3 komponen utama, yaitu: basis pengetahuan, mesin inferensi, dan antarmuka pengguna (Daniel dan Virginia, 2010).

SISTEM PAKAR 9 - Domain dan tujuan sistem pakar


Domain dan Tujuan Sistem Pakar


Apa tujuan dari Sistem Pakar dan Pemindahan Kepakaran?
      Tujuan dari sistem pakar adalah untuk memindahkan kemampuan (transferring expertise) dari seorang ahli atau sumber keahlian yang lain ke dalam komputer dan kemudian memindahkannya dari komputer kepada pemakai yang tidak ahli (bukan pakar). Proses ini meliputi empat aktivitas yaitu:
1. Akuisi pengetahuan (knowledge acquisition) yaitu kegiatan mencari dan mengumpulkan pengetahuan dari para ahli atau sumber keahlian yang lain.
2. Representasi pengetahuan (knowledge representation) adalah kegiatan menyimpan dan mengatur penyimpanan pengetahuan yang diperoleh dalam komputer. Pengetahuan berupa fakta dan aturan disimpandalam komputer sebagai sebuah komponen yang disebut basis pengetahuan.
3. Inferensi pengetahuan (knowledge inferencing) adalah kegiatan melakukan inferensi berdasarkan pengetahuan yang telah disimpan didalam komputer.
4. Pemindahan pengetahuan (knowledge transfer) adalah kegiatan pemindahan pengetahuan dari komputer ke pemakai yang tidak ahli.
       

SISTEM PAKAR 8 - Explanation facility sistem pakar

Sub Sistem dari Sistem Informasi Berbasis Komputer
Sub sistem dari CBIS adalah :
1. Sistem Informasi Akuntansi
2. Sistem Informasi Manajemen
3. Sistem Pendukung Keputusan
4. Automasi Kantor (Virtual Office)
5. Sistem Pakar
Dari 5 Sub Sistem dari Sistem Informasi Berbasis Komputer ini salah satunya adalah Sistem Pakar (Expert System). Sistem pakar adalah suatu sistem komputer yang dirancang agar dapat melakukan penalaran seperti layaknya seorang pakar pada suatu bidang keahlian tertentu (Shelly, 1990).
Sistem Pakar adalah program komputer yang beroperasi menyerupai pengetahuan seorang pakar dalam bentuk Heuristic. Konsep Sistem Pakar ini didasarkan pada asumsi bahwa pengetahuan seorang pakar dapat diambil atau disimpan dalam komputer dan kemudian digunakan oleh orang lain saat dibutuhkan.( Setiawan, 1993)
Sistem pakar (Expert System) adalah sebuah sistem informasi yang memiliki intelegensia buatan (Artificial Intelegent) yang menyerupai intelegensia manusia. Sistem pakar mirip dengan DSS yaitu bertujuan menyediakan dukungan pemecahan masalah tingkat tinggi untuk pemakai. Perbedaan ES dan DSS adalah kemampuan ES untuk menjelaskan alur penalarannya dalam mencapai suatu pemecahan tertentu. Sangat sering terjadi penjelasan cara pemecahan masalah ternyata lebih berharga dari pemecahannya itu sendiri.( Margianti,1995)
A.    Ciri-ciri sistem pakar
Ciri-ciri sistem pakar adalah sebagai berikut:
1. Terbatas pada domain keahlian tertentu.
2. Dapat memberikan penalaran untuk data data yang tidak pasti.
3. Dapat mengemukan rangkaian alasan-alasan yang diberikannya dengan cara yang dapat dipahami.
4. Berdasarkan pada kaidah/rRule tertentu.
5. Dirancang untuk dapat dikembangkan secara bertahap.
6. Keluaranya bersifat anjuran.

SISTEM PAKAR 7 - (Knowledge Acquisition)

(Knowledge Acquisition)

Akuisisi pengetahuan adalah akumulais, transfer dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan ke dalam program computer. Dalam tahap ini knowledge engineer berusaha menyerap pengetahuan untuk selanjutnya ditransfer ke dalam basis pengetahuan.
Menurut Turban (1988), terdapat tiga metode utama dalam akuisisi pengetahuan yaitu :
1. Wawancara
Wawancara adalah metode akuisisi yang paling banyak digunakan. Metode ini melibatkan pembicaraan dengan pakar secara langsung dalam suatu wawancara.
2. Analisis protocol
Dalam metode ini pakar diminta untuk melakukan suatu pekerjaan dan mengungkapkan proses pemikirannya dengan menggunakan kata-kata. Pekerjaan tersebut direkam, dituliskan dan dianalisis.
3. Observasi pada pekerjaan pakar
Dalam metode ini pekerjaan dalam bidang tertentu yang dilakukan pakar diobservasi.
4. Induksi aturan dari contoh
Dalam metode ini system diberi contoh dari suatu masalah yang hasilnya telah diketahui. Setelah diberikan beberapa contoh, system induksi dapat membuat aturan yang benar untuk kasus contoh. Selanjutnya aturan dapat digunakan untuk menilai kasus lain yang hasilnya tidak diketahui.
Akuisisi pengetahuan dilakukan sepanjang proses pembangunan system. Menurut Firebaugh (1989) proses akuisisi pengetahuan dibagi ke dalam 6 tahap yaitu : Identifikasi, Konseptualisasi, Formalisasi, Implementasi, Pengujian dan Revisi Prototipe.

SISTEM PAKAR 6 - Inference Engine Sistem pakar



            Mesin Inferensi (Inference Engine)


Mesin Inferensi

     Inference engine merupakan otak dari sistem pakar, bagian ini mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. Mekanisme ini akan menganalisa suatu masalah tertentu dan kemudian mencari jawaban atau kesimpulan yang terbaik. Dari fakta-fakta yang diperoleh selama proses tanya-jawab dengan user, serta aturan-aturan yang tersimpan di knowledge base, inference engine dapat menarik suatu kesimpulan dan memberikan rekomendasi atau saran yang diharapkan oleh user.

Forward Chaining dan Backward Chaining

Ada dua metode dasar yang bisa digunakan oleh mesin inferensi dalam mencari kesimpulan untuk mendapatkan solusi bagi permasalahan yang dihadapi sistem pakar, yaitu runut maju (forward chaining) dan runut balik (backward chaining). Berikut ini penjelasan mengenai kedua metode pencarian tersebut (Yunanto, 2003) :
  1. Runut maju (Forward chaining)
    Runut maju merupakan metode pencarian yang memulai proses pencarian dari sekumpulan data atau fakta, dari fakta-fakta tersebut dicari suatu kesimpulan yang menjadi solusi dari permasalahan yang dihadapi. Mesin inferensi mencari kaidah-kaidah dalam basis pengetahuan yang premisnya sesuai dengan fakta-fakta tersebut, kemudian dari aturan-aturan tersebut diperoleh suatu kesimpulan. Runut maju memulai proses pencarian dengan data sehingga strategi ini disebut juga data-driven.
  2. Runut balik (Backward chaining).
    Runut balik merupakan metode pencarian yang arahnya kebalikan dari runut maju. Proses pencarian dimulai dari tujuan, yaitu kesimpulan yang menjadi solusi dari permasalahan yang dihadapi. Mesin inferensi mencari aturan-aturan dalam basis pengetahuan yang kesimpulannya merupakan solusi yang ingin dicapai, kemudian dari aturan-aturan yang diperoleh, masing-masing kesimpulan dirunut balik jalur yang mengarah ke kesimpulan tersebut. Jika informasi-informasi atau nilai dari atribut-atribut yang mengarah ke kesimpulan tersebut sesuai dengan data yang diberikan maka kesimpulan tersebut merupakan solusi yang dicari, jika tidak sesuai maka kesimpulan tersebut bukan merupakan solusi yang dicari. Runut balik memulai proses pencarian dengan suatu tujuan sehingga strategi ini disebut juga goal-driven.

SISTEM PAKAR 5 - Knowledge base sistem pakar


Knowledge base sistem pakar

     Secara umum, basis pengetahuan (knowledge base) adalah suatu bentuk basis data tertentu yang digunakan dalam manajemen pengetahuan (knowledge management). Basis pengetahuan berperan dalam proses mengumpulkan, mengorganisasikan, maupun mendapatkan kembali suatu pengetahuan (knowledge).
Dalam sistem pakar (expert system), basis pengetahuan merupakan satu komponen yang sangat penting. Basis pengetahuan menyimpan semua pengetahuan yang dimiliki oleh pakar yang berkompeten dalam bidang yang berkaitan. Basis pengetahuan adalah dasar pengambilan keputusan dalam suatu sistem pakar, di mana pengambilan keputusan ini berkaitan dengan proses untuk mendapatkan kembali pengetahuan yang sebelumnya telah dikumpulkan dan disimpan.
Tulisan ini membahas mengenai basis pengetahuan dalam kaitannya dengan sistem pakar, serta hal-hal lain yang berkaitan dengan basis pengetahuan.

B.      Isi

1.       Pengetahuan
 Sebelum kita mulai membahas mengenai basis pengetahuan, maka terlebih dulu akan kita tinjau mengenai pengetahuan dan semua hal yang berkaitan dengannya. Menurut Davenport dan Prusak (1998), ada perbedaan pengertian mengenai data, informasi, dan pengetahuan.

1.1.  Data
Data adalah suatu kumpulan fakta-fakta diskrit yang obyektif mengenai suatu kejadian[1]. Dalam contoh yang diberikan oleh Davenport dan Prusak, data merupakan gambaran dari transaksi yang dilakukan seseorang (misalnya di pompa bensin). Data berkaitan dengan berapa uang yang dibayarkan dan berapa liter bensin yang diberikan, namun tidak berlaku lebih jauh lagi. Data tidak dapat menggambarkan bagaimana kualitas pompa bensin tersebut dan kapan si pelanggan tersebut akan kembali ke sana.
1.2.  Informasi
Sementara itu, informasi adalah hasil dari pengolahan data. Informasi adalah data yang membuat suatu perbedaan[2], di mana tujuan informasi adalah untuk mengubah pandangan seseorang atau membuatnya menjadi berbeda (dibandingkan sebelum mendapatkan informasi). Menurut Peter Drucker, informasi memiliki makna (meaning) yang ditimbulkan oleh relevansi dan tujuan yang diberikan oleh penciptanya.
1.3.  Pengetahuan
Pengetahuan merupakan bentuk lebih lanjut dari informasi. Pengetahuan merupakan campuran yang bebas antara informasi konstekstual, nilai-nilai, dan pengalaman yang telah terekspresikan, serta pemahaman pakar, yang memberikan suatu kerangka kerja untuk mengevaluasi dan memasukkan informasi dan pengalaman-pengalaman baru[3].
Ada beberapa ciri-ciri pengetahuan (menurut buku yang ditulis Von Krogh, Ichiyo, serta Nonaka 2000). Yang pertama, pengetahuan merupakan kepercayaan yang dibenarkan (justified true believe). Seseorang membenarkan kepercayaannya berdasarkan pada observasinya terhadap dunia, di mana ia menciptakan suatu pemahaman mengenai situasi baru dengan berpegang pada kepercayaan yang telah dibenarkan tersebut. Dengan demikian, kebenaran lebih merupakan konstruksi akan kenyataan, dan bukannya sesuatu yang benar secara abstrak.
Ciri yang kedua pada pengetahuan adalah sifatnya yang eksplisit sekaligus juga terbatinkan (tacit). Sementara beberapa pengetahuan bersifat eksplisit dan mudah digambarkan, diformulasikan, maupun diekspresikan; ada pula pengetahuan-pengetahuan lain yang berkaitan dengan perasaan, keterampilan dan bentuk bahasa utuh, persepsi pribadi, pengalaman fisik, petunjuk praktis (rule of thumb) dan institusi. Pengetahuan-pengetahuan ini sulit sekali untuk disampaikan kepada pihak lain.
Yang ketiga, penciptaan pengetahuan secara efektif bergantung pada konteks yang memungkinkan terjadinya penciptaan tersebut, yaitu ruang bersama yang dapat memicu hubungan-hubungan yang muncul. Dan yang terakhir, penciptaan pengetahuan melibatkan lima langkah utama. Kelima langkah itu adalah:
  • Berbagi pengetahuan terbatinkan
  • Menciptakan konsep
  • Membenarkan konsep
  • Membangun prototip (prototype)
  • Melakukan penyebaran pengetahuan di berbagai fungsi dan tingkat di organisasi.
Hubungan antara data, informasi, dan pengetahuan dapat dilihat pada gambar berikut.

Gambar 1. Data, Informasi, dan Pengetahuan.
Gambar 1. Data, Informasi, dan Pengetahuan.

2.       Basis Pengetahuan
Menurut Gondran (1986) dalam Utami (2002), basis pengetahuan merupakan representasi dari seorang pakar, yang kemudian dapat dimasukkan kedalam bahasa pemrograman khusus untuk kecerdasan buatan (misalnya PROLOG atau LISP) atau shell sistem pakar (misalnya EXSYS, PC-PLUS, CRYSTAL, dsb.)
Basis pengetahuan berisi pengetahuan-pengetahuan pakar berupa fakta-fakta, konsep, aturan, prosedur, dan hubungan di antaranya, yang telah direpresentasikan dalam bentuk yang dimengerti oleh sistem. Basis pengetahuan dibutuhkan untuk memahami, memformulasikan, dan memecahkan masalah yang dihadapi oleh sistem, di sini basis pengetahuan berfungsi sebagai sumber referensi untuk mengambil suatu tindakan. Semakin banyak pengetahuan yang dimiliki oleh suatu basis pengetahuan, maka sistem tersebut akan semakin mendekati sifat “cerdas”, dengan kata lain kemampuan sistem akan semakin mendekati kemampuan pakar.
Gambar 2. Basis Pengetahuan sebagai salah satu komponen Sistem Pakar.
Gambar 2. Basis Pengetahuan sebagai salah satu komponen Sistem Pakar.
Feigenbaum (1977) menyatakan bahwa kesuksesan dari suatu sistem pakar tidaklah bergantung pada kecanggihan strategi penalaran ataupun inferensinya, namun pada jumlah informasi yang dikandungnya mengenai bagaimana simbol-simbol diinterrelasikan, yaitu jumlah pengetahuan yang dimilikinya[4]. Prinsip ini adalah prinsip pengetahuan (knowledge principle), yang merupakan perluasan dari hipotesis simbol fisik (physical symbol hypothesis) dari Newell dan Simon (1981). Hipotesis simbol fisik menganggap bahwa pengetahuan terdiri dari simbol-simbol realitas dan relasi antara simbol-simbol ini, serta bahwa inteligensi adalah manipulasi logis yang sesuai terhadap simbol-simbol dan relasinya[5].
Basis pengetahuan menyimpan pengetahuan yang terdiri dari dua elemen dasar. Elemen dasar pertama adalah fakta, yang dalam hal ini merupakan situasi, kondisi, dan kenyataan dari permasalahan, serta juga teori dalam bidang yang berkaitan serta informasi dari obyek. Yang kedua adalah spesial heuristik yang merupakan informasi mengenai cara untuk membangkitkan fakta baru dari fakta yang sudah diketahui. Dalam sistem berbasis-aturan (rule-based system), elemen kedua ini berupa kaidah atau aturan (rule).
Meskipun seringnya fakta dan aturan dalam basis pengetahuan memiliki nilai kebenaran yang tegas (crisp), namun ada kalanya representasi seperti ini tidaklah dapat mencerminkan pengetahuan secara baik. Dalam hal ini, ada kalanya pengetahuan yang dipakai dibentuk dengan suatu nilai kepastian (certainty value), yang nilainya berkisar dari nol (pasti salah) hingga satu (pasti benar). Nilai kepastian ini menggunakan konsep yang sama dengan yang ada dalam Logika Fuzzy.
Pengembangan suatu basis pengetahuan dimulai dari pembelajaran ontologi, atau konstruksi ontologi, yang bertujuan menangkap pengetahuan menjadi format yang dapat digunakan dalam sistem. Langkah selanjutnya adalah mempopulasikan basis pengetahuan, yaitu mendapatkan instans-instans untuk mengisi basis pengetahuan. Ini merupakan langkah yang penting, yang mana tujuannya menggunakan ontologi sebagai indeks untuk memori organisasi.

Gambar 3.Suatu Siklus Dasar untuk  Pengembangan Basis Pengetahuan.
Gambar 3.Suatu Siklus Dasar untuk  Pengembangan Basis Pengetahuan.
Rekayasa pengetahuan (knowledge engineering) melibatkan beberapa  proses, yaitu akuisisi pengetahuan (knowledge acquisition), validasi pengetahuan (knowledge validation), representasi pengetahuan (knowledge representation), inferensi pengetahuan (knowledge inferencing), dan transfer pengetahuan (knowledge transferring). Dari semua proses ini, yang merupakan pembentukan basis pengetahuan adalah akuisisi pengetahuan dan representasi pengetahuan, beserta validasi pengetahuan yang berfungsi untuk menjaga kualitas pengetahuan yang disimpan.
Gambar 4.Proses Rekayasa Pengetahuan.
Gambar 4.Proses Rekayasa Pengetahuan.
Akuisisi pengetahuan merupakan proses pengumpulan informasi dari sumber-sumber yang tersedia, yang dapat berupa kepakaran seseorang maupun kepakaran laten (yang tersimpan dalam bentuk materi cetakan). Sementara representasi pengetahuan merupakan proses untuk mengilustrasikan pengetahuan yang telah didapat dari proses akuisisi pengetahuan.

3.       Akuisisi Pengetahuan
Dalam akuisisi pengetahuan, perekayasa (engineer) bertindak sebagai jembatan antara pakar (expert) dengan basis pengetahuan. Perekayasa mendapatkan pengetahuan dari pakar, dan bersamanya menaruhnya pengetahuan tersebut dalam basis pengetahuan.
Ada beberapa cara untuk melakukan akuisisi pengetahuan. Yang pertama adalah dengan cara manual, di mana dalam cara ini perekayasa mendapatkan pengetahuan dari sumber, dan lalu mengkodekannya ke dalam basis pengetahuan. Cara ini merupakan cara yang mahal dan tidak efisien, serta juga kadangkala tidak akurat.
Cara yang kedua adalah cara semi-otomatik. Di sini terdapat peran komputer untuk mendukung pakar, di mana pakar diizinkan untuk membangun basis pengetahuan tanpa (atau dengan sedikit) bantuan dari perekayasa. Komputer di sini juga berperan untuk membantu perekayasa dalam kerjanya membangun basis pengetahuan.
Sementara yang ketiga adalah cara otomatik. Di sini peran pakar, perekayasa, maupun pembangun basis pengetahuan atau sistem (system builder) digabung. Contohnya adalah metode induksi.
Gambar 5.Metode Akusisi Pengetahuan dengan (a) manual, (b) akuisisi terkendali-pakar, dan (c) induksi.
Gambar 5.Metode Akusisi Pengetahuan dengan (a) manual, (b) akuisisi terkendali-pakar, dan (c) induksi.
Kesulitan dalam proses akuisisi pengetahuan adalah kesulitan pakar untuk mengkomunikasikan pengetahuan-pengetahuan dasarnya. Ini berkaitan dengan sifat pengetahuan itu sendiri (yang seperti telah dijelaskan di atas, adalah eksplisit sekaligus terbatinkan). Seperti yang dikatakan oleh Waterman (1981): “… suatu pengetahuan dasar diasumsikan dan dikombinasikan begitu cepatnya sehingga sulitlah baginya (pakar) untuk mengambarkan prosesnya”[6]. Beberapa teknik canggih telah dikembangkan untuk memfasilitasikan proses untuk mendapatkan dasar pengetahuan, seperti AQUINAS, Boose dan Bradsaw 1987; dan NEXTRA dari Neuron Data, Rappaport dan Gaines 1988.

4.       Representasi Pengetahuan
Representasi pengetahuan merupakan kelanjutan dari proses akuisisi pengetahuan. Setelah pengetahuan berhasil disarikan dari pakar, maka selanjutnya yang dilakukan adalah merepresentasikan bentuk-bentuk pengetahuan tersebut menjadi bentuk yang dikenali oleh sistem (komputer).
 Beberapa cara yang dapat digunakan untuk merepresentasikan bentuk ini antara lain jaringan semantik (semantic net), bingkai (frame), aturan produksi (production rule), logika (logic), bahasa natural (natural language), dan sistem basis data (database system).
Representasi pengetahuan dimaksudkan untuk menangkap sifat-sifat penting suatu pengetahuan agar dapat diakses dan digunakan dalam metode pemecahan masalah. Bahasa representasi haruslah mampu membuat seorang pemrogram mengekspresikan pengetahuan yang diperlukan untuk mendapatkan solusi permasalahan.
Representasi pengetahuan yang baik haruslah memiliki sifat-sifat berikut:
  • Mengemukakan hal secara eksplisit
  • Membuat masalah menjadi transparan
  • Komplit dan efisien
  • Menampilkan batasan-batasan alami yang ada
  • Menekan dan menghilangkan detil-detil yang diperlukan
  • Dapat dilakukan komputasi terhadapnya (memiliki batasan).
Representasi pengetahuan dikelompokkan ke dalam empat jenis, yaitu:
  • Representasi Logika
Representasi jenis ini menggunakan ekspresi-ekspresi logika formal dalam melakukan representasi.
  • Representasi Prosedural
Sementara jenis kedua ini menggambarkan pengetahuan sebagai kumpulan instruksi untuk memecahkan suatu problema.
  • Representasi Jaringan (Network)
Representasi ini menangkap pengetahuan sebagai suatu graf di mana simpul-simpulnya merupakan obyek atau konsep dari problema yang dihadapi, sementara garisnya (edge)  menggambarkan hubungan di antara mereka.
  • Representasi Terstruktur
Dalam representasi ini, jaringan diperluas dengan cara membuat tiap simpulnya menjadi sebuah struktur data kompleks.
Prinsip representasi pengetahuan adalah jika suatu permasalahan dideskripsikan dengan menggunakan representasi yang tepat, maka dapat dipastikan bahwa masalah tersebut dapat diselesaikan.

5.       Ontologi
Kunci dari suatu basis pengetahuan adalah ontologi, yaitu sistem konsep-konsep yang terorganisir yang menjadikan sesuatu yang ada dalam domain menjadi eksplisit[7]. Ontologi merupakan spesifikasi dari suatu konseptualisasi, atau suatu teori logis yang memberikan suatu akun eksplisit yang parsial dari suatu konseptualisasi[8]; atau bahkan sinonim dari konseptualisasi itu sendiri.
Ontologi digunakan untuk menjelaskan mengenai properti dari suatu domain, dan juga untuk mendefinisikan domain tersebut.
Komponen-komponen dari ontologi antara lain:
  • Konsep (concept) digunakan dalam pemahaman yang luas. Sebuah konsep dapat sesuatu yang dikatakan, sehingga dapat pula merupakan penjelasan dari tugas, fungsi, aksi, strategi, dan sebagainya.
  • Relasi (relation) merupakan representasi sebuah tipe dari interaksi antara konsep dari sebuah domain. Secara formal dapat didefinisikan sebagai subset dari sebuah pruduk dari n set,
Sebagai contoh dari relasi biner termasuk subclass-of dan connected-to.
  • Fungsi (function) adalah sebuah relasi khusus di mana elemen ke-n dari relasi adalah unik untuk elemen ke-(n-1).
Contohnya adalah Mother-of.
  • Aksioma (axiom) digunakan untuk memodelkan sebuah kalimat yang selalu benar.
  • Instans (instance) digunakan untuk merepresentasikan elemen.
Menurut Tom Gruber dari Stanford University, makna ontologi dalam konteksnya di ilmu komputer adalah “suatu deskripsi konsep dan relasi yang ada dalam suatu agen maupun komunitas agen”[9].
Sebuah ontologi memberikan pengertian untuk penjelasan secara eksplisit dari konsep terhadap representasi pengetahuan pada sebuah basis pengetahuan (Bernaras, proyek KACTUS). Sementara menurut proyek SENSUS, Sebuah ontologi adalah sebuah struktur hirarki dari istilah untuk menjelaskan sebuah domain yang dapat digunakan sebagai landasan untuk sebuah basis pengetahuan.

6.       Sistem Perbaikan Pengetahuan
Sistem Perbaikan Pengetahuan (Knowledge Refining System) merupakan suatu sistem untuk memperbaiki kinerja sistem pakar. Dengan sistem ini, pakar dapat melakukan analisis kinerja, lalu melakukan pembelajaran, dan kemudian meningkatkannya pada konsultasi berikutnya.
Pada pembelajaran mesin, tujuan dari perbaikan basis pengetahuan (knowledge base refinement) adalah meningkatkan performa sistem dengan pembelajaran empiris, di mana performa sistem diukur dari jumlah kesalahan yang terdeteksi ketika sistem dieksekusi untuk kasus-kasus yang ada dalam pustaka sistem.

C.      Penutup
Basis pengetahuan merupakan jantung dari suatu sistem pakar. Tanpa adanya basis pengetahuan, sistem tidak dapat memberikan rekomendasi yang benar, karena ia tidak memiliki dasar untuk mengambil tindakan.
Basis pengetahuan tergantung dari beberapa konsep dan proses, antara lain pengertian dari pengetahuan serta ontologi dalam basis pengetahuan itu sendiri. Proses akuisisi serta representasi pengetahuan juga berperan memberikan suatu bentuk terhadap basis pengetahuan itu sendiri, yang pada akhirnya semua ini akan menentukan bagaiman kesimpulan yang akan diambil oleh sistem.
Basis pengetahuan yang baik juga dapat melakukan perbaikan dalam dirinya untuk meningkatkan kinerjanya.