Minggu, 30 Oktober 2016

Metode Pencarian (Heuristic Search)

Heuristic Search


Pencarian tersusun atau pencarian heuristik merupakan suatu teknik yang digunakan untuk meningkatkan efisiensi dalam proses pencarian. Metode heuristik menggunakan suatu fungsi yang menghitung biaya perkiraan dari suatu simpul tertentu menuju ke simpul tujuan. Dalam pencarian state space, heuristik adalah aturan untuk memilih cabang-cabang yang paling mungkin menyebabkan penyelesaian permasalahan dapat diterima.
  • Generate and Test


Ini adalah gabungan dari pencarian depth first dengan pelacakan mundur. Nilai dari pengujian ini berupa "ya" atau "tidak". Pencarian ini memiliki beberapa algoritma, yaitu :
  1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertendu dari keadaan awal).
  2.  Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengancara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih merupakan tujuan yang diharapkan.
      Kelemahan dari generate and test adalah perlunya membangkitkan semua kemungkinan  sebelum dilakukan pengujian, serta membutuhkan waktu yang cukup lama dalam  pencarian.

  •       Hill climbing
      Metode ini hampir sama dengan generate and test, perbedaannya ada pada feedback dari  prosedur test untuk pembangkitan keadaan berikutnya. Tes yang dilakukan berupa fungsi  heuristik akan menunjukkan seberapa baik nilai terkaan yang diambil terhadap keadaan  lain yang memungkinkan. Algoritma dari pencarian ini adalah :
  1.       Mulai dari keadaan awal, jika merupakan tujuan, maka berhenti; tapi jika tidak,  lanjutkan dengan keadaan sekarang sebagai keadaan awal.
  2.       Kerjakan langkah-langkah berikut hingga solusinya ditemukan, atau hingga tidak ada  lagi operator baru yang diaplikasikan pada keadaan sekarang :
  •       Cari operator yang belum pernah digunakan sebagai operator untuk keadaan baru
  •       Evaluasi keadaan baru tersebut
  •       Jika keadaan baru adalah tujuan, keluar.
  •       Jika bukan tujuan namun nilai lebih baik, keadaan baru akan digunakan sebagai  keadaan sekarang.
  •       Jika  keadaan baru tidak lebih baik, maka lanjutkan interasi.
      Kelemahan pada sistem ini adalah algoritma akan berhenti ketika mencapai optimum  local, urutan penggunaan operator akan sangat berpengaruh, dan tidak diijinkan untuk  melihat langkah sebelumnya.

      Sumber :
      http://buatugasai.blogspot.co.id/2013/04/metode-pencarian-dan-pelacakan_4.html
      https://aiukswkelasgkelompok7.wordpress.com/metode-pencarian-dan-pelacakan/






Metode Pencarian (Blind Searching)

Blind Searching

Merupakan pencarian buta, pencarian ini tidak memiliki informasi awal.

Ciri - ciri Blind Search
  • Membangkitkan simpul berdasarkan urutan
  • Kalau ada solusi, solusi akan ditemukan
  • Hanya memiliki informasi tentang node yang telah dibuka (node selanjutnya tidak diketahui
Blid search di bagi menjadi 2 yaitu :

Pencarian Melebar Pertama (Breadth-First Search)
  • Semua node pada level n akan dikunjungi terlebih dahulu sebelum level n+1
  • Mulai dari akar terus ke level 1 dari kiri ke kanan
  • Kemudian ke level selanjutnya hingga solusi ditemukan
Keuntungan BFS :

  • Tidak akan menemui jalan buntu
  • Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti
  • yang paling baik
  • Jika ada satu solusi maka bread-first search akan menemukannya

Kelemahannya BFS :
  • Membutuhkan memori yang cukup banyak
  • Membutuhkan waktu yang cukup lama


Pencarian mendalam pertama (Depth-First Search)

DFS (Depth-First-Search) adalah salah satu algoritma penelusuran struktur graf / pohon berdasarkan kedalaman. Simpul ditelusuri dari root kemudian ke salah satu simpul anaknya ( misalnya prioritas penelusuran berdasarkan anak pertama [simpul sebelah kiri] ), maka penelusuran dilakukan terus melalui simpul anak pertama dari simpul anak pertama level sebelumnya hingga mencapai level terdalam. Setelah sampai di level terdalam, penelusuran akan kembali ke 1 level sebelumnya untuk menelusuri simpul anak kedua pada pohon biner [simpul sebelah kanan] lalu kembali ke langkah sebelumnya dengan menelusuri simpul anak pertama lagi sampai level terdalam dan seterusnya.

Kelebihan DFS adalah:
  • Pemakain memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan.
  • Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.

Kelemahan DFS adalah:
  • Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).
  • 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).

