Buku Ajar Kecerdasan Buatan 2015
Buku Ajar Kecerdasan Buatan 2015
KECERDASAN BUATAN
OLEH :
ARMIN LAWI
Puji syukur kepada Allah S.W.T karena hanya izin-Nya bahan ajar untuk
Matakuliah Kecerdasan Buatan ini dapat diselesaikan. Tak lupa pula ucapan
terima kasih kepada semua pihak yang telah banyak memberikan saran dan
masukkan.
Bahan ajar ini diharapkan dapat membantu mahasiswa sebagai referensi
tambahan untuk memahami matakuliah ini. Buku ini terdiri dari materi yang
dirangkum dari beberapa referensi seperti yang terlampir dalam daftar pustaka
terdiri dari Pengantar Kecerdasan Buatan, Sistem Pakar, Jaringan Saraf Tiruan,
Algoritma Genetika, Logika Fuzzy dst.
Penulis sadar bahwa bahan ajar ini belum sempurna dan perlu perbaikan
sesuai dengan perkembangan teknologi khusus dalam bidang ini. Penulis
mengharapkan saran dan masukan agar bahan ajar ini akan lebih baik lagi di masa
akan datang.
ii
IDENTITAS MATA KULIAH
Sasaran Belajar :
Mahasiswa dapat mengetahui konsep kecerdasan buatan, sejarah kecerdasan
buatan dan contoh aplikasi kecerdasan buatan
Mahasiswa mampu mengetahui Metode Pencarian Heuristik
Mahasiswa mampu menjelaskan dan memahami tentang konsep dasar logika
proporsisi baik secara sintaks maupun semantik
Memahami konsep first order logic dan komponen-komponenannya
Menerapkan first-order logic pada pemecahan masalah
Memahami konsep logika fuzzy dan menerapkan pada pemecahan masalah
Memahami konsep Jaringan Syaraf Tiruan dan menerapakan untuk memecahkan
masalah
Memahami konsep Algoritma Genetika dan menerapkan untuk memecahkan
masalah
iii
HALAMAN TERIMA KASIH
iv
DAFTAR ISI
PRAKATA ........................................................................................................................ ii
IDENTITAS MATA KULIAH ...................................................................................... iii
HALAMAN TERIMA KASIH ........................................................................................iv
DAFTAR ISI ..................................................................................................................... v
PERTEMUAN I PENGANTAR KECERDASAN BUATAN ........................................1
I.1 Definisi Kecerdasan Buatan ....................................................................................... 1
I.2 Sejarah Kecerdasan Buatan ........................................................................................ 3
I.3 Tujuan AI ........................................................................................................................... 4
I.4 Arah AI................................................................................................................................ 4
I.5 Contoh aplikasi Kecerdasan Buatan........................................................................ 5
I.6 Latihan ............................................................................................................................... 5
PERTEMUAN II ASUMSI DASAR ...............................................................................6
II.1 Physical Symbol System Hypothesis ...................................................................... 6
II.2 Penyelesaian Masalah berdasarkan teknik AI ................................................... 7
II.3 Pendefinisian Masalah Sebagai Pencarian Ruang Keadaan .......................... 7
II.4 Sistem Produksi ..........................................................................................................10
PERTEMUAN III METODE PENCARIAN I ............................................................ 11
III.1 Algoritma Pencarian Dasar ...................................................................................11
III.2 Strategi Pencarian Uninformed ...........................................................................12
III.3 Breadth-First Search (BFS) ....................................................................................13
III.4 Uniform Cost Search (UCS).....................................................................................14
III.5 Depth-first search (DFS) .........................................................................................14
III.6 Depth Limited Search (DLS) ..................................................................................15
III.7 Iterative Deepening Search (IDS) ........................................................................16
PERTEMUAN IV METODE PENCARIAN II ........................................................... 17
III.1 Definisi Heuristik ......................................................................................................17
III.2 Generate and Test .....................................................................................................17
III.3 HILL CLIMBING ...........................................................................................................18
III.4 Best First Search ........................................................................................................20
PERTEMUAN V NATURAL LANGUAGE PROCESSING ...................................... 22
V.1 Pendahuluan .................................................................................................................22
V.2 Aplikasi dalam bidang natural language ............................................................24
V.3 Grammar ........................................................................................................................25
V.4 Chomsky Hierarchy of Generative Grammar ....................................................27
V.5 Parsing ............................................................................................................................27
PERTEMUAN VI KETIDAKPASTIAN ..................................................................... 29
VI.1 Definisi ketidakpastian ...........................................................................................29
VI.2 Probabilitas Klasik ....................................................................................................30
VI.3 Probabilitas Bersyarat ............................................................................................31
VI.4 Teorema Bayes ...........................................................................................................32
VI.5 Faktor Kepastian.........................................................................................................32
PERTEMUAN VII FIRST ORDER LOGIC ............................................................... 37
v
VII. Definisi First Order Logic.........................................................................................37
VII.2 Sintaks First Order Logic .......................................................................................39
VII.3 Simantik First Order Logic....................................................................................40
VII.4 Equality ........................................................................................................................43
VII.5 Inferensi pada First Order Logic ........................................................................44
PERTEMUAN VIII UJIAN TENGAH SEMESTER.................................................. 45
PERTEMUAN IX SISTEM PAKAR ........................................................................... 47
IX.1 Pendahuluan ...............................................................................................................47
IX.2 Komponen Sistem Pakar .........................................................................................49
IX.3 Pembangunan Sebuah Sistem Pakar ..................................................................51
PERTEMUAN X LOGIKA FUZZY ............................................................................. 56
X.1 Pengenalan Logika Fuzzy .........................................................................................56
X.2 Komponen Dasar Logika Fuzzy ..............................................................................57
PERTEMUAN XI LOGIKA FUZZY II ....................................................................... 64
XI.I Adaptive Neuro-Fuzzy Inference System ...........................................................64
XI.2 Lalu Lintas ....................................................................................................................68
PERTEMUAN XII ALGORITMA GENETIKA ......................................................... 72
XII.1 Pendahuluan ..............................................................................................................72
XII.2 Pengertian Individu ................................................................................................73
XII.3 Nilai Fitness ................................................................................................................75
XII.4 Siklus Algoritma Genetika ...................................................................................75
PERTEMUAN XIII ALGORITMA GENETIKA II ................................................... 77
XIII.1 Komponen-komponen Utama Algoritma Genetika ...................................77
XIII.1.1 Teknik pengkodean ..................................................................................................... 77
XIII.1.2 Membangkitkan populasi awal .............................................................................. 77
XIII.1.3 Seleksi ............................................................................................................................... 79
XIII.1.4 Mutasi ............................................................................................................................... 87
PERTEMUAN XIV JARINGAN SYARAF TIRUAN ................................................. 90
XIV.1 Jaringan Syaraf Biologis .......................................................................................90
XIV.2 Jaringan Syaraf Tiruan ..........................................................................................92
XIV.3 Model Struktur Neuron JST .................................................................................93
PERTEMUAN XV JARINGAN SYARAF TIRUAN II ............................................. 95
XV.1 Arsitektur JST ............................................................................................................95
XV.2 Proses Pembelajaran Jaringan ............................................................................98
X.3 Aplikasi Jaringan Syaraf Tiruan.......................................................................... 101
PERTEMUAN XVI UJIAN AKHIR SEMESTER ................................................... 103
DAFTAR PUSTAKA ................................................................................................. 104
vi
PERTEMUAN I
PENGANTAR KECERDASAN BUATAN
“Upaya untuk membuat komputer dapat berpikir. Mesin dengan pikiran dalam
makna sebenarnya.” (Haugeland, 1985)
Pendekatan pemodelan kognitif:
Untuk menyatakan apakah suatu program komputer dapat berpikir seperti
manusia,haruslah dapat ditentukan bagaimanakah proses manusia berpikir. Untuk
menjawabnya perlu eksperimen psikologi. Jika kita punya cukup pengetahuan
tentang teori pikiran, maka sangat memungkinkan mengekspresikan teori tersebut
dalam program komputer. Pada era 1960an muncul ilmu kognitif sebagai suatu
bidang interdisipliner yang menggabungkan model komputer pada AI dengan
teknik eksperimen pada psikologi untuk membangun teori tentang cara kerja otak
manusia. Ahli komputer menyatakan bahwa algoritma komputer yang berjalan
baik dalam menyelesaikan suatu masalah merupakan model proses berpikir
manusia. Pada akhirnya bidang AI terpisah dari psikologi kognitif. Kedua bidang
tersebut saling mendukung khususnya pada ranah computer vision dan
pemrosesan bahasa alami.
3. Sistem yang berpikir rasional (think rationally)
2
pendekatan penalaran Filosofis Yunani, Aristotles adalah orang pertama yang
berupaya mengkodekan “berpikir dengan benar” atau melalui proses penalaran
(reasoning). Proses ini dikenal dengan silogisme, yaitu suatu struktur/pola
memberikan argument melalui sekumpulan premis yang akan selalu memberikan
konklusi yang benar. Contoh silogisme: Premis 1: Socrates adalah manusia
Premis 2: Semua manusia bisa mati Konklusi: Socrates bisa mati Ilmu yang
mempelajari pendekatan penalaran ini disebut Logika. Para ahli logika di abad ke-
19 membangun notasi standar logika untuk menyatakn seluruh kejadian di dunia
beserta relasinya. Ada beberapa hambatan pada pendekatan logika yaitu:
Tidak mudah untuk memperoleh pengetahuan informal dan
menyatakannya dalam istilah formal (notasi logika).
Mekanisme logika membutuhkan biaya komputasi yang tinggi.
Pemecahan masalah "pada prinsipnya" ≠ pemecahan masalah dalam
praktek.
3
kreatifitas, pengembangan diri, dan penggunaan bahasa. Selain itu juga
karena metodologi AI merupakan cabang dari ilmu komputer yang
berupaya membangun mesin yang berfungsi otonom pada lingkungan
yang kompleks dan berubah-ubah. –
Awal mula AI yang penuh antusias dan harapan besar (1952 – 1969)
Merupakan tahap pengembangan aplikasi AI yang sukses jika dibandingan
dengan program komputer primitif. Banyak aplikasi AI yang berhasil
sehingga memunculkan istilah “evolusi mesin” 4. AI menjadi industry
(1980 – sekarang)
o Aplikasi komersial pertama menggunakan sistem pakar bernama
R1 yang digunakan oleh perusahaan Ameriak (1982).
o Jepang juga membentuk proyek jangka panjang menggunakan
komputer cerdas berbasis Prolog.
Kecerdasan Buatan menjadi disiplin ilmu (1987 – sekarang) 6. AI
menampakkan diri di semua bidang (1995 – sekarang)
I.3 Tujuan AI
1. Untuk mengembangkan metode dan sistem untuk menyelesaikan
masalah,masalah yang biasa diselesaikan melalui aktifivitas intelektual
manusia, misalnya pengolahan citra,perencanaan, peramalan dan lain-
lain, meningkatkan kinerja sistem informasi yang berbasis komputer.
2. Untuk meningkatkan pengertian/pemahaman kita pada bagaimana otak
manusia bekerja
I.4 Arah AI
1. Mengembangkan metode dan sistem untuk menyelesaikan masalah AI
tanpa mengikuti cara manusia menyelesaikannya (sistem pakar / expert
systems)
2. Mengembangkan metode dan sistem untuk menyelesaikan masalah AI
melalui pemodelan cara berpikirnya manusia, atau cara bekerjanya
otak manusia (neural networks).
4
I.5 Contoh aplikasi Kecerdasan Buatan
Beberapa contoh aplikasi kecerdasan buatan yang telah diterapkan:
DEEP BLUE mengalahkan dunia catur Garry Kasparov juara pada tahun
1997. ALVINN mengemudi melintasibenua Amerika (mengemudi
otonom 98% dari total jarak, dari Pittsburgh ke San Diego).
Selama Perang Teluk 1991, penggunaan aplikasi AI untuk perencanaan
logistik dan program penjadwalan yang melibatkan hingga 50.000
kendaraan, kargo, dan pasukan AS.
Program perencanaan otonom milik NASA yang mengontrol penjadwalan
operasi untuk pesawat ruang angkasa.
Proverb, aplikasi AI untuk memecahkan teka-teki silang yang lebih baik
daripada kebanyakan manusia.
I.6 Latihan
Jelaskan istilah pada bidang AI serta berikan beberapa contoh implementasi untuk
masingmasing sub bidang tersebut!
1. Pengolahan Bahasa Alami
2. Knowledge representation
3. Automated Reasoning
4. Machine Learning
5. Computer Vision
6. Robotika
5
PERTEMUAN II
ASUMSI DASAR
Pemrograman AI :
Bila terjadi perubahan dalam program, maka tidak mengganggu seluruh
“Facts” yang tersimpan dalam “Otak” (layaknya pikiran manusia/seperti
informasi yang terdapat pada pikiran manusia)
Independen
Dapat Dimodifikasi tanpa mempengaruhi struktur kesluruhan program
Fleksibel efisien dan mudah untuk dimengerti
6
II.2 Penyelesaian Masalah berdasarkan teknik AI
Empat hal untuk membangun sistem atau memecahkan masalah tertentu :
1. Definisikan masalah dengan jelas
2. Analisis masalah
3. Kumpulkan dan representasikan knowledge
4. Pilih teknik pemecah masalah terbaik dan gunakan untuk masalah tertentu
Mendefinisikan Masalah sebagai “State Space Search” (SSS)
Misalnya permainan catur , maka SSS nya adalah :
Menspesifikasikan posisi awal dari papan catur
Peraturan (rules) yang mendefinisikan langkah-langkah yang legal
Posisi papan yang merepresentasikan pemenang dari satu sisi atau sisi
lainnya.
Tujuan (Goal) dari permainan adalah : memenangkan permainan.
Anda diberi dua buah gelas, yang satu ukuran 4 galon dan yang lain 3 galon.
Kedua gelastidak memiliki skala ukuran. Terdapat pompa yang dapat digunakan
untuk mengisi gelas dengan air. Bagaimana anda mendapatkan tepat 2 galon air di
dalam gelas 4 ukuran galon? Ruang masalah untuk masalah di atas dapat
digambarkan sebagai himpunan pasangan bilangan bulat (x,y) yang terurut,
sedemikian hingga x = 0, 1, 2, 3, atau 4 dan y = 0, 1, 2, atau 3; x menyatakan
jumlah air dalam gelas ukuran 4 galon, dan y menyatakan jumlah air dalam gelas
ukuran 3 galon. Keadaan mula-mula adalah (0,0). State tujuan adalah (2,n) untuk
setiap nilai n. Operator-opeartor (aturan produksi) yang digunakan untuk
memecahkan masalah terlihat pada tabel berikut.
7
1. (x,y) → (4,y) Isi penuh gelas 4 galon
If x < 4
8
11. (0,2) → (2,0) Tuangkan 2 galon air dari
gelas 3 galon ke gelas 4 galon
9
II.4 Sistem Produksi
Sistem produksi terdiri dari:
Himpunan aturan, masing-masing terdiri dari sisi kiri (pola) yang
menentukan kemampuan aplikasi dari aturan tersebut dan sisi kanan yang
menggambarkan operasi yang dilalukan jika aturan dilaksanakan.
Satu atau lebih pengetahuan atau basis data yang berisi informasi apapun
untuk tugas tertentu. Beberapa bagian basis data bisa permanen, dan
bagian yang lain bisa hanya merupakan solusi untuk masalah saat ini.
Informasi dalam basis data ini disusun secara tepat.
Strategi kontrol yang menspesifikasikan urutan dimana aturan akan
dibandingkan dengan basis data dan menspesifikasikan cara pemecahan
masalah yang timbul ketika beberapa aturan sesuai sekaligus pada waktu
yang sama.
A rule applier (pengaplikasi aturan).
Strategi Kontrol
Syarat-syarat strategi kontrol:
cause motion. Perhatikan kembali water jug problem. Jika kita
mengimplementasikan strategi kontrol sederhana dengan selalu memilih
aturan pertama pada daftar 12 aturan yang telah dibuat, maka kita tidak
akan pernah memecahkan masalah. Strategi kontrol yang tidak
menyebabkan motion tidak akan pernah mencapai solusi.
Systematic. Strategi kontrol sederhana yang lain untuk water jug problem:
Pada setiap siklus, pilih secara random aturan-aturan yang dapat
diaplikasikan. Strategi ini lebih baik dari yang pertama, karena
menyebabkan motion. Pada akhirnya strategi tersebut akan mencapai
solusi. Tetapi mungkin kita akan mengunjungi beberapa state yang sama
selama proses tersebut dan mungkin menggunakan lebih banyak langkah
dari jumlah langkah yang diperlukan. ini disebabkan strategi kontrol
tersebut tidak sistematik. Beberapa strategi kontrol yang sistematik telah
diusulkan, yang biasa disebut sebagai metode dalam teknik searching.
10
PERTEMUAN III
METODE PENCARIAN I
Ide dasar : Eksplorasi secara offline, simulasi state space dengan menghasilkan
turunan dari state yang sudah dieksplorasi (dikenal sebagai expanding state).
Terdapat empat kriteria dalam strategi pencarian, yaitu:
Completeness: Apakah strategi tersebut menjamin penemuan solusi jika
solusinya memang ada?
Time complexity: Berapa lama waktu yang diperlukan?
Space complexity: Berapa banyak memori yang diperlukan?
Optimality: Apakah strategi tersebut menemukan solusi yang paling baik
jika terdapat beberapa solusi berbeda pada permasalahan yang ada?
11
General tree search
Breadth-first search
Uniform-cost search
12
Depth-first search
Depth-limited search
Iterative Deepening search
Properti BFS
Lengkap? Ya( jika b adalah terbatas)
Waktu?
13
III.4 Uniform Cost Search (UCS)
Sama seperti BFS dengan tambahan pembentukan tree diurutkan
berdasarkan cost yang paling murah/least cost
Urutan ekspansi seperti BFS
Implementasi: tree/queue diurutkan berdasarkan least-cost
Lengkap? Ya, jika biaya langkah ≥ 𝜀
𝐶∗⁄ )
Waktu? Jumlah node dengan 𝑔 ≤ biaya solusi optimal, 𝑂 (𝑏 𝑐𝑒𝑖𝑙𝑖𝑛𝑔( 𝜀 )
14
Urutan ekspansi dari A ke M: A-B-D-H-I-E-J-K-C-F-L-M
Properti BFS:
15
III.7 Iterative Deepening Search (IDS)
Prinsip dari strategi ini adalah melakukan pencarian DLS secara bertahap
dengan nilai l yang ditambahkan pada setiap iterasinya.
Strategi ini mengkombinasikan keuntungan BFS dan DFS (kelengkapan
dan kompleksitas ruang linear dijamin). Lakukan pencarian DLS dengan l
= 0,1,2, ... sampai tidak cutoff
Properti IDS
Lengkap? Ya
0 1 2 d d
Waktu?((d+1)b + d b + (d-1)b + ... + b = O(b )
Space? O (bd)
Optimal? Ya, jika step cost= 1
16
PERTEMUAN IV
METODE PENCARIAN II
17
4. Jika pembangkitan atau pembuatan solusi–solusi yang dimungkinkan
dapat dilakukan secara sistematis, maka prosedur ini akan dapat segera
menemukan solusinya, (bila ada).
5. Namun, jika ruang problem sangat besar, maka proses ini akan
membutuhkan waktu yang lama, sehingga metode generate and test ini kurang
efisien untuk masalah yang besar atau kompleks. Kelemahan metode Generate
and Test:
Membangkitkan semua kemungkinan sebelum dilakukan pengujian
Membutuhkan waktu yang cukup besar dalam pencariannya
Kelemahan metode Generate and Test:
Membangkitkan semua kemungkinan sebelum dilakukan pengujian
Membutuhkan waktu yang cukup besar dalam pencariannya
Algoritma :
1. Mulai keadaan awal, lakukan pengujian: jika tujuan maka stop, jika tidak
maka lanjuntukan dengan keadaan sekarang sebagai keadaan awal.
2. Ulangi langkah berikutnya hingga solusi ditemukan atau sampai tidak ada
operator baru yang diaplikasikan pada keadaan sekarang:
Pilih operator yang belum pernah digunakan, gunakan operator
untukmendapatkan keadaan yang baru
Evaluasi keadaan baru tersebut :
i Jika keadaan baru adalah tujuan, keluar
ii Jika tidak, namun nilainya lebih baik dari keadaan sekarang, maka
jadikan keadaan baru tersebutmenjadi keadaan sekarang
18
iii Jika keadaan baru tidaklebih baik daripada keadaan sekarang,
makalanjuntukan iterasi
Masalah yang akan timbul pada prosedur Hill Climbing :
Local optimum : adalah suatu keadaan yang lebih baik daripada semua
tetangganya namun masih belum lebih baik dari suatu keadaan lain yang
jauh letaknya darinya
Sering muncul ketika sudah mendekati solusi
Plateau ( daratan) : adalah suatu daerah datar dari ruang pencarian (search)
dimana keadaan semua tetangga sma dengan keadaan dirinya.
Ridengane (Punggung) : local optimum yang lbh disebabkan karena
ketidak mampuan untuk menggunakan 2 operator sekaligus.
Solusinya
1. Melakukan langkah balik (backtracking) ke simpul yang lebih awal dan
mencoba bergerak ke arah yang lain.
2. Melakukan lompatan besar ke suatu arah untuk mencoba bagian ruang
pencarian yang baru.
3. Menerapkan dua atau lebih aturan sebelum melakukan uji coba. Ini
bersesuaian dengan bergerak ke beberapa arah sekaligus.
Kelemahan Simple Hill Climbing :
1. Tidak semua solusi dapat ditemukan seperti pada metode generate and test
2. Pembatasan kombinasi operator ( penemuan solusi yang tidak maksimal)
Steepest-Ascent Hill Climbing
19
Algoritma :
1. Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka
berhenti; dan
jika tidak, lanjuntukan dengan keadaan sekarang sebagai
keadaan awal.
2. Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan
perubahan pada
keadaan sekarang.
a. Tentukan SUCC sebagai nilai heuristik terbaik dari successor-
successor.
b. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang:
Gunakan operator tersebut dan bentuk keadaan baru.
Evaluasi keadaan baru tersebut. Jika merupakan tujuan, keluar .
Jika bukan, bandingkan nilai heuristiknya dengan SUCC. Jika
lebih baik, jadikan nilai heuristic keadaan baru tersebut sebagai
SUCC. Namun jika tidak lebih baik, nilai SUCC tidak berubah.
c. Jika SUCC lebih baik daripada nilai heuristik keadaan sekarang, ubah
node SUCC menjadi keadaan sekarang.
Pada steepest-ascent hill climbing ini, ada 3 masalah yang mungkin, yaitu:
1. Local optimum: keadaan semua tetangga lebih buruk atau sama dengan
keadaan
dirinya.
2. Plateau: keadaan semua tetangga sama dengan keadaan dirinya.
3. Ridengane: local optimum yang lebih disebabkan karena ketidakmampuan
untuk
menggunakan 2 operator sekaligus.
20
Kecerdasan buatan / MateriKuliah Brawijaya University 2012
o Dari ACBD ini akan dipilih nilai heuristik terbaik dari succesornya yaitu: CABD(15),
ABCD(19), ACDB(13), DCBA(19), ADBC(16) atau BCAD(15). Ternyata dari keenam
successor tersebut memiliki nilai heuristik yang lebih besar disbanding dengan ACBD.
o Sehingga tidak
Bestakan
First ada perubahan
Search nilai keadaan
akan membangkitkan node(tetap ACDB).
berikutnya Hasil yang
dari semua node diperoleh,
lintasannya adalah ACBD (12).
yang pernah
dibangkitkan
Hill climbing tidak diperbolehkan untuk kembali ke node pada lebih rendah
4. BEST FIRST SEARCH
meskipun
node tersebut memiliki nilai heuristik lebih baik.
Merupakan kombinasi kelebihan teknik depth first search dan breadth first search
Pencarian Pada best first search,
diperkenankan pencarian diperbolehkan
mengunjungi node yang ada mengunjungi node dilebih
di level yang lebih rendah jika
ternyata node pada level yang lebih tinggi ternyata memiliki nilai heuristik
rendah, jika
ternyata node di level lebih tinggi memiliki nilai heuristik yang buruk
Best First Search akan membangkitkan node berikutnya dari semua node yang pernah
dibangkitkanlebih buruk.
Hill climbing tidak diperbolehkan untuk kembali ke node pada lebih rendah meskipun
node Pada
tersebut memiliki
metode nilai
Best First heuristik
Search lebih baik.
cara untuk menentukan sebuah node terbaik saat
Pada best first search, pencarian diperbolehkan mengunjungi node di lebih rendah, jika
inidengan
ternyata node menggunakan
di level lebihbiaya [Link]
tinggi memiliki nilaiperkiraan dapat
heuristik ditentukan
lebih buruk. dengan
fungsi heuristic. Suatu fungsi heuristic dikatakan baik jika bisa memberikan biaya
Pada metode Best First Search cara untuk menentukan sebuah node terbaik saat
inidengan menggunakan
perkiraan biaya perkiraan.
yang mendekati biaya Biaya perkiraan dapatmendekati
[Link] ditentukanbiaya
dengan fungsi
heuristic. Suatu fungsi heuristic dikatakan baik jika bisa memberikan biaya perkiraan
sebenarnya, fungsi heuristic tersebut semakin baik.
Dalam kasus pencarian rute
yang mendekati biaya [Link] mendekati biaya sebenarnya, fungsi heuristic
tersebutterpendek,
semakin baik.
biaya sebenarnya adalah panjang jalanRaya yang sebenarnya.
Sedangkan fungsi heuristiknya adalah garis lurus dari1 kota ke kota lainnya.
Dalam kasus pencarian rute terpendek, biaya sebenarnya adalah panjang jalanRaya yang
sebenarnya. Sedangkan fungsi heuristiknya adalah garis lurus dari1 kota ke kota lainnya.
Pada modul ini diperkenalkan 2 algoritma yang tergolong Best First Search yaitu :
1. Greedy Best First Search
2. Algoritma A*
21
Page 32 of 98
PERTEMUAN V
NATURAL LANGUAGE PROCESSING
V.1 Pendahuluan
Bahasa sebagai bagian yang terpenting dari kehidupan manusua, dalam
bentuk tulis dapat merupakan catatatan dari pengetahuan yang didapat oleh
manusia dari satu generasi ke generasi berikutnya sedangkan dalam bentuk lisan
merupakan sarana komunikasi antar individu dalam suatu masyarakat. Tujuan
dalam bidan natural language ini adalah melakukan proses pembuatan model
komputasi dari bahasa sehingga dapat terjadi suatu interaksi antara manusia
dengan komputer dengan perantaraan bahasa alami. Model komputasi ini dapat
diguanakn untuk keperluan ilmiah misalnya meneliti sifat-sifat dari suatu bentuk
bahasa alamai maupun unutk keperluan sehari-hari dalam hal ini memudahkan
komunikasi antara manusia dengan komputer.
Sebuah Natural Language system harus memperhatikan pengetahuan
terhadap bahasa itu sendiri, baik dari segi kata yang digunakan, bagaimana kata-
kata tersebut digabung untuk menghasilkan suatu kalimat, apa arti sebuah kata,
apa fungsi sebuah kata dalam sebuah kalimat dan sebagainya. Akan tetapi kita
juga harus mempertimbangkan ada satu hal lagi yang sangat berperan dalam
bahasa, yaitu kemampuan manusia untuk mengerti dan kemampuan untuk itu
didapat dari pengetahuan yang didapat secara terus-menerus sewaktu hidup.
Sebagai contoh dalam suatu percakapan, seseorang mungkin dapat menjawab
suatu pertanyaan atau ikut dalam suatu percakapan, seseorang mungkin dapat
menjawab suatu pertanyaan atau ikut dalam suatu percakapan, seseorang mungkin
dapat menjawab suatu pertanyaan atau ikut dalam suatu percakapan dengan tidah
hanay berdasar pada kemampuan berbahasa tapi juga harus tahu misalnya kata
istilah yang umum digunakan dalam kelompok percakapan itu atau bahkan harus
tahu konteks dari percakapan itu sendiri.
Bidang pengetahuan dalam natural language
Secara singkat pengolahan bahasa alami ( natural language processing) mengenal
beberapa tingkat pengolahan yaitu :
22
1. Fonetik dan fonologi : berhubungan dengan suara yang menghasilkan
kata yang dapat dikenali. Bidang ini menjadi penting dalam proses aplikasi
yang memakai metoda speech based system.
2. Morfologi : yaitu pengetahuan tentang kata dan bentuknya dimanfaatkan
untuk membedakan satu kata dengan lainnya. Pada tingkat ini juga dapat
dipisahkan antara kata dan elemen lain seperti tanda baca. Sebagai contoh
kata going :
going (word)
go ( root)
ing (suffix)
kata understand :
under ( prefix)
stand ( root)
3. Sintaksis : yaitu pemahaman tentang urutan kata dalam pembentukan
kalimat dan hubungan antar kata tersebut dalam proses perubahaan bentuk
dari kalimat menjadi bentuk yang sistematis. Meliputi proses pengaturan
tata letak suatu kata dalam kalimat akan membentuk kalimat yang dapat
dikenali. Selain itu dapt pula dikenali bagian-bagian kalimat dalam suatu
kalimat yang lebih besar. Sebagai contoh kalimat S dibentuk dari noun
phrase (NP ) dan verb phrase (VP)
S NP, VP
Dan berikutnya :
NP DET, N
VP V, NP
NP N
4. Semantik : yaitu pemetaan bentuk struktur sintaksis dengan
memanfaatkan tiap kata kedalam bentuk yang lebih mendasar dan tidak
tergantung struktur kalimat. Semantik mempelajari arti suatu kata dan
bagaiman dari arti kata-arti kata tersebut membentuk suatu arti dari
kalimat yang utuh. Dalam tingkatan ini belum mencakup konteks dari
kalimat tersebut.
23
5. Pragmatik : pengetahuan pada tingkatan ini berkaitan dengan masing-
masing konteks yang berbeda tergantung pada situasi dan tujuan
pembuatan sistem
6. Discourse knowledge : melakukan pengenalan apakah suatu kalimat yang
sudah dibaca dan dikenali sebelumnya akan mempengaruhi arti dari
kalimat selanjutnya. Informasi ini penting diketahui untuk melakukan
pengolahan arti terhadap kata ganti orang dan untuk mengartikan aspek
sementara dari informasi.
7. World Knowledge : mencakup arti sebuah kata secara umum dan apakah
ada arti khusus bagi suatu kata dalam suatu percakapan dengan konteks
tertentu.
Definisi ini tidaklah bersifat kaku, dan untuk setiap bentuk bahasa alami
yang ada biasanya ada pendefinisian lagi yang lebih spesifik sesuai dengan
karakter bahasa tersebut. Pada beberapa masalah mungkin hanya mengambil
beberapa dari pendekatan tersebut bahkan mungkin ada yang melakukan
tambahan proses sesuai dengan karakter dari bahasa yang digunakan dan sistem
yang dibentuk.
Selain yang sudah disebutkan diatas masih ada lagi satu masalah yang cukup
menantang dalam Natural Language yaitu ambiguitas atau makna ganda dari suatu
kata atau kalimat. Dari satu masukan yang sama dapat menjadi beberapa arti yang
berbeda dan masing-masing dapat bernilai benar tergantung pad keperluan
pemakai. Hal ini dapat terjadi pada hampir semua tingkatan pendekatan diatas.
24
b. Mencari isi dari surat atau email
c. Menterjemahkan dokumen dari satu bahasa ke bahasa yang lain.
Akan tetapi tidak semua system yang dapat melakukan hal-hal seperti di atas
menggunakan pendekatan natural language, karena seperti misalnya contoh
pencarian topik dari suatu buku diperpustakaan dapat didekati dengan sistem
database yang cukup lengkap. Tetapi kalau dihadapkan pada pertanyaan yang
cukup kompleks dengan bahasa alamai yang ada maka akan diraskan bahwa
pendekatan dengan natural language lebih efisien. Salah satu bentuk yan guckup
menarik adalah apabila sistem diminta untuk mencari isu dari suatu berita atau
artikel, untuk hal ini pendekatan yang dilakukan hampir serupa dengan
pendekatan yang dilakukan manusia apabila menghadapi suatu tes reading dan
comprehension. Bentuk berikutnya adalah bentuk dialogue-based application.
Idealnya pedekatan ini melibatkan bahasa lisan atau pengenalan suara, akan tetapi
bidang ini juga memasukkan interaksi dengan cara memasukkan teks pertanyaan
melalui keyboard. Aplikasi yang sering ditemui untuk bidang ini adalah :
a. Sistem tanya jawab, dimana natural language digunakan dalam
mendapatkan informasi dari suatu database
b. Sistem otomatis pelayanan melalui telepon
c. Control suara pada peralatan elektronik
d. Sistem problem-solving yang membantu untuk melakukan penyelesaian
masalah yang umum dihadapi dalam suatu pekerjaan.
Sebelumnya perlu diberikan batasan bahwa untuk sistem yang dapat melakukan
interaksi melalui bahasa lisan ada bagian speech recognation yang merupakan
bagian terpisah dari Natural language.
V.3 Grammar
Grammar suatu bahasa dapat dilihat sebagai suatu aturan yang menentukan
apakah suatu kumpulan kata dapat diterima sebagai kalimat oleh bahasa tersebut.
Grammar dari Chomsky Hierarchy yaitu context free grammar memiliki sifat
lebih mudah dipahami perilakunay dan pengolahannya serta masih dapat diolah
25
dalam bentuk program yang terstruktur. Sebuah bahasa L dapat dijelaskan sebagai
set dari string, dimana string dibetnuk dari bagian terkecil yang disebut symbol.
Kelompok tertentu v dari symbol biasa dikenal sebagai alfabet atau
perbendaharaan kata. Sebuah kalimat yang dapat dikenali dibentuk dengan
berdasarkan aturan-aturan yang ada yang biasa disebut grammar. Sebuah grammar
G dapat dibentuk dari 4 tupel yaitu :
a. Simbol non terminal
b. Simbol terminal
c. Simbol awal
d. Aturan penulisan atau (rules).
Definisinya adalah :
G = (vn , vt, s. p)
Sebagai contoh dapat kita lihat dari grammar G sederhana berikut ini :
DicJenis = {kata_benda, kata_kerja, Frasa_benda, Frasa_kerja, Keterangan}
DicKata = {Orang, makan, telur, ayam, terbang, tinggi}
Dengan aturan :
S Frasa_Benda Frasa_Kerja
Frasa_Benda Kata_Benda Kata_Benda
Frasa_Kerja Kata_Kerja keterangan
Kata_Benda { Orang, Telur, Ayam}
Kata_kerja {Makan, Terbang}
Keterangan {Tinggi}
Dari grammar G dapat dibentuk kalimat :
Orang makan ayam
Ayam terbang tinggi
Orang Terbang tinggi
Ayam Makan Orang
26
yang benar hanya berarti benar secara struktural bukan berarti selalu benar dalam
makna. Seperti kalimat ketiga yang hanya benar apabila berada dalam konteks
‘orang memakai alat’ misalnya pesawat terbang. Sedangkan kalimat keempat
malah sama sekali tidak mungkin dapat dimengerti maknanya, selain hanya kan
menimbulkan tanda tanya bagi orang yang membaca. Dari grammar kita dapat
mempelajari bahasa dari segi strukutur dan bukan dari segi makna bahasa itu
sendiri.
Noam chomsky menyusun grammar dalam urutan yang dia sebut tipe
0,1,2, dan 3. Tipe 0 adalah bentuk yang paling bebas dan paling sulit dikenali,
biasa disebut recursively enumerable set, untuk mengenali bentuk ini biasa
dipakai turing machine. Berikutnya adalah tipe 1 yang disebut context sensivitve
grammar. Type 2 dari grammar yaitu context free grammar dinyatakan dengan
aturan umum yaitu :
<symbol1> <symbol1>…<symbolk> dengan k >= 1 dan bagian kiri dari ruel
adalah single non terminal symbol. Grammar tipe 3 bernama finite state atau
regular grammar, tipe ini paling sederhana dan mudah dipahami sifatanya.
Secara umum dikatakan bahwa pemakaian context free grammar secara murni
adalah tidak cukup untuk pengolahan bahasa alami. Akan tetapi karena bentuk
context free dan regular grammar tersebut yang paling dipahami perilaku dan
pengolahannya, maka beberapa cara telah dikembangkan untuk dapat melakukan
pengolahan bahasa alami dengan bentuk grammar berikut.
V.5 Parsing
27
dan informasi yang diperlukan untuk tiap kata tersebut untuk proses parsing yang
bersangkutan.
Dari pendekatan dalam mengenali struktur suatu kalimat, proses parsing
dapat dibagi menjadi dua bagian besar yaitu top down parsing dan bottom up
parsing. Top Down parser memulai pemeriksaan dari simbol awal s dan mencoba
untuk mencari bentuk simbol terminal berikutnya yang sesuai dengan jenis kata
dari kalimat masukan. Cara sebaliknya diterapkan Bottom up parser yaitu mencari
simbol-simbol terminal menuju ke arah pembentukan simbol awal s.
28
PERTEMUAN VI
KETIDAKPASTIAN
Probabilitas Klasik
Probabilitas Bayes
Teori Hartley yang berdasarkan pada himpunan klasik
Teori Shanon yang didasarkan pada peluang
Teori Dempster-Shafer
Teori Fuzzy Zadeh
IF badan_demam(pasien) AND
29
Berdasarkan aturan diatas, terlihat bahwa jika ada pasien yang mengalami ketiga
jenis gejala tersebut maka akan dideteksi bahwa pasien menderita penyakit tifus.
Akan tetapi pada dunia nyata ketika terdapat gejala-gejala tersebut memenuhi
belum tentu penyakit yang diderita adalah tifus. Bisa jadi penyakit lain memiliki
gejala yang sama sehingga bisa terjadi kesalahan diagnosa. Bagaimana jika derajat
gejala yang dialami seorang pasien dengan
pasien lainnya bisa jadi berbeda.
Kemungkinan-kemungkinan kesalahan yang ada tersebut bisa jadi terjadi dan
merupakan hal ketidakpastian dan kesamaran pengetahuan dalam permasalahan
ini.
𝑊
𝑃=
𝑁
Dimana :
Contoh permasalahan adalah pelemparan dadu yang memiliki 6 sisi dan memiliki
6 kemungkinan. Maka peluang-peluang yang mungkin adalah
1
𝑃(1) =
6
1
𝑃(2) =
6
1
𝑃(3) =
6
30
1
𝑃(4) =
6
1
𝑃(5) =
6
I. 𝟎 ≤ 𝑷(𝑬) ≤ 𝟏
II. ∑ 𝐸𝑖 = 1
𝑃(𝐸) + 𝑃(𝐸 ′ ) = 1
31
𝑃(𝐴 ∩ 𝐵)
𝑃(𝐸1 |𝐸2 ) =
𝑃(𝐵)
Untuk 𝐵 ≠ 0
Pada contoh diatas tersebut dapat dibaca sebagai peluang A dengan syarat B
𝑃(𝐴|𝐵)𝑃(𝐴)
𝑃(𝐴|𝐵) =
𝑃(𝐵)
32
MB = Measure of Belief (tingkat keyakinan), adalah ukuran kenaikan dari
kepercayaan hipotesis H dipengaruhi oleh fakta E.
MD = Measure of Disbelief (tingkat tidakyakinan), adalah kenaikan dari
ketidakpercayaan hipotesis H dipengaruhi fakta E.
E = Evidence(peristiwa ataua fakta).
Contoh :
jika seorang pasien mempunyai gejala tertentu yang mengindikasikan beberapa
kemungkinan penyakit, maka penyakit dengan CF tertinggi menjadi urutan
pertama dalam urutan pengujian
Ukuran kepercayaan dan ketidakpercayaan didefinisikan dalam
probabilitas sebagai berikut:
Karakteristik Nilai
Jangkauan 0 ≤ MB ≤ 1
0 ≤ MD ≤ 1
-1 ≤ CF ≤ 1
P(H|E) = 1 MD = 0
33
CF = 1
P(H’|E) = 1 MD = 1
CF = -1
Kekurangan fakta MB = 0
P(H|E) = P(H) MD = 0
CF = 0
Formulanya :
CF(H,E) + CF(H’,E) = 0
34
Contoh :
Seorang calon karyawan akan diterima jika mendapatkan nilai 80 untuk tes
kemampuan
Jawab : Saya pastikan 75% bahwa saya akan diterima bekerja jika saya
memperoleh nilai 80 untuk tes kemampuan.
Jawab : Saya pastikan -75% bahwa saya tidak akan diterima bekerja jika saya
memperoleh nilai 80 untuk tes kemampuan
Definisi asli dari CF adalah : CF = MB – MD. Tahun 1977 definisi asli tersebut
diubah dalam MYCIN menjadi :
MB − MD
𝐶𝐹 =
1 – min(MB, MD)
Contoh :
35
E3) OR (E4 AND NOT E5).
IF E THEN H
Adalah:
Dimana:
CF(H,E) : faktor kepastian dalam hipotesa dengan asumsi bahwa fakta diketahui
dengan pasti, bila CF(E,e)=1 CF(H,e) : faktor kepastian hipotesis yang
didasarkanpada ketidakpastian fakta e.
Jika semua fakta dalam antecedent diketahui dengan pasti rumus faktor
kepastiannya menjadi : CF(H,e) = CF(E,e) , karena CF (E,e) = 1
36
PERTEMUAN VII
FIRST ORDER LOGIC
Properties : sifat yang dimiliki oleh objek dan merupakan pembeda dengan
objek lainnya (merah, besar, lingkaran, ...).
Relations : aksi atau aktifitas yang menjadi penghubung antar objek dalam
berelasi (saudara dari, lebih tinggi dari, bagian dari).
Functions : merupakan relation yang memiliki satu nilai (ayah dari, teman
baik,...).
37
Logic Ontological Epistemological
Propositional logic Facts True/False/unknown
First-order logic Facts, objects, relations, times True/false/unknown
Temporal logic Facts, objects, relations, times True/false/unknown
Probability theory Facts Degree of believe 0..1
Fuzzy logic Degree of truth Degree of believe 0..1
Elemen-elemen dasar terkecil yang dimiliki oleh first order logic adalah sebagai
berikut :
38
sesuatu yang bersifat umumdan Existential quantifier (∃) yang
menyatakan sesuatu yang berlaku sebagian saja.
Merupakan ekspresi logika yang mengacu pada sebuah objek. Terms bisa berupa
constant, variable, atau function. Penulisan term dapat dilihat pada contoh di
bawah ini :
Terms
function (term1,…,termn)
atau
constant
atau
variable
Atomic sentences
Atomic sentences
predicate (term1,…,termn)
atau
term1 = term2
Merupakan kalimat kompleks yang tersusun dari beberapa atomic sentence yang
saling terhubung berdasarkan logika dengan menggunakan connective. Bentuk
39
penulisan dari complex sentences adalah sebagai berikut :
Complex sentences
Predicate1 (term1,termn) predicate2(term3)
¬S,S1∧S2,S1∨S2,S1⇒S2,S1⇔S2
Saudara(Ahmad,Andi)⇒Saudara(Andi,Ahmad)
>(1, 2) ∨ ≤(1, 2)
>(1, 2) ∧ ¬>(1, 2)
40
Kecerdasan buatan / MateriKuliah Brawi
order logic terdiri dari :
function
function merupakan hubungan yang hanya membutuhkan s
objek, contoh pada ilustrasi adalah kaki digunakan oleh orang
function
function
Ilustrasimerupakan hubungan
menggambarkan yang hanya
ada seorang raja danmembutuhkan satukita
orang biasa, dapat nilai untuk satu
ambil
objek, contoh pada ilustrasi adalah kaki digunakan oleh orang untuk berjalan.
contoh objek yang ada adalah relation
orang, raja, kaki raja dan kaki orang. Objek
menyatakan
memiliki identitas tertentu yang hubungan
nantinya akan antarlogika.
melalui proses objek yang memiliki relasi ter
ilustrasi terdapat relasi saudara antara orang dan raja.
b. Function
relation
menyatakan hubungan
Function merupakan 2.4 Quantifiers
antar
hubungan objek yang membutuhkan
yang hanya memiliki relasi
satutertentu,
nilai untukpada
satu gambar
ilustrasi terdapat relasi saudara antara orang dan raja.
Universal quantifiers
Page 64 of 98
41
2.4 Quantifiers
memiliki
contoh objekidentitas
yang adatertentu yang
adalah nantinya
orang, raja,akan
kakimelalui proses
raja dan kakilogika.
orang. Objek
memiliki identitas tertentu yang nantinya akan melalui proses logika.
function
function
function merupakan hubungan yang hanya membutuhkan satu nilai untuk satu
objek, contoh pada ilustrasi adalah digunakan oleh orang untuk berjalan
function
objek,merupakan
contoh pada hubungan yang hanya
ilustrasi adalah membutuhkan
kaki digunakan satu nilai
oleh orang untuk
untuk satu
berjalan.
objek, contoh pada ilustrasi adalah kaki digunakan oleh orang untuk berjalan.
relation
relation c. Relationhubungan antar objek yang memiliki relasi tertentu, pada gambar
menyatakan
menyatakan hubungan
ilustrasi terdapat antar
relasi objekantara
saudara yang memiliki
orang dan relasi
[Link], pada gambar
Menyatakan
ilustrasi hubungan
terdapat antar objek
relasi saudara yang memiliki
antara orang danrelasi tertentu, pada gambar
raja.
ilustrasi terdapat relasi saudara antara orang dan raja.
2.4 Quantifiers
2.4 Quantifiers
Universal quantifiers
Universal quantifiers
VII.4 Quantifiers Page 64 of 98
Universal quantifiers Page 64 of 98
AnakKecil(Budi)⇒Suka(Budi,Permen)∧
AnakKecil(Rahmad)⇒Suka(Rahmad,Permen)∧
AnakKecil(Anton) ⇒Suka(Anton,Permen)∧
42
Hal-hal yang harus dihindari pada penggunaan Quantifier Universal adalah
yang ambigu.
Existential quantifiers
∃x AnakKecil(x) ∧ SukaPermen(x).
VII.4 Equality
Equality merupakan pembandingan terhadap dua kalimat atau term yang memiliki
nilai logika true atau false. Kedua kalimat dianggap sama jika memiliki nilai
logika yang sama. Term1 =Term2 akan diinterpretasikan benar jika dan hanya jika
memiliki nilai yang sama. Contoh bentuk dari equality adalah sebagai berikut :
Equality
x,ySaudara(x,y)[(x=y)m,f(m=f)OrangTua(m,x)OrangTua(f,x)Orang
Tua (m,y)OrangTua (f,y)]
43
VII.5 Inferensi pada First Order Logic
Proses inferensi pada first order logic menggunakan 7 aturan inferensi yang
digunakan pada propositional logic, dengan ditambah aturan yang lebih kompleks
sehubungan dengan quantifiers, sebagai berikut:
1. Inference Rules Involving Quantifiers
Untuk setiap sentences 𝛼 , variabel v, dan ground term (term yang tidak bersisi
variabel) g:
∀𝑣 𝛼
𝑆𝑈𝐵𝑆𝑇({𝑣/𝑔}, 𝑎)
Dari ∀𝑣 Suka (x, Membaca), dapat digunakan substiutsi {x/andi} dan melakukan
inferensi bahwa Suka(Andi, Membaca)
3. Existential Elimination
Untuk setiap sentence 𝛼 , variable v, dan simbol konstanta k yang tidak tampak
dimanapun di dalam basis pengetahuan:
∋𝑣𝛼
𝑆𝑈𝐵𝑆𝑇({𝑣/𝑘}, 𝛼)
Dari ∋ 𝑥 Membunuh(x,korban), kita dapat menyimpulkan
Membunuh{penjahat, korban}, selama penjahat tidaktampak dimanapun di
dalam basis pengetahuan
4. Existential Introduction
Untuk setiap sentence 𝛼, variable v yang tidak terjadi pada 𝛼, dan ground term g
yang terjadi pada 𝛼 :
𝛼
∋ 𝑣 𝑆𝑈𝐵𝑆𝑇({𝑔/𝑣}, 𝛼)
Dari suka(budi, membaca) kita dapat menyimpulkan ∋ 𝑥 suka(𝑥, 𝑀𝑒𝑚𝑏𝑎𝑐𝑎)
44
PERTEMUAN VIII
UJIAN TENGAH SEMESTER
Soal
1. Apa yang dimaksud dengan kecerdasan buatan? Bagaimana sebuah
aplikasi/program dapat disebut cerdas?
2. Dimisalkan pengkodean yang dihasilkan dari penerimaan pengetahuan
sebagai berikut :
P1 = demam biasa
P2 = batuk biasa
P3 = influensa/infeksi virus
P4 = batuk rejan
P5 = infeksi saluran nafas
45
3. Selesaikan kasus ini menggunakan representasi pengetahuan
dengan teknik logika Kasus.
Setiap mangga atau apel adalah buah
Setiap buah punya warna merah atau kuning atau biru
Tidak ada buah yang manis berwarna merah
Tidak ada mangga berwarna biru
Pertanyaannya :
Benarkah “ Jika mangga tidak kuning maka mangga tidak manis ?”
Buktikan !
46
PERTEMUAN IX
SISTEM PAKAR
IX.1 Pendahuluan
Ketika hendak membuat suatu keputusan yang komplek atau memecahkan
masalah, seringkali kita meminta nasehat atau berkonsultasi dengan seorang pakar
atau ahli. Seorang pakar adalah seseorang yang mempunyai pengetahuan dan
pengalaman spesifik dalam suatu bidang; misalnya pakar komputer, pakar uji tak
merusak, pakar politik dan lain-lain. Semakin tidak terstruktur situasinya, semakin
mengkhusus (dan mahal) konsultasi yang dibutuhkan.
Sistem Pakar (Expert System) adalah usaha untuk menirukan seorang
pakar. Biasanya Sistem Pakar berupa perangkat lunak pengambil keputusan yang
mampu mencapai tingkat performa yang sebanding seorang pakar dalam bidang
problem yang khusus dan sempit. Ide dasarnya adalah: kepakaran ditransfer dari
seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang
ada disimpan dalam komputer, dan pengguna dapat berkonsultasi pada komputer
itu untuk suatu nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan,
mendeduksi, dll.) seperti layaknya seorang pakar, kemudian menjelaskannya ke
pengguna tersebut, bila perlu dengan alasanalasannya. Sistem Pakar malahan
terkadang lebih baik unjuk kerjanya daripada seorang pakar manusia!
Kepakaran (expertise) adalah pengetahuan yang ekstensif (meluas) dan
spesifik yang diperoleh melalui rangkaian pelatihan, membaca, dan pengalaman.
Pengetahuan membuat pakar dapat mengambil keputusan secara lebih baik dan
lebih cepat daripada nonpakar dalam memecahkan problem yang kompleks.
Kepakaran mempunyai sifat berjenjang, pakar top memiliki pengetahuan lebih
banyak daripada pakar yunior.
Tujuan Sistem Pakar adalah untuk mentransfer kepakaran dari seorang
pakar ke komputer, kemudian ke orang lain (yang bukan pakar). Proses ini
tercakup dalam rekayasa pengetahuan (knowledge engineering) yang akan dibahas
kemudian.
47
Manfaat dan Keterbatasan Sistem Pakar
1. Manfaat Sistem Pakar
Mengapa Sistem Pakar menjadi sangat populer? Hal ini disebabkan oleh
sangat banyaknya kemampuan dan manfaat yang diberikan oleh Sistem Pakar, di
antaranya:
a. Meningkatkan output dan produktivitas, karena Sistem Pakar dapat
bekerja lebih cepat dari manusia.
b. Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan
mengurangi kesalahan.
c. Mampu menangkap kepakaran yang sangat terbatas.
f. Handal. Sistem Pakar tidak pernah menjadi bosan dan kelelahan atau
sakit. Sistem Pakar juga secara konsisten melihat semua detil dan tidak
akan melewatkan informasi yang relevan dan solusi yang potensial.
g. Meningkatkan kapabilitas sistem terkomputerisasi yang lain. Integrasi
Sistem Pakar dengan sistem komputer lain membuat lebih efektif, dan
mencakup lebih banyak aplikasi .
h. Mampu bekerja dengan informasi yang tidak lengkap atau tidak pasti.
Berbeda dengan sistem komputer konvensional, Sistem Pakar dapat
bekerja dengan inofrmasi yang tidak lengkap. Pengguna dapat
merespon dengan: “tidak tahu” atau “tidak yakin” pada satu atau lebih
pertanyaan selama konsultasi, dan Sistem Pakar tetap akan
memberikan jawabannya.
i. Mampu menyediakan pelatihan. Pengguna pemula yang bekerja
dengan Sistem Pakar akan menjadi lebih berpengalaman. Fasilitas
penjelas dapat berfungsi sebagai guru.
j. Meningkatkan kemampuan problem solving, karena mengambil
sumber pengetahuan dari banyak pakar.
k. Meniadakan kebutuhan perangkat yang mahal.
48
l. Fleksibel.
c. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa
berbedabeda, meskipun sama-sama benar.
d. Adalah sangat sulit bagi seorang pakar untuk mengabstraksi atau
menjelaskan langkah mereka dalam menangani masalah
e. Pengguna Sistem Pakar mempunyai batas kognitif alami, sehingga
mungkin tidak bisa memanfaatkan sistem secara maksimal.
f. Sistem Pakar bekerja baik untuk suatu bidang yang sempit.
49
Basis Pengetahuan, berisi pengetahuan yang dibutuhkan untuk
memahami, memformulasi, dan memecahkan masalah. Basis pengetahuan
tersusun atas 2 elemen dasar:
1. Fakta, misalnya: situasi, kondisi, dan kenyataan dari permasalahan
yang ada, serta teori dalam bidang itu
2. Aturan, yang mengarahkan penggunaan pengetahuan untuk
memecahkan masalah yang spesifik dalam bidang yang khusus
Mesin Inferensi (Inference Engine), merupakan otak dari Sistem Pakar.
Juga dikenal sebagai penerjemah aturan (rule interpreter). Komponen ini berupa
program komputer yang menyediakan suatu metodologi untuk memikirkan
(reasoning) dan memformulasi kesimpulan. Kerja mesin inferensi meliputi:
1. Menentukan aturan mana akan dipakai
50
Papan Tulis (Blackboard/Workplace), adalah memori/lokasi untuk
bekerja dan menyimpan hasil sementara. Biasanya berupa sebuah basis data.
Antarmuka Pemakai (User Interface). Sistem Pakar mengatur
komunikasi antara pengguna dan komputer. Komunikasi ini paling baik berupa
bahasa alami, biasanya disajikan dalam bentuk tanya-jawab dan kadang
ditampilkan dalam bentuk gambar/grafik. Antarmuka yang lebih canggih
dilengkapi dengan percakapan (voice communication).
Subsistem Penjelasan (Explanation Facility). Kemampuan untuk
menjejak (tracing) bagaimana suatu kesimpulan dapat diambil merupakan hal
yang sangat penting untuk transfer pengetahuan dan pemecahan masalah.
Komponen subsistem penjelasan harus dapat menyediakannya yang secara
interaktif menjawab pertanyaan pengguna, misalnya:
1. “Mengapa pertanyaan tersebut anda tanyakan?”
51
Yang kedua disebut sebagai membangun Sistem Pakar dengan shell, yakni
semua komponen Sistem Pakar, kecuali basis pengetahuan, bersifat generik;
sehingga dapat dipakai untuk bidang yang berlainan. Membangun Sistem Pakar
dengan shell dapat dilakukan dengan lebih cepat dan lebih sedikit keterampilan
memprogram, namun berkurang fleksibilitasnya karena harus mengikuti
kemampuan dari shell tersebut. Salah satu shell Sistem Pakar yang populer
dipakai adalah CLIPS (C Language Integrated Production System) yang dapat
didownload dari internet.
1. Pemilihan Masalah
Pembuatan Sistem Pakar membutuhkan waktu dan biaya yang banyak.
Untuk menghindari kegagalan yang memalukan dan kerugian yang besar, maka
dibuat beberapa pedoman untuk menentukan apakah Sistem Pakar cocok untuk
memecahkan suatu problem:
a. Biaya yang diperlukan untuk pembangunan Sistem Pakar ditentukan
oleh kebutuhan untuk memperoleh solusi. Sehingga harus ada
perhitungan yang realistis untuk cost and benefit.
b. Pakar manusia tidak mudah ditemui untuk semua situasi di mana dia
dibutuhkan. Jika pakar pengetahuan tersebut terdapat di mana saja dan
kapan saja, maka pembangunan Sistem Pakar menjadi kurang
berharga.
c. Problem yang ada dapat diselesaikan dengan teknik penalaran
simbolik, dan tidak membutuhkan kemampuan fisik.
d. Problem tersebut harus terstruktur dengan baik dan tidak
membutuhkan terlalu banyak pengetahuan awam (common sense),
yang terkenal sulit untuk diakuisisi dan dideskripsikan, dan lebih
banyak berhubungan dengan bidang yang teknis.
e. Problem tersebut tidak mudah diselesaikan dengan metode komputasi
yang lebih tradisionil. Jika ada penyelesaian algoritmis yang bagus
untuk problem tersebut, maka kita tidak perlu memakai Sistem Pakar.
52
f. Ada pakar yang mampu memberikan penjelasan tentang kepakarannya
serta mau bekerjasama. Adalah sangat penting bahwa pakar yang
dihubungi benarbenar mempunyai kemauan kuat untuk ikut
berpartisipasi serta tidak merasa pekerjaannya akan menjadi terancam.
g. Problem tersebut mempunyai sekup yang tepat. Biasanya merupakan
problem yang membutuhkan kepakaran yang sangat khusus namun
hanya membutuhkan seorang pakar untuk dapat menyelesaikannya
dalam waktu yang relatif singkat (misalnya paling lama 1 jam).
53
Mulai
Akuisisi pengetahuan
Penyajian Basis
pengetahuan pengetahuan
pengkodean
Inferensi/ Penjelasan,
penyimpulan justifikasi
4. Akuisisi Pengetahuan
54
Dalam proses akuisisi pengetahuan, seorang perekayasa pengetahuan
menjembatani antara pakar dengan basis pengetahuan. Perekayasa pengetahuan
mendapatkan pengetahuan dari pakar, mengolahnya bersama pakar tersebut, dan
menaruhnya dalam basis pengetahuan, dengan format tertentu. Pengambilan
pengetahuan dari pakar dapat dilakukan secara (Gambar II-3):
Manual, di mana perekayasa pengetahuan mendapatkan pengetahuan dari
pakar (melalui wawancara) dan/atau sumber lain, kemudian mengkodekannya
dalam basis pengetahuan. Proses ini biasanya berlangsung lambat, mahal, serta
kadangkala tidak akurat.
Semi-otomatik, di mana terdapat peran komputer untuk: (1) mendukung
pakar dengan mengijinkannya membangun basis pengetahuan tanpa (atau dengan
sedikit) bantuan dari perekayasa pengetahuan, atau (2) membantu perekayasa
pengetahuan sehingga kerjanya menjadi lebih efisien dan efektif.
Otomatik, di mana peran pakar, perekayasa pengetahuan, dan pembangun
basis pengetahuan (system builder) digabung. Misalnya dapat dilakukan oleh
seorang system analyst seperti pada metode induksi.
edukasi
Pakar
Knowledge Basis
engineer pengetahuan
Pengetahuan
terdokumentasi
(a)
pengkodean
Wawancara Basis
Pakar terbantukan pengetahuan
komputer
Knowledge
engineer
(b)
Kasus & contoh Sistem Basis
yang lalu induksi pengetahuan
(c)
Metode akuisisi pengetahuan (a) manual (b) akuisisi terkendali-pakar (c) induksi
55
PERTEMUAN X
LOGIKA FUZZY
56
Gambar diatas adalah pendefinisian kecepatan dalam bentuk logika fuzzy
dan logika Boolean
Dimana :
a=sangat lambat d= lambat
b=agak sedang e =sedang
c=sedikit cepat f =cepat
57
dengan melalui pendekatan fungsi. Adalah fungsi keanggotaan yang
biasa digunakan dalam penalaran logika fuzzy, diantaranya :
1) Representasi Linear
58
Keterangan:
a = nilai domain yang mempunyai derajat keanggotaan nol b = nilai domain yang
mempunyai derajat keanggotaan satu x = nilai input yang akan di ubah ke dalam
bilangan fuzzy Kedua, merupakan kebalikan yang pertama. Garis lurus dimulai
dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian
bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih
rendah.
59
Grafik dan rumus representasi kurva segitiga
60
Keterangan:
61
Grafik dan rumus representasi kurva bentuk bahu
e. Rule dan Implikasi.
Keterangan :
A disebut antesenden.
B disebut konsekuen.
62
Blok diagram logika fuzzy
Fuzzy Inference System
63
PERTEMUAN XI
LOGIKA FUZZY II
premis consequent
premis consequent
Input : x dan y.
Consequent-nya adalah f.
64
Berdasarkan gambar diatas tiap-tiap input tersebut dibagi jadi 2 fungsi
keanggotaan, x dibagi dalam A1 dan A2 anggap misalnya A1 menyatakan
small dan A2 menyatakan big. Begitu juga y dibagi dalam fungsi
keanggotaan B1 yang menyatakan small dan B2 yang menyatakan big. Dari
pemetaan tersebut x dan y sudah jadi variabel fuzzy yang masing-masing
punya nilai m small dan big tertentu. x mempunyai nilai mA1 dan mA2
sedangkan y punya nilai mB1 dan mB2. Nilai masing-masing pasangan
input tersebut lalu diagregasi dengan operasi T-norm, misalnya operasi ini
adalah operasi AND. Jadi w1 = (mA1 AND mA2) sedangkan w2 = (mB1
AND mB2).
Berdasarkan aturan yang telah ada,
didapatkan : if w = w1 then
f1 = p1x + q1y + r1 if w = w2
then f2 = p2x + q2y + r2..........(4)
Telah didapatkan hasil dari f1 dan f2. Ini merupakan nilai output sinyal
kontrol, yaitu tegangan. Terjadi pemindahan dari domain input x dan y
(kecepatan) ke domain output f (tegangan). Tetapi itu adalah nilai p1, q1, r1,
p2, q2, dan r2 dimana itu merupakan nama parameter konsekuen yang
ditentukan dengan nilai awal tertentu dan akan berubah dengan pembelajaran
(algoritma belajar). Selanjutnya diperlukan satu nilai dari tegangan sebagai
sinyal kontrol dari nilai f1 dan f2. Nilai akhir tersebut dapat dihitung dengan
persamaan:
..........(5)
65
Pada aplikasi simulasi lampu lalu lintas ini akan digunakan metode
Tsukamoto. Pada metode Tsukamoto, setiap konsekuen pada aturan yang
berbentuk IF-THEN harus direpresentasikan dengan suatu himpunan
fuzzy dengan fungsi keanggotaan yang monoton. Sebagai hasilnya,
output hasil inferensi dari tiap-tiap aturan diberikan dengan tegas (crisp)
berdasarkan α-predikat (fire strength). Hasil akhirnya diperoleh dengan
menggunakan rata-rata terbobot. Misalnya ada 2 variabel input, var-1(x)
dan var-2(y) serta 1 variabel output var-3(z), dimana var-1 terbagi atas 2
himpunan yaitu A1 dan A2 dan var-2 terbagi atas himpunan B1 dan B2.
Sedangkan var-3 juga terbagi atas 2 himpunan yaitu C1 dan C2
(Kusumadewi, 2003).
Ada dua aturan yang digunakan yaitu:
b. Metode Mamdani
66
match) antara data masukan fuzzy dengan himpunan fuzzy yang
didefenisikan untuk setiap variabel masukan sistem dari setiap
aturan fuzzy. Pada metode mamdani, baik variabel input maupun
variabel output dibagi menjadi satu atau lebih himpunan fuzzy.
• Aplikasi fungsi implikasi pada metode mamdani. Fungsi
implikasi yang digunakan adalah min. Lakukan implikasi fuzzy
berdasar pada kuat penyulutan dan himpunan fuzzy terdefinisi
untuk setiap variabel keluaran di dalam bagian konsekuensi dari
setiap aturan. Hasil implikasi fuzzy dari setiap aturan ini
kemudian digabungkan untuk menghasilkan keluaran infrensi
fuzzy (Kusumadewi, 2003).
• Komposisi Aturan. Tidak seperti penalaran monoton, apabila
sistem terdiri dari beberapa aturan, maka infrensi diperoleh dari
kumpulan dan korelasi antar aturan. Ada 3 metode yang
digunakan dalam melakukan inferensi sistem fuzzy, yaitu: max,
additive dan probabilistik OR.
• Penegasan (defuzzy). Input dari proses defuzzifikasi adalah suatu
himpunan fuzzy yang diperoleh dari komposisi aturan-aturan
fuzzy, sedangkan output yang dihasilkan merupakan suatu
bilangan pada domain himpunan fuzzy tersebut.
c. Metode Sugeno
67
Dimana x merupakan parameter input, A merupakan nilai dari parameter, f
merupakan sembarang fungsi dari variabel-variabel masukan yang nilainya
berada dalam interval variabel keluaran (Purba, Kristo DKK. 2013).
68
Dalam rangka pelaksanaan pengelolaan lalu lintas di jalan, dilakukan
rekayasa lalu lintas [PP No.43 Th.1993] yang meliputi :
a. Perencanaan, pembangunan dan pemeliharaan jalan.
e. Gradient;
f. Jarak pandang;
69
h. Kelengkapan jalan;
Rambu lalu lintas adalah salah satu dari perlengkapan jalan yang berupa
lambang, huruf, angka, kalimat, dan atau perpaduan sebagai peringatan,
larangan, perintah atau petunjuk bagi pemakai jalan. Rambu lalu lintas
mengandung berbagai fungsi yang masing-masing memiliki konsekuensi
hukum. Adapun jenis-jenis rambu lalu lintas adalah rambu peringatan,
rambu larangan, rambu perintah, rambu petunjuk, rambu tambahan, dan
rambu sementara. Salah satu rambu lalu lintas adalah lampu lalu lintas. Alat
70
pemberi isyarat lalu lintas berfungsi untuk mengatur lalu lintas kendaraan
atau para pejalan kaki.
Alat ini terdiri dari :
71
PERTEMUAN XII
ALGORITMA GENETIKA
XII.1 Pendahuluan
Algoritma Genetika sebagai cabang dari Algoritma Evolusi merupakan
metode adaptive yang biasa digunakan untuk memecahkan suatu pencarian nilai
dalam sebuah masalah optimasi. Algoritma ini didasarkan pada proses genetic
yang ada dalam makhluk hidup ; yaitu perkembangan generasi dalam sebuah
populasi yang alami, secara lambat laun mengikuti prinsip seleksi alam atau
“siapa yang kuat, dia yang bertahan”. Dengan meniru teori evolusi ini, Algoritma
Genetika dapat digunakan untuk mencari solusi permasalahan-permasalahan
dalam dunia nyata.
Peletak prinsip dasar sekaligus pencipta algoritma Genetika adalah John
Holland. Algoritma Genetika menggunakan analogi secara langsung dari
kebiasaan yang alamai yaitu seleksi alama. Algoritma ini bekerja dengan sebuah
populasi yang terdiri dari individu-individu, yang masing-masing individu
mempresentasikan sebuah solusi yang mungkin bagi personalan yang ada. Dalam
kaitan ini, individu dilambangkan dengan sebuah nilai fitness yang akan diguakan
untuk mecari solusi terbiak dari personalan yang ada.
Pertahanan yang tinggi dari individu memberikan kesempatan untuk
melakukan reproduksi melalui perkawinan silang dengan individu yang lain dalam
populasi tersebut. Individu baru yang dihasilkan dalam hal ini dinamakan
keturunan. Yang membawa beberapa sifat dari induknya. Sedangkan individu
dalam populasi yang tidak terseleksi dalam reproduksi akan mati dengan
sendirinya. Dengan jalan ini, beberapa generasi dengan karakteristik yang bagus
akan bermunculan dalam populasi tersebut, untuk kemudian decamp dan ditukar
dengan karakter yang lain. Dengan mengawinkan semakin banyak individu, maka
akan semakin banyak kemungkinan yang terbiak yang dapat diperoleh.
Sebelum Algoritma Genetika dapat dijalankan, maka sebuah kode yang
sesuai (representative) untuk persoalan harus dirancang. Untuk ini maka titik
72
solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang
terdiri atas komponen genetic terkecil yaitu gen. Dengan teori evolusi dan teori
genetica, didalam penerapan Algoritma Genetika akan melibatkan beberapa
operator, yaitu:
1. Operasi Evolusi yang melibatkan proses seleksi didalamnya
2. Operasi Genetika yang melibatkan operator pindah silant (crossover) dan
mutasi ( mutation)
Untuk memeriksa hasil optimasi, kita membuthkan fungsi fitnesss, yang
menandakan gambran hasil yang sudah dikodekan. Selama berjalan. Induk hrus
digunakan untuk reproduksi, pindah silang dan mutasi untuk menciptkaan
keturunan. Jika Algoritma Genetika didesaian secara baik, populasi akan
mengalam convergensi dan akan didapatkan sebuah solusi yang optimum.
Hal-hal yang harus dilakukan dalam Algoritma Genetika
Beberapa hal yang harus dilakukan dalam Algortima Genetika adalah:
Mendefinisikan individu, dimana individu menyatakan salah satu solusi
yang mungkin dari permasalahan yang diangkat.
Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidaknya
sebuah individu atau baik-tidaknya solusi yang didapatkan.
Menentukan proses pembangkitan populasi awal. Hal ini bias anya
dilakukan dengan menggunakan pembangkitan acak seperti random-walk
Menentukan proses seleksi yang akan digunakan
Menentukan proses perkawinan silang (cross-over) dan mutasi gen yang
akan digunakan
73
Genotype (Gen), sebuah nilai yang menyatakan satuan dasar yang
membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan
kromosom. Dalam algoritma genetica, gen ini bisa berupa nilai biner,
float, integer maupun karakter, atau kombinatorial.
Allele, nilai dari gen
Kromosom, gabungan gen-gen yang membentuk nilai tertentu
Individu, menyatakan satu nilai atau keadaan yang menyatakan salah satu
solusi yang mungkin dari permasalahan yang diangkat
Populasi, merupakan sekumpulan individu yang akan diproses bersama
dalama satu siklus proses evolusi
Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di
dalama algoritma genetika
74
XII.3 Nilai Fitness
Nilai fitness adalah nilai yang menyatakan baik tidaknya suatu solusi
(individu). Nilai fitness ini yang dijadikan acuan dalam mencapai nilai optimal
dalam algortima genetica. Algoritma genetica bertujuan mencari individu dengan
nilai fitnesss yang paling tinggi.
Dalam TSP, Karena TSP bertujuan meminimalkan jarak, maka nilai fitnesssnya
adalah inversi dari total jarak dari jalur yang didapatkan. Cara melakukan inversi
bisa menggunakan rumus 1/x atau 10000-x, dimana x adalah total jarak jalur yang
didapatkan.
75
Siklus Algoritma Genetika yang diperbarui oleh Michalewicz
76
PERTEMUAN XIII
ALGORITMA GENETIKA II
77
Teknik dalam pembangkitan populasi awal ini ada beberapa cara, diantaranya
adalah sebagai berikut:
1. Random Generator
Inti dari cara ini adalah melibatkan pembangkitan bilangan random untuk
nilai setiap gen sesuai dengan representasi kromosom yang digunaka. Jika
menggunakan representasi biner, salah satu contoh penggunaan random
generator adalah penggunaan rumus berikut untuk pembangkitan populasi
awal:
𝑰𝑷𝑶𝑷 = 𝒓𝒐𝒖𝒏𝒅{𝒓𝒂𝒏𝒅𝒐𝒎(𝑵𝒊𝒑𝒐𝒑 , 𝑵𝒃𝒊𝒕𝒔 )}
dimana IPOP adalah gen yang natinya berisi pembulatan dari bilangan
random yang dibangkitkan sebanyak 𝑁𝑖𝑝𝑜𝑝 ( jumlah populasi) X 𝑁𝑏𝑖𝑡𝑠
( Jumlah gen dalamm tiap kromosom)
Contoh lain penggunaan random generator dalam representasi permutasi
adalah pada saat dibangkitkan populasi awal untuk penyelesaian
permasalahan Traveling Salesman Problem. Sebagai contoh, sebuah
kromosom untuk 9 kota bisa direpresentasikan.
Dimana posisi I dalam list menunjukkan kota i. Nilai acak dalam posisi I
menentukan urutan didatanginya kota I dalam lintasan TSP. dengan kunci-
kunci random diatas, kita dapat menentukan bahwa nilai 0.11 adalah yang
paling kecil, sehingga kota ke-6 menempati urutan pertama, 0.23 adalah
nilai terkecil kedua, sehingga kota ke-1 menempati urutan kedua tst.
Sehingga dengan demikian , dari kunci-kunci random diatas kita dapat
menentukan lintasan:
6-1-3-7-8-4-9-2-5
78
Cara ini adalah dengan memasukkan nilai tertentu ke dalam gen dari
populasi awal yang dibentuk
3. Permutasi Gen
Salah satu cara permutesi gen dalam pembangkitan populasi awal adalah
penggunaan permutesi Josephus dalam permasalahan kombinatorial
seperti TSP. Misalkan ada kota dari 1 sampai 9. Permutasi dari lintasan
dapat dilakukan dengan menentukan titik awal dan selang. Misalkan titik
awal adalah 6 dan selang adalah5. Maka lintasan berangkat dari kota 6,
selang 5 dari kota 6 adalah kota 2 ( dengan asumsi kota 1 sampai 9
membentuk circular list). Kota 2 dihapus dari list. Selang 5 kemudian
adalah kota 7. Proses ini diulang hingga ada satu lintasan dalam list. Hasil
dari permutesi ini adalah
2-7-3-8-4-9-5-1-6
XIII.1.3 Seleksi
79
Metode seleksi dengan mesin roulette ini merupakan metode yang paling
sederhana dan sering dikenal dengan nama stochastic sampling with replacement.
Cara kerja metode ini sebagai berikut :
1. Dihitung nilai fitnesss dari masing-masing individu
2. Dihitung total fitness semua individu
3. Dihitung probabilitas masing-masing individu
4. Dari probabilitys tersebut, dihitung jatah masing-masing individu pada angkat
1 sampai 100
5. Dibangkitkan bilangan random antar 1 sampai 100
6. Dari bilangan random yang dihasilkan, ditentukan individu nama yang terpilih
dalam prose seleksi
80
Seleksi Dengan Turnamen
Pada metode seleksi dengan turnamen, ditetapkan suatu nilai tour untuk
individu-individu yang dipilih secara random dari suatu populasi. Individu-
individu yang terbiak dalam kelompok ini akan diseleksi sebagai induk. Parameter
yang digunakan pada metode ini adalah ukuran tour yang bernilai antara 2 sampai
N ( jumlah individu dalam suatu populasi)
Pindah silang (Crossover)
81
Crossover satu titik
Crossover satu titik dan banyak titik bias anya digunakan untuk
representasi kromosom dalam biner. Pada crossover satu titik, posisi crossover k
( k=1,2,..,N-1) dengan N=panjang kromosom diseleksi secara random. Variable-
variable ditukar antar kromosom pada titik tersebut untuk menghasilkan anak.
Pada gambar 7.7 dilustrasikan Crossover satu titik.
82
gambar 7.9 dilustrasikan bagaimana crossover aritmatika bekerja. Nilai baru gen
pada anak mengikuti rumus 7.1 dan rumus 7.2
83
Crossover Aritmatika
Crossover untuk representasi kromosom permuteasi
84
Prosedur ini dapat dilihat ilustrasinya pada Gambar 7.9
1. Pilih posisi untuk menentukan substring secara acak
85
Cycle Crossover (CX). CX diciptakan oleh oliver, Smith dan Holland. Metode ini
mengkopi kota-kota dari satu induk dan memilih kota-kota yang lain dari induk
yang lain, dengan mengingat dan pola cycle. Cara kerja CX adalah sbb :
Prosedur CX
1. Temukan cycle yang didefinisikan dari relasi posisi kota-kota antara induk
2. Salin kota-kota dalam cycle pada proto-child dengan relasi posisi dari
sebuah induk
3. Tentukan kota-kota diingat yang berasal dari induk lain
4. Isi keturunan dengan kota-kota yang diingat tadi
Gambar adalah ilustrasi dari CX
1. Tentukan pola cycle ( asumsi: pola dimulai dari posisi 1)
86
2. Kopi kota-kota dalam cycle pada proto-child
XIII.1.4 Mutasi
87
mengenai laju mutasi ini. Ada yang berpendapat bahwa laju mutasi sebesar 1/n
akan memberikan hasil yang cukup baik. Ada juga yang beranggapan bahwa laju
mutasi tidak tergantung pada ukuran populasinya. Kromosom hasil mutasi harus
diperiksa, apakah masih berada pada domain solusi, dan bila perlu bisa dilakukan
perbaikan.
Pada gambar 7.13 diilustrasikan diagram alir penggunaan probabilitas mutasi pada
proses mutasi. Proses yang dilustrasikan tersebut adalah cara mudah untuk
melakukan mutasi. Proses mutasi yang dilakukan tidak harus seperti pada proses
tersebut. Proses yang lain bisa dengan melakukan mutasi pada gen sebanyak
probabilitas mutasi jumlah gen, dimana posisi gen yang akan dilakaukan mutasi
dipilih secara acak.
Mutasi biner
Cara sederhana untuk mendapatkan mutasi biner adalah dengan mengganti
satu atau beberapa nilai gen dari kromosom. Langkah-langkah mutasi ini adalah :
1. Hitung jumlah gen pada populasi ( panjang kromosom dikalikan dengan
ukuran populasi)
2. Pilih secara acak gen yang akan dimutasi
3. Tentukan kromosom dari gen yang terpilih untuk dimutasi
88
4. Ganti nilai gen (0 ke 1, atau 1 ke 0) dari kromosom yang akan dimutasi
berikut
5.
Hal penting yang harus diperhatikan dalam pemakaian algoritma genetika adalah:
1. Algoritma genetika adalah algoritma yang dikembangkan dari proses
pencarian solusi menggunakan pencarian acak, ini terlihat pada proses
pembangkitan populasi awal yang menyatakan sekumpulan solusi yang
dipilih secara acak.
2. Berikutnya pencarian dilakukan berdasarkan proses-proses teori genetika
yang memperhatikan pemikiran bagaimana memperoleh individu yang
lebih baik, sehingga dalam proses evolusi dapat diharapkan diperoleh
individu yang terbaik
89
PERTEMUAN XIV
JARINGAN SYARAF TIRUAN
Otak manusia berisi sekitar 1011 sel syaraf (neuron) yang bertugas untuk
memproses informasi yang masuk. Tiap sel syaraf dihubungkan dengan sel syaraf
lain hingga sekitar 104sinapsis. Tiap sel bekerja seperti suatu prosesor sederhana.
Masing-masing sel tersebut saling berinteraksi sehingga mendukung kemampuan
kerja otak manusia.
90
Komponen utama neuron dapat dikelompokkan menjadi 3 bagian :
1. Dendrit = bertugas menerima informasi = jalur input bagi soma
2. Badan sel (soma) = tempat pengolahan informasi
3. Akson = bertugas mengirimkan impuls-impuls sinyal ke sel syaraf lain =
jalur output bagi soma
Perhatikan gambar-gambar diatas :
Sebuah neuron menerima impuls-impuls sinyal (informasi) dari neuron
lain melalui dendrit dan mengirimkan sinyal yang dibangkitkan (hasil
penjumlahan) oleh badan sel melalui akson.
Akson dari sel syaraf ini bercabang-cabang dan berhubungan dengan
dendrit dari sel syaraf laindengan cara mengirimkan impuls melalui
sinapsis.
Sinapsis adalah unit fungsional antara 2 buah sel syaraf, misal A dan B,
dimana yang satu adalah serabut akson dari neuron A dan satunya lagi
adalah dendrit dari neuron B.
91
Kekuatan sinapsis bisa menurun / meningkat tergantung seberapa besar
tingkat propagasi (penyiaran) sinyal yang diterimanya.
Impuls-impuls sinyal (informasi) akan diterima oleh neuron lain jika
memenuhi batasan tertentu,yang sering disebut dengan nilai ambang
(threshold).
92
Perbandingan kemampuan otak manusia dengan CPU
93
Jaringan syaraf tiruan dapat belajar dari pengalaman, melakukan
generalisasi atas contoh-contoh yang diperolehnya dan mengabstraksi
karakteristik esensial input bahkan untuk data yang tidak relevan.
Algoritma untuk JST beroperasi secara langsung dengan angka sehingga
data yang tidak numerik harus diubah menjadi data numerik.
JST tidak diprogram untuk menghasilkan keluaran tertentu. Semua
keluaran atau kesimpulan yang ditarik oleh jaringan didasarkan pada
pengalamannya selama mengikuti proses pembelajaran. Pada proses
pembelajaran, ke dalam JST dimasukkan pola-pola input (dan output) lalu
jaringan akan diajari untuk memberikan jawaban yang bisa diterima.
Pada dasarnya karakteristik JST ditentukan oleh :
1. Pola hubungan antar neuron (disebut arsitektur jaringan)
2. Metode penentuan bobot-bobot sambungan (disebut dengan pelatihan
atau proses belajar jaringan)
3. Fungsi aktivasi
94
PERTEMUAN XV
JARINGAN SYARAF TIRUAN II
95
Faktor terpenting dalam menentukan kelakuan suatu neuron adalah fungsi aktivasi
dan pola bobotnya.
Umumnya neuron-neuron yang terletak pada lapisan yang sama akan
memiliki keadaan yang sama sehingga pada setiap lapisan yang sama
neuron-neuron memiliki fungsi aktivasi yang sama.
Bila neuron-neuron pada suatu lapisan (misal lapisan tersembunyi) akan
dihubungkan dengan neuron-neuron pada lapisan lain (misal lapisan
output) maka setiap neuron pada lapisan tersebut (lapisan tersembunyi)
juga harus dihubungkan dengan setiap neuron pada lapisan lainnya
(lapisan output)
96
2. Jaringan dengan banyak lapisan (multilayer net)
Memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan
lapisan output. Umumnya ada lapisan bobot-bobot yang terletak antara 2 lapisan
yang bersebelahan. Jaringan dengan banyak lapisan ini dapat menyelesaikan
permasalahan yang lebih sulit daripada lapisan tunggal, tentu saja dengan
pembelajaran yang lebih rumit. Pada banyak kasus, pembelajaran pada jaringan
dengan banyak lapisan ini lebih sukses dalam menyelesaikan masalah.
97
diperlihatkan pada diagram arsitektur. Gambar berikut menunjukkan salah satu
contoh arsitektur jaringan dengan lapisan kompetitif yang memiliki bobot –η
98
JST masih akan tetap dapat memberikan tanggapan yang baik, memberikan
keluaran yang paling mendekati.
Paradigma/metode pembelajaran/pelatihan JST :
1. Pembelajaran terawasi (supervised learning)
Pada pembelajaran ini kumpulan input yang digunakan, output-outputnya
telah diketahui. Perbedaan antara output-output aktual dengan output-output yang
diinginkan digunakan untuk mengoreksi bobot JST agar JST dapat menghasilkan
jawaban sedekat (semirip) mungkin dengan jawaban yang benar yang telah
diketahui oleh JST.
2. Pembelajaran tak terawasi (unsupervised learning) / pembelajaran tanpa
guru
Pada pembelajaran ini, JST mengorganisasi dirinya sendiri untuk
membentuk vektorvektor
input yang serupa, tanpa menggunakan data atau contoh-contoh pelatihan.
Struktur menggunakan dasar data atau korelasi antara pola-pola data yang
dieksplorasi.
Paradigma pembelajaran ini mengorganisasi pola-pola ke dalam kategori-kategori
berdasarkan korelasi yang ada.
3. Gabungan pembelajaran terawasi dan tak terawasi (hybrid)
Merupakan kombinasi dari kedua pembelajaran tersebut. Sebagian dari bobot-
bobotnya ditentukan melalui pembelajaran terawasi dan sebagian lainnya melalui
pembelajaran tak terawasi.
FUNGSI AKTIVASI
Dipakai ntuk menentukan keluaran suatu neuron
Merupakan fungsi yang menggambarkan hubungan antara tingkat aktivasi
internal (summation function) yang mungkin berbentuk linier atau
nonlinear. Beberapa fungsi aktivasi JST diantaranya hard limit, purelin,
dan sigmoid. Yang populer digunakan adalah fungsi sigmoid yang
memiliki beberapa varian : sigmoid logaritma, sigmoid biner, sigmoid
bipolar, sigmoid tangen.
99
Hard limit memberikan batasan tegas 0 atau 1, purelin memisahkan secara
linier, sigmoid berupa fungsi smooth bernilai antara 0 sampai dengan 1
(bila biner) atau antara -1 sampai 1 (bila bipolar)
SUMMATION FUNCTION
Fungsi yang digunakan untuk mencari rata-rata bobot dari semua elemen
input.
Bentuk sederhananya adalah dengan mengalikan setiap nilai input (Xj)
dengan bobotnya (Wij) dan menjumlahkannya (disebut penjumlahan
berbobot atau Si)
Diibaratkan dengan sebuah neuron yang memonitor sinyal yang datang dari
neuron-neuron lain. Neuron ini menghitung penjumlahan berbobotnya dan
kemudian menentukan sinyal untuk dikirim ke neuron-neuron lain.
100
Tjp : nilai keluaran jaringan syaraf
Xjp : nilai target/yang diinginkan untuk setiap keluaran
• Root Mean Square Error (RMS Error) :
I. Hitung SSE
II. Hasilnya dibagi dengan perkalian antara banyaknya data pada
pelatihan dan banyaknya keluaran, kemudian diakarkan.
101
Keuangan dan perbankan: pendeteksian uang palsu, evaluator aplikasi
kredit, pengidentifikasian pola-pola data pasarsaham
Militer: Pengendali senjata, pendeteksi bom, penelusuran target,
pembedaan objek, pengendali sensor, sonar, radar, dan pengolahan sinyal
citra yang meliputi kompresi data, ekstraksi bagian istimewa, dan
penghilangan derau, pengenalan sinyal atau citra.
Elektronik: Pembuatan perangkat keras yang bisa mengimplementasikan
JST secara efisien, machine vision, pengontrol gerakan dan penglihatan
robot, sintesis suara
Broadcast : pencarian klip berita melalui pengenalan wajah
Keamanan : JST digunakan untuk mengenali mobil dan mengenali wajah
oknum
Medis : analisis sel kanker
Pengenalan suara : pengenalan percakapan, klasifikasi suara
Pengenalan tulisan : pengenalan tulisan tangan, penerjemahan tulisan ke
dalam tulisan latin
Matematika : alat pemodelan masalah dimana bentuk eksplisit dari
hubungan antara ariabel-variabel tertentu tidak diketahui
Pengenalan benda bergerak: selain pola dari citra diam, JST juga bisa
digunakan untuk mendeteksi citra bergerak dari video seperti citra orang
yang bergerak, dll.
JST digunakan sebagai detektor virus komputer, penginderaan bau, dll.
102
PERTEMUAN XVI
UJIAN AKHIR SEMESTER
Soal
1. Tuliskan dengan jelas suatu problem yang bisa diselesaikan dengan sistem
NLP ( Natural Processing) selain yang dibicarakan di kelas.
2. Tuliskan langkah-langkah pembangunan NLP dengan jelas
3. Gambarkan blok diagram system pakar, tuliskan masing-masing 2 fungsi
komponennya.
4. Jika diketahui kaidah-kaidah pengetahuan sbb:
lf A and B then W
lf A and B and C and Dt henX ,
lf A and B and C then y
lf A and.D then Z
103
DAFTAR PUSTAKA
104