Kamis, 05 Agustus 2010

TAS dan TakeHome Kelompok..

Soal TAS Kecerdasan Buatan bisa diunduh di sini

dikumpulkan paling lambat 6 Agustus 2010 ke yudianto.sujana@gmail.com dalam bentuk file WORD

Untuk tugas kelompok, buat sebuah Aplikasi Sistem Pakar dengan tema bebas, dikumpulkan paling lambat 6 Agustus 2010 dalam bentuk file executeable (web), source code, database (SQL) dan laporan dalam bentuk WORD

Selamat Mengerjakan
GBU

Rabu, 04 Agustus 2010

Materi 7, ID3

Pada pertemuan terakhir sebelum TAS dan TakeHome, kami membahas mengenai ID3.

ID3 singkatan dari Iterative Dichotomiser Three. Ada juga yang menyebut Induction of Decision Tree. ID3 adalah suatu algooritma matematika yang digunakan untuk menghasilkan suatu pohon keputusan yang mampu mengklasifikasi suatu obyek. ID3 diperkenalkan pertama kali oleh Ross Quinlan (1979). ID3 merepresentasi konsep-konsep dalam bentuk pohon keputusan. Aturan-aturan yang dihasilkan oleh ID3 mempunyai relasi yang hirarkis seperti suatu pohon (mempunyai akar, titik, cabang, dan daun). Beberapa peneliti menyebut struktur model yang dihasilkan ID3 sebagai pohon keputusan (decision tree) sementara peneliti yang lain menyebutnya pohon aturan (rule tree).

Materi selengkapnya dapat download.. Klik..

Terima Kasih..

Senin, 02 Agustus 2010

Materi 6

Logika Fuzzy

Nah sejarah Logika Fuzzy perlu kita ketahui. Kita langsung saja ke materinya.. Hehehe..
Logika fuzzy pertama kali diformulasikan dalam sebuah seminar oleh Lotfi A Zadeh dari University of Califonia, Berkeley tahun 1965

Kemudian metode ini diformulasikan dalam rangka mencari nilai tengah antara bilangan Aristoteles 0 dan 1, sehingga Logika fuzzy merupakan peningkatan dari logika boolean. Menggantikan kebenaran boolean dengan tingkat kebenaran. Dan Dasar logika fuzzy adalah memformulasikan bilangan antara 0 dan 1 atau lebih tepat 0.0 dan 1.0

Terus kenapa kita harus menggunakan Logika Fuzzy? Ada beberapa alasan yang perlu kita ketahui, karena sangat penting juga.. Konsep Logika Fuzzy ini mudah dimengerti karena sangat sederhana dan flexibel, dan juga dapat bekerja sama dengan teknik - teknik kendali secara konvensional.

Contoh Aplikasi yang menggunakan Logika Fuzzy adalah misalnya Mesin Cuci, nah.. Cara kerjanya mesin cuci ini sbb:

– Masukkan baju, tekan tombol
– Mengisi air dengan jumlah yang cukup
– Mengisi deterjen dan mencuci dengan waktu yang sesuai.
– Mesin ini bekerja meniru cara ibu rumahtangga mencuci dengan mesin cuci konvensional.
– Jika pakaian lebih kotor maka timer dibuat lebih lama.

Kemudian disinilah kita dapat menggunakan metode Fuzzy, dengan menggunakan menjawab pertanyaan IF / Then atau Jika dan maka. Jika pakaian yang dicuci tidak terlalu kotor maka
mencuci mestinya harus lebih cepat. Dengan menimbang tingkat kekotoran kain yang direalisasikan dengan mengukur tingkat kekeruhan air cucian dengan sensor cahaya, mesin dapat memutuskan berapa lama harus mencuci pakaian supaya lebih hemat dan efisien.

Nah contoh selain pada mesin cuci ada juga, seperti ABS Sistem Rem yang ada pada mobil - mobil kelas menengah ke atas, kemudian image processing, aplikasi robotik dan masih banyak lagi.

Terdapat skema Logika Fuzzy


  • Input fuzzy berupa bilangan crisp (tegas) yang dinyatakan dalam himpunan input.
  • Fuzzifikasi merupakan proses untuk mengubah bilangan crisp menjadi nilai keanggotaan dalam himpunan fuzzy.
  • Fuzzy inference system merupakan bagian pengambilan kesimpulan (reasoning) dan keputusan.
  • Knowledge base berisi aturan-aturan yang biasanya dinyatakan dengan perintah IF …. THEN….
  • Defuzzification merupakan proses untuk merubah nilai output fuzzy menjadi nilai crisp.

