IMPLEMENTASI ALGORITMA BREADTH FIRST SEARCH DAN STRING MATCHING PADA SISTEM PAKAR

dokumen-dokumen yang mirip
Pemanfaatan Algoritma BFS pada Graf Tak Berbobot untuk Mencari Jalur Terpendek

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

1, 2, 3

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

Penerapan Algoritma Greedy dan Algoritma BFS untuk AI pada Permainan Greedy Spiders

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Penerapan Algoritma Transversal pada Graf dan Algoritma Pencocokan String dalam Sistem Jual-Beli Tiket Bioskop

Analisis Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore dalam Proses Pencarian String

Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem

APLIKASI ALGORITMA PENCOCOKAN STRING KNUTH-MORRIS-PRATT (KPM) DALAM PENGENALAN SIDIK JARI

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

IMPLEMENTASI PROGRAM DINAMIS DENGAN ALGORITMA NEEDLEMAN-WUNSCH PADA PENSEJAJARAN DNA DAN PROTEIN

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

Algoritma Pencarian String Knuth-Morris-Pratt Dalam Pengenalan Tulisan Tangan

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Penggunaan Algoritma Pathfinding pada Game

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

PENGGUNAAN ALGORITMA GREEDY PADA MESIN PENCARI

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE

PENYELESAIAN MASALAH MISSIONARIES DAN CANNIBAL MENGGUNAKAN ALGORITMA DFS DENGAN VARIASI PENGHINDARAN REPEATED STATE

PENERAPAN ALGORITMA BFS PADA CHINESE SLIDE BLOCK PUZZLE (KLOTSKI)

PERANCANGAN SYSTEM PAKAR GENERIC MENGGUNAKAN BINARY TREE

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

Pencarian Lintasan Terpendek Pada Aplikasi Navigasi Menggunakan Algoritma A*

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

BFS dan DFS. Bahan Kuliah IF2151 Strategi Algoritmik. Oleh: Rinaldi Munir

Penerapan Algoritma BFS dan DFS pada Permainan Logika Wolf, Sheep, and Cabbage

Penggunaan Algoritma Knuth-Morris-Pratt untuk Pengecekan Ejaan

Penerapan Teori Graf Pada Algoritma Routing

Penerapan Algoritma Greedy Pada Game Tower Defense: Tower of Greece

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

