Anda di halaman 1dari 17

PENGANTAR KECERDASAN BUATAN

MACHINE LEARNING

KELOMPOK
NAMA : NIM :
1. Muhammad RidwanSatrio 1208605028
2. Gede Dian Wirawan Putra 1208605029




PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
2014



1. Deskripsi Machine Learning

Dalam intelegensia buatan, pembelajaran mesin(Machine Learning) merupakan salah
satu area yang sangat aktif diteliti akhir-akhir ini. Disiplin ini berhubungan dengan
pengembangan metode-metode, teknik-teknik serta peralatan-peralatan (tools) pembelajaran
yang dapat mengakumulasi pengetahuan dan menghasilkannya dalam suatu bentuk yang dapat
dimengerti oleh para pakar atau dapat digunakan dalam sistem cerdas.

Pembelajaran merupakan faktor penting dalam membangun suatu mesin berintelegensia
sendiri. Suatu mesin tidak dapat dikatakan berintelegensia sendiri kalau mesin itu tidak mampu
belajar mengerjakan hal-hal baru dan beradaptasi dengan situasi-situasi yang baru. Mesin-mesin
yang hanya dapat mengerjakan pekerjaan yang itu-itu saja dari waktu ke waktu tidak bisa
dikatakan berintelegensia sendiri. Mesin seperti itu adalah mesin yang diprogram (programmed
machine) dan berkerja berdasarkan instruksi. Tanpa instruksi mesin itu tidak dapat mengambil
keputusan sendiri. Meskipun mesin-mesin itu dapat diprogram berulang-ulang (programmable
machines) namun pengetahuan mereka bersifat statis dan terbatas pada instruksi-instruksi yang
dimasukkan. Untuk mesin-mesin seperti itu penalaran (reasoning) dilakukan oleh manusia
sedangkan mesin hanya digunakan karena alasan kecepatan, kapasitas dan sifat monotonitas
pemrosesannya. Suatu mesin yang berintelegensia sendiri harus mampu belajar meningkatkan
pengetahuannya, dalam arti menemukan sendiri metode-metode mana yang tepat untuk
digunakan menyelesaikan suatu persoalan.

Pembelajaran menurut Simon (1983) adalah perubahan dalam sistem yang secara adaptif
memampukan sistem tersebut mengerjakan tugas-tugas yang sama atau tugas dalam jenis yang
sama secara lebih efektif pada waktu berikutnya. Kemampuan belajar ini meliputi dua hal yaitu:
Kemampuan meningkatkan ketrampilan (skill refinement).
Kemampuan mengakuisisi pengetahuan (knowledge acquisition).

Kemampuan mengakusisi pengetahuan ini yang menjadi fokus perhatian utama dalam
pembelajaran mesin dan pengembangan sistem cerdas (expert systems). Alasan utama timbul
dari kenyataan bahwa akusisi pengetahuan dari seorang pakar adalah salah satu dari kesulitan


utamapengembangan sistem-sistem cerdas (Barr and Feigenbaum, 1982; Duda and Shortliffe,
1983). Secara tradisional, pengetahuan seorang pakar diperoleh menggunakan kuesioner, analisa
protokol, dan kombinasi dari kedua hal tersebut. Pengetahuan yang didapat ini kemudian
diterjemahkan menjadi aturan-aturan dari suatu sistem cerdas. Bila pengetahuan sistem cerdas ini
ingin ditingkatkan, maka prosedur ini diulang kembali.

Jadi dapat disimpulkan bahwa Machine learning (Pembelajaran Mesin) merupakan
kemampuan komputer untuk melakukan pembelajaran tanpa harus menjelaskan (programmed)
secara eksplisit kepada komputer (Arthur, 1959), ataumenurut Tom Mitchel suatu komputer
dikatakan melakukan pembelajaran dari pengalaman E terhadap tugas T dan mengukur
peningkatan kinerja P, jika kinerja Tugas Tdiukur oleh kinerja P, meningkatkan pengalaman E
(Mitchel, 1997). Dengan kata lain machine learning merupakan ilmu yang mempelajari
bagaimana memberikan kemampuan terhadap komputer unutk melakukan aktifitas belajar guna
menyelesaikan masalah secara mandiri.

