Kamis, 30 November 2017

Metode Pencarian Buta dan Metode Pencarian Heuristik

  1.    METODE PENCARIAN BUTA (BLIND SEARCH).

Pencarian buta merupakan sekumpulan prosedur yang digunakan dalam melacak ruang keadaan. Pencarian berlangsung sampai solusi terakhir ditemukan. Idenya adalah menguji seluruh kemungkinan yang ada untuk menemukan solusi.

A.   Breadth First Search

Breadth First Search yaitu model pencarian yang memakai metode melebar. Untuk mencari hasilnya, model BFS ini menggunakan teknik pencarian persoalannya dengan cara membuka node (titik) pada tiap levelnya.


jadi hasil dari contoh diatas, kita akan melalui titik simpul A kemudian B,C,D setelah itu ke simpul E,F,G,H,I,J,K,L,M.

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.

Contoh :

                 Mencari jalur angkutan umum dari terminal senen ke terminal Kp. Rambutan
                *        Initial State : Senen

                *        Goal State : Kp. Rambutan


Penjelasan Gambar :

1.  Membangkitakan anak dari terminal Senen = Terminal blok M, Terminal Pulo Gadung, Terminal Manggarai
2.   Karena goal state (Terminal Kp. Rambutan) belum tercapai maka kita bangkitkan anak dari  terminal senen
Terminal Blok M = Terminal Grogol, Terminal Lebak Bulus            
Terminal Lebak Bulus = Terminal Ciputat, Terminal Kp. Rambutan.            
Terminal Pulo Gadung = Terminal bekasi            
Terminal Manggarai = Terminal Cililitan, Terminal Harmoni
3.    Akhirnya tercapai Goal State (Terminal Kp. Rambutan).


B.   Depth First Search

DFS (Depth-first Search) sering disebut juga pencarian mendalam. Sesuai dengan namanya “pencarian mendalam”, DFS tidak mencari solusi per level, namun mencari pada kedalaman sebelah kiri terlebih dahulu, kemudian bila belum ditemuakn “goal”nya dilanjutkan ke sisi sebelah kanan dan seterusnya sampai ditemukan target/goal.
penjelasannya, node akan terus membaca simpul dari sebelah kiri sampai semua simpul menemukan goal success nya, setelah sebelah kiri habis, maka akan dilanjutkan ke sebelah kanan. rute nya S,A,C,D,B,E,,H,G.


Algoritma :

1.    Buat sebuah antrian, inisialisasi node pertama dengan Root dari tree
2.    Bila node pertama, jika ≠ GOAL, node dihapus diganti dengan anak-anaknya  dengan urutan LChild
3.    Bila node pertama = GOAL, selesai

Contoh :

 
penjelasannya, jadi dia akan memulai mencari simpul dari sebelah kiri dahulu, baru setelah itu ke kanan sampai semua simpul sudah mendapatkan goalnya. Disini dari simpul A kemudian ke simpul B,D,E,F,G karena sebelah kiri sudah habis, maka rute dilanjutkan ke sebelah kana tree yaitu mulai dari simpul C,H,I,J,K. Maka kita telah menemukan goal dari rute ini.

  
  2.    METODE PENCARIAN HEURISTIK

Heuristic Search merupakan metode pencarian yang memperhatikan nilai heuristik (nilai perkiraan).Teknik pencarian heuristik (heuristic searching) merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan (state space) suatu problema secara selektif, yang memandu proses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang bodoh dan memboroskan waktu.

Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness).

A.    Generate & 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”.

Pendekatan ini meliputi langkah–langkah sebagai berikut :

1.   Buatlah/bangkitkan sebuah solusi yang memungkinkan. Untuk sebuah problema hal ini dapat berarti pembuatan sebuah titik khusus dalam ruang problema.
2. Lakukan pengujian untuk melihat apakah solusi yang dibuat benar–benar merupakan sebuah solusi, dengan cara membandingkan titik khusus tersebut dengan goal-nya (solusi).
3.  Jika telah diperoleh sebuah solusi, langkah – langkah tersebut dapat dihentikan. Jika belum, kembalilah ke langkah pertama.

Jika pembangkitan atau pembuatan solusi – solusi yang dimungkinkan dapat dilakukan secara sistematis, maka prosedur ini akan dapat segera menemukan solusinya (bila ada).  Namun, jika ruang problema sangat besar, maka proses ini akan membutuhkan waktu yang lama. Metode generate and test ini memang kurang efisien untuk masalah yang besar atau kompleks. 

Contoh :

“Travelling Salesman Problem (TSP)” Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui rute terpendek dimana setiap kota hanya boleh dikunjungin tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti gambar dibawah ini:

Penyelesaian dengan metode Generate and Test



B.    Hill Climbing