Jumat, 30 Juli 2010

Materi 5, Sistem Pakar

Sistem Pakar

Sistem pakar adalah Sistem yang menggunakan pengetahuan manusia yang terekam dalam komputer untuk memecahkan persoalan yang membutuhkan keahlian manusia.

Menurut tokoh - tokoh :

Martin dan Oxman 1998, Sistem pakar adalah Sistem berbasis komputer yang menggunakan
pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut.

Durkin, Sistem pakar adalah Program komputer yang dirancang untuk memodelkan
kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar.

Giarratano dan Riley, Sistem pakar adalah Sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar.

Sistem pakar diterapkan untuk mendukung pemecahan masalah
lain:
  • Pembuatan Keputusan (Decicion Making)
  • Pemaduan Pengetahuan (Knowledge Fusing)
  • Pembuatan Desai (Designing)
  • Perencanaan (Planning)
  • Prakiraan (Forecasting)
  • Pengaturan (Regulating)
  • Pengendalian (Controlling)
  • Diagnosis (Diagnosing)
  • Perumusan (Prescribing)
  • Penjelasan (Explaining)
  • Pemberian Nasihat (Advising)
  • Pelatihan (Tutoring)
Ciri - ciri sistem pakar adalah Terbatas pada bidang yang spesifik, berdasarkan pada rule atau kaidah tertentu, outputnya bersifat nasihat atau anjuran, dan output tergantung dari dialog dengan user.

Kemudian keuntungannya kita menggunakan sistem pakar adalah
  1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli
  2. Menyimpan pengetahuan dan keahlian para pakar
  3. Meningkatkan output dan produktivitas
  4. Menghemat waktu dalam pengambilan keputusan
  5. Menigkatkan kualitas
Sedangkan kelemahannya adalah biayanya mahal, dan sulit dikembangkan.

Contoh Sistem Pakar antara lain:

1. MYCIN

Dirancang oleh Edward Feigenbaum (Universitas Stanford) pada tahun ‘70an. MYCIN merupakan sistem pakar medical yang dapat mendiagnosa infeksi bakteri dan rekomendasi pengobatan antibiotik.

2. DENDRAL

Sistem pakar struktur molekular dan kimia.

3. PROSPECTOR

Didesain oleh Sheffield Research Institute pada akhir ‘70an. Digunakan untuk membantu ahli geologi yang mencari dan menemukan biji deposit (mineral dan batu-batuan).

4. XCON (R1)

Sistem pakar konfigurasi sistem komputer dasar. Dikembangkan oleh Digital Equipment Corporation (DEC) dan Carnegie Mellon University (CMU) pada akhir ‘70an. Digunakan untuk sistem komputer DEC VAC 11 1780.

5. DELTA

Didesain dan dikembangkan oleh General Electric Company. Merupakan sistem pakar personal maintenance dengan mesin lokomotif listrik diesel.

6. YESMVS

Didesain oleh IBM pada awal tahun ‘80an. Digunakan untuk membantu operator komputer dan mengontrol sistem operasi MVS (Multiple Virtual Storage).

7. ACE

Didesain dan dikembangkan oleh AT&T Bell Lab pada awal tahun ‘80an. Merupakan sistem pakar troubleshooting pada sistem kabel telepon.

Ada 6 elemen dalam Sistem Pakar, yaitu :

1. User Interface, Komunikasi antara user dan sistem pakar.

2. Explanation Facility, Pemberian alasan kepada user.

3. Working Memory

4. Inference Engine

5. Agenda, Daftar yang diprioritaskan dari Inference Engine.

6. Fasilitas Pemrolehan Pengetahuan


Sistem Pakar mempunyai dua cara untuk melakukan inferensi, yaitu
  • Sistem Perantaian Maju (Forward Chaining System) dan
  • Sistem Perantaian Balik (Backward Chaining System)
Forward Chaining System merupakan pemberi alasan dari fakta untuk kesimpulan hasil dari fakta. Misalnya jika kita melihat bahwa hari ini akan turun hujan sebelum pergi (fakta), maka kita harus membawa payung (kesimpulan).
Contoh programnya : Pemrograman OPS5, CLIPS.

