Rabu, 20 Maret 2013

Program BFS

#include <iostream>
#include <stdlib.h>
#include <conio.h>
#define SIZE 10
#define T 1
#define F 0
#define NULL 0

using namespace std;

struct edge
{
 int terminal;
 struct edge *next;
};
struct vertex
{
 int visit;
 int vertex_no;
 char info;
 int path_lenth;
 struct edge *edge_ptr;
};
struct q
{
 int info;
 struct q *next;
};
void table(int,int matrix[SIZE][SIZE],struct vertex vert[SIZE]);
struct edge *insert_vertex(int,struct edge *);
void bfs(int ,int *dist,struct vertex vert[SIZE]);
void output(int,int a[SIZE][SIZE]);
void input(int,int a[SIZE][SIZE]);
struct q *insert_queue(int vertex_no,struct q *first);
struct q *delet_queue(int *vertex_no,struct q *first);
struct edge *insert_vertex(int vertex_no,struct edge *first)
{
 struct edge *new1,*current ;
 new1=(struct edge*)malloc(sizeof(struct edge));
 new1->terminal=vertex_no;
 new1->next=NULL;
 if(!first)
   return new1;
 for(current=first;current->next;current=current->next);
 current->next=new1;
 return first;
}
struct q *insert_queue(int vertex_no,struct q *first)
{
 struct q *new1,*current;
 new1=(struct q*)malloc(sizeof(struct q));
 new1->info=vertex_no;
 new1->next=NULL;
 if(!first)
   return new1;
 for(current=first;current->next;current=current->next);
 current->next=new1;
 return first;
}
struct q *delet_queue(int *vertex_no,struct q *first)
{
 struct q *previous;
 if(!first)
   return NULL;
 *vertex_no=first->info;
 first=first->next;
 free(previous);
 return first;
}
void table(int vertex_num,int matrix[SIZE][SIZE],struct vertex vert[SIZE])
{
 int i,j;
 for(i=0;i<vertex_num;i++)
 {
  vert[i].visit=F;
  vert[i].vertex_no=i+1;
  vert[i].info='A'+i;
  vert[i].path_lenth=0;
  vert[i].edge_ptr=NULL;
 }
 for(i=0;i<vertex_num;i++)
   for(j=0;j<vertex_num;j++)
    if(matrix[i][j]>0)
     vert[i].edge_ptr=insert_vertex(j,vert[i].edge_ptr);
}
void bfs(int index,int *dist,struct vertex vert[SIZE])
{
 struct q *queue=NULL;
 struct edge *link;
 vert[index].visit=T;
 queue=insert_queue(index,queue);
 while(queue)
 {
  queue=delet_queue(&index,queue);
  for(link=vert[index].edge_ptr;link;link=link->next)
   if(vert[link->terminal].visit==F)
   {
    vert[link->terminal].visit=T;
    vert[link->terminal].path_lenth=vert[index].path_lenth+1;
    queue=insert_queue(link->terminal,queue);
   }
  }
}
void input(int number,int a[SIZE][SIZE])
{
 int i,j;
 printf("input the adjacency matrix is:\n");
 for(i=0;i<number;i++)
 {
  for(j=0;j<number;j++)
   scanf("%d",&a[i][j]);
  printf("\n");
 }
}
void output(int number,int a[SIZE][SIZE])
{
 int i,j;
 printf("\n adjacency matrix is:\n");
 for(i=0;i<number;i++)
 {
  for(j=0;j<number;j++)
   printf("%d\t",a[i][j]);
  printf("\n");
 }
}
int main()
{
 int i,number,index,dist,a[SIZE][SIZE];
 struct vertex vert[SIZE];
 struct edge *list;

 printf("\ninput the number of vertices in graph:");
 scanf("%d",&number);
 input(number,a);
 output(number,a);
 table(number,a,vert);
 printf("\ninput the strating vertex 0-%d:",number-1);
 scanf("%d",&index);
 dist=0;
 bfs(index,&dist,vert);
 printf("\n path lenth of the vertex %c",vert[index].info);
 printf("\n vertex length vertex complexity\n");
 for(i=0;i<number;i++)
 {
  printf("\n%c\t\t%d",vert[i].info,vert[i].path_lenth);
  for(list=vert[i].edge_ptr;list;list=list->next)
  {
    printf(" ");
    putchar(list->terminal+'A');
  }
 }
 getch();
}
»»  READMORE...

Program DFS

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
#define T 1
#define F 0
#define NULL 0
using namespace std;

