Anda di halaman 1dari 59

BAB I

PENDAHULUAN
1.1

Latar Belakang
Keunggulan manusia dibanding dengan makhluk lainnya terletak pada

kecerdasannya. Dengan kecerdasan manusia menguasai ilmu pengetahuan dan teknologi,


berkembanglah suatu cabang ilmu yang disebut Artifical Intelligence (AI) atau
kecerdasan buatan yang mana merupakan cabang ilmu komputer yang konsern dengan
pengautomatisasi tingkah laku cerdas. Dari perspektif

kecerdasan (Intelligence), AI

adalah bagian membuat mesin yang cerdas dan dapat melakukan hal-hal yang
sebelumnya hanya dapat dilakukan oleh manusia. Dari perspektif bisnis, AI adalah
sekelompok alat bantu (tools) yang berdayaguna, dan metodologi yang menggunakan
tool-tool tersebut untuk menyelesaikan masalah-masalah bisnis. Dari perspektif
pemograman (programming), AI juga meliputi studi tentang pemograman simbolik,
pemecahan masalah, proses pencarian (search). Dengan menggunakan kecerdasan buatan
tersebut manusia dapat membuat suatu teknik pengendalian yang canggih yang mampu
membantu memudahkan pekerjaan manusia.
1.2

Rumusan Masalah
Rumusan masalah ini menjelaskan tentang:
1. Definisi sistem kontrol.
2. Definisi sistem cerdas (AI).
3. Bermacam-macam bidang yang menggunakan AI.
4. Aplikasi kontrol dengan sistem cerdas.

1.3

Maksud dan Tujuan


Adapun maksud dan tujuan makalah ini dibuat adalah:
1. Menjelaskan kepada pembaca mengenai sistem kontrol.
2. Menjelaskan kepada pembaca tentang sistem cerdas serta jenis-jenisnya.
3. Menjelaskan kepada pembaca mengenai aplikasi sistem kontrol dengan sistem
cerdas.
BAB II
PEMBAHASAN

2.1

Definisi Sistem Kontrol


Secara umum sistem pengendalian adalah susunan komponen-komponen fisik

yang dirakit sedemikian rupa sehingga mampu mengatur sistemnya sendiri atau sistem

diluarnya. Sistem kontrol adalah proses pengaturan atau pengendalian terhadap satu atau
beberapa besaran (variabel, parameter) sehingga berada pada suatu harga range tertentu.
Istilah lain sistem kontrol atau teknik kendali adalah teknik pengaturan, sistem
pengendalian, atau sistem pengontrolan( Pakpahan, 1988).
Sistem pengendalian atau teknik pengaturan juga dapat didefinisikan suatu usaha
atau perlakuan terhadap suatu sistem dengan masukan tertentu guna mendapatkan
keluaran sesuai yang diinginkan . Dalam buku berjudul Modern Control Systems,
bahwa sistem pengaturan merupakan hubungan timbal balik antara komponen-komponen
yang membentuk suatu konfigurasi sistem yang memberikan suatu hasil yang
dikehendaki berupa respon (Dorf, 1983).
Contoh sistem pengaturan yang paling mendasar adalah kendali on -off saklar
listrik. Aktivitas menghidupkan dan mematikan saklar menyebabkan adanya situasi
saklar hidup atau mati. Masukan on atau off mengakibatkan terjadinya proses pada suatu
pengendalian saklar listrik sehingga sistem bekerja sesuai dengan kondisi yang
diinginkan, yaitu listrik menyala atau mati. Keadaan on-off (hidup atau mati) merupakan
masukan, sedangkan mengalir dan tidak mengalirnya listrik merupakan keluaran. Suatu
keadaan dimana listrik sudah dihidupkan namun tidak menyala, berarti ada yang salah
pada sistem tersebut. Proses yang dicontohkan itu mengilustrasikan sistem kendali yang
terjadi secara manual.
2.2
Definisi Sistem Cerdas
Sistem cerdas atau yang biasa disebut juga dengan Artificial Intelegent adalah
kecerdasan yang diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat
melakukan pekerjaaan yang dapat dilakukan oleh manusia. Jadi kesimpulannya membuat
suatu sistem yang berperasaan seperti halnya manusia pada umumnya. Menurut
Encyclopedia Britannica, AI adalah kemampuan komputer untuk melakukan tugas yang
dikaitkan dengan keerdasan manusia. Contohny, bermain catur, menghitung matematika,
dan lainnya. Jadi, semua komputer adalah AI sistem. Meurut Elaine Rich, AI adalah studi
tentang bagaimana membuat komputer melakukan hal-hal yang dilakukan oleh manusia.
Berbagai macam bidang yang menggunakan AI (Artificial Intelligent) atau kecerdasan
buatan diantaranya adalah, Sistem Pakar, Algoritma Genetika, Jaringan Syaraf Tiruan
(JST) dan Logika Fuzzy.
BAB III
ISI

3.1

Sistem Pakar
Pakar adalah orang yang memiliki pengetahuan, penilaian, pengalaman, metode

khusus, serta kemampuan untuk menerapkan bakat ini dalam memberi nasihat dan
memecahkan masalah. Misalnya seorang dokter, penasehat keuangan, pakar mesin mobil,
dll.
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
non-pakar dalam memecahkan problem yang kompleks. Kepakaran mempunyai sifat
berjenjang, pakar top memiliki pengetahuan lebih banyak daripada pakar yunior.
Sistem Pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke
komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan para
ahli.
Sistem pakar diciptakan tidak untuk menggantikan kedudukan seorang pakar
tetapi untuk memasyarakatkan pengetahuan & pengalaman pakar tersebut. Tujuan dari
sebuah sistem pakar adalah untuk mentransfer kepakaran yang dimiliki seorang pakar
kedalam komputer, dan kemudian kepada orang lain (nonexpert).
Bentuk umum sistem pakar adalah suatu program yang dibuat berdasarkan suatu
set aturan yang menganalisis informasi (biasanya diberikan oleh pengguna suatu sistem)
mengenai suatu kelas masalah spesifik serta analisis matematis dari masalah tersebut.
Sistem Pakar memberikan banyak keuntungan bagi operasi perusahaan dan
manajer, tetapi memiliki keterbatasan significan. Artificial Intelligence merupakan suatu
aktivitas untuk menyediakan berbagai mesin seperti komputer dengan menampilkan
perilaku dengan penalaran yang cerdas apabila diamati sebagai manusia. Artificial
Intelligence menyajikan berbagai aplikasi komputer yang canggih untuk menyamai
berbagai jenis penalaran manusia.
SP dikembangkan pertama kali oleh komunitas AI tahun 1960an. SP yang pertama
adalah General Purpose Problem Solver (GPS) yang dikembangkan oleh Newel Simon.
3.1.1

Pengembangan Sistem Pakar

Pengembangan sistem pakar dibagi menjadi dua generasi:


1. Sistem pakar generasi pertama menggunakan aturan jika-maka untuk

merepresentasikan dan menyimpan pengetahuannya.


2. Sistem pakar generasi kedua jauh lebih fleksibel dalam mengadopsi banyak

representasi pengetahuan dan metode pertimbangan.


Pengalihan keahlian dari para ahli ke media elektronik seperti komputer
untuk kemudian dialihkan lagi pada orang yang bukan ahli, merupakan tujuan
utama dari sistem pakar. Proses ini membutuhkan 4 aktivitas yaitu:
1. Tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya),
2. Representasi pengetahuan (ke komputer),
3. Inferensi pengetahuan, dan
4. Pengalihan pengetahuan ke user.
Pengetahuan yang disimpan di komputer disebut sebagai basis
pengetahuan, yaitu: fakta dan prosedur (biasanya berupa aturan). Salah satu fitur
yang harus dimiliki oleh sistem pakar adalah kemampuan untuk menalar. Jika
keahlian-keahlian sudah tersimpan sebagai basis pengetahuan dan tersedia
program yang mampu mengakses basis data, maka komputer harus dapat
diprogram untuk membuat inferensi. Proses inferensi ini dikemas dalam bentuk
motor inferensi (inference engine). Dan setiap sub sistem mempunyai sifat dari
sistem untuk menjalankan suatu fungsi sistem tertentu dan mempengaruhi proses
sistem secara keseluruhan.
Tujuan pengembangan Sistem Pakar adalah :
1. Mempermudah kerja tenaga ahli.
2. Mengganti tenaga ahli.
3. Menggabungkan kemampuan tenaga ahli.
4. Training tenaga ahli.
5. Mengurangi resiko pada pekerjaan yang berbahaya.
6.
3.1.2

Menyediakan ahli pada bidang pekerjaan kering.


Komponen atau Bagian Utama Sistem Pakar
A. User Interface (Antarmuka Pemakai)
4

Antarmuka pemakai, memungkinkan pemakai untuk berinteraksi


