DEFINISI DAN CONTOH METODE PENCARIAN BUTA & HEURISTIK

Hasil gambar untuk metode pencarian buta

1. Pencarian Buta (Blind Search)

yaitu tidak terdapatnya informasi awal yang digunakan dalam proses pencarian. Ada dua jenis pencarian buta (blind search) :
   
A. Pencarian melebar pertama (Breadth – First Search)
Pada Breadth – First Search semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus ke level 1 dari kiri ke kanan, kemudian berpindah ke level berikutnya dari kiri ke kanan hingga solusi ditemukan.
Keuntungannya :
a. Tidak akan menemui jalan buntu, menjamin ditemukannya solusi (jika ada) yang paling baik.
b. Jika ada 1 solusi, maka breadth – first search akan menemukannya.
c. Jika ada lebih dari 1 solusi, maka solusi minimum akan ditemukan.
Kerugiannya :
a. Membutuhkan memori yang banyak, karena harus menyimpan semua simpul yang pernah dibangkitkan dan hal ini harus dilakukan agar BFS dapat melakukan penelusuran simpul-simpul sampai di level bawah.
b.  Membutuhkan waktu yang cukup lama.
Kesimpulan :
Teknik pencarian Breadth – First Search ini :
Completeness : Teknik yang digunakan adanya solusi.
Optimality : Teknik yang digunakan menemukan solusi yang terbaik saat adanya beberapa solusi berbeda.
Time complexity : waktu yang dibutuhkan cukup lama.
Space complexity : memori yang dibutuhkan juga banyak.

Contoh Breadth – First Search
:
Seperti pada gambar, jika dicari bagaimana jalur dari kota a menuju kota k, maka sistem akan menjelajahi setiap node hingga menemui titik kota k, sehingga hasil pencarian jalur terpendeknya adalah : a - b - c - d - e - f - g - h - i - j - k . Contoh lain seperti gambar dibawah ini : 
Gambar a : Tentukan jalur terpendek dari simpul 1 hingga kembali ke simpul 1 lagi. !
Gambar b : Tentukan rute dari node 1 hingga node 7 !
Gambar c : Tentukan lintasan terpendek dari kota 1 ke kota 8 !

Maka, solusi yang ditemukan adalah :
- Gambar a : 1 - 2 - 3 - 4 - 5 - 6 - 7 - 1
- Gambar b : 1 - 2 - 3 - 4 - 5 - 6 - 7
- Gambar c : 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8
Dalam implementasinya pada program, maka setiap node yang telah dikunjungi harus dimasukkan dalam sebuah queue (antrian) sebagai tempat menampung urutan node tahap demi tahap. untuk memperjelas bagaimana alur algoritmanya, berikut langkah-langkahnya :
1. Masukkan node akar (root) ke dalam queue.
2. Ambil node dari awal antrian, lalu cek apakah node tersebut merupakan solusi.
3. Jika node merupakan solusi, pencarian selesai dan hasil dikembalikan.
4. Jika node bukan solusi, masukkan node yang bertetangga dengan node tersebut (node anak) ke dalam queue.
5. Jika queue kosong dan setiap simpul sudah dicek, pencarian selesai dan mengembalikan hasil solusi tidak ditemukan.
6. Ulangi pencarian dari langkah kedua.

B. Pencarian mendalam pertama (Depth – First Search)
Pada pencarian Depth – First Search dilakukan pada suatu simpul dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul 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.
Keuntungannnya :
a. Membutuhkan memori relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan.
b. Dan secara kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan, jadi jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya dengan cepat (waktunya cepat).
Kerugiannya :
a. Memungkinkan tidak ditemukannya atau tidak adanya tujuan yang diharapkan, karena jika pohon yang dibangkitkan mempunyai level yang sangat dalam (tak terhingga) à tidak complete karena tidak ada jaminan akan menemukan solusi.
b. Hanya mendapat 1 solusi pada setiap pencarian, karena jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS tidak menjamin untuk menemukan solusi yang paling baik à tidak optimal. 
 
Contoh Depth – First Search :
Dalam pencarian menggunakan algoritma DFS, simpul-simpul yang paling dalam pada tree yang akan di cari paling awal. Sebagai contoh pada Gambar di atas. Urutan pencarian keadaan awal (S) sampai keadaan tujuan (G) adalah dimulai dari node S, kemudian ke node A, kemudian ke node B, kemudian ke node C, setelah itu akan melewati node B kembali dan menuju ke node E, selanjutnya akan menuju node D, setelah itu akan menuju node F setelah melewati node E, dan yang terakhir akan menuju node G. 