2. Learning Technique
2.1 Rote Learning
rote learning adalah sebuah cara memperoleh knowledge yang paling sederhana. Dengan cara ini
komputer menyimpan data hasil perhitungan kedalam cache. Setelah itu, komputer tidak perlu
melakukan kalkulasi kembali karena hasil perhitungan telah tersimpan. Cara ini sangat efektif
untuk mempersingkat waktu proses karena komputer tinggal mengambil data. Namun sebagai
trade-off, cara ini akan membutuhkan media penyimpanan yang besar.

2.2 Learning by Taking Advice
Pada awalnya manusia tidak memiliki pengetahuan apapun. Namun seiring berjalannya waktu,
kita selalu mendapatkan knowledge dari orang tua dan guru. Demikian juga sebuah komputer.
Komputer tidak memiliki kemampuan apabila tidak diprogram terlebih dahulu.



2.3 Learning in Problem Solving
Cara ini dapat digunakan sebagai alternatif dari 2 cara yang telah dibahas diatas. Dengan cara ini
tidak diperlukan seorang ahli untuk memberikan knowledgennya. Komputer dapat menambah
pengetahuannya dengan cara menggeneralisasi pengalaman yang telah dia dapatkan.
2.3.1 Learning from Example
Teknik belajar melalui contoh merupakan salah 1 cara dari learning in problem solving. Dalam
menggunakan cara ini dibutuhkan contoh- contoh. Contoh yang tersedia akan diproses dan
diklasifikasikan.
Klasifikasi adalah sebuah proses memasukkan sebuah input ke dalam kelas yang sesuai.
Klasifikasi adalah sebuah komponen yang penting dalam banyak pekerjaan problem solving.
Biasanya klasifikasi ini dimasukkan ke dalam operasi yang lain.
Sebelum memulai klasifikasi, maka kelas- kelas harus dibentuk terlebih dahulu. Ada beberapa
cara yang dapat dilakukan untuk membentuk kelas- kelas tersebut.
Mendefinisikan kelas dengan cara menghitung jumlah dari fiturnya.
Mendefiniskan kelas sebagai sebuah struktur yang terdiri dari fitur- fitur tersebut.
Cara pertama lebih efisien namun cara kedua lebih fleksibel dan mudah untuk diperluas.
Dalam kenyataannya, mendefinisikan sebuah kelas bukannya pekerjaan yang mudah. Apalagi
jika contoh- contoh yang ada tidak mudah untuk dideskripsikan atau dapat berubah- ubah secara
cepat. Jika kita ingin mendefinisikan kelas secara struktural, ada banyak cara yang dapat dipakai,
misalnya Winstons learning program, version spaces dan decision trees. Disini kita akan
membahas beberapa teknik tersebut.
2.3.1.1 Version Space


Dalam teknik ini, tujuan yang ingin kita capai adalah menghasilkan sebuah deskripsi yang
konsisten dengan semua contoh yang positif tetapi tidak dengan contoh yang bernilai negatif dari
contoh- contoh yang disediakan.
Dalam teknik ini kita akan membuat 2 buah subset, yang umum dan spesifik. Tujuan kita adalah
membuat kedua subset tersebut memiliki nilai yang sama pada akhirnya.
Untuk membuat hal tersebut terjadi maka kita harus membuat subset yang umum menjadi lebih
spesifik dan subset yang spesifik menjadi lebih umum. Untuk melakukan hal tersebut maka
dibutuhkan sebuah algoritma bernama candidate elimination algorithm.
Candidate elimination adalah sebuah metode untuk menghitung batas dari set.
Langkah- langkah dalam candidate elimination algorithm.
1. Buat sebuah subset G yang hanya berisi variabel
2. Buat sebuah subset S yang berisi elemen dari contoh positif yang pertama
3. Jika contoh bernilai positif, hapus dari G apabila deskripsi tidak sama dengan contoh dan
masukkan ke G apabila deskripsi berbeda dengan contoh. Sedangkan S tetap.
Jika contoh bernilai negatif, hapus dari S apabilai deskripsi sama dengan contoh. Kemudian
hapus dari G apabila deskripsi sama dengan contoh.
4. Apabila G dan S hanya 1 subset dan bernilai sama, maka proses berhenti. Jika G
dan S hanya 1 subset dan berbeda nilai, berarti contoh yang ada tidak konsisten
hentikan proses.

Ada beberapa hal yang penting untuk diperhatikan dalam Candidate elimination algorithm.
Pertama teknik ini merupakan least-comminent algorithm. Dalam setiap langkah, version space
yang ada akan semakin mengerucut seminimal mungkin dalam setiap langkahnya. Oleh karena
itu, apabila semua sample positif bernilai sama, algoritma ini tidak akan menganggap bahwa
nilai lain adalah salah, sehingga apabila contoh yang diberikan tidak konsisten, maka S dan G