struct edge
{
 int terminal;
 struct edge *next;
};
struct vertex
{
 int visit;
 int vertex_no;
 char info;
 int path_lenth;
 struct edge *edge_ptr;
};
void table(int,int matrix[SIZE][SIZE],struct vertex vert[SIZE]);
struct edge *insert_vertex(int,struct edge *);
void dfs(int ,int *dist,struct vertex vert[SIZE]);
void output(int,int a[SIZE][SIZE]);
void input(int,int a[SIZE][SIZE]);
struct edge *insert_vertex(int vertex_no,struct edge *first)
{
 struct edge *new1,*current ;
 new1=(struct edge*)malloc(sizeof(struct edge));
 new1->terminal=vertex_no;
 new1->next=NULL;
 if(!first)
   return new1;
 for(current=first;current->next;current=current->next);
 current->next=new1;
 return first;
}
void table(int vertex_num,int matrix[SIZE][SIZE],struct vertex vert[SIZE])
{
 int i,j;
 for(i=0;i<vertex_num;i++)
 {
  vert[i].visit=F;
  vert[i].vertex_no=i+1;
  vert[i].info='A'+i;
  vert[i].path_lenth=0;
  vert[i].edge_ptr=NULL;
 }
 for(i=0;i<vertex_num;i++)
   for(j=0;j<vertex_num;j++)
    if(matrix[i][j]>0)
     vert[i].edge_ptr=insert_vertex(j,vert[i].edge_ptr);
}
void dfs(int index,int *dist,struct vertex vert[SIZE])
{
 struct edge *link;
 vert[index].visit=T;
 vert[index].path_lenth= *dist;
 *dist+=1;
 for(link=vert[index].edge_ptr;link;link=link->next)
  if(vert[link->terminal].visit==F)
   dfs(link->terminal,dist,vert);
}
void input(int number,int a[SIZE][SIZE])
{
 int i,j;
 printf("input the adjacency matrix is:\n");
 for(i=0;i<number;i++)
 {
  for(j=0;j<number;j++)
   scanf("%d",&a[i][j]);
  printf("\n");
 }
}
void output(int number,int a[SIZE][SIZE])
{
 int i,j;
 printf("\n adjacency matrix is:\n");
 for(i=0;i<number;i++)
 {
  for(j=0;j<number;j++)
   printf("%d\t",a[i][j]);
  printf("\n");
 }
}
int main()
{
 int i,number,index,dist,a[SIZE][SIZE];
 struct vertex vert[SIZE];
 struct edge *list;

 printf("\ninput the number of vertices in graph:");
 scanf("%d",&number);
 input(number,a);
 output(number,a);
 table(number,a,vert);
 printf("\ninput the strating vertex 0-%d:",number-1);
 scanf("%d",&index);
 dist=0;
 dfs(index,&dist,vert);
 printf("\npath lenth of thevertex %c",vert[index].info);
 printf("\nvertex lenth   vertex complexity\n");
 for(i=0;i<number;i++)
 {
  printf("\n%c\t\t%d",vert[i].info,vert[i].path_lenth);
  for(list=vert[i].edge_ptr;list;list=list->next)
  {
    printf(" ");
    putchar(list->terminal+'A');
  }
 }
 getch();
}


»»  READMORE...

Kamis, 07 Maret 2013

Computer Vision


Computer vision adalah ilmu dan teknologi mesin yang melihat, di mana lihat dalam hal ini berarti bahwa mesin mampu mengekstrak informasi dari gambar yang diperlukan untuk menyelesaikan tugas tertentu. Sebagai suatu disiplin ilmu, Computer vision berkaitan dengan teori di balik sistem buatan bahwa ekstrak informasi dari gambar. Data gambar dapat mengambil banyak bentuk, seperti urutan video, pandangan dari beberapa kamera, atau data multi-dimensi dari scanner medis.
Sebagai disiplin teknologi, Computer vision berusaha untuk menerapkan teori dan model untuk pembangunan sistem Computer vision. Contoh aplikasi dari Computer vision mencakup sistem untuk:
  • Pengendalian proses (misalnya, sebuah robot industri atau kendaraan otonom).
  • Mendeteksi peristiwa (misalnya, untuk pengawasan visual atau orang menghitung).
  • Mengorganisir informasi (misalnya, untuk pengindeksan database foto dan gambar urutan).
  • Modeling benda atau lingkungan (misalnya, inspeksi industri, analisis citra medis atau model topografi).
  • Interaksi (misalnya, sebagai input ke perangkat untuk interaksi komputer-manusia).
