Anda di halaman 1dari 16

BAB II

LANDASAN TEORI

2.1 Teori Sistem Pakar

Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan

manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan

masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat

menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang

sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar

ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman

dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang

dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah

penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan

oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut

disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan

keputusan untuk penyelesaian masalah tertentu.

2.1.1 Ciri-Ciri Sistem Pakar

Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut :

• Memiliki informasi yang handal.

• Mudah dimodifikasi.

6
7

• Dapat digunakan dalam berbagai jenis komputer.

• Memiliki kemampuan untuk belajar beradaptasi.

 Keuntungan Sistem Pakar

Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem
pakar, antara lain :

1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.

2. Bisa melakukan proses secara berulang secara otomatis.

3. Menyimpan pengetahuan dan keahlian para pakar.

4. Meningkatkan output dan produktivitas.

5. Meningkatkan kualitas.

6. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk
keahlian langka).

7. Mampu beroperasi dalam lingkungan yang berbahaya.

8. Memiliki kemampuan untuk mengakses pengetahuan.

9. Memiliki reabilitas.

10. Meningkatkan kapabilitas sistem komputer.

11. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan
mengandung ketidakpastian.

12. Sebagai media pelengkap dalam pelatihan.

13. Meningkatkan kapabilitas dalam penyelesaian masalah.


8

14. Menghemat waktu dalam pengambilan keputusan.

 Kelemahan Sistem Pakar

Di samping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa


kelemahan, antara lain :

1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.

2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di
bidangnya.

3. Sistem Pakar tidak 100% bernilai benar.

 Alasan Pengembangan Sistem Pakar

Sistem pakar sendiri dikembangkan lebih lanjut dengan alasan :

• Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.

• Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.

• Seorang pakar akan pensiun atau pergi.

• Seorang pakar adalah mahal.

• Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.

2.2. Modul Penyusun Sistem Pakar

Menurut Staugaard (1987) suatu sistem pakar disusun oleh tiga modul utama yaitu :

1. Modul Penerimaan Pengetahuan (Knowledge Acquisition Mode) Sistem berada pada

modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan
9

pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan

dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai

penghubung antara suatu sistem pakar dengan pakarnya.

2. Modul Konsultasi (Consultation Mode)

Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan yang

diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user

berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh

sistem.

3. Modul Penjelasan (Explanation Mode)

Modul ini menjelaskan proses pengambilan keputusan oleh system (bagaimana suatu

keputusan dapat diperoleh).

 Struktur Sistem Pakar

Komponen utama pada struktur sistem pakar menurut Hu et al (1987) meliputi:

1. 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.


10

2. 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 pengetahuan

dalam rangka mencapai 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 suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan

sebaliknya.Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan prose

penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu forward

chaining, backward chaining, dan gabungan dari kedua teknik pengendalian tersebut.

3. Basis Data (Data Base)

Basis data terdiri atas semua fakta yang diperlukan, dimana fakta fakta tersebut

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.


11

4. Antarmuka Pemakai (User Interface)

Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai.dengan

komputer.

2.3 Teknik Representasi Pengetahuan

Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis


pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat
diketahui relasi/keterhubungan antara suatu data dengan data yang lain. 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

a. Rule-Based Knowledge

Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules).
Bentuk representasi ini terdiri atas premise dan kesimpulan.

b. Frame-Based Knowledge

Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.

c. Object-Based Knowledge

Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah


elemen data yang terdiri dari data dan metoda (proses).

d. Case-Base Reasoning

Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases).


12

2.4 Konsep Similiarity

Similiarity (kemiripan) adalah ukuran kedekatan antara satu objek

dengan objek lainnya. Sedangkan distance (jarak) adalah ukuran tentang jarak

pisah antar objek. Konsep ini penting karena pengelompokan pada analisis

cluster di dasarkan pada nilai kedekatan. Pengukuran jarak (distance type

measure) digunakan untuk data-data yang bersifat matriks sedangkan

pengukuran kesesuaian (matching type measure) digunakan untuk data-data

yang bersifat kualitatif. Terdapat beberapa tekhnik dalam pengukuran jarak

antara lain :

1. Euclidean Distance

d ( x, y ) = ( x1 − y1 ) 2 +( x2 − y 2 ) 2 +... +( x p − y p ) 2

Atau :
1/ 2
 p 
d ( x, y ) = ∑| xi − yi |2 
 i =1 