tidak akan bertemu. Jadi kesimpulan yang dihasilkan sistem hanya partial. Kedua, teknik ini
menggunakan breadth first search untuk mencari jawaban yang diinginkan.
Candidate elimination memiliki beberapa kekurangan. Pertama, karena teknik ini menggunakan
breadth first search, maka kita harus menyediakan storage yang cukup. Kedua adalah terjadinya
inkonsistensi data. Seperti yang telah disebut diatas, hal ini akan menyebabkan tidak
ditemukannya jawaban yang singleton.

2.3.1.2 Decision Trees
Decision tree merepresentasikan sebuah tree dimana internal nodenya mengetes sebuah atribut,
masing- masing cabangnya berhubungan dengan nilai dari atribut dan masing- masing lead
nodenya berisi sebuah klasifikasi. Algoritma ini merupakan salah satu dari teknik yang paling
efisien dan populer dalam machine learning.
Kelebihan dari decision tree adalah apabila ukurannya tidak terlalu besar, tree ini akan dapat
dengan mudah dimengerti oleh manusia. Hal ini akan sangat berguna karena manusia dapat
memahami cara kerjanya. Sebagai tambahan, apabila data yang ada sangat besar, maka decision
tree akan bekerja lebih cepat daripada version space.

2.4 Explanation- Based Learning
Explanation based learning adalah sebuah proses mengubah pengetahuan yang implisit menjadi
pengetahuan yang eksplisit. Dalam teknik ini, kita membuat sebuah komponen dari domain
menjadi spesifik untuk menjabarkan komponen lainnya, kemudian kita menggeneralisasi
kesimpulannya agar dapat digunakan apabila kita menemukan komponen yang hampir sama.
Sebagai contoh misalnya dalam permainan catur. Komputer dapat mempelajari sebuah teknik
hanya dari satu contoh saja, misalnya posisi mat. Dari contoh tersebut, komputer dapat
melakukan perhitungan agar posisi itu tidak terjadi padanya dan sebaliknya berusaha melakukan
itu kepada lawannya. Komputer tidak memerlukan banyak contoh seperti yang dilakukan oleh


version space atau decision tree, karena komputer cukup mengetahui bahwa posisi dimana raja
tidak dapat bergerak ke tempat lain bearti posisi mat.
Explanation based learning merupakan sebuah metode lain dari berbagai teknik learning. Pada
teknik- teknik sebelumnya, contoh- contoh yang disediakan tidaklah sangat banyak sehingga
memberatkan proses perhitungan. Dengan teknik explanation based learning ini, kita akan
memperbaiki kecepatan proses sebuah learning.
Dalam teknik ini, kita akan menggunakan proses induktif. Proses ini akan membuat sebuah
kesimpulan dari sekumpulan fakta- fakta yang ada. Kemudian hasil kesimpulan dan juga fakta-
fakta tersebut disimpan dalam memory, sehingga apabila pada suatu saat dibutuhkan, kita tidak
perlu melakukan perhitungan ulang. Hal inilah yang menyebabkan peningkatan kecepatan proses
learning. Oleh karena itu, teknik ini disebut juga speed-up learning.
Speed-up learning dapat membuat sistem mendapatkan hasil / keputusan lebih cepat. Namun
untuk dapat melakukan itu, kita perlu untuk memberikan banyak contoh- contoh latihan.
Dalam teknik explanation based learning, kita dapat mengambil input dari empat hal.
contoh latihan
konsep tujuan
kriteria operasi
teori domain

Explanation-based generalization adalah sebuah algoritma yang dipakai dalam
explanation based learning. Dalam teknik ini kita akan melakukan 2 langkah. Yang pertama
adalah kita membuang semua aspek yang tidak penting dalam mencapai konsep tujuan. Langkah
berikutnya adalah melakukan generalisasi penjelasan sejauh mungkin selama masih memenuhi
konsep.



2.5 Empirical dan Analytical Learning
Empirical learning adalah metode belajar dengan mengandalkan pengalaman eksternal,
sedangkan analytical learning tidak membutuhkan input eksternal. Perbedaan antara empirical
dan analytical sangat tipis. Hampir semua masalah dapat diselesaikan dengan menggunakan
analytical learning, namun dalam beberapa kasus dimana dibutuhkan kecepatan dan data yang
sangat banyak seperti dalam permainan catur, maka analytical tidak bisa dipakai sendirian.
Empirical learning dapat digunakan bersamaan dengan analytical sehingga dapat mempercepat
proses.



