Thursday 23 November 2017

Representasi Pengetahuan

1. Unifikasi dan Runut Balik

1.1 Unifikasi
Unifikasi adalah proses yang dilakukan oleh prolog untuk mencari padanan antara pernyataan yang terdapat pada aturan dengan fakta atau kepala aturan yang lain.

Syarat terjadinya unifikasi adalah:
§ Mempunyai relasi yang sama
§ Mempunyai jumlah argumen yang sama dan posisi argumen yang sama pula
§ Argumen yang berpadanan harus mempunyai jenis data yang sama
§ Semua pasangan argumen (pada data majemuk) harus juga berpadanan

1.2 Proses Pencarian Jawaban

GOAL : kakek(Kakek,budi).

Kakek(Kakek,budi) – kakek(Kakek,Cucu)

ayah(Ayah,Cucu) – ayah(Ayah,budi)

ayah(Ayah,budi) – ayah(amin,budi)

ayah(Kakek,Ayah) – ayah(Kakek,amin)

ayah(Kakek,amin) – ayah(slamet,amin)

kakek(Kakek,budi) – kakek(slamet,budi)

Kakek = slamet

1.3 Predikat Not

Predikat Not digunakan untuk menyatakan lawan logika dari suatu pernyataan. Predikat ini tidak dapat berdiri sendiri juga tidak dapat dipasangkan pada fakta atau kepala suatu aturan, tetapi hanya dapat dipasangkan pada bagian suatu aturan

Contoh : menyatakan saudara sepupu
Saudara_sepupu(Sdr1,Sdr2) :- kakek(Kakek,Sdr1), kakek(Kakek,Sdr2), not(saudara_kandung(Sdr1,Sdr2)), Sdr1 <> Sdr2.

2. Predikat keluaran & Masukan

·        Write
Write digunakan untuk menuliskan konstanta atau isi variabel ke piranti keluaran yang dikenali pada saat itu.
write(E1,E2,E3,…,En) – (i,i,i,…,i). E1,E2,E3,…En adalah konstanta (karakter atau string) atau variable
Contoh :
Tes :- Write(“Saya sedang belajar Turbo Prolog.”), write(“Teman saya belajar Basic”)
Output :
Saya sedang belajar Turbo Prolog.Teman saya belajar Basic

·        Writef
Writef mempunyai fungsi yang hampir sama dengan predikat write, hanya hasilnya mempunyai format seperti yang diinginkan.
writef(format,E1,E2,…,En) – (i,i,…,i)

Macam-macam format :
f : format bilangan real dalam notasi desimal
e : format bilangan real dalam notasi eksponensial
d : format karakter atau bilangan bulat dalam desimal
c : format karakter atau bilangan bulat sebagai karakter

·        Writedevice
Writedevice digunakan untuk mengubah atau mendapatkan informasi tentang piranti keluaran yang dikenali oleh program pada saat itu.
writedevice(VarPiranti) – (i), (o)
Macam-macam piranti keluaran :
• Screen
• Printer
• Com1
• Tdout
• Stderr

·        Readln
Digunakan untuk membaca sederetan karakter dari piranti masukan sampai ditemukan tanda carriage return (ASCII 13). Karakter yang dibaca akan ditampilkan di layar monitor.

·        Readchar
Digunakan untuk membaca karakter tunggal dari piranti masukan (tanpa perlu enter). Berbeda dengan readln, untuk readchar karakter yang dibaca tidak ditampilkan di layar monitor.

·        Readint
Readint digunakan untuk membaca bilangan bulat sampai tombol Enter. Akan gagal apabila bilangan bulat yang dibaca tidak sesuai dengan yang sudah didefinisikan.
·        Readreal
Digunakan untuk membaca bilangan real sampai tombol Enter.

·        Readdevice
Digunakan untuk mengubah atau meminta informasi tentang piranti masukan yang saat itu dikenal

3. Perbandingan Operator