Computer vision berkaitan erat dengan kajian biological vision. Bidang studi biological vision dan model proses fisiologis di balik persepsi visual pada manusia dan hewan lainnya. Computer vision, di sisi lain, studi dan menggambarkan proses diimplementasikan dalam perangkat lunak dan perangkat keras di belakang sistem visi buatan. pertukaran Interdisipliner antara biological vision dan komputer telah terbukti bermanfaat bagi kedua bidang.
Computer vision, dalam beberapa hal, invers grafis komputer. Sementara komputer grafis menghasilkan data gambar dari model 3D, visi komputer sering menghasilkan model 3D dari data citra. Ada juga kecenderungan kombinasi dari dua disiplin, misalnya, sebagaimana dibahas dalam realitas ditambah.
Sub-domain dari Computer vision termasuk adegan rekonstruksi, deteksi event, pelacakan video, pengenalan obyek, belajar, indexing, estimasi gerak, dan pemulihan citra.
Negara seni
Computer vision adalah bidang beragam dan relatif baru belajar. Pada hari-hari awal komputasi, sulit untuk memproses set bahkan cukup besar data citra. Tidak sampai akhir 1970-an bahwa penelitian lebih terfokus lapangan muncul. Computer vision mencakup berbagai topik yang sering berhubungan dengan disiplin lain, dan akibatnya tidak ada perumusan standar “masalah Computer vision “. Selain itu, tidak ada rumusan standar tentang bagaimana komputer masalah penglihatan harus diselesaikan. Sebaliknya, terdapat banyak sekali metode untuk memecahkan berbagai tugas Computer vision yang terdefinisi dengan baik, dimana metode sering sangat tugas spesifik dan jarang dapat digeneralisir rentang aplikasi yang luas. Banyak metode dan aplikasi yang masih dalam keadaan penelitian dasar, tetapi metode semakin banyak menemukan cara mereka ke produk komersial, di mana mereka sering merupakan bagian dari sistem yang lebih besar yang dapat menyelesaikan tugas-tugas kompleks (misalnya, di bidang medis gambar, atau pengendalian mutu dan pengukuran dalam proses industri). Pada kebanyakan aplikasi praktis Computer vision, komputer adalah pra-diprogram untuk menyelesaikan tugas tertentu, namun metode berdasarkan pembelajaran yang sekarang menjadi semakin umum.
Bidang-bidang terkait
Hubungan antara visi komputer dan berbagai bidang lainnya
Banyak kesepakatan kecerdasan buatan dengan perencanaan otonom atau musyawarah untuk sistem robotical untuk menavigasi melalui lingkungan. Pemahaman yang rinci tentang lingkungan ini diperlukan untuk menavigasi melalui mereka. Informasi tentang lingkungan dapat diberikan oleh sistem Computer vision, bertindak sebagai sensor visi dan memberikan informasi tingkat tinggi tentang lingkungan dan robot. Kecerdasan buatan dan topik-topik berbagi Computer vision lain seperti pengenalan pola dan teknik pembelajaran. Akibatnya, Computer vision kadang-kadang dilihat sebagai bagian dari bidang kecerdasan buatan atau ilmu bidang komputer secara umum.
Fisika merupakan bidang lain yang terkait erat dengan Computer vision. sistem Computer vision bergantung pada sensor gambar yang mendeteksi radiasi elektromagnetik yang biasanya dalam bentuk baik cahaya tampak atau infra-merah. Sensor dirancang dengan menggunakan fisika solid-state. Proses di mana cahaya merambat dan mencerminkan off permukaan dijelaskan menggunakan optik. sensor gambar canggih bahkan meminta mekanika kuantum untuk memberikan pemahaman lengkap dari proses pembentukan gambar. Selain itu, berbagai masalah pengukuran fisika dapat diatasi dengan menggunakan Computer vision, untuk gerakan misalnya dalam cairan.
Bidang ketiga yang memainkan peran penting adalah neurobiologi, khususnya studi tentang sistem biological vision Selama abad terakhir, telah terjadi studi ekstensif dari mata, neuron, dan struktur otak dikhususkan untuk pengolahan rangsangan visual pada manusia dan berbagai hewan. Hal ini menimbulkan gambaran kasar, namun rumit, tentang bagaimana “sebenarnya” sistem visi beroperasi dalam menyelesaikan tugas-tugas visi tertentu yang terkait. Hasil ini telah menyebabkan subfield di dalam visi komputer di mana sistem buatan yang dirancang untuk meniru pengolahan dan perilaku sistem biologi, pada berbagai tingkat kompleksitas. Juga, beberapa metode pembelajaran berbasis komputer yang dikembangkan dalam visi memiliki latar belakang mereka dalam biologi.
Namun bidang lain yang terkait dengan visi komputer pemrosesan sinyal. Banyak metode untuk pemrosesan sinyal satu-variabel, biasanya sinyal temporal, dapat diperpanjang dengan cara alami untuk pengolahan sinyal dua variabel atau sinyal multi-variabel dalam visi komputer. Namun, karena sifat spesifik gambar ada banyak metode dikembangkan dalam visi komputer yang tidak memiliki mitra dalam pengolahan sinyal satu-variabel. Sebuah karakter yang berbeda dari metode ini adalah kenyataan bahwa mereka adalah non-linear yang bersama-sama dengan dimensi-multi sinyal, mendefinisikan subfield dalam pemrosesan sinyal sebagai bagian dari visi komputer.
Selain pandangan yang disebutkan di atas pada visi komputer, banyak topik penelitian yang terkait juga dapat dipelajari dari sudut pandang matematika murni. Sebagai contoh, banyak metode dalam visi komputer didasarkan pada statistik, optimasi atau geometri. Akhirnya, bagian penting dari lapangan dikhususkan untuk aspek pelaksanaan visi komputer, bagaimana metode yang ada dapat diwujudkan dalam berbagai kombinasi perangkat lunak dan perangkat keras, atau bagaimana metode ini dapat dimodifikasi untuk mendapatkan kecepatan pemrosesan tanpa kehilangan terlalu banyak kinerja .
Bidang yang paling erat kaitannya dengan visi komputer pengolahan citra, analisis citra dan visi mesin. Ada yang signifikan tumpang tindih dalam berbagai teknik dan aplikasi yang menutupi. Ini berarti bahwa teknik-teknik dasar yang digunakan dan dikembangkan dalam bidang ini kurang lebih sama, sesuatu yang dapat diartikan sebagai hanya ada satu lapangan dengan nama yang berbeda. Di sisi lain, tampaknya perlu untuk kelompok penelitian, jurnal ilmiah, konferensi dan perusahaan untuk menyajikan atau memasarkan diri sebagai milik khusus untuk salah satu bidang dan, karenanya, berbagai penokohan yang membedakan masing-masing bidang dari yang lain telah disajikan.
Karakterisasi berikut akan muncul yang relevan tetapi tidak harus diambil sebagai universal diterima:
  • Pengolahan citra dan analisis citra cenderung untuk fokus pada gambar 2D, bagaimana mengubah satu gambar yang lain, misalnya, dari operasi pixel-bijaksana seperti peningkatan kontras, daerah operasi seperti ekstraksi tepi atau penghapusan noise, atau transformasi geometri seperti memutar gambar. karakterisasi ini menunjukkan bahwa pengolahan gambar / analisis tidak memerlukan asumsi atau menghasilkan interpretasi tentang isi gambar.
  • Komputer visi cenderung untuk berfokus pada adegan 3D diproyeksikan ke satu atau beberapa gambar, misalnya, bagaimana merekonstruksi struktur atau informasi lain tentang adegan 3D dari satu atau beberapa gambar. Komputer visi sering mengandalkan pada asumsi yang lebih kompleks atau kurang tentang adegan digambarkan dalam gambar. machine vision
  • cenderung berfokus pada aplikasi, terutama di bidang manufaktur, misalnya, visi robot otonom berbasis dan sistem untuk inspeksi berbasis visi atau pengukuran. Ini berarti bahwa teknologi sensor gambar dan teori kontrol sering terintegrasi dengan pengolahan data citra untuk mengontrol robot dan bahwa pemrosesan real-time ditekankan dengan cara implementasi efisien dalam hardware dan software. Hal ini juga menyiratkan bahwa kondisi eksternal seperti pencahayaan dapat dan sering lebih terkontrol dalam visi mesin daripada di visi komputer umum, yang dapat memungkinkan penggunaan algoritma yang berbeda.
  • Ada juga pencitraan field dengan nama yang terutama berfokus pada proses menghasilkan gambar, tapi kadang-kadang juga berkaitan dengan pengolahan dan analisis gambar. Sebagai contoh, pencitraan medis berisi banyak bekerja pada analisis data gambar dalam aplikasi medis.
  • Akhirnya, pengenalan pola adalah bidang yang menggunakan berbagai metode untuk mengekstrak informasi dari sinyal pada umumnya, terutama didasarkan pada pendekatan statistik. Sebuah bagian penting dari bidang ini dikhususkan untuk menerapkan metode ini untuk data citra.