dengan expert system. User interface digunakan manajer untuk meng-enter
instruksi dan informasi ke dalam sistem pakar dan menerima informasi dari
sistem pakar.
1. Input Sistem Pakar
User interface dirancang untuk mempermudah dialog dua arah antara
sistem dan pemakai dengan menmpilkanteknik tanya jawab dan pengisian
formulir kemudian muncul bahasa perintah dan menu elektronik dan
sistem manajemen data base.
2. Output Sistem pakar
Sistem pakar dirancang untuk menyarankan pemecahan.
B. Knowledge Base (basis pengetahuan)
Knowledge Base berisi pengetahuan-pengetahuan (pengetahuan
gabungan) dalam memahami, merumuskan, dan penyelesaian masalah.
Knowledge Base adalah bagian dari sistem pakar yang berisi domain
pengetahuan.
Knowledge base terdiri dari fakta yang menggambarkan area problem
atau problem domain dan juga teknik penyajian yang menggunakan fakta
sesuai logika. Domain pengetahuan seorang pakar pada dasarnya adalah
spesifik terhadap domain masalah.
C. Inference Engine (mesin inferensi)
Inference

engine

bertugas

untuk

menganalisis

pengetahuan,

memberikan kemampuan penalaran dan menarik kesimpulan berdasarkan


knowledge base.
D. Development Engine
Komponen yang digunakan untuk mengolah sistem pakar, terdiri dari
bahasa pemrograman.
3.1.3

Ciri-ciri dan Bentuk Sistem Pakar


Ciri-ciri Sistem Pakar adalah :

a)

Memiliki fasilitas informasi yang handal

b)

Mudah dimodifikasi
5

c)

Dapat digunakan dalam berbagai jenis komputer

d)

Memilki kemampuan untuk belajar beradaptasi.

e)

Bekerja secara sistematis berdasarkan pengetahuan dan mekanisme


tertentu.

f)

Pengambilan keputusan berdasarkan kaidah-kaidah tertentu dan dapat


merespons masukkan user (melalui kotak dialog).

g)

Dapat menalar data-data yang tidak pasti dan memberikan beberapa alasan
pemilihan.

h)

Dikembangkan secara bertahap dan terbatas pada bidang keahlian tertentu


saja.

i)

Outputnya berupa saran atau anjuran.


Bentuk Sistem Pakar :

Berdiri sendiri. Sistem jenis ini merupakan s/w yang berdiri


sendiri tidak tergabung dengan s/w lain.

Tergabung. Sisetm ini merupakan bagian program yang


terkandung di dalam suatu algoritma (konvensional) .

Menghubungkan ke s/w lain. Bentuk ini biasanya merupakan SP


yang menghubungkan ke suatu paket program tertentu, misalnya DBMS.

Sistem mengabdi. Sistem ini merupakan bagian dari computer


khusus yang dihubungkan dengan suatu fungsi tertentu.

3.1.4

Kelebihan dan Kelemahan Sistem Pakar


1. Kelebihan Sistem Pakar

1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli


2. Menyederhanakan pekerjaan dan meningkatnya efisiensi kerja
3. Bisa melakukan proses secara berulang secara otomatis
4. Menyimpan pengetahuan dan keahlian para pakar
5. Meningkatkan output dan produktivitas
6. Meningkatkan kualitas
7. Mampu mengambil dan melestarikan keahlian para pakar
8. Mampu beroperasi dalam lingkungan berbahaya
9. Memiliki kemampuan untuk mengakses pengetahuan
6

10. Memiliki realibilitas


11. Meningkatkan kapabilitas system computer
12. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap
dan mengandung ketidakpastian
13. Sebagai media pelengkap dalam pelatihan
14. Meningkatkan kapabilitas dalam penyelesaian masalah
15. Menghemat waktu dalam pengambilan keputusan
2.Kelemahan Sistem Pakar
1.

Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal

2.

Sulit dikembangkan. Hal ini erat kaitannya dengan ketersediaan pakar


dalam bidangnya. Sistem pakar hanya dapat menangani pengetahuan yang
konsisten. Sistem pakar dirancang dengan aturan-aturan yang hasilnya
sudah pasti dan konsisten sesuai dengan alur di diagram pohonnya. Untuk
pengetahuan yang cepat berubah-rubah dari waktu ke waktu, maka
knowledge base di sistem pakar harus selalu diubah, yang tentu cukup
merepotkan.

3.

System pakar tidak 100% bernilai benar.Sistem pakar tidak dapat


menangani hal yang bersifat judgement (Pertimbangan atau intuisi).
Sistem pakar memberikan hasil yang pasti, sehingga keputusan akhir
pengambilan keputusan jika melibatkan kebijaksaaan dan institusi masih
tetap di tangan manajemen.

3.2

Algortima Genetika
Algoritma Genetika atau Genetic Algorithm (GA) merupakan algoritma yang

terinspirasi oleh teori evolusi dari Charles Darwin. Dengan kata lain pencarian solusi
suatu masalah dengan algoritma genetika akan terus berevolusi. Algoritma genetika
memberikan solusi dari masalah yang tidak memiliki suatu metode pencarian solusi yang
tepat, ataupun bila ada, mungkin membutuhkan waktu yang lama dalam mencari
solusinya. Pencarian solusi dengan algoritma genetika ini diminati oleh karena tidak

membutuhkan waktu yang lama. Selain itu hasil dari algoritma genetika ini cukup
memuaskan dan dapat diaplikasikan pada semua bidang.
Inti dari algoritma genetika adalah secara bertahap akan mencari solusi terbaik
(survival of the fittest) dari begitu banyak solusi yang ada. Pertama-tama algoritma
genetika bekerja dengan membuat beberapa solusi secara acak, tentu saja dari tahapan
pertama ini solusinya kemungkinan masih buruk. Solusi tersebut akan mengalami proses
evolusi secara terus menerus dan akan menghasilkan suatu solusi yang lebih baik. Setiap
solusi yang terbentuk mewakili satu kromosom dan satu individu terdiri dari satu
kromosom. Kumpulan dari individu-individu ini akan membentuk suatu populasi, dari
populasi ini akan lahir populasi-populasi baru sampai dengan sejumlah generasi yang
ditentukan.
Gen dalam kasus ini adalah urutan praktikum yang telah dikodekan terlebih
dahulu sehingga membentuk suatu kromosom. Kromosom merupakan kumpulan dari
gen-gen yang ada, yang berarti bahwa panjang kromosom akan sesuai dengan jumlah
praktikum yang dibutuhkan. Sedangkan individu merupakan kumpulan kromosom, dalam
kasus ini satu individu memiliki satu kromosom. Sedangkan populasi, merupakan
kumpulan individu yang telah ditentukan jumlahnya oleh user. Dalam eksekusinya,
algoritma genetika akan dilakukan untuk tiap kelompok atau kategori praktikum.
3.2.1

Teori Dasar Algoritma Genetika


Algoritma genetika yang dikembangkan oleh Goldberg adalah algoritma

komputasi yang diinspirasi teori evolusi Darwin yang menyatakan bahwa


kelangsungan hidup suatu makhluk dipengaruhi aturan yang kuat adalah yang
menang. Darwin juga menyatakan bahwa kelangsungan hidup suatu makhluk
dapat dipertahankan melalui proses reproduksi, crossover, dan mutasi. Konsep
dalam teori evolusi Darwin tersebut kemudian diadopsi menjadi algoritma
komputasi untuk mencari solusi suatu permasalahan dengan cara yang lebih
alamiah. Sebuah solusi yang dibangkitkan dalam algoritma genetika disebut
sebagai chromosome, sedangkan kumpulan chromosome-chromosome tersebut
disebut sebagai populasi. Sebuah chromosome dibentuk dari komponenkomponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan
numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin
8

diselesaikan.

Chromosome-chromosome

tersebut

akan

berevolusi

secara

berkelanjutan yang disebut dengan generasi. Dalam tiap generasi chromosomechromosome tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap
masalah yang ingin diselesaikan (fungsi_objektif) menggunakan ukuran yang
disebut dengan fitness. Untuk memilih chromosome yang tetap dipertahankan
untuk generasi selanjutnya dilakukan proses yang disebut dengan seleksi. Proses
seleksi chromosome menggunakan konsep aturan evolusi Darwin yang telah
disebutkan sebelumnya yaitu chromosome yang mempunyai nilai fitness tinggi
akan memiliki peluang lebih besar untuk terpilih lagi pada generasi selanjutnya.
Chromosome-chromosome baru yang disebut dengan offspring, dibentuk
dengan cara melakukan perkawinan antar chromosome-chromosome dalam satu
generasi yang disebut sebagai proses crossover. Jumlah chromosome dalam
populasi yang mengalami crossover ditetukan oleh paramater yang disebut
dengan crossover_rate. Mekanisme perubahan susunan unsur penyusun mahkluk
hidup akibat adanya faktor alam yang disebut dengan mutasi direpresentasikan
sebagai proses berubahnya satu atau lebih nilai gen dalam chromosome dengan
suatu nilai acak. Jumlah gen dalam populasi yang mengalami mutasi ditentukan
oleh parameter yang dinamakan mutation_rate. Setelah beberapa generasi akan
dihasilkan chromosome chromosome yang nilai gen-gennya konvergen ke suatu
nilai tertentu yang merupakan solusi terbaik yang dihasilkan oleh algoritma
genetika terhadap permasalahan yang ingin diselesaikan.

3.2.2

Aplikasi Algoritma Genetika


Berikut adalah contoh aplikasi algoritma genetika yang digunakan untuk