2. Squared Euclidean Distance

D(X,Y) = ∑(Xi-Yi)2

Tabel 2.1 Perbedaan antara similiarity dan dissimiliarity


13

Similiarity di antara dua objek adalah pengukuran numeric dari tingkat pada dua

buah objek yang memiliki kemiripan, terdapat dua hal yang mendasar yaitu :

1. ukuran dalam numerik [0,1] yang merepresentasikan kemiripan antara 2 obyek

2. 0 (tidak mirip) < range-kemiripan < 1(sama/mirip sekali)

Maksud dari pernyataan di atas adalah jika nilai kedekatan nol (0) maka suatu

benda dikatakan tidak mirip, dan jika nilai kedekatan satu (1) maka objek di katakana

mirip mutlak. Dissimiliarity (ketidakmiripan) di antara dua objek adalah pengukuran

numerik dari tingkat untuk menyatakan bahwa dua buah objek berbeda, sehingga

dissimiliarity dapat dikatakan pula sebagai jarak (distance).

Maka dari table di atas untuk penulisan ini menggunakan metode yang ketiga

yaitu Interval / ratio dimana akan dihitung nilai kemiripan suatu produk computer yang

menggunakan jarak untuk mencari nilai kemiripan antara produk yang dicari user dengan

pilihan yang terdapat di database. Sebagai contoh adalah produk harddisk, harddisk

penulis membagi spesifikasinya menjadi merek, kapasitas, cache dan jenis. Untuk

menyesuaikan dengan table di atas terdapat dua variable yaitu P dan Q sehingga untuk

menghitung nilai kemiripannya jika spesifikasi merek pilihan user tepat sama dengan

yang terdapat di database maka nilai variable P = Q maka nilai kemiripannya adalah 1.

Sebaliknya jika terdapat ketidaksesuaian antara pilihan user dengan database yamng

artinya nilai variable P ≠ Q maka khusus untuk spesifikasi merek untuk semua produk

akan diberikan nilai 0,5. Dan untuk spesifikasi lainnya nilai kemiripan diperoleh

berdasarkan banyak nya anggota spesifikasi tersebut.

Dalam melakukan pattern matching ataupun untuk melakukan berbagai jenis

pengklasifikasian, similarity measure merupakan bagian penting yang harus diperhatikan.


14

Ada beberapa jenis similarity measure yang bisa digunakan termasuk di antaranya:

Distance-Based Similarity Measure

Distance-Based Similarity Measure mengukur tingkat kesamaan dua buah objek

dari segi jarak geometris dari variabel-variabel yang tercakup di dalam kedua objek

tersebut. Yang termasuk sebagai distance-based similarity measure antara lain:

1. Manhattan Distance (L1 Norm) : mengukur jarak dua buah objek dengan rumus

sebagai berikut:

d_L1 (x1, x2) = SUM (i=0 to n) |x1i – x2i|

2. Euclidean Distance (L2 Norm) : menguruk jarak dua buah objek dengan rumus

sebagai berikut:

d_L2 (x1, x2) = SQRT ( SUM (i=0 to n) (x1i – x2i)^2 )

3. Minkowski Distance (Lp Norm) : menguruk jarak dua buah objek dengan rumus

sebagai berikut:

d_Lp (x1, x2) = ROOT_p ( SUM (i=0 to n) (x1i – x2i)^p )

4. Chebyshev Distance (Chessboard Distance, L_Infinity Norm) : menguruk jarak

dua buah objek dengan rumus sebagai berikut:

d_Chebyshev (x1, x2) = max_i {x1i – x2i}


15

5. Mahalanobis Distance : mengukur jarak dua buah objek seperti L2 Norm dengan

memikirkan korelasi antar objek dalam bentuk vector variabel dari objek dan

matrik covariance dari kedua objek tersebut dengan rumus sebagai berikut:

d_Mahalanobis (x1, x2) = SQRT ((x1 – x2)^T COV^(-1) (x1 – x2))

Apabila matrik covariance adalah matrik identity maka Mahalanobis distance

adalah Euclidean distance, dan apabila matrik covariance adalah matrik diagonal

maka Mahalanobis distance adalah Normalised Euclidean distance dimana

korelasi antara objek dianggap tidak ada. Dalam hal ini Mahalanobis distance

dihitung dengan rumus sebagai berikut:

d_Mahalanobis (x1, x2) = SQRT ( SUM (i=0 to n) (x1i – x2i)^2/SIGMA_i^2)

6. Hamming Distance : mengukur jarak antara dua string yang ukurannya sama

dengan membandingkan simbol-simbol yang terdapat pada kedua string pada

posisi yang sama. Hamming distance dari dua string adalah jumlah simbol dari

kedua string yang berbeda. Sebagai contoh Hamming distance antara string

‘toned’ dan ‘roses’ adalah 3. Hamming Distance juga digunakan untuk mengukur

jarak antar dua string binary misalnya jarak antara 10011101 dengan 10001001

adalah 2.

7. Levenshtein Distance : mengukur jarak antara dua string yang ukurannya tidak

sama dengan menghitung jumlah pengoperasian yang perlu dilakukan untuk

mengubah string yang satu menjadi string yang kedua yang diperbandingkan.

Pengoperasian yang dilakukan termasuk operasi insert, delete dan substitusi.


16

Sebagai contoh Levenshtein distance antara string ‘kitten’ dan ‘sitting’ adalah 3

dengan pengoperasian substitusi k dengan s, substitusi e dengan i, dan insert g.

8. Hausdorff Distance : mengukur jarak berbasis nilai infimum/greatest lower

bound dan supremum/greatest upper bound dari kedua objek, dimana semua

variabel dari kedua objek tersebut mempunyai nilai compact/closed. Hausdorff

distance dihitung dengan rumus sebagai berikut:

d_Hausdorff (x1, x2) = max {sup (x1i in x1) inf (x2i in x2) d_L2 (x1i, x2i), sup

(x2i in x2) inf (x1i in x1) d_L2 (x1i, x2i)}

Probabilistic-Based Similarity Measure

Probabilistic-Based Similarity Measure menghitung tingkat kemiripan dua objek

dengan merepresentasikan dua set objek yang diperbandingkan tersebut dalam bentuk

probability. Beberapa metode probabilistic-based similarity measure termasuk:

1. Kullback Leibler Distance : mengukur tingkat kemiripan variabel objek yang

direpresentasikan dalam bentuk probabilita dua distribusi statistik. Sering disebut

juga information distance, information gain, atau relative entropy. Jarak antara dua

objek yang bernilai diskrit dalam Kullback Leibler distance dihitung dengan rumus

sebagai berikut:

D_KL (P,Q) = SUM (i) P(i) log (P(i)/Q(i))

Sedang untuk objek yang bernilai continuous dihitung dengan rumus sebagai

berikut:
17

D_KL (P,Q) = INTEGRAL (i) P(i) log (P(i)/Q(i))

2. Posterior Probability : mengukur tingkat kemiripan dengan mempertimbangkan

nilai posterior probability terhadap nilai perbedaan variabel dari kedua objek yang

diperbandingkan. Untuk menentukan posterior probability dari perbedaan variabel

tersebut diperlukan data nilai-nilai perbedaan yang independent sebagai bahan

training untuk pembentukan fungsi likelihood dari perbedaan-perbedaan tersebut.

Set-Based Similarity Measure

Jaccard Index adalah indeks yang menunjukkan tingkat kesamaan antara suatu

himpunan (set) data dengan himpunan (set) data yang lain. Jaccard Index dihitung

menggunakan rumus sebagai berikut:

J(A,B) = (A INTERSECT B)/(A UNION B)

Sebagai kebalikannya, tingkat ketidak samaan antara dua himpunan dihitung dengan:

J_delta(A,B) = ((A UNION B) – (A INTERSECT B))/(A UNION B)

Feature-Based Similarity Measure

Feature-based similarity measure melakukan penghitungan tingkat kemiripan

dengan merepresentasikan objek ke dalam bentuk feature-feature yang ingin

diperbandingkan. Feature-based similarity measure banyak digunakan dalam melakukan

pengklasifikasian atau pattern maching untuk gambar dan text.


18

Context-Based Similarity Measure

Context-based similarity measure melakukan penghitungan tingkat kemiripan

objek-objek yang mempunyai struktur yang tidak biasa seperti objek yang harus

direpresentasikan dengan tree structure atau struktur yang lainnya.

Similarity Machine

Similarity Machine adalah sebuah program untuk menghitung nilai cosine

similarity dan correlated similarity dari tiga user profil dengan masing-masing 10 item.