»»  READMORE...

SUB DISIPLIN ILMU DALAM KECERDASAN BUATAN


SUB DISIPLIN ILMU DALAM KECERDASAN BUATAN
Persoalan-persoalan yang mula-mula ditangani oleh Kecerdasan Buatan adalah pembuktian teorema dan permainan (game). Seorang periset Kecerdasan Buatan yang bernama Samuel menuliskan program permainan catur yang tidak hanya sekedar bermain catur, namun program tersebut juga dibuat agar dapat menggunakan pengalamannya untuk meningkatkan kemampuannya. Sementara itu, Newell, seorang ahli teori logika berusaha membuktikan teorema-teorema matematika.
Makin pesatnya perkembangan teknologi menyebabkan adanya perkembangan dan perluasan lingkup yang membutuhkan kehadiran Kecerdasan Buatan. Karakteristik cerdas sudah mulai dibutuhkan di berbagai disiplin ilmu dan teknologi. Kecerdasan Buatan tidak hanya merambah di berbagai disiplin ilmu yang lain. Irisan antara psikologi dan kecerdasan buatan melahirkan sebuah area yang dikenal dengan nama cognition & psycolinguistics. Irisan antara teknik elektro dengan kecerdasan buatan melahirkan berbagai ilmu seperti: pengolahan citra, teori kendali, pengenalan pola dan robotika.
Dewasa ini, Kecerdasan Buatan juga memberikan kontribusi yang cukup besar di bidang manajemen. Adanya sistem pendukung keputusan, dan Sistem Informasi Manajemen juga tidak lepas dari andil Kecerdasan Buatan.
Adanya irisan penggunaan Kecerdasan Buatan di berbagai disiplin ilmu tersebut menyebabkan cukup rumitnya untuk mengklasifikasikan Kecerdasan Buatan menurut disiplin ilmu yang menggunakannya. Untuk memudahkan hal tersebut, maka pengklasifikasian lingkup Kecerdasan Buatan didasarkan pada output yang diberikan yaitu pada aplikasi komersial (meskipun sebenarnya Kecerdasan Buatan itu sendiri bukan merupakan medan komersial).



Lingkup utama dalam Kecerdasan Buatan adalah:
  1. Sistem Pakar (Expert System). Disini komputer digunakan sebagai sarana untuk menyimpan pengetahuan para pakar. Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki
    oleh pakar.
  2. Pengolahan Bahasa Alami (Natural Language Processing). Dengan pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.
  3. Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer menggunakan suara.
  4. Robotika & Sistem Sensor (Robotics & Sensory Systems).
  5. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau obyek- obyek tampak melalui komputer.
  6. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.
  7. Game playing.
Seiring dengan perkembangan teknologi, muncul beberapa teknologi yang juga bertujuan untuk membuat agar komputer menjadi cerdas sehingga dapat menirukan kerja manusia sehari-hari.
Teknologi ini juga mampu mengakomodasi adanya ketidakpastian dan ketidaktepatan data input. Dengan didasari pada teori himpunan, maka pada tahun 1965 muncul Logika Fuzzy. Kemudian pada tahun 1975 John Holland mengatakan bahwa setiap problem berbentuk adaptasi (alami maupu buatan) secara umum dapat diformulasikan dalam terminologi genetika. Algoritma Genetika ini merupakan simulasi proses evolusi Darwin dan operasi genetika atas kromosom.