3.2 Perbandingan
Operator perbandingan berfungsi untuk membandingkan nilai suatu variable terkat atau suatu objek. Variable atau objek yang dibandingkan disebut operand. Kedua operand yang dibandingkan haruslah sudah terikat dengan nilai tertentu (baik variable maupun objek), kecuali operator sama dengan.

3.3 Operasi Aritmatika
Pernyataan aritmatika terdiri dari operand (bilangan atau variable), operator dan tanda kurung (bila diperlukan).

Ada 6 buah operator aritmatika, yaitu:
+        : Operator Penjumlahan
-        : Operator Pengurangan
*        : Operator Perkalian
/         : Operator Pembagian
Div    : Operator hasil bagi bulat
Mod   : Operator sisa hasil bagi

3.4 Fungsi Matematik
Disamping mempunyai kemampuan dalam perhitungan aritmatika, Prolog juga dilengkapi dengan predikat jadi yang merupakan fungsi matematika (fungsi aljabar, trigonometri, logaritma).
Fungsi-fungsi tersebut dapat dilihat pada table berikut ini :

Referensi : http://ayu_ws.staff.gunadarma.ac.id ( Pasangan Pola )

Sunday 12 November 2017

Sistem Pakar - Pengertian, Sejarah dan Pembahasannya


  • Pengertian 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.

  • Sejarah Sistem Pakar
        Expert System (ES) dikembangkan pada pertengahan tahun 1960-an oleh Artificial Intelligence Corporation. Periode penelitian artificial intelligence ini didominasi oleh suatu keyakinan bahwa nalar yang digabungkan dengan komputer canggih akan menghasilkan prestasi pakar atau manusia super. Suatu usaha kearah ini adalah General Purpose Problem-Solver (GPS). GPS yang berupa sebuah prosedur yang dikembangkan Allen Newell, John Cliff Show dan Herbert Alexander Simon dari Logic Theorist, merupakan sebuah percobaan untuk menciptakan mesin yang cerdas. GPS sendiri merupakan sebuah Predecessor menuju Expert System (ES). GPS berusaha untuk menyusun langkah – langkah yang dibutuhkan untuk mengubah situasi awal menjadi state tujuan yang telah ditentukan sebelumnya.
      Pada pertengahan tahun 1960-an, terjadi pergantian dari program serba bisa (general-purpose) ke program yang spesialis (special-purpose) dengan dikembangkannya DENDRAL oleh E.Feigenbaum dari Universitas Stanford dan kemudian diikuti oleh MYCIN. Problem yang kompleks membutuhkan pengetahuan yang banyak sekali tentang area problem. Pada tertengan tahun 1970-an, beberapa ES mulai muncul, sebuah pengetahuan kunci yang dipelajari saat itu adalah kekuatan dari ES berasal dari pengetahuan spesifik yang dimilikinya bukan dari formalism khusus dan pola penarikan kesimpulan yang digunakan.
      Awal 1980-an teknologi ES 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 untuk untuk melakukan diagnosis pertama dibuat oleh Bruce Buchanan dan Edward Shortliffe di STANFORD UNIVERSITY. Sistem ini diberinama MYCIN (Heckerman, 1986).

Sistem pakar yang terkenal antara lain:
MYCIN
• Paling terkenal, dibuat oleh Edward Shortlife of Standford University tahun 70-an
• Sistem pakar medical yang bisa mendiagnosa penyakit infeksi dan merekomendasi pengobatan
• MYCIN membantu dokter mengidentifikasi pasien yang menderita penyakit. Dokter duduk di depan komputer dan memasukkan data pasien: umur, riwayat kesehatan, hasil laboratorium dan informasi terkait lainnya. Dengan informasi ini ditambah pengetahuan yang sudah ada dalam komputer, MYCIN mendiagnosa selanjutnya merekomendasi obat dan dosis yang harus dimakan.
• MYCIN sebagai penasehat medis, tidak dimaksudkan untuk mengantikan kedudukan seorang dokter. Tetapi membantu dokter yang belum berpengalaman dalam penyakit tertentu. Juga untuk membantu dokter dalam mengkonfirmasi diagnosa dan terapi yang diberikan kepada pasien apakah sesuai dengan diagnosa dan terapi yang ada dalam basis pengetahuan yang sudah dimasukkan ke dalam MYCIN, karena MYCIN dirancang oleh dokter-dokter yang ahli di bidang penyakit tersebut.
• Kesimpulan : sistem pakar seperti MYCIN bisa digunakan sebagai bahan pembanding dalam pengambilan solusi dan pemecahan masalah. Keputusan terakhir atas pengobatan tersebut tetap menjadi tanggung jawab dokter.