Hampir sama dengan teknik Generate and Test dimana roses pengujian dilakukan dengan menggunakan fungsiheuristic. 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 nilaiheuristic terbaik.

Contoh :
Diketahui keadaan awal dan tujuan dari suatu permainan kotak 8 puzzle, sebagai                 berikut :
 

penjelasannya, jadi kotak puzzle ini diselesaikan dengan cara pengurutan seperti hal nya mendaki, atau bisa disebut secara melingkar. Kotak pertama kita isi nilai yang paling kecil, kemudian sebelahnya mengurut sesuai urutan terkecil dan besar.




SUMBER :





Minggu, 29 Oktober 2017

Pembuatan Garis Vertikal,Horizontal dan Diagonal Menggunakan Java dan Open GL

Pada kesempatan ini saya akan membahas tentang cara pembuatan sebuah garis vertikal,horizontal dan diagonal dengan menggunakan bahasa pemrograman Java dan sebuah Library Open GL. 

sebelumnya saya akan membahas sedikit tentang pengertian Open GL dan bahasa pemrograman Java.

1. Open GL.

OpenGL adalah sebuah program aplikasi interface yang digunakan untuk mendefinisikan komputer grafis 2D dan 3D. Program lintas-platform API ini umumnya dianggap ketetapan standar dalam industri komputer dalam interaksi dengan komputer grafis 2D dan juga telah menjadi alat yang biasa untuk digunakan dengan grafis 3D. Singkatnya, Open Graphics Library, OpenGL menghilangkan kebutuhan untuk pemrogram untuk menulis ulang bagian grafis dari sistem operasi setiap kali sebuah bisnis akan diupgrade ke versi baru dari sistem.

Fungsi dasar dari OpenGL adalah untuk mengeluarkan koleksi perintah khusus atau executable ke sistem operasi. Dengan demikian, program ini bekerja dengan perangkat keras grafis yang ada yang berada pada hard drive atau sumber tertentu lainnya. Setiap perintah dalam dirancang untuk melakukan tindakan tertentu, atau memulai efek khusus tertentu yang terkait dengan grafis.


2. Java

Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Para pemrogram  Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application Programming Interface (API). Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket (package). Java API telah menyediakan fungsionalitas yang memadai untuk menciptakan applet dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan kelas pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian eksekusi program, tidak ada cara lain. Pada Java program javac untuk mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi Java dan menjalankan program bytecode Java.



untuk penjelasan lanjutnya, silahkan klik Link dibawah ini, dimana berisi kodingan programnya serta penjelasan penggunaan kodingan tersebut :

link untuk download materi secara lengkap DOWNLOAD












Kamis, 19 Oktober 2017

PEAS (Performance maesure, Environment, Actuators, Sensor)

PENGENALAN INTELEGENTS AGENTS part 2 

*********************************************************************************************


PEAS

Apa itu PEAS dalam konteks intelligent agent ?  sebelum menjelaskan PEAS akan dijelaskan terlebih dahulu apa yang dimaksud dengan Agent ? Agent merupakan sesuatu yang dapat mengesan (perceiving) lingkungan (environment) nya melalui sensors dan bertindak (acting) terhadap lingkungan tersebut melalui actuators. Dan ketika ingin merancang sebuat agent maka kita harus menjabarkan lingkungan masalah (task environment), yaitu :

PEAS
P (performance measure) : komponen keberhasilan si agent
E (environment) : kodisi di sekitar agent
A (actuators) : segala sesuatu yang dapat dilakukan si agent
S (sensors) : segala sesuatu yang menjadi input si agent

Misalkan untuk task yang didesain untuk agent pengemudi taksi otomatis:
Performance Measure: Aman, Cepat, Legal, Perjalanan yang nyaman, Keuntungan Maksimal
Environment : Jalan, Lalu lintas kendaraan lain, Pejalan kaki, Pelanggan
Actuators: Setir, Akselerator, Rem, Lampu Sinyal, Klakson
Sensors: Kamera, Sonar, Spedometer, GPS, odometer, sensor mesin, keyboard

Misalkan untuk task yang disusun untuk agent sistem diagnosis medis:
Performance Measure : Kesehatan Pasien, Biaya minimal, Hukum
Environment: Pasien, Rumah Sakit, Staf
Actuator : Tampilan Layar (Pertanyaan, Tes, Diagnosa, Perawatan, Rujukan)
Sensors : Keyboars(Entri gejala, pencarian penyakit, jawaban untuk pasien)

Misalkan untuk task yang disusun untuk agent robot pengambil suku cadang
Performance Measure : Persentase suku cadang di tempat yang benar
Environment :  sabuk konveyor, tempat pengumpulan suku cadang
Actuator : Lengan dan tangan robot
Sensor : Kamera, sensor di lengan robot