LINGKUP KECERDASAN BUATAN PADA APLIKASI KOMERSIAL
Sejalan dengan berkembangnya permasalahan manusia, maka manusia harus menggunakan sumber daya secara eficien. Untuk melakukan hal tersebut, maka kita membutuhkan bantuan dengan kualitas yang tinggi dari komputer. Dalam kehidupan manusia, komputer dapat membantu dalam bidang:
  • Pertanian, komputer dapat mengkontrol robot yang melakukan kontrol terhadap hama, pemangkasan pohon, pemilihan hasil panen.
  • Pabrik, komputer dapat menkontrol robot yang harus mengerjakan pekerjaan berbahaya dan membosankan, inspeksi dan melakukan maintenance pekerjaan.
  • Kesehatan, komputer dapat membantu untuk mendiagnosis penyakit, melakukan monitoring kondisi pasien, memberikan treatment yang cocok.
  • Pekerjaan Rumah Tangga, komputer dapat memberikan nasihat dalam memasak dan berbelanja, membantu membersihkan lantai, memotong rumput, mencuci pakaian, dan melakukan maintenance terhadap pekerjaan.

KECERDASAN BUATAN DAN KECERDASAN ALAMI
Jika dibanding kecerdasan alami, kecerdasan buatan memiliki keuntungan komersial, antara lain:
  1. Kecerdasan buatan lebih bersifat permanen.
  2. Kecerdasan alami  akan cepat mengalami perubahan.
  3. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan.
  4. Kecerdasan buatan bersifat konsisten.
  5. Kecerdasan buatan dapat didokumentasi.
  6. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibanding dengan kecerdasan alami.
  7. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan alami.
Keuntungan Kecerdasan alami:
  1. Kreatif.
  2. Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedang pada kecerdasan buatan hams bekerja dengan input-input simbolik.
  3. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat terbatas.

RINGKASAN
  • Kecerdasan Buatan adalah studi yang berusaha membuat komputer menjadi cerdas.
  • Tujuan   dari   sisi   teknologi   dari   Kecerdasan   Buatan   adalah   untuk menyelesaikan permasalahan nyata.
  • Dari  sisi ilmiah tujuan Kecerdasan Buatan adalah untuk menjelaskan variasi kecerdasan
  • Kecerdasan Buatan dapat membantu kita untuk menyelesaikan kesulitan, permasalahan nyata, menciptakan kesempatan baru dalam bisnis, teknologi dan area aplikasi yang lain. o     Kecerdasan   Buatan   merupakan   gudang   untuk menjawab   pertanyaan tradisional yang biasa ditanyakan pada ahli bahasa, philosophi, dokter dsb. Sehingga dengan demikian dapat membantu kita untuk menjadi semakin pintar.

Kecerdasan Buatan 
Definisi
  • Bagian dari ilmu komputer yang membuat aga mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia.
  • Komputer tidak hanya digunakan sbg alat hitung tapi diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia
Komputer harus dibekali pengetahuan dan kemampuan untuk menalar agar dapat bertindak seperti dan sebaik manusia.

 Sudut Pandang Pengertian AI
Sudut Pandang Kecerdasan
Kecerdasan buatan akan membuat mesin menjadi ‘cerdas’ (mampu berbuat seperti apa yang dilakukan oleh manusia)
Sudut pandang penelitian
Kecerdasan buatan adlh suatu studi bgm membuat agar komputer dapat melakukan sesuatu sebaik yang dikerjakan oleh manusia.
Domain yang sering dibahas oleh para peneliti:
a. Mundane Task
  • Persepsi (vision & speech)
  • Bahasa alami (understanding, generation & translation)
  • Pemikiran yang bersifat commonsense
  • Robot control
b. Formal Task
  • Permainan/games
  • Matematika (geometri, logika, kalkulus integral, pembuktian)
c. Expert Task
  • Analisis finansial
  • Analisis medikal
  • Analisis ilmu pengetahuan
  • Rekayasa (desain, pencarian gagal, perencanaan manufaktur)
Sudut pandang bisnis
Kecerdasan buatan adalah kumpulan peralatan yang sangat powerful dan metodologis dalam menyelesaikan masalah-masalah bisnis.
Sudut pandang pemrograman
Kecerdasan buatan meliputi studi tentang pemrograman simbolik, penyelesaian masalah (problem solving) dan pencarian (searching)
Dua bagian utama dalam aplikasi kecerdasan buatan:
  • Basis Pengetahuan (Knowledge Base), berisi fakta-fakta teori, pemikiran dan hubungan
    antara satu dengan lainnya.
  • Motor Inferensi (Inference Engine), yaitu kemampuan menarik kesimpulan berdasarkan pengalama

Kecerdasan Buatan Vs Kecerdasan Alami
 Keuntungan Kecerdasan Buatan:
  • Lebih bersifat permanen, sdgkan kec. alami akancepat mengalami perubahan. Faktor sifat manusiayang pelupa.
  • Lebih mudah diduplikasi dan disebarkan, sdgkan mentransfer pengetahuan manusia dari satu org ke org lain membutuhkan proses yg sangat lama.
  •  Lebih murah dibanding dengan kec. alami.
  • Menyediakan layanan komputer akan lebih mudah dan lebih murah dibandingkan dengan mendatangkan seseorang utk mengerjakan sejumlah pekerjaan dalam jangka waktu lama
  • Bersifat konsisten, krn merupakan bagian dari teknologi komputer sdgkan kec. alami akan senantiasa berubah-ubah
  • Dapat didokumentasikan, keputusan yang dibuat oleh komputer dapat didokumentasikan dengan mudah melalui log systemnya sdgkan kec. alami sangat sulit untuk direproduksi
  • Dapat mengerjakan pekerjaan lebih cepat Dapat mengerjakan pekerjaan lebih baik