DENDRAL
Mengidentifikasi struktur molekular campuran kimia yang tak dikenal XCON & XSEL

XCON
• Merupakan sistem pakar untuk membantu konfigurasi sistem komputer besar, membantu melayani order langganan sistem komputer DEC VAX 11/780 ke dalam sistem spesifikasi final yang lengkap
• Komputer besar seperti VAX dan komponen yang berbeda digabung dan disesuaikan dengan konfigurasi tertentu yang diinginkan oleh para pelanggan.
• Ada ribuan cara dimana aseosri Pcboard, kabel, disk drive, periperal, perangkat lunak, dan lainnya bisa dirakit ke dalam konfigurasi yang sangat rapih. Untuk meng-identifikasi hal-hal tersebut diperlukan waktu berhari-hari/berminggu-minggu agar bisa memenuhi spesifikasi yang diinginkan pemesan, tapi dengan XCON bisa dalam beberapa menit.

XSEL
• Dirancang untuk membantu karyawan bagian penjualan dalam memilih komponen sistem VAX. Karena banyaknya pilihan karyawan tersebut sering menghadapi kesulitan dalam memilih suatu komponen yang paling tepat.
• Basis pengetahuan yang ada pada XSEL membantu mengarahkan para pemesan serius untuk memilih konfigurasi yang dikehendaki, kemudian XSEL memilih CPU, memori, periperal dan menyarankan paket software tertentu yang paling tepat dengan konfigurasinya.

PROSPECTOR
• = sistem pakar yang membantu ahli geologi dalam mencari dan menemukan deposit
• Basis pengetahuan berisi bermacam-macam mineral dan batu-batuan. Banyak pakar geologi diwawancarai dan pengetahuan mereka tentang berbagai bentuk biji deposit dimasukkan ke dalam sistem pakar.
• Ahli geologi melacak biji deposit dengan pergi ke lapangan untuk meninjau medan dan mengumpulkan bukti yang ada seperti ciri-ciri geologi dicatat, sampel tanah dan batu-batuan. Sistem pakar mengevaluasi areal dalam bentuk pertanyaan dan data-data tersebut dimasukkan, kemudian Prospector memberikan rekomendasi yang menunjukkan jumlah deposit yang ada dan apakah menguntungkan atau tidak bila dieksplorasi atau di bor lebih lanjut.

DELTA
• Dibuat oleh perusahaan General Electric (GE) membantu karyawan bagian pemeliharaan mesin lokomotif diesel dalam memantau mesin-mesin yang tidak berfungsi dengan baik dan membimbing ke arah prosedur perbaikan.

FOLIO
• Sistem pakar yang menolong stock broker dan tugas manajer dalam menangani investasi bagi kepentingan para langganannya. Stock broker mewawancarai langganan untuk menentukan tujuan sumber dan investasi mereka.
• FOLIO bisa memberikan rekomendasi tentang keamanan investasi, mengevaluasi stock beresiko tinggi,menghitung pengembalian modal, dan membuat keputusan dalam hal pemasaran suatu komoditi.
• Membantu para perencana keuangan untuk memperkecil kerugian karena pajak, inflasi atau faktor lain misal turun naiknya nilai mata uang.