Misalkan untuk task yang disusun untuk agent Pengajar Bahasa Inggris Interaktif
Performance Measure : Memaksimalkan nilai siswa ketika test
Enviroment : Siswa
Actuator : Layar Tampilan (Latihan, cara penyelesaian, koreksi kesalahan)
Sensor : keyboard





Definisi, Konsep Serta Contoh Intelligents Agent

PENGENALAN INTELEGENTS AGENTS part 1

********************************************************************************************************

     A.   Definisi Agents

Adalah segala sesuatu yang dapat dipandang sebagaimana mengamati lingkungannya melalui sensor dan bertindak atas lingkungan yang melalui efektor. Agen manusia memiliki mata , telinga dan organ lain untuk sensor, dan tangan, kaki, mulut dan bagian tubuh lainnya untuk efektor. Sebuah pengganti agen robot kamera dan berbagai pencari infra merah untuk sensor dan berbagai motor untuk efektor. Dapat digambarkan secara sederhana sebagai berikut:

Dalam kecerdasan buatan, intelligent agent (IA) adalah sebuah entitas otonom yang mengamati dan bertindak atas lingkungan (yaitu membutuhkan agen) dan mengarah aktivitasnya untuk mencapai tujuan yaitu rasional. Intelligent agen juga dapat belajar atau menggunakan pengetahuan untuk mencapai tujuan mereka. Russel & Norvig (2003) mengartikan Rational agent yang mengerjakan segala sesuatu hal dengan benar.

   B.   Konsep Agents

 
·         Percept : masukan “indera” si agent. Dengan kata lain : input
·         Percept Sequence : sejarah input si agent
·         Actions : tindakan yang dilakukan oleh si agent
·         Environment : lingkungan dimana si agent berada

Konsep Rational Agent
·         Rational → melakukan hal yang terbaik.
·         Kita harus mendefinisikan tujuan dari si agent (goal).
·         Goal bisa dinyatakan sebagai performance measure: ukuran kinerja si agent

Contoh:

Goal
Performance Measure
Lulus kuliah
IPK
Cepet kaya
Gaji bulanan
Juara liga sepakbola
Posisi klasemen
Bahagia
Tingkat kebahagiaan

Rational Agent
·       Definisi:
Rational agent: suatu agent yang selalu bertindak memaksimalkan ukuran kinerja, mengingat apa yang ia amati tentang lingkungan (sejarah input) dan pengetahuan lain yang dimilikinya.
·       Rational tidak berarti sempurna: ada aspek lingkungan yang tidak diketahui, di luar kendali.
·       Terkadang agent bermulai tanpa pengetahuan lingkungan → exploration, learning, autonomy.

Task Environment
·         Ketika merancang sebuah agent, kita harus mendefinisikan lingkungan masalah (task environment), yakni:
·         Performance measure: apa saja yang menjadi ukuran kinerja agent?
·         Environment: di manakah agent berperan?
·         Actuators: apa saja yang bisa dilakukan si agent?
·         Sensors: apa saja yang menjadi perantara input untuk agent?
·         PEAS

Contoh: Agent taksi otomatis

Bayangkan sebuah agent taksi otomatis yang menerima penumpang dan mengantarkannya ke tujuan.
·         Performance measure: keamanan, kecepatan, legalitas, kenyamanan perjalanan, keuntungan
·         Environment: jalanan, lampu merah, lalulintas, pejalan kaki, cuaca
·         Actuators: stir arah, gas, rem, klakson, sinyal kiri/kanan
·         Sensors: kamera, sonar, speedometer, GPS, odometer, accelerometer, mesin sensor, keyboard

Jenis environment
·         Fully-observable vs. partially-observable: semua info relevan diketahui?
·         Deterministic vs. stochastic: next state = current state + action?
·         Episodic vs. sequential: apakah tergantung sejarah?
·         Static vs. dynamic: environment berubah jika agent tidak bertindak?
·         Discrete vs. continuous: bisa terhadap sifat state, percept, action.
·         Single agent vs. multiagent: apakah ia kawan (kooperatif) atau lawan (kompetitif)?
·         Tentunya, dunia nyata kita partially-observable, stochastic, sequential, dynamic, continuous, dan multiagent.

Struktur sebuah agent
·         Agent function
Sebuah fungsi yang memetakan sejarah input (percept sequence) terhadap tindakan yang dilakukan (action)
f : P* → A
·         Agent program
Sebuah program yang mengimplementasikan fungsi f di atas arsitektur
·         Agent = Arsitektur + Program
·         Agent program menerima input percept terakhir (*mungkin* ia menyimpan percept sequence di dalam memory-nya)

Contoh: VacuumCleanerWorld

SUMBER