Keuntungan Kecerdasan Alami:
  • Kreatif, kemampuan untuk menambah ataupun memenuhi pengetahuan sangat melekat di jiwa manusia.
  • Memungkinkan untuk menggunakan pengalaman secara langsung
  • Pemikiran manusia dapat digunakan secara luas, sdgkan kec. buatan sangat terbatas
Pemrograman Kec. Buatan Vs Konvesional
Dimensi
Kec. Buatan
Konvesional
Pemrosesan
Mengandung konsep-konsep simbolik
Algoritmik
Sifat Input
Bisa tidak lengkap
Harus Lengkap
Pencarian
Kebanyakan bersifat heuristik
Biasanya didasarkan pada algoritma
Keterangan
Disediakan
Biasanya tidak disediakan
Fokus
Pengetahuan
Data & informasi
Struktur
Kontrol dipisahkan dari pengetahuan
Kontrol terintegrasi dgn informasi
Sifat output
Kuantitatif
Kualitatif
Pemeliharaan & update
Relatif mudah
Sulit
Kemampuan menalar
Ya
tidak

Lingkup Kec. Buatan pada Aplikasi
Komersial
Lingkup Utama:
-         Sistem Pakar (Expert System)
-         Pengolahan Bahasa Alami (Natural Language Processing)
-         Pengenalan Ucapan (Speech Recognition)
-         Robotika&Sistem Sensor (Robotics&Sensory Systems)
-         Computer Vision
-         Intelligent Computer-aided Instruction
-         Game Playing
Soft Computing
Definisi
Koleksi dari beberapa metodologi yang bertujuan untuk mengeksploitasi adanya toleransi terhadap ketidaktepatan, ketidakpastian, dan kebenaran parsial untuk dapat diselesaikan dengan mudah, robustness, dan biaya penyelesaiannya murah.
Unsur-unsur pokok dalam Soft Computing
-         Sistem Fuzzy (mengakomodasi ketidaktepatan)
-         Jaringan Syaraf (mengakomodasi pembelajaran)
-         Probabilistic Reasoning (mengakomodasi ketidakpastian)
-         Evolutionary Computing (optimasi)
Karakteristik Soft Computing:
-         Memerlukan keahlian manusia, apabila direpresentasikan dalam bentuk aturan (IF-THEN)
-         Model komputasinya diilhami oleh proses biologis
-         Merupakan teknik optimasi baru
-         Menggunakan komputasi numeris
-         Memiliki toleransi kegagalan (meskipun kualitasnya berangsur-angsur memburuk)

Based Knowledge System
 Dua pendekatan basis pengetahuan yang sangat umum digunakan,yaitu:
Penalaran berbasis aturan (Rule-Based Reasoning)
  • Pengetahuan direpresentasikan dengan menggunakan aturan berbentuk:IF-THEN.
  • Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu,dan si pakar dapat menyelesaikan masalah tersebut secara berurutan.
Penalaran berbasis kasus (Case-Based Reasoning)
  • Basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya,kmd akan diturunkan suatu solusi untuk keadaan yg terjadi sekarang (fakta yang ada).
 Motor Inferensi (Inference Engnine)
Ada 2 cara dalam melakukan inferensi :
Forward Chaining
Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu). Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis
Backward Chaining
Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dahulu,dan untuk menguji kebenaran hipotesis tersebut dicari, harus dicari fakta-fakta yang ada dalam basis pengetahuan
Expert System
 Ciri-ciri sistem pakar:
  • Memiliki fasilitas informasi yang handal
  • Mudah dimodifikasi
  • Dapat digunakan dalam berbagai jenis komputer.
  • Memiliki kemampuan untuk belajar beradaptasi
 Permasalahan yang disentuh oleh Sistem Pakar:
  • Interpretasi. Pengambilan keputusan dari hasil observasi,misal: pengawasan, pengenalan ucapan, analisis citra, interpretasi sinyal.
  • Prediksi. Misal: peramalan, prediksi demografis, peramalan ekonomi, prediksi lalulintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan.
  • Diagnosa. Misal: medis, elektronis, mekanis, dan diagnosis perangkat lunak.
  • Perancangan. Misal: layout sirkuit dan perancangan bangunan.
  • Perencanaan. Misal: perencanaan keuangan, komunikasi, militer, pengembangan produk, routing,
    dan manajemen proyek.
  • Monitoring. Misal: Computer-Aided Monitoring System.
  • Debugging, memberikan resepobat terhadap suatu kegagalan
 Perbaikan.
  • Instruksi. Melakukan instruksi untuk diagnosis, debugging, dan perbaikan kinerja.
  • Kontrol. Melakukan kontrol terhadap interpretasi, prediksi, perbaikan,dan monitoring kelakuan sistem.
 Garis besar pengembangan sistem pakar:
  • Mengidentifikasi masalah dan kebutuhan
  • Menentukan masalah yang cocok
  • Mempertimbangkan alternatif, menggunakan system pakar atau komputer tradisional
  • Menghitung pengembalian investasi
  • Memilih alat pengembangan
  • Rekayasa Pengetahuan
  • Merancang sistem
  • Melengkapi pengembangan
  • Menguji dan mencari kesalahan sistem
  • Memelihara system




 PARADIGMS
 Tipe-Tipe