ELECTRONIC LAYER.
• Digunakan untuk menganalisa dan membantu rekayasa rancangan sirkuit elektronik yang terbuat dari transistor, dioda dan resistor.
• Diagram skematik dari sirkuit ini dimasukkan ke dalam komputer dan EL menganalisis menentukan karakteristik sirkuit, nilai voltase, dan strum yang ada pada semua titik sirkuit.
• Basis pengetahuan pada EL merupakan prinsip umum elektronik seperti hukum OHM, hukum kirchoff, karakteris-tik komponen, teori operasi transistor.

RAMALAN CUACA
Dengan diberi input tentang situasi cuaca yang sedang berlangsung, baik lokal maupun ditempat lain, maka sistem pakar bisa menyajikan ramalan yang akurat tentang cuaca yang akan terjadi dalam suatu periode tertentu.

  • Struktur Sistem Pakar
Komponen utama pada struktur sistem pakar (Hu et al, 1987) meliputi:
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 :

  • Penggunaan Dan Pengembangan Sistem Pakar
1. Pakar
Pakar adalah orang yang memiliki pengetahuan khusus, pendapat, pengalaman dan metode, serta kemampuan untuk mengaplikasikan keahliannya tersebut guna menyelesaikan masalah.
2. Perekayasa pengetahuan
Perekayasa pengetahuan adalah orang yang membantu pakar dalam menyusun area permasalahan dengan menginterpretasikan dan mengintegrasikan jawaban-jawaban pakar atas pertanyaan yang diajukan, menggambarkan analogi, mengajukan counter example dan menerangkan kesulitan-kesulitan konseptual.
3. Pemakai
- Pemakai awam : dalam hal ini sistem pakar bertindak se-bagai konsultan untuk memberikan saran dan solusi kepada pemakai
- Pelajar yang ingin belajar : sistem pakar bertindak sebagai instruktur
- Pembuat sistem pakar : sistem pakar sebagai partner dalam pengembangan basis pengetahuan.
- Pakar : sistem pakar bertindak sebagai mitra kerja/asisten

  • Area Permasalahan Aplikasi Sistem Pakar
1. Interpretasi
Yaitu pengambilan keputusan dari hasil observasi, diantaranya : pengawasan, pengenalan ucapan, analisis citra, interpretasi sinyal, dan beberapa analisis kecerdasan.
2. Prediksi
Memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi tertentu, diantaranya : peramalan, prediksi demografis, peralaman ekonomi, prediksi lalulintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan.
3. Diagnosis
Menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada gejala-gejala yang teramati, diantaranya : medis, elektronis, mekanis, dan diagnosis perangkat lunak
4. Desain
Menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuan kinerja tertentu dan kendala-kendala tertentu, diantaranya : layout sirkuit, perancangan bangunan
5. Perencanaan
Merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu, diantaranya : perencanaan keuangan, komunikasi, militer, pengembangan politik, routing dan manajemen proyek.
6. Monitoring
Membandingkan tingkah laku suatu sistem yang teramati dengan tingkah laku yang diharapkan darinya, diantara-nya : Computer Aided Monitoring System
7. Debugging dan repair
Menentukan dan mengimplementasikan cara-cara untuk mengatasi malfungsi, diantaranya memberikan resep obat terhadap suatu kegagalan.
8. Instruksi
Melakukan instruksi untuk diagnosis, debugging dan per-baikan kinerja.
9. Kontrol
Mengatur tingkah laku suatu environment yang kompleks seperti kontrol terhadap interpretasiinterpretasi, prediksi, perbaikan, dan monitoring kelakuan sistem
10. Seleksi
Mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan.
11. Simulasi
Pemodelan interaksi antara komponen-komponen sistem.



KESIMPULAN

Jadi dapat disimpulkan bahwa, sistem pakar dapat digunakan oleh:
· Orang awam yang bukan pakar untuk meningkatkan kemampuan mereka dalam memecahkan masalah.
· Pakar sebagai asisten yang berpengetahuan.
· Memperbanyak atau menyebarkan sumber pengetahuan yang semakin langka.
Sistem pakar merupakan program yang dapat menggantikan keberadaan seorang pakar. Alasan mendasar mengenai sistem pakar dikembangkan untuk menggantikan seorang pakar :
· Dapat menyediakan kepakaran setiap waktu dan diberbagai lokasi.
· Secara otomatis mengerjakan tugas – tugas rutin yang membutuhkan seorang pakar.
· Seorang pakar akan pensiun atau pergi.
· Menghadirkan / menggunakan jasa seorang pakar memerlukan biaya yang mahal.
· Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile environtment).