Sedangkan, Backward Chaining System merupakan pemberian alasan sebaliknya dari hipotesa, kesimpulan potensial dibuktikan, pada fakta yang mendukung hipotesa. Misalnya jika kita tidak melihat keluar dan seseorang masuk dengan sepatu basah dan payung. Hipotesa kita adalah bahwa sekarang sedang hujan. Contoh programnya : EMYCIN.

Materi 4, Pencarian

Pada pertemuan keempat, membahas mengenai pencarian..
Nah.. pada pencarian heuristik terdapat 4 macam metode nya yaitu:
1. Pembangkit & Pengujian (Generate and Test)
2. Pendakian Bukit (Hill Climbing)
3. Pencarian Terbaik Pertama (Best First Search)
4. Simulated Annealing

Nah pada pertemuan ini kami membahas metode Pencarian Terbaik Pertama (Best First Search). Metode best-first search ini merupakan kombinasi dari metode depth-first search dan metode breadth-first search dengan mengambil kelebihan dari kedua metode tersebut.
Apabila pada pencarian dengan metode hill climbing tidak diperbolehkan untuk kembali ke node pada level yang lebih rendah meskipun node pada level yang lebih rendah tersebut memiliki nilai heuristik yang lebih baik, lain halnya dengan metode best-first search ini. • Pada metode best-first search, pencarian diperbolehkan
mengunjungi node yang ada di level yang lebih rendah, jika ternyata node pada lebih yang lebih tinggi ternyata memiliki nilai heuristik yang lebih buruk

Kemudian metode ini dibagi menjadi 2:
Dalam pencarian Metode Best First ini, penentuan node berikutnya adalah node yang terbaik yang pernah dibangkitkan dengan menggunakan informasi. Informasi yang digunakan adalah

1. biaya perkiraan
2. biaya sebenarnya

Metode Best First dibagi lagi menjadi 2 jenis, yaitu :

1. Greedy Best First Search.

Algoritma ini Merupakan jenis Best First Search yang hanya mempertimbangkan harga perkiraan (estimated cost) yaitu f(n) = h(n). Sedangkan harga sesungguhnya tidak digunakan. Sehingga solusi yang dihasilkan tidak optimal. Algoritma greedy ini membentuk solusi langkah per langkah (step by step). Pada setiap langkah, terdapat banyak pilihan yang perlu dieksplorasi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan.

biaya perkiraan f(n) = h(n)

2. Algoritma A*

Algoritma A* yang memperhitungkan gabuangan dua biaya, biaya sebenarnya dan biaya perkiraan atau f(n) = g(n) + h(n)

Biaya sebenarnya + Biaya Perkiraan

f(n) = g(n) + h(n)

Kamis, 29 Juli 2010

Materi 3

METODE PENCARIAN dan PELACAKAN

Dalam metode ini, diperlukan kesuksesan dalam pencarian. Sebelum kita mendalami tentang metode ini, kita harus mengetahui dulu, apa itu kesuksesan dalam pencarian.

Pencarian adalah suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Dari suatu pencarian kita dapat menyimpulkannya pada kalimat Ruang Keadaan. Dimana Ruang Keadaan ini merupakan suatu ruang berisi semua keadaan yang mungkin.

Dalam Metode Pencarian dan Pelacakan, terdapat 4 kriteria yang digunakan untuk mengukur performansi metode pencarian yaitu :
1. Completeness : apakah metode tersebut menjamin penemuan solusi jika solusinya
memang ada?
2. Time complexity : berapa lama waktu yang diperlukan?
3. Space complexity : berapa banyak memori yang diperlukan?
4. Optimality : apakah metode tersebut menjamin menemukan solusi yang
terbaik jika terdapat beberapa solusi berbeda?

Dalam metode ini terdapat dua teknik Pencarian dan Pelacakan yaitu :
1. Pencarian buta (blind search)

• Pencarian melebar pertama (Breadth – First Search)
Keuntungan :
1. Tidak akan menemui jalan buntu.
2. Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik.
3. Jika ada satu solusi maka bread-first search akan menemukannya.

Kelemahannya :
1. Membutuhkan memori yang cukup banyak.
2. Membutuhkan waktu yang cukup lama.

• Pencarian mendalam pertama (Depth – First Search)
Proses pencarian dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel

Keuntungan :
1. Memori yang relatif kecil.
2. Secara kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi.