3. Supervised Learning dan Unsupervised Learning
Supervised Learning
Dalam teknik supervised learning, maka sebuah program harus dapat membuat klasifikasi
klasifikasi dari contoh- contoh yang telah diberikan. Misalnya sebuah program diberikan benda
berupa bangku dan meja, maka setelah beberapa contoh, program tersebut harus dapat memilah-
milah objek ke dalam klasifikasi yang cocok.
Kesulitan dari supervised learning adalah kita tidak dapat membuat klasifikasi yang benar. Dapat
dimungkinkan program akan salah dalam mengklasifikasi sebuah objek setelah dilatih. Oleh
karena itu, selain menggunakan training set kita juga memberikan test set. Dari situ kita akan
mengukur persentase keberhasilannya. Semakin tinggi berarti semakin baik program tersebut.
Persentase tersebut dapat ditingkatkan dengan diketahuinya temporal dependence dari sebuah
data. Misalnya diketahui bahwa 70% mahasiswa dari jurusan Teknik Informatika adalah laki-
laki dan 80% mahasiswa dari jurusan Sastra adalah wanita. Maka program tersebut akan dapat
mengklasifikasi dengan lebih baik.
Contoh algoritma supervised learning seperti ID3, C4.5, Artifcial Neural Network, Support
Vector Machine dan lain-lain.




Unsupervised Learning
Teknik ini menggunakan prosedur yang berusaha untuk mencari partisi dari sebuah pola.
Unsupervised learning mempelajari bagaimana sebuah sistem dapat belajar untuk
merepresentasikan pola input dalam cara yang menggambarkan struktur statistikal dari
keseluruhan pola input.
Berbeda dari supervised learning, unsupervised learning tidak memiliki target output yang
eksplisit atau tidak ada pengklasifikasian input.
Dalam machine learning, teknik unsupervised sangat penting. Hal ini dikarenakan cara
bekerjanya mirip dengan cara bekerja otak manusia. Dalam melakukan pembelajaran, tidak ada
informasi dari contoh yang tersedia.
Contoh algoritma unsupervised learning seperti K-Mean, Graph Algorithm, EM (Expectation
Maximization) Algorithm


4. Statistical Learning
Dalam machine learning, statistik dapat digunakan untuk mempercepat proses pembelajaran.
Ada beberapa metode yang dapat kita gunakan dalam statistical learning. Metode tersebut adalah
Bayesian, Instance Based dan Neural Network.

Bayesian Learning
Dalam Artificial Intelligence, teknik Bayesian dapat digunakan untuk mempercepat proses
memperoleh hasil perhitungan. Untuk memperoleh hasil yang optimal, kita dapat menggunakan
probabilitas agar sehingga komputer tidak perlu melakukan perhitungan yang tidak diperlukan.



Teorema Bayes
P (h | D) = P (D | h) * P (h) / P (D)

dimana :
P (h) = kemungkinan dari hipotesis h
P (D) = kemungkinan dari sample D
P (h | D) = kemungkinan dari h jika diberikan sample D
P (D | h) = kemungkinan dari sample D jika ada hipotesis h

Neural Network
Dalam teknik ini, kita membuat sebuah neural network buatan yang bertujuan untuk
mensimulasikan cara kerja neuron yang berada di dalam sel manusia. Neuron sendiri berfungsi
sangat penting dalam tubuh manusia karena berperan penting dalam menerima dan memproses
sinyal.
Pada zaman modern sekarang ini, teknik dengan neural network merupakan teknik learning yang
paling populer dan efektif. Neural network memiliki berbagai kelebihan seperti dapat melakukan
perhitungan terdistribusi, dapat mentoleransi noise dalam input, dan kemampuannya dalam
belajar.

Algoritma yang menerapkan Supervised Learning
a. Hebb Rule
Hebb rule merupakan metode pembelajaran dalam supervised yang paling sederhana, karena
pada metoode ini pembelajaran dilakukan dengan cara memperbaiki nilai bobot sedemikian rupa
sehingga jika ada 2 neuron yang terhubung, dan keduanya pada kondisi hidup (on) pada saat