Ciri – Ciri Sistem Pakar
· Terbatas pada bidang yang spesifik.
· Dapat memberikan penalaran untuk data – data yang tidak lengkap atau tidak pasti.
· Dapat mengemukakan rangkaian alasan yang diberikannya dengan cara yang dapat dipahami.
· Berdasarkan pada Rule atau kaidah tertentu.
· Dirancang untuk dapat dikembangkan secara bertahap.
· Outputnya bersifat nasihat atau anjuran.
· Output tergantung dari dialog dengan user.
· Knowledge base dan interference engine terpisah.

Keuntungan Pemakaian Sistem Pakar
· Membuat seorang yang awam dapat bekerja seperti layaknya seorang pakar.
· Dapat bekerja dengan informasi yang tidak lengkap atau tidak pasti.
· Meningkatkan output dan produktifitas. ES dapat bekerja lebih cepat dari manusia. Keuntungan ini berarti mengurangi jumlah pekerja yang dibutuhkan, dan akhirnya akan mereduksi biaya.
· Meningkatkan kualitas.
· ES menyediakan nasihat yang konsisten dan dapat mengurangi tingkat kesalahan.
· Membuat peralatan yang kompleks lebih mudah dioperasikan karena ES dapat melatih pekerja yang tidak berpengalaman.
· Handal (reliability)
· ES tidak dapat lelah atau bosan. Juga konsisten dalam member jawaban dan selalu memberikan perhatian penuh.
· Memiliki kemampuan untuk memecahkan masalah yang kompleks.
· Memungkinkan pemindahan pengetahuan ke lokasi yang jauh serta memperluas jangkauan seorang pakar, dapat diperoleh dan dipakai dimana saja. Merupakan arsip yang terpercaya dari sebuah keahlian sehingga user seolah-olah berkonsultasi langsung dengan sang pakar meskipun mungkin sang pakar sudah pensiun.

Kerugian Pemakaian Sistem Pakar
Selain banyak manfaat yang diperoleh, ada juga kelemahan pengembangan sistem pakar, yaitu:
· Daya kerja dan produktivitas manusia menjadi berkurang karena semuanya dilakukan secara otomatis oleh sistem.
· Pengembangan perangkat lunak sistem pakar lebih sulit dibandingkan dengan perangkat lunak lainya.
· Biaya yang diperlukan untuk membuat dan memeliharanya relatif mahal karena diperlukan banyak data.
· Perlu admin khusus yang selalu update informasi dalam bidang yang sesuai dengan sistem pakar.
· Pengembangan perangkat lunak sistem pakar lebih sulit dibandingkan perangkat lunak konvensional.
· Susah di kembangkan.
· Membutuhkan waktu yang lama.

DAFTAR PUSTAKA

Setiawan, Agung Budi (2014). Sistem Pakar. Bandung
Arhami, Muhammad. (2004). Konsep Dasar Sistem Pakar. Andi. Yogyakarta.
Farid Azis, M, (1994), Belajar sendiri pemrograman sistem pakar, Elexmedia Komputindo, Jakarta, 3-48.
Jogiyanto HM,Akt MBA.(2005). Analisis dan desain Sistem Informasi: pendekatan terstruktur teori dan praktek aplikasi bisnis ,Andi,Yogyakarta.
Rusell Stuart J, Norvig Peter. 1995: “Artificial Intelligence A Modern Approach”. Prentice-Hall International Edition, New Jersey.
Suparman, 1991: Mengenal Artificial Intelegence, Andi Offset, Yogyakarta.

 

Subscribe to our Newsletter