BAB 2
LANDASAN TEORI
2.1 Kecerdasan Buatan
Kecerdasan buatan atau Artificial intelegence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia (Kusumadewi 2003, p1).
Pengertian kecerdasan buatan dapat dipandang dari berbagai sudut pandang, antara lain (Kusumadewi 2003, pp1-3) :
1. Sudut pandang kecerdasan.
Kecerdasan buatan akan membuat mesin menjadi “cerdas” (mampu berbuat seperti apa yang dilakukan oleh manusia).
2. Sudut pandang penelitian.
Kecerdasan buatan adalah suatu studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dikerjakan oleh manusia.
Domain yang sering dibahas oleh para peneliti meliputi : a. Mundane task
• Persepsi (vision & speech).
• Bahasa alami (understanding, generation, & translation).
• Pemikiran yang bersifat commonsense.
• Robot control.
b. Formal task
• Permainan/games.
• Matematika (geometri, logika, kalkulus integral, dan pembuktian).
c. Expert task
• Analisis finansial.
• Analisis medikal.
• Analisis ilmu pengetahuan.
• Rekayasa (desain, pencarian kegagalan, dan perencanaan manufaktur).
3. Sudut pandang bisnis.
Kecerdasan buatan adalah kumpulan peralatan yang sangat powerful dan metodologis dalam menyelesaikan masalah-masalah bisnis.
4. Sudut pandang pemrograman.
Kecerdasan buatan meliputi studi tentang pemrograman simbolik, penyelesaian masalah (problem solving) dan pencarian (searching).
Untuk melakukan aplikasi kecerdasan buatan ada 2 bagian utama yang sangat dibutuhkan (Gambar 2.1) yaitu :
a. Basis Pengetahuan (Knowledge Base), berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan lainnya.
b. Motor Inferensi (Inference Engine), yaitu kemampuan menarik kesimpulan berdasarkan pengalaman.
Gambar 2.1 Penerapan Konsep Kecerdasan Buatan di Komputer (Kusumadewi 2003,p 3) Komputer
Input : Output :
masalah, jawaban,
pertanyaan, solusi,
dll dll
Basis
Pengetahuan Motor
Inferensi
2.1.1 Kecerdasan Buatan Dan Kecerdasan Alami
Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki oleh manusia), kecerdasan buatan memiliki beberapa keuntungan secara komersial antara lain (Turban 1992, pp9-10) :
a. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan karena sifat manusia yang pelupa. Kecerdasan buatan tidak akan berubah sepanjang sistem komputer dan program tidak mengubahnya.
b. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Mentransfer pengetahuan manusia dari satu orang ke orang lain membutuhkan proses yang sangat lama, dan juga suatu keahlian itu tidak akan pernah dapat diduplikasi dengan lengkap. Oleh karena itu, jika pengetahuan terletak pada sistem komputer, pengetahuan tersebut dapat disalin dari komputer tersebut dan dapat dipindahkan dengan mudah ke komputer yang lain.
c. Kecerdasan buatan lebih murah dibanding dengan kecerdasan alami.
Menyediakan layanan komputer akan lebih mudah dan lebih murah dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.
d. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena kecerdasan buatan adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami akan senantiasa berubah-ubah.
e. Kecerdasan buatan dapat didokumentasi. Keputusan yang dibuat oleh
komputer dapat didokumentasi dengan mudah dengan cara melacak
setiap aktivitas dari sistem tesebut. Kecerdasan alami sangat sulit untuk direproduksi.
Sedangkan kelemahan dari kecerdasan buatan adalah :
a. Tidak kreatif. Kemampuan untuk menambah pengetahuan itu sangat melekat pada jiwa manusia. Pada kecerdasan buatan, untuk menambah pengetahuan harus dilakukan melalui sistem yang dibangun.
b. Bekerja dengan simbol-simbol. Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan input-input simbolik.
c. Keterbatasan. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat terbatas.
2.1.2 Lingkup Kecerdasan Buatan
Dewasa ini, kecerdasan buatan memberikan kontribusi yang cukup besar di bidang manajemen. Adanya sistem pendukung keputusan dan sistem informasi manajemen juga tidak terlepas dari andil kecerdasan buatan.
Adanya penggunaan kecerdasan buatan di berbagai disiplin ilmu menyebabkan cukup rumitnya untuk mengklasifikasikan kecerdasan buatan menurut disiplin ilmu yang menggunakannya. Untuk memudahkan hal tersebut, maka pengklasifikasian lingkup kecerdasan buatan didasarkan pada output yang diberikan. Lingkup utama dalam kecerdasan buatan adalah (Turban 1992, pp21- 27) :
1. Sistem Pakar (Expert System). Disini komputer digunakan sebagai sarana
untuk menyimpan pengetahuan para pakar. Dengan demikian komputer
akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar.
2. Pengolahan Bahasa Alami (Natural Language Processing). Dengan pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.
3. Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer menggunakan suara.
4. Robotika & Sistem Sensor (Robotics & Sensory Systems).
5. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau obyek-obyek tampak melalui komputer.
6. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.
2.2 Masalah dan Pencarian
Seperti telah kita ketahui bahwa, pada sistem yang menggunakan kecerdasan buatan, akan mencoba untuk memberikan output berupa solusi dari suatu masalah berdasarkan kumpulan pengetahuan yang ada (Gambar 2.1). Pada Gambar 2.1, input yang diberikan pada sistem yang menggunakan kecerdasan buatan berupa masalah. Pada sistem harus dilengkapi dengan sekumpulan pengetahuan yang ada pada basis pengetahuan. Sistem harus memiliki inference engine agar mampu mengambil kesimpulan berdasarkan fakta atau pengetahuan.
Output yang diberikan berupa solusi masalah sebagai hasil dari inferensi.
Secara umum, untuk membangun suatu sistem yang mampu menyelesaikan masalah, perlu dipertimbangkan 4 hal (Kusumadewi 2003, p12) :
1. Mendefinisikan masalah dengan tepat. Pendefinisian ini mencakup spesifikasi yang tepat mengenai keadaan awal dan solusi yang diharapkan.
2. Menganalisis masalah tersebut serta mencari beberapa teknik penyelesaian masalah yang sesuai.
3. Merepresentasikan pengetahuan yang perlu untuk menyelesaikan masalah tersebut.
4. Memilih teknik penyelesaian masalah yang terbaik.
2.2.1 Metode Pencarian dan Pelacakan
Hal penting dalam menentukan keberhasilan sistem berdasar kecerdasan adalah kesuksesan dalam pencarian dan pencocokan. Ada 3 teknik pencarian dan pelacakan yang biasa digunakan, yaitu pencarian melebar pertama (breadth first search), pencarian mendalam pertama (depth first search), dan pencarian terbaik pertama (best first search) (Kusumadewi 2003, pp23-42).
1. Pencarian Melebar Pertama (Breadth-First Search)
Pada metode Breadth-First Search, semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1.
Pencarian dimulai dari node akar terus ke level ke-1 dari kiri ke kanan,
kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan
hingga ditemukannya solusi (Gambar 2.2).
Root node ( start )
Goal
Gambar 2.2 Metode Breadth-First Search (Kusumadewi 2003 p 24)
• Algoritma
1. Buat suatu variabel Node_List dan tetapkan sebagai keadaan awal.
2. Kerjakan langkah-langkah berikut ini sampai tujuan tercapai atau Node_List dalam keadaan kosong :
a. Hapus elemen pertama dari Node_List, sebut dengan nama E. Jika Node_List kosong, keluar.
b. Pada setiap langkah yang aturannya cocok dengan E, kerjakan :
i. Aplikasikan aturan tersebut untuk membentuk keadaan baru.
ii. Jika keadaan awal adalah tujuan yang diharapkan, sukses dan keluar.
iii. Jika tidak demikian, tambahkan keadaan awal yang baru tersebut pada akhir Node_List.
1
2 3 4
5 6 7 8 9 10
LEVEL 0
LEVEL 1
LEVEL 2
• Keuntungan
1. Tidak akan menemui jalan buntu.
2. Jika ada satu solusi, maka breadth-first search akan menemukannya. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan.
• Kelemahan
1. Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon.
2. Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+1).
2. Pencarian Mendalam Pertama (Depth-First Search)
Pada Depth-First Search, proses pencarian akan dilakukan pada semua anaknya terlebih dahulu sebelum dilakukan pencarian ke node-node yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini diulangi terus hingga ditemukannya solusi (Gambar 2.3).
Root node ( start )
Goal
Gambar 2.3 Metode Depth-First Search (Kusumadewi 2003 p 26) 1
2 3 4
5 6 7 8 9 10
LEVEL 0
LEVEL 1
LEVEL 2
• Algoritma
1. Jika keadaan awal merupakan tujuan, keluar (sukses).
2. Jika tidak demikian, kerjakan langkah-langkah berikut ini sampai tercapai keadaan sukses atau gagal :
a. Bangkitkan succesor E dari keadaan awal. Jika tidak ada succesor, maka akan terjadi kegagalan.
b. Panggil depth-first search dengan E sebagai keadaan awal.
c. Jika sukses berikan tanda sukses, namun jika tidak, ulangi langkah-2.
• Keuntungan
1. Membutuhkan memori yang relatif kecil, karena hanya node- node pada lintasan yang aktif saja yang disimpan.
2. Secara kebetulan, metode depth-first search akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan.
• Kelemahan
1. Memungkinkan tidak ditemukannya tujuan yang diharapkan.
2. Hanya akan mendapatkan 1 solusi pada setiap pencarian.
3. Pencarian Terbaik Pertama (Best-First Search)
Metode best-first search ini merupakan kombinasi dari metode depth-
first search dan metode breadth-first search dengan mengambil kelebihan
dari kedua metode tersebut. Pada metode best-first search, pencarian
diperbolehkan mengunjungi node yang ada di level yang lebih rendah, jika ternyata node pada level yang lebih tinggi memiliki nilai heuristik yang lebih buruk.
Pada metode depth-first search mampu menemukan solusi tanpa harus mengeksplorasi semua cabang dalam level yang sama. Pada metode breadth- first search juga cukup bagus, karena mampu mengantisipasi adanya lintasan yang mengalami jalan buntu. Kombinasi kedua metode ini sangat dimungkinkan, dimana pencarian dilakukan dengan hanya melihat satu lintasan, namun demikian masih memungkinkan untuk berpindah ke lintasan lain apabila lintasan lain tersebut lebih menjanjikan untuk mendapat solusi (Gambar 2.4).
Untuk mengimplementasikan metode ini dengan menggunakan graph keadaan, dibutuhkan 2 antrian yang berisi node-node, yaitu :
• OPEN, yang berisi node-node yang sudah dibangkitkan, sudah memiliki fungsi heuristik namun belum diuji. Umumnya berupa antrian berprioritas yang berisi elemen-elemen dengan nilai heuristik tertinggi.
• CLOSED, berisi node-node yang sudah diuji.
Root node ( start )
Goal
Gambar 2.4. Metode Best-First Search (Kusumadewi 2003 p43)
Algoritma :
1. Tunjukkan node awal A pada antrian OPEN.
2. Kerjakan langkah-langkah berikut hingga tujuan ditemukan atau antrian OPEN sudah kosong :
a. Ambil node terbaik dari OPEN.
b. Bangkitkan semua successornya.
c. Untuk tiap-tiap successor kerjakan :
i. Jika node tersebut belum pernah dibangkitkan sebelumnya, evaluasi node tersebut dan masukkan ke OPEN.
ii. Jika node tersebut sudah pernah dibangkitkan sebelumnya, ubah parent jika lintasan baru lebih menjanjikan. Hapus node tersebut dari lintasan OPEN dan masukkan node tersebut ke dalam CLOSED.
LEVEL 2 1
2 3 4
5 6 7 8 9 10
LEVEL 0
LEVEL 1
2.3 Representasi Pengetahuan
Sebuah sistem pakar harus memiliki kemampuan untuk menalar. Basis pengetahuan dan kemampuan untuk melakukan penalaran merupakan bagian terpenting dari sistem yang menggunakan kecerdasan buatan. Berikut ini penjelasan tentang berbagai bentuk representasi pengetahuan (Kusumadewi 2003, pp61-89).
2.3.1 Logika
Proses logika adalah proses membentuk kesimpulan atau menarik suatu inferensi berdasarkan fakta yang telah ada. Input dari proses logika berupa premis atau fakta-fakta yang diakui kebenarannya sehingga dengan melakukan penalaran pada proses logika dapat dibentuk suatu inferensi atau kesimpulan yang benar pula.
Gambar 2.5. Proses Logika (Kusumadewi 2004 p 62)
Ada 2 penalaran yang dapat dilakukan unuk mendapat konklusi :
1. Penalaran Deduktif. Penalaran dimulai dari prinsip umum untuk mendapatkan konklusi yang lebih khusus.
Contoh :
Premis Mayor : Jika hujan turun saya tidak akan berangkat kuliah.
Premis Minor : Hari ini hujan turun.
Input : Output : Premis Inferensi
atau atau
Fakta Konklusi
Proses
Logika
Konklusi : Hari ini saya tidak akan berangkat kuliah.
2. Penalaran Induktif. Penalaran ini dimulai dari fakta-fakta khusus untuk mendapatkan kesimpulan umum.
Contoh :
Premis-1 : Aljabar adalah pelajaran yang sulit.
Premis-2 : Geometri adalah pelajaran yang sulit.
Premis-3 : Kalkulus adalah pelajaran yang sulit.
Konklusi : Matematika adalah pelajaran yang sulit.
Pada penalaran induktif ini, munculnya premis baru bisa mengakibatkan gugurnya konklusi yang sudah diperoleh. Sebagai contoh, misalkan muncul premis-4 pada contoh diatas :
Premis-4 : Optika adalah pelajaran yang sulit.
Premis tersebut menyebabkan konklusi menjadi salah. Hal ini disebabkan
“Optika” bukan merupakan bagian dari “Matematika”. Sehingga apabila kita menggunakan penalaran induktif, sangat dimungkinkan adanya ketidakpastian.
2.3.1.1 Logika Proposisi
Proposisi adalah suatu pernyataan yang dapat bernilai benar (B) atau salah (S). Simbol-simbol seperti P dan Q menunjukkan proposisi. Dua atau lebih proposisi dapat digabungkan dengan menggunakan operator logika :
a. Operator NOT : digunakan untuk memberikan nilai negasi (lawan) dari
pernyataan yang telah ada. Tabel 2.1 menunjukkan tabel kebenaran untuk
operator NOT.
P NOT(P) B S S B
Tabel 2.1. Tabel kebenaran operator NOT (Kusumadewi 2004 p 63)
b. Operator AND : digunakan untuk mengkombinasikan 2 buah proposisi.
Hasil yang diperoleh akan bernilai benar jika kedua proposisi bernilai benar, dan akan bernilai salah jika salah satu dari kedua proposisi bernilai salah. Tabel 2.2 menunjukkan tabel kebenaran untuk operator AND.
P Q P AND Q
B B B B S S S B S S S S
Tabel 2.2. Tabel kebenaran operator AND (Kusumadewi 2004 p 63)
c. Operator OR : digunakan untuk mengkombinasikan 2 buah proposisi.
Hasil yang diperoleh akan bernilai benar jika salah satu dari kedua
proposisi bernilai benar, dan akan bernilai salah jika kedua proposisi
bernilai salah. Tabel 2.3 menunjukkan tabel kebenaran untuk operator
OR.
P Q P OR Q
B B B B S B S B B S S S
Tabel 2.3. Tabel kebenaran operator OR (Kusumadewi 2004 p 64)
d. Implikasi : Jika P maka Q akan menghasilkan nilai salah jika P benar dan Q salah, selain itu akan selalu bernilai benar. Tabel 2.4 menunjukkan tabel kebenaran untuk operator Implikasi.
P Q P -> Q
B B B B S S S B B S S B
Tabel 2.4. Tabel kebenaran operator Implikasi (Kusumadewi 2004 p 64)
e. Ekuivalensi : menghasilkan nilai benar jika P dan Q keduanya benar atau
keduanya salah. Tabel 2.5 menunjukkan tabel kebenaran untuk operator
ekuivalensi.
P Q P <-> Q
B B B B S S S B S S S B
Tabel 2.5. Tabel kebenaran operator Ekuivalensi (Kusumadewi 2004 p 64)
2.3.1.2 Logika Predikat
Representasi Fakta Sederhana
Misalkan diketahui fakta-fakta sebagai berikut :
• Andi adalah seorang laki-laki : A
• Ali adalah seorang laki-laki : B
• Amir adalah seorang laki-laki : C
• Anto adalah seorang laki-laki : D
• Agus adalah seorang laki-laki : E
Jika kelima fakta tersebut dinyatakan dengan menggunakan proposisi, maka akan terjadi pemborosan, dimana beberapa pernyataan dengan predikat yang sama akan dibuat dalam proposisi yang berbeda.
Logika predikat digunakan untuk merepresentasikan hal-hal yang tidak
dapat direpresentasikan dengan menggunakan logika proposisi. Pada logika
predikat kita dapat merepresentasikan fakta-fakta sebagai suatu pernyataan yang
disebut dengan wff (well formed formula).
Pada contoh diatas, dapat dituliskan : laki2(X), dimana X adalah variabel yang bisa disubstitusikan dengan Andi, Ali, Amir, Anto, Agus, dan laki-laki yang lain.
Contoh :
Misalkan terdapat pernyataan-pernyataan sebagai berikut : 1. Ita suka semua jenis makanan.
2. Pisang adalah makanan.
3. Pecel adalah makanan.
4. Segala sesuatu yang dimakan oleh manusia, dan manusia tidak mati karenanya , dinamakan makanan.
5. Hendra adalah seorang laki-laki.
6. Hendra makan jeruk, dan dia masih hidup.
7. Rini makan apa saja yang dimakan oleh Hendra.
Ketujuh pernyataan diatas dapat dibawa ke bentuk logika predikat, dengan menggunakan operator-operator : -> (implikasi), ¬ (not), ^ (and), v (or), Ã(untuk setiap), З (terdapat), sebagai berikut :
1. Ãx : makanan(x) -> suka (ita , x).
2. makanan (pisang).
3. makanan (pecel).
4. Ãx : Ãy manusia (x) ^makan (x,y) ^ ¬mati (x) -> makanan (y).
5. laki2 (Hendra).
6. makan (Hendra , jeruk) ^ hidup (Hendra), bisa dipecah menjadi : a. makan (Hendra , jeruk).
b. hidup (Hendra).
7. Ãx : makan (Hendra , x) -> makan (Rini , x).
Andaikan kita menjawab pertanyaan : “ Apakah Ita suka jeruk ? ”
maka dari pernyataan ke-1 klita akan membuktikan bahwa Ita suka jeruk : suka (Ita , jeruk)
dengan menggunakan penalaran backward, sebagai berikut : suka (Ita , jeruk)
(1, substitusi) makanan (jeruk)
manusia (x) ^ makan (x , jeruk) ^ ¬mati (x)
(7, substitusi)
manusia (Hendra) ^ makan (Hendra , jeruk) ^ ¬mati (Hendra)
(6a) manusia (Hendra) ^ ¬mati (Hendra)
Pada akhir penalaran , kita tidak dapat membuktikan bahwa Hendra adalah
manusia dan Hendra tidak mati. Meskipun kita tahu dari pernyataan (5) bahwa
Hendra adalah laki-laki, namun pada pernyataan belum ada yang menyatakan
bahwa Hendra adalah manusia. Demikian pula, meskipun pada pernyataan (6b)
kita tahu bahwa Hendra masih hidup, namun pada pernyataan belum ada yang
menyatakan bahwa tidak mati berarti masih hidup. Sehingga perlu tambahan 2 pernyataan lagi (8) dan (9) yang mengatakan bahwa setiap laki-laki adalah orang, dan hidup berarti tidak mati.
8. Ãx : laki2(x) -> manusia (x).
9. Ãx : m [hidup(x) -> ¬mati (x)] ^ [¬mati (x) -> hidup (x)]
Dari contoh diatas, masalah yang timbul disini adalah bagaimana menetapkan bahwa yang dibuktikan adalah T atau ¬T. Sebagai contoh yang harus kita buktikan adalah :
Suka (Ita , jeruk) atau ¬suka (Ita , jeruk).
Kita bisa putuskan melalui 3 cara :
1. Kita bisa menggunakan beberapa urutan aturan-aturan yang ada untuk memutuskan bahwa jawaban mana yang lebih mendekati, kemudian kita coba untuk membuktikan jawaban tersebut. Apabila gagal, kita coba untuk membuktikan aturan yang lainnya.
2. Kita coba buktikan kedua jawaban secara simultan dan berhenti apabila salah satu jawaban telah sukses dibuktikan.
3. Kita coba buktikan salah satu jawaban (terbukti atau tidak terbukti).
Informasi yang diberikan (baik terbukti maupun tidak terbukti) bisa kita
gunakan untuk menguatkan jawaban yang lainnya.
2.3.2 Pohon
Pohon merupakan struktur penggambaran pohon secara hirarkis. Struktur pohon terdiri dari node-node yang menunjukkan obyek, dan arc (busur) yang menunjukkan hubungan antar obyek (Gambar 2.6).
Gambar 2.6 Struktur Pohon (Kusumadewi 2004 p 82)
2.3.3 Jaringan Semantik
Jaringan semantik merupakan gambaran pengetahuan grafis yang menunjukkan hubungan antar berbagai obyek. Jaringan semantik terdiri dari lingkaran-lingkaran yang menunjukkan obyek dan informasi tentang obyek- obyek tersebut. Obyek disini bisa berupa benda atau peristiwa. Antara 2 obyek dihubungkan oleh arc yang menunjukkan hubungan antar obyek. Gambar 2.7.
merupakan contoh representasi pengetahuan dengan menggunakan jaringan
semantik.
si kancil
Ani baju
makhluk
hidup wanita
binatang
pagi
laki2
sekolah
roda
dua
Budi
sepeda
merah buku
adalah adalah
adalah adalah adalah
adalah berjudul
kakak
punya
berwarna berwarna
punya masuk
pergi membaca
naik
jumlahnya
Gambar 2.7 Contoh Jaringan Semantik (Kusumadewi 2004 p 82)
Salah satu kelebihan dari jaringan semantik adalah bisa mewariskan.
Sebagai contoh, pada gambar 2.7 ada garis yang menghubungkan antara Budi dengan laki-laki, dan laki-laki ke mahluk hidup. Sehingga apabila ada pertanyaan : Apakah Budi mahluk hidup ? maka kita bisa merunut garis dari mahluk hidup, kemudian ke laki-laki, dan akhirnya ke Budi. Sehingga terbukti bahwa Budi adalah mahluk hidup.
Sistem jaringan semantik ini selalu tergantung pada jenis masalah yang
akan dipecahkan . Jika masalah itu bersifat umum, maka hanya memerlukan
sedikit rincian. Jika ternyata masalah itu banyak melibatkan hal-hal lain, maka di
dalam jaringan awalnya diperlukan penjelasan yang lebih rinci lagi. Gambar 2.8
menunjukkan rincian dari node awal Budi, apabila Budi hendak pergi ke berbagai tempat. Node Budi dihubungkan dengan node baru, yaitu pergi.
Budi
sekolah
masjid
sawah
kebun binatang
toko pergi
Gambar 2.8. Perluasan Jaringan Semantik (Kusumadewi 2004 p 62)
2.3.4 Frame
Frame merupakan kumpulan pengetahuan tentang suatu obyek tertentu,
peristiwa, lokasi, situasi, dll. Frame memiliki slot yang menggambarkan rincian
(atribut) dan karakteristik obyek. Frame biasanya digunakan untuk
merepresentasikan pengetahuan yang didasarkan pada karakteristik yang sudah
dikenal, yang merupakan pengalaman-pengalaman. Dengan menggunakan frame,
sangatlah mudah untuk membuat inferensi tentang obyek, peristiwa atau situasi
baru, karena frame menyediakan basis pengetahuan yang ditarik dari
pengalaman.
Gambar 2.9. Frame (Kusumadewi 2004 p 84)
Pada Gambar 2.9. menunjukkan frame alat-alat transportasi. Frame tersebut memiliki 3 slot, yaitu alat-alat transportasi di udara, di darat, dan di laut. Ada beberapa slot yang bernilai tetap, ada pula yang tidak tetap (prosedural). Slot yang bernilai tetap misalkan jumlah roda pada sedan (4). Jenis slot lainnya bersifat prosedural artinya slot yang memungkinkan penambahan informasi baru yang bisa ditambahkan pada aturan IF. Misalnya informasi tentang kecepatan perjalanan, pengisian tangki bahan bakar, atau pemakaian bahan bakar tiap km.
2.3.5 Naskah (Script)
Script adalah skema representasi pengetahuan yang sama dengan frame, yaitu sudah dikenal sebagai pengalaman-pengalaman. Perbedaannya, frame menggambarkan obyek sedangkan script menggambarkan urutan peristiwa.
Dalam menggambarkan urutan peristiwa, script menggunakan slot yang berisi informasi tentang orang, obyek, dan tindakan-tindakan yang terjadi dalam suatu peristiwa. Elemen-elemen script meliputi :
Frame alat-alat Frame macam-macam Transportasi angkutan darat
Frame macam-macam mobil
transpotasi
Frame jenis
bahan bakar
Trans. Darat
Slot Mobil
Slot Sedan Slot Bensin
Slot Solar
1. Kondisi input, yaitu kondisi yang harus dipenuhi sebelum terjadi atau berlaku suatu peristiwa dalam script.
2. Track, yaitu variasi yang mungkin terjadi dalam suatu script.
3. Prop, berisi obyek-obyek pendukung yang digunakan selama peristiwa terjadi.
4. Role, yaitu peran yang dimainkan oleh seseorang dalam peristiwa.
5. Scene, Yaitu adegan yang dimainkan yang menjadi bagian dari suatu peristiwa.
6. Hasil, yaitu kondisi yang ada setelah urutan peristiwa dalam script terjadi.
Berikut ini adalah contoh script kejadian yang ada di “Ujian Akhir” : Jalur (track) : Ujian tertulis matakuliah Kecerdasan Buatan.
Rule (peran) : Mahasiswa, Pengawas.
Prop (pendukung) : lembar soal, lembar jawab, presensi, pena, dll.
Kondisi Input : Mahasiswa terdaftar untuk mengikuti ujian.
Adegan (Scene)-1 : Persiapan pengawas.
• Pengawas menyiapkan lembar soal.
• Pengawas menyiapkan lembar jawab.
• Pengawas menyiapkan lembar presensi.
Adegan – 2 : Mahasiswa masuk ruangan.
• Pengawas mempersilahkan mahasiswa masuk.
• Pengawas membagikan lembar soal.
• Pengawas membagikan lembar jawab.
• Pengawas memimpin doa.
Adegan – 3 : Mahasiswa mengerjakan soal ujian.
• Mahasiswa menulis identitas di lembar jawab.
• Mahasiswa menandatangani lembar jawab.
• Mahasiswa mengerjakan soal.
• Mahasiswa mengecek jawaban.
Adegan – 4 : Mahasiswa telah selesai ujian.
• Pengawas mempersilahkan mahasiswa keluar ruangan.
• Mahasiswa mengumpulkan kembali lembar jawab.
• Mahasiswa keluar ruangan.
Adegan – 5 : Pengawas mengemasi lembar jawab.
• Pengawas mengurutkan lembar jawab.
• Pengawas mengecek lembar jawab dan presensi.
• Pengawas meninggalkan ruangan.
Hasil :
• Mahasiswa merasa senang dan lega.
• Mahasiswa merasa kecewa.
• Mahasiswa pusing.
• Mahasiswa memaki-maki.
• Mahasiswa sangat bersyukur.
2.3.6 Sistem Produksi
Sistem Produksi secara umum terdiri dari komponen-komponen sebagai berikut (Gambar 2.10) :
1. Ruang keadaan, yang berisi keadaan awal, tujuan dan kumpulan aturan yang digunakan untuk mencapai tujuan.
2. Strategi Kontrol, yang berguna untuk mengarahkan bagaimana proses pencarian akan berlangsung dan mengendalikan arah eksplorasi.
Gambar 2.10. Sistem Produksi (Kusumadewi 2004 p 87)
Sistem Produksi ini merupakan salah satu bentuk representasi pengetahuan yang sangat populer dan banyak digunakan adalah sistem, produksi. Representasi pengetahuan dengan sistem produksi, pada dasarnya berupa aplikasi aturan (rule) yang berupa :
1. Antecendent, yaitu bagian yang mengekspresikan situasi atau premis (Pernyataan berawalan IF).
2. Konsekuen, yaitu bagian yangh menyatakan suatu tindakan tertentu atau konklusi yang diterapkan jika suatu situasi atau premis bernilai benar (Pernyataan berawalan THEN).
Konsekuensi atau konklusi yang dinyatakan pada bagian THEN baru dinyatakan benar, jika bagian IF pada sistem tersebut juga benar atau sesuai dengan aturan tertentu.
Keadaan awal Aturan Tujuan
Strategi Kontrol
Contoh : If lalulintas padat THEN saya naik sepeda motor.
Apabila pengetahuan direpresentasikan dengan aturan, maka ada 2 metode penalaran yang dapat digunakan yaitu :
1. Forward Reasoning (Penalaran Maju). Pelacakan dimulai dari keadaan awal (informasi atau fakta yang ada) dan kemudian dicoba untuk mencocokkan dengan tujuan yang diharapkan (Gambar 2.11).
2. Backward Reasoning (Penalaran Mundur). Pada penalaran ini dimulai dari tujuan atau hipotesa, baru dicocokkan dengan keadaan awal atau fakta-fakta yang ada (Gambar 2.12).
A
P O
N M
L K J
I H
G F
E
D C
B
Keadaan Awal
Tujuan
Tujuan
Tujuan Tujuan
Gambar 2.11 Penalaran Forward (Kusumadewi 2004 p 88)
A
P O
N M
L K J I H
G F E
D C
B
Tujuan
Keadaan Awal
Keadaan Awal
Keadaan Awal Keadaan
Awal
Gambar 2.12 Penalaran Backward (Kusumadewi 2004 p 88)
Ada beberapa faktor yang mempengaruhi pilihan backward atau forward dalam memilih metode penalaran, antara lain :
a) Banyaknya keadaan awal dan tujuan. Jika jumlah keadaan awal lebih banyak daripada tujuan, maka digunakan penalaran forward.
Sebaliknya, jika jumlah tujuan lebih banyak daripada keadaan awal, maka dipilih penalaran backward.
b) Rata-rata jumlah node yang dapat diraih secara langsung dari suatu node. Lebih baik dipilih yang jumlah node setiap cabangnya lebih sedikit.
c) Apakah program butuh menanyai user untuk melakukan justifikasi terhadap proses penalaran ? Jika iya, maka alangkah baiknya jika dipilih arah yang lebih memudahkan user.
d) Bentuk kejadian yang akan memicu penyelesaian masalah. Jika kejadian itu berupa fakta baru, maka lebih baik dipilih penalaran forward. Namun, jika kejadian itu berupa query, maka lebih baik digunakan penalaran backward.
2.3.7 Decision Table
Decision Table adalah pengetahuan yang diatur dalam bentuk format
lembar kerja (spreadsheet), menggunakan kolom dan baris (Turban 1992,
pp186).
Contoh :
Attributes Shape Smell Color Taste Skin Sees
Round Acid Yellow Sour Rough Yes
Round Acid Orange Sweet Rough Yes
Round Sweet Yellow Sweet Smooth Yes
Round Sweet Red Sweet Smooth Yes
Oblong Sweet Yellow Sweet Smooth Yes
Oblong Sweet Yellow Sweet Smooth Yes
Oblong Acid Orange Sour Smooth Yes
Oblong Sweet Green Sweet Smooth Yes
Conclusions Grapefruit Orange Apple Banana Pear Kumquat
X
X
X X
X
X
X
X
Gambar 2.13 Representasi Pengetahuan dengan Tabel (Turban 1992, pp186).
2.3.8 Decision Tree
Decision Tree adalah tree yang ada hubungannya dengan decision table namun sering digunakan dalam analisis sistem komputer (bukan sistem AI) (Turban 1992, pp187). Contoh :
Gambar 2.14 Representasi Pengetahuan dengan Tree (Turban 1992, pp187).
The fruit is citrus
The fruit is not citrus
Shape
?
Smell?
Color
?
Round
Oval
Orange
Green
Yellow
The fruit is orange
The fruit is grapefruit
The fruit is grapefruit The fruit may be lime,
kumquat, etc/ More information is needed
2.4 Knowledge Acquisition
Menurut Turban (1992, p82) Knowledge Acquisition adalah akumulasi, pengiriman, dan transformasi dari kepakaran dalam memecahkan masalah yang berasal dari beberapa sumber pengetahuan ke dalam program komputer untuk dibangun dan dikembangkan menjadi basis pengetahuan (knowledge base).
Knowledge Acquisition menjadi suatu aspek yang penting dan problematik dalam membangun sistem pakar, hal ini lebih mengacu pada "memindahkan dan mentransformasikan suatu kepakaran dalam memecahkan masalah" dari sumber pengetahuan ke dalam sebuah program. Terminologi ini mampu menggambarkan dua macam proses yaitu mengutip dan menterjemahkan tingkat pengetahuan pakar ke dalam rules (Mcgraw 1989, p8).
Menurut Mcgraw (1989, p5), knowledge engineering adalah suatu keadaan yang menggambarkan semua proses dari pengembangan sistem pakar. Tugas dari pengembangan sistem pakar melibatkan pengumpulan informasi, mengetahui permasalahan, analisa, dan rancangan. Tujuan dari proses knowledge engineering adalah untuk menangkap dan bekerja dalam ruang lingkup permasalahan kepakaran sesuai dengan prediksi dan proses pengaturan dari para pakar.
Seorang knowledge engineer bertanggung jawab untuk menyusun dan membangun sebuah sistem pakar yang mempunyai tugas menganalisa alur informasi, menentukan struktur program, bekerja dengan para pakar untuk men- dapatkan informasi, dan melakukan fungsi perancangan (Mcgraw 1989, pp5-6).
Menurut (Buchanan, et al., 1983) mengatakan bahwa "knowledge
engineering" harus mengikuti metode dimana seorang pakar berinteraksi dengan
seorang knowledge engineer untuk membangun sebuah sistem pakar. Proses dari knowledge engineering ini meliputi 2 macam yaitu (Mcgraw 1989, p8) :
1. Bertugas untuk mengurangi sulitnya pengertian dari sebuah domain pengetahuan menjadi sebuah kumpulan fakta dan aturan-aturan yang tepat serta mudah untuk diubah/dimodifikasi.
2. Peralatan dan metode untuk mendukung pengembangan sistem pakar.
Ada beberapa cara yang digunakan sebagai pendekatan knowledge akusisi untuk mengembangkan sistem pakar. Parsaye(1985) menggambarkan 3 pendekatan yang terpenting (Mcgraw 1989, p9) :
• Mewawancarai pakar (Interviewing experts)
• Belajar dengan diberitahu (Learning by being told)
• Belajar dengan melakukan observasi (Learning by observation)
Menurut Buchanan, Barstow, Bechtal, and other(1983) kegiatan knowledge akusisi dibagi menjadi beberapa tahap yaitu identification, conceptualization, formalization, implementation, dan testing (Mcgraw 1989, p12) (Gambar 2.15).
Gambar 2.15 Tahapan Knowledge Acquisition (Mcgraw 1989, p 12).
Identify Problem Characteristic
Refine Requirements Identify Concepts
Refine Concepts Organize
Knowledge
Refine Design Formulate Rules
Refine Representation Validate Rules
Identification
Conceptualization
Formalization
Implementation
Testing
• Identification, adalah suatu proses dari pengkarakterisasian aspek masalah, termasuk peserta, karakteristik, sumber, dan hasil akhir.
• Conceptualization, melibatkan menspesifikasi bagaimana konsep utama dan kunci hubungan antara konsep-konsep dalam domain yang digambarkan dan dihubungkan dengan kepakaran.
• Formalisasi, membutuhkan knowledge engineer untuk memetakan konsep- konsep yang dikenali, tugas, hubungan, dan informasi lainnya ke dalam mekanisme representasi formal. identifikasi dari sebuah model dasar dari proses kepakaran yang digunakan untuk menghasilkan solusi dalam domain mereka merupakan pekerjaan yang terpenting pada tahap ini.
• Implementasi, melibatkan penyaluran perumusan pengetahuan kedalam representasi framework untuk peralayan pengembangan sistem pakar yang dipilih. Tujuan utama dari tahap ini adalah untuk mengembangkan sebuah sistem prototype, yang membolehkan pengembang untuk menguji rancangan da implementasi keputusan menggunakan sub bagian kecil dari basis pengetahuan untuk sistem pakar.
• Testing, membutuhkan pengevaluasian sistem pakar sebagai keberhasilan dari formalisasi, asumsi dasar, ketepatan, dan efisiensi knowlegde akusisi sistem.
2.5 Ketidakpastian Dalam Intelegensia Semu
Menurut Turban (1992, p254) teori kepastian mempunyai konsep
kepercayaan dan ketidakpercayaan. Konsep ini saling bebas satu sama lainnya
dan tidak dapat dikombinasikan seperti probabilitas, tetapi dapat dikombinasikan dengan rumus di bawah ini :
CF[P,E] = MB[P,E] – MD[P,E]
dimana
CF = Certainty factor (faktor kepercayaan) MB = Measure of belief (tingkat kepercayaan)
MD = Measure of disbelief (tingkat ketidakpercayaan) P = Probability (peluang)
E = Evidence or event (bukti atau kejadian)
Menurut (Turban 1992, pp254-256) faktor kepastian dapat digunakan untuk menggabungkan perbedaan perkiraan dari pakar dengan beberapa cara sebagai berikut :
• Kombinasi beberapa faktor kepastian dalam satu rule (aturan).
a. Dengan menggunakan aturan yang memakai operator ‘dan ’ : Jika inflasi di atas 5 persen, CF = 50 % (A), dan
Jika tingkat pengangguran diatas 7 %, CF = 70 % (B), dan Jika penurunan harga obligasi, CF = 100 % (C )
Maka harga persediaan menurun
Untuk tipe aturan ini, kesimpulan yang benar, jika semua kondisi ‘Jika’
harus benar (terpenuhi). Walaupun melibatkan beberapa CF, tetapi CF yang diperoleh adalah CF yang minimum :
CF(A, B, dan C) = minimum [CF(A), CF(B), CF(C)]
Pada kasus ini CF untuk harga persedian menurun menjadi 50%.
b. Dengan menggunakan aturan yang memakai operator ‘atau’:
Jika inflasi rendah, CF = 70 %; atau Jika harga obligasi tinggi, CF = 85 % Maka harga persediaan menjadi tinggi.
Untuk aturan ini jika salah satu kondisi benar maka CF yang dihasilkan adalah maksimum.
CF(A atau B) = maksimum [CF(A), CF(B)]
Pada kasus ini, CF = 0,85 untuk harga persedian tinggi.
• Kombinasi dua atau lebih rule (aturan)
Pada saat kita memiliki basis pengetahuan dengan beberapa aturan, yang tiap-tiap aturan memiliki kesimpulan yang sama tetapi faktor kepastian yang berbeda maka tiap-tiap aturan dapat dilihat sebagai bagian bukti yang mendukung kesimpulan gabungan.
Contoh :
R1 : Jika inflasi kurang dari 5 % ,
Maka harga persediaan naik (CF = 0,7) R2 : Jika pengangguran kurang dar 7 % , Maka harga persediaan naik (CF = 0,6)
Faktor kepastian dari suatu kesimpulan dapat dihitung dengan cara mengkombinasikan bukti-bukti dengan rumus :
CF(R1,R2) = CF(R1) + CF(R2) [1-CF(R1)];
Atau
CF(R1,R2) = CF(R1) + CF(R2) - CF(R1) * CF(R2)
Sehingga pada kasus ini didapat CF kombinasi :
CF(R1,R2) = 0,7 + 0,6(1 - 0,7) = 0,7 + 0,6(0,3) = 0,88
Misalkan ada rule baru :
R3 : Jika kenaikan harga obligasi,
Maka harga persedian naik (CF = 0,85) Maka digunakan rumus untuk 3 rule :
CF(R1,R2,R3) = CF(R1,R2) + CF(R3) [1 - CF(R1,R2)]
Sehingga CF untuk persediaan harga naik : CF(R1,R2,R3) = 0,88 + 0,85(1-0,88) = 0,88 + 0,85(0,12)
= 0,982
Untuk jumlah rule yang lebih banyak, kita dapat mempergunakan formula kenaikan yang sama.
2.6 Sistem Pakar
Secara umum, sistem pakar (expert system) adalah sistem yang berusaha
mengadopsi pengetahuan manusia ke komputer, agar komputer dapat
menyelesaikan masalah yang seperti biasa dilakukan oleh para ahli. Sistem pakar
yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu
dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awampun
dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat
diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan
membantu aktivitasnya sebagai asisten yang sangat berpengalaman (Kusumadewi 2003, p109).
Ada beberapa definisi tentang sistem pakar antara lain :
• Menurut Durkin : Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar (Kusumadewi 2003, p109).
• Menurut Harmon and King (1985) : Sistem pakar adalah program AI yang dirancang untuk merepresentasikan keahlian manusia dalam ruang lingkup yang spesifik. Semakin khusus dan teridentifikasi ruang lingkup masalah, maka makin berhasil pembuatan dalam hal memperoleh, struturisasi, dan merepresentasikan pengetahuan dalam basis pengetahuan (Mcgraw 1989, p3).
• Menurut Mishkoff (1985) : Expert system atau "knowledge based system"
didefinisikan sebagai program komputer yang mengandung dua hal yaitu declarative knowledge (fakta tentang objek, events, situasi) dan procedural knowledge (informasi berupa pelajaran atau tindakan) untuk menyamai peoses pemikiran dari seorang pakar dalam ruang lingkup tertentu sesuai dengan keahliannya (Mcgraw 1989, p3).
• Menurut Turban (1992, p74) : Sistem pakar adalah sistem yang dirancang
dengan cara meniru proses-proses pemikiran yang digunakan oleh seorang
pakar untuk menyelesaikan masalah tertentu ke dalam komputer yang
biasanya memerlukan keahlian seorang pakar.
Area permasalahan yang termasuk dalam sistem pakar adalah diagnosa, perencanaan, instruksi, dan manajemen, pengawasan, dan perancangan.
Diagnosa sebagai contohnya, merupakan area aplikasi sistem pakar yang telah lama populer. Beberapa dari sistem pakar pertama kali menggunakan sebuah domain pakar "heuristics" untuk digunakan sebagai nasihat dalam mendiagnosa bidang yang terbatas pada ilmu kedokteran. Program ini biasanya meminta input respon pertanyaan dari user tentang gejala-gejala yang ada. Sistem pakar ini menggunakan input ini dan dikombinasi dengan aturan-aturan dalam basis pengetahuan untuk menyarankan kemungkinan diagnosa dengan menyertai ketentuan atau kemungkinan. Kata kuncinya adalah, ketika diminta oleh user, sistem menawarkan kebenaran atau penjelasan untuk menyarankan sebuah diagnosa yang spesifik. User dapat mengerti alasan dari proses yang digunakan untuk merancang diagnosis berdasarkan informasi yang mungkin tidak dimiliki oleh sistem. Jadi meskipun seorang pakar tetap memegang kendali, meng- gunakan sistem pakar adalah sebagai alat bantu kerja (Mcgraw 1989, pp3-4).
Sistem pakar pertama kali dikembangkan oleh komunitas AI pada
pertengahan tahun 1960. Sistem pakar yang muncul pertama kali adalah
General-purpose Problem Solver (GPS) yang dikembangkan oleh newel dan
simon. GPS (dan program-program yang serupa) ini mengalami kegagalan
dikarenakan cakupannya terlalu luas sehingga terkadang justru meninggalkan
pengetahuan-pengetahuan penting yang seharusnya disediakan. Sampai saat ini
sudah banyak sistem pakar yang dibuat, beberapa contoh diantaranya dapat
dilihat pada Tabel 2.6 (Kusumadewi 2003, p109-110).
Sistem Pakar Kegunaan
MYCIN Diagnosa penyakit
DENDRAL
Mengidentifikasi struktur molekular campuran yang tidak dikenal
XCON & XSEL Membantu konfigurasi system komputer besar
Prospector1 Digunakan di dalam geologi untuk membantu mencari dan menemukan deposit
FOLIO
Membantu memberikan keputusan bagi seorang manajer dalam hal stok broker dan investasi SOPHIE Analisis sirkuit elektronik
DELTA Pemeliharaan lokomotif listrik disel
Tabel 2.6. Sistem Pakar yang terkenal (Kusumadewi 2003, p109-110)
2.6.1 Keuntungan Sistem Pakar
Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar (Kusumadewi 2003, p110), antara lain :
1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.
2. Bisa melakukan proses secara berulang dan otomatis.
3. Menyimpan pengetahan dan keahlian para pakar.
4. Meningkatkan output dan produktivitas.
5. Meningkatkan kualitas.
6. Mampu mengambil dan melestarikan keahlian parta pakar (terutama yang termasuk keahlian angka).
7. Mampu beroperasi dalam lingkungan yang berbahaya.
8. Memiliki kemampuan untuk mengakses pengetahuan.
9. Memiliki reliabilitas.
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 kapanbilitas dalam penyelesaian masalah.
14. Menghemat waktu dalam pengambilan keputusan.
2.6.2 Kelemahan Sistem Pakar
Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan (Kusumadewi 2003, p111), 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.
2.6.3 Konsep Dasar Sistem Pakar
Menurut Efraim Turban (1992, p79), konsep dasar sistem pakar mengandung keahlian, inferensi, aturan, dan kemampuan menjelaskan.
Keahlian adalah suatu kelebihan penguasaan pengetahuan di bidang
tertentu yang diperoleh dari pelatihan, membaca atau pengalaman. Contoh
bentuk pengetahuan yang termasuk keahlian adalah :
• Fakta-fakta pada lingkup permasalahan tertentu.
• Teori-teori pada lingkup permasalahan tertentu.
• Prosedur-prosedur dan aturan-aturan berkenaan dengan lingkup permasalahan tertentu.
• Strategi-strategi global untuk menyelesaikan masalah.
• Meta knowledge (pengetahuan tentang pengetahuan).
Bentuk-bentuk ini memungkinkan para ahli untuk dapat mengambil keputusan lebih cepat dan lebih baik daripada seseorang yang bukan ahli.
Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun kembali pengetahuan jika dipandang perlu, memecah aturan-aturan jika dibutuhkan, dan menentukan relevan tidaknya keahlian mereka.
Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar.
Proses ini membutuhkan 4 aktivitas yaitu : tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya), representasi pengetahuan ke komputer, inferensi pengetahuan, dan pengalihan komputer ke user. Pengetahuan yang disimpan di komputer disebut dengan nama basis pengetahuan. Ada 2 tipe pengetahuan, yaitu: fakta dan prosedur (biasanya berupa aturan).
Salah satu fitur yang harus dimilki sistem pakar adalah kemampuan untuk
menalar. Jika keahlian-keahlian sudah tersimpan sebagai basis pengetahuan dan
sudah tersedia program yang mampu mengakses basisdata, maka komputer harus
dapat diprogram untuk membuat inferensi. Proses inferensi dikemas dalam bentuk motor inferensi (inference engine).
Fitur lainnya dari sistem pakar adalah kemampuan untuk merekomendasi.
Kemampuan inilah yang membedakan sistem pakar dengan sistem konvensional (Tabel 2.7).
Sistem Konvensional Sistem Pakar
Informasi dan pemrosesannya biasanya jadi satu dengan program
Basis pengetahuan merupakan bagian terpisah dari mekanisme inferensi
Biasanya tidak bisa menjelaskan mengapa suatu input data itu dibutuhkan, atau bagaimana output itu diperoleh
Penjelasan adalah bagian terpenting dari system pakar
Perubahan program cukup sulit &
membosankan
Pengubahan aturan dapat dilakukan dengan mudah
Sistem hanya akan beroperasi jika sistem sudah lengkap
Sistem dapat beroperasi hanya dengan beberapa aturan
Eksekusi dilakukan langkah demi langkah
Eksekusi dilakukan pada keseluruhan basis pengetahuan
Menggunakan data Menggunakan pengetahuan
Tujuan utamanya adalah efisiensi Tujuan utamanya adalah efektivitas
Tabel 2.7 Sistem konvensional Vs sistem Pakar (Turban 1992, p79)
2.6.4 Bentuk Sistem Pakar
Menurut Turban (1992, p454) software-software kecerdasan buatan (AI)
dapat diklasifikasikan menjadi lima tingkatan teknologi.
Gambar 2.16 Tingkatan Teknologi Perangkat Lunak Sistem Pakar (Turban 1992, p 454)
Gambar 2.16 mengilustrasikan tingkatan ini. Tingkatan itu yaitu : 1. Bahasa pemrograman (Programming Language)
Sistem pakar dapat dibuat dengan salah satu dari bahasa-bahasa pemrograman yang ada, dari bahasa AI (AI languages) sampai bahasa-bahasa prosedur standar (standar procedural languages).
2. Support tools (Peralatan pendukung)
Support tools berguna untuk membantu programer untuk membangun bagian- bagian sistem, seperti akuisisi pengetahuan (knowledge acquisition), validasi dan verifikasi pengetahuan (knowledge validation and verification), dan antarmuka pemakai (user interface).
3. Shell
Shell adalah paket terintegrasi dimana sebagian besar komponen-komponen sistem pakar (kecuali basis pengetahuan) sudah diprogram sebelumnya.
Komponen-komponen ini yaitu sub sistem akuisisi pengetahuan (knowledge
Expert System Application Package
Hybrid Systems
Shell General or Domain
Specific
Support tools, Facilities, and Construction Aids
Programming Languages
acquisition subsystem), mesin inferensi (inference engine), fasilitas penjelasan (explanation facility), sub sistem antarmuka (interface subsystem) dan fasilitas pengaturan basis pengetahuan (knowledge base management facility). Programer hanya perlu memasukkan basis pengetahuan untuk membuat suatu sistem pakar..
Dengan menggunakan shell, sistem pakar dapat dibuat lebih cepat dan kemampuan pemrograman yang diperlukan juga lebih rendah. Konsep shell diilustrasikan pada gambar 2.17 dibawah.
Gambar 2.17 Konsep Shell (Turban 1992, p455)
4. Hybrid system
Hybrid system tersusun atas beberapa support tools dan programming languages.
Hal ini memungkinkan sistem untuk dibangun lebih cepat daripada jika dibangun dengan hanya menggunakan programming languages.
5. Aplikasi sistem pakar khusus (specific ES applications)
Specific ES adalah produk-produk aplikasi yang digunakan untuk membantu pemakai (user) yang spesifik pada topik yang spesifik.
Shell Knowledge
Base Consultation
Manager Knowledge Base Editor and
Debugger Explanation
Program Knowledge Base
Management Facilities Inference Engine
2.6.5 Struktur Sistem Pakar
Sistem Pakar terdiri dari 2 bagian pokok, yaitu : lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment). Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik dari segi pembangun komponen maupun basis pengetahuan, Lingkungan konsultasi digunakan oleh seseorang yang bukan ahli untuk berkonsultasi (Gambar 2.18) (Kusumadewi 2003, pp113-115).
User
Antarmuka
Aksi yang direkomendasi
Fasilitas perusahaan
O Interpreter O scheduler Motor inferensi Oconsistency Enforcer
BLACKBOARD
Rencana Agenda
Solusi Deskripsi
Penyaring pengetahuan
Basis Pengetahuan Fakta: Apa yang diketahui
tentang area domain Aturan: Logical Reference
Rekayasa pengetahuan
Pengetahuan ahli
Gambar 2.18 Struktur sistem pakar(Kusumadewi 2003, pp114)
Komponen-komponen sistem pakar yang terdapat pada Gambar 2.18 adalah sebagai berikut :
1. Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan pengetahuan, mengkonstruksi atau memperluas pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa berasal dari ahli, buku, basisdata, penelitian, dan gambar.
2. Basis pengetahuan. Berisi pengetahuan-pengetahuan yang
dibutuhkan untuk memahami, memformulasikan, dan
menyelesaikan masalah.
3. Mesin inferensi (inference engine). Program yang berisi metodologi yang digunakan untuk melakukan penalaran terhadap informasi- informasi dalam basis pengetahuan dan blackboard serta digunakan untuk memformulasikan konklusi. Ada 3 elemen utama dalam motor inferensi, yaitu :
• Interpreter : mengeksekusi item-item agenda yang terpilih dengan menggunakan aturan-aturan dalam basis pengetahuan yang sesuai.
• Scheduler : akan mengontrol agenda.
• Consistency enforcer : akan berusaha memelihara kekonsistenan dalam merepresentasikan solusi yang bersifat darurat.
4. Blackboard : Merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada 3 tipe keputusan yang dapat direkam, yaitu :
• Rencana : bagaimana menghadapi masalah.
• Agenda : aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi.
• Solusi : calon aksi yang akan dibangkitkan.
5. Antarmuka. 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 :
• Mengapa suatu pertanyaan ditanyakan oleh sistem pakar ?
• Bagaimana konklusi dicapai ?
• Mengapa ada alternatif yang dibatalkan ?
• Rencana apa yang digunakan untuk mendapatkan solusi ? 7. Sistem penyaring pengetahuan. Sistem ini digunakan untuk
mengevaluasi kinerja sistem pakar itu sendiri untuk melihat apakah pengetahuan-pengetahuan yang ada masih cocok untuk digunakan di masa mendatang.
2.6.6 Basis Pengetahuan (Knowledge Base)
Basis pengetahuan berisi pengetahuan-pengetahuan dalam penyelesaian masalah, tentu saja di dalam domain tertentu. Ada 2 bentuk pendekatan basis pengetahuan yang sangat umum digunakan (Kusumadewi 2003, p115-116), yaitu:
a. Penalaran berbasis aturan (Rule-Based Reasoning).
Pada penalaran berbasis aturan, pengetahuan direpresentasikan
dengan menggunakan aturan berbentuk IF-THEN. Bentuk ini
digunakan apabila kita memiliki sejumlah pengetahuan pakar pada
suatu permasalahan tertentu, dan si pakar dapat menyelesaikan
masalah tersebut secara berurutan. Disamping itu, bentuk ini juga
digunakan apabila dibutuhkan penjelasan tentang jejak (langkah- langkah ) pencapaian solusi.
b. Penalaran berbasis kasus (Case-Based Reasoning).
Pada penalaran berbasis kasus, basis pengetahuan akan berisi solusi- solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada).
Bentuk ini digunakan apabila user menginginkan untuk tahu lebih banyak lagi pada kasus-kasus yang hampir sama (mirip). Selain itu, bentuk ini juga digunakan apabila kita telah memiliki sejumlah situasi akan kasus tertentu dalam basis pengetahuan.
2.6.7 Motor Inferensi (Inference Engine)
Ada 2 cara yang dapat dikerjakan dalam melakukan inferensi (Kusumadewi 2003, p116-121), yaitu :
1. Forward Chaining. Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu). Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis.
2. Backward Chaining. Pencocokan fakta atau pernyataan dimulai dari
bagian sebelah kanan (THEN dulu). Dengan kata lain, penalaran
dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran
hipotesis terrsebut dicari fakta-fakta yang ada dalam basis
pengetahuan.
2.6.8 Ciri-ciri Sistem Pakar
Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut (Kusumadewi 2003, p122) :
1. Memiliki fasilitas informasi yang handal.
2. Mudah dimodifikasi.
3. Dapat digunakan dalam berbagai jenis komputer.
4. Memiliki kemampuan untuk belajar beradaptasi.
2.6.9 Permasalahan Yang Disentuh Oleh Sistem Pakar
Ada beberapa masalah yang menjadi area luas aplikasi sistem pakar antara lain (Kusumadewi 2003, p122) :
• Interpretasi. Pengambilan keputusan dari hasil observasi, termasuk diantaranya : Pengawasan, pengenalan ucapan, analisa citra, interpretasi sinyal, dan beberapa analisis kecerdasan.
• Prediksi. Termasuk diantaranya peramalan, prediksi demografis, peramalan ekonomi, prediksi lalulintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan.
• Diagnosis. Termasuk diantaranya : medis, elektronis, mekanis, dan diagnosa perangkat lunak.
• Perancangan. Termasuk diantaranya : layout sirkuit dan perancangan
bangunan.
• Perencanaan. Termasuk diantaranya : perencanaan keuangan, komunikasi, militer, pengembangan produk, routing, dan manajemen proyek.
• Monitoring. Misalnya : Computer-Aided Monitoring Systems.
• Debugging. Misalnya memberikan resep obat terhadap suatu kegagalan.
• Perbaikan.
• Instruksi. Melakukan instruksi untuk diagnosis, debugging dan perbaikan kerja.
• Kontrol. Melakukan kontrol terhadap interpretasi, prediksi, perbaikan, dan monitoring kelakuan sistem.
2.6.10 Mengembangkan Sistem Pakar
Seperti layaknya pengembangan perangkat lunak, pada pengembangan
sistem pakar inipun diperlukan beberapa tahapan seperti terlihat pada Gambar
2.19 (Kusumadewi 2003, pp122-125).
Gambar 2.19 Tahap-tahap pengembangan sistem pakar
(
Kusumadewi 2003, pp123)Secara garis besar pengembangan sistem pakar pada Gambar 2.19 adalah sebagai berikut :
1. Mengidentifikasi masalah dan kebutuhan. Mengkaji situasi dan memutuskan dengan pasti tentang masalah yang akan dikomputerisasi dan apakah dengan sistem pakar bisa lebih membantu atau tidak.
2. Menentukan masalah yang cocok. Ada beberapa syarat yang harus dipenuhi agar sistem pakar dapat bekerja dengan baik, yaitu :
• Domain masalah tidak terlalu luas.
• Kompleksitasnya menengah, artinya jika masalah terlalu mudah (dapat diselesaikan dalam beberapa detik saja) atau masalah yang sangat kompleks seperti peramalan inflasi yang tidak perlu menggunakan sistem pakar.
Perbaikan Tahap 1:
Penilaian keadaan
Tahap 2:
Koleksi pengetahuan
Tahap 3:
Perancangan
Reformulasi
Eksplorasi
Tahap 5:
Dokumentasi
Tahap 6:
Pemeliharaan Tahap 4:
Tes Kebutuhan
Pengetahuan
Sruktur
Evaluasi
Produk
• Tersedianya ahli.
• Menghasilkan solusi mental bukan fisik, artinya sistem pakar hanya memberikan anjuran dan tidak bisa melakukan aktivitas fisik seperti membau dan merasakan.
• Tidak melibatkan hal-hal yang bersifat common sense, yaitu penalaran yang diperoleh dari pengalaman, seperti : adanya gravitasi membuat benda jatuh, atau jika lampu lalulintas merah maka kendaraan harus berhenti.
3. Mempertimbangkan alternatif. Dalam hal ini ada 2 alternatif yaitu menggunakan sistem pakar atau komputer tradisional.
4. Menghitung pengembalian investasi, termasuk diantarnya biaya pembuatan sistem pakar, biaya pemeliharaan, dan biaya training.
5. Memilih alat pengembangan. Bisa digunakan software pembuat sistem pakar seperti SHELL atau dirancang dengan bahasa pemrograman sendiri, misalnya dengan menggunakan PROLOG.
6. Rekayasa pengetahuan. Perlu dilakukan penyempurnaan terhadap aturan-aturan yang sesuai.
7. Merancang sistem. Bagian ini termasuk pembuatan prototype, serta menterjemahkan pengetahuan menjadi aturan-aturan.
8. Melengkapi pengembangan, termasuk pengembangan prototype apabila sistem yang telah ada sudah sesuai dengan keinginan.
9. Menguji dan mencari kesalahan sistem.
10. Memelihara sistem. Dalam hal ini harus dilakukan : Memperbaharui pengetahuan, mengganti pengetahuan yang sudah ketinggalan, dan meluweskan sistem agar bisa lebih baik lagi dalam menyelesaikan masalah.
2.7 Kulit
2.7.1 Biologi Dasar Kulit
Menurut Ashton and Leppard (1993, p12) struktur dasar kulit dibagi menjadi dua bagian yaitu epidermis dan dermis.
Gambar 2.20. Struktur dasar kulit (Ashton and Leppard 1993, p12)
Epidermis
Epidermis adalah bagian terluar dari kulit. Fungsinya adalah untuk menghasilkan keratin dan melanin. Patologi pada kulit luar menghasilkan suatu ruam atau suatu luka dengan skala abnormal atau perubahan pigmen.
Keratin
Keratin adalah hasil akhir dari maturation epidermal sel, fungsinya
adalah untuk membuat kulit menjadi tahan air.
Melanin
Melanin diproduksi oleh melanocytes di dalam lapisan fundamental.
Paket melanin (melanosomes) ditransfer dari melanocytes melalui proses dendritic ke sekeliling sel epidermal sehingga bagian inti terlindungi dari efek radiasi ultraviolet yang berbahaya. Tanpa perlindungan ini akan terjadi dividion sel yang abnormal mengarah kepada kanker kulit.
Gambar 2.21 Melanosome (Ashton and Leppard 1993, p12)