menyelesaikan masalah kombinasi. Misalkan ada persamaan a+2b+3c+4d = 30,


kita mencari nilai a, b, c, dan d yang memenuhi persamaan diatas. Kita mencoba
menggunakan algoritma genetika untuk menyelesaikan permasalahan diatas.
Diagram alir dari algoritma genetika untuk menyelesaikan permasalahan diatas
dapat dilihat pada Gambar 1.

Penjelasan mengenai langkah-langkah penyelesaian permasalahan diatas menggunakan


algoritma genetika adalah sebagai berikut:
1.

Pembentukan chromosome
Karena yang dicari adalah nilai a, b, c, d maka variabel a, b, c, d dijadikan

sebagai gen-gen pembentuk chromosome. Batasan nilai variabel a adalah bilangan


integer 0 sampai 30. Sedangkan batasan nilai variabel b, c, dan d adalah bilangan integer
0 sampai 10.
2.

Inisialisasi
Proses inisialisasi dilakukan dengan cara memberikan nilai awal gen-gen dengan

nilai acak sesuai batasan yang telah ditentukan.


Misalkan kita tentukan jumlah populasi adalah 6, maka:
10

Chromosome[1] = [a;b;c;d] = [12;05;03;08]


Chromosome[2] = [a;b;c;d] = [02;01;08;03]
Chromosome[3] = [a;b;c;d] = [10;04;03;04]
Chromosome[4] = [a;b;c;d] = [20;01;10;06]
Chromosome[5] = [a;b;c;d] = [01;04;03;09]
Chromosome[6] = [a;b;c;d] = [20;05;07;01]
3.

Evaluasi Chromosome
Permasalahan yang ingin diselesaikan adalah nilai variabel a, b, c, dan d yang

memenuhi persamaan a+2b+3c+4d = 30, maka fungsi_objektif yang dapat digunakan


untuk mendapatkan solusi adalah fungsi_objektif(chromosome) = | (a+2b+3c+4d) 30
|
Kita hitung fungsi_objektif dari chromosome yang telah dibangkitkan:
fungsi_objektif(chromosome[1]) = Abs(( 12 + 2*5 + 3*3 + 4*8 ) - 30)
= Abs((12 + 10 + 9 + 32 ) - 30)
= Abs(63 - 30)
= 33
fungsi_objektif(chromosome[2]) = Abs(( 2 + 2*1 + 3*8 + 4*3 ) - 30)
= Abs(( 2 + 2 + 24 + 12 ) - 30)
= Abs(40 - 30)
= 10
fungsi_objektif(chromosome[3]) = Abs(( 10 + 2*4 + 3*3 + 4*4 ) - 30)
= Abs(( 10 + 8 + 9 + 16 ) - 30)
= Abs(43 - 30)
= 13
fungsi_objektif(chromosome[4]) = Abs(( 20 + 2*1 + 3*10 + 4*6 ) - 30)
= Abs(( 20 + 2 + 30 + 24 ) - 30)
= Abs(76 - 30)
= 46
fungsi_objektif(chromosome[5]) = Abs(( 1 + 2*4 + 3*3 + 4*9 ) - 30)
= Abs(( 1 + 8 + 9 + 36 ) - 30)
= Abs(54 - 30)
= 24
fungsi_objektif(chromosome[6]) = Abs(( 20 + 2*5 + 3*7 + 4*1 ) - 30)
= Abs(( 20 + 10 + 21 + 4) - 30)
= Abs(55 - 30)
= 25
Rata-rata dari fungsi objektif adalah:
rata-rata = (33+10+13+46+24+25)/6
= 151 / 6
= 25.167

11

4.

Seleksi Chromosome
Proses seleksi dilakukan dengan cara membuat chromosome yang mempunyai

fungsi_objektif kecil mempunyai kemungkinan terpilih yang besar atau mempunyai nilai
probabilitas

yang

tinggi.

Untuk itu dapat

digunakan fungsi

fitness

= (1/

(1+fungsi_objektif)), fungsi_objektif perlu ditambah 1 untuk menghindari kesalahan


program yang diakibatkan pembagian oleh 0.
fitness[1]

= 1 / (fungsi_objektif[1]+1)
= 1 / 34
= 0.0294
fitness[2]
= 1 / (fungsi_objektif[2]+1)
= 1 / 11
= 0.0909
fitness[3] = 1 / (fungsi_objektif[3]+1)
= 1 / 14
= 0.0714
fitness[4] = 1 / (fungsi_objektif[4]+1)
= 1 / 47
= 0.0212
fitness[5] = 1 / (fungsi_objektif[5]+1)
= 1 / 25
= 0.0400
fitness[6] = 1 / (fungsi_objektif[6]+1)
= 1 / 26
= 0.0385
total_fitness
= 0.0294 + 0.0909 + 0.0714 + 0.0212 + 0.04 + 0.0385
= 0.2914
Rumus untuk mencari probabilitas: P[i] = fitness[i] / total_fitness
P[1] = 0.0294 / 0.2914
= 0.1009
P[2] = 0. 0909 / 0.2914
= 0.3119
P[3] = 0. 0714 / 0.2914
= 0.2450
P[4] = 0. 0212 / 0.2914
= 0.0728
P[5] = 0.04 / 0.2914
= 0.1373
P[6] = 0.0385 / 0.2914
= 0.1321

12

Dari probabilitas diatas dapat kita lihat kalau chromosome ke 2 yang mempunyai fitness
paling besar maka chromosome tersebut mempunyai probabilitas untuk terpilih pada
generasi selanjutnya lebih besar dari chromosome lainnya. Untuk proses seleksi kita
gunakan roulete wheel, untuk itu kita harus mencari dahulu nilai kumulatif
probabilitasnya:
C[1] = 0.1009
C[2] = 0.1009+ 0.3119
= 0.4128
C[3] = 0.1009+ 0.3119 + 0.2450
= 0.6578
C[4] = 0.1009+ 0.3119 + 0.2450 + 0.0728
= 0.7306
C[5] = 0.1009+ 0.3119 + 0.2450 + 0.0728 + 0.1373
= 0.8679
C[6] = 0.1009+ 0.3119 + 0.2450 + 0.0728 + 0.1373 + 0.1321
=1
Setelah dihitung cumulative probabilitasnya maka proses seleksi menggunakan rouletewheel dapat dilakukan. Prosesnya adalah dengan membangkitkan bilangan acak R dalam
range 0-1.
Jika R[k] < C[1] maka pilih chromosome 1 sebagai induk, selain itu pilih chromosome
ke-k sebagai induk dengan syarat C[k-1] < R < C[k]. Kita putar roulete wheel sebanyak
jumlah populasi yaitu 6 kali (bangkitkan bilangan acak R) dan pada tiap putaran, kita
pilih satu chromosome untuk populasi baru. Misal:
R[1] = 0.201
R[2] = 0.284
R[3] = 0.009
R[4] = 0.822
R[5] = 0.398
R[6] = 0.501
Angka acak pertama R[1] adalah lebih besar dari C[1] dan lebih kecil daripada C[2]
maka pilih chromosome[2] sebagai chromosome pada populasi baru, dari bilangan acak
yang telah dibangkitkan diatas maka populasi chromosome baru hasil proses seleksi
adalah:
chromosome[1] = chromosome[2]
chromosome[2] = chromosome[2]
chromosome[3] = chromosome[1]
chromosome[4] = chromosome[5]
chromosome[5] = chromosome[2]

13

chromosome[6] = chromosome[3]
Chromosome baru hasil proses seleksi:
chromosome[1] = [02;01;08;03]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;08]
chromosome[4] = [01;04;03;09]
chromosome[5] = [02;01;08;03]
chromosome[6] = [10;04;03;04]
5.

Crossover
Setelah proses seleksi maka proses selanjutnya adalah proses crossover. Metode

yang digunakan salah satunya adalah one-cut point, yaitu memilih secara acak satu posisi
dalam chromosome induk kemudian saling menukar gen. Chromosome yang dijadikan
induk dipilih secara acak dan jumlah chromosome yang mengalami crossover
dipengaruhi oleh parameter crossover_rate ( c ).
Pseudo-code untuk proses crossover adalah sebagai berikut:
begin
k 0;
while(k<populasi) do
R[k] random(0-1);
if (R[k] < c ) then
select Chromosome[k] as parent;
end;
k = k + 1;
end;
end;
Misal kita tentukan crossover probability adalah sebesar 25%, maka diharapkan dalam
satu generasi ada 50% Chromosome (3 chromosome) dari satu generasi mengalami
proses crossover. Prosesnya adalah sebagai berikut:
Pertama kita bangkitkan bilangan acak R sebanyak jumlah populasi
R[1] = 0.191
R[2] = 0.259
R[3] = 0.760
R[4] = 0.006
R[5] = 0.159
R[6] = 0.340
Maka Chromosome ke k akan dipilih sebagai induk jika R[k] < c, dari bilangan acak R
diatas maka yang dijadikan induk adalah chromosome[1], chromosome[4] dan
chromosome[5].

14

Setelah melakukan pemilihan induk proses selanjutnya adalah menentukan posisi


