Tampilkan postingan dengan label Materi Kuliah. Tampilkan semua postingan
Tampilkan postingan dengan label Materi Kuliah. Tampilkan semua postingan
Sabtu, 20 Mei 2017
Sabtu, 11 Juni 2016
Program Jaringan Syaraf Tiruan (JST) yang telah dibuat pada posting terdahulu dapat digunakan untuk menirukan fungsi Logika.
Tahapan yang dilakukan adalah :
1. Melakukan proses pembelajaran dengan masukan JST adalah input logika dan keluaran JST dibandingkan dengan keluaran logika/target keluaran yang akan ditirukan.
Gambar berikut ini memperlihatkan proses tersebut
tabel kebenaran untuk logika OR, AND dan XOR sebagai berikut:
2. Proses pembelajaran dilakukan untuk semua kemungkinan masukan dan keluaran.
iterasi ke 1 : masukan x1=0, x2=0, dan target sesuai logika yang mau dipelajari
iterasi ke 2 : masukan x1=0,x2=1, dan target sesuai logika yang mau dipelajari
iterasi ke 3 : masukan x1=1,x2=0, dan target sesuai logika yang mau dipelajari
iterasi ke 4 : masukan x1=1,x2=1, dan target sesuai logika yang mau dipelajari
iterasi ke 5 dst : diulang dari iterasi ke 1,2,3,4,
berikut ini listing program untuk proses pembelajran dengan 4 kemungkinan input dan ouput:
3. Simpan bobot hasil pembelajaran.
4. Uji coba JST.
gambar dibawah ini adalah program untuk uji coba JST hasil belajar.


Program berikut ini adalah sebagian program JST unntuk menirukan fungsi logika yang merupakan modifikasi dari program JST yang telah diberikan pada posting terdahulu, pada program ini target keluaran, banyaknya iterasi, nilai learning rate dan banyaknya neuron di hidden layer diinputkan/masukan dari consule scilab.

Program berikut ini adalah sebagian program JST unntuk menirukan fungsi logika yang merupakan modifikasi dari program JST yang telah diberikan pada posting terdahulu, pada program ini target keluaran, banyaknya iterasi, nilai learning rate dan banyaknya neuron di hidden layer diinputkan/masukan dari consule scilab.

Berikut ini hasil compilasi program JST untuk menirukan fungsi logika :