2. Pencarian Terbimbing (Heuristic Search)

Yaitu terdapatnya informasi awal yang digunakan dalam proses pencarian. Pencarian buta (blind search) tidak selalu dapat diterapkan dengan baik, disebabkan karena waktu aksesnya yang cukup lama & besarnya memori yang diperlukan. Untuk masalah dengan ruang masalah yang besar, teknik pencarian buta (blind search) bukan teknik yang baik untuk digunakan karena keterbatasan kecepatan komputer dan memori.
Dengan adanya teknik heuristic search diharapkan bisa menyelesaikan permasalahan yang lebih besar. Fungsi dari teknik heuristic search menggunakan suatu fungsi yang menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan. Contoh aplikasi yang menggunakan fungsi heuristic : Google, Deep Blue Chess Machine. Ada empat jenis pencarian terbimbing (heuristic search) :
A. Pembangkitan dan pengujian (Generate and Test)
Teknik ini merupakan gabungan dari DFS dan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal. Dimana nilai pengujian berupa jawaban “ya” atau “tidak”. Algoritma nya :
a.Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal).
b.Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.
c.Jika solusi ditemukan, keluar dan jika tidak, ulangi lagi langkah pertama.
Salah satu kelemahan teknik Generate and Test adalah perlu membangkitkan semua kemungkinan sebelum dilakukan pengujian, sehingga membutuhkan waktu yang cukup besar dalam pencariannya.
 
Contoh Generate and Test:
Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh dikkunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :
Penyelesaian dengan Metode Generate and Test



B. Pendakian Bukit (Hill Climbing)
Hampir sama dengan teknik Generate and Test dimana roses pengujian dilakukan dengan menggunakan fungsi heuristic. Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan. Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baik nilai terkaan yang diambil terhadap kesalahan-kesalahan lainnya yang mungkin. 
Teknik-teknik pada Hill Climbing :
1. Teknik simple hill climbing
Algoritma akan berhenti kalau mencapai nilai optimum lokal. Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi. Tidak diijinkan untuk melihat satupun langkah selanjutnya.
2. Teknik steepest – ascent hill climbing
Hampir sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari paling kiri. Gerakan selanjutnya dicari berdasarkan nilai heuristic terbaik.

Contoh "TSP dengan Simple Hill Climbing" :
Disini ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi kota-kota yang bersebelahan. Apabila ada n kota, dan kita ingin mencari kombinasi lintasan dengan menukar posisi urutan 2 kota, maka kita akan mendapatkan sebanyak (n! / 2! (n-2)!) atau sebanyak 6 kombinasi.
Fungsi heuristic yang digunakan adalah panjang lintasan yang terjadi.


Sumber :
http://yoosinhay.blogspot.co.id/2011/03/teknik-pencarian-perancangan.html 
http://dananramadhan.blogspot.co.id/2017/12/metode-pencarian-buta-dan-heuristik.html
https://www.s-notess.tk/2016/11/metode-pencarian-blind-search.html 
Read more...

PROLOG

Pengertian Prolog 

Prolog adalah bahasa, tepatnya merupakan bahasa komputer atau bahasa pemrograman logika. Bahasa pemrograman dituliskan dalam bentuk bahasa natural atau bahasa yang dikenal manusia, misal bahasa Inggris. Bahasa yang dikenal manusia ini jelas tidak mungkin dikenal oleh komputer yang hanya mengenal bahasa mesin. Untuk menjembatani kedua bahasa itu dibutuhkan interpreter atau compiler yang akan mengubah bahasa yang dipahami manusia menjadi bahasa yang mudah dipahami mesin.
Prolog dikenal sebagai bahasa deskriptif (descriptive language), yang berarti dengan diberikan serangkaian fakta-fakta dan aturan-aturan, Prolog, dengan menggunakan cara berpikir deduktif (deductive reasoning), akan dapat menyelesaikan permasalahan suatu program. Ini dikontraskan dengan bahasa komputer tradisional seperti C, BASIC, Pascal yang dikenal sebagai bahasa prosedural (procedural language). Dalam bahasa prosedural, programmer harus memberikan instruksi tahap demi tahap agar komputer dapat dengan pasti bagaimana menyelesaikan permasalahan yang diberikan. Dengan kata lain, programmer harus tahu lebih dahulu bagaimana cara menyelesaikan permasalahan sebelum diinstuksikan ke komputer. Lain jika dibandingkan dengan programmer Prolog. Programmer Prolog hanya membutuhkan deskripsi/gambaran permasalahan, lalu menerjemahkannya ke bahasa Prolog. Selanjutnya tinggal sistem Prolog yang menentukan bagaimana mencari solusinya.
Prolog didasarkan pada klausa-klausa Horn (Horn clauses), yang merupakan himpunan bagian dari sistem formal yang dinamakan logika predikat (predicate logic). Logika predikat menyederhanakan cara agar jelas bagaimana berpikir akan dilakukan. Prolog menggunakan variasi sintak logika predikat yang telah disederhanakan dengan demikian sintaknya mudah dimengerti dan sangat mirip dengan bahasa natural.
Prolog mempunyai mesin inferensi (infrence engine) yang merupakan suatu proses berpikir logis mengenai informasi. Mesin inferensi mempunyai pencocok pola (pattern matcher) yang akan mengambil informasi yang telah disimpan (diketahui) dan kemudian mencocokkan jawaban atas pertanyaan. Satu feature penting dari Prolog adalah bahwa, sehubungan mencari jawaban logis atas pertanyaan yang diajukan, ia dapat berhubungan dengan banyak alternatif dan mencari semua kemungkinan dari pada hanya satu solusi

Dasar-Dasar Prolog 

Fakta dan Relasi :
a. Prolog terdiri dari kumpulan data-data obyek yang merupakan suatu fakta.
b. Fakta selalu benar (true).
c. Dalam prolog, fakta dibedakan menjadi 2 macam yaitu menunjukan relasi dan milik/sifat.
Contoh :
• Slamet adalah ayah Amin
– ayah(slamet,amin).
• Anita adalah wanita
– wanita(anita).

Aturan (Rules)

a. Programmer Prolog mendefinisikan object-object dan relasi-relasi, kemudian mendefinisikan aturan mengenai kapan relasi-relasi ini dikatakan benar (true).
b. Suatu pernyataan yang menunjukkan bagaimana fakta-fakta berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan.
c. Dinyatakan sebagai suatu kalimat bersyarat.
Contoh :
– Fakta : Tino suka apel
– Aturan : Yuli suka sesuatu yang disukai Tino
Dalam prolog ditulis :
– suka(tino,apel).
– suka(yuli,Sesuatu) if suka(tino,Sesuatu).

 Pertanyaan (Query)

Kalau kita sudah memberikan Prolog sekumpulan fakta, selanjutkan dapat diajukan pertanyaan sehubungan dengan fakta-fakta. Ini dikenal dengan nama memberikan query ke sistem Prolog (querying the Prolog system). Pertanyaan yang diajukan ke Prolog sama tipenya seperti dalam bahasa natural
• Untuk mengajukan pertanyaan, misal : Apakah Tini suka boneka?
• Dalam prolog ditulis :
– suka(tini,boneka).
• Prolog akan memberikan jawaban :
– Yes
• Jika pertanyaannya
– suka(tini,mobil-mobilan).
• Prolog akan memberikan jawaban :
– No
• Prolog juga mampu memberikan jawaban atas pertanyaan apakah, siapakah, dan lain-lain.
• Contoh : Apakah yang disukai Tini ?
– suka(tini,Apa).
• Prolog akan memberikan jawaban :
– Apa = boneka
• Siapakah yang suka boneka ?
– suka(Siapa,boneka).
– Siapa = tini

Struktur Program Prolog

  • 1. DOMAINS
Berisi deklarasi (pernyataan) tentang jenis data yang digunakan dalam fakta dan aturan.
Ada 6 buah domain standar :
a. Integer : -32.768 sampai 32.767
b. Real : 1e-307 sampai 1e+308
c. Char
d. String
e. Symbol (kumpulan karakter yang diawali dengan huruf kecil)
f. File (digunakan untuk operasi file)
  • 2. PREDICATES
• Nama simbolik untuk relasi
– ayah(slamet,amin).
• Predikat dari fakta diatas ditulis :
– ayah(symbol,symbol)
• Slamet dan amin disebut argumen
• Jumlah argumen disebut aritas (arity)
• Ditulis tanpa diakhiri tanda titik
• Syarat penulisan nama predikat :
– Diawali huruf kecil dan dapat diikuti huruf, angka, atau garis
bawah
– Panjang nama maksimum 250 karakter
– Tidak diperbolehkan menggunakan spasi, tanda minus, tanda
bintang, dan garis miring.
  • 3. CLAUSES 
a. Berisi fakta dan aturan yang membentuk keseluruhan program.
b. Mirip prosedur pada bahasa pemrograman lain.
c. Bagian fakta umumnya ditulis sebelum bagian aturan.
d. Fakta dan aturan yang mempunyai relasi yang sama harus dituliskan berkelompok.
e. Fakta/aturan ditulis mulai dari fakta/aturan yang paling atas kemudian urut ke bawah.
f. Kemungkinan yang lebih besar ditempatkan lebih awal daripada kemungkinan yang lebih kecil.
  • 4. GOAL 
a. Berisi pertanyaan yang diajukan kepada Prolog.
b. Dapat terdiri dari beberapa bagian yang disebut subgoal
c. Ada 2 jenis goal :
  1. 1. Goal eksternal : goal yang diberikan melalui compiler, dituliskan dalam jendela dialog.
  2. 2. Goal internal : goal yang dituliskan sekaligus dalam program.
  3.   - GOAL : ayah(slamet,badu)
  4.   - True. 

Goal Majemuk

a. Goal yang terdiri lebih dari satu pernyataan
b. Bagian goal tersebut disebut sub goal
- GOAL : mobil(Merk,Warna,Harga), Harga < 50.
- GOAL : mobil(Merk,Warna,Harga),
                Warna = merah,
                Harga < 35.

Variabel 

a. Besaran yang nilainya dapat berubah-ubah
b. Tata cara penulisan variabel :
1. Harus diawali huruf besar atau garis bawah (_).
2. Dapat terdiri dari huruf, angka atau simbol dan merupakan satu kesatuan.
3. Panjang maksimum 250 karakter.
4. Hendaknya mengandung makna yang berkaitan dengan data yang dinyatakannya.
c. Ada 3 macam variabel dalam prolog :
– Variabel bebas (free variable)
– Variabel terikat (bound variable)
– Variabel tak bernama (anonymous variable)

Sumber :
http://www.rumahinformatika.ml/2014/06/26-laporan-praktikum-kecerdasanbuatan.html
lulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf

http://www.herowintolo.stta.ac.id/2010/12/kecerdasan-buatan1_21.html
Read more...

SISTEM PAKAR PENGERTIAN, SEJARAH, DAN PEMBAHASANNYA



  • A. Sistem Pakar

Sistem pakar (dalam bahasa Inggris expert system) adalah sistem informasi yang berisi dengan pengetahuan dari pakar sehingga dapat digunakan untuk konsultasi. Pengetahuan dari pakar di dalam sistem ini digunakan sebagi dasar oleh Sistem Pakar untuk menjawab pertanyaan (konsultasi).
Kepakaran (expertise) adalah pengetahuan yang ekstensif dan spesifik yang diperoleh melalui rangkaian pelatihan, membaca, dan pengalaman. Pengetahuan membuat pakar dapat mengambil keputusan secara lebih baik dan lebih cepat daripada non-pakar dalam memecahkan problem yang kompleks. Kepakaran mempunyai sifat berjenjang, pakar top memiliki pengetahuan lebih banyak daripada pakar yunior. Tujuan Sistem Pakar adalah untuk mentransfer kepakaran dari seorang pakar ke komputer, kemudian ke orang lain (yang bukan pakar).
Sistem pakar adalah suatu program komputer yang mengandung pengetahuan dari satu atau lebih pakar manusia mengenai suatu bidang spesifik. Jenis program ini pertama kali dikembangkan oleh periset kecerdasan buatan pada dasawarsa 1960-an dan 1970-an dan diterapkan secara komersial selama 1980-an. Bentuk umum sistem pakar adalah suatu program yang dibuat berdasarkan suatu set aturan yang menganalisis informasi (biasanya diberikan oleh pengguna suatu sistem) mengenai suatu kelas masalah spesifik serta analisis matematis dari masalah tersebut. Tergantung dari desainnya, sistem pakar juga mampu merekomendasikan suatu rangkaian tindakan pengguna untuk dapat menerapkan koreksi. Sistem ini memanfaatkan kapabilitas penalaran untuk mencapai suatu simpulan.
  • B. Sejarah Sistem Pakar
Sistem Pakar petama kali dikembangkan oleh komunitas AI (Artificial Intellegence) pada pertengahan tahun 1956. Sistem Pakar yang munculpertama kali adalah General-purpose Problem Solver (GPS) yang dikembangkan oleh Newel dan Simon (Sri Kusumadewi, 2003).
Pertengahan tahun 1960-an, terjadi pergantian dari program serba bisa (general-purpose) ke program yang spesialis (special-purpose) dengan dikembangkannya DENDRAL oleh E.Feigenbauh dari Universitas Stanford dan kemudian diikutu oleh MYCIN.
Awal tahun 1980-an, teknologi Sistem Pakar yang mula-mula dibatasi oleh suasana akademis mulai muncul sebagai aplikasi komersial, khususnya XCON, XSEL (dikembangkan dari R-1 pada Digital Equipment Corp.) dan CATS-1 (dikembangkan oleh General Electric). Sistem Pakar dari tahun ketahun selalu mengalami perkembangan.
  • C. Struktur Sistem Pakar
1. Basis Pengetahuan (Knowledge Base)
Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui. Menurut Gondran (1986) dalam Utami (2002), basis pengetahuan merupakan representasi dari seorang pakar, yang kemudian dapat dimasukkan kedalam bahasa pemrograman khusus untuk kecerdasan buatan (misalnya PROLOG atau LISP) atau shell sistem pakar (misalnya EXSYS, PC-PLUS, CRYSTAL, dsb.)
2. Mesin Inferensi (Inference Engine)
Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian.
Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya.
Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan prose penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu forward chaining, backward chaining, dan gabungan dari kedua tehnik pengendalian tersebut.
3. Basis Data (Database)
Basis data terdiri atas semua fakta yang diperlukan, dimana fakta-fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.
4. Antarmuka Pemakai (User Interface)
Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai dengan sistem. Hubungan antar komponen penyusun struktur sistem pakar dapat dilihat pada Gambar di bawah ini :
  • D. Arsitektur Sistem Pakar

1. Knowledge base
Knowledge base merupakan representasi pengetahuan dari seorang atau beberapa pakar yang diperlukan untuk memahami, memformulasikan dan memecahkan masalah. Dalam hal ini digunakan untuk memecahkan masalah-masalah yang terjadi pada komputer. Knowledge base ini terdiri dari dua elemen dasar, yaitu fakta dan rules.
2. Inference engine 
Inference engine merupakan otak dari sistem pakar yang mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. Mekanisme ini yang menganalisis suatu masalah tertentu dan kemudian mencari solusi atau kesimpulan yang terbaik.
3. Working Memory 
Working memory merupakan tempat penyimpanan fakta-fakta yang diketahui dari hasil menjawab pertanyaan.
4. User/developer interface
Semua software pengembangan sistem pakar memberikan interface yang berbeda bagi user dan developer. User akan berhadapan dengan tampilan yang sederhana dan mudah sedangkan developer akan berhadapan dengan editor dan source code waktu mengembangkan program.
5. Explanation facility 
Explanation facility memberikan penjelasan saat mana user mengetahui apakah alasan yang diberikan sebuah solusi.
6. External programs
Berbagai program seperti database, spreadsheets, algorithms, dan lainnya yang berfungsi untuk mendukung sistem.

  • E. Ciri-ciri Sistem Pakar
1.    Terbatas pada bidang yang spesifik
2.    Dapat memberikan penalaran untuk data-data yang tidak lengkap atau tidak pasti.
3.    Dapat digunakan dalam berbagai jenis komputer.
4.    Memiliki kemampuan untuk belajar beradaptasi.
5.    Dirancang untuk dapat dikembangkan secara bertahap.
6.    Output tergantung dari dialog dengan user.
7.    Knowledge dan inference engine terpisah
8.    Keuntungan Sistem Pakar
9.    Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.
10. Bisa melakukan proses secara berulang secara otomatis.
11. Menyimpan pengetahuan dan keahlian dari para pakar.
12. Meningkatkan output dan produktivitas.
13. Meningkatkan kualitas.
14. Mampu mengambil dan melestarikan keahlian para pakar (terutama termasuk yang keahlian langka).
15. Mampu beroperasi dalam lingkungan yang berbahaya.
16. Memiliki kemampuan untuk mengakses pengetahuan.
17. Memiliki reabilitas.
18. Meningkatkan kapabilitas sistem komputer.
19. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidak pastian.
20. Sebagai media pelengkap dalam pelatihan.
21. Meningkatkan kapabilitas dalam menyelesaikan masalah.
22. Menghemat waktu dalam mengambil keputusan.
23. Kelemahan Sistem Pakar
24. Biaya yang diperlukan dalam pembuatan aplikasi sistem pakar dan memeliharanya sangat mahal.
25. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
26. Sistem pakar tidak 100% bernilai benar.
  • F. Perbandingan Sistem Konvensional dan Sistem Pakar
Sistem Konvensional
Sistem Pakar
Informasi dan pemrosesan umumnya digabung dalam satu program sequential
Knowladge base terpisah dari mekanisme pemrosesan.
Program tidak pernah salah
Program bisa saja melakukan kesalahan
Data harus lengkap
Data tidak harus legkap
Sistem bekerja jika sudah lengkap
System dapat bekerja hanya dengan rules yang sedikit
Data kuantitatif
Data kualitatif
Representasi data dalam numerik
Representasi pengetahuan dalam symbol
Eksekusi secara algoritmik (step by step)
Eksekusi dilakukan secara heuristic dan logik

Daftar Pustaka
Arhami, Muhammad. (2004). Konsep Dasar Sistem Pakar. Andi. Yogyakarta.
Farid Azis, M, (1994), Belajar sendiri pemrograman sistem pakar, Elexmedia Komputindo, Jakarta, 3-48.
Turban Efraim. 1992: “Expert System And Applied Artificial Intelegence”. Macmillan Publishing Company, Printed in The republic Of singapore.
Kusrini, 2006. Sistem Pakar Teori dan Aplikasi. Yogyakarta : Andi Offset.

Read more...

MEMBUAT GARIS MENGGUNAKAN OPENGL DAN JAVA

Tugas Grafik Komputer dan Pengolahan Citra

Pada kesempatan kali ini penulis membuat sebuah tugas yaitu membuat sebuah program menggambar garis horizontal, vertikal dan diagonal dengan berdasarkan input titik awal garis dan titik akhir garis. Program ini memanfaatkan library OpenGL. Bahasa pemrograman yang dipergunakan yaitu Java, dengan pembuatannya menggunakan program NetBeans versi 8.2. Adapun untuk library penghubung yang dipergunakan dalam menghubungkan Java dan OpenGL pada program ini yaitu LWJGL (LightWeight Java Game Library) versi 2.9.1.

OpenGL (Open Graphics Library) adalah spesifikasi standar yang mendefinisikan sebuah lintas-bahasa, lintas platform API untuk mengembangkan aplikasi yang menghasilkan grafis komputer 2D maupun3D. Antarmuka terdiri dari lebih dari 250 panggilan fungsi yang berbeda yang dapat digunakan untuk menggambar tiga dimensi yang adegan-adegan kompleks dari bentuk-bentuk primitif sederhana. OpenGL dikembangkan oleh Silicon Graphics Inc (SGI) pada tahun 1992  dan secara luas digunakan dalam CAD, realitas maya, visualisasi ilmiah, visualisasi informasi, dan simulasi penerbangan. Hal ini juga digunakan dalam video game, di mana bersaing dengan Direct3D on Microsoft Windows platform (lihat vs OpenGL Direct3D). OpenGL dikelola oleh sebuah teknologi konsorsium nirlaba yaitu Khronos Group.

Pada Program ini dibuat dengan menggunakan empat file kelas Java, yaitu:

  1. 1. Pr_Main.java -> file kelas utama yang menampilkan menu utama program.
  1. 2. Pr_Horizontal.java -> file kelas yang berfungsi untuk menerima input dan menampilkan output garis horizontal.
  1. 3. Pr_Vertikal.java -> file kelas yang berfungsi untuk menerima input dan menampilkan output garis vertikal.
  1. 4. Pr_Diagonal.java -> file kelas yang berfungsi untuk menerima input dan menampilkan output garis diagonal.
 Di bawah ini adalah link untuk mengunduh program dan source code serta file dokumentasinya :

Read more...