1 BAB 2 LANDASAN TEORI 2.1 Artificial Intelligence Artificial Intelligence dapat diartikan menjadi kecerdasan buatan, yang mana pada prosesnya berarti...
2.1 Artificial Intelligence Artificial Intelligence dapat diartikan menjadi kecerdasan buatan, yang mana pada prosesnya berarti membuat, atau mempersiapkan, mesin seperti komputer agar memiliki sebuah intelligence atau kecerdasan berdasarkan perilaku manusia. Artificial
Intelligence
pada
dasarnya
bertujuan
untuk
membuat
komputer
melaksanakan suatu perintah, yang dapat dilakukan oleh manusia. Salah satu bagian dari artificial intelligence adalah sistem pakar. Sistem pakar adalah sebuah sistem komputer atau perangakat lunak yang memungkinkan komputer untuk memecahkan masalah pada bidang tertentu, menggunakan penalaran inferensi menyerupai seorang pakar dalam memecahkan masalah. Sistem pakar mengadopsi kepakaran dari sebuah subyek sebagai dasar pertimbanagan dan pengetahuannya. Bab ini dapat dikelompokkan atas teori-teori mengenai artificial intelligence, sistem pakar, aplikasi berbasis web, dan gambaran umum akan wisata bahari, serta gambaran umum akan rekreasi diving di Indonesia.
7
8 Dalam hal ini, terdapat beberapa pengertian dari kecerdasan buatan, antara lain: Kecerdasan buatan merupakan ilmu yang mempelajari bagaimana membuat sebuah komputer dapat mengerjakan sesuatu yang masih lebih baik dikerjakan manusia (Rich dan Knight, 1991, p 3). Kecerdasan buatan merupakan solusi berbasis komputer terhadap masalah yang ada, yang menggunakan aplikasi yang mirip dengan proses berpikir menurut manusia (Rolston, 1988, p 15). Kecerdasan buatan dapat didefinisikan sebagai cabang sains komputer yang mempelajari otomisasi tingkah laku cerdas (Setiawan, 1993, p 1). Artificial Intelligence atau kecerdasan buatan adalah cabang ilmu komputer yang mempelajari bagaimana komputer melakukan hal-hal yang pada saat yang sama orang mengejakannya lebih baik (Turban, 1995, p 422). Artificial intelligence adalah subdivisi dari ilmu komputer untuk membuat perangkat keras dan piranti lunak komputer sebagai usaha untuk memperoleh hasil seperti yang dihasilkan oleh manusia (Turban, 1992, p 4). Menurut (Turban, 1995, p 452 - 456), artificial intelligence memiliki banyak bidang terapan, yaitu: 1.
Expert System (sistem pakar)
2.
Natural Language Processing (pemrosesan bahasa alamiah)
3.
Computer Vision and Scene Recognition
4.
Intelligence Computer Aided Instruction
5.
Speech (voice) Understanding
9 6.
Robotics and Sensory System Dapat diambil kesimpulan dari beberapa paragraf diatas bahwa, kecerdasan
buatan (artificial intelligence) adalah suatu metode untuk membuat sebuah komputer dapat memiliki kecerdasan dan dapat berpikir layaknya manusia dalam mencari jalan keluar suatu permasalahan, dan membagi proses-proses pemikiran tersebut menjadi sebuah langkah dasar pemecahan masalah.
2.2 Sistem Pakar Terdapat beberapa pengertian atas sistem pakar, antara lain: Sistem pakar adalah suatu sistem berbasis ilmu pengetahuan yang menyediakan solusi-solusi dengan kualitas pakar untuk masalah-masalah dalam suatu bidang yang spesifik (Setiawan, 1993, p 265). Sistem pakar merupakan program komputer yang dirancang untuk membuat model kemampuan pemecahan masalah dari seorang manusia yang pakar (Durkin, 1994, p 7). Sistem pakar adalah suatu sistem komputer yang dirancang agar dapat melakukan penalaran layaknya seorang pakar atau ahli pada suatu bidang keahlian tertentu (Turban, 1993, p 74). Sistem pakar adalah suatu sistem komputer yang mengambil sifat pengetahuan dari manusia untuk menyelesaikan suatu masalah yang spesifik dan berfungsi sebagai asisten dari ahli itu sendiri (Turban, 1995, p 74). Sistem pakar adalah sistem yang membutuhkan dasar pengetahuan yang baik, yang dibangun seefisien mungkin. Sistem ini memerlukan satu atau lebih mekanisme
10 penalaran untuk menerapkan pengetahuan terhadap maslah yang dihadapi. Setelah itu dibutuhkan suatu mekanisme penalaran untuk menerapkan pengetahuan pada permasalahan yang ada (Rich dan Knight, 1991, p 547). Sistem pakar adalah sebuah piranti lunak komputer yang memilki basis pengetahuan untuk domain tertentu dan menggunakan penalaran inferensi menyerupai seorang pakar dalam memcahkan masalah (Azis, 1993, p 3). Kelebihan sistem pakar dibandingkan dengan manusia dapat terlihat pada tabel 2.1
Table 2.1 Perbedaan manusia dengan sistem • • • •
Manusia / pakar Memiliki batas (umur) Ilmu pengetahuan sulit di transfer Dipengaruhi oleh situasi dan emosi Biaya tinggi
• • • •
Sistem pakar Tidak memiliki batasan waktu Mudah ditransfer Tidak terpengaruh oleh emosi Relatif
Sistem pakar dikembangkan oleh komunitas intelegensia buatan pada pertengahan 1960-an. Pada periode ini penelitian tentang intelegensia semu sangat mendominasi, sehingga menghasilkan sistem pakar.
2.2.1
Konsep Dasar Konsep dasar sistem pakar mengandung: keahlian, ahli, inferensi, aturan, dan
kemampuan menjelaskan (Kusumadewi, 2003, p 111). Keahlian adalah suatu kelebihan penguasaan pengertahuan di bidang tertentu yang diperoleh dari pelatihan, membaca, atau pengalaman. Contoh bentuk pengetahuan yang termasuk keahlian adalah: •
Fakta-fakta pada lingkup permasalahan tertentu.
11 •
Teori-teoi pada lingkup permasalahan tertentu.
•
Prosedur-prosedur dan aturan-aturan berkenaan dengan lingkup permasalahan tertentu.
•
Strategi-strategi global untuk memecahkan masalah.
•
Meta knowledge (pengetahuan tentang pengetahuan).
Bentuk-bentuk ini memungkinkan para ahli untuk mengambil keputusan lebih cepat dan lebih baik daripada seseorang yang bukan ahli. Seorang ahli atau pakar adalah orang yang mampu menjelaskan sebuah tanggapan, mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun kembali dasar pengetahuan bila dirasa perlu, memecah aturan-aturan jika dibutuhkan, dan menentukan relativitas kepakaran mereka. Pengalihan kemampuan seorang pakar ke dalam mesin, atau komputer, untuk kemudian dialihkan lagi ke orang awam, atau bukan pakar, merupakan tujuan utama dari sistem pakar. Proses ini membtuhkan 4 aktifitas, yaitu: •
Penambahan pengetahuan (dari para ahli atau sumber-sumber lainnya),
•
Representasi pengetahuan (ke mesin),
•
Inferensi pengetahuan,
•
Pengalihan pengetahuan ke user.
Pengetahuan yang disimpan di komputer disebut dengan nama knowledge base (basis pengetahuan), yaitu: •
Fakta,
•
Rule (aturan-aturan prosedural).
12 Salah satu fitur yang harus dimliki oleh sistem pakar adalah kemampuan untuk menalar. Jika keahlian-keahlian sudah tersimpan sebagai basis pengetahuan dan sudah tersedia program yang mampu mengakses basis data, maka komputer harus dapat diprogram untuk membuat inferensi. Proses inferensi ini dikemas dalam bentuk mesin inferensi (inference engine). Sebagian besar sistem pakar konvensional dibuat dalam bentuk rule-based sistem, yang mana pengetahuannya di simpan dalam bentuk aturan-aturan. Aturan tersebut biasa berbentuk IF-THEN. Fitur lainnya dalam sistem pakar adalah kemampuan merakomendasi. Kemampuan inilah yang membedakan sistem pakar dengan sistem konvensional. Perbandingan antara sistem pakar dengan sistem konvensional dapat dilihat pada tabel di bawah ini.
13 Tabel 2.2 Sistem konvensional vs. sistem pakar Sistem Konvensional
Sistem Pakar
Informasi dan pemrosesannya biasanya jadi Basis pengetahuan merupakan bagian dari satu dengan program
mekanisme inferensi
Biasanya tidak bisa menjelaskan mengapa Penjelasan adalah bagian terpenting dari suatu input data itu diperlukan, atau sistem pakar bagaimana output diperoleh Pengubahan program cukup sulit dan Pengubahan aturan dapat dilaksanakan membosankan
dengan mudah
Sistem hanya akan beroprasi jika sistem Sistem dapat beroperasr hanya dengan tersebut sudah lengkap
beberapa aturan
Eksekusi dilakukan langkah demi langkah
Eksekusi dilakukan pada seluruh basis pengetahuan
Menggunakan data
Menggunaka pengetahuan
Tujuan utamanya adalah efisiensi
Tujuan utamanya adalah efektifitas
2.2.2
Ciri-ciri dan Karakteristik Sistem Pakar Ciri-ciri sistem pakar menurut Azis (1994, p 4), adalah sebagai berikut: •
Terbatas pada domain tertentu
•
Dapat memberikan solusi untuk data-data yang tidak lengkap
•
Dapat mengemukakan rangkaian-rangkaian alasan yang diberikan dengan cara yang mudah dipahami
14 •
Berdasarkan pada kaidah atau rule tertentu
•
Dirancang untuk dapat dikembangkan secara bertahap
•
Pengetahuan dan mekanisme inferensi yang jelas terpisah
•
Sistem dapat mengaktifkan kaidah secara searah yang sesuai, dituntun oleh pemakai dengan dialog.
Karakteristik sistem pakar sangat ideal untuk memecahkan masalahmasalah yang tidak terstruktur dan prosedur pemecahannya tidak umum diketahui.
2.2.3
Keuntungan dan Kelemahan Sistem Pakar Setiap sistem pada komputer sudah seharusnya memiliki beberapa
keuntungan. Keuntungan pada tiap-tiap sistem mungkin berbeda stu sama lain. Walaupun begitu, keuntungan dari sistem tersebutlah yang mendukung pemilihan penggunaan sebuah sistem untuk diimplementasikan dalam sebuah program. Walaupun begitu tiap sistem tak juga lepas dari kelemahan. Kelemahan sistem tidak seharusnya menjadi sesuatu yang ditakuti, melainkan sesuatu yang harus di benahi.
2.2.3.1 Keuntungan Sistem pakar Secara garis besar, manfaat yang dapat diambil dengan adanya sistem pakar adalah antara lain: •
Memungkinkan orang awam untuk mengejakan pekerjaan seorang pakar
•
Bisa melakukan pekerjaan berulang secara otomatis
•
Menyimpan pengetahuan dan keahlian para pakar
15 •
Meningkatkan output dan produktivitas
•
Memiliki kemampuan untuk mengakses pengetahuan
•
Memiliki reliabilitas
•
Meningkatkan kepabiltas komputer
•
Memiliki kemampuan bekerja dengan sistem informasi yang tidak lengkap dan mengandung ketidak pastian
•
Sebagai media pelengkap dalam penelitian
•
Meningkatkan kepabilitas dalam meneyelesaikan masalah
•
Menghemat waktu dalam pengambiln keputusan.
2.2.3.2 Kelemahan Sistem Pakar Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, diantaranya: •
Biaya yang diperlukan untuk memeliharanya sangat mahal
•
Sulit dikembangkan. Hal ini tentu saj erat kaitannya dengan ketersediaan pakar di bidangnya
•
2.2.4
Sistem pakar tidak benilai 100%, domain kepakaranya sangat terbatas.
Bentuk Sistem Pakar •
Berdiri sendiri. Sistem pakar jenis ini merupakan sistem pakar yang tidak tergantung pada software lainnya.
•
Tergabung. Sistem pakar jenis ini merupakan bagian program yang terkandung didalam suatu algoritma (konvensional), atau merupakan
16 program
dimana
didalamnya
memanggil
algoritma
subrutin
lain
(konvensional). •
Menghubungkan ke software lain. Bentuk ini biasanya merupakan sistem pakar yang menghubungkan ke suatu oaket tertentu, misalnya DBMS.
•
Sistem mengabdi. Sistem pakar yang merupakan bagian dari komputer khusus yang dihubungkan dengan suatu fungsi terstentu. Misalnya sistem pakar yang digunakan untuk membantu menganilisis data radar.
2.2.5
Penggolongan Masalah dalam Sistem Pakar Ada beberapa masalah yang menjadi area luas sistem pakar, antara lain: •
Interpretasi. Pengambilan keputusan dari hasil observasi, termasuk diantaranya: pengawsan, pengenalan citra, analisis citra, interpretasi sinyal dan beberapa analisis kecerdasan.
•
Prediksi.
Termasuk
diantaranya:
peramalan,
prediksi
demografis,
perama;an ekonomi, prediksi lalu lintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan. •
Diagnosis. Termasuk diantaranya: medis, elektronis, mekanis, dan diagnosis perangkat lunak.
•
Perancangan. Termasuk diantaranya: layout sirkuit dan perancangan bangunan.
•
Perencanaan. Termasuk diantaranya: perencanaan keuangan, militer, komunikasi, pengembangan produk, routing, dan manajemen proyek.
•
Monitoring. Misalnya: computer-aided monitoring systems
17 •
Debugging, memberikan jalan keluar dari suatu kesalahan.
•
Perbaikan.
•
Instruksi. Melakukan instruksi untuk diagnosis, debugging, dan perbaikan kerja.
•
Kontrol. Melakukan kontrol terhadap interpretasi, prediksi, perbaikan, dan monitoring kelakuan sistem.
2.2.6
Arsitektur Sistem Pakar Menurut Firebough, sistem pakar memiliki empat bagian penting yang
digambarkan seperti terlihat pada Gambar 2.1.
18 Tampilan Pengguna (user interface)
Mesin Inferensi (inference engine)
Basis Aturan
Basis Informasi
Basis Pengetahuan (Knowledge Base)
Gambar 2.1 Komponen Sistem Pakar
Keempat bagian tersebut adalah sebagai berikut: •
Tampilan pengguna (User Interface): Tampilan pengguna memungkinkan penggunaberkomunikasi dengan sistem pakar melalui papan tombol ataupun layar monitor. Monitor menampilkan pertanyaan-pertanyaan dan kesimpulan dari suatu masalah.
•
Mesin inferensi (Inference Engine):
19 Mesin inferensi ini berisi ‘kecerdasan’ dari suatu sistem pakar. Mesin ini membuat keputusan untuk memecahkan masalah berdasarkan aturan yang berasal dari basis aturan. •
Basis pengetahuan (Knowledge Base): Basis pengetahuan terdiri atas basis aturan dan basis informasi. Basis aturan terdiri dari blok aksi, blok aturan, dan blok pertanyaan. Blok aksi menghasilkan perintah untuk mencari penyelesaian. Blok pertanyaan menghasilkan pertanyaan-pertanyaan kepada user bila di perlukan oleh sistem pakar untuk menghasilkan kesimpulan. Blok aturan membantu sistem pakar memilih pertanyaan yang akan ditanyakan dan bagaimana menggunakan untuk kemudian diteruskan ke blok aksi
•
Basis informasi Basis informasi biasanya terdiri dari kumpulan informasi yang membentuk kesimpulan atau pemecahan masalah. Basis informasi dapt beruapa data, file ASCII
Secara umum keempat bagian dari sistem pakar menjelaskan fungsinya sebagai berikut: tampilan pengguna dapat digunakan untuk memasukan informasi agar dapat dikenal oleh basis pengetahuan., dan di putuskan oleh mesin inferensi bagaimana menyelesaikan masalah ini, lalu pada akhirnya, pengguna akan di suguhi hasil output yang di tampilkan melalui tampilan antar muka.
20
2.2.6.1 Basis Pengetahuan (Knowledge Base) Basis pengetahuan merupakan inti program sistem pakar, dimana basis pengetahuan ini merupakan representasi pengetahuan (knowledge representation) dari seorang pakar (Azis, 1994, p 6). Basis pengetahuan mengadung fakta-fakta berupa rule yang merupakan informasi yang diperlukan dalam membangun berbagai fakta baru. Dari fakta yang sudah diketahui, agar mudah dimengerti, prosedur dan hubungan penerapan fakta satu sama lain akan diterapkan pada pemecahan masalah dan pengambilan keputusan, selain itu, basis pengetahuan merupakan hasil representasi dari pengetahuan yang dimiliki oleh satu atau beberapa orang pakar. Hampir semua basis pengetahuan terfokus pada suatu masalah khusus. Penerapan basis pengetahuan dalam sebuah sistem akan memberikam kemampuan baru pada komputer untuk berpikir, menalar, dan membuat inferensi (mengambil keputusan berdasarkan pengalaman), seta membuat pertimbangan-pertimbangan yang didasarkan kepada fakta yang terkandung dalam basis pengetahuan tersebut. Menurut Turban (1992, p 170-187), terdapat beberapa cara dalam merepresentasikan pengetahuan, antara lain:
2.2.6.1.1
Logika Preposional
21 Salah satu tipe yang tertua dan sederhana dari formal logic adalah syllogism. Dengan kata lain, formal logic lebih erat hubungannya dengan pernyataan sintaks di bandingkan dengan semantik. Dalam proposional logik, menggunakan simbol dalam merepresentasikan berbagai preposisi, premis, atau konklusi. Contoh dari pernyataan diatas adalah sebagai berikut: Pernyataan A: Jika cuaca mendung maka akan hujan. Pernyataan B: Cuaca cerah. Kesimpulan: Tidak akan terjadi hujan.
2.2.6.1.2
Logika Predikat Misalkan diketahui fakta seperti berikut ini:
•
Andi adalah seorang laki-laki : A
•
Anto adalah seorang laki-laki : B
•
Amir adalah seorang laki-laki : C
•
Budi adalah seorang laki-laki : D
•
Agus adalah seorang laki-laki : E Jika kelima fakta tersebut dinyatakan dengan menggunakan preposisi,
maka akan terjadi pemborosan, dimana beberapa pernyataan dengan predikat yang sama akan dibuat dalam preposisi yang berbeda. Logika predikat digunakan untuk merpresentasikan hal-hal yang tidak dapat direpresentasikan dengan menggunakan logika preposisi. Pada logika predikat, kita dapat merepresentasikan fakta-fakta sebagai suatu pernyataan yang di sebut dengan wff (well-formed formula).
22
Pada contoh diatas, dapat dituliskan: Laki2(x) Dimana x adalah variabel yang dapat di subsitusikan dengan: Andi, Anto, Amir, Budi, Agus.
2.2.6.1.3
Jaringan Semantik Jaringan semantik merupakan gambaran pengetahuan grafis yang
menunjukan hubungan anyar berbagai objek. Jaringan sematik terdiri dari lingkaran- lingkaran yang menunjukan obyek dan informasi tentang obyek-obyek tersebut. Obyek disini bisa berupa benda atau peristiwa.Antara 2 obyek dihubungkan oleh arc yang menunjukan hubungan antar objek. Salah satu kelebihan dari jaringan semantik adalah bisa mewariskan. Sebagai contoh pada gambar 2.2 ada garis yang menghubungkan antara JOE dengan BOY (laki-laki) ke HUMAN BEING (makhluk hidup). Sehingga apabila ada pertanyaan: Apakah JOE adalah HUMAN BEING (makhluk hidup)? Maka kita bisa merunut garis dari HUMAN BEING (makhluk hidup), kemudian ke BOY(laki-laki), dan akhirnya ke JOE. Sehingga terbukti bahwa JOE adalah HUMAN BEING (makhluk hidup). Sistem jaringan semantik ini selalu tergantung pada masalah yang akan dipecahkan. Jika masalah itu bersifat umum, maka hanya memerlukan
23 sedikit rincian. Jika ternyata masalah itu banyak melibatkan hal-hal lain, maka didalam jaringan awalnya diperlukan penjelasan yang lebih rinci lagi.
Gambar 2.2 Contoh jaringan semantik
2.2.6.1.4
Naskah (Script) Script adalah skema representasi pengetahuan yang sama dengan
frame, yaitu merepresentasikan pengetahuan berdasarkan karakteristik yang sudah dikenal sebagai pengalaman-pengalaman. Perbedaanya, 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: •
Kondisi input, yaitu kondisi yang harus dipenuhi sebelum terjadi atau berlaku suatu peristiwa dalam script.
•
Track, yaitu variasi yang mungkin terjadi dalam suatu script
•
Prop, yaitu peran pendukung yang dimainkan dalam peristiwa
24 •
Role, yaitu peran yang dimainkan oleh seseorang dalam peristiwa
•
Scene, yaitu adegan yang dimainkan menjadi bagian dari suatu peristiwa.
•
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 Role (Peran): Mahasiswa, pengawas Prop (Pendukung): Lembar soal, lembar jawab, presensi, pena, dll Kondisi input: Mahasiswa terdaftar untuk mengikuti ujian Adegan – 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 do’a
Adegan – 3: Mahasiswa mengerjakan soal ujian •
Mahasiswa menuis identitas di lembar jawab
•
Mahasiswa menandatangani lembar jawab
•
Mahasiswa mengerjakan soal
•
Mahasiswa mengecek jawaba
Adegan – 4: Mahasiswa telah selesai ujian
25 •
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.2.6.1.5
List List adalah daftar tertulis dari
item-item yang berhubungan. Bisa
berupa daftar orang yang anda kenal, barang-barang yang harus dibeli di pasar swalayan, hal-hal yang harus dilakukan minggu in, atau produk-produk dalam suatu katalog. Representasi pengetahuam dengan list dapat dilihat pada gambar 2.3.
26
Gambar 2.3 Representasi Pengetahuan dengan List
2.2.6.1.6
Tabel Keputusan Tabel keputusan adalah pengetahuan yang ditulis dalam format lembar
kerja (spreadsheet), menggunakan kolom dan garis. Representasi pengetahuan dengan tabel dapat dilihat pada tabel 2.3.
27 Tabel 2.3 Representasi Pengetahuan dengan Tabel (Turban dan Frenzel, 1992, p 182)
2.2.6.1.7
Pohon Keputusan Pohon keputusan adalah tree yang berhubungan dengan tabel
keputusan dan sering digunakan dalam analisis sistem (bukan sistem kecerdasan buatan). Representasi pengetahuan dengan tree dapat dilihat pada gambar 2.4.
Gambar 2.4 Representasi Pengetahuan dengan Tree
28 2.2.6.1.8
Objects, Atribut, dan Values Salah satu cara yang paling umum untuk merepresentasikan
pengetahuan adalah menggunakan objects, attribute, dan values (O-A-V Triplets). Objects dapat berupa fisik atau koseptual. Attribute adalah karakteristik dari objects. Values adalah ukuran spesifik dari attribute dalam situasi tertentu. Representasi pengetahuan menggunakan O-A-V triplets dapat dilihat pada gambar 2.5.
Gambar 2.5 Representatif O-A-V
2.2.6.1.9
Frame Frame merupakan kumpulan pengetahuan tentang suatu objek tertentu,
peristiwa, lokasi, situasi, dll. Frame memiliki slot yang menggambatkan rincian (attribute)
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 membuat inferensi tentang obyek, peristiwa, atau situasi baru, karena frame menyediakan basis pengetahuan yang di tarik dari pengetahuan. Berikut adalah contoh deskripsi frame untuk kamar hotel:
29
Kamar Hotel Spesialisai dari : kamar Tempat : hotel Isi : kursi hotel, telpon hotel, ranjang hotel
Kursi Hotel Spesialisasi dari : kursi Tinggi : 20-40 cm Jumlah kaki : 4 Kegunaan : tempat duduk
Ranjang Hotel Spesialisasi dari : ranjang Kegunaan : tempat tidur Bagian : kasur
Telepon Hotel Spesialisasi dari : telepon Kegunaan : memanggil pelayan kamar Pembayaran : melalui kamar Kasur Superkelas : bantal Penetapan : perusahaan
Gambar 2.6 Contoh Frame Pada gambar 2.6 menunjukan frame kamar hotel. Frame tersebut memiliki 3 slot, yaitu ranjang hotel, kursi hotel, dan telepon hotel. Ada beberapa slot yang bernilai tetap, ada pula yang tidak tetap (prosedural). Slot yang bernilai tetap misalkan kasur. Jenis slot lainnya bersifat prosedural, artinya slot yang memungkinkan penambahan informasi baru yang ditambahkan pada atura IF.
2.2.6.1.10
Sistem Produksi Sistem produksi secara umum terdiri dari komponen-komponen
sebagai berikut (gambar 2.7): •
Ruang keadaan, yang berisi keadaan awal, tujuan dan kumpulan aturan yang digunakan untuk mencapai tujuan.
•
Strategi kontrol, yang berguna untuk mengarahkan bagaimana pencarian akan berlangsung dan mengendalikan arah eksplorasi.
30
Gambar 2.7 Contoh Sistem Produksi Sistem produksi ini merupakan salah satu bentuk representasi pengetahuan yang sangat populer dan banyak digunakan adalah sistem produsi. Representasi pengetahuan dengan sistem produksi, pada dasarnya berupa aplikasi aturan (rule) yang berupa: •
Antecendent, yaitu bagian yang mengekspresikan situasi atau premis (pernyataan berawalan IF).
•
Kosekuen, yaitu bagian yang menyatakan suatu tindakan tertentu atau konklusi yang dinyatakan benar, jika bagian IFpada sistem tersebut juga benar atau sesuai dengan aturan tertentu.
31 2.2.6.2 Basis Data (Database) Basis data adalah bagian yang mengandung semua fakta-fakta, baik fakta awal pada saat sistem mulai beroprasi maupun fakta yang didapat saat pengambilan kesimpulan sedang dilaksanakan (Azis, 1994, p 6).
2.2.6.3 Mesin Inferensi (Inference Engine) Mesin inferensi bertugas untuk menganalisa pengertian dan menarik kesimpulan berdasarkan basis pengetahuan. Mesin inferensi adalah suatu rangkaian prosedur untuk menguji basis pengetahuan dengan cara yang sistematis pada saat menjawab pertanyaan, memecahkan persoalan, membuat keputusan dalam suatu domain yang sudah ditentukan. Cara komputer berpikir tentang suatu subjek domain, mesin inferensi melakukan pelacakan melalui basis pengetahuan. Terdapat beberapa metode inferensi dalam pemecahan masalah antara lain:
2.2.6.3.1
Metode Penelusuran Terdapat dua teknik dalam metode inferensi dengan penelusuran, yaitu:
•
Penelusuran ke depan (forward chaining) Teknik penelusuran kedepan (forward chaining) memulai dari awal
keadaan atau kumpulan fakta keadaan akhir. Arah pencarian masalah dimulai dari keadaan awal menuju kepada keadaan tujuan pertama-tama, dengan dibuat pohon (tree) terlebih dahulu, dari setiap urutan gerakan yang mungkin. Kemudian tingkatan pohon ditelusuri dari awal dengan mencari semua kemungkinan yang mempunyai
32 aturan angka yang cocok, dan cara tersebut diulang hingga ditemukan keadaan yang sesuai, seperti terlihat pada gambar 2.8
Gambar 2.8 Contoh diagram penelusuran ke depan
•
Penelusuran ke belakang (backward chaining) Teknik penelusuran ke belakang (backward chaining) memulai pelacakan
dari keadaan tujuan yang menuju kepada fakta-fakta yang mendukung keadaan awal. Arah pelacakan dimulai dari keadaan tujuan menuju pada keadaan awal, yang pertama kali dilakukan adalah mendifinisikan terlebih dahulu keadaan akhir, kemudian menelusuri keadaan yang mungkin dari pohon berikutnya sampai terjadi keadaan awal, seperti terlihat pada gambar 2.9.
33
Gambar 2.9 Contoh diagram penelusuran kebelakang
2.2.6.3.2
Metode Pencarian Menurut Turban (1992, p 53-56), ada dua metode pencarian yaitu
pencarian melebar pertama (breadth-first search) dan pencarian mendalam pertama (depth-first search). •
Breadth-first search Metode pencarian melebar pertama (breadth-first search) dimulai dari
simpul (node) akar (root). Simpul-simpul pada setiap tingkat diperiksa secara lengkap sebelum berpindah ke tingkat berikutnya sampai di capai simpul tujuan. Metode ini biasanya selalu menemukan jalur terpendek antara pertanyaan awal dan pertanyaan tujuan, dengan jumlah awal dan bekerja menurun dalam pohon pencarian dari kiri ke kanan, seperti terlihat pada gambar 2.10.
34
Gambar 2.10 Diagram breadth-first search •
Depth-first search Metode pencarian mendalam pertama (depth-first search) dimulai dari
simpul akar, dan bekerja menurun ke tingkat yang sama, apabila sudah mencapai tingkat yang paling dalam dan belum ditemukan simpul tujuan, maka proses pencarian akan kembali ke simpul tertinggi berikutnya, dimana terdapat jalur tambahan untuk ditelusuri. Metode ini menjamin sebuah solusi tetapi penelusuran mungkin menjadi sangat panjang, seperti yang dapat dilihat pada gambar 2.11.
Gambar 2.11 Diagram depth-first search
35 2.2.6.3.3
Faktor Kepastian (Certainty Factor) Certainty factor (CF) menunjukan ukuran kepastian terhadap suatu fakta
atau aturan. Sistem pakar harus mampu bekerja dalam ketidak-pastian (Giarattano dan Riley, 1994). Sejumlah teori telah ditemukan untuk menyelesaikan ketidakpastian, termasuk diantaranya, probabilitas klasik (classical probability), probabilitas Bayes (Bayesian probability), teori Hartley berdasarkan himpunan klasik (Hartley theory based on classical set), terori Shannon berdasarkan pada probabilitas (Shanon theory based on probability), teori Dempster-Shafer (Dempster-Shafer Theory), teori fuzzy Zadeh (Zadeh’s fuzzy theory), dan faktor kepastian (certainty factor). Faktor kepastian merupakan cara dari penggabungan kepercayaan (belief), dan ketidak-percayaan (unbelief) dalam bilangan yang tunggal. Dalam certainty theory, data-data kualitatif direpresentasikan sebagai derajat keyakinan (degree of belief). Tahapan dalam merepresentasikan data-data kuantitatif: 1.
Kemampuan untuk mengekspresikan derajat keyakinan sesuai dengan metode yang dibahas sebelumnya.
2.
Kemampuan untuk menempatkan dan mengkombinasikan derajat keyakinan tersebut dalam sistem pakar.
Dalam mengekspresikan derajat keyakinan digunakan suatu nilai yang disebut dengan certain factor (CF) untuk mengasumsikan derajat keyakinan seorang pakar terhadap suatu data. Certainty factor didefinisikan pada persamaan berikut (Giarattano dan Riley, 1994):
36 CF (H,E) = MB (H,E) – MD (H,E) Dimana: CF (H,E): certainty factor dari hipotesis H yang dipengaruhi oleh gejala (evidence) E. Besarnya CF berkisar antara -1 sampai dengan 1. Nilai -1 menunjukan ketidak-percayaan mutlak sedangkan nilai 1 menunjukan kepercayaan mutlak. MB (H,E): ukuran kenaikan kepercayaan (measure of increased belief) terhadap hipotesis H yang dipengaruhi oleh gejala E. MD (H,E): ukuran kenaikan ketidak-percayaan (measure of increased disbelief) terhadap hipotesis H yang dipengaruhi oleh gejala E. Bentuk dasar rumus certainty factor sebuah aturan JIKA E MAKA H adalah seperti ditunjukan oleh persamaan berikut: CF (H,e) = CF (E,e) * CF (H,E) Dimana: CF (E,e): certainty factor evidence E yang dipengaruhi oleh evidence e. CF (H,E): certainty faktor hipotesis dengan asumsi evidence diketahui dengan pasti, yaitu ketika CF (E,e) = 1. CF (H,e): certainty factor hipotesis yang dipengaruhi oleh evidence e. Jika semua evidence pada antecedent diketahui dengan pasti maka persamaanya akan menjadi: CF (H,e) = CF (H,E) Dalam aplikasinya, CF (H,E) merupakan nilai kepastian yang diberikan oleh suatu pakar terhadap suatu aturan, sedangkan CF (E,e) merupakan nilai
37 kepercayaan yang diberikan oleh pengguna terhadap gejala yang dialaminya. Sebagai contoh, berikut ini adalah aturan CF yang diberikan oleh seorang pakar: JIKA batuk DAN demam DAN sakit kepala DAN bersin-bersin MAKA influenza, CF = 0,7
2.3 Hypertext Markup Language (HTML). HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet (http://id.wikipedia.org/wiki/HTML). Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). Versi terakhir dari HTML adalah HTML 4.01, meskipun saat ini telah berkembang XHTML yang merupakan pengembangan dari HTML. HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox
38 atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser. HTML dokumen tersebut mirip dengan dokumen teks biasa, hanya dalam dokumen ini sebuah teks bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal dengan TAG tertentu. Sebagai contoh jika ingin membuat teks ditampilkan menjadi tebal seperti: TAMPIL TEBAL, maka penulisannya dilakukan dengan cara: TAMPIL TEBAL. Tanda digunakan untuk mengaktifkan instruksi cetak tebal, diikuti oleh teks yang ingin ditebalkan, dan diakhiri dengan tanda untuk menonaktifkan cetak tebal tersebut. Secara garis besar, terdapat 4 jenis elemen dari HTML: •
structural. tanda yang menentukan level atau tingkatan dari sebuah teks (contoh,
Golf
akan memerintahkan browser untuk menampilkan "Golf" sebagai teks tebal besar yang menunjukkan sebagai Heading 1
•
presentational. tanda yang menentukan tampilan dari sebuah teks tidak peduli dengan level dari teks tersebut (contoh, boldface akan menampilkan bold. Tanda presentational saat ini sudah mulai digantikan oleh CSS dan tidak direkomendasikan untuk mengatur tampilan teks,
•
hypertext. tanda yang menunjukkan pranala ke bagian dari dokumen tersebut atau pranala