perhatikan gambar diatas program JST menirukan fungsi logika XNOR dapat bekerja dengan baik, hal ini dapat dilihat dari keluaran hasil pembelajaran mendekati nilai yang diinginkan.
Tahapan yang dilakukan adalah :
1. Melakukan proses pembelajaran dengan masukan JST adalah input logika dan keluaran JST dibandingkan dengan keluaran logika/target keluaran yang akan ditirukan.
Gambar berikut ini memperlihatkan proses tersebut
iterasi ke 1 : masukan x1=0, x2=0, dan target sesuai logika yang mau dipelajari
iterasi ke 2 : masukan x1=0,x2=1, dan target sesuai logika yang mau dipelajari
iterasi ke 3 : masukan x1=1,x2=0, dan target sesuai logika yang mau dipelajari
iterasi ke 4 : masukan x1=1,x2=1, dan target sesuai logika yang mau dipelajari
iterasi ke 5 dst : diulang dari iterasi ke 1,2,3,4,
berikut ini listing program untuk proses pembelajran dengan 4 kemungkinan input dan ouput:
4. Uji coba JST.
gambar dibawah ini adalah program untuk uji coba JST hasil belajar.
Program berikut ini adalah sebagian program JST unntuk menirukan fungsi logika yang merupakan modifikasi dari program JST yang telah diberikan pada posting terdahulu, pada program ini target keluaran, banyaknya iterasi, nilai learning rate dan banyaknya neuron di hidden layer diinputkan/masukan dari consule scilab.
Program berikut ini adalah sebagian program JST unntuk menirukan fungsi logika yang merupakan modifikasi dari program JST yang telah diberikan pada posting terdahulu, pada program ini target keluaran, banyaknya iterasi, nilai learning rate dan banyaknya neuron di hidden layer diinputkan/masukan dari consule scilab.
Berikut ini hasil compilasi program JST untuk menirukan fungsi logika :
perhatikan gambar diatas program JST menirukan fungsi logika XNOR dapat bekerja dengan baik, hal ini dapat dilihat dari keluaran hasil pembelajaran mendekati nilai yang diinginkan.
Jumat, 13 Mei 2016
CODE / SUBJECTS : MTI 02 3001 Artificial Intelligence
CREDITS : 3 ( Three ) credits
DESCRIPTION :
This course equips students to learn concepts , principles and implementation in the field of artificial
intelligence.
THE COMPETENCE WANT TO ACHIEVED :
After passing this course, students are expected to :
Know and understand the concept , principle, methods and implementation , and has a professional
attitude through mastery of artificial intelligence .
HIGHLIGHTS:
1 . Introduction
2 . Representation and Knowledge Problems
3 . Concepts and Methods Tracking ( DFS , a Breadth FS , BFS , Hill Climbing , A * , Minimax )
4 . Concepts and Methods Genetic Algorithm
5 . Concepts and Methods for Planning ( Goal Stack Planning)
6 . Concepts and Methods of Reasoning ( Fuzzy Logic )
7. Concepts and Methods of Artificial Neural Network
8. Presentation and Discussion of Major Duties
9. Practice : Knowledge Base
10. Practice : Genetic Algorithm
11. Practice : Fuzzy Logic
12. Practice : Artificial Neuro Network
Ujian Akhir Semester
DOWNLOAD MATERI FOLDER
REFERENCE :
1 ) Russell and Norvig , Artificial Intelligence : A Modern Approach , Prentice Hall , 1995.
2 ) Zbignew M. , Genetic Alg + Data Structure = Evolution Programs , springler - Verlag .
3 ) Frank Puppe . " Systematic Introduction to Expert Systems " , Springer - Verlag , 1994
4 ) Stuart Russell & Peter Norvig J , Artificial Intelligence ; A Modern Approach , Prentice - Hall
International , Inc. , Textbook
5 ) Elaine Rich , Artificial Intelligence , McGraw - Hill , Textbooks
Rabu, 07 Oktober 2015
Pendahuluan
Adaptif dalam bahasa sehari-hari dapat diartikan sebagai kemampuan mengubah kelakuan mengikuti perubahan lingkungan. Adaptif Kontrol adalah kontroller yang dapat mengubah sifat kendalinya untuk merespon perubahan dinamis dari proses dan lingkungannya. Adaptif Kontrol dapat juga diartikan sebagai sebuah kontroller dimana parameter kontrolnya dapat diubah sesuai dengan kondisi lingkungan atau proses dinamis dari suatu sistem.
Gambar berikut ini menunjukan sistem kendali adaptif :
Gambar: Kendali Adaptif
dari gambar diatas dapat dilihat ada 3 blok utama yaitu :
- Plant atau proses
- Kontroller atau pengendali
- Pengatur parameter
Plant adalah suatu sistem atau proses yang akan dikendalikan secara adaptif. Kontroller adalah pengendali yang akan mengeluarkan sinyal kendali atau sinyal masukan ke plant.proses sehingga keluaran plant sesuai dengan yang diharapkan/setpoint.Pengatur parameter adalah suatu perhitungan atau analisa berdasarkan masukan dari sinyal kendali dan keluaran plant untuk merubah parameter kontroller sehingga dihasilkan kontoller yang tepat.
Selasa, 29 September 2015
Sistem kendali terdiri dari tiga komponen utama yaitu masukan kendali, proses kendali dan keluaran kendali. Kendali adalah sesuatu yang diinginkan atau target yang akan dicapai. Jadi sistem kendali dapat dikatakan sebagai kumpulan komponen yang saling berinteraksi untuk melakukan pengendalian atau dapat juga dikatakan kumpulan komponen yang saling bekerja sama untuk mencapai tujuan/target tertentu. Masukan sistem kendali adalah target yang diinginkan, proses kendali adalah kegiatan yang dilakukan untuk mencapai target, sedangkan keluaran sistem kendali adalah kenyataan yang terjadi atau hasil dari proses pengendalian.
Berikut ini adalah gambar dari sistem dan sistem kendali:
Pengendalian umumnya dilakukan dengan dua cara yaitu:
- Pengendali terbuka
- Pengendali tertutup
Pengendali Terbuka (Open Loop Control)
Pengendali terbuka atau sering disebut sebagai open loop, adalah pengendali dimana hasil keluaran pengendalian tidak memperpengaruhi aksi kendali. Gambar berikut ini menunjukan sistem kendali terbuka:
Gambar : Sistem Kendali Terbuka
Perhatikan gambar diatas proses kendali dapat dibagi dua bagian yaitu kontroller atau alat kendali dan plant atau proses yang akan dikendalikan.
Kontroller atau alat kendali adalah peralatan kendali yang digunakan untuk mengendalikan plant/proses. Contoh alat kendali/kontroller antara lain saklar, potensiometer, kran, dll.
Ditinjau dari cara kerja kontroller dapat dibedakan menjadi :
- Kendali On/Off
- Kendali Proposional, Integrator dan Difrensiator atau lebih dikenal dengan (PID)
Pengendalian terbuka banyak dijumpai dalam kehidupan sehari-hari seperti menghidupkan lampu ruangan, menghidupkan kipas angin, televisi, dll.
Gambar berikut ini contoh kendali terbuka:
Pada contoh tersebut diatas masukan adalah sesuatu yang diinginkan yaitu lampu hidup, kemudian proses kendali adalah menghidupkan (meng-on-kan) saklar hasilnya adalah lampu hidup atau bisa saja lampu tetap mati, oleh karena itu kendali seperti ini disebut kendali terbuka karena keluaran/hasil kendali tidak mempengaruhi aksi kendali/kontrol.
Pengendali Tertutup (Closed Loop Control)
Pengendali tertututp atau bisa disebut juga closed loop control adalah kendali dimana aksi kendali dipengaruhi oleh keluaran hasil kendali. Gambar berikut ini menunjukan pengendali tertutup:
Gambar : Sistem Kendali Tertutup
Pada pengendali tertutup ada tiga proses utama yaitu :
- Proses mengukur hasil pengendalian
- Proses membandingkan hasil pengukuran dengan referensi
- Proses mengendalikan plant sehingga keluaranya sesuai dengan yang diinginkan/referensi
Proses mengukur hasil keluaran plant dapat dilakukan mengunakan sensor, proses membandingkan dapat dilakukan komparator dan proses mengendalikan dilakukan oleh kontroller.
Sala satu contoh prngendalian tertutup adalah proses mengatur suhu AC (air conditioner) ,
Berikut ini flowchart proses pengaturan suhu keluaran AC
Minggu, 27 September 2015
Scilab adalah perangkat lunak aplikasi untuk menyelsaikan masalah komputasi, mirip seperti Matlab, perangkat lunak ini bersifat gratis dan dapat di download dilink berikut ini https://www.scilab.org
Pada tulisan kali ini saya akan mencoba menerangkan langkah demi langkah pembuatan program jaringan syaraf tiruan (JST) dengan menggunakan software Scilab 5.4.1
Jalankan software Scilab, maka akan tampak tampilan seperti gambar berikut ini:

pada menu kiri atas klik pada bagian Scinotes :

akan muncul tampilan Scinotes seperti ini :

Buat program JST di Scinotes seperti ini :

Catatan : Scinotes adalah editor untuk menuliskan program Scilab
Aturan penulisan program :
tanda " // " (garis miring dua kali) digunakan untuk menuliskan keterangan, jadi tidak akan diproses dalam program
tanda ";" (titik koma) untuk mengakhiri setiap perintah agar tidak muncul dalam editor consule di Scilab
Berikut ini gambar struktur JST yang akan kita buat programnya :

Berikut ini listring program JST pada Scinotes,




Setelah program dibuat jalankan program dengan men-klik run seperti gambar dibawah ini:

Kemudian simpanlah program yang dibuat di folder yang anda kehendaki.
Untuk melihat hasil run/exsekusi program dapat dilihat di menu editor Scilab pada posisi kanan atas, seperti gambar berikut:

untuk melihat nilai varibel yang telah dibuat dalam program klik pada bagian varibelnya maka akan muncul seperti ini:
(contoh melihat variabel w / bobot klik variabel w)

atau untuk melihat nilai variabel yang telah dibuat dalam program dapat dituliskan pada editor/consule Scilab, dilanjutkan dengan menekan tombol enter maka akan muncul nilai variabel seperti gambar dibawah ini:

gambar diatas memperlihatkan nilai a dan nilai target yang hampir sama, ini menunjukan program tersebut sudah berjalan dengan baik.
Tahap demi tahap program JST dapat dijabarkan sebagai berikut:
Inisialisasi awal menentukan struktur JST seperti:
Listing program untuk membuat/men-generate bobot awal di layer input ke layer hidden adalah sebagai berikut:
perhatikan banyaknya bobot antara masukan ke hidden layer adalah banyaknya input X banyaknya neuron di hidden layer atau jXi
program tersebut diatas dapat menghasilkan bobot sebanyak jXi
perhatikan notasi untuk w dimulai dari tujuan kemudian asal masukan atau ditulis w(j,i) , j=adalah neuron tujuan dan i=adalah masukan
Berikut ini listing program untuk membuat/men-generate bobot awal di hidden layer ke output layer:
program ini identik dengan program men-generate bobot awal w, bedanya hanya tergantung jumlah neuran di hidden layer dengan di output layer.
Pemberian nilai target dan masukan/input dapat ditulis sebagai berikut:

tanda ";"(titik koma) menyatakan bentuk matrix [ix1] kalau menggunakan "," (koma) matrix [1xi]
Perhatikan pada gambar dj, dalam bentuk persamaan matematiknya dapat ditulis :
dj= ∑ (pi.wji)
dalam bentuk program Scilab dapat ditulis :
perhatikan pada gambar hj:
hj=f1(dj) keluaran adalah fungsi aktifasi dari dj, jika menggunakan sigmoid fungsi dapat dituliskan
dalam bentuk program Scilab dapat ditulis:

Nilai keluaran neuron pada hidden layer merupakan masukan bagi neuron pada layer output,
persamaannya dapat ditulis:
dalam bentuk program scilab dapat ditulis:
dan Keluaran JST (a) tergantung dari aktivasi fungsi yang digunakan, apada contoh ini menggunakan sigmoid fungsi dengan rumusan sebagai berikut:

perhatikan listring program diatas banyaknya error(e) adalah sebanyak target /keluaran JST.
Setelah didapat error maka proses selanjutnya adalah "BACKPROPAGATION" yaitu proses meng-update bobot sehingga dihasilkan keluaran sesuai dengan target yang diinginkan, proses ini juga disebut proses belajar JST.
Secara umum update bobot dapat dirumuskan sebagai berikut:

artinya bobot berikutnya adalah bobot sekarang ditambah perubahan bobot, dimana perubahan bobot dapat ditulis:
error (e) bergerak ke belakang, untuk gambar JST diatas maka up-date bobot v (bobot antara hidden layer ke output layer) dilakukan terlebih dahulu, baru update bobot w (bobot antara masukan ke hidden layer).
perubahan bobot di hidden layer dapat dijabarkan sebagi berikut:






Pada tulisan kali ini saya akan mencoba menerangkan langkah demi langkah pembuatan program jaringan syaraf tiruan (JST) dengan menggunakan software Scilab 5.4.1
Jalankan software Scilab, maka akan tampak tampilan seperti gambar berikut ini:

pada menu kiri atas klik pada bagian Scinotes :

akan muncul tampilan Scinotes seperti ini :

Buat program JST di Scinotes seperti ini :

Catatan : Scinotes adalah editor untuk menuliskan program Scilab
Aturan penulisan program :
tanda " // " (garis miring dua kali) digunakan untuk menuliskan keterangan, jadi tidak akan diproses dalam program
tanda ";" (titik koma) untuk mengakhiri setiap perintah agar tidak muncul dalam editor consule di Scilab
Berikut ini gambar struktur JST yang akan kita buat programnya :