Program ini dibangun dengan bahasa perograman PHP sehingga harus dijalankan

menggunakan web server dan web browser. Implementasi program dilakukan pada

sistem operasi Windows XP menggunakan web server Apache dalam paket XAMPP,

web browser Firefox versi 3.5.2, dan editor text Notepad++ versi 5.4.5.

Berikut ini source code program dan contoh output dari similarity machine kami.

Algoritma

1. Masukkan n item (i) pada 3 user (Ua, Ub, Uc).

Pseudocode

Ua ← i1, i2, i3, …, in

Ub ← i1, i2, i3, …, in

Uc ← i1, i2, i3, …, in


19

2. Cek co-rated item antara 2 user profile. Ambil item yang tidak nol pada kedua user (Ua

dan Ub).

Pseudocode

j←0

For i=1 to n do

If ( Ua[i] and Ub[i] ) <> 0 then

j ← j+1

Ua2[j] ← Ua[i]

Ub2[j] ← Ub[i]

End If

End For

Return Ua2 , Ub2

3. Cosine Similarity

Function cosinesimilarity (m,n) (* m utk Ua , n utk Ub *)

pembilang ← 0;

penyebut1 ← 0;

penyebut2 ← 0;

For i=1 to j do

If ( m[i] and m[i] ) <> 0 then

pembilang ← pembilang + (m[i]*n[i])

penyebut1 ← penyebut1 + (m[i]*m[i])

penyebut2 ← penyebut2 + (n[i]*n[i])


20

End If

End For

cs ← pembilang / (sqrt(penyebut1) * sqrt(penyebut2))

Return cs

4. Correlated Similarity

Function correlatedsimilarity (m,n)

For i=1 to j do

y=

2.5 Metode Sistem Pakar dan Kemiripan

Dalam metode pencarian sistem pakar terdapat beberapa metode sebagai berikut :

1. METODE DEMPSTER-SHAFER

Dalam metode ini pendekatan yang dilakukan adalah dengan mengukur kekutan

evidence dalam mendukung suatu himpunan proposisi. Jika bernilai nol maka

mengindikasikan bahwa tidak ada evidence dan jika bernilai satu maka menunjukan

adanya suatu kepastian. Keuntungan dari metode ini adalah dapat mengatasi

ketidakkonsistenan akibat adanya penambahan data baru.

2. METODE FORWARD CHAINING

Forward chaining adalah suatu metode penyelesaian masalah yang digunakan untuk

mendapatkan solusi dari suatu problem berdasarkan kondisi yang ada, atau suatu proses

yang memula pencarian dari premis atau data menuju pada konklusi (data driven). Cara

kerjanya adalah inference engine menyalakan atau memilih rule dimana bagian premis-

nya cocok dengan informasi yang ada pada bagian working memory.
21

3. METODE BACKWARD CHAINING

Backward chaining adalah suatu metode untuk menemukan suatu fakta dengan cara

menelusuri subgoals yang ada secara rekursif. Cara kerjanya inference engine memulai

dari goal yang telah ditentukan kemudian berjalan mundur untuk membuktikan

kebenaran goal tersebut berdasarkan rule-rule apa saja yang dapat membentuk goal

tersebut. Backward chaining merupakan proses pencarian solusi dari kesimpulan

kemudian menelusuri fakta-fakta yang ada hingga menemukan solusi yang sesuai dengan

fakta-fakta yang diberikan oleh user (goal-driven).

4. METODE FUZZY

Logika Fuzzy adalah peningkatan dari logika Boolean yang berhadapan dengan konsep

kebenaran sebagian. Di mana logika klasik menyatakan bahwa segala hal dapat

diekspresikan dalam istilah binary (0

atau 1, hitam atau putih, ya atau tidak), logika fuzzy menggantikan kebenaran boolean

dengan tingkat kebenaran.

Fuzzy memiliki kelebihan-kelebihan, diantaranya :

1. Dapat mengekspresikan konsep yang sulit untuk dirumuskan, seperti misalnya

“suhu ruangan yang nyaman”

2. Pemakaian membership-function memungkinkan fuzzy untuk melakukan

observasi obyektif terhadap nilai-nilai yang subyektif. Selanjutnya membership-

function ini dapat dikombinasikan untuk membuat pengungkapan konsep yang

lebih jelas.

3. Penerapan logika dalam pengambilan keputusan.