yang sama, maka bobot antara kedua dinaikkan. Apabila data dipresentasiakn secara bipolar,
maka perbaikan bobotnya adalahw
i
(baru)=w
i
(lama)+x
i
*y
Keterangan:
w
i
: bobot data input ke-i;
x
i
: input data ke-i;
y : output data.
Misalkan kita menggunakan pasangan vektor input (s) dan vektor output sebagai pasangan
vektor yang akan dilatih. Sedangkan vektor yang hendak digunakan sebagai testing adalah vektor
(x).
Algoritma pasangan vektor diatas adalah sebagai berikut:
0. Insialisasi semua bobot dimana:
w
ij
=0;
i =1,2n;
j =1,2..m
1. Pada pasangan input-output(s-t), maka terlebih dahulu dilakukan langkah-langkah sebagai
berikut:
a. Set input dengan nilai yang sama dengan vektor inputnya:
x
i
=s
i
;(i=1,2,n)
b. Set outputnya dengan nilai yang sam denganvektor outputnya:
y
j
=t
j
;(j=1,2,..,m)
c.Kemudian jika terjadi kesalahan maka perbaiki bobotnya:
w
ij
(baru)=w
ij
(lama)+x
i
*y
j
; (i=1,2,.,n dan j=1,2,.,m)
sebagai catatan bahwa nilai bias selalu 1.
b. Perceptron
Perceptron merupakan salah satu bentuk jaringan syaraf tiruan yang sederhana. Perceptron
biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal
dengan pemisahan secara linear. Pada dasarnya, perceptron pada jaringan syaraf dengan satu
lapisan memiliki bobot yang bisa diatur dan suatu nilai ambang(thershold). Algoritma yang
digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui


proses pembelajaran. Nilai thershold(pada fungsi aktivasi adalah non negatif. Fungsi aktivasi ini
dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah positif dan daerah negatif.
Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan yaitu:
w
1
x
1
+ w
2
x
2
+b >
Sedangkan garis pemisah antara daerah negatif dengan daerah nol memiliki pertidaksamaan:
w
1
x
1
+ w
2
x
2
+b < -
Misalkan kita gunakan pasangan vektor input (s) dan vektor output (t) sebagai pasangan vektor
yang akan dilatih.
Algoritmanya adalah:
0. Inisialisasi semua bobot dan bias:
(agar penyelesaiannya jadi lebih sederhana maka kita set semua bobot dan bias sama dengan
nol).
Set learning rate( ): (0< 1).
1. Selama kondisi berhenti bernilai false. Lakukan langkah-langkah sebagai berikut:
(i) Untuk setiap pasangan pembelajaran s-t, maka:
a. Set input dengan nilai sama dengan vektor input:
x
i
=s
i
;
b. Hitung respon untuk unit output:
y
in
=b+y-
c. Perbaiki bobot dan bias jika terjadi error:
jika yt maka:
w
i
(baru)=w
i
(lama)+
b(baru)=b(lama)+
jika tidak, maka:
w
i
(baru)= w
i
(lama)
b(baru)=b(lama)
Selanjutnya lakukan tes kondisi berhenti: jika tidak terjadi perubahan pada bobot pada (i) maka
kondisi berhenti adalah TRUE, namun jika masih terjadi perubahan pada kondisi berhenti maka
FALSE.
Algoritma seperti diatas dapat digunakan baik untuk input biner maupun bipolar, dengantertentu,
dan bias yang dapat diatur. Pada algoritma tersebut bobot-bobot yang diperbaiki hanyalah bobot-


bobot yang berhubungan dengan inputyang aktif (x
i
0) dan bobot-bobot yang tidak
menghasilkan nilai y yang benar.
Algoritma yang menerapkan Unsupervised Learning
Penerapan Unsupervised Learning diterapkan pada Pencarian vertex,Pencarian vertex adalah
proses umum dalam graph. Terdapat 2 metoda pencarian, yakni Depth First Search (DFS) dan
Breadth First Search (BFS).
a. Algoritma Depth First Search (DFS)
Pencarian dengan metode ini dilakukan dari node awal secara mendalam hingga yang paling
akhir (dead-end) atau sampai ditemukan. Dengan kata lain, simpul cabang atau anak yang
terlebih dahulu dikunjungi.


Proses pencarian dilakukan dengan mengunjungi cabang terlebih dahulu hingga tiba di simpul
terakhir. Jika tujuan yang diinginkan belum tercapai maka pencarian dilanjutkan kecabang
sebelumnya,turun kebawah jika memang masih ada cabangnya.Begitu seterusnya hingga
diperoleh tujuan akhir (goal).Depth First Search, memiliki kelebihan diantaranya adalah cepat
mencapai kedalaman ruang pencarian. Jika diketahui bahwa lintasan solusi permasalahan akan
panjang maka Depth First Search tidak akan memboroskan waktu untuk melakukan sejumlah
besar keadaan dangkal dalam permasalahan graf. Depth First Search jauh lebih efisien untuk
ruang pencarian dengan banyak cabang karena tidak perlu mengeksekusi semua simpul pada
suatu level tertentu pada daftar open. Selain itu, DepthFirst Search memerlukan memori yang


relatif kecil karena banyak node pada lintasan yang aktif saja yang Selain kelebihan, Depth First
Search juga memiliki kelemahan di antaranya adalah memungkinkan tidak ditemukannya tujuan
yang diharapkan dan hanya akan mendapatkan satu solusi pada setiap pencarian.
b. Algoritma Breadth First Search (BFS)
Prosedur Breadth First Search (BFS) merupakan pencarian yang dilakukan dengan mengunjungi
tiap-tiap node secara sistematis pada setiaplevelhinggakeadaan tujuan (goalstate) ditemukan.
Atau dengan kata lain, penulusuran yang dilakukan adalah dengan mengunjungi tiap-tiap node
pada level yang sama hingga ditemukan goalstate-nya.



Implementasi algoritma BFS :
Pengimplementasian BFS dapat ditelusuri dengan menggunakan daftar (list), open, dan closed,
untuk menelusuri gerakan pencarian di dalam ruang keadaan.Prosedur untuk Breadth First
Search dapat dituliskan sebagai berikut:
Pada diatas, state 21 merupakan tujuannya (goal) sehingga bila ditelusuri menggunakan
prosedurBreadth First Search, diperoleh:



1) Open = [1]; closed = [ ].
2) Open = [2, 3, 4]; closed = [1].
3) Open = [3, 4, 5, 6]; closd = [2, 1].
4) Open = [4, 5, 6, 7, 8]; closed = [3, 2, 1].
5) Open = [5, 6, 7, 8, 9, 10]; closed = [4, 3, 2, 1].
6) Open = [6, 7, 8, 9, 10, 11, 12]; closed = [5, 4, 3, 2, 1].
7) Open=[7,8,9,10,11,12,13](karena12telahdi-open);
closed = [6, 5, 4, 3, 2, 1].
8) Open = [8, 9, 10, 11, 12, 13, 14]; closed = [7, 6, 5, 4, 3, 2, 1].
9) Dan seterusnya sampai state 21 diperoleh atau open = [ ].