Sumber :
http://buatugasai.blogspot.co.id/2013/04/metode-pencarian-dan-pelacakan_4.html
https://aiukswkelasgkelompok7.wordpress.com/metode-pencarian-dan-pelacakan/







Sabtu, 01 Oktober 2016

Sistem Pakar

Pengertian Sistem Pakar

Sistem pakar pertama kali dikembangkan oleh komunitas AI pada pertengahan tahun 1960. Sistem pakar yang muncul pertama kali adalah General Purpose Problem Solver (GPS) yang dikembangkan oleh Newel & Simon (Turban,1995).

Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalah tertentu dengan meniru kerja dari para ahli. Sistem pakar memiliki banyak definisi, tetapi pada dasarnya sistem pakar diterapkan untuk mendukung aktivitas pemecahan masalah.



Secara umum, sistem pakar merupakan sistem yang mengadopsi pengetahuan manusia ke dalam komputer sehingga komputer dapat digunakan untuk menyelesaikan suatu masalah sebagaimana yang dilakukan oleh seorang pakar. Sistem pakar dibuat pada wilayah pengetahuan tertentu dan untuk suatu keahlian tertentu yang mendekati kemampuan manusia di salah satu bidang khusus. Sistem pakar mencoba mencari solusi yang memuaskan sebagaimana yang dilakukan seorang pakar dan dapat memberikan penjelasan terhadap langkah yang diambil serta memberikan alasan atas kesimpulan yang diambil.

Keuntungan Sistem Pakar

Secara garis besar, ada banyak keuntungan bila menggunakan sistem pakar, diantaranya adalah (Arhami, 2005):
  1. Menjadikan pengetahuan dan nasihat lebih mudah didapat.
  2. Meningkatkan output dan produktivitas.
  3. Menyimpan kemampuan dan keahlian pakar.
  4. Meningkatkan penyelesaian masalah yaitu menerusi paduan pakar, penerangan,sistem pakar khas.
  5. Meningkatkan reliabilitas.
  6. Memberikan respons (jawaban) yang cepat.
  7. Merupakan panduan yang intelligence (cerdas).
  8. Dapat bekerja dengan informasi yang kurang lengkap dan mengandung ketidakpastian.
  9. Intelligence database (basis data cerdas), bahwa sistem pakar dapat digunakan untuk mengakses basis data dengan cara cerdas

Kelemahan Sistem Pakar

Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain:
  1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
  2. Sulit dikembangkan system pakar yang benar-benar berkualitas tinggi. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
  3. Sistem pakar tidak dapat 100% bernilai benar.
  4. Terkadang sistem tidak dapat membuat keputusan.
  5. Pengetahuan tidak selalu didapat dengan mudah karena pendekatan tiap pakar berbeda

Komponen Sistem Pakar

Komponen-komponen yang terdapat dalam sistem pakar adalah :

a. Antarmuka pengguna (User Interface)

User interface merupakan mekanisme yang digunakan untuk pengguna dan system pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Selain itu antarmuka menerima informasi dari sistem dan menyajikannnya dalam bentuk yang dapat dimengerti oleh pemakai. Menurut McLeod (1995), pada bagian ini terjadi dialog antara program dan pemakai, yang memungkinkan sistem pakar menerima instruksi dan informasi (input) dan pemakai juga memberikan informasi (output) kepada pemakai.

b. Basis pengetahuan

Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar, yaitu fakta dan aturan. Fakta merupakan informasi tentang obyek dalam area permasalahan tertentu, sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui (Arhami, 2005).

c. Akuisisi pengetahuan

Akusisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan ke dalam program komputer. Dalam tahap ini knowledge engineer berusaha menyerap pengetahun untuk selanjutnya ditransfer ke dalam basis pengetahuan. Pengetahuan diperoleh dari pakar, dilengkapi dengan buku, basis data, laporan penelitian dan pengalaman pemakai (Arhami, 2005).

d. Mesin inferensi

Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah program komputer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace, dan untuk memformulasikan kesimpulan (Turban, 1995).

e. Blackboard

Blackboard adalah area kerja memori yang disimpan sebagai database untuk deskripsi persoalan terbaru yang ditetapkan oleh data input, digunakan juga untuk perekaman hipotesis dan keputusan sementara. Tiga tipe keputusan dapat direkam dalam blackboard, yaitu :
  • Rencana : bagaimana mengatasi persoalan
  • Agenda : tindakan potensial sebelum eksekusi
  • Solusi : hipotesis kandidat dan arahan alternatif yang telah dihasilkan system sampai saat ini.
f. Fasilitas penjelasan

Fasilitas penjelasan untuk komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaran system kepada pemakai. Fasilitas penjelasan dapat menjelaskan perilaku sistem pakar dengan menjawab pertanyaan-pertanyaan sebagai berikut (Turban, 1995):
  • Mengapa pertanyaan tertentu ditanyakan oleh sistem pakar?
  • Bagaimana kesimpulan tertentu diperoleh?
  • Mengapa alternatif tertentu ditolak?
  • Apa rencana untuk memperoleh penyelesaian?
g. Perbaikan pengetahuan

Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan untuk belajar dan kinerjanya. Kemampuan tersebut adalah penting dalam pembelajaran terkomputerisasi, sehingga program akan mampu menganalisis penyebab kesuksesan dan kegagalan yang dialaminya.

Sumber :



Fuzzy Logic

Pengertian Fuzzy Logic

Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input ke dalam suatu ruang output.

Contoh:
1. Manajer pergudangan mengatakan pada manajer produksi seberapa banyak persediaan barang pada akhir minggu ini, kemudian manajer produksi akan menetapkan jumlah barang yang harus diproduksi esok hari Logika
2. Pelayan restoran memberikan pelayanan terhadap tamu, kemudian tamu akan memberikan tip yang sesuai atas baik tidaknya pelayanan yang diberikan
3. Penumpang taksi berkata pada sopir taksi seberapa cepat laju kendaraan yang diinginkan, sopir taksi akan mengatur pijakan gas taksinya
Salah satu contoh pemetaan suatu input-output dalam bentuk grafis seperti terlihat dibawah ini :

Alasan Digunakannya Logika Fuzzy
  1. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti
  2. Logika fuzzy sangat fleksibel
  3. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat
  4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks
  5. Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan
  6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional.
  7. Logika fuzzy didasarkan pada bahasa alami


Aplikasi Fuzzy Logic

  1. Pada tahun 1990 pertama kali dibuat mesin cuci dengan logika fuzzy di Jepang
  2. (Matsushita Electric Industrial Company). Sistem fuzzy digunakan untuk menentukan putaran yang tepat secara otomatis berdasarkan jenis dan banyaknya kotoran serta jumlah yang akan dicuci.
  3. Transmisi otomatis pada mobil.
  4. Kereta bawah tanah Sendai mengontrol pemberhentian otomatis pada area tertentu
  5. Ilmu kedokteran dan biologi, seperti sistem diagnosis yang didasarkan pada logika fuzzy
  6. Manajemen dan pengambilan keputusan, seperti manajemen basisdata, tata letak pabrik, pembuatan games yang didasarkan pada logika fuzzy
  7. Ekonomi, pemodelan fuzzy pada sistem pemasaran yang kompleks

Sumber : 
Artikel Pengantar Kecerdasan Buatan

Artificial Neural Network

Pengertian Artificial Neural Network (Jaringan Syaraf Tiruan)

Jaringan Syaraf Tiruan adalah paradigma pemrosesan suatu informasi yang terinspirasi oleh sistim sel syaraf biologi, sama seperti otak yang memproses suatu informasi. Elemen mendasar dari paradigma tersebut adalah struktur yang baru dari sistim pemrosesan informasi. Jaringan Syaraf Tiruan, seperti manusia, belajar dari suatu contoh. Jaringan Syaraf Tiruan dibentuk untuk memecahkan suatu masalah tertentu seperti pengenalan pola atau klasifikasi karena proses pembelajaran [Smith,2003]

