BAB II DASAR TEORI. Sistem pakar atau Expert System biasa disebut juga dengan knowledge

dokumen-dokumen yang mirip
Struktur Sistem Pakar

BAB 2 TINJAUAN TEORI. Artificial Intelligence. Jika diartikan Artificial memiliki makna buatan,

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

Expert System. Siapakah pakar/ahli. Pakar VS Sistem Pakar. Definisi

Pengenalan Sitem Pakar

BAB 2 LANDASAN TEORI

By: Sulindawaty, M.Kom

Sistem Pakar. Pertemuan 2. Sirait, MT

MODEL HEURISTIK. Capaian Pembelajaran. N. Tri Suswanto Saptadi

BAB 1 PENGENALAN SISTEM PAKAR

MENGENAL SISTEM PAKAR

Untung Subagyo, S.Kom

SISTEM PAKAR BERBASIS WEB UNTUK DIAGNOSA HAMA DAN PENYAKIT PADA TANAMAN MELON

BAB I PENDAHULUAN. Perkembangan komputer sekarang ini sangat pesat dan salah. satu pemanfaatan komputer adalah dalam bidang kecerdasan buatan.

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

2/22/2017 IDE DASAR PENGANTAR SISTEM PAKAR MODEL SISTEM PAKAR APLIKASI KECERDASAN BUATAN

BAB 2 LANDASAN TEORI

Pendahuluan PENGERTIAN SISTEM PAKAR

1. Pendahuluan. dengan reformasi adminstrasinya telah menyediakan layanan prima pada jam

Sistem Pakar Untuk Mendeteksi Kerusakan Pada Sepeda Motor 4-tak Dengan Menggunakan Metode Backward Chaining

Definisi Keuntungan dan kelemahan Konsep Dasar Bentuk dan Struktur Sistem Basis Pengetahuan Metode Inferensi Ciri-ciri Aplikasi dan Pengembangannya

Gambar 3.1 Arsitektur Sistem Pakar (James Martin & Steve Osman, 1988, halaman 30)

BAB II LANDASAN TEORI. Dalam bab ini akan menjelaskan pengertian sebuah sistem pakar, komponen

BAB 2 LANDASAN TEORI

SISTEM PAKAR. Entin Martiana Jurusan Teknik Informatika - PENS

PERANCANGAN SYSTEM PAKAR GENERIC MENGGUNAKAN BINARY TREE

BAB II LANDASAN TEORI. Landasan teori atau kajian pustaka yang digunakan dalam membangun

BAB VI SISTEM PAKAR. Bahan Ajar Kecerdasan Buatan

PEMANFAATAN TEKNOLOGI KNOWLEDGE-BASED EXPERT SYSTEM UNTUK MENGIDENTIFIKASI JENIS ANGGREK DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

PEMANFAATAN IT DENGAN MENGGUNAKAN SISTEM PAKAR UNTUK MEMBANTU MEMAJUKAN KOPERASI DI INDONESIA

SISTEM PAKAR ANALISIS PENYAKIT LUPUS ERITEMATOSIS SISTEMIK PADA IBU HAMIL MENGGUNAKAN METODE FORWARD CHAINING

APLIKASI SHELL SISTEM PAKAR

SISTEM CERDAS UNTUK PENGENALAN PENYAKIT PADA AYAM RAS

Pengantar Kecerdasan Buatan (AK045218) Sistem Pakar. Sistem Pakar 1/17

SISTEM PAKAR UNTUK MENENTUKAN TIPE AUTISME PADA ANAK USIA 7-10 TAHUN MENGGUNAKAN METODE FORWARD CHAINING. Agam Krisna Setiaji

BAB III TEORI DASAR SISTEM PAKAR DAN SISTEM KONTROL BERBASIS SISTEM PAKAR 20 BAB III TEORI DASAR SISTEM PAKAR DAN SISTEM KONTROL BERBASIS SISTEM PAKAR

PEMAKAI SISTEM PAKAR UTHIE

SISTEM PAKAR IDENTIFIKASI HAMA DAN PENYAKIT TANAMAN JAGUNG BERBASIS WEB (STUDI KASUS : DINAS TANAMAN PANGAN DAN HORTIKULTURA KAB INHIL)

P12 AI, ES & DSS. A. Sidiq P. Universitas Mercu Buana Yogyakarta

Expert System. MATA KULIAH : Model & Simulasi Ekosistem Pesisir & Laut. Syawaludin A. Harahap 1

Definisi Sistem Pakar

PROGRAM SISTEM PAKAR DALAM MEMBANTU CALON MAHASISWA MENENTUKAN MINAT STUDI DI UNIVERSITAS

FORWARD & BACKWARD CHAINING SISTEM PAKAR

SISTEM PAKAR MENGGUNAKAN MESIN INFERENSI FUZZY. Wilis Kaswidjanti. Abstrak

SISTEM PAKAR PENGOBATAN ALTERNATIF PADA PENDERITA GANGGUAN KULIT MENGGUNAKAN RAMUAN TRADISIONAL

Sistem Pakar Kerusakan pada Perangkat Keras (Hardware) di SMA Negeri 11 Kabupaten Tangerang

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

Backward Chaining & Forward Chaining UTHIE

SISTEM PAKAR. Jurusan Teknik Informatika

Seminar Nasional Aplikasi Teknologi Informasi 2004 Yogyakarta, 19 Juni 2004

Sistem Pakar Dasar. Ari Fadli

EXPERT SYSTEM DENGAN BEBERAPA KNOWLEDGE UNTUK DIAGNOSA DINI PENYAKIT-PENYAKIT HEWAN TERNAK DAN UNGGAS

UNIVERSITAS GUNADARMA

SISTEM PAKAR. Farah Zakiyah Rahmanti, M.T Mei Universitas Dian Nuswantoro

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS NUSANTARA PGRI KEDIRI 2016

BAB 2 LANDASAN TEORI. berkonsultasi dengan seorang pakar atau ahli. Seorang pakar adalah seseorang yang

Materi yang akan dibahas: 11-1

BAB III ANALISA SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

SISTEM PAKAR DENGAN BEBERAPA KNOWLEDGE BASE MENGGUNAKAN PROBABILITAS BAYES DAN MESIN INFERENSI FORWARD CHAINING

MASALAH, RUANG KEADAAN & PENCARIAN

SISTEM PAKAR. Entin Martiana, S.Kom, M.Kom

INTELEGENSI BUATAN. Sistem Pakar. M. Miftakul Amin, M. Eng. website :

PERANCANGA SISTEM PAKAR PENDETEKSI GANGGUAN KEHAMILAN ABSTRAK

BAB I PENDAHULUAN. produksi secara keseluruhan sangat ditentukan oleh pemilihan jenis perlengkapan

Perangkat Lunak Simulasi Langkah Kuda Dalam Permainan Catur

Visualisasi Konsep Umum Sistem Pakar Berbasis Multimedia

APLIKASI DIAGNOSA PENYAKIT ANAKMELALUI SISTEM PAKAR MENGGUNAKAN JAVA 2 MICRO EDITION YOSEPHIN ERLITA KRISTANTI

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah

EXPERT SYSTEM / ES. Sistem Pakar

APLIKASI SISTEM PAKAR BERBASIS WEB TENTANG PELANGGARAN UNDANG-UNDANG LALU LINTAS DAERAH ISTIMEWA YOGYAKARTA. Arif Budiman

SISTEM PAKAR BERBASIS ATURAN DALAM BIMBINGAN PENASEHAT AKADEMIK MENGGUNAKAN METODE FORWARD CHAINING

SISTEM PAKAR UNTUK MENDIAGNOSA PENYAKIT SALURAN PENCERNAAN MENGGUNAKAN METODE DEMPSTER SHAFER

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Perangkat lunak adalah perintah ( program komputer ) yang bila dieksekusi

JURNAL TEKNOLOGI TECHNOSCIENTIA ISSN: Vol. 5 No. 1 Agustus 2012

Penerapan Sistem Pakar Untuk Informasi Kebutuhan Energi Menggunakan Metode Forward Chaining

Abstrak. Kata Kunci : Medical Expert System, Mycin PENDAHULUAN

PENGEMBANGAN SISTEM PAKAR PADA PERANGKAT MOBILE UNTUK MENDIAGNOSA PENYAKIT GIGI

SISTEM PAKAR DIAGNOSIS KERUSAKAN SEPEDA MOTOR NON MATIC

DIAGNOSA PENYAKIT JANTUNG DENGAN METODE PENELUSURAN FORWARD CHAINNING-DEPTH FIRST SEARCH

PENGEMBANGAN SISTEM PAKAR DALAM MEMBANGUN SUATU APLIKASI

Rancangan Sistem Pakar Pemilihan Program Studi Untuk Calon Mahasiswa Baru (dengan studi kasus di IAIN Raden Fatah Palembang)

Pengendalian Manajemen. Pengendalian Operasi

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN SISTEM

SISTEM PAKAR PENDETEKSI PENYAKIT PADA BURUNG MURAI MENGGUNAKAN METODE FORWARD CHAINING

Pemrograman dengan C++ Builder 2004 Taryana S Pendahuluan C++ Builder adalah sebuah aplikasi yang digunakan untuk pengembangan dengan

Feriani A. Tarigan Jurusan Sistem Informasi STMIK TIME Jln. Merbabu No. 32 AA-BB Medan

SISTEM PAKAR SELEKSI KARYAWAN MENGGUNAKAN METODE TSUKAMOTO. Kelompok B Kelas A

PENGEMBANGAN SISTEM PAKAR BERBASIS ATURAN UNTUK MENENTUKAN MATA KULIAH YANG AKAN DIAMBIL ULANG (REMEDIAL) DENGAN METODE FORWARD CHAINING

SISTEM PRODUKSI (PRODUCTION SYSTEM) -Muhlis Tahir-

Jonh Fredrik Ulysses

BAB II LANDASAN TEORI

APLIKASI DIAGNOSA KERUSAKAN MESIN SEPEDA MOTOR BEBEK 4 TAK DENGAN METODE FORWARD CHAINING

TAKARIR. data atau informasi dan transformasi data yang bergerak dari pemasukan data hingga ke keluaran. Database

Transkripsi:

BAB II DASAR TEORI 2.1 Sistem Pakar 2.1.1 Pengertian Sistem Pakar Sistem pakar atau Expert System biasa disebut juga dengan knowledge based system yaitu suatu aplikasi komputer yang ditujukan untuk membantu pengambilan keputusan atau pemecahan persoalan dalam bidang yang spesifik. Sistem ini bekerja dengan menggunakan pengetahuan (knowledge) dan metode analisis yang telah didefinisikan terlebih dahulu oleh pakar yang sesuai dengan bidang keahliannya. Sistem ini disebut sistem pakar karena fungsi dan perannya sama seperti seorang ahli yang harus memiliki pengetahuan, pengalaman dalam memecahkan suatu persoalan. Sistem biasanya berfungsi sebagai kunci penting yang akan membantu suatu sistem pendukung keputusan atau sistem pendukung eksekutif. Sistem pakar terdiri dari dua komponen utama yaitu: basis pengetahuan (knowledge base) dan alat pengambilan kesimpulan (inference engine). Biasa pengetahuan didapat dari akumulasi pengetahuan pakar pada bidang tertentu. Pengetahuan disini didefinisikan sebagai kumpulan data dan himpunan aturan untuk memanipulasi atau mengolah data untuk menjadi pengetahuan baru. Basis pengetahuan merupakan komponen penting dari suatu sistem pakar, besar 12

13 kecilnya kemampuan sistem pakar biasanya ditentukan oleh kapasitas dari basis pengetahuannya, sedangkan mesin pengambil keputusan adalah aplikasi yang membantu dan memandu pengguna sistem pakar dalam memanipulasi data dan memilih pengetahuan yang sesuai untuk mendapatkan kesimpulan. 2.1.2 Konsep Dasar Sistem Pakar Konsep dasar dari sistem pakar yaitu meliputi keahlian (expertise), ahli (experts), pemindahan keahlian (transfering expertise), inferensi (inferencing), aturan (rules) dan kemampuan memberikan penjelasan (explanation capability). Keahlian (expertise) adalah pengetahuan yang mendalam tentang suatu masalah tertentu, dimana keahlian bisa diperoleh dari pelatihan/ pendidikan, membaca dan pengalaman dunia nyata. Ada dua macam pengetahuan yaitu pengetahuan dari sumber yang ahli dan pengetahuan dari sumber yang tidak ahli. Pengetahuan dari sumber yang ahli dapat digunakan untuk mengambil keputusan dengan cepat dan tepat. Ahli (experts) adalah seorang yang memiliki keahlian tentang suatu hal dalam tingkatan tertentu, ahli dapat menggunakan suatu permasalahan yang ditetapkan dengan beberapa cara yang berubah-ubah dan merubahnya kedalam bentuk yang dapat dipergunakan oleh dirinya sendiri dengan cepat dan cara pemecahan yang mengesankan. Ahli seharusnya dapat untuk menjelaskan hasil yang diperoleh, mempelajari sesuatu yang baru tentang domain masalah, merestrukturisasi pengetahuan kapan saja yang diperlukan dan menentukan apakah keahlian mereka relevan atau saling berhubungan.

14 2.1.3 Tujuan Sistem Pakar Tujuan dari sistem pakar adalah untuk memindahkan kemampuan (transferring expertise) dari seorang ahli atau sumber keahlian yang lain ke dalam komputer dan kemudian memindahkannya dari komputer kepada pemakai yang tidak ahli (bukan pakar). Proses ini meliputi empat aktivitas yaitu: 1. Akuisi pengetahuan (knowledge acquisition) yaitu kegiatan mencari dan mengumpulkan pengetahuan dari para ahli atau sumber keahlian yang lain. 2. Representasi pengetahuan (knowledge representation) adalah kegiatan menyimpan dan mengatur penyimpanan pengetahuan yang diperoleh dalam komputer. Pengetahuan berupa fakta dan aturan disimpan dalam komputer sebagai sebuah komponen yang disebut basis pengetahuan. 3. Inferensi pengetahuan (knowledge inferencing) adalah kegiatan melakukan inferensi berdasarkan pengetahuan yang telah disimpan didalam komputer. 4. Pemindahan pengetahuan (knowledge transfer) adalah kegiatan pemindahan pengetahuan dari komputer ke pemakai yang tidak ahli. 2.1.4 Keuntungan Pemakaian Sistem Pakar 1. Membuat seorang yang awam dapat bekerja seperti layaknya seorang pakar. 2. dapat bekerja dengan informasi yang tidak lengkap atau tidak pasti. 3. ES menyediakan nasihat yang konsisten dan dapat mengurangi tingkat kesalahan. 4. Membuat peralatan yang kompleks lebih mudah dioperasikan karena ES dapat melatih pekerja yang tidak berpengalaman.

15 5. ES tidak dapat lelah atau bosan, juga konsisten dalam memberi jawaban dan selalu memberikan perhatian penuh. 6. Memiliki kemampuan untuk memecahkan masalah yang kompleks. 7. Memungkinkan pemindahan pengetahuan ke lokasi yang jauh serta memperluas jangkauan seorang pakar, dapat diperoleh dan dipakai dimana saja. 2.1.5 Kelemahan Pemakaian Sistem Pakar 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.1.6 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.

16 Gambar 2.1 Struktur sistem pakar Komponen-komponen yang ada pada sistem pakar adalah Gambar 2.1: 1. Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan pengetahuan, mengkonstruksikan atau memperluas pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa berasal dari: ahli, buku, basis data, penelitian dan gambar. 2. Basis pengetahuan. Berisi pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah. 3. Motor 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:

17 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 alternative 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 pengetahuanpengetahuan yang ada masih cocok untuk digunakan di masa mendatang.

18 2.1.7 Komponen-komponen Sistem Pakar 1. Basis Pengetahuan (Knowledge Base) Pengetahuan merupakan kemampuan untuk membentuk model mental yang menggambarkan obyek dengan tepat dan mempresentasikannya dalam aksi yang dilakukan terhadap suatu obyek (Martin dan Oxman, 1988). Pengetahuan dapat diklasifikasikan menjadi tiga, yaitu pengetahuan prosedural (procedural knowledge), pengetahuan deklaratif (declarative knowlwdge), dan pengetahuan tacit (tacit knowledge). Pengetahuan procedural lebih menekankan pada bagaimana melakukan sesuatu, pengetahuan deklaratif menjawab pertanyaan apakah sesuatu bernilai salah atau benar, sedangkan pengetahuan tacit merupakan pengetahuan yang tidak dapat diungkapkan dengan bahasa. Basis Pengetahuan merupakan inti program Sistem Pakar dimana basis pengetahuan ini adalah representasi pengetahuan (Knowledge Representation) dari seorang pakar. 2. Basis Data (Data Base) Basis Data adalah bagian yang mengandung semua fakta-fakta, baik fakta awal pada saat sistem mulai beroperasi maupun fakta-fakta yang didapatkan pada saat pengambilan kesimpulan yang sedang dilaksanakan. Dalam praktiknya, basis data berada di dalam memori komputer. Kebanyakan Sistem Pakar mengandung Basis Data untuk menyimpan data hasil observasi dan data lainnya yang dibutuhkan selama pengolahan.

19 3. Mesin Inferensi (Inferensi Engine) Mesin Inferensi adalah bagian yang mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang akan menganalisis suatu masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik. USER MESIN INFERENSI KNOWLEDGE BASE Gambar 2.2 Mesin Inferensi Secara deduktif mesin inferensi memilih pengetahuan yang relevan dalam rangka mencapai kesimpulan. Dengan demikian sistem ini dapat menjawab pertanyaaan pemakai meskipun jawaban tersebut tidak tersimpan secara eksplisit di dalam basis pengetahuan. Mesin Inferensi memulai pelacakannya dengan mencocokan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data. Dibawah ini ada 2 macam metode inference, yaitu : a. Forward Chaining (Pelacakan Kedepan) Pendekatan yang dimotori oleh data (data driven). Dalam pendekatan ini pelacakan dimulai dari informasi masukan dan selanjutnya mencoba menggambarkan kesimpulan. Aruran dalam sistem merepresentasikan aksi-aksi yang harus diambil apabila terdapat suatu kondisi khusus pada item-item dalam memori kerja yang disebut himpunan aturan kondisi-aksi. Dalam metode ini, data digunakan untuk menentukan aturan mana yang akan dijalankan, kemudian aturan tersebut dijalankan. Mungkin proses menambahkan data ke memori kerja. Proses

20 diulang sampai ditemukan suatu hasil. Aktivitas sistem dilakukan berdasarka siklus mengenal-beraksi (recognize-act). Pelacakan ke depan mencari fakta yang sesuai dari bagian IF dari aturan IF-THEN (Gambar menunjukkan proses forward chaining). Gambar 2.3 Forward Chaining b. Backward Chaining (Pelacakan Kebelakang) Merupakan penalaran dari node tujuan dan bergerak ke belakang menuju keadaan awal, dalam penalaran ke belakang prosesnya disebut terarah, menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontadiktif) dari ekspektasi tersebut. Contoh : Rl : IF suku bunga turun THEN harga obligasi naik R2 : IF suku bunga naik THEN harga obligasi turun R3 : IF suku bunga tidak berubah THEN harga obligasi tidak berubah R4 : IF dolar naik THEN suku bunga turun R5 : IF dolar turun THEN suku bunga naik

21 R6 : IF harga obligasi turun THEN beli obligasi 2.1.8 Metode Pencarian 1. Breadth-First Search Pada metode Breadth-First Search ini adalah 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 1 dari kiri ke kanan, kemudian berpindah ke level berikutnya dari kiri ke kanan hingga solusi ditemukan (Gambar Metode Breadth-First Search) Gambar 2.4 Breadth-First Search Keuntungan : - Tidak akan menemui jalan buntu - Jika ada 1 solusi, maka breadth -first search solusi akan menemukannya dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan. Kelemahan : - Membutuhkan memori yang cukup banyak

22 - Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+l). 2. Depth-First Search Pada metode Depth-First Search, Proses pencarian dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses diulangi terus hingga ditemukan solusi (Gambar Metode Depth-First Search). Gambar 2.5 Depth-First Search Keuntungan : - Membutuhkan memori relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan. - Secara kebetulan, metode Depth-First Search akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan. Kelemahan : - Memungkinkan tidak ditemukannya tujuan yang diharapkan - Hanya mendapat satu solusi pada setiap pencarian

23 3. Best-First Search Metode Pencarian Terbaik Pertama (Best-First Search) merupakan kombinasi dari metode depth-first search dan metode breadth-first search dengan mengambil kelebihan dari kedua metode tersebut. Pada setiap langkah proses pencarian terbaik pertama, kita memilih node-node dengan menerapkan fungsi heuristik yang memadai pada setiap node atau simpul yang kita pilih dengan menggunakan aturan-aturan tertentu untuk menghasilkan penggantinya. Pada best-first search, pencarian diperbolehkan mengunjungi node di lebih rendah dan jika ternyata node dilevel lebih tinggi memiliki nilai heuristik lebih buruk. Gambar 2.6 Best-First Search Keuntungan : - Membutuhkan memori yang relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan. - Menemukan solusi tanpa harus menguji lebih banyak node. Kelemahan : - Memungkinkan terjebak pada nilai optima.

24 2.2 Software Pendukung 2.2.1 Visual Prolog Awalnya bahasa Prolog diciptakan oleh Calmeraur dan dipopulerkan oleh buku-buku terkenal yang dikarang oleh Clocksin dan Mellish juga oleh Ivan Bratko kemudian dibawa pada produsen perangkat lunak Borland yang menjual Turbo Prolog untuk sistem MsDos. Tetapi tidak mendapatkan pemasaran yang baik dan Borland berhenti menjual Turbo Prolog. Setelah beberapa tahun, pembuat Turbo Prolog kembali ke Denmark dan memulai perusahaan PDC (Prolog Development Company). Mereka membuat dengan bahasa mereka dan terciptalah Visual Prolog. Visual Prolog berorientasi objek, ia memiliki Graphical User Interface dan juga memiliki Integrated Development Environment. Dahulu masalah besar dalam belajar Prolog adalah bahwa kita harus menguasai pemikiran yang sangat berbeda dengan bahasa pemrograman deklaratif. Setelah kita sudah menguasai, itu adalah cara yang bagus untuk menulis program komputer, sehingga upaya itu bermanfaat. Namun saat ini tidak hanya menguasai bahasa deklaratif, ada aspek-aspek lain dari bahasa pemrograman modern: Object Orientid, graphical user interface, dan sebagainya. 2.2.1.1 Integrated Development Environment (IDE) Pemrograman saat ini tidak hanya dilakukan dengan mengetikkan kode di editor. Pemrograman telah menjadi sangat kompleks, itu sebabnya para pengembang bahasa pemrograman menawarkan lebih dari satu bahasa pemrograman. Mereka menyediakan kita dengan alat bantu pemrograman.

25 Integrated Development Environment (IDE) adalah seperti pertolongan. Bila kita membuat program Visual Prolog, kita akan menggunakan IDE. Gambar 2.7 Integrated Development Environment IDE dapat dilihat pada gambar 2.5 dengan nama-nama yang digunakan dalam Visual Prolog. Yaitu adalah : Task Window. Dalam IDE Task Window adalah jendela yang ditampilkan saat kita memulai program. Anda juga bisa menyebutnya "Main Window". Jendela ini biasanya menunjukkan menu seperti "File, Edit, View,..., Windows, Help".

26 Task Menu. Ini adalah menu yang akan akrab bagi kita karena berisi pilihan seperti "File","Edit", dan lainnya. Menu ini juga akan disebutsebagai "Menu Utama". Task Menu Bar. Ini berisi ikon untuk pilihan yang paling sering digunakan dalam Task Menu. Recent Project. Ini daftar nama-nama proyek yang telah diproses dalam IDE. Ketika kita mulai Visual Prolog untuk pertama kalinya, ada kemungkinan akan ada proyek baru-baru ini. Message Window. Jendela ini adalah khas untuk Visual Prolog dan IDE. Di sini Anda akan menemukan pesan dari IDE dan nanti anda akan menulis pesan singkat di Message Window sendiri.