Namun ada tiga persoalan utama berkenaan dengan Breadth First Search ini yaitu :
1) Membutuhkan memori yang lebih besar,karena menyimpan semua node dalam satu pohon.
2) Membutuhkan sejumlah besar pekerjaan, khususnya jika lintasan solusi terpendek cukup
panjang,karena jumlah node yang perlu diperiksa bertambah secara eksponensialterhadap
panjang lintasan.


3) Tidak relevannya operator akan menambah jumlah node yang harus diperiksa.

Oleh karena proses Breadth First Search mengamati node di setiap level graf sebelum bergerak
menuju ruang yang lebih dalam maka mula-mula semua keadaan akan dicapai lewat lintasan
yang terpendek dari keadaan awal.Oleh sebab itu,proses ini menjamin ditemukannya lintasan
terpendek dari keadaan awal kekeadaan tujuan (akhir). Lebih jauh karena mula-mula semua
keadaan ditemukan melalui lintasan terpendek sehingga setiap keadaanyang ditemui pada kali
kedua didapati pada sepanjang sebuah lintasan yang sama atau lebih panjang. Kemudian, jika
tidak ada kesempatan ditemukannya keadaan yang identik pada sepanjang lintasanyang lebih
baik maka algoritma akan menghapusnya














Daftar Pustaka
Mitchell, T. M. (1997). Machine Learning. McGraw-Hill.
Russel, Stuart and Norvig, Peter. (1995). Artificial Intelligence A Modern Approach. Prentice
Hall.
http://dhfmanongga.wordpress.com/2007/09/25/pembelajaran-mesin/ diakses tanggal 12 April
2014
http://ungkapkandengankata.wordpress.com/2011/06/19/supervised-dan-unsupervised-learning/
diakses tanggal 13 April 2014