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





Minggu, 24 September 2017

Artificial Intelligence


Tugas


Nama :  Amalia Nur Syamsina
Kelas  :  3KA23
Npm   :  10115604

==============================================

ARTIFICIAL INTELLIGENCE




                    I.      SEJARAH

Kata “intelligence” berasal dari bahasa Latin “intelligo” yang berarti “saya paham”.  Berarti dasar dari intelligence ialah kemampuan untuk memahami dan melakukan aksi. Dan arti kecerdasan adalah kemampuan untuk mengerti/memahami (The faculty of understanding).

Istilah AI (Artificial Intelligence) pertama kali dikemukakan pada tahun 1956 di konferensi Darthmouth. Sejak saat itu, AI terus dikembangkan sebab berbagai penelitian mengenai teori-teori dan prinsip-prinsipnya juga terus berkembang. Meskipun istilah AI baru muncul tahun 1956, tetapi teori-teori yang mengarah ke AI sudah muncul sejak tahun 1941. Berikut tahapan-tahapan sejarah perkembangan AI :

Era Komputer Elektronik (1941)

Pada tahun 1941 telah ditemukan alat penyimpanan dan pemrosesan informasi. Penemuan tersebut dinamakan komputer elektronik yang dikembangkan di USA dan Jerman. Komputer pertama ini memerlukan ruangan yang luas dan ruang AC yang terpisah. Saat itu komputer melibatkan konfigurasi ribuan kabel untuk menjalankan suatu program. Hal ini sangat merepotkan para programmer.

Pada tahun 1949, berhasil dibuat komputer yang mampu menyimpan program sehingga membuat pekerjaan untuk memasukkan program menjadi lebih mudah. Penemuan ini menjadi dasar pengembangan program yang mengarah ke AI.

Masa – Masa Persiapan  Artificial Intelligence (1943-1956)

Pada tahun 1943, Warren McCulloch dan Walter Pitt mengemukakan tiga hal :

         1.  Pengetahuan fisiologi dasar dan fungsi sel syaraf dalam otak.     
         2.   Analisa formal tentang logika proposisi.   
         3.   Teori komputasi Turing.

      Mereka menunjukkan bahwa setiap fungsi dapat dihitung dengan suatu jaringan sel syaraf dan bahwa semua hubungan logis dapat diimplementasikan dengan struktur jaringan yang sederhana.
     
      Pada tahun 1950, Nobert Wiener membuat penelitian mengenai prinsip-prinsip teori feedback.
    
   Pada tahun 1956, John McCarthy bersama Minsky, Claude Shannon dan Nathaniel Rochester   membuat program yang mampu berpikir non-numerik dan menyelesaikan masalah pemikiran yang   dinamakan Principia Mathematica. Hal ini menjadikan McCarthy disebut sebagai Father of Artificial Intelligence.


Awal Perkembangan Artificial Intelligence (1952-1969)

a.  Tahun pertama perkembangan AI diawali dengan sebuah program yang disebut General Problem Solver,yaitu program yang dirancang untuk memulai penyelesaian masalah secara manusiawi.
b.   Pada tahun 1958, McCarthy membuat program yang dinamakan Programs with Common Sense,yaitu program yang dirancang untuk menggunakan pengetahuan dalam mencari solusi.
c.  Pada tahun 1959, Nathaniel Rochester mengeluarkan program Geometry Theorm Prover, yaitu program yang dapat mengeluarkan suatu teorema menggunakan aksioma-aksioma (suatu pernyataan yang bisa dilihat kebenarannya tanpa perlu adanya bukti) yang ada.
d.  Pada tahun 1963, James Slagle mampu menyelesaikan masalah integral tertutup untuk mata kuliah kalkulus.
e.  Pada tahun 1986, Tom Evan membuat program yang mampu menyelesaikan masalah analogi geometris yang ada pada test IQ.

Perkembangan Artificial Intelligence Melambat (1966-1974)

Prediksi Herbert Simon pada tahun 1957 menyatakan bahwa AI akan menjadi ilmu pengetahuan yang berkembang dengan pesat ternyata meleset pada tahun – tahun ini perkembangan AI menjadi sangat lambat.

Artificial Intelligence Menjadi Sebuah Industri (1980-1988)

Industrialisasi AI diawali dengan ditemukannya expert system (sistem pakar) yang dinamakan R1 yang mampu mengkonfigurasi sitem sistem komputer baru.


  
                    I I.   DEFINISI

Artificial Intelligence atau yang lebih sering disingkat dengan AI merupakan kecerdasan buatan/bikinan atau sebuah kecerdasan yang ditanamkan dalam sistem yang dapat dikelola dalam konteks ilmiah atau Artificial Intelligence (inteligensi artifisial). AI bisa juga diartikan sebagai kecerdasan yang berwujud ilmiah. Sistem yang dibenamkan AI biasanya adalah sistem yang berkaitan dengan komputer atau robot.

AI sendiri dibuat dan dibenamkan dalam mesin komputer supaya ia bisa mengerjakan pekerjaan layaknya manusia. Hal ini tentu saja akan mempermudah dan mempersingkat suatu pekerjaan agar lebih praktis dan efisien dalam menghemat waktu pengerjaan. Namun begitu, bukan berarti AI adalah robot yang selalu bekerja membantu manusia. Tetapi AI juga termasuk dalam pelbagai bidang seperti sistem expert, logika fuzzy, video games (permainan), robotika dan syaraf tiruan.

                       III.   Contoh Artificial Intelligence


1.      Natural Language Processing (NLP)

NLP mempelajari bagaimana bahasa alami itu diolah sedemikian hingga user dapat berkomunikasi dengan komputer.


2.      Robotika dan Sistem Navigasi
Bidang ilmu inilah yang mempelajari bagaimana merancang robot yang berguna bagi industry dan mampu membantu manusia, bahkan yang nantinya bisa menggantikan fungsi manusia. 

3.      Game Playing
Game biasanya memiliki karakter yang dikontrol oleh user, dan karakter lawan yang dikontrol oleh game itu sendiri. 

4.      Sistem Pakar
Bidang ilmu ini mempelajari bagaimana membangun sistem atau komputer yang memiliki keahlian untuk memecahkan masalah dan menggunakan penalaran dengan meniru atau mengadopsi keahlian yang dimiliki oleh pakar. 

5.      Computer Vision
Bidang yang mencakup metode untuk memperoleh, mengolah, menganalisis, dan memahami data visual seperti gambar dan video. 


 SUMBER
http://blog.rumahproject.com/2016/11/27/contoh-penerapan-kecerdasan-buatan-ai-dalam-kehidupan/