Jaringan Syaraf Tiruan berkembang secara pesat pada beberapa tahun terakhir. Jaringan Syaraf Tiruan telah dikembangkan sebelum adanya suatu computer konvensional yang canggih dan terus berkembang walaupun pernah mengalami masa vakum selama beberapa tahun.

Konsep Dasar Artificial Neural Network (Jaringan Syaraf Tiruan)

Mengadopsi esensi dasar dari system syaraf biologi, syaraf tiruan digambarkan sebagai berikut :


  • Menerima input atau masukan (baik dari data yang dimasukkan atau dari output sel syaraf pada jaringan syaraf. 
  • Setiap input datang melalui suatu koneksiatau hubungan yang mempunyai sebuah bobot (weight). Setiap sel syaraf mempunyai sebuah nilai ambang. 
  • Jumlah bobot dari input dan dikurangi dengan nilai ambang kemudian akan mendapatkan suatu aktivasi dari sel syaraf (Post Synaptic Potential dari sel syaraf).
  • Signal aktivasi kemudian menjadi fungsi aktivasi / fungsi transfer untuk menghasilkan output dari sel syaraf.

  • · 

    Biasanya tahapan fungsi jarang digunakan dalan Jaringan Syaraf Tiruan. Fungsi aktivasi (f(.)) dapat dilihat pada Gambar 2.3
    Bagaimana sel syaraf saling berhubungan? Jika suatu jaringan ingin digunakan untuk berbagai keperluan maka harus memiliki input (akan membawa nilai dari suatu variabel dari luar) dan output (dari prediksi atau signal kontrol). Input dan output sesuai dengan sensor dan syaraf motorik seperti signal datang dari mata kemudian diteruskan ke tangan, Dalam hal ini terdapat sel syaraf atau neuron pada lapisan tersembunyi berperan pada jaringan ini. Input, lapisan tersembunyi dan output sel syaraf diperlukan untuk saling terhubung satu sama lain. Berdasarkan dari arsitektur (pola koneksi), Jaringan Syaraf Tiruan dapat dibagi kedalam dua kategori :

    1.Struktur Feed forward
    Sebuah jaringan yang sederhana mempunyai struktur feed forward dimana signal bergerak dari input kemudian melewati lapisan tersembunyi dan akhirnya mencapai unit output (mempunyai struktur perilaku yang stabil). Tipe jaringan feed forward mempunyai sel syaraf yang tersusun dari beberapa lapisan.

    Yang termasuk dalam struktur feed forward :
    a) Single-layer perceptron
    b) Multilayer perceptron
    c) Radial-basis function networks
    d) Higher-order networks
    e) Polynomial learning networks

    2. Struktur Recurrent (Feed back)
    Jika suatu jaringan berulang (mempunyai koneksi kembali dari output ke input) akan menimbulkan ketidakstabilan dan akan menghasilkan dinamika yang sangat kompleks. Jaringan yang berulang sangat menarik untuk diteliti dalam Jaringan Syaraf Tiruan, namun sejauh ini struktur feedforward sangat berguna untuk memecahkan masalah.

    Yang termasuk dalam struktur recurrent (feed back) :
    a) Competitive networks
    b) Self-organizing maps
    c) Hopfield networks
    d) Adaptive-resonanse theory models

    Lapisan pada Artificial Neural Network (Jaringan Syaraf Tiruan)

    Jaringan Syaraf Tiruan biasanya mempunyai 3 group atau lapisan yaitu unit-unit lapisan input yang terhubung dengan lapisan tersembunyi yang selanjutnya terhubung dengan lapisan output.

    a) Aktifitas unit-unit lapisan input menunjukkan informasi dasar yang kemudian digunakan dalam Jaringan Syaraf Tiruan.
    b) Aktifitas setiap unit-unit lapisan tersembunyi ditentukan oleh aktifitas dari unitunit input dan bobot dari koneksi antara unit-unit input dan unit-unit lapisan tersembunyi
    c) Karakteristik dari unit-unit output tergantung dari aktifitas unit-unit lapisan tersembunyi dan bobot antara unit-unit lapisan tersembunyi dan unit-unit output