crossover. Ini dilakukan dengan cara membangkitkan bilangan acak dengan batasan 1
sampai (panjang chromosome-1), dalam kasus ini bilangan acak yang dibangkitkan
adalah 1 3. Misalkan didapatkan posisi crossover adalah 1 maka chromosome induk
akan dipotong mulai gen ke 1 kemudian potongan gen tersebut saling ditukarkan antar
induk.
chromosome[1] >< chromosome[4]
chromosome[4] >< chromosome[5]
chromosome[5] >< chromosome[1]
Posisi cut-point crossover dipilih menggunakan bilangan acak 1-3 sebanyak jumlah
crossover yang terjadi, misal
C[1] = 1
C[2] = 1
C[3] = 2
offspring[1] = chromosome[1] >< chromosome[4]
= [02;01;08;03] >< [01;04;03;09]
= [02;04;03;09]
offspring[4] = Chromosome[4] >< Chromosome[5]
= [01;04;03;09] >< [02;01;08;03]
= [01;01;08;03]
offspring[5] = Chromosome[5] >< Chromosome[1]
= [02;01;08;03] >< [02;01;08;03]
= [02;01;08;03]
Dengan demikian populasi Chromosome setelah mengalami proses crossover menjadi:
chromosome[1] = [02;04;03;09]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;08]
chromosome[4] = [01;01;08;03]
chromosome[5] = [02;01;08;03]
chromosome[6] = [10;04;03;04]
6.

Mutasi
Jumlah chromosome yang mengalami mutasi dalam satu populasi ditentukan oleh

parameter mutation_rate. Proses mutasi dilakukan dengan cara mengganti satu gen yang
terpilih secara acak dengan suatu nilai baru yang didapat secara acak. Prosesnya adalah
sebagai berikut. Pertama kita hitung dahulu panjang total gen yang ada dalam satu

15

populasi. Dalam kasus ini panjang total gen adalah total_gen

= (jumlah gen dalam

chromosome) * jumlah populasi


=4*6
= 24
Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan cara
membangkitkan bilangan integer acak antara 1 sampai total_gen, yaitu 1 sampai 24. Jika
bilangan acak yang kita bangkitkan lebih kecil daripada variabel mutation_rate (m)
maka pilih posisi tersebut sebagai sub-chromosome yang mengalami mutasi. Misal m
kita tentukan 10% maka diharapkan ada 10% dari total_gen yang mengalami populasi:
jumlah mutasi = 0.1 * 24
= 2.4
=2
Misalkan setelah kita bangkitkan bilangan acak terpilih posisi gen 12 dan 18 yang
mengalami mutasi. Dengan demikian yang akan mengalami mutasi adalah chromosome
ke-3 gen nomor 4 dan Chromosome ke-5 gen nomor 2. Maka nilai gen pada posisi
tersebut kita ganti dengan bilangan acak 0-30.
Misalkan bilangan acak yang terbangkitkan adalah 2 dan 5. Maka populasi chromosome
setelah mengalami proses mutasi adalah:
chromosome[1] = [02;04;03;09]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;02]
chromosome[4] = [01;01;08;03]
chromosome[5] = [02;05;08;03]
chromosome[6] = [10;04;03;04]
Setelah proses mutasi maka kita telah menyelesaikan satu iterasi dalam algoritma
genetika atau disebut dengan satu generasi. Maka fungsi_objective setelah satu generasi
adalah:
chromosome[1] = [02;04;03;09]
fungsi_objektif[1] = Abs(( 2 + 2*4 + 3*3 + 4*9 ) - 30)
= Abs(( 2 + 8 + 9 + 36 ) - 30)
= Abs( 55 - 30)
= 25
chromosome[2] = [02;01;08;03]
fungsi_objektif[2] = Abs(( 2 + 2*1 + 3*8 + 4*3 ) - 30)
= Abs(( 2 + 2 + 24 + 12 ) - 30)
= Abs(40 - 30)
= 10
16

chromosome[3] = [12;05;03;02]
fungsi_objektif[3] = Abs(( 12 + 2*5 + 3*3 + 4*2 ) - 30)
= Abs(( 12 + 10 + 9 + 8 ) - 30)
= Abs(39 - 30)
=9
chromosome[4] = [01;01;08;03]
fungsi_objektif[4] = Abs(( 1 + 2*1 + 3*8 + 4*3 ) - 30)
= Abs(( 1 + 2 + 24 + 12 ) - 30)
= Abs(39 - 30)
=9
chromosome[5] = [02;05;08;03]
fungsi_objektif[5] = Abs(( 2 + 2*5 + 3*8 + 4*3 ) - 30)
= Abs(( 2 + 10 + 24 + 12 ) - 30)
= Abs(48 - 30)
= 18
chromosome[6] = [10;04;03;04]
fungsi_objektif[6] = Abs(( 10 + 2*4 + 3*3 + 4*4 ) - 30)
= Abs(( 10 + 8 + 9 + 16 ) - 30)
= Abs(43 - 30)
= 13
Rata-rata fungsi objektif setelah satu generasi adalah:
rata-rata = ( 25 + 10 + 9 + 9 + 18 + 13) / 6
= 84 / 6
= 14.0
Dapat dilihat dari hasil perhitungan fungsi objektif diatas bahwa setelah satu generasi,
nilai hasil rata-rata fungsi_objektif lebih menurun dibandingkan hasil fungsi_objektif
pada saat sebelum mengalami seleksi, crossover dan mutasi. Hal ini menunjukkan bahwa
chromosome atau solusi yang dihasilkan setelah satu generasi lebih baik dibandingkan
generasi sebelumnya. Maka pada generasi selanjutnya chromosome-chromosome yang
baru adalah:
chromosome[1] = [02;04;03;09]
chromosome[2] = [02;01;08;03]
chromosome[3] = [12;05;03;02]
chromosome[4] = [01;01;08;03]
chromosome[5] = [02;05;08;03]
chromosome[6] = [10;04;03;04]
Chromosome-chromosome ini akan mengalami proses yang sama seperti generasi
sebelumnya yaitu proses evaluasi, seleksi, crossover dan mutasi yang kemudian akan
17

menghasilkan chromosome-chromosome baru untuk generasi yang selanjutnya. Proses


ini akan berulang sampai sejumlah generasi yang telah ditetapkan sebelumnya.
Setelah 50 generasi didapatkan chromosome yang terbaik adalah:
Chromosome = [07;05;03;01]
Jika didekode maka:
a=7 ; b=5 ; c=3 ; d=1
Jika dihitung terhadap persamaan f = a+2b+3c+4d:
7 + (2*5) + (3*3) + (4*1) = 30
3.3

Jaringan Saraf Tiruan


3.3.1

Jaringan Saraf Biologi


Otak manusia tersusun atas sel-sel saraf atau neuron-neuron yang

membentuk jaringan. Sekumpulan neuron (saraf) yang saling terhubung ini


berfungsi untuk memberikan sebuah tanggapan atas sebuah rangsangan yang
mengenainya. Setiap rangsangan memiliki tanggapan-tanggapan tersendiri dari
sebuah neuron tersebut terhadap jenis rangsangan yang mengenainya.
Sebuah neuron memiliki 3 tipe komponen yaitu dendrit (bagian yang
menerima rangsang dari axon), soma (badan sel saraf) dan axon (bagian sel yang
berhubungan dengan dendrit sel saraf lain dan membentuk simpul yang disebut
sinapsis). Dendrit dapat menerima banyak sinyal dari neuron lain. Sinyal adalah
impuls listrik yang dipancarkan menyebrangi celah sinapsis yang disebabkan
proses kimia. Tindakan dari pancaran proses kimia mengubah sinyal yang datang
(secara khas, dengan penskalaan frekuensi sinyal yang diterima). Proses tersebut
sama dengan sifat bobot dalam jaringan saraf tiruan.
Soma, atau badan sel menjumlahkan sinyal yang datang. Ketika masukan
cukup diterima, sel menjadi aktif, saat itulah sel mengirimkan sinyal melaui
axonnya ke sel lain. Kejadian ini menimbulkananggapan bahwa setiap sel saraf
berada dalam keadaan aktif atau tidak aktif, pada setiap satuan waktu. Sehingga
pengiriman sinyal dikenali sebagai kode biner. Kenyataannya, frekuensi dari
keadaan aktif bervariasi, sesuai dengan kekuatan sinyal yakni kuat atau lemah
magnitudenya. Pencocokan dengan kode biner ini dilakukan untuk menentukan
tahap-tahap dalam tiap waktu diskrit dan menjumlahkan semua aktivitas (sinyal
diterima atau dikirim) pada tahap tertentu berdasarkan satuan waktu. Transmisi

18