Classification
  • Paradigma yang paling mudah untuk digunakan karena tujuan dari klaisifikasi ini hanya mengidentifikasikan pola umum atau trennya saja, bukan secara detail.
  • Disebut sebagai one-to-many-to-one selection exercise.
  • Contoh: Validasi hubungan kekeluargaan, general cek repair autocar.
Diagnosis
  • Sedikit lebih susah dibandingkan dengan klasifikasi karena tujuan utamanya adalah mengidentifikasikan secara detail pola hubungan penyebab dan efek/akibat nya dalam berbagai macam kemungkinan.
  • Disebut sebagai one-to-many-to-one exercise
  • Biasanya direpresentasikan dengan cara pohon keputusan and/or tabel pohon.
 Hypothesize and Test
  • Sebuah paradigma untuk mengidentifikasikan tindakan terbaik dari sebuah ujicoba, kemudian melakukan evaluasi walaupun tindakan yang dilakukan tersebut tidak mendapat hasil sesuai yang diinginkan.
  • Bila tidak sukses akan dilakukan ujicoba lagi.
  • Secara operasional merupakan gabungan antara klasifikasi dan diagnosa.
Collisions
  • sebuah identifikasi ketentuan/batasan dalam paradigma untuk menentukan pola yang tidak diinginkan.
  • Analisa Collision ini seperti tujuan yang harus dilakukan oleh seorang tester.
Design and Configuration
  • Merupakan kumpulan dari berbagai paradigma dan akitifitas.
  • Salah satu contoh alat yang digunakan adalah MICON (Microprosessor Configurer), yang terdiri dari Logic Knowledge, Refinement Knowledge, Component Knowledge, Component Knowledge, Problem-solving Knowledge.


Planning And Scheduling
  • Secara umum berkaitan dengan jejaring dari bermacam paradigma lainnya.
  • Hasil akhir yang diharapkan dalam hal ini adalah bukan yang ‘salah satu’ terbaik dari perencanaan atau penjadwalan, tetapi salah satu yang bisa mengakomodasi semua batasan2/ketentuan yang diinginkan oleh user dan cukup memuaskan bagi user
»»  READMORE...

KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) Pada Permainan Framer Solution


KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) Pada Permainan Framer Solution


 1.            Aplikasi

        Aplikasi Kecerdasan buatan ini bernama Framer Solution. Aplikasi permainan ini cara memainkannya cukup mudah. Caranya dengan mencari jalan keluar seorang Farmer yaitu Petani. Yang memiliki perahu, kambing, serigala dan sayuran. Petani tersebut ingin membawa muatan tersebut untuk menyeberang ke Pulau B. Karena posisi petani bermula di pulau A dan ingin menyeberang ke Pulau B.

Sedangkan pada permainan ini memiliki aturan yang tidak begitu saja dapat menyeberangkan dalam sekali muatan saja.Aturannya sebagai berikut: Petani hanya bisa membawa 1 muatan saja.

 Misal petani bersama sayuran, jangan satungan Objek yang dapat saling memakan.Misal Kambing dengan sayuran hal tersebut tidak berlaku karena kambing dapat memakan sayur.3.  Serigala dengan kambing. Jika disatukan dalam satu perahu atau satu tempat serigala dapat memakan kambing.           

Permasalahannya, bagaiman menyelesaikan masalah Petani dengan membantu menyeberangkan bawaannya melalui sungai dengan keadaan selamat dan barang bawaan utuh sampai ke Pulau B.Tool dalam aplikasi ini yang harus dijalankan yaitu :

  1. Kambing menyeberang
  2. Serigala menyeberang
  3. Sayuran menyeberang
  4. Kambing kembali
  5. Serigala kembali
  6. Sayur kembali
  7. Perahu kembali
Seperti pada gambar dibawah ini
Gambar
2.                Cara Menjalankan
Cara menjalankan aplikasi Framer Solution  cukup dengan menjalankan file .exe dari Framer Solution. Tunggu beberapa saat maka aplikasi akan terbuka. Jalankan permainan dengan perintah yang sudah ada. Cukup meng-klik nomor permainan pada Framer Solution. Dan waktunya mencari solusi untuk mnyelesaikan permainan Framer Solution.
Pada saat menjalankan apllikasi ini akan terlihat dalam penggunaan pemikiran masing-masing. Karena permaina ini membutuh kan trik-trik yang tidak terpikirkan sebelumnya.Ingat aturan yang sudah ada. Jangan satukan objek yang dapat saling memakan. Selesaikan permainan dengan aturan yang ada. Permaianan ini akan membututhkan waktu dan pikiran tergantung si pemain. Jika dapat memahami aturan yang sudah ada maka akan membutuhkan waktu yang sedikit untuk menyelesaikannya.
 Tapi jika tidak memperhatikan aturan permainan yang sudah tertera sebelumnya maka akan membutuhkan waktu yang cukup lama bahkan mungkin akan mengulang-ngulang nomor yang akan di klik dan tentunya tidak menemukan jalan keluar bagi si petani. Jika si pemain mungkin tidak menemukan jawaban dalam solusi Framer Solution yang dijalankan maka aplikasi ini memberikan solusi dalam menyelesaikan problem tersebut. Caranya dengan meng-klik menu “ SOLUSI” pada frame sebelah kanan atas. Urutan-urutan dalam menyelesaiakan masalah Framer Solution akan ditampilakan.Seperti pada gambar berikut :Gambar 