Pengetahuan 2.Basis data 3.Mesin Inferensi 4.Antarmuka pemakai (user. (code base skill implemetation), menggunakan teknik-teknik tertentu dengan

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Mendeteksi Blob dengan Menggunakan Algoritma BFS

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

Penerapan Algoritma Greedy pada Intelegensia Buatan untuk Transfer Pemain dalam Permainan Simulasi Sepakbola

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

Algorima Greedy Pada Self Serve Gas Station

Representasi Graf Berarah dalam Mencari Solusi Jalur Optimum Menggunakan Algoritma A*

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

APLIKASI ALGORITMA KNUTH-MORRIS-PRATT PADA MESIN PENCARI KATA UNTUK LINGKUNGAN WEBSITE MAHASISWA INFORMATIKA 2005

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

VARIASI PENGGUNAAN FUNGSI HEURISTIK DALAM PENGAPLIKASIAN ALGORITMA A*

Algoritma Pencarian String dalam Pemilihan Anggota Sebuah Organisasi

Implementasi Algoritma DFS pada permainan Monument Valley

Branch and Bound untuk Rute Terpendek Tur Pengenalan Labtek V Gedung Benny Subianto Chita Najmi Nabila /

Penggunaan Algoritma Runut-balik Pada Pencarian Solusi dalam Persoalan Magic Square

Kode MK/ Pemrograman Terstruktur 2

Penggunaan Algoritma Backtracking pada Permainan Mummy Maze

Menentukan Titik Evakuasi Selanjutnya bagi Sekelompok Regu Tim SAR dengan Algoritma Branch and Bound

Solusi Terbaik Permainan Rocket Mania Deluxe dengan Pendekatan Algoritma BFS dan Algoritma Greedy

Penerapan Algoritma Greedy dalam Optimasi Keuntungan Perusahaan Pengiriman Barang

PERBANDINGAN ALGORITMA BFS DAN DFS DALAM PEMBUATAN RUTE PERJALANAN OBJEK PERMAINAN 2 DIMENSI

PENERAPAN ALGORITMA RUNUT BALIK DALAM PERMAINAN TEKA-TEKI SILANG

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Kombinasi Algoritma Pattern Matching dan BFS-DFS pada aplikasi Music Discovery

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Penerapan Algoritma Knuth-Morris-Pratt dalam Music Identification (Musipedia)

Penerapan Algoritma Brute force dan Greedy pada Penjadwalan Disk

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool

PENCARIAN BARANG DALAM BASIS DATA ONLINE SHOP MENGGUNAKAN ALGORITMA BFS, DFS, DAN KMP

Penerapan BFS dan DFS dalam Garbage Collection

Optimisasi Penjadwalan Proses Pada Central Processing Unit Dengan Menggunakan Algoritma Greedy

MAKALAH STRATEGI ALGORITMIK (IF 2251) ALGORITMA RUNUT BALIK DALAM GAME LABIRIN

Penerapan Algoritma BFS dan DFS dalam Permainan Ular Tangga

Penilaian Ujian Tertulis Menggunakan Algoritma Pattern Matching IF3051 Strategi Algoritma

OPTIMALISASI PENELUSURAN GRAF MENGGUNAKAN ALGORITMA RUNUT-BALIK

PENCARIAN MAKSIMUM CLIQUE DALAM GRAF DENGAN MENGGUNAKAN ALGORITMA BRANCH AND BOUND

Penerapan Algoritma Brute Force pada permainan Countdown Number

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

PENGGUNAAN ALGORITMA BACKTRACKING DALAM PENYELESAIAN PERMAINAN SUDOKU

Pencarian Solusi Optimal dalam Permainan Congklak dengan Program Dinamis

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

ALGORITMA MENCARI LINTASAN TERPENDEK

Penentuan Lokasi Pemasaran Produk dengan Media Periklanan Menggunakan Algoritma Greedy

Penerapan algoritma Greedy dalam penentuan Porter Generic Strategies untuk suatu perusahaan

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

Pengaturan Sistem Lampu Lalu Lintas dengan Algoritma Branch and Bound dengan Waktu Tunggu Menggunakan Algoritma Greedy

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir

Aplikasi Algoritma Runut Balik dalam Pembangkitan Elemen Awal Permainan Sudoku

Transkripsi:

IMPLEMENTASI ALGORITMA BREADTH FIRST SEARCH DAN STRING MATCHING PADA SISTEM PAKAR Abstrak Fajar J. Ekaputra 1, Windarto Harimurti 2, Aqsa Adhiperwira 3 Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if13079@students.if.itb.ac.id 1, if13089@students.if.itb.ac.id 2, if13090@students.if.itb.ac.id 3 Dalam mendapatkan sebuah solusi yang paling tepat untuk memecahkan berbagai permasalahan yang dihadapi, dibutuhkan informasi-informasi yang berhubungan dengan permasalahan tersebut, agar solusi yang dihasilkan merupakan solusi yang terbaik untuk diimplementasikan pada permasalahan tersebut. Dalam kehidupan nyata, kita dapat menggunakan jasa konsultan untuk membantu kita dalam menyelesaikan permasalahan yang dihadapi, yaitu membantu kita dalam memberikan alternatif solusi dari himpunan solusi yang ada, sehingga pilihan solusi tersebut merupakan pilihan solusi yang paling merepresentasikan jawaban dari permasalahan yang sedang dihadapi. Jasa konsultasi seperti itu, dapat diimplementasikan dalam bentuk sebuah aplikasi yang dapat memproses informasi-informasi yang telah diberikan, kemudian dapat menghasilkan sebuah himpunan solusi permasalahan yang paling tepat untuk diimplementasikan. Aplikasi tersebut dapat dikembangkan dengan memanfaatkan berbagai algoritma, yaitu algoritma Bread First Search dan String Matching. Kata kunci: Aplikasi, Breadth First Search, String Matching, Sistem Pakar 1. Pendahuluan Ketika dihadapkan pada suatu problematika tertentu, seseorang tentu ingin solusi pemecahan masalah tersebut memiliki spesifikasi yang sesuai dengan keinginan dari orang tersebut. Biasanya seseorang berkonsultasi dengan seorang ahli atau Expert di bidang problematika tersebut. Sesuai dengan kemajuan teknologi komputasi dan algoritma, kini aplikasi komputer mampu memiliki kemampuan untuk berpikir sendiri dan memberikan solusi terbaik dalam domain permasalahan tertentu sesuai denga spesifikasi yang diberikan oleh pengguna. Aplikasi tersebut dinamakan Expert System atau Sistem Pakar Kemampuan Sistem pakar tersebut diperoleh dengan implementasi suatu algoritma yang membandingkan antara masukkan spesifikasi dari pengguna dengan karakteristik dari berbagai macam himpunan solusi yang dimiliki oleh sistem ahli. Algoritma yang dipakai dalam sistem ahli tersebut adalah Algoritma Breadth First Search dan String Matching 2. Ruang Lingkup Ruang lingkup tugas yang kami kerjakan mencakup penjelasan dari semua hal yang terdapat didalam pengembangan sistem pakar. Diantaranya termasuk sistem pakar itu sendiri, algoritma BFS dan String Matching. Kemudian setelahnya akan diperbandingkan hasil dari kedua algoritma tersebut untuk memperoleh algoritma terbaik untuk permasalahan ini. 3. Sistem Pakar Sistem pakar merupakan implementasi program komputer yang terdiri dari kumpulan aturan yang digunakan untuk menganalisis informasi tentang suatu permasalahan yang spesifik. Informasi yang dimiliki pada umumnya diberikan oleh pakar suatu permasalahan yang berperan sebagai pengguna sistem. Tujuan sistem pakar adalah menghasilkan solusi yang tepat untuk menjawab suatu permasalahan. [http://wikipedia.org]. Sistem pakar mampu bertindak layaknya seorang manusia, dapat menganalisis permasalahan, mempelajari, kemudian membuat keputusan untuk memecahkan permasalahan yang dihadapi dalam suatu domain permasalahan tertentu. Sistem pakar kedokteran sebagai implementasi sistem pakar dengan domain permasalahan di bidang kedokteran adalah salah satu contoh penerapan sistem pakar. Sistem pakar merupakan kesatuan sistem yang terdiri dari knowledge base (basis pengetahuan), mesin inferensi, dan antarmuka. Basis pengetahuan berfungsi menyimpan data berupa facts (fakta-fakta) dan rules (aturan-aturan). Mesin inferensi merupakan 1

implementasi algoritma pemrograman yang bertugas menganalisis query (pertanyaan) dari pengguna sistem, memanfaatkan basis pengetahuan yang dimilikinya, kemudian memproses jawaban sehingga didapatkan solusi yang tepat. Antarmuka yang menghubungkan sistem pakar dengan pengguna sistem, bertugas menerima pertanyaan-pertanyaan dari pengguna, kemudian menampilkan solusi dari pertanyaan tersebut. Fakta-fakta yang terdapat pada basis pengetahuan merupakan informasi-informasi yang diberikan oleh seorang pakar. Aturan-aturan pada basis pengetahuan berfungsi menganalisis pertanyaan-pertanyaan yang diberikan, apakah sesuai dengan informasi-informasi yang dimiliki. Proses analisis yang dilakukan terhadap pertanyaanpertanyaan yang diberikan, dapat menggunakan beberapa pilihan algoritma pencarian. Bread First Search (BFS) ataupun String Matching, dapat digunakan untuk mencari dan mencocokkan pertanyaan yang diberikan oleh pengguna sistem dengan informasiinformasi yang terdapat pada basis pengetahuan. 4. Algoritma Breadth First Search 4.1 Pendahuluan Algoritma Breadth First Search adalah sebuah algoritma yang digunakan dalam mencari suatu solusi dalam himpunan solusi yang direpresentasikan dalam bentuk Pohon. Pohon disini bisa dibentuk secara dinamis maupun static. 4.2 Sistem Kerja Algoritma Pada Algoritma ini, Pencarian dilakukan pada Akar Pohon. Akar dibaca dan dimasukkan ke dalam sebuah Antrian dan dibandingkan apakah sudah sesuai dengan solusi. Jika tidak, maka Pencarian dilanjutkan kepada Simpul yang bertetangga dengan Simpul akar namun belum dikunjungi selama pencarian, dimana simpul tersebut akan dimasukkan ke antrian dan akan dibandingkan kembali. Proses dilanjutkan sampai Solusi ditemukan atau semua simpul pada pohon dikunjungi namun solusi belum ditemukan. 4.3 Implementasi Sistem pakar mampu memberikan solusi dari problematika pengguna, oleh karena itu pada system pakar diimplementasikan prosedur untuk menampilkan pertanyaan, dari pertanyaan tersebut pengguna akan memberikan jawaban. Prosedur pertanyaan itu merupakan representasi dari inference machine pada sistem pakar. Pada sistem pakar tersebut juga diimplementasikan himpunan solusi yang sudah memiliki karakteristik tertentu. Setiap elemen dari himpunan solusi memiliki himpunan karakteristik lebih dari satu. Himpunan solusi disini merupakan representasi dari basis pengetahuan pada sistem pakar Aplikasi akan meng-interpretasikan jawaban yang diberikan oleh pengguna sebagai salah satu spesifikasi dari solusi, dan akan menyeleksi Himpunan Solusi dengan sesuai dengan spesifikasi pengguna dengan algoritma BFS Pada Algoritma ini, yang harus dilakukan adalah membentuk suatu pohon yang setiap simpulnya adalah salah satu karakteristik dari himpunan solusi. Pembentukan pohon pada algoritma ini dengan mengambil salah satu elemen dari himpunan karakteristik dalam Himpunan solusi, kemudian dari Tipe karakteristik tersebut akan dicari jenis-jenis karakteristik, jenis karakteristik inilah yang akan dijadikan simpul anak. Simpul anak tersebut juga akan membentuk simpul anak dibawahnya dengan cara mengambil tipe karakteristik yang masih ada pada himpunan karakteristik, dan kemudian akan menggunakannya untuk mencari jenis karakteristiknya. Cara tersebut dilakukan sampai himpunan karakteristik sudah kosong. Metode pencarian solusi itu dilakukan dengan cara menyusuri pohon solusi yang terbentuk. Ketika pengguna memberikan spesifikasi, sistem pakar akan memberikan interpretasi jawaban. Interpretasi tersebut akan dibandingkan terhadap Pohon solusi yang sudah terbentuk. Pertama akar akan membandingkan hasil interpretasi dengan semua Simpul anak yang bertetangga, jika sesuai dengan salah satu simpul, maka simpul yang lain akan dimatikan. Jika pengguna memasukkan spesifikasi yang lain, hasil interpretasi sistem pakar akan dibandingkan dengan anak pohon dari simpul yang hidup. Proses tersebut akan berjalan sampai pengguna berhenti memasukkan spesifikasi atau Pohon solusi sudah sampai pada anak pohon yang terakhir. Hasil dari pohon solusi aka disimpam pada suatu variabel dan akan dibandingkan dengan Himpunan solusi dari sistem pakar. Himpunan solusi akan mengeluarkan solusi berdasarkan pada input pengguna terhadap Pohon Solusi sistem pakar. 4.4 Pseudo Code S = {Himpunan Solusi Sistem Pakar C = {Himpunan Tipe Karakteristik dari himpunan solusi SC(elemen dari C) = {Himpunan Jenis karakteristik berdasarkan tipe karakteristik tertentu //Prosedur membuat Pohon do { Ctemp {C; 2

Delete Ctemp from {C; do{ SCtemp {SC(Ctemp); If (NotElemenPohon(SCtemp)) then BuatSimpulAnak(SCtemp); while( SCtemp = {); while(ctemp = {); Jika Pengguna memasukkan spesifikasi dan sistem pakar meng-interpretasikan sebagai Sebuah Motor Sport, maka pohon solusi akan membentuk seperti : // Prosedur Pencarian Solusi BeginFromAkar(); // mulai dari akar Interpretation(Hasil); // sistem pakar memberika interpretasi dari jawaban pengguna dan disimpan di hasil boolean ketemu = false; while not ketemu do { if IsSimpulAnak(Hasil) then { DeleteAkarLama(); //menghapus akar lama BuatAkarBaru(); //membuat akar baru pada simpul anak HapusSimpulAnakLain(); //menghapus simpul anak yang lain yang bertetangga dengan Akar lama else { CariSimpulAnak(); //mencari simpul anak yang lain 4.5 Contoh Algoritma Sebuah Sistem Pakar Kendaraan Roda Dua, memiliki Himpunan Solusi : Kymco Free (Skuter, 2 tak) Kymco Jetmatic (Skuter, 4 tak) Kawasaki Ninja (Sport, 4 tak) Honda Supra Fit (Standar, 2 tak) Tipe karakteristik di atas adalah Jenis Motor dan Teknologi Motor. Jenis Karakteristik dari Tipe Jenis Motor adalah Skuter, Sport, dan Standar. Jenis karakteristik dari Teknologi motor adalah 2 tak dan 4 tak. Berdasarkan karakteristik dari himpunan solusi itu maka dapat terbentuk suatu Pohon Solusi seperti : maka pada giliran berikutnya sistem pakar akan mengarahkan pertanyaan pengguna kepada pilihan 2 Tak atau 4 Tak. Jika ternyata pengguna memasukkan pilihan 2 Tak maka pohon yang terbentuk. Sistem Pakar akan mengeluarkan sebuah solusi berupa 5. Algoritma String Matching 5.1 Pendahuluan Algoritma String Matching adalah sebuah algoritma yang digunakan dalam pencocokkan suatu pola kata tertentu terhadap suatu kalimat atau teks panjang. Algoritma String Matching sendiri dapat dilakukan dengan beberapa cara tertentu, antara lain cara Lempang dan cara Knuth,Morris, Pratt(KMP). 5.2 Sistem Kerja Algoritma Cara Lempang(Brute Force) dilakukan dengan membandingkan seluruh elemen karakter pada pola dengan kalimat atau teks panjang, dimulai pada elemen karakter pertama pada kalimat tersebut. Jika tidak sesuai maka pembandingan dimulai dengan elemen kedua dari kalimat tersebut. Cara KMP dilakukan dengan menghitung fungsi pinggiran dari pola terlebih dulu dan kemudian akan dilakukan perbandigan antara pola dan elemen pertama dari kalimat, jika tidak sesuai, maka perbandingan tidak dilakukan padaelemen kedua, namun tergantung dari nilai yang akan dikeluarkan oleh fungsi pinggiran tersebut. padajurnal ini, tidak dibahas lebih lanjut mengenai cara ini, karena yang akan kita gunakan adalah cara lempang 3

5.3 Implementasi Implementasi hampir sama seperti ketika dengan implementasi dengan Algoritma Breadth First Search. Sistem pakar memiliki prosedur untuk menghasilkan pertanyaan, yang akan dijawab oleh pengguna. Jawaban pengguna ini akan diinterpretasikan oleh sistem pakar sebagai spesifikasi dari solusi yang diinginkan oleh pengguna. Sistem pakar juga memiliki himpunan solusi yang memiliki karakteristik tertentu. Dimana setiap elemen dari himpunan solusi memiliki karakteristik lebih dari satu. Pada Algoritma ini, jawaban dari pengguna akan digolongkan menjadi tipe karakteristik oleh sistem pakar. Dari tipe karakteristik tersebut, maka akan dicari jenis karakteristik, umumnya disimpan dalam sebuah format string, yang sesuai dengan interpretasi jawaban pengguna oleh sistem pakar. Jika jenis karakteristik cocok dengan interpretasi sistem pakar, maka elemen Solusi tersebut akan disimpan dalam sebuah himpunan solusi sementara 1, proses pencocokan itu akan berjalan sampai semua elemen himpunan solusi sudah dicocokkan. Jika pengguna memasukkan memasukkan spesifikasi yang lain, maka sistem pakar akan menggolongkannya terlebih dahulu menjadi tipe karakteristik tertentu untuk kemudian mencari jenis karakteristik yang sesuai dengan interpretasi sistem pakar dari input pengguna. Seluruh elemen Solusi yang memiliki kecocokkan string karakteristik dengan interpretasi sistem pakar akan dimasukkan ke dalam himpunan solusi sementara 2. Sistem pakar akan melakukan pengirisan ( ) terhadap Himpunan solusi sementara 1 dan himpunan solusi sementara 2. Hasil dari pengirisan akan dimasukkan kepada variabel Solusi final. Jika pengguna memasukkan spesifikasi lagi, maka proses tersebut akan berulang, sampai pengguna berhenti untuk memasukkan spesifikasi. Solusi yang dihasilkan adalah solusi yang terdapat pada variabel Solusi Final. 5.4 Contoh Algoritma Sebuah Sistem Pakar Kendaraan Roda Dua, memiliki Himpunan Solusi : Kymco Free (Skuter, 2 tak) Kymco Jetmatic (Skuter, 4 tak) Kawasaki Ninja (Sport, 4 tak) Honda Supra Fit (Standar, 2 tak) Tipe karakteristik di atas adalah Jenis Motor dan Teknologi Motor. Jenis Karakteristik dari Tipe Jenis Motor adalah Skuter, Sport, dan Standar. Jenis karakteristik dari Teknologi motor adalah 2 tak dan 4 tak. Ketika pengguna memasukkan sebuah spesifikasi dan sistem pakar meng-interpretasikannya sebagai Motor Standar, sehingga akan membentuk sebuah himpunan solusi sementara 1 berupa himpunan motor standar. Honda Supra Fit Honda Supra X125 ketika pengguna memasukkan spesifikasi berikutnya dan system pakar meng-interpretasikannya sebagai sebuah motor yang memiliki system 4 tak. Maka akan terbentuk sebuah himpunan solusi sementara 2 yaitu himpunan motor 4 Tak. Kymco Jetmatic Kawasaki Ninja Honda Supra X125 system pakar kemudian akan mengiris himpunan solusi sementara 1 atau himpunan motor standar dengan himpunan solusi sementara 2 atau himpunan motor 4 tak, sehingga akan menghasilkan himpunan seperti : dan akan menghasilkan sebuah solusi yaitu 6. Kesimpulan Kesimpulan yang didapat dari uraian diatas adalah bahwa masing-masing algoritma penyelesaian ternyata memiliki kelebihan dan kekurangan masing-masing dalam penyelesaiannya. Dalam sistem pakar menggunakan algoritma BFS, penggunaan basis data yang digunakan sebagai representasi dari knowledge base atau sistem pengetahuan akan diminimalisir, sehingga hanya akan mencakup basis data yang diperlukan saja. Mengapa? Hal itu terjadi karena setiap kali sebuah pertanyaan dijawab, jumlah solusi yang digunakan untuk 4

pertanyaan berikutnya akan semakin berkurang. Hal ini tidak berarti banyak jika basis data yang digunakan kecil, namun pengaruhnya akan terasa jika database yang digunakan sangat besar. Penggunaan algoritma BFS juga memiliki kelemahan, yaitu bahwa pertanyaan yang diajukan harus berdasarkan urutan tertentu, dan juga, setiap pertanyaannya haruslah spesifik untuk jalur yang dilalui. Berbeda dengan pada penggunaan algoritma String Matching, pencarian dilakukan dengan selalu mencocokkan setiap pertanyaan dengan semua anggota himpunan. Sehingga keseluruhan anggota himpunan akan diakses ketika setiap kali pertanyaan yang diajukan sistem pakar memperoleh jawaban. Kebalikan dari algoritma BFS, pada algoritma String Matching urutan pertanyaan tidaklah penting, sehingga tidak perlu dilakukan pembuatan jalur-jalur pertanyaan seperti yang dilakukan pada algoritma BFS. 7. Daftar Pustaka 1. Russel, Stuart dan Norvig, Peter (2003), Artifisial Intelegence, A Modern Aproach, Second Edition, Prentice-Hall 2. Munir, Rinaldi (2005), Diktat Strategi Algoritmik, Informatika ITB 3. www.wikipedia.org 5