Berikut ini listring program JST pada Scinotes,
Setelah program dibuat jalankan program dengan men-klik run seperti gambar dibawah ini:
Kemudian simpanlah program yang dibuat di folder yang anda kehendaki.
Untuk melihat hasil run/exsekusi program dapat dilihat di menu editor Scilab pada posisi kanan atas, seperti gambar berikut:
untuk melihat nilai varibel yang telah dibuat dalam program klik pada bagian varibelnya maka akan muncul seperti ini:
(contoh melihat variabel w / bobot klik variabel w)
atau untuk melihat nilai variabel yang telah dibuat dalam program dapat dituliskan pada editor/consule Scilab, dilanjutkan dengan menekan tombol enter maka akan muncul nilai variabel seperti gambar dibawah ini:
gambar diatas memperlihatkan nilai a dan nilai target yang hampir sama, ini menunjukan program tersebut sudah berjalan dengan baik.
Tahap demi tahap program JST dapat dijabarkan sebagai berikut:
Inisialisasi awal menentukan struktur JST seperti:
- Jumlah masukan/input
- Jumlah neuron di lapisan tersembunyi (hidden layer)
- Jumlah keluaran/output
- Kecepatan Pembelajaran (Learing rate)
- Bobot awal input ke hidden layer
- Bobot awal hiden layer ke output layer
- Nilai masukan
- Target
program tersebut diatas dapat menghasilkan bobot sebanyak jXi
perhatikan notasi untuk w dimulai dari tujuan kemudian asal masukan atau ditulis w(j,i) , j=adalah neuron tujuan dan i=adalah masukan
Berikut ini listing program untuk membuat/men-generate bobot awal di hidden layer ke output layer:
Pemberian nilai target dan masukan/input dapat ditulis sebagai berikut:
tanda ";"(titik koma) menyatakan bentuk matrix [ix1] kalau menggunakan "," (koma) matrix [1xi]
Perhatikan pada gambar dj, dalam bentuk persamaan matematiknya dapat ditulis :
dj= ∑ (pi.wji)
dalam bentuk program Scilab dapat ditulis :

hj=f1(dj) keluaran adalah fungsi aktifasi dari dj, jika menggunakan sigmoid fungsi dapat dituliskan

Nilai keluaran neuron pada hidden layer merupakan masukan bagi neuron pada layer output,
persamaannya dapat ditulis:
dan Keluaran JST (a) tergantung dari aktivasi fungsi yang digunakan, apada contoh ini menggunakan sigmoid fungsi dengan rumusan sebagai berikut:
dalam bentuk program scilab dapat ditulis:
Dalam proses pembelajaran maka keluaran JST dibandingkan dengan target yang ingin dicapai, jika terjadi perbedaan ini berarti masih ada error/kesalahan
yang harus diperbaiki, persamaannya untuk error (e) dapat ditulis:
error = target - keluaran JST
atau
e = t -a
dalam bentuk program scilab dapat ditulis:
perhatikan listring program diatas banyaknya error(e) adalah sebanyak target /keluaran JST.
Setelah didapat error maka proses selanjutnya adalah "BACKPROPAGATION" yaitu proses meng-update bobot sehingga dihasilkan keluaran sesuai dengan target yang diinginkan, proses ini juga disebut proses belajar JST.
Secara umum update bobot dapat dirumuskan sebagai berikut:
artinya bobot berikutnya adalah bobot sekarang ditambah perubahan bobot, dimana perubahan bobot dapat ditulis:
persamaan diatas menunjukan perubahan bobot adalah negatif/berawanan dari adanya perubahan E terhadap w, dimana E adalah cost energi dari error (e) :
E=cost energi fungsi, e=error
Proses up-date bobot dilihat dari sisi kanan ke kiri atau dari sisi keluaran ke masukan JST,error (e) bergerak ke belakang, untuk gambar JST diatas maka up-date bobot v (bobot antara hidden layer ke output layer) dilakukan terlebih dahulu, baru update bobot w (bobot antara masukan ke hidden layer).
perubahan bobot di hidden layer dapat dijabarkan sebagi berikut:
f'(q) dapat dicari sebagai berikut, jika mengunakan fungsi sigmoid :
maka :
jadi :
dalam bentuk program scilab dapat ditulis:
untuk perubahan w dapat dijabarkan sebagai berikut:
dalam bentuk scilab dapat ditulis:
Untuk meng-update bobot w dan v dapat dijabarkan sebagai berikut:
dan
dalam bentuk program scilab dapat dituliskan :
dan yang terakhir adalah untuk memyimpan data error :
Semua program mulai baris 31 s/d 104 berulang sampai k=iterasi, dimana banyaknya iterasi sdh di masukan pada inisilisasi awal.
Berikut ini ket program looping pada baris ke 30 dan diakhiri baris ke 105
Langganan:
Postingan (Atom)