Gambar3.        Aplikasi Menu-menu yang tersedia dalam aplikasi ini adalah menu utama.
   





·         Menu permaianan    
Gambar
       



Menu permainan ini digunakan untuk menentukan muatan mana yang akan diberangkatakan dahulu dengan ketentuan yang sudah berlalu sebagai aturan
GambarGambar

permainan.
·         .Menu Output  
Menu Outpur adalah menu dimana hasil dari menu permainan yang sudah dipilih pada angka-angka yang digunakan untuk muatan yang diberangkatkan dengan tampil pada output sehingga dapat digunakan sebagai acuan untuk memikurkan muatan yang akan diberangkatkan selanjutnya
·         .    Menu Solusi           
Menu solusi merupakan menu yang diberikan untuk pengguna yang tidak dapat menyelesaikan permasalahan Framer Solution. Sehingga diberikan menu “ SOLUSI” yang berisi urutan jawaban tentang solusi permaianan tersebut.  Jika permainan dijalankan misal dimulai dengan pemilihan angka satu, di klik maka outputnya seperti pada gambar berikut. Dalam gambar tersebut jika permaianan dimulai dengan meng-klik angka satu maka dapat dilihat pada kolom meu output nya akan juga berubah sesuai dengan perintah yang dijalankan pengguna aplikasi dan lanjutakan permainan untuk menyelesaikannya.

Gambar

Ingat jalankan aplikasi sesuai aturan jika tidak maka jika salah langkah maka hasilnya akan sebagai berikut.

Gambar

 

4.        Fungsi

            Fungsi dari permainan Framer Solution ini merupakan permainan untuk melatih otak dalam mengatur strategi yang baik dalam penyelesaian masalah. Fungsi dari aplikasi framer bertujuan untuk pengetesan IQ pada siswa maupun pengguna aplikasi ini.

Memberi kesempatan pada pengguna aplikasi untuk menggunakan jalan pikirannya pada aplikasi yang sangat sederhana tetapi membutuhkan taktik yang dibutuhkan untuk pemecahan masalah. Tidak seperti permainan game lain yang hanya ditujukan untuk memenangkan permainan tertentu dengan aturan yang sudah ada. Fungsinya juga menentukan sejauh mana pengguna dapat menyeselsaikan permainan dengan waktu nya sendiri. Untuk mentransformasikan pikiran yang kondisinya tidak stabil, menjadi mau berfikir dengan permainan yang kelihatan mudah dan gampang, dan juga dapat dijadikan sebagai bahan pendidikan dalam hal permainan.

 5.        Kegunaan

            Guna dari aplikasi permainan Framer Solution ini memiliki peran dalam pemberdayaan masyarakat lewat AI (ARTIFICIAL INTELLIGENCE) khususnya bidang pendidikan dan pembelajaran edukatif melalui permainan. Disamping itu kegunaan dari aplikasi ini digunakan untuk pengembangan aplikasi-aplikasi yang akan datang yang memiliki kecerdasan buatan yang lebih canggih lagi.

 Dalam permainan ini ditanamkan program yang memiliki pemilihan keputusan yang sudah diberi dalam perintah source coding. Yang memiliki tugas sebagai alur dalam permainan Framer Solution. Sehingga permainan memiliki alur yang dapat diikuti oleh pengguna. Selain itu kegunaan lain dari aplikasi ini adalah sebagai tolak ukur dalam bidang perkembangan ilmu tekhnologi dalam bidang AI yang dalam proses perkembangan aplikasi kecerdasan buatan yang semakin berkembang dalam segala bidang tidak hanya dalam bidang pendidikan tetapi juga pertanian. Kesehatan, ekonomi, maupun kemanan dan pertahan yang digunakan dalam negara.

 6.        Alat

Aplikasi yang digunakan untuk membuat Framer Solution:

1.      Aplikasi Netbeans

2.      Bahasa pemrogramannya adalah Java.

3.        Kekurangan

            Dalam hal ini aplikasi Framer Solution juga memiliki kekurangan yang bisa digunakan untuk cerminan aplikasi yang akan  dibangun  untuk permainan permainan lainnya.

1.      Tampilan yang kurang atraktif.

2.      Penggunaan gambar yang kurang.

3.      Hanya terdapat 1 permainan saja.

4.      Tidak terdapatnya menu help. Bagi pengguna yang ingin menggunakan aplikasi ini.

7.        Kelebihan

            Untuk kelebihan aplikasi Framer Solution ini merupakan aplikasi yang dibuat sendiri oleh mahasiswa. Dan dapat didownload dan digunakan dengan free. Di dalam web nya juga terdapat source code bagi programmer yang ingin mengembangkan aplikasi yang ingin menggunakan solusi Framer Solution tersebut. Kelebihannya juga mudah digunakan, simpel, dan menyenangkan. Dapat digunakan untuk pembelajaran siswa siswi yang berada di tinggkat menengah maupun pengguna yang ingin mengetes kemampuan berfikir simpel. Karena aplikasi ini dibuat terlihat sulit tetapi solusi keluarannya yang mudah.

 8.    Sour Coding

            Bagi pada programer yang ingin mengetahui source code Framer Solution disediakan pula farmer-solution-source dalam bentuk zip. Dapat di download pada web yang sudah tertera di awal halaman.

 Gambar

Terdapat 2 Peckages dalam aplikasi ini bisa dilihat pada gambar dibawah ini.

 Gambar
Gambar

»»  READMORE...