2. Pencarian terbimbing (heuristic search)
• Pendakian Bukit (Hill Climbing)
• Pencarian Terbaik Pertama (Best First Search)

Dari metode ini, kita akan membahas salah satu dari teknik metode Pencarian dan Pelacakan ini. Teknik yang akan kita bahas adalah Pecarian terbimbing atau pencarian Heuristic. Metode heuristic search diharapkan bisa menyelesaikan permasalahan yang lebih besar. Metode heuristic search menggunakan suatu fungsi yang menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan disebut fungsi heuristic
Aplikasi yang menggunakan fungsi heuristic : Google, Deep Blue Chess Machine

A. Hill Climbing
Metode Pencarian Bukit (Hill Climbing) ini dibagi menjadi dua macam metode, yaitu :

• Simple Hill Climbing, algoritmanya sebagai berikut :
- Pertama kita mulai dengan pengujian, jika yang diuji merupakan tujuan, maka pengujian berhenti dan jika tidak, lakukan pengujian kembali dengan keadaan sekarang sebagai keadaan awal.
- Kerjakan langkah selanjutnya sampai solusinya ditemukan, atau sampai tidak ada operator baru. Kemudian cari operator yang belum pernah digunakan, setelah itu gunakan operator ini untuk mendapatkan keadaan yang baru. Periksa keadaan baru tersebut.
- Jika keadaan baru merupakan tujuan, maka pengujian selesai dan keluar. Jika bukan tujuan, kembali seperti tadi yaitu jadikan keadaan baru tersebut menjadi keadaan sekarang. Jika keadaan baru tetap bukan tujuan, gunakan iterasi.

• Steepest Ascent Hill Climbing
- Pertama kita mulai dengan pengujian, jika yang diuji merupakan tujuan, maka pengujian berhenti dan jika tidak, lakukan pengujian kembali dengan keadaan sekarang sebagai keadaan awal. Kerjakan hingga tujuan tercapai.
- Tentukan SUCC sebagai nilai heuristic terbaik dari successor-successor. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang. Gunakan operator tersebut dan bentuk keadaan baru.
- Periksa keadaan baru tersebut. Jika keadaan baru merupakan tujuan, maka pengujian selesai dan keluar. Jika bukan tujuan, bandingkan nilai heuristiknya dengan SUCC. Jika hasilnya lebih baik, jadikan nilai heuristic keadaan baru tersebut sebagai SUCC. Namun jika tidak lebih baik, nilai SUCC tidak berubah.
- Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC menjadi keadaan sekarang.

Materi 2

Pada materi 2 kita membahas mengenai Masalah, Ruang Keadaan, dan pencarian..
Langsung aja pada materinya ya..

Pada sistem AI terdapat diagram proses nya..




Untuk membangun sistem perlu dipertimbangkan 4 hal :
- Mendefinisikan masalah dengan tepat
• Spesifikasi yang tepat mengenai keadaan awal
• Solusi yang diharapkan
- Menganalisis masalah serta mencari beberapa teknik penyelesaian masalah yang sesuai
- Merepresentasikan pengetahuan yang perlu untuk menyelesaikan masalah
- Memilih teknik penyelesaian masalah yang terbaik

Selasa, 29 Juni 2010

Materi 1, Pengantar Kecerdasan Buatan

Kecerdasan Buatan (bahasa Inggris: Artificial Intelligence atau AI) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.



Ada 2 bagian utama yg dibutuhkan untuk aplikasi kecerdasan buatan :
– Basis pengetahuan (knowledge base)
– Motor inferensi (inference engine)

Kemudian, kita dapat mengetahui perbedaan antara Kecerdasan Buatan dan Kecerdasan Alami :

Kelebihan kecerdasan buatan :
– Lebih bersifat permanen.
– Lebih mudah diduplikasi & disebarkan.
– Lebih murah.
– Dapat didokumentasi.
– Lebih cepat dan Lebih baik

Kelebihan kecerdasan alami :
– Kreatif
– pengalaman secara langsung.
– Pemikiran luas

Soft computing
Soft computing merupakan inovasi baru dalam membangun sistem cerdas.
Metodologi-metodologi dalam Soft computing adalah :
– Logika Fuzzy (fuzzy logic)
– Jaringan Syaraf Tiruan (neurall network)
– Probabilistic Reasoning (mengakomodasi ketidakpastian)
– Evolutionary Computing (optimasi) --> Algoritma Genetika