sinyal dari neuron tertentu disempurnakan dengan hasil kerja energy potensial
neuron yang disebabkan perbedaan konsentrasi ion-ion dari setiap sisi sarung
pelindung axon neuron (sumsum otak manusia). Ion-ion kebanyakan secara
langsung melibatkan zat-zat potassium, sodium dan klorida. Beberapa fitur
penting proses elemen dari jaringan saraf tiruan yang berasal dari cara kerja
jaringan saraf biologi:
a. Elemen pemroses menerima beberapa sinyal.
b. Sinyal memungkinkan dimodifikasi oleh bobot pada sinapsis penerima.
c. Elemen pemroses menjumlahkan bobot input.
d. Dalam lingkungan yang sesuai (jumlah input yang sesuai), neuron mengirimkan
output tunggal.
e. Output dari neuron khusus memungkinkan dipindahkan ke beberapa neuron lain
(melalui cabang axon).
Beberapa fitur jaringan saraf tiruan yang dipelajari dari neuron biologi:
a. Pemrosesan informasi bersifat lokal (meskipun cara berbeda dalam proses
transmisi, seperti aksi beberapa hormon, memungkinkan penganjuran cara
control proses yang bersifat keseluruhan).
b. Memori terdistribusi :
1. Memori yang berjangka panjang berada dalam sinapsis neuron atau bobot.
2. Memori jangka pendek merespon sinyal kiriman oleh neuron.
c. Kekuatan sinapsis dapat dimodifikasi oleh pengalaman.
d. Neuron pengirim untuk sinapsis mungkin bersifat pengeksitasi atau penghambat.
Karakteristik penting lain jaringan saraf tiruan yang merupakan bagian dari
sistem saraf biologi adalah toleransi kesalahan/kekurangan data. Sistem saraf
biologi memiliki toleransi kesalahan dalam 2 aspek:
a. Dapat mengenali banyak input sinyal yang beberapa diantaranya berbeda dengan
yang pernah dikenali sebelumnya. Sebagai contoh kemampuan manusia untuk
mengenali seseorang dari suatu gambaran atau mengenali seseorang setelah
periode yang lama.
b. Dapat menerima kerusakan ke dalam sistem saraf itu sendiri.

19

Manusia memiliki lebih dari 100 trilyun neuron. Kebanyakan diantaranya berada
di otak. Jika terjadi kerusakan pada salah satu bagian, maka akan memungkinkan
bagian lain akan menjalankan fungsi dari neuron yang rusak [6]. Adapun
perbandingan kedua jaringan tersebut dapat dilihat pada gambar 1.1 dan gambar
1.2.

Gambar 1.1 Neuron Biologis

Gambar1.2. Neuron Buatan


3.3.2

Pengertian Jaringan Syaraf Tiruan


Jaringan saraf merupakan representasi buatan dari otak manusia yang

selalu mencoba mensimulasikan proses pemebelajaran otak manusia tersebut.


Istilah buatan digunakan karena jaringan saraf di implementasikan dengan
menggunakan program komputer yang mampu menyelesaikan sejumlah proses
perhitungan selama proses pembelajaran. Jaringan Saraf Tiruan merupakan sistem
pemrosesan informasi yang memiliki karakteristik kemampuan yang secara umum
mirip dengan jaringan saraf biologi. Jaringan saraf tiruan telah dikembangkan
sebagai turunan model matematika dari kesadaran manusia atau saraf biologis,
karena berdasar pada asumsi bahwa:

20

a. Pemrosesan informasi terjadi pada beberapa elemen sederhana

yang disebut

neuron.
b. Sinyal lewat diantara neuron menciptakan jaringan koneksi.
c. Setiap koneksi penghubung memiliki bobot yang terhubung, yang dalam
jaringan saraf tertentu mengalikan sinyal yang ditransmisikan.
d. Setiap neuron mempunyai fungsi aktrivasi (biasanya non linier) pada jaringan
inputnya (jumlah dari bobot sinyal input) untuk menentukan sinyal outputnya.
Karakteristik dari jaringan saraf tiruan adalah:
a. Pola hubungan antar neuron ( yang menjadi arsitekturnya).
b. Metode penentuan bobot dalam koneksi (disebut sebagai proses latihan,
pembelajaran, atau Algoritma ).
c. Fungsi aktivasi.
Jaringan saraf biologis terdiri atas selsel yang disebut neuron. Pada
jaringan saraf tiruan, juga terdapat istilah neuron atau sering disebut unit, sel,
node. Setiap neuron terhubung dengan neuronneuron yang lain melalui layer
dengan bobot tertentu. Bobot disini melambangkan informasi yang digunakan
oleh jaringan untuk menyelesaikan persoalan. Pada jaringan saraf biologis, bobot
tersebut dapat dianalogikan dengan aksi pada proses kimia yang terjadi pada
synaptic gap. Sedangkan neuron mempunyai internal state yang disebut aktivasi.
Aktivasi merupakan fungsi dari input yang diterima. Suatu neuron akan
mengirimkan sinyal ke neuronneuron yang lain, tetapi pada suatu saat hanya ada
satu sinyal yang dikeluarkan walaupun sinyal tersebut ditransmisikan ke beberapa
neuron yang lain. Sistem jaringan saraf banyak digunakan dalam berbagai bidang
antara lain kedokteran, bisnis, keuangan, maupun elektronika termasuk
pemrosesan sinyal dan sistem kontrol.
Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara
paralel dan terdistribusi, hal ini terinspirasi oleh model kerja otak biologis.
Beberapa definisi tentang jaringan saraf tiruan adalah sebagai berikut di bawah
ini.
Hecht-Nielsend (1988) mendefinisikan sistem saraf buatan sebagai
berikut:

21

"Suatu neural network (NN), adalah suatu struktur pemroses informasi


yang terdistribusi dan bekerja secara paralel, yang terdiri atas elemen pemroses
(yang memiliki memori lokal dan beroperasi dengan informasi lokal) yang
diinterkoneksi bersama dengan alur sinyal searah yang disebut koneksi. Setiap
elemen pemroses memiliki koneksi keluaran tunggal yang bercabang (fan out) ke
sejumlah koneksi kolateral yang diinginkan (setiap koneksi membawa sinyal yang
sama dari keluaran elemen pemroses tersebut). Keluaran dari elemen pemroses
tersebut dapat merupakan sebarang jenis persamaan matematis yang diinginkan.
Seluruh proses yang berlangsung pada setiap elemen pemroses harus benar-benar
dilakukan secara lokal, yaitu keluaran hanya bergantung pada nilai masukan pada
saat itu yang diperoleh melalui koneksi dan nilai yang tersimpan dalam memori
lokal".
Menurut Haykin, S. (1994), Neural Networks: A Comprehensive
Foundation, NY, Macmillan, mendefinisikan jaringan saraf sebagai berikut:
Sebuah jaringan saraf adalah sebuah prosesor yang terdistribusi paralel dan
mempuyai kecenderungan untuk menyimpan pengetahuan yang didapatkannya dari
pengalaman dan membuatnya tetap tersedia untuk digunakan. Hal ini menyerupai
kerja otak dalam dua hal yaitu: 1. Pengetahuan diperoleh oleh jaringan melalui
suatu proses belajar. 2. Kekuatan hubungan antar sel saraf yang dikenal dengan
bobot sinapsis digunakan untuk menyimpan pengetahuan.
Dan menurut Zurada, J.M. (1992), Introduction To Artificial Neural
Systems,

Boston:

PWS

Publishing

Company,

mendefinisikan

sebagai

berikut:Sistem saraf tiruan atau jaringan saraf tiruan adalah sistem selular fisik
yang dapat memperoleh, menyimpan dan menggunakan pengetahuan yang
didapatkan dari pengalaman.
DARPA Neural Network Study (1988, AFCEA International Press, p. 60)
mendefinisikan jaringan saraf buatan sebagai berikut :
Sebuah jaringan saraf adalah sebuah sistem yang dibentuk dari sejumlah
elemen pemroses sederhana yang bekerja secara paralel dimana fungsinya
ditentukan oleh stuktur jaringan, kekuatan hubungan, dan pegolahan dilakukan
pada komputasi elemen atau nodes

22

3.3.3

Komponen Jaringan Saraf


Ada beberapa tipe jaringan saraf, tetapi hampir semuanya memiliki

komponenkomponen yang sama. Seperti halnya otak manusia, jaringan saraf juga
terdiri dari beberapa neuron, dan ada hubungan antara neuronneuron tersebut.
Neuronneuron tersebut akan mentransformasikan informasi yang diterima melalui
sambungan keluarnya menuju ke neuronneuron yang lain. Pada jaringan saraf,
hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada nilai
tertentu pada bobot tersebut. Pada gambar 1.3 menunjukkan struktur neuron pada
jaringan saraf.
bobot
Input
dari
neuron

neuron yang
lain

bobot

Fungsi aktivasi

Output

Output ke
neuron
neuron yang
lain

Gambar 1.3 Struktur neuron jaringan saraf


Jika kita lihat, neuron buatan ini sebenarnya mirip dengan sel neuron
biologis. Neuron-neuron buatan tersebut mempunyai cara kerja yang sama pula
dengan neuron - neuron biologis. Informasi (disebut: input) akan dikirim neuron
dengan bobot kedatangan tertentu. Input ini akan diproses suatu fungsi
perambatan yang akan menjumlahkan nilainilai semua bobot yang datang. Hasil
penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang
(threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut
melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan,
tetapi kalau tidak, neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut
diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobotbobot
outputnya ke semua neuron yang berhubungan dengannya.
Pada jaringan saraf, neuronneuron akan dikumpulkan dalam lapisan
lapisan (layer) yang disebut dengan lapisan neuron (neuron layers). Biasanya
neuronneuron pada satu lapisan akan dihubungkan dengan lapisanlapisan
sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Informasi
yang diberikan pada jaringan saraf akan dirambatkan dari lapisan ke lapisan,
23

mulai dari lapisan input sampai ke lapisan output melalui lapisan yang lainnya,
yang sering dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung
pada algoritma pembelajarannya, bisa jadi informasi tersebut akan dirambatkan
secara mundur pada jaringan. Beberapa jaringan saraf ada juga yang tidak
memiliki lapisan tersembunyi, dan ada juga jaringan saraf dimana neuron
neuronnya disusun dalam bentuk matriks.
3.3.4

BENTUK DAN ARSITEKTUR JARINGAN SARAF TIRUAN


Pada umumnya neuron yang terletak pada lapisan yang sama akan

memiliki keadaan sama. Faktor terpenting dalam menentukan kelakuan suatu


neuron adalah fungsi aktivasi dan pola bobotnya. Pada setiap lapisan yang sama,
neuronneuron akan memiliki fungsi aktivasi yang sama. Apabila neuronneuron
dalam suatu lapisan (misalkan lapisan tersembunyi) akan dihubungkan dengan
neuronneuron pada lapisan yang lain (misalkan lapisan output), maka setiap
neuron pada lapisan tersebut (misalkan lapisan tersembunyi) juga harus
dihubungkan dengan lapisan lainnya (misalkan lapisan output). Ada beberapa
bentuk arsitektur jaringan saraf [4], antara lain:
1.

Jaringan dengan lapisan tunggal (single layer net)


Jaringan ini hanya memiliki satu lapisan dengan bobotbobot terhubung.

Jaringan ini menerima input yang kemudian secara langsung akan mengolahnya
menjadi output tanpa harus melalui lapisan tersembunyi. Untuk lebih jelas dapat
dilihat pada gambar 4:
Sebuah neuron berinput tunggal diperlihatkan pada gambar 4. Input skalar
p dikalikan dengan skalar weight w untuk kodisi (bentuk) wp, salah bentuk ini
yang dikirim ke dalam penjumlah. Input yang lain, 1, adalah dikalikan dengan
bias b dan dilewatkan ke dalam penjumlah. Output dari penjumlah n sering kali
digunakan sebagai input net, yang berjalan ke dalam fungsi transfer f , yang
menghasilkan output neuron skalar a. (fungsi aktivasi disebut juga

fungsi

transfer dan offset disebut juga bias).


Bobot w berhubungan dengan sebuah kekuatan gabungan dari sel badan yang
direpresentasikan dengan penjumlahandan fungsi transfer, dan output neuron a
mengambarkan signal dalam axon

24

inputs

Multiple input neuron

a
b

b
a f ( Wp b )

Gambar 1.4 Neuron berinput tunggal


Output neuron dihitung sebagai berikut
a f wp b

Jika untuk sesaat, w 3, p 2

dan

b 1.5 , kemudian

a f 3 2 1.5 f 4.5

Output nyata bergantung pada fakta-fakta fungsi transfer yang dipilih. Kita akan
mendiskusikan transfer fungsi dalam bagian berikutnya.
Bias lebih mirip dengan bobot, kecuali jika mempunyai input konstan 1. Akan
tetapi, jika kita tidak menginginkan bias di dalam sebuah bagian neuron, bias ini
bisa diabaikan. Penting untuk w dan b diatur keduanya dalam bentuk neuron
berparameter skalar. Biasanya fungsi transfer dipilih oleh desainer dan kemudian
parameter w dan b akan diatur oleh beberapa peraturan pelatihan jadi neuron input
atau output yang saling berhubunngan ditetapkan terlebih dahulu dengan spesifik
tujuan (goal).
2. Jaringan dengan banyak lapisan (multilayer)
Jaringan ini memiliki satu atau lebih lapisan yang terletak diantara lapisan
input dan lapisan outputnya (memiliki satu atau lebih lapisan tersembunyi).
Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih
sulit dari pada jaringan dengan lapisan tunggal, tetapi pembelajarannya lebih rumit.
Jaringan ini pada banyak kasus lebih sukses dalam menyelesaikan masalah. Pada
gambar 1.5 menunjukkan jaringan saraf multilayer.
Gambar. 1.5 Jaringan saraf multilayer.
NILAI INPUT

X
1
V11

V12

X
2
Y

Z
V21
W1
1 V22

25
Z
V31
W2 2

X
3
V32

LAPISAN INPUT
MATRIXBOBOT
BOBOTKEKE 1
MATRIX
LAP.
HIDDEN
OUTPUT
2 LAYER
NILAI OUTPUT

3.3.5

FUNGSI AKTIVASI
Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan saraf

tiruan, antara lain:


1. Fungsi Undak Biner (Hard Limit)
Fungsi Undak Biner merupakan jaringan lapisan tunggal yang menggunakan
fungsi undak (step function) untuk mengkonversikan input dari suatu variabel
yang bernilai kontinyu ke suatu output biner (0 atau 1).
0, jika x 0
y=
1, jika x > 0

y
1

2. Fungsi Undak Biner (Threshold)


Fungsi undak biner dengan menggunakan nilai ambang sering juga disebut
dengan nama fungsi nilai ambang (thresholed) atau fungsi Heaviside. Fungsi
undak biner (dengan nilai ambang ) dirumuskan sebagai berikut dan gambarnya
dapat dilihat pada gambar 5:
0, jika x <
y=
1, jika x

y
1
26
0

3. Fungsi Bipolar (Symetric Hard Limit)


Fungsi bipolar dengan Symetric hard limit sebenarnya hampir sama dengan
fungsi undak biner, hanya saja output yang dihasilkan berupa 1, 0, -1. Fungsi
Symetric Hard Limit dirumuskan sebagai berikut dan gambarnya dapat dilihat
pada gambar 6.

y = 0, jika x <= 0

y = 1, jika x = 0

y = -1, jika x < 0


0

x
-1

Gambar 1.6. Fungsi Aktivasi Bipolar (Symetric Hard Limit)


4. Fungsi Bipolar (dengan threshold)
Fungsi bipolar dengan threshold sebenarnya hampir sama dengan fungsi undak
biner, hanya saja output yang dihasilkan berupa 1, 0 atau -1. Fungsi bipolar dengan
nilai ambang 0 dirumuskan sebagai berikut dan gambarnya dapat dilihat pada
gambar 7:hanya saja output yang dihasilkan berupa 1, 0, atau 1. Fungsi ini
dirumuskan sebagai berikut:
y = 0, jika x <= 0

y = 1, jika x = 0

y = -1, jika x < 0

27

-1
Gambar 1.7. Fungsi Aktivasi Bipolar (threshold)
5. Fungsi Linear (Identitas)
Fungsi ini memiliki nilai output yang sama dengan nilai inputnya, dirumuskan
sebagai berikut:
Y=x
6.Fungsi Saturating Linear
Fungsi ini akan bernilai 0 jika inputnya kurang dari , dan akan bernilai 1
jika inputnya lebih dari . Sedangkan jika nilai input terletak antara - dan , maka
outputnya akan bernilai sama dengan nilai inputnya ditambah . Fungsi saturating
linear ini dirumuskan sebagai berikut:

jika x 0
1

Y 0
jika x 0.5
x 0.5 jika 0.5 x 0.5

7. Fungsi Symetric Saturating Linear


Fungsi ini akan bernilai 1 jika inputnya kurang dari 1, dan akan bernilai 1
jika inputnya lebih dari 1. Sedangkan jika nilai input terletak antara -1 dan 1,
maka outputnya a0kan bernilai sama dengan nilai inputnya. Fungsi ini dapat
dirumuskan sebagai berikut:
8. Fungsi Sigmoid Biner
Fungsi ini digunakan untuk jaringan saraf yang dilatih dengan menggunakan
-1

Y=

{1

Jika x 1

Jika x -1

Jika 1 x 1

metode backpropagation, mempunyai range 0 sampai 1. Biasanya digunakan


untuk jaringan saraf yang membutuhkan nilai output yang terletak pada interval 0

28

sampai dengan 1, juga pada jaringan saraf yang nilai outputnya 0 atau 1. Fungsi
ini dirumuskan sebagai berikut:
y = f(x) =

1
1 e x

dengan f(x) = f(x)(1-f(x)).

...[1]

9. Fungsi Sigmoid Bipolar


Fungsi ini hampir sama dengan fungsi sigmoid biner, tetapi output fungsi ini
memiliki range 1 sampa 1. Fungsi ini dirumuskan sebagai berikut:
y = f(x) =

1 ex
1 ex

..[2]

Tabel. 1.1. Transfer Function


Name

Input / Output Relasi


a0

Hard limit
Symetrical
limit

hard

Saturating linier
saturating

Fungsi Matlab
Hardlim

a 1 n 0
a 1 n 0
a 1 n 0

Hardlim

an

Linier

Simetris
linier

n0

Symbol

Purelin

a0

n0

an

0 n 1

a 1
a 1

n 1
n 1

an

1 n 1

a 1

n 1

satlin

Satlin

Log sigmoid

1
1 e n

Logsig

Hyperbolic tangent
sigmoid

e n e n
e n e n

Tansig

Positive linier

a0

n0

an

0n

Poslin

29

Competitive

3.3.6

a 1

neuron with max n

a0

all other neurons

compet

Proses Pembelajaran
Pada otak manusia, informasi yang dilewatkan dari satu neuron ke neuron

yang lainnya berbentuk rangsangan listrik melalui dendrit. Jika rangsangan


tersebut diterima oleh suatu neuron, maka neuron tersebut akan membangkitkan
output ke semua neuron yang berhubungan dengannya sampai neuron tersebut
sampai ke tujuannya yaitu terjadinya suatu reaksi. Jika rangsangan yang diterima
terlalu halus, maka output yang dibangkitkan oleh neuron tersebut tidak akan
direspon. Tentu sangatlah sulit memahami bagaimana otak manusia itu belajar.
Selama proses pembelajaran, terjadi perubahan yang cukup berarti pada bobot
bobot yang menghubungkan antar neuron. Apabila ada rangsangan yang sama
yang diterima oleh neuron, maka neuron akan memberikan reaksi dengan cepat.
Tetapi, apabila nantinya ada rangsangan yang berbeda dengan apa yang diterima
oleh neuron, maka neuron akan beradaptasi untuk memberikan reaksi yang sesuai.
Jaringan saraf akan mencoba mensimulasikan kemampuan otak manusia
untuk belajar. Jaringan saraf tiruan juga tersusun atas neuron dan dendrit. Tidak
seperti model biologis, jaringan saraf memiliki struktur yang tidak dapat diubah,
dibangun oleh sejumlah neuron, dan memiliki nilai tertentu yang menunjukkan
seberapa besar koneksi antar neuron (dikenal dengan nama bobot). Perubahan
yang terjadi selama pembelajaran adalah perubahan nilai bobot. Nilai bobot akan
bertambah, jika informasi yang diberikan oleh neuron yang bersangkutan
tersampaikan, sebaliknya jika tidak disampaikan oleh suatu neuron ke neuron
yang lain, maka nilai bobot yang menghubungkan keduanya akan dikurangi. Pada
saat pembelajaran dilakukan pada input yang berbeda, maka nilai bobot akan
diubah secara dinamis hingga mencapai nilai yang cukup seimbang. Apabila nilai
ini telah tercapai yang mengindikasikan bahwa tiaptiap input telah berhubungan

30

dengan output yang diharapkan. Ada beberapa metode untuk proses pembelajaran
pada jaringan saraf tiruan ini, diantaranya:
1. Pembelajaran Terawasi (Supervised Learning)
Metode pembelajaran jaringan saraf disebut terawasi jika output yang
diharapkan telah diketahui sebelumnya. Pada proses pembelajaran, satu pola
input akan diberikan ke satu neuron pada lapisan input. Pola ini akan dirambatkan
disepanjang jaringan saraf hingga sampai ke neuron pada lapisan output. Lapisan
output ini akan membangkitkan pola output yang nantinya akan dicocokkan
dengan pola output targetnya. Apabila terjadi perbedaan antara output hasil
pembelajaran dengan pola target, maka disini akan muncul error. Apabila error
ini masih cukup besar, mengindikasikan bahwa masih perlu dilakukan lebih
banyak pembelajaran lagi.
2.

Pembelajaran Tak Terawasi (Unsupervised Learning)


Pada metode pembelajaran yang tak terawasi ini, tidak memerlukan target

output. Pada metode ini, tidak dapat ditentukan hasil

seperti apakah yang

diharapkan selama proses pembelajaran. Selama proses pembelajaran, nilai bobot


disusun dalam suatu range tertentu tergantung pada nilai input yang diberikan.
Tujuan pembelajaran ini adalah mengelompokkan unitunit yang hampir sama
dalam suatu area tertentu. Pembelajaran ini biasanya sangat cocok untuk
pengelompokan (klasifikasi) pola.
3.4

Logika Fuzzy
Logika Fuzzy adalah peningkatan dari logika Boolean yang berhadapan dengan

konsep kebenaran sebagian. Saat logika klasik menyatakan bahwa segala hal dapat
diekspresikan dalam istilah biner (0 atau 1, hitam atau putih, ya atau tidak), logika fuzzy
menggantikan kebenaran boolean dengantingkat kebenaran.
Teori klasik, himpunan adalah kumpulan elemen yang berhingga/tak-berhingga
milik dari suatu himpunantertentu yg disbt semesta pembicaraan. Elemen dari semesta
pembicaraan dapat termasuk atau tidak termasuk ke dalam himpunan A

31

Fungsi karakteristik yg bersifat Boolean/crisp atau tegas adalah fungsi takkontinu:

Sifat samar atau vagueness dpt dimasukkan ke dalam teori himpunan dgn
membuat fungsi karakteristik boleh bernilai tidak berhingga banyaknya di antara
nilai 0 dan nilai 1

Semesta pembicaraan X dgn elemen x:


Himp fuzzy A dlm semesta pembicaraan X adl himp pasangan berurutan (kontinu
& diskrit):

Fungsi keanggotaan A(x) adl pemetaan dari semesta pembicaraan ke rentang


tertutup [0, 1]:
Fungsi keanggotaan sama dengan ukuran sejauh mana elemen x termasuk ke
dalam himpunan A. Himpunan support A adalah himp bagian dr semesta
pembicaraan X dengan A(x) > 0. Contoh: Suhu air di titik tertentu dlm plant A

32

Suhu dinyatakan sbg bil bulat positif dlm [0, 100] Variabel fuzzy Low dipakai utk
definisi. Himpunan ini menyatakan sejauh mana suhu dianggap rendah/Low
terhadap seluruh nilai yang mungkin Fungsi keanggotaan A(x) memiliki nilai2
diskrit dlm satuan C yg dinyatakan dgn himpunan:

Atau secara lebih ringkas:

Lambang '+' menyatakan gabungan/union, bukan penambahan Lambang


menyatakan himpunan fuzzy, bukan integral dan Penjumlahan

1. Variabel fuzzy = variabel dgn nilai berupa label2 himp fuzzy (linguistic values)
2. Contoh: TEMPERATURE adl variabel fuzzy dgn nilai Low, Medium, Normal,
High dan Very_High
3. Cara inilah yg umum dipergunakan operator utk merujuk var plant terkait dgn
nilai nominalnya
4. Hubungan di antara variabel fuzzy, nilai2 linguistik, nilai2 keanggotaan &
semesta pembicaraan

33

Secara umum, variabel fuzzy dapat dinyatakan dgn memakai: label/nilai linguistik
Low, Medium, High operator penghubung AND, OR, NOT hedges extremely,
rather, quite, very
Contoh: Variabel TEMPERATURE dapat memiliki nilai-nilai High, NOT High,
rather_High, quite_High, NOT very_High, extremely_High
Ketergantungan suatu variabel fuzzy pada var fuzzy lainnya dapat dinyatakan dgn
memakai kalimat bersyarat (fuzzy conditional statement):
atau
dgn kalimat fuzzy memiliki bentuk umum
Contoh:

Blok Diagram Fuzzy logic Control

34

3.4.1

Gambar 2. Blok Diagram Fuzzy Logic Control


Fuzzification

Gambar 3. Proses Fuzzification


Fuzzifikasi yaitu suatu proses untuk mengubah suatu masukan dari bentuk
tegas (crisp) menjadi fuzzy (variabel linguistik) yang biasanya disajikan dalam
bentuk himpunan-himpunan fuzzy dengan suatu fungsi kenggotaannya masingmasing. Contoh dari proses Fuzzification adalah seperti yang ditunjukkan di
gambar 4. Sebuah sistem fuzzy untuk mengukur suhu mempunyai 5 buah
membership function yang mempunyai label sangat dingin, dingin, hangat, panas,
sangat panas. Kemudian input yang diperoleh dari crisp input adalah 47 maka
pengambilan fuzzy input-nya adalah seperti pada gambar 4.

35

Gambar 4. Proses perubahan dari crisp input menjadi fuzzy input


Sehingga didapat 2 fuzzy input yang masing-masing adalah: dingin (x2)
dan hangat (x1). Nilai x1 dan x2 dapat dicari dengan rumus persamaan garis.
Yang menentukan sistem anda sensitif atau tidak adalah membership function ini.
Jika membership function-nya banyak maka sistem anda menjadi sensitif. Yang
dimaksud dengan sensitif dalam hal ini adalah jika input-nya berubah sedikit saja
maka sistem akan cepat merespon dan menghasilkan suatu output lain. Output
dari proses fuzzification ini adalah sebuah nilai input fuzzy atau yang biasanya
dinamakan fuzzy input.
Fuzzy Membership
Jika X adalah suatu kumpulan obyek-obyek dan x adalah elemen dari X.
Maka himpunan fuzzy A yang memiliki domain X didefinisikan sebagai:
(1)
dimana nilai

berada dalam rentang 0 hingga 1.

Terdapat dua cara yang lazim dalam merepresentasikan himpunan fuzzy,


yang dapat dilihat pada Gambar 1, yaitu :
1.
2.

, jika X adalah merupakan koleksi objek diskrit.


, jika X adalah merupakan koleksi objek kontinyu.

36

(a)

(b)

Gambar 1. Fungsi keanggotaan dengan semesta pembicaraan, (a).diskrit, (b).kontinyu.

Fuzzy Membership Operation


Seperti pada himpunan klasik, himpunan fuzzy juga memiliki operasi
himpunan yang sama yaitu gabungan (union), irisan (intersection) dan komplemen.
Sebelumnya akan didefinisikan dulu mengenai himpunan bagian yang memiliki
peranan penting dalam himpunan fuzzy.

Union (Gabungan)
Gabungan dari dua buah himpunan fuzzy A dan B adalah himpunan fuzzy C

ditulis sebagai

atau

, memiliki fungsi keanggotaan yang

berhubungan dengan A dan B yang didefinisikan sebagai berikut:

;
dengan

(2)

adalah operator biner untuk fungsi S dan biasa disebut sebagai operator T-

conorm atau S-norm, yang memiliki sifat-sifat sebagai berikut:


S(1,1) = 1, S(0,a) = S(a,0) = a
(boundary);
S(a,b) S(c,d) jika a c dan b d (monotonicity);
S(a,b) = S(b,a)
(commutativity);
S(a,S(b,c)) = S(S(a,b),c)
(associativity).
37

Intersection (Irisan)
Irisan dari dua buah himpunan fuzzy A dan B adalah himpunan fuzzy C

dituliskan sebagai

atau

, memiliki fungsi keanggotaan yang

berhubungan dengan A dan B yang didefinisikan sebagai berikut:


;
,
dengan

(3)

adalah operator bineri untuk fungsi T, yang biasa disebut sebagai operator

T-norm, yang memiliki sifat-sifat sebagai berikut:


T(0,0) = 0, T(a,1) = T(1,a) = a

(boundary);

T(a,b) T(c,d) jika a c dan b d (monotonicity);


T(a,b) = T(b,a)

(commutativity);

T(a,T(b,c)) = T(T(a,b),c)

(associativity).

Fuzzy Set Membership Function


Fungsi-fungsi keanggotaan fuzzy terparameterisasi satu dimensi yang umum
digunakan diantaranya adalah:
1.

Fungsi keanggotaan segitiga, disifati oleh parameter{a,b,c} yang didefinisikan

sebagai berikut:

(4)
bentuk yang lain dari persamaan di atas adalah

(5)
parameter {a,b,c} (dengan a<b<c) yang menentukan koordinat x dari ketiga sudut
segitiga tersebut, seperti terlihat pada Gambar 2(a).

38

2.

Fungsi keanggotaan trapesium, disifati oleh parameter{a,b,c,d} yang

didefinisikan sebagai berikut:

(6)
parameter {a,b,c,d} (dengan a<b<c<d) yang menentukan koordinat x dari keempat
sudut trapesium tersebut, seperti terlihat pada Gambar 2(b).
3.

Fungsi keanggotaan Gaussian, disifati oleh parameter {c,s} yang didefinisikan

sebagai berikut:
(7)
Fungsi keanggotaan Gauss ditentukan oleh parameter c dan s yang menunjukan titik
tengah dan lebar fungsi, seperti terlihat pada Gambar 2(c) .

39

Gambar 2. Kurva fungsi keanggotaan, (a).segitiga(x;20,50.80), (b).trapesium


(x;10,30,70,90), (c).gaussian(x;50,15), (d).bell(x;10,2,50), (e).sigmoid (x;0.2,50) dan
(f).sigmoid(x;-0.2,50).

4.

Fungsi keanggotaan generalized bell, disifati oleh parameter {a,b,c} yang

didefinisikan sebagai berikut:

(8)
parameter b selalu positif, supaya kurva menghadap kebawah, seperti terlihat pada
Gambar 2(d).
5.

Fungsi keanggotaan sigmoid, disifati oleh parameter {a,c} yang didefinisikan

sebagai berikut:
(9)

40

parameter a digunakan untuk menentukan kemiringan kurva pada saat x = c. Polaritas


dari a akan menentukan kurva itu kanan atau kiri terbuka, seperti terlihat pada Gambar
2.(d) dan 2.(e).
Fuzzy Reasoning
Kaidah dasar dalam menarik kesimpulan dari dua nilai logika tradisional
adalah modus ponens, yaitu kesimpulan tentang nilai kebenaran pada B diambil
berdasarkan kebenaran pada A. Sebagai contoh, jika A diidentifikasi dengan tomat itu
merah dan B dengan tomat itu masak, kemudian jika benar kalau tomat itu merah
maka tomat itu masak, juga benar. Konsep ini digambarkan sebagai berikut:
premise 1 (kenyataan)
premise 2 (kaidah)
Consequence (kesimpulan)

:
:
:

x adalah A,
jika x adalah A maka y adalah B.
y adalah B.

Secara umum dalam melakukan penalaran, modus ponens digunakan dengan


cara pendekatan. Sebagai contoh, jika ditemukan suatu kaidah implikasi yang sama
dengan jika tomat itu merah maka tomat itu masak, misalnya tomat itu kurang
lebih merah, maka dapat disimpulkan tomat itu kurang lebih masak, hal ini dapat
dituliskan seperti berikut:
premise 1 (kenyataan)
premise 2 (kaidah)
Consequence (kesimpulan)

:
:
:

x adalah A,
jika x adalah A maka y adalah B.
y adalah B.

Dengan Aadalah dekat ke A dan Badalah dekat ke B. Ketika A, B, A dan Badalah


himpunan fuzzy dari semesta yang berhubungan, maka penarikan kesimpulan seperti
tersebut dinamakan penalaran dengan pendekatan (approximate reasoning) yang
disebut juga dengan generalized modus ponens (GMP).
3.5

Aplikasi Sistem Kontrol dengan Sistem Cerdas


Beberapa contoh aplikasi sistem kontrol dengan sistem cerdas, diantaranya:
1. Penerapaan Kendali Cerdas Pada Sistem Tangki Air Menggunakan Logika
Fuzzy

41

2. Otomatisasi Pemberian Pakan Ayam Petelor Bebasis Fuzzy Logic


3. Metode Algoritma Genetika dengan Sistem Fuzzy Logic untuk Penentuan
Parameter Pengendali PID.
4. Perencanaan Optimal Sistem Kontrol AVR (Automatic Voltage Regulator)
Untuk Memperbaiki Kestabilan Tegangan Dengan Menggunakan Algoritma
Genetik.
5. Aplikasi Jaringan Saraf Tiruan Untuk Evaluasi Ventilasi Bangunan Tropis
Lembab.
6. Sistem Pakar Pendiagnosa Penyakit Ginjal.
BAB IV
KESIMPULAN
4.1

Kesimpulan
Adapun kesimpulan yang didapat dari makalah ini, adalah:

1.

Sistem kontrol adalah proses pengaturan atau pengendalian terhadap satu atau
beberapa besaran (variabel, parameter) sehingga berada pada suatu harga range
tertentu.

2.

Sistem cerdas atau yang biasa disebut juga dengan Artificial Intelegent adalah
kecerdasan yang diciptakan dan dimasukkan ke dalam suatu mesin (komputer)
agar dapat melakukan pekerjaaan yang dapat dilakukan oleh manusia.

3.

Berbagai macam bidang yang menggunakan AI (Artificial Intelligent) atau


kecerdasan buatan diantaranya adalah, Sistem Pakar, Algoritma Genetika,
Jaringan Syaraf Tiruan (JST) dan Logika Fuzzy.

4.

Sistem Pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke


komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa
dilakukan para ahli.

5.

Algoritma Genetika atau Genetic Algorithm (GA) merupakan algoritma yang


terinspirasi oleh teori evolusi dari Charles Darwin. Dengan kata lain pencarian
solusi suatu masalah dengan algoritma genetika akan terus berevolusi. Algoritma
genetika memberikan solusi dari masalah yang tidak memiliki suatu metode
pencarian solusi yang tepat, ataupun bila ada, mungkin membutuhkan waktu yang
42

lama dalam mencari solusinya. Pencarian solusi dengan algoritma genetika ini
diminati oleh karena tidak membutuhkan waktu yang lama. Selain itu hasil dari
algoritma genetika ini cukup memuaskan dan dapat diaplikasikan pada semua
bidang.
6.

Jaringan Saraf Tiruan merupakan sistem pemrosesan informasi yang memiliki


karakteristik kemampuan yang secara umum mirip dengan jaringan saraf biologi.
Jaringan saraf tiruan telah dikembangkan sebagai turunan model matematika dari
kesadaran manusia atau saraf biologis

7.

Logika Fuzzy adalah peningkatan dari logika Boolean yang berhadapan dengan
konsep kebenaran sebagian. Saat logika klasik menyatakan bahwa segala hal
dapat diekspresikan dalam istilah biner (0 atau 1, hitam atau putih, ya atau tidak),
logika fuzzy menggantikan kebenaran boolean dengantingkat kebenaran.

MAKALAH TEKNIK PENGATURAN


APLIKASI KONTROL DENGAN SISTEM CERDAS

43

DISUSUN OLEH

1. AYU WULAN SARI


2. M SYAWAL APRIADI
3. NOVITASARI

POLITEKNIK NEGERI SRIWIJAYA PALEMBANG


JURUSAN TEKNIK KOMPUTER
TAHUN PEMBELAJARAN 2012/2013

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

Anda mungkin juga menyukai