2.2.1 Artificial Intellegence dan Sistem Pakar
“Artificial Intellegence (AI) atau sering disebut kecerdasan buatan merupakan sebuah studi khusus yang bertujuan membuat komputer berfikir dan bertindak layaknya manusia” (Sri, 2003). AI juga merupakan terobosan baru dalam ilmu komputer yang perkembangannya sangat pesat. Saat ini banyak sekali implementasi AI dalam bidang ilmu komputer seperti sistem pendukung keputusan, jaringan syaraf tiruan, robotic, bahasa alami, sistem pakar dan lain-lain.
“Sistem pakar (Expert System) adalah merupakan suatu sistem yang menggabungkan antara pengetahuan dengan penelusuran data untuk memecahkan masalah yang secara normal memerlukan keahlian manusia” (Sri, 2003). Tujuan dari pengembangam sistem pakar yang sebenarnya bukan untuk menggantikan peran manusia, tetapi adalah untuk men-subtitusi-kan pengetahuan manusia ke dalam sebuah bentuk sistem komputer sehingga dapat digunakan oleh orang banyak.
9
2.2.2 Pengertian Sistem Pakar
Sistem pakar (expert system) secara umum adalah sistem yang berusaha mengadopsi pengetahuan manusia ke dalam komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dapat dilakukan oleh para ahli. Atau dengan kata lain sistem pakar adalah sistem yang didesain dan diimplementasikan dengan bantuan bahasa pemrograman tertentu untuk dapat menyelesaikan masalah seperti yang dilakukan oleh para ahli. Dengan sistem ini diharapkan orang awam dapat menyelesaikan masalah tertentu baik „sedikit‟ rumit atau rumit sekalipun tanpa bantuan para ahli dalam bidang tersebut. Sedangkan bagi para ahli, sistem ini dapat digunakan sebagai asisten yang berpengalaman (Kusumadewi, 2003).
Perbandingan sistem konvensional dengan sistem pakar sebagai berikut (Kusumadewi, 2003) :
1. Sistem Konvensional
a. Informasi dan pemrosesan umumnya digabung dalam satu program Sequential.
b. Program tidak pernah salah (kecuali pemrogramnya yang salah). c. Tidak menjelaskan mengapa input dibutuhkan atau bagaimana hasil
diperoleh.
d. Data harus lengkap.
e. Perubahan pada program merepotkan. 2. Sistem Pakar
a. Knowledge base terpisah dari mekanisme pemrosesan. b. Program bisa melakukan kesalahan.
10
c. Penjelasan merupakan bagian dari sistem pakar. d. Data tidak harus lengkap.
e. Perubahan pada rules dapat dilakukan dengan mudah. 2.2.3 Keunggulan Sistem Pakar
Manfaat yang diperoleh dengan mengembangkan sistem pakar, antara lain (Kusumadewi, 2003):
1. Masyarakat awam non-pakar dapat memanfaatkan keahlian di dalam bidang tertentu tanpa kesadaran langsung seorang pakar.
2. Meningkatkan produktivitas kerja, yaitu bertambahnya efisiensi pekerjaan tertentu serta hasil solusi kerja.
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 dikomninasikan tanpa ada batas waktu.
6. Memungkinkan penggabungan berbagai bidang pengetahuan dari berbagai pakar untuk dikombinasikan
2.2.4 Kekurangan Sistem Pakar
Selain banyak manfaat yang diperoleh, ada juga kelemahan perancangan sistem pakar, yaitu (Kusumadewi, 2003):
1. Daya kerja dan produktivitas manusia menjadi berkurang karena semuanya dilakukan secara otomatis oleh sistem.
11
2. Pengembangan perangkat lunak sistem pakar lebih sulit dibandingkan dengan perangkat lunak konvensional.
2.2.5 Ciri Dan Karakteristik Sistem Pakar
Suatu sistem dikatakan sistem pakar apabila memiliki ciri-ciri sebagai berikut (Kusumadewi, 2003):
1. Terbatas pada domain keahlian tertentu.
2. Dapat memberikan penalaran untuk data-data yang tidak pasti.
3. Dapat mengemukaan rangkaian alasan-alasan yang diberikannya dengan cara yang dapat dipahami.
4. Berdasarkan pada kaidah atau rule tertentu. 5. Dirancang untuk dikembangkan secara bertahap. 6. Keluarannya atau output bersifat anjuran.
2.2.6 Langkah- Langkah Membangun Sistem pakar
Sitem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan dan lingkungan konsultasi (Turban, 1995). Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar.
Komponen-komponen yang terdapat dalam sistem pakar adalah user interface, basis pengetahuan, akuisisi pengetahuan, mesin inference, workplace, fasilitas penjelasan, perbaikan pengetahuan.
12
2.2.7 Komponen Sistem Pakar
Komponen-komponen sistem pakar menurut Sri Hartati dan Sari Iswanti (2008) adalah sebagai berikut :
1. Antar muka pengguna (User Interface)
Sistem pakar menggantikan seorang pakar dalam suatu kondisi tertentu maka sistem harus menyediakan pendukung yang diperlukan oleh pemakai yang tidak memahami masalah teknis. Sistem pakar juga menyediakan komunikasi antar sistem dan pemakainya yang disebut sebagai antar muka. Antar muka yang efektif dan ramah pengguna sangat diperlukan terutama pada pemakai yang tidak ahli dalam bidang yang diterapkan pada sistem pakar tersebut. 2. Basis Pengetahuan
Basis pengetahuan merupakan kumpulan pengetahuan bidang tertentu pada tingkat pakar dalam format tertentu. Pengetahuan ini diperoleh dari akumulasi pengetahuan pakar dan sumber-sumber pengetahuan lainnya. Basis pengetahuan bersifat dinamis, bisa berkembang dari waktu ke waktu.
3. Memori Kerja
Merupakan dari sistem pakar yang menyimpan fakta-fakta yang diperoleh saat proses konsultasi. Fakta fakta inilah yang nantinya akan diolah oleh mesin inferensi berdasarkan pengetahuan yang disimpan dalam basis pengetahuan untuk menentukan keputusan dalam pemecahan masalah.
4. Fasilitas Penjelasan
Proses menentukan keputusan yang dilakukan oleh mesin inferensi selama proses konsultasi mencerminkan proses penalaran seorang pakar. Karena
13
pemakai terkadang bukanlah ahli dalam bidang tersebut, maka dibuatlah fasilitas penjelasan.
5. Fasilitas Akusisi Pengetahuan
Pengetahuan pada sistem pakar dapat ditambahkan kapan saja pengetahuan baru diperoleh atau saat pengetahuan yang sudah ada tidak berlaku lagi. Hal ini akan dilakukan sehingga pemakai akan menggunakan sistem pakar yang komplit dan sesuai dengan perkembangan.
6. Mesin Inferensi
Mesin inferensi merupakan otak dari sistem pakar. Berupa perangkat lunak yang melakukan tugas inferensi penalaran sistem pakar, biasa dikatakan sebagai mesin pemikir. Pada prinsipnya mesin inferensi inilah yang akan mencari solusi dari suatu permasalahan. Mesin inferensi memulai pelacakan dengan mencocokan kaidah dalam basis pengetahuan dengan fakta yang ada dalam basis pengetahuan.
2.2.8 Teknik Representasi Pengetahuan
Representasi pengetahuan adalah suatu teknik untuk mempresentasikan basis pengetahuan yang diperoleh kedalam suatu skema/diagram tertentu sehingga dapat diketahui relasi antar suatu data dengan data yang lain (Yudatama, 2008). Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu (Yudatama, 2008) :
14
1. Rule-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.
2. Frame-Based Knowledge
Pengetahuan direpresentasikan dalam bentuk suatu bentuk hirarki atau jaringan frame.
3. Object-Based Knowledge
Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metode (proses).
4. Case Based Reasoning
Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases). 2.2.9 Akusisi Pengetahuan
Proses membangun atau mengembangkan sistem pakar disebut akusisi pengetahuan. Perekayasa pengetahuan menyerap prosedur-prosedur dan pengalaman untuk menyelesaikan suatu masalah tertentu dari pakar tersebut dan membangunnya menjadi program sistem pakar (Kridasantausa, 2006). Basis pengetahuan mengandung pengetahuan-pengetahuan keahlian sebagai dasar pengambilan keputusan. Terdapat beberapa metode untuk menyajikan pengetahuan dalam perangkat lunak sistem pakar, diantaranya (Kridasantausa, 2006) :
1. Metode kerangka (frames).
2. Jaringan semantik (semantic network). 3. Kaidah produk (produktion rules).
15
Penyajian basis pengetahuan yang banyak digunakan adalah kaidah produksi. Masing-masing kaidah mengandung sebuah atau lebih kondisi yang jika dipenuhi akan memberikan satu atau lebih aksi. Kaidah produksi disajikan dalam pernyataan IF … AND … OR … THAN … ELSE …
Ada 2 pendekatan dalam menentukan basis pengetahuan, yaitu : 1. Penalaran berbasis aturan (rule based reasoning)
Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan menggunakan aturan bentuk IF-THEN. Bentuk ini digunakan apabila kita mempunyai sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan si pakar dapat menyelesaikan permasalahan tersebut secara berurutan. Disamping itu, bentuk ini juga digunakan apabila dibutuhkan penjelasan pada jejak (langkah-langkah) pencapaian solusi. Contoh : aturan identifikasi hewan.
Rule 1 : IF hewan berambut dan menyusui THEN hewan mamalia.
Rule 2 : IF hewan mempunyai sayap dan bertelur THEN hewan jenis burung. Rule 3 : IF hewan mamalia dan pemakan daging THEN hewan karnivora Dst…
Pada aturan ini bersifat statis, yaitu aturan sistem yang tidak diubah-ubah ataupun jika dapat diubah membutuhkan waktu yang lama, dan hanya berlaku pada satu sistem.
2. Penalaran berbasis kasus (case based reasoning)
Penalaran berbasis kasus, basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk
16
keadaan (fakta) yang ada sekarang (Kridasantausa, 2006). Bentuk ini digunakan apabila user menginginkan untuk tau lebih banyak lagi pada kasus-kasus yang hampir sama. Selain itu bentuk ini digunakan apabila kita telah memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan. 2.2.10 Case Based Reasoning
Metode Case-Based Reasoning adalah penyeselesaian masalah dengan memanfaatkan pengalaman sebelumnya. Case-Based Reasoning merupakan salah satu metode pemecahaan masalah yang dalam mencari solusi dari suatu kasus yang baru, sistem akan melakukan pencarian terhadap solusi dari kasus lama yang memiliki permasalahan yang sama (Kosasi, 2015).
Tahapan-tahapan Case Based Reasoning adalah sebagai berikut (Kosasi, 2015) : 1. Retrieve
Mendapatkan atau memperoleh kembali kasus yang paling menyerupai atau relevan (similar) dengan kasus yang baru. Tahap retrieval ini dimulai dengan menggambarkan atau menguraikan sebagian masalah, dan diakhiri jika ditemukannya kecocokan terhadap masalah sebelumnya yang tingkat kecocokannya paling tinggi. Bagian ini mengacu pada segi identifikasi, kecocokan awal, pencarian dan pemilihan serta eksekusi.
2. Reuse
Memodelkan atau menggunakan kembali pengetahuan dan informasi kasus lama berdasarkan bobot kemiripan yang paling relevan ke dalam kasus yang baru, sehingga menghasilkan usulan solusi dimana mungkin diperlukan suatu adaptasi dengan masalah yang baru tersebut.
17
3. Revise
Meninjau kembali solusi yang diusulkan kemudian diuji coba pada kasus nyata (simulasi). Jika diperlukan maka solusi tersebut akan diperbaiki agar cocok dengan kasus yang baru.
4. Retain
Mengintegrasikan atau menyimpan kasus baru yang telah berhasil mendapatkan solusi agar dapat digunakan oleh kasus-kasus selanjutnya yang mirip dengan kasus tersebut. Tetapi jika solusi baru tersebut gagal, maka menjelaskan kegagalannya, memperbaiki solusi yang digunakan, dan mengujinya lagi.
2.2.11 Nearest Neighbor
Algoritma Nearest Neighbor adalah pendekatan untuk mencari kasus dengan menghitung kedekatan antara kasus baru dengan kasus lama, yaitu berdasarkan pada pencocokan bobot dari sejumlah fitur yang ada. Merupakan teknik sederhana untuk mencari jarak terdekat dari tiap-tiap kasus (cases) yang ada di dalam database, dan seberapa mirip ukuran kemiripan (similarity) setiap source case yang ada di dalam database dengan target case (Kusrini, 2009). Fungsi similarity pada kasus diformulasikan sebagai berikut (Kusrini, 2009) :
………(1)
Keterangan :
18
S : kasus yang ada dalam penyimpanan (source) n : jumlah atribut
i : jumlah atribut dalam masing-masing kasus
f : fungsi similarity atribut i antara kasus T dan kasus S Wi : bobot yang diberikan pada atribut ke i
Kedekatan biasanya berada pada nilai antara 0 s/d 1. Nilai 0 artinya kedua kasus mutlak tidak mirip, sebaliknya untuk nilai 1 kasus mirip dengan mutlak.