Makalah Sistem Pakar

  • Uploaded by: Shelfhy Anhy Ayub
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Makalah Sistem Pakar as PDF for free.

More details

  • Words: 2,650
  • Pages: 15
Loading documents preview...
MAKALAH SISTEM PAKAR “FORWARD CHAINING DAN BACKWARD CHAINING, ALGORITMA PENCARIAN”

DISUSUN OLEH: SELFIANI (1304411003)

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK KOMPUTER UNIVERSITAS COKROAMINOTO PALOPO TAHUN 2016 KATA PENGANTAR 1

Puji syukur kita panjatkan kehadirat Allah SWT yang telah melimpahkan rahmatNya sehingga makalah yang berjudul “Forward Chaining Dan Backward Chaining, Algoritma Pencarian” dapat dibuat sesuai yang diharapkan. Makalah ini dapat terbit atas kerjasama penyusun dan isinya yang termasuk dalam mata kuliah Sistem Operasi Komputer. Makalah

ini

dibuat

berdasarkan

standar

kompetensi

mahasiswa

Universitas Cokroaminoto Palopo. Dengan beberapa penyesuaian, setiap mahasiswa khususnya yang berada pada Program Studi Informatika dan Komputer yang mengambil mata kuliah wajib Sistem Pakar diharapkan membaca makalah ini sebagai acuan materi-materi pendalamannya tentang Sistem Pakar. Akhirnya kami penyusun masih sangat terbuka terhadap kritikan konstruktif terhadap segala kekurangan yang terdapat dalam penulisan makalah ini, sehingga dapat menjadi lebih sempurna dimasa yang akan datang. Ucapan terima kasih senantiasa kami sampaikan kepada Bapak Baso Ali, S.Pd., M.Pd sebagai dosen pengampuh mata kuliah Sistem Pakar. Semoga Allah SWT memberikan segala kemudahan kepada kita semua dalam mengembangkan Ilmu Komputer.

Palopo, 11 April 2016

Penyusun

2

DAFTAR ISI SAMPUL.......................................................................................................... i KATA PENGANTAR....................................................................................... ii DAFTAR ISI..................................................................................................... iii BAB I PENDAHULUAN A. Latar Belakang...................................................................................... 1 B. Rumusan Masalah................................................................................. 1 C. Tujuan................................................................................................... 1 BAB II PEMBAHASAN A. Inferensi................................................................................................ 2 B. Algoritma Pencarian............................................................................. 4 BAB III PENUTUP A. Kesimpulan........................................................................................... 12 B. Saran..................................................................................................... 12 DAFTAR PUSTAKA........................................................................................ 13

3

BAB I PENDAHULUAN A. Latar Belakang Dalam ilmu komputer, sebuah algoritma pencarian dijelaskan secara luas adalah sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa kemungkinan solusi. Sebagian besar algoritma yang dipelajari oleh ilmuwan komputer adalah algoritma pencarian. Himpunan semua kemungkinan solusi dari sebuah masalah disebut ruang pencarian. Algortima pencarian brute-force atau pencarian naif/uninformed menggunakan metode yang sederhana dan sangat intuitif pada ruang pencarian, sedangkan algoritma pencarian informed menggunakan heuristik untuk menerapkan pengetahuan tentang struktur dari ruang pencarian untuk berusaha mengurangi banyaknya waktu yang dipakai dalam pencarian. Adapun dalam metode pencarian blind atau buta digunakan karena memang tidak ada informasi awal yang digunakan dalam proses pencarian. Algoritma Pencarian ini menggunakan Metode BFS, DFS, dan IDS. B. Rumusan Masalah Berdasarkan latar belakang di atas, maka rumusan masalah dalam pembuatan makalah ini yakni: 1. Apa pengertian Forward Chaining dan Backward Chaining ? 2. Bagaimana algotitma BFS, DFS, dan IDS ? 3. Bagaimana cara kerja BFS, DFS, dan IDS ? C. Tujuan Berdasarkan latar belakang dan rumusan masalah di atas, maka tujuan dalam makalah ini yakni, untuk mengetahui pengertian Forward Chaining dan Backward Chaining, mengetahui algoritma BFS, DFS, dan IDS, dan mengetahui cara kerja BFS, DFS, dan IDS.

BAB II PEMBAHASAN A. Inferensi 1

Metode inferensi adalah mekanisme berfikir dan pola-pola penalaran yang digunakan oleh sistem untuk mencapai suatu kesimpulan. Metode ini akan menganalisa masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik. Penalaran dimulai dengan mencocokan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data. Ada dua metode inferensi yang dapat digunakan, yaitu: 1. Forward Chaining Forward chaining merupakan metode inferensi yang melakukan penalaran dari suatu masalah kepada solusinya. Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan menyatakan konklusi. Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh. Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining. Contoh : Terdapat 10 aturan yang tersimpan dalam basis pengetahuan yaitu : R1 : if A and B then C R2 : if C then D R3 : if A and E then F R4 : if A then G R5 : if F and G then D R6 : if G and E then H R7 : if C and H then I R8 : if I and A then J R9 : if G then J R10 : if J then K Fakta awal yang diberikan hanya A dan E, ingin membuktikan apakah K bernilai benar. Proses penalaran forward chaining terlihat pada gambar dibawah :

Gambar 2.1 Forward Chaining 2. Backward Chaining 2

Menggunakan pendekatan goal-driven, dimulai dari harapan apa yang akan terjadi (hipotesis) dan kemudian mencari bukti yang mendukung (atau berlawanan) dengan harapan kita. Sering hal ini memerlukan perumusan dan pengujian hipotesis sementara. Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining. Contoh : Seperti pada contoh forward chining, terdapat 10 aturan yang sama pada basis pengetahuan dan fakta awal yang diberikan hanya A dan E. ingin membuktikan apakah K bernilai benar. Proses penalaran backward chaining terlihat pada gambar berikut

:

Gambar 2.2 Backward Chaining

B. Algoritma pencarian Pencarian(searhing) merupakan proses yang fundamental dalam pengolahan data. Proses pensarian adalah menemukan nilai(data) tertentu didalam sekumpulan data yang bertipe sama (baik bertipe dasar maupun bertipe bentukan). Sebuah algoritma pencarian dijelaskan secara luas adalah sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa kemungkinan solusi. Algoritma pencarian (searching algorithm) adalah algoritma yang 3

menerima sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut. Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful). Metode yang termasuk dalam algoritma pencarian yaitu: 1. Breadth-First Search a. Pengertian Breadth-First Search Algoritma Breadth-First Search (BFS) atau dikenal juga dengan nama algoritma pencarian melebar adalah algoritma yang melakukan pencarian secara melebar yang mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu. Selanjutnya, simpul yang belum dikunjungi dan bertetangga dengan simpulsimpul yang tadi dikunjungi , demikian seterusnya. Jika graf berbentuk pohon berakar, maka semua simpul pada aras d dikunjungi lebih dahulu sebelum simpul-simpul pad aras d+1. Algoritma ini memerlukan sebuah antrian q untuk menyimpan simpul yang telah dikunjungi. Simpul-simpul ini diperlukan sebagai acuan untuk mengunjungi simpul-simpul yang bertetanggaan dengannya. Tiap simpul yang telah dikunjungi masuk ke dalam antrian hanya satu kali. Algoritma ini juga membutuhkan table Boolean untuk menyimpan simpul yang telah dikunjungi sehingga tidak ada simpul yang dikunjungi lebih dari satu kali.Breadth-first search (BFS) melakukan proses searching pada semua node yang berada pada level atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses searching pada node di level berikutnya. Urutan proses searching BFS ditunjukkan dalam Gambar 2.1 adalah: A,B,C,D,E,F, ...

Gambar 2.3 Diagram pohon dari BFS

4

b. Cara Kerja Algoritma Breadth-First Search Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam suatu antrian. Antrian ini digunakan untuk mengacu simpul-simpul yang bertetangga dengannya yang akan dikunjungi kemudian sesuai urutan pengantrian.Untuk memperjelas cara kerja algoritma BFS beserta antrian yang digunakannya, berikut langkah-langkah algoritma BFS: 1) Masukkan simpul ujung (akar) ke dalam antrian. 2) Ambil simpul dari awal antrian, lalu cek apakah simpul merupakan solusi. 3) Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan. 4) Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan simpul tersebut (simpul anak) ke dalam antrian. 5) Jika antrian kosong dan setiap simpul sudah dicek, pencarian selesai dan mengembalikan hasil solusi tidak ditemukan. 6) Ulangi pencarian dari langkah kedua. Contohnya terlihat dibawah ini:

Gambar 2.4 contoh BFS Maka penyelesaiannya adalah:Gambar (a) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1.Gambar (b) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1Gambar (c) BFS(1): 1, 2, 3, 4, 5, 6, 7, 8, 9 c. Keuntungan dan Kerugian Breadth-First Search Adapun keuntungan dan kerugian dari Breadth-First Search adalah sebagai berikut: 1) Keuntungan a) Tidak akan menemukan jalan buntu. b) Tidak ada satu solusi, maka BFS search akan menemuknnya. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan. 2) Kerugian

5

a) Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon. b) Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke –(n+1). 2. Depth-First search (DFS) a. Pengertian Depth-First search (DFS) Depth-first search (DFS) adalah proses searching sistematis buta yang melakukan ekpansi sebuah path (jalur) menuju penyelesaian masalah sebelum melakukan ekplorasi terhadap path yang lain. Proses searching mengikuti sebuah path tunggal sampai menemukan goal atau dead end. Apabila proses searching menemukan dead-end, DFS akan melakukan penelusuran balik ke node terakhir untuk melihat apakah node tersebut memiliki path cabang yang belum dieksplorasi. Apabila cabang ditemukan, DFS akan melakukan cabang tersebut. Apabila sudah tidak ada lagi cabang yang dapat dieksplorasi, DFS akan kembali ke node parent dan melakukan proses searching terhadap cabang yang belum dieksplorasi dari node parent sampai menemukan penyelesaian masalah. Di dalam DFS, pencarian dilakukan pada suatu struktur pohon yaitu kumpulan semua kondisi yang mungkin yang diimplementasikan dalam sebuah struktur pohon. Paling atas adalah akar (root) yang berisi kondisi awal pencarian (initial state) dan di bawahnya adalah kondisi-kondisi berikutnya sampai kepada kondisi tujuan (goal state). Untuk melakukan pencarian, DFS menggunakan cara sebagai berikut : 1. Masukkan Initial State pada Tumpukan. 2. Periksa apakah ada data di tumpukan. 3. Jika tidak, maka solusi tidak ditemukan, dan proses berhenti. 4. Jika ya, Ambil state pada tumpukan paling atas. 5. Bandingkan State tersebut apakah sama dengan Goal State. 6. Jika sama, maka solusi ditemukan dan proses berakhir. 7. Jika tidak, ekspansikan state tersebut. 8. Masukkan seluruh state hasil ekspansi ke dalam tumpukan. 9. Kembali ke langkah Pada prinsipnya, DFS ini menggunakan tumpukan untuk menyimpan seluruh state yang ditemukan atau bisa dikatakan bahwa DFS menggunakan metode LIFO (Last In First Out).

6

Gambar 2.5 Depth-First search (DFS) Pencarian dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Node yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi. Jika solusi ditemukan maka tidak diperlukan proses backtracking (penelusuran balik untuk mendapatkan jalur yang dinginkan). b. Cara kerja Depth-First search (DFS) Pencarian rute terpendek dilakukan dengan cara membuat simpul-simpul yang menjadi titik awal, titik-titik yang akan dilalui dan juga titik akhir sebagai akhir dari tujuan atau sebagai simpul yang dicari. Dalam algoritma DFS, simpul yang telah dikunjungi disimpan dalam suatu tumpukan (stack). Antrian ini digunakan untuk mengacu simpul-simpul yang akan dikunjungi sesuai urutan tumpukan (masuk terakhir, keluar pertama) dan mempermudah proses runut-balik jika simpul sudah tidak mempunyai anak (simpul pada kedalaman maksimal). Untuk memperjelas cara kerja algoritma DFS beserta tumpukan yang digunakannya, berikut langkah-langkah algoritma DFS: 1. Masukkan simpul ujung (akar) ke dalam tumpukan. 2. Ambil simpul dari tumpukan teratas, lalu cek apakah simpul merupakan solusi. 3. Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan. 4. Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan simpul tersebut (simpul anak) ke dalam tumpukan. 5. Jika tumpukan kosong dan setiap simpul sudah dicek, pencarian selesai dan mengembalikan hasil solusi tidak ditemukan. 6. Ulangi pencarian dari langkah kedua

7

c. Keuntungan dan Kerugian Depth-First search (DFS) Adapun keuntungan dan kerugian dari Depth-First Search adalah sebagai berikut: 1. Kelebihan DFS adalah: a) Pemakain memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan. b) Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat. 2. Kelemahan DFS adalah: a) Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete). b) Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal). 3. Iterative-deepening search (IDS) a. Pengertian Iterative-deepening search (IDS) IDS merupakan metode yang menggabungkan kelebihan BFS (Complete dan Optimal) dengan kelebihan DFS (space complexity rendah atau membutuhkan

sedikit

memori)

tetapi

konsekwensinya

adalah

time

complexitynya menjadi tinggi. Iteratif memperdalam kedalaman-pertama pencarian (IDS) adalah pencarian ruang strategi di mana pencarian mendalam-terbatas dijalankan berulang kali, meningkatkan batas kedalaman dengan setiap iterasi sampai mencapai, kedalaman negara tujuan dangkal. IDS setara dengan luas-pertama pencarian, tetapi menggunakan memori lebih sedikit, pada setiap iterasi, ia mengunjungi node dalam pohon pencarian dalam urutan yang sama seperti depth-first search, tapi urutan kumulatif di mana node pertama kali mengunjungi secara efektif luasnya -pertama. IDS menggabungkan depth-first pencari ruang-efisiensi dan kelengkapan luas-pertama pencarian ini (ketika faktor percabangan terbatas). Ini adalah optimal ketika biaya jalan adalah fungsi non-penurunan kedalaman node. Kompleksitas ruang IDS adalah, di mana merupakan faktor percabangan dan kedalaman dangkal gawang. Karena berulang memperdalam kunjungan menyatakan beberapa kali, hal itu mungkin tampak sia-sia, tapi ternyata menjadi tidak begitu mahal, karena di pohon sebagian besar node berada di

8

tingkat bawah, sehingga tidak terlalu menjadi masalah jika tingkat atas yang dikunjungi beberapa kali. b. Cara kerja Iterative-deepening search (IDS) Metode Iterative Deepening A* Iterative-Deepening A* (IDA*) search algorithm

adalah

pengembangan

dari

A*search

algorithm

yang

dikombinasikan dengan iterative deepening search. IDA* search algorithm merupakan best-first searches yang optimal dalam hal solution cost, time, dan space. Prinsip algoritma iterative deepening search adalah melakukan depthlimited search secara bertahap dengan nilai l yang incremental . Contoh cara kerja iterative deepening search dapat dilihat pada Gambar 2.6

Gambar 2.6 Contoh iterative deepening search Sumber: Russel, Stuart J; Norvig, Peter. (2003). Artificial Intelligence : A Modern Approach 2nd Edition Pada metode IDA* search algorithm digunakan fungsi evaluasi yang sama seperti metode A* yaitu sebagai berikut: f(n) = g(n) + h(n) (6) Dimana: f(n) = estimasi total cost suatu path dari node awal ke node tujuan melalui node n g(n) = cost dari suatu path untuk mencapai node n dari node awal h(n) = estimasi cost suatu path Cara kerja IDA* adalah sebagai berikut : 1) Nilai threshold ditentukan; 2) F(n) = g(n) + h(n) dihitung pada tiap iterasi; 3) Jika f(n) threshold maka node di-prune;

9

4) Jika goal node tercapai dengan price lebih kecil maka nilai threshold dikembalikan; 5) Jika seluruh iterasi telah berakhir tanpa mencapai goal node maka dimulai iterasi lain dengan nilai threshold yang lebih besar; 6) Nilai threshold yang baru adalah nilai minimum dari node yang di- prune pada iterasi sebelumnya; 7) Nilai threshold untuk iterasi pertama diatur ke nilai pada keadaan awal.

c. Keuntungan dan Kerugian Depth-First search (DFS) Adapun keuntungan dan kerugian dari Breadth-First Search adalah sebagai berikut: 1. Keuntungan IDS adalah: a) dalam mencari permainan pohon adalah bahwa pencarian sebelumnya cenderung meningkatkan heuristik yang biasa digunakan, seperti heuristik pembunuh dan pemangkasan alpha-beta, sehingga perkiraan yang lebih akurat dari skor berbagai node pada pencarian kedalaman akhir dapat terjadi, dan pencarian selesai lebih cepat karena dilakukan dalam urutan yang lebih baik. Misalnya, alpha-beta pemangkasan yang paling efisien jika ia mencari langkah terbaik pertama. b) respon dari algoritma. Karena iterasi awal menggunakan nilai kecil untuk, mereka mengeksekusi sangat cepat. Hal ini memungkinkan algoritma untuk memasok indikasi awal hasilnya segera, diikuti oleh perbaikan dengan meningkatnya. Ketika digunakan dalam pengaturan interaktif, seperti dalam program bermain catur, fasilitas ini memungkinkan program untuk bermain setiap saat dengan langkah terbaik saat ini ditemukan dalam pencarian telah selesai sejauh ini. Hal ini tidak mungkin dengan pencarian mendalam-pertama tradisional. 2. Kerugian IDS adalah: Time complexitynya menjadi tinggi.

10

BAB III PENUTUP A. Kesimpulan Dari pembahasan diatas dapat ditarik kesimpulan yaitu : 1. Breadth-first search (BFS) melakukan proses searching pada semua node yang berada pada level atau hirarki tetangga yang terdekat terlebih dahulu sebelum melanjutkan proses searching pada node di level berikutnya. 2. Metode BFS membutuhkan memori yang cukup banyak namun dengan menggunakan metode ini solusinya tidak akan menemukan jalan buntu. 3. Depth-first search (DFS) adalah proses searching sistematis buta yang melakukan ekpansi sebuah path (jalur) menuju penyelesaian masalah sebelum melakukan ekplorasi terhadap path yang lain. 4. Metode BFS membutuhkan memori yang cukup sedikit namun dengan menggunakan metode ini pencarian yang kita inginkan terkadang tidak terenuhi. 5. Metode inferensi adalah mekanisme berfikir dan pola-pola penalaran yang digunakan oleh sistem untuk mencapai suatu kesimpulan. 6. Ada dua metode inferensi yang dapat digunakan, yaitu forward chaining dan backward chaining. B. Saran Menyadari bahwa penulis masih jauh dari kata sempurna, kedepannya penulis akan lebih fokus dan details dalam menjelaskan tentang makalah di atas dengan sumber - sumber yang lebih banyak yang tentunga dapat di pertanggung jawabkan.

11

DAFTAR PUSTAKA http://solikhaton.blogspot.com/2014/08/makalah-membahas-tentangalgoritma.html http://en.wikipedia.org/wiki/Breadth-first_search

http://ww3.algorithmdesign.net/handouts/BFS.pdf

12

Related Documents


More Documents from "Bimo Satrio Putra"

Makalah Sistem Pakar
February 2021 1
Tesina
February 2021 1
Bs 1449-2-1983-1999
February 2021 0