SoalCE
description
Transcript of SoalCE
Soal> Pilihlah suatu topic/masalah/kasus yang membutuhkan penanganan secara> otomatis dengan AI. Kemudian buatlah solusinya dengan menggunakan tiga> metode:> 1. Expert System (ES)> 2. Case-Based Reasoning (CBR)> 3. Fuzzy Logic (FL)> > Format Penyelesaian:> 1. Penjelasan pemilihan topic termasuk masalahnya, missal Preventive> Maintenance bidang Trouble shooting mesin mobil Toyota Kijang, bagian> listrinya. Maksimum 1 halaman A4.> 2. Penyelesaian dengan ES:> a. Jelaskan prinsip kerja ES (inference engine) yang dipilih> b. Rancang dan tuliskan Knowledge base dalam bentuk rules yang muncul> (maksimum 12 rules, dipersingkat saja)> 3. Penyelesaian CBR:> a. Jelaskanprinsip kerja CBR> b. Rancang dan tuliskan database kasus yang muncul (maksimal 12 kasus,> dipersingkat saja). Petunjuk: buat table struktur feature, lalu table> kasus> 4. Penyelesaian dengan FL:
> a. Jelaskan prinsip kerja FL tipe Mamdani (disertai gambar)> b. Rancang Fuzzy Model berikut Rules yang muncul. Minimal dua input dan> satu output (missal IPK dan IPS, dan Beban Studi). Tiap variabel> mengandung 3 membership functions, sehingga muncul 9 rules.
Bahan dari bapak e yang mungkin berguna
I. PENGANTAR ARTIFICIAL INTELLIGENCE (AI)
1.1. PENALARAN MANUSIA
Manusia memecahkan masalah melalui kombinasi antara fakta dan pengetahuan
(knowledge). Penalaran (reasoning) adalah proses yang berhubungan dengan pengetahuan,
fakta, dan strategi pemecahan masalah (problem solving) untuk mendapatkan
konklusi/penyelesaian. Berbagai metode penalaran yang lazim adalah deduksi, induksi,
abduktip, analogi, dan akal sehat, berikut ini penjelasan singkatnya.
Deduksi (deduction)
Manusia menggunakan deduksi untuk mendapatkan informasi baru dari informasi yang sudah
diketahui (pengetahuan) yang ada relasinya. Penalaran deduksi menggunakan fakta-fakta dari
masalah yang ada dan pengetahuan umum yang sesuai yang pada umumnya berbentuk aturan
(rules) atau implikasi (implications), jadi dari hal yang umum, dikenakan pada hal yang
khusus, model deduksi adalah:
Fakta + Rule Efek dengan rule dalam bentuk:
If <cause/premise> then <effect/conclusion>
Jika <sebab/premis> Maka <akibat/konklusi>
Sebagai contoh:
Aturan/implikasi: Jika saya berdiri di hujan, maka saya akan basah.
Fakta/premis : saya berdiri di hujan
Konklusi : saya akan basah
Penalaran deduksi sangat menarik secara logika dan merupakan teknik solusi masalah yang
paling umum digunakan oleh manusia. Aturan inferensi (penyimpulan) yang disebut modus
ponens adalah bentuk dasar dari penalaran deduksi dengan formula sbb.:
Jika A adalah benar, dan Jika A maka B adalah benar, maka B adalah benar
Induksi (Induction)
Manusia menggunakan induksi untuk mendapatkan kesimpulan umum (general conclusion)
dari sekumpulan/himpunan fakta melalui proses generalisasi. Ini bagaikan transisi dari
jumlah sedikit ke semua. Model induksi adalah:
Cause + Effect Rule
Proses induksi dijelaskan oleh Firebaugh (1988) sbb.:
Untuk suatu himpunan objek X = {a,b,c,d, ...}, jika sifat P adalah benar untuk
a, dan jika sifat P adalah benar untuk b, dan jika sifat P adalah benar untuk
c, ..., maka sifat P adalah benar untuk semua X.
Sebagai contoh:
Fakta/premis : aluminium dipanaskan memuai
Fakta/premis : besi dipanaskan memuai
Fakta/premis : tembaga dipanaskan memuai
Konklusi : secara umum, semua besi bila dipanaskan akan memuai
Abduktip (Abductive)
Abduktip adalah bentuk deduksi yang memungkinkan menarik kesimpulan yang bersifat
“plausible”. Plausible (masuk akal) adalah konklusi yang ditarik dari informasi yang tersedia,
namun ada kemungkinan konklusi itu salah, jadi model abduktip adalah:
Jika B adalah benar, dan Jika A maka B adalah benar, maka A adalah benar?
Atau effect + rule cause
Sebagai contoh:
Aturan : Tanah basah jika hari hujan.
Fakta : Tanah basah.
Konklusi : Hari hujan?
Jadi, diberikan fakta satu-satunya bahwa tanah basah, penyimpulan plausible menghasilkan
konklusi hari hujan. Padahal, konklusi ini bisa salah, karena ada banyak hal yang
menyebabkan tanah basah, misalnya seseorang siram-siram tanaman. Abduktip, sebagai salah
satu metode penalaran, sering dipakai oleh dokter dalam mendiagnose pasien, maka diagnose
dapat saja salah.
Analogi
Manusia membentuk model mental tentang konsep melalui pengalaman. Manusia
menggunakan model ini melalui penalaran analogi untuk membantu memahami suatu
masalah/situasi. Mereka lalu menarik analogi diantara masalah dan model, mencari kesamaan
dan perbedaan untuk dapat menyimpulkan.
Sebagai contoh: Frame binatang harimau
Jenis : Binatang
Jumlah kaki : 4
Makan : Daging
Hidup di : India dan Asia tenggara
Warna : Loreng
Frame menyediakan cara alami untuk mewadahi informasi yang stereotip atau model (seperti
harimau diatas). Didalam frame, terdapat sekelompok featur/ciri untuk objek-objek yang
serupa. Sebagai contoh frame diatas, nampak daftar featur untuk harimau seperti: jumlah
kaki, makanan, warna, dst. Bila dinyatakan bahwa singa adalah seperti harimau, maka
mereka lalu berbagi featur yang sama, misalnya makan daging dan hidup di India. Akan
tetapi, sebenarnya ada perbedaan, misalnya warna dan lokasi tempat tinggal. Dengan cara ini,
kita dapat menggunakan penalaran analogi untuk memahami suatu objek baru, dan
memperbaiki pemahaman ini dengan mengemukakan adanya perbedaan-perbedaan yang
spesifik.
Akal Sehat (Common-sense)
Lewat pengalaman, manusia belajar memecahkan persoalan secara effisien. Mereka
menggunakan akal sehat untuk dengan cepat menarik kesimpulan. Akal sehat lebih
cenderung berdasar pada kebijakan-kebijakan (judgments) yang baik daripada logika yang
eksak. Maka muncul peribahasa “Pengalaman adalah guru terbaik”. Contoh akal sehat
adalah: suara klik-klik dalam mesin sepeda motor yang pada umumnya diakibatkan oleh ring
seker yang sudah lemah dalam silinder”. Seorang montir mendapatkan pengetahuan akal
sehat ini dari pengalamannya mengerjakan banyak sepeda motor selama bertahun-tahun.
Jenis pengetahuan seperti ini disebut sebagai heuristik (heuristic) atau rule-of-thumb. Akal
sehat tidak menjamin ditemukannya solusi, namun ia menjamin kecepatan menemukan
solusi.
Penalaran Tidak Monoton (non-monotonic)
Penalaran pada suatu masalah pada umumnya menggunakan informasi yang statis, artinya
selama melakukan penyelesaian masalah, keadaan (nilai benar atau salah) bermacam fakta
dianggap tetap konstan. Penalaran semacam ini disebut sebagai penalaran monoton
(monotonic reasoning). Dalam beberapa masalah, ditemukan bahwa keadaan beberapa fakta
bersifat dinamis, sebagai ilustrasi adalah aturan sbb.:
IF Angin berhembus
THEN Kursi goyang akan berayun
Kemudian coba amati kejadian berikut, lalu apa yang terjadi dengan aturan diatas:
Hei, ada angin topan! Angin berhembus Kursi berayun
Seiring berlalunya angin topan, kita berharap kursi berayun. Namun, saat angin topan telah
berlalu, kita berharap bahwa kursi sudah berhenti berayun. Namun sistem yang menggunakan
penalaran monoton akan tetap menganggap bahwa kursi tetap berayun!
Manusia tidak merasa sulit untuk mengikuti perubahan status informasi. Bila terjadi
perubahan yang dinamis, mereka dengan mudah menyesuaikan diri. Gaya penalaran
semacam ini disebut penalaran yang tidak monoton. Untuk bidang AI seperti expert system
dibutuhkan suatu sistem untuk memelihara kebenaran yang dinamis bila ingin melakukan
penalaran yang tidak monoton.
1.2. Definisi Kecerdasan Buatan
Para ahli menyepakati bahwa ARTIFICIAL INTELLIGENCE (AI, kecerdasan buatan)
menangani antara lain dua hal pokok yaitu:
1. AI mempelajari proses penalaran manusia (untuk memahami apakah arti cerdas
itu).
2. Bagaimana merepresentasikan proses penalaran itu lewat mesin (komputer, robot,
dsb.)
Lalu apakah yang disebut perilaku cerdas? Berikut ini beberapa ciri kemampuan yang
menandai kecerdasan yang diadopsi dari definisi cerdas:
Mampu belajar dari pengalaman
Tanggap terhadap situasi baru secara cepat dan sukses
Menggunakan nalar dalam pemecahan masalah sekaligus mengarahkan
perilaku secara efektip
Mampu menggunakan pengetahuan untuk memanipulasi lingkungan
Bernalar dan berakal sehat.
Mengenai definisi AI, berbagai definisi telah dikemukakan para ahli, antara lain adalah:
a. Sebuah studi tentang bagaimana membuat komputer mengerjakan sesuatu yang dapat
dikerjakan manusia (Rich, 1991)
b. Suatu perilaku sebuah mesin yang jika dikerjakan oleh manusia akan disebut cerdas
(Turing, et. al, 1996)
c. Cabang dari computer science yang menangani bagaimana cara merepresentasikan
pengetahuan dengan menggunakan simbol-simbol daripada angka-angka dan
melibatkan heuristik (pengalaman) sebagai metode pemrosesan informasi
(Encylopedia Britannica).
1.3. ARTIFISIAL VERSUS NATURAL INTELIGENSIA
Nilai potensial/ekonomis AI dapat lebih dimengerti apabila dikontraskan dengan
kecerdasan natural. Dibanding inteligensia alami, AI mempunyai keuntungan antara lain:
AI permanen. Inteligensi yang disimpan pada komputer tidak akan bisa hilang/lupa,
sedangkan inteligensi seorang manusia lambat laun akan hilang/pikun karena usia, atau
bahkan hilang karena meninggal, atau berpindah tempat karena pindah kerja.
AI tidak mengenal lelah. Inteligensi natural tidak mungkin bekerja terus menerus setiap
hari tanpa istirahat, sedangkan AI boleh dikatakan dapat digunakan sepanjang hari terus
menerus tanpa istirahat.
AI mudah diduplikasi. Memindahkan inteligensi natural melalui pendidikan sangat
membutuhkan waktu yang lama sekali, sebagai gambaran seorang dokter harus belajar
lebih dari 6 tahun sebelum diijinkan buka praktek sendiri. AI, karena merupakan suatu
software, maka dapat diperbanyak dengan mudah dan dengan cepat sekali, sehingga
muncul ungkapan AI adalah mass production (produksi masal) dari kecerdasan dibidang
tertentu.
AI dapat bersifat any one, any time, dan any where. Dengan menempatkan software yang
cerdas di internet, maka siapa saja, kapan saja, dan dimana saja (asal dapat ijin) dapat
menggunakan kecerdasan artifisial itu; sedangkan seorang pakar hanya bekerja pada satu
tempat pada saat yang bersamaan.
AI dapat bekerja di tempat yang berbahaya. Bila tempat kerja membahayakan
keselamatan seorang pekerja, misal di bawah tanah, di luar angkasa, di bawah laut, atau di
tempat mengandung gas beracun, maka suatu sistem berbasis ineligensi buatan dapat
menggantikan peran manusia.
AI bersifat konsisten dan menyeluruh. Kecerdasan alami adalah erratic (berbuat
error/kesalahan), karena manusia bersifat eratik juga. Kemampuan seorang ahli dalam
memecahakan masalah sangat dipengaruhi oleh faktor dari luar seperti intimidasi,
perasaan kejiwaan, subjektip, emosi, faktor ekonomi ataupun perasaan tidak suka, dengan
demikian perilaku cerdasnya sering tidak konsisten. AI, karena berupa teknologi
komputer, tidak mempunyai sifat demikian.
AI lebih cepat dan lebih teliti. Kemampuan berhitung suatu prosesor adalah luar biasa
ditinjau dari sisi kecepatan dan ketelitian, disamping itu kemampuan untuk dapat
membedakan warna yang jumlahnya jutaan juga luar biasa, oleh sebab itu AI
memungkinkan untuk bekerja lebih cepat dan lebih teliti dari pada manusia.
AI lebih murah. Biaya menggaji seorang pakar jauh lebih mahal bila dibandingkan
dengan menggunakan software yang cerdas. Software yang cerdas boleh dikatakan hanya
membutuhkan biaya hanya pada awal pembuatannya.
AI dapat didokumentasikan. Rekomendasi/keputusan komputer dapat dengan mudah
didokumentasikan dengan melacak aktivitas atau jalannya program. Sebaliknya,
inteligensi natural sulit dilacak, sering terjadi seorang pakar tidak dapat mengulang
tindakannya yang sukses yang barusan dikerjakan, atau sulit sekali untuk mengingat
proses pemecahan masalah beserta asumsi-asumsinya dari apa yang barusan ia lakukan.
1.4. KEUNTUNGAN INTELIGENSI NATURAL
Melihat keunggulan AI terhadap intelegensi natural (IN), apakah manusia menjadi
“bawahan” AI dan berkecil hati? Tentu saja tidak. Berikut ini adalah keuntungan inteligensi
natural terhadap AI yang membuat manusia tetap unggul terhadap hasil kreasinya yaitu AI:
IN adalah kreatip, sedangkan AI masih bersifat pasif dalam pengertian tidak mempunyai
inspirasi. Kemampuan mengembangkan knowledge bagi seorang manusia adalah sifat
inherent (melekat), sedangkan AI tidak, knowledge harus dibuat dan dimasukan kedalam
sistem secara sengaja dan hati-hati.
IN dilengkapi dengan sensor indera yang luar biasa (panca indera plus indera ke enam),
sedangkan AI seringkali masih membutuhkan input berupa simbol-simbol. Panca indera
dan nuansa perasaan seperti asmara, benci, gembira dan sedih, serta indera pembauan
(harum dan busuk) masih belum mampu ditirukan.
Manusia dapat menalar atas dasar context of experience (berdasar konteks pengalaman),
sedangkan AI belum mampu bersikap atas dasar context of experience, misal sebuah
robot di tempat pelayatan yang bernuansa sedih tetap bernyanyi-nyanyi, sedangkan
manusia mampu bersikap sedih atas dasar konteks pengalamannya.
1.5. TIGA KELOMPOK AI
AI telah menjadi salah satu cabang riset yang sangat aktip dan produktip bagi para
ilmuwan dibidang komputer dan psikologi lebih dari 50 tahun. Alat pengembang AI dapat
dikelompokan menjadi tiga kelompok sebagai berikut:
- Sistem berbasis pengetahuan (knowledge-based systems, KBS): model dinyatakan secara
eksplisit dan dibangun menggunakan kata dan simbol
- Inteligensia berbasis komputasi (Computational intelligence, CI): model secara implisit
yang dinyatakan dengan teknik-teknik numerik.
- Hybrid (campuran).
KBS meliputi teknik-teknik seperti rule-based, model-based, frame-based, dan case-based
reasoning. Karena pengetahuan dimodelkan secara eksplisit dengan menggunakan kata dan
simbol, ia dapat dibaca dan dimengerti oleh manusia. Meskipun teknik berbasis simbol telah
mengalami sukses untuk domainnya yang relatip sempit, namun ia tetap mengandung
keterbatasan dalam hal kemampuan yakni sebatas mengatasi situasai-situasi yang telah
dimodelkan secara eksplisit. Model simbolik pada umumnya kurang baik untuk mengatasi
masalah yang belum familiar.
CI berusaha mengatasi kelemahan kelompok KBS dengan cara membuat suatu
model berbasis pada pengamatan dan pengalaman. Dalam hal ini, pengetahuan tidak secara
eksplisit dinyatakan melainkan direpresentasikan melalui angka-angka (numeris) yang dapat
disesuaikan seiring dengan bertambahnya ketelitian dari sistem. Termasuk dalam kategori ini
adalah neural networks, genetic algorithms dan algoritma optimasi yang lain, serta teknik
untuk mengatasi ketidak pastian seperti fuzzy logic.
Kelompok hibrid adalah campuran antara sesama unsur KBS atau sesama unsur
CI atau kombinasi antara unsur KBS dengan unsur CI. Tujuan penggabungan ini adalah
untuk membuat suatu sistem paduan yang lebih hebat dari pada unsur-unsur sistem itu bila
berdiri sendiri, jadi perpaduan ini diharapkan akan mengatasi kelemahan masing-masing
kelompoknya. Berbagai kombinasi telah banyak dilakukan, misalnya: gabungan antara expert
systems dan neural networks, fuzzy logic dengan neural networks, dan case-based reasoning
systems dengan expert systems.
1.6. PERBANDINGAN AI DENGAN PROGRAM
KOMPUTER KONVENSIONAL
Pada awalnya komputer diciptakan untuk mengolah angka, maka pada
umumnya program komputer konvensional prosesnya berbasis algoritma,
yakni formula matematis atau prosedur sekuensial yang mengarah
kepada suatu solusi. Algoritma tersebut dikonversi ke program komputer
yang memberitahu komputer secara pasti instruksi apa yang harus
dikerjakan. Kemudian, algoritma menggunakan data seperti angka, huruf,
atau kata untuk menyelesaikan masalah.
Mengingat manusia cenderung bernalar dengan menggunakan
simbol-simbol daripada angka, maka perangkat lunak AI lebih berbasis
representasi pengetahuan dengan kekuatan pada manipulasi simbolik
ketimbang angka. Di sini simbol tersebut berupa huruf, kata, atau angka
yang merepresentasikan obyek, proses dan hubungan keduanya. Sebuah
obyek bisa jadi seorang manusia, benda, pikiran, konsep, kejadian, atau
pernyataan suatu fakta. Menggunakan simbol, kita dapat menciptakan
basis pengetahuan yang berisi fakta, konsep, dan hubungan di antara
keduanya. Kemudian beberapa proses dapat digunakan untuk
memanipulasi simbol tersebut untuk menghasilkan nasehat atau
rekomendasi untuk penyelesaian suatu masalah.
Program komputer konvensional prosesnya berbasis algoritma, yakni formula
matematis atau prosedur sekuensial yang mengarah kepada suatu solusi. Algoritma tersebut
dikonversi ke program komputer yang memberitahu komputer secara pasti instruksi apa yang
harus dikerjakan. Algoritma yang dipakai kemudian menggunakan data seperti angka, huruf,
atau kata untuk menyelesaikan masalah. Perbedaan dasar antara AI dengan
program komputer konvensional diberikan dalam Tabel 1.
Tabel 1. Perbandingan antara AI dan Program Konvensional
ASPEK AI Program Konvensional
Pemrosesan Sebagian besar simbolik Algoritmik dengan angka
Input Tidak harus lengkap Harus lengap
Pendekatan pencarian Sebagian beasr heuristic Algoritma
Penjelasan / explanasi Tersedia Biasanya tidak tersedia
Fokus Pengetahuan Data
Pemeliharaan & peningkatan Relative mudah Biasanya sulit
Kemampuan berpikir secara logis
Ada Tidak ada
1.7. BIDANG APLIKASI AI
Penerapan AI meliputi berbagai bidang seperti ditunjukkan pada
bagian cabang dari pohon AI pada Gambar 1, sedangkan induk keilmuan
AI dapat dilihat pada akar dari pohon AI yang antara lain meliputi:
Bahasa/linguistik, Psikologi, Filsafat, Matematik, Teknik Elektro, Ilmu
Komputer, dan Ilmu Manajemen. Bidang aplikasi AI yang umum ditemui
saat ini antara lain adalah:
Sistem Pakar (Expert Systems), yaitu program konsultasi (advisory)
yang mencoba menirukan proses penalaran seorang pakar/ahli dalam
memecahkan masalah yang rumit. Sistem Pakar merupakan aplikasi AI
yang paling tua dan banyak dikembangkan. Jadi dalam hal ini kepakaran
manusia seolah-olah dipindahkan kedalam hardisk komputer.
Case Based Reasoning (CBR). CBR adalah suatu pendekatan untuk
mendapatkan solusi dengan menggunakan acuan solusi problem-problem
terdahulu untuk memecahkan problem yang baru. Jadi, CBR memecahkan
masalah baru dengan menggunakan solusi masalah lama yang serupa
atas dasar analogi. CBR dapat diibaratkan memindahkan database kasus-
kasus yang telah dimiliki oleh seorang pakar kedalam hardisk komputer
untuk dipakai menyelesaikan kasus baru yang serupa.
Image and Vision System
Mengingat komputer mampu mengenal jutaan warna, mampu mengenal
pola, serta mempunyai resolusi yang tinggi (pixel) maka aplikasi yang
berhubungan gambar, warna dan pola sangat banyak ditemukan. Sistem
citra dan pandang dikembangkan di universitas Massachusetts, dalam
bentuk image baik warna tiga dimensi maupun dua dimensi. Sistem visi
memberikan solusi yang baik dari permasalahan yang berhubungan
dengan kegiatan manusia sehari-hari, misalnya saat berjalan-jalan
disekitar rumah, mata dan otak akan bekerja membentuk sistem vision
yang kompleks, dengan demikian seseorang tersebut akan mengenali
serta membedakan satu objek dengan yang lainnya bahkan gerakan dari
suatu objek dan mengevaluasi bentuk (halus, kasar, mengkilap,
transparan, dan lain sebagainya). Tujuan utama dari komputer visi adalah
untuk menerjemahkan suatu pemandangan/citra. Komputer visi banyak
dipakai dalam kendali kualitas produk industri dan kedokteran.
Pemrosesan Bahasa Alami (Natural Language Processing), yaitu
program yang memberi kemampuan pada komputer untuk berkomunikasi
dengan user dengan menggunakan bahasa manusia yang alami seperti
dalam bahasa Indonesia, Inggris, Jepang atau yang lainnya. Natural
Language Processing berkesimpulan jika seseorang dapat mendefinisikan
semua pola tersebut dan menjelaskannya pada komputer maka hal ini
akan mempermudah seseorang untuk mempelajari mesin komputer
tentang bagaimana berbicara dengan komputer dan memahami
maksudnya, karena komunikasi dapat dilakukan melalui tata bahasa yang
sederhana ketimbang menggunakan aturan-aturan atau tata bahasa
pemrograman komputer rumit dan njlimet (complicated). Alangkah
indahnya bila suatu saat mendatang user hanya mengetikkan kalimat
melalui keyboard dengan bahasa alami dan komputer dapat mengerti apa
maksud kalimat yang diketikkan tersebut.
Voice Recognition (Pengenalan Suara)
Voice recognition adalah teknik agar komputer dapat mengenali dan
memahami bahasa ucapan. Proses ini mengijinkan seseorang
berkomunikasi dengan komputer dengan cara berbicara kepadanya.
Istilah “pengenalan suara” mengandung arti bahwa tujuan utamanya
adalah mengenai kata yang diucapkan tanpa harus tahu artinya, di mana
bagian itu merupakan tugas “pemahaman suara”. Secara umum
prosesnya adalah usaha untuk menerjemahkan apa yang diucapkan
seorang manusia menjadi kata-kata atau kalimat yang dapat dimengerti
oleh komputer. Hal ini didasari oleh pemikiran para ahli bagaimana jika
user hanya mendiktekan kalimat melalui speaker dan komputer dapat
mengerti apa maksud kalimat yang diucapkan tersebut.
Gambar 1. Pohon AI dan aplikasi utamanya
Sistem Sensor dan Robotika.
Robot merupakan gabungan dari unsur sperti: sistem mekanis, sistem visi
dan pencitraan, dan sistem pengolahan sinyal. Sebuah robot, yaitu
perangkat elektromekanik yang diprogram untuk melakukan tugas
manual, tidak semuanya merupakan bagian dari AI. Robot yang hanya
sekedar melakukan aksi atas dasar switch-switch mekanis/elektris
dikatakan sebagai robot bodoh yang tidak lebih pintar dari sekedar lift.
Robot yang cerdas biasanya mempunyai perangkat sensor, seperti
kamera, yang mengumpulkan informasi mengenai operasi dan
lingkungannya. Kemudian bagian AI robot tersebut menerjemahkan
informasi tadi dan merespon serta beradaptasi jika terjadi perubahan
lingkungan.
Intelligent Tutoring/Intelligent Computer-Aided Instruction (CAI)
CAI adalah komputer yang mampu mengajari manusia. Belajar melalui
komputer sudah lama digunakan, namun dengan menambahkan aspek
kecerdasan di dalamnya, dapat tercipta komputer “guru” yang dapat
mengatur teknik pengajarannya untuk menyesuaikan dengan kebutuhan
“murid” secara individiual. Unsur sistem database dan query yang
canggih sangat dominan dalam CAI. Sistem ini juga mendukung
pembelajaran bagi orang yang mempunyai kekurangan fisik atau
kelemahan belajar. Kelebihan CAI ini, yaitu : material dapat diatur sesuai
dengan kebutuhan/kemampuan pemakai, perbaikan dapat langsung
diberikan, umpan balik secara cepat, pengajaran yang konsisten, materi
belajar mudah diedit, dan tidak ada batasan lokasi.
Artificial Neural Network (ANN)
ANN merupakan jaringan saraf tiruan, suatu teknologi informasi yang
meniru unsur biologi manusia seperti otak dan sistem saraf. ANN mampu
belajar seperti seorang bocah, jadi dari tidak tahu sama sekali menjadi
tahu sekali, melalui proses pembelajaran. ANN sangat ekselen untuk
bidang pengenalan citra, pengklasifikasian, dan penginterpretasian data
yang tidak sempurna.
Game Playing (GP, Permainan Game)
Software permainan muncul bagaikan jamur, video game sangat diminati
oleh manusia dewasa dan kanak-kanak. Permainan adalah bidang yang
bagus untuk menganalisa kecerdasan suatu komputer. Ada dua alasan
yang menyebabkan hal tersebut, yaitu : permainan mengandung pola
yang terstruktur untuk mencapai kemenangan atau kekalahan dengan
mudah, dan permainan membutuhkan strategi yang tepat untuk dapat
menang. Permainan dapat diselesaikan dengan pencarian mulai dari
posisi start sampai ke posisi menang (winning position). Sebelum
melakukan pencarian, posisi-posisi yang sah dalam permainan perlu
dibangkitkan terlebih dahulu oleh suatu prosedur. GP dirancang supaya
dapat melakukan evaluasi/pencarian solusi ke depan dari posisi awal
sampai posisi yang menuju kemenangan. GP yang populer adalah Deep
Thought dari IBM, program catur yang dipertandingkan melawan Grand
Master Anatoly Karpov dengan hasil remis, luar biasa: suatu software
komputer dapat bermain remis dengan seorang professor catur!
Fuzzy Logic (Logika Fazi)
Kata fazi berarti kabur atau samar-samar. Logika fuzzy merupakan suatu
cabang logika yang menggunakan derajat keanggotaan kebenaran (dari
nol sampai dengan satu), sedangkan logika klasik hanya mengelompokan
derajat keanggotaan kebenaran menjadi dua nol (salah) atau satu
(benar). Dengan menggunakan sistem inferensi Fuzzy yang didasarkan
pada konsep teori fuzzy, aturan fuzzy if-then, dan logika fuzzy, maka
diperoleh solusi yang baik dan yang mampu mengikuti perubahan
variabel bebas secara halus sekali.
Genetic Algorithm (GA, Algoritma Genetika)
Algoritma genetika adalah algoritma pencarian heuristik yang didasarkan
atas mekanisme evolusi biologis. Prinsip evolusi berbasis “survival of the
fittest” (yang menang/bertahan adalah yang kuat/mampu menyesuaikan
diri) dimanfaatkan dalam GA. GA cocok sekali untuk persoalan optimasi
dengan banyak alternatip solusi. Misalnya menyusun suatu ramuan obat
dari berbagai unsur dengan kemungkinan yang banyak sekali. Pada
algoritma ini, teknik pencarian dilakukan sekaligus atas sejumlah solusi
yang dikenal dengan istilah populasi. Individu yang terdapat dalam satu
populasi disebut dengan istilah string (string) atau kromosom
(chromosome). Cara mendapatkan solusi optimal adalah menghitung nilai
fitness dari setiap individu. Fungsi untuk menghitung nilai fitness disebut
fungsi fitness yang dapat berupa fungsi matematika atau fungsi lainnya
dengan melihat kriteria tertentu dari permasalahan yang hendak
diselesaikan. Dengan fungsi fitness yang menghasilkan nilai fitness dari
suatu kromosom maka dapat dibedakan antara kromosom yang
berkualitas baik dengan kromosom yang berkualitas buruk dalam populasi
tersebut. Kromosom berkualitas baik mempunyai kemungkinan yang lebih
besar untuk terpilih sebagai induk. Jika algoritma genetik tersebut belum
mencapai kondisi untuk berhenti maka akan dibentuk generasi berikutnya
yang dikenal dengan istilah anak (offspring), terbentuk dari gabungan 2
kromosom generasi sekarang yang bertindak sebagai induk (parent)
dengan menggunakan operator penyilangan (crossov er). Bila crossover
tidak menghasilkan solusi, maka dipakai operator mutasi.
Setelah membahas pengantar AI, maka tiba saatnya untuk membahas bebarapa topik apliksai
AI secara lebih detil, pembahasan dimulai dari sistem pakar.
II. Sistem Pakar
2.1. Pengertian Sistem Pakar
Professor Edward Fegeinbaum dari Universitas Stanford yang merupakan seorang
pelopor awal dari teknologi sistem pakar, yang mendefinisiskan sistem pakar sebagai ”suatu
program komputer cerdas yang menggunakan knowledge (pengetahuan) dan prosedur
inferensi untuk menyelesaikan masalah yang cukup sulit yang membutuhkan seorang yang
ahli untuk menyelesaikannya” (Feigenbaum:1982). Sedangkan definisi sistem pakar menurut
John Durkin (1992:7) adalah sebagai berikut :
“ Expert system is a computer program designed to model the problem-solving ability of a
human expert.” Jadi system pakar adalah suatu program komputer yang dirancang untuk
memodelkan kemampuan menyelesaikan masalah dari seorang pakar.
Jadi secara umum sistem pakar dapat dikatakan sebagai : “Sistem yang berbentuk
software yang didesain dan diimplementasikan dengan bantuan bahasa pemrograman tertentu
untuk dapat menyelesaikan masalah seperti yang dilakukan oleh para ahli.” Dengan
demikian, Sistem Pakar berusaha mengadopsi pengetahuan manusia ke komputer agar
komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para pakar. Sistem
Pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan
meniru kerja dari para pakar. Sistem Pakar dapat mengumpulkan dan menyimpan
pengetahuan seorang pakar atau beberapa orang pakar ke dalam komputer. Pengetahuan
tersebut kemudian digunakan oleh siapa saja yang memerlukannya. Tujuan utama Sistem
Pakar bukan untuk mengganti kedudukan seorang pakar, tetapi hanya untuk
memasyarakatkan pengetahuan dan pengalaman para pakar yang keberadaanya cukup jarang.
Sistem Pakar memungkinkan orang lain dapat meningkatkan produktivitasnya, memperbaiki
kualitas pengambilan keputusannya, dan memecahkan permasalahan rumit lainnya, sekalipun
tanpa kehadiran seorang pakar. Dengan Sistem Pakar ini, orang awam pun dapat
menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan
bantuan para ahli. Bagi para ahli sendiri, Sistem Pakar ini juga akan membantu aktivitasnya
sebagai asisten yang berpengalaman.
2.2. Keuntungan Sistem Pakar
Expert system mempunyai beberapa keuntungan, yaitu (Giarratano dan Riley : 1989):
Increased Availability. Keahlian expert system dapat tersedia pada berbagai
hardware komputer. Dengan kata lain, expert system merupakan produksi pakar
secara massal.
Reduced Cost. Dana untuk menyediakan keahlian pakar untuk tiap user adalah
lebih murah.
Reduced Danger. Expert system dapat digunakan pada lingkungan yang mungkin
berbahaya bagi manusia.
Permanence. Keahlian expert system adalah tetap. Tidak seperti seorang pakar
yang dapat lelah, berhenti atau meninggal, pengetahuan pada expert system tidak
akan hilang.
Multiple Expertise. Pengetahuan dari beberapa pakar dapat dibuat untuk bekerja
secara bersama-sama dan berkelanjutan pada suatu masalah tertentu. Tingkat
keahlian yang digabungkan dari beberapa pakar dapat lebih tinggi daripada
keahlian satu pakar saja (Harmon : 85).
Increased Reliability. Expert system meningkatkan kepercayaan bahwa
menggunakan expert system adalah keputusan yang tepat yaitu sebagai pemikiran
tambahan bagi seorang pakar atau jika terjadi perbedaan pendapat dari beberapa
pakar. Hal ini tidak berlaku jika expert system tersebut dibuat berdasarkan
keahlian seorang pakar saja. Expert system akan selalu ‘sependapat’ dengan pakar,
kecuali jika kesalahan dibuat oleh pakarnya. Hal ini dapat saja terjadi jika pakar
tersebut sedang lelah atau mengalami stress.
Explanation. Expert system dapat secara tepat menjelaskan dengan detail
pertimbangan-pertimbangan yang mendasari suatu kesimpulan. Seorang pakar
dapat menjadi terlalu lelah, sehingga tidak mampu melakukannya sepanjang
waktu.
Fast Response. Respon yang cepat atau tepat waktu mungkin diperlukan bagi
beberapa aplikasi. Tergantung dari software dan hardware yang digunakan, expert
system dapat memberikan respon yang lebih cepat daripada seorang pakar.
Beberapa situasi darurat memerlukan respon yang cepat, karena itu expert system
yang real-time adalah pilihan yang tepat (Hugh : 88) (Ennis : 86).
Steady, unemotional, and complete response at all time. Hal ini sangat penting
pada situasi darurat, pada saat seorang pakar tidak dapat bekerja secara maksimal
karena mengalami stress atau lelah.
Intelligent Tutor. Expert system dapat beraksi seperti tutor yang sangat ahli yaitu
dengan memberi kesempatan kepada siswanya untuk menjalankan contoh
program dan memberikan penjelasan.
Intelligent Database. Expert system dapat digunakan untuk mengakses suatu
database dengan cara yang pintar (Kerschberg : 86) (Schur : 88).
2.3. Struktur Sistem Pakar
Struktur dari sebuah Sistem Pakar adalah seperti yang ditunjukkan pada gambar 2.1 di bawah
ini:
Gambar 2.1
Struktur Suatu Sistem Pakar
Berikut ini penjelasan atas komponen utama SP:
a. User Interface (layar/form penghubung) adalah bagian yang menghubungkan antara
pemakai dengan Sistem Pakar. SP akan mengajukan pertanyaan-pertanyaan kepada
user, kemudian akan mengambil kesimpulan berdasarkan jawaban-jawaban dari
pemakai tadi.
b. Explanation Facility adalah fasilitas yang digunakan untuk menjelaskan proses
pengambilan keputusan atau penalaran kepada pemakai, misalnya menjawab pertanyaan
‘Bagaimana’ (how) dan ‘Mengapa’ (why).
c. Working Memory (Memori Kerja) adalah memori yang digunakan untuk
menyimpan fakta-fakta yang nantinya digunakan oleh aturan-aturan.
d. Inference Engine (Mesin Inferensi/Penyimpul) adalah bagian yang membuat
kesimpulan/penalaran dengan memutuskan aturan mana yang cocok dengan fakta yang
disimpan dalam basis pengetahuan, selanjutnya memprioritaskan aturan yang cocok
tersebut, dan mengeksekusi aturan yang memiliki prioritas tertinggi. Mesin inferensi
mengandung mekanisme sistem penalaran yang digunakan oleh seorang pakar.
e. Agenda adalah daftar yang dibuat oleh mesin inferensi yang berisi pengetahuan
yang cocok dengan fakta yang ada dalam memori kerja.
f. Knowledge Acquisition Facility adalah fasilitas bagi pemakai untuk memasukkan
pengetahuan ke dalam sistem secara otomatis, tanpa bantuan dari seorang knowledge
engineer.
g. Knowledge Base (Basis Pengetahuan) adalah fasilitas untuk menyimpan
pengetahuan pakar. Berisi pengetahuan-pengetahuan yang dibutuhkan untuk
memahami, memformulasikan, dan menyelesaikan masalah, dimana tersusun atas fakta
yang berupa informasi tentang bagaimana cara membangkitkan fakta baru dari fakta
yang sudah diketahui. Basis pengetahuan merupakan inti dari Sistem Pakar.
h. Database (Basis Data) adalah bagian yang berisi fakta-fakta. Pada kenyataannya,
basis data berada dalam memori komputer. Secara umum, Sistem Pakar menggunakan
basis data ini untuk menyimpan data hasil observasi dan data lainnya yang dibutuhkan
selama pengolahan.
2.4. Representasi Pengetahuan
Agar kepakaran manusia dapat dikomputerkan, maka diperlukan metode
representasi pengetahuan (RP). Dalam SP, dikenal berbagai metode RP,
misalnya rules, frame, objects, dan semantics, dst. Dari sekian banyak
cara ini, yang paling populer digunakan adalah rules (kaidah).
Kaidah menurut Turban (2001) dapat dibuat dalam beberapa bentuk yang berbeda, yaitu :
IF premis THEN konklusi. Contohnya, IF pendapatan anda tinggi THEN kesempatan
anda untuk diaudit oleh IRS adalah tinggi.
Konklusi, IF premis, kesempatan anda diaudit adalah tinggi IF pendapatan anda
tinggi.
Inklusi dari ELSE, IF pendaapatan anda tinggi OR deduksi anda luar biasa THEN
kesempatan anda diaudit tinggi OR ELSE kesempatan anda diaudit rendah.
Kaidah yang lebih kompleks, IF tingkat kredit adalah tinggi AND gaji lebih dari
$10,000 dandaftar pinjamannya termasuk dalam kategori B.
Definisi Sistem Produksi
Pengetahuan dalam system produksi boleh juga direpresentasikan oleh himpunan
kaidah dalam bentuk :
IF [kondisi] THEN [aksi]
Dengan sebuah control system dan basis data. Control system memberikan aturan
penerjemahan dan pengurutan. Basis dat aberaksi sebagai konteks cadagnan unutk record
yang kondisinya dievaluasi oleh kaidah dan informasi dimana kaidah akan beraksi.
Berikutnya untuk sintaks IF THEN, kaidah produksi juga sering digambarkan sebagai
pasangan-pasangan berikut kondisi aksi, anteceden consequent, pola aksi, situasi response.
Contoh-contoh produksi dari pengalaman sehari-hari yaitu :
IF [mengendarai 15 mil perjam melewati batas AND melihat melalui kaca spion ada
lampu merah yang berkedip-kedip]
THEN [pinggirkan AND berhenti]
IF [sakit kepala AND sakit tenggorokan AND hidung tersumbat]
THEN [ambil aspirin AND istirahat]
IF [barometer turun AND petir di barat laut]
THEN [arahkan ke pelabuhan yang aman]
Contoh-contoh lain yang lebih mendekati secara analitik untuk mengklasifikasikan
suatu objek dimulai dengan kaidah-kaidah berikut ini :
IF [kategori adalah sebuah form OR sebuah pewarnaan OR sebuah teksture]
THEN [objek mempunyai sebuah permukaan]
IF [kategori adalah sebuah permukaan OR jelek OR kualitas tactile]
THEN [objek mempunyai kulaitas luar]
IF [kategori adalah sebuah ukuran OR kualitas luar OR massa Or suatu zat]
THEN [objek mempunyai kualitas fisik]
Representasi kaidah mempunyai karakteristik-karakteristik seperti yang
ditujukkandalam table berikut :
Table 2.7 Karakteristik dan Representasi Kaidah
Sumber : Muhammad Arhami. Konsep Dasar Sistem Pakar.Yogyakarta.
Penerbit ANDI, 2005.halaman 82.
Bagian pertama
Bagian kedua
Nama Premis Antecedent SituasiIF
KonklusiKonsekuenAksiTHEN
Alami Kondisi, sama dengan pengetahuan deklaratif
Resolusi, sama dengan pengetahuan Prsedural
Ukuran Dapat mempunyai banyak IF
Biasanya hanya mempunyai satu konklusi
Pernyataan Pernyataan AND Pernyataan OR
Semua kondisi harus benar untuk konklusi benar Jika ada kondisi pernyataan OR benar maka konklusinya benar
……..
2.5. Teknik Inferensi
Menurut George F. Luger (1990:94), definisi inferensi adalah:
“Inference is the process used in an expert system of deriving new information from known
information”.
Yang dapat diartikan bahwa inferensi adalah proses yang digunakan dalam sebuah Sistem
Pakar untuk menghasilkan informasi baru dari informasi yang telah diketahui.
Mesin inferensi adalah salah satu bagian dari Sistem Pakar dimana menerapkan teknik
inferensi untuk mengolah basis pengetahuan sehingga sistem sampai pada suatu kesimpulan.
Teknik inferensi yang biasa digunakan ada dua macam, yaitu:
Forward Chaining
Forward chaining atau disebut juga pelacakan ke depan adalah suatu metode pelacakan yang
dimulai dengan satu atau beberapa fakta awal sehingga didapatkan hasil atau goal yang
belum diketahui sebelumnya. Proses bergerak maju dengan cara mencocokkan fakta tersebut
dengan premis atau bagian IF yang ada pada aturan-aturan dalam basis pengetahuan. Jika saat
dieksekusi semua premis bernilai benar (True), maka bagian THEN akan diambil sebagai
fakta baru. Proses pelacakan ini akan dilakukan terus-menerus secara berantai sampai
ditemukan hasil atau goal yang diinginkan atau sampai tidak terdapat aturan lagi.
Berikut ini adalah contoh dari proses forward chaining:
o Facts (fakta): A, B, C
o Rules (aturan):
1. If A & B Then X
2. If X & C Then Y
3. If Y Or D Then Z
o Goal?
o Langkah Fakta Keterangan
0 ABC Langkah awal, terdapat 3 fakta.
1 ABCX Fakta baru (X) berasal dari aturan 1.
2 ABCXY Fakta baru (Y) berasal dari aturan 2.
3 ABCXYZ Goal (Z) didapat dari aturan 3.
Backward Chaining
Backward chaining atau pelacakan ke belakang adalah suatu
metode penalaran yang dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran
hipotesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan. Backward
chaining berusaha untuk membuktikan kebenaran suatu hipotesis dengan cara
mengumpulkan informasi (fakta-fakta) tambahan.
Proses backward chaining dimulai dengan suatu goal yang akan dibuktikan kebenarannya.
Proses dimulai dengan mencari pada memori kerja apakah goal tersebut sebelumnya sudah
ada. Jika goal tidak terdapat pada memori kerja, maka goal ini dicocokkan dengan konklusi
atau bagian THEN yang ada pada aturan-aturan dalam basis pengetahuan. Jika terdapat
konklusi yang tepat, maka bagian premis dari aturan tersebut dicari pada fakta-fakta
pendukung. Jika tidak terdapat pada fakta pendukung, maka premis tersebut akan dijadikan
goal baru atau disebut juga subgoal. Subgoal ini akan dicocokkan dengan konklusi yang ada
pada aturan-aturan lainnya. Proses pencocokkan akan dilakukan berulang-ulang sampai
ditemukan premis yang bukan merupakan konklusi dari suatu aturan (primitive rule). Gambar
2.3 merupakan flowchart proses backward chaining (John Durkin, 1992).
Berikut ini adalah contoh dari proses backward chaining:
o Hipotesa: Z
o Fakta: A, B, C
o Aturan:
1. If A & B Then X
2. If X & C Then Y
3. If Y Or D Then Z
o Langkah Subgoal Fakta Keterangan
0 Z ABC
1 Y ABC Aturan 3, memberi subgoal Y.
2 X (&C) ABC Aturan 2, memberi subgoal X.
3 (A&B) ABCX Aturan 1, memberi fakta X.
4 ABCXY Aturan 2, memberi fakta Y.
5 ABCXYZ Aturan 3, membuktikan
hipothesa Z benar.
2.6. Alat Pengembang Sistem Pakar
Pengembangan Sistem Pakar dapat menggunakan beberapa metode, yaitu:
Language. Language berarti sebuah penerjemah perintah-perintah yang ditulis dalam aturan
tertentu. Bahasa Sistem Pakar menyediakan mesin inferensi untuk mengeksekusi perintah-
perintah dalam bahasa tersebut. Tergantung pada bentuk implementasinya, mesin inferensi
dapat menggunakan baik metode forward chaining atau backward chaining ataupun
gabungan keduanya. Language dibedakan menjadi dua macam, yaitu:
Conventional Language, contoh: Pascal, Visual Basic, Java, C++.
Artificial Intelligence Language, contoh: LISP, Prolog, Small Talk.
Tool. Tool adalah bahasa pemrograman dengan tambahan fasilitas program (utility)
untuk mendukung pengembangan, proses pencarian kesalahan program, dan
pengiriman data ke program aplikasi. Fasilitas program tersebut termasuk teks, editor
grafik, debugger, file management, dan juga code generator. Dalam kasus tertentu,
sebuah tool dengan berbagai fasilitasnya dapat digabungkan dalam sebuah sistem
untuk menghasilkan sebuah tampilan yang umum bagi pengguna. Contoh: Runtime
Application Language (RAL).
Shell. Shell adalah sebuah tool dengan tujuan khusus, yaitu untuk tipe aplikasi tertentu
dimana pengguna hanya memberikan pengetahuan pada basis pengetahuan. Contoh:
EMYCIN (empty MYCIN) shell, VP-Expert.
III. Case-Based Reasoning
Pengertian
Terdapat berbagai pengertian tentang CBR, antara lain:
o CBR adalah “reasoning by membering” (Leake, 1996), yang artinya CBR adalah
penalaran dengan mengingat.
o Definisi lain yaitu “ a case-based reasoner solves new problems by adapting solutions
that were used to solved old problems” (Riesbeck & Schank, 1989), yang artinya
penalaran berdasarkan kasus untuk menyelesaikan masalah baru dengan cara
mengadaptasi solusi masalah lama.
Berdasarkan pengertian CBR di atas, dapat disimpulkan bahwa CBR adalah metode dalam
pengambilan keputusan dengan menggunakan solusi kasus-kasus lama yang serupa dan
menggunakannya kembali untuk menyelesaikan masalah baru, serta merupakan metode untuk
membangun sistem komputer yang cerdas.
3.2. Struktur Kasus
Hal yang paling mendasar dalam CBR adalah kasus (case). Suatu kasus adalah kumpulan
ciri-ciri (features) beserta nilainya. Lihat gambar 1 tentang struktur kasus. Menurut Richard
H. Stottler (1994), feature dapat dikelompokkan menjadi tiga kelompok sebagai berikut:
1. Descriptive Feature (ID Feature), yaitu ciri-ciri yang paling mudah untuk mengenal atau
mengelompokkan kasus. Pada umumnya berupa nama, nomor identitas, deskripsi
penjelas, dan lain-lain.
2. Solution Feature, yaitu ciri-ciri yang menunjukkan jawaban kasus. Contoh: obat apa, dan
berapa takaran yang harus diberikan.
3. Adjustment Feature, yaitu ciri-ciri yang berubah atau bersifat dinamis dan sangat
menentukan solusi kasus. Featur ini digunakan untuk menyesuaikan solusi kasus lama
agar sesuai dengan situasi dan kondisi masalah baru, misal umur dan berat badan sangat
menentukan doses pengobatan.
4. Setiap feature juga mempunyai nama, tipe data, domain, nilai, bobot dan jenis keserupaan
(feature matching).
Gambar 1. Struktur Suatu Kasus
Untuk menjelaskan lebih detil gambar 1, maka dibuat suatu ilustrasi seperti berikut. Misalkan
akan dibangun database kasus untuk bidang kedokteran. Analisa dimulai dari suatu kasus dari
pasien yang bernama Ana. Ia mempunyai data sebagai berikut: perempuan, usia 50 tahun dan
berat badan 18 kg, keluhan: tubuh merasa panas dingin dan lemas. Setelah diperiksa,
diputuskan bahwa Ana terserang demam, dan diberikan obat Panadol dengan doses tiga kali
sehari satu tablet, diminum setelah makan. (Kasus ini hanya ilustrasi, bukan riil).
Dari kasus Ana diatas, dilakukan analisa struktur kasus sebagai berikut:
1. Descriptive Feature (ID Feature): nama pasien, jenis kelamin, dan penyakit.
2. Solution Feature: jenis obat, doses dan takaran.
3. Adjustment Feature: umur dan berat badan.
Bobot, yaitu angka yang menunjukkan perbandingan kepentingan suatu feature dengan
feature lain dalam menentukan solusi suatu kasus, sangat diperlukan untuk melakukan
penyesuaian terhadap solusi kasus pasien baru, misal dalam hal ini ditetapkan pembobotan
sebagai berikut: umur berbobot 5, dan berat badan berbobot 3. Total bobot adalah 10, sisa
bobot (2) diberikan pada feature lainnya sesuai dengan ranking kepentingannya. Langkah
penyesuaian solusi akan lebih dijelaskan pada pembahasan dibawah.
Feature matching, yaitu menunjukkan tipe kecocokan antara suatu feature pada kasus lama
terhadap feature pada kasus baru dan sekaligus menghitung derajat keserupaan tiap feature.
Derajat keserupaan untuk semua feature per kasus di total demi menetapkan skore keserupaan
dari kasus-kasus lama yang mempunyai keserupaan tertinggi dengan kasus baru, hal ini
dilakukan dalam langkah retrieval (pencarian kembali, yang akan dijelaskan pada sub bab
berikut). Sebagai contoh, dalam hal ini ditetapkan tipe keserupaan untuk feature sebagai
berikut:
- penyakit bertipe exact match (persis sama), nama pasien dan jenis kelamin dianggap tidak
dominan.
- Berat dan umur bertipe linier
- Solution Feature diberikan tipe linier, artinya solusi kasus lama bila perlu diadaptasi
terhadap kasus baru maka faktor pengalinya adalah linier. Sebagai contoh perlunya
adaptasi adalah pasien baru jauh lebih tua dan lebih ringan dari pasien lama yang mirip
kasusnya, maka doses obat perlu disesuaikan.
Berdasarkan pengalaman seorang dokter, maka dapat disusun database yang terdiri ribuan
kasus pasien yang telah ditanganinya selama ini (misal selama 20 tahun praktek). Contoh
kecil database kasus yang sangat sederhana dapat dilihat pada Tabel 1.
Tabel 1. Contoh Database Kasus
Descriptive Feature Adjusment Feature Solution Feature
NamaJenis
KelaminPenyakit
Berat
Badan (kg)Umur Obat Dosis Takaran
Ana P Demam 50 18 Panadol 3x sehari 1 tablet
Antok L Demam 30 8 Panadol 3x sehari ½ tablet
Alex L Demam 70 70 Panadol 3x sehari 1 tablet
Dani L Diare 65 23 Diapet 2x sehari 1 tablet
Elisa P Maag 90 25 Promag 1x sehari 3 tablet
Catatan : L = laki-laki P = perempuan sdm = sendok makan
3.3. Keserupaan
Secara konsep, nearest neighbor merupakan teknik yang sangat sederhana. Berikut ini akan
digunakan contoh tentang manager bank yang memakainya untuk dikabulkan atau tidaknya
pinjaman seoarang klien baru. Dalam pengertian ini sebuah kasus adalah pinjaman
sebelumnya. Pertama, harus memutuskan ciri-ciri sebuah kasus yang akan digunakan sebagai
index. Index suatu kasus harus :
Dapat diprediksi
Cukup abstrak agar dapat memperlebar kegunaan database kasus pada masa
yang akan datang
Cukup nyata agar diakui di masa yang akan datang
Dua feature yang spesifik yang dapat langsung memenuhi kriteria ini adalah
1. Pendapatan seseorang tiap bulan, yaitu uang sisa yang dimiliki mereka setelah
pajak dan tanggung jawab keuangan yang lain
2. Pembayaran kembali pinjaman mereka tiap bulan
Gunakan dua feature ini sebagai index. Dengan demikian, kasus tersebut akan terdiri dari
informasi seperti yang dapat dilihat pada tabel 2.2
Tabel 2.2 Tabel kasus secara sederhana
Case Indexes
Net monthly income in dollars
Monthly loan repayment in dollars
Case result
Good or bad loan
Gambar 2.3 Grafik
sederhana
Pada gambar 2.3, dua index itu dapat digunakan sebagai sumbu untuk sebuah grafik, dengan
pendapatan bersih tiap bulan pada sumbu x dan pembayaran kembali pinjaman pada sumbu y.
Sebuah kasus yang lalu, sebagai contoh seseorang dengan pendapatan bersih tiap bulan relatif
tinggi dan pembayaran kembali pinjaman yang relatif rendah dapat digambarkan seperti pada
grafik.
Dengan cara yang sama, kasus lama yang lain dapat juga digambarkan sebagai batas
pada grafik (gambar 2.4). Sekarang, dapat dikatakan bahwa index seharusnya dapat
diprediksi, dan pengertian yang umum dapat memberitahu bahwa orang-orang dengan
pendapatan bersih tiap bulan yang relatif rendah dan pembayaran kembali pinjaman tiap
bulan yang relatif tinggi lebih banyak mengalami kegagalan dalam pinjaman daripada orang
dengan pendapatan yang tinggi dan pembayaran kembali yang rendah. Dengan demikian, ini
tidak mengherankan bila satu dari kelompok kasus menunjukkan orang-orang yang sukses
membayar kembali pinjamannya dan yang lain menunjukkan yang gagal.
Net monthly income
Mo
nth
ly lo
an
re
pa
ym
en
t
Bad loan
Good loan
Gambar 2.4 Kelompok pinjaman yang baik dan yang buruk
Sekarang dengan grafik ini dapat digunakan sebagai alat untuk mendukung keputusan.
Apabila seorang klien yang cukup prospektif sedang berjalan melalui pintu, yang harus
dilakukan adalah menanyakan berapa pendapatan bersihnya tiap bulan, kemudian hitung
pembayaran kembali pinjamannya tiap bulan, dan gambarkan hal ini dalam grafik. Apabila
seseorang tergolong dalam atau dekat dengan kelompok yang baik, permohonan pinjaman
harus dikabulkan. Apabila tergolong dalam atau dekat dengan kelompok yang buruk,
permohonan pinjaman harus ditolak.
Net monthly income
Mon
thly
loan
rep
aym
ent
New Case
Gambar 2.5 Sebuah kasus baru pada grafik
Pada grafik yang ditunjukkan pada gambar 2.5, mudah untuk mengetahui bahwa klien baru
itu dekat dengan pinjaman yang baik. Bagaimanapun, untuk yakinnya, harus menggunakan
grafik untuk menghitung jaraknya. Yang harus dikerjakan adalah menghitung jarak relatif
dari x dan y kasus baru (the target case) ke kasus-kasus yang lain (source cases). Mari
sederhanakan grafiknya dengan hanya mempertimbangkan 3 kasus : dua kasus sumber yang
ada disebut A dan B sedang kasus target dinamakan T. Dengan kasus A adalah sebuah
pinjaman yang baik dan kasus B sebagai pinjaman yang jelek. Sekarang dengan mudah akan
didapatkan jarak x dan y dari T dari tiap-tiap sumber kasus A dan kasus B.
Lo
an
re
pa
yme
nt
Monthly income
Case A.
Case B
Case T
XB
YB
X A
Gambar 2.6 Grafik dengan jarak nearest neighbor
Seperti yang dapat dilihat pada gambar 2.6 jarak x dari T ke A adalah 3 unit, dan jarak y
adalah 0, sedangkan jarak x milik T dari B adalah 1 unit dan jarak y adalah 3 unit. Untuk
itu :
Jarak T dari A : dA = XA + YA
Jarak T dari B : dB = XB + YB
Bagaimanapun memberi nilai yang paling kecil adalah tetangga terdekat kasus ke T. Jadi
dalam contoh ini jarak T dari A samadengan 3 (yaitu : 3+0), sedang jarak T dari B sama
dengan 4 (yaitu :1+3) dan karena itu A adalah tetangga paling dekat dengan T. Bank harus
mengabulkan pinjaman. Meskipun target mempunyai pendapatan yang kecil, pinjaman juga
rendah. Keputusan ini didukung oleh kasus tetangga terdekat (kasus A) menjadi sebuah
pinjaman yang baik.
Konsep dari nearest neighbor pada dasarnya adalah sederhana. Tetapi untuk membuat
menjadi lebih nyata dengan memberi bobot pada attribute. Dari pengalaman bertahun-tahun
sebagai pegawai bank, tentu percaya bahwa seseorang yang mempunyai pendapatan bersih
lebih mudah diramalkan kemampuan seseorang membayar kembali pinjaman daripada
ukuran relatif pembayaran kembali tiap bulan. Dapat dikatakan bahwa bila akan menimbang
pendapatan seseorang seperti dua kali lebih penting dari ukuran pembayaran kembali. Untuk
itu dapat menggunakan grafik yang sama, tetapi formula nearest neighbor berubah menjadi :
Jarak T dari A : dA = (XA x Wx ) + (YA x Wy )
Jarak T dari B : dB = (XB x Wx ) + ( YB x Wy )
Dimana Wx adalah bobot dari attribute X dan Wy adalah bobot dari attribute Y.
Dengan Wx = 2 dan Wy = 1. Sehingga :
Jarak T dari A : dA = 6 (yakni,(3x2) + (0x 1))
Jarak T dari B : dB = 5 (yakni, (1x2) + (3x1) )
Loan
repa
ymen
t
Monthly income
Case A.
Case B
Case T
Y B
XB
X A
Gambar 2.7 Grafik dengan bobot pada sumbu x
Maka dari itu, menggunakan formula nearest neighbor , kasus B sekarang menjadi lebih
dekat ke kasus T dan bank harus menolak pinjaman karena kasus B adalah pinjaman yang
jelek. Sebuah cara untuk menggambarkan ini adalah dengan menggambar ulang grafik yang
telah ada dengan sumbu x dua kali skala sumbu y (gambar 2.7). Ini akan menggambarakan
lebih jelas bahwa T lebih dekat ke B daripada ke A. Karena itu, dapat dilihat bagaimana
menambahkan latar belakang pengetahuan pada formula nearest neighbor dalam bentuk
kepentingan yang relatif, atau pemberian bobot, pada setiap attribute berubah secara dramatis
dimana kasus akan dicari kembali sebagai pasangan yang paling baik.
Contoh ini sangat mudah. Dalam kenyataannya, kasus-kasus mungkin memiliki 10, 20, atau
lebih attribute, dimana masing-masing mempunyai bobot sendiri-sendiri. Karena itu, selain
menggunakan ruang dua dimensi, seperti yang ada dalam contoh, kasus juga dikelompokkan
ke dalam ruang n-dimensi. Lebih lanjut, tidak akan membatasi pada perbandingan numerik
yang mudah dari persamaan. Beberapa ciri-ciri kasus mungkin akan memiliki nilai secara
simbolik (contoh warna seperti merah,hijau, dan biru), nilai Boolean (contoh :
benar,salah,atau tak dikenal), dan nilai textual.
Meskipun demikian, disamping kekompleksan yang meningkat , nearest neighbor algoritma
dapat bekerja disemua cara yang sama. Persamaan (yaitu dekatnya) dari kasus target ke kasus
sumber untuk tiap atribute sangat menentukan.Ukuran ini mungkin akan dikalikan dengan
faktor bobot. Kemudian jumlah dari persamaan dari semua attribute akan dihitung. Ini dapat
ditunjukkan dengan persamaan :
n
Similarity (T,S) = f (Ti,Si) x wi
i =1
dimana :
T adalah kasus target
S adalah kasus sumber
n adalah jumlah attribut dalam tiap kasus
I adalah attribut individual dari 1 sampai n
F adalah fungsi persamaan utnuk atribut i dalam kasus T dan S
W adalah bobot penting dari attribute i.
Persamaan normal biasanya jatuh dalam range antara 0 sampai 1 (dimana 0 adalah sama
sekali tidak sama dan 1 adalah sama dengan tepat) atau sebagai persen persamaan dimana
100% adalah sama dengan tepat.
3.4. Siklus CBR
Setelah database kasus yang berisi kasus-kasus lama (previous cases) dibangun, maka CBR
siap digunakan. Umumnya, CBR dapat digambarkan melalui empat putaran proses yang
disebut dengan Four Re’s (4 R), yaitu :
1. Retrieve the most similar case (mencari kembali kasus lama yang paling serupa
dengan kasus baru)
2. Reuse the case to attempt to solve the problem (menggunakan kembali solusi kasus
lama untuk menyelesaikan kasus baru)
3. Revise the proposed solution if necessary (jika diperlukan, lakukan adaptasi dan
revisi/perbaikan atas solusi lama yang diusulkan agar sesuai dengan situasi sekarang)
4. Retain the new solution as a part of a new case (apabila solusi pada langkah nomor 3
dianggap solusi baru, maka solusi ini disimpan/ditambahkan kedalam database kasus
untuk digunakan menyelesaikan masalah baru di masa yang akan datang). Dengan
demikian, CBR ini makin lama makin cerdas mengingat sistim ini dapat menyimpan
hal yang baru atau dapat mengikuti perkembangan kasus baru.
Jadi dalam CBR suatu masalah/kasus baru dipecahkan dengan mencari kembali satu atau
lebih kasus-kasus lama yang mirip, kemudian menggunakan kembali solusi kasus lama itu,
dan bila diperlukan dilakukan adaptasi solusinya, setelah itu sistim menyimpan kasus yang
baru tersebut beserta solusinya ke dalam database kasus. Keempat proses ini saling
mempengaruhi satu sama lain dan dapat digambarkan seperti pada Gambar 1.
Gambar 1. Case-Based Reasoning Cycle
Untuk lebih memperjelas kerja siklus CBR ini, maka diberikan ilustrasi dengan menggunakan
database kasus pada Tabel 1. Misalkan ada kasus baru dengan data: nama Gomblohwan, pria,
berumur 20 tahun, berat badan 51 kg, hasil diagnose menetapkan bahwa ia sakit demam. Atas
dasar data ini, maka akan dicari solusi yang paling mirip dari kasus lama yang tersimpan
dalam database kasus dengan proses melalui keempat siklus CBR sebagai berikut:
ProblemRetrieve
Casebase
Retain
Confirmed Solution
Proposed Solution
Revise
Reuse
1. Retrieve: Dari pencocokan Descriptive Feature yaitu “demam” ditemukan dua kasus
lama yang serupa, yaitu Ana dan Antok. Kemudian dihitung skore kemiripan keduanya
dengan menggunakan metode “Nearest Neighbour” (tetangga terdekat), penjelasan
metode yang dipersingkat dan dipermudah adalah sebagai berikut:
a. Jarak kasus baru dengan Ana = jarak berat badan * bobot + jarak umur * bobot =
| 51 – 50 | * 0,3 + | 20 – 18 | * 0,5 = 1,3
b. Jarak kasus baru dengan Antok = | 51 – 30 | * 0,3 + | 20 – 8 | * 0,5 = 12,30
Mengingat jarak kasus Ana lebih pendek dari pada kasus Antok, maka kasus Ana
dianggap paling mirip dengan kasus baru (Gomblohwan).
2. Reuse: solusi kasus lama (Ana), yaitu Panadol – 3xsehari – 1 tablet, bisa dipakai untuk
solusi kasus baru. Namun mengingat ada perbedaan umur dan berat badan, maka perlu
dilakukan adaptasi solusi pada featur takaran dan dosis. Adaptasi dilaksanakan dengan
memperhitungkan featur-feature pada Adjustment Feature dari segi Feature matching dan
pembobotan. Sebagai ilustrasi yang disederhanakan untuk kasus diatas adalah sebagai
berikut:
a. Faktor adaptasi = jumlah prosentase dari: bobot pengaruh tiap feature x
prosentasi jarak tiap featur pada Adjustment Feature = 0,3 * | 51 – 50 | / 50 *
100% + 0,5 * | 20 – 18 | * /18 * 100% = 6,16 %
b. Solusi yang diadaptasi menjadi:
i. Doses = 106,16 % x 3 kali sehari
ii. Takaran = 106,16 x 1 tablet
Solusi yang diadaptasi ini disebut sugested solution (solusi yang disarankan).
3. Revise: solusi yang disarankan atas dasar hitungan mathematis saja, kadang-kadang tidak
dapat dilaksanakan dalam praktek, seperti contoh sederhana diatas, maka diperlukan
revisi. Revisi dilakukan oleh seorang pakar dibidangnya, misalnya dalam kasus diatas
adalah seorang dokter yang berpengalaman. Untuk kasus diatas, misalnya saja oleh dokter
yang bersangkutan, solusi pada langkah 2.b. direvisi menjadi: 4 x sehari, 1 tablet. Revisi
dapat dilakukan secara manual atau dapat diotomasi (menyatu dengan sistim CBR,
misalnya dengan menggunakan suatu expert system).
4. Retain: solusi yang sudah direvisi bersama masalah baru bila dipandang termasuk unik
maka dapat dimasukan kedalam database kasus. Sebagai ilustrasi untuk kasus diatas,
maka kasus Gomblohwan ditambahkan sebagai kasus baru dalam database kasus. Dengan
langkah retain ini, maka database kasus makin panjang barisnya, dan sistem makin lama
makin kaya pengalaman dan semakin cerdas.
3.5. Alat Pengembang Software CBR
Alat pengembang aplikasi CBR yang komersial banyak tersedia di pasaran. Pembaca dapat
mencarinya lewat Google di internet dengan cukup mengetikan CBR softwares. Sedikit
contoh software CBR komersial adalah:
o ART Enterprise, harga sekitar $ 12000
o CaseAdvisor, harga sekitar $ 1000
o CasePower, harga sekitar 1000
o Esteem, harga sekitar $ 500
o Eclipse – The easy reasoner, harga tergantung kelengkapan.
3.6. Aplikasi CBR Dalam Bisnis dan Industri
Meskipun CBR termasuk pendatang baru dalam kasanah AI dibanding, katakan, expert
system dan artificial neural network, namun sangat mengherankan jumlah aplikasi CBR yang
sukses diterapkan dalam dunia bisnis dan industri telah banyak. Sebagai contoh kecil adalah:
Bidang Teknologi – Hardware
o Apple computer: customer support
o Intel Corp.: customer support
o Cisco Systems: customer support
o ATT Bell Labs.: customer support
Bidang Teknologi – Software
o Microsoft Corp.: customer support
o Autodesk: customer support
o NEC: customer support
o J.D. Edwards: customer support
o Lucas Arts Entertaiment Co.: customer support.
Bidang Finance dan Insurance
o American Express: credit card risk assesment
o Anderson Consulting: property and casualty underwriting
o Prudential: life and motor underwriting
o Swiss Bank: financial information retrieval
o VISA International: customer support
Manufakture dan Transportasi
British Airways: aircraft maintenance
British Petroleum: gas-oil separation untuk drilling
Daimler-Benz: quality control bagian gear box dari Mercedes
Nippon Steel: process configuration
NASA: process planning and space shuttle landing decision support.
Dan masih banyak lagi bidang aplikasi seperti untuk: Telekomunikasi, Utiliti,
Retail/Consumer, dan Outsourcing.
IV.
2.2.4 Sejarah Fuzzy Set
Ketepatan matematika mendapatkan sukses dalam bidang yang luas atau usaha
Aristotle dan piloshopher lainnya yang memperkenalkan matematika. Usaha lebih lanjut oleh
Parminedes menghasilkan suatu aturan yang menempatkan semua keadaan pada nilai benar
atau salah. Pada saat Parminedes memperkenalkan pertama kali aturan ini, ia mendapat
banyak penolakan, sebagai contoh Heraclitus mengemukakan bahwa sesuatu dapat
mempunyai nilai benar dan nilai salah.
Plato yang mengemukakan pendapatnya yang kemudian menjadi dasar dari fuzzy
logic. Plato mengemukakan bahwa ada kondisi ketiga, yaitu antara benar dan salah.
Philosopher modern juga mengemukakan pendapatnya yang sama dengan Plato, yaitu Hegel,
Marx, dan Engels. Tetapi Lukasiewicz mengemukakan alternatif yang sistematik daripada
nilai bilogic Aristotle.
Pada awal 1900-an, Lukasiewicz memperkenalkan tiga nilai logic. Nilai ketiga
tersebut dapat diterjemahkan pada kata possible dan Lukasiewicz menempatkannya sebagai
nilai numerik antara benar dan salah. Akhirnya Lukasiewicz mengemukakan sebuah sistem
notasi dan aksiomatik.
Akhirnya Lukasiewicz menyelidiki empat nilai logic, lima nilai logic, dan kemudian
mendeklarasikan asas bahwa tidak ada yang mencegah munculnya nilai logic tak terbatas.
Lukasiewicz merasa bahwa tiga logic atau nilai logic tak terbatas membangkitkan minat,
tetapi Lukasiewicz lebih mengistimewakan empat logic karena hal tersebut lebih mudah
disesuaikan dengan logika Aristotelian.
Knuth memperkenalkan tiga nilai logic yang mirip dengan Lukasiewicz. Knuth
menggunakan [-1, 0, +1] dari pada [0, 1, 2]. Pada akhirnya hal ini tidak dapat kurang
diterima.
Pada tahun 1965, Lotfi A Zadeh mempublikasikan hasil kerjanya, yaitu Fuzzy Set
yang berisi tentang teori matematika Fuzzy Set, dan dengan perluasan Fuzzy Logic. Teori ini
memperkenalkan penggunaan membership function yang mempunyai nilai real antara 0,0 dan
1,0. Operasi-operasi logika baru untuk kalkulus juga diperkenalkan dan menjadi hal yang
penting pada bidang logika.
2.3 Crisp Set, Fuzzy Set dan Fuzzy Logic
2.3.1 Crisp Set
Crisp set sering juga disebut classical set, karena crisp set telah ditemukan sejak lama, yaitu
sejak Aristotle mengemukakan The Law of The Excluded Middle yang menyatakan bahwa
suatu subjek pada suatu hal dapat diterima atau ditolak (J.S. Roger Jang dan Gulley, Ned,
1995).
Crisp set (himpunan klasik) mempunyai elemen yang menjadi bagian dari suatu set atau
bukan bagian dari set tersebut. Sebagai contoh, crisp set nama-nama hari mempunyai elemen
Senin, Selasa, Rabu..., Minggu. Sepatu, anjing, kucing tidak termasuk elemen dari set nama
hari dalam seminggu. Gambar 2.1 berikut ini menggambarkan penggolongan nama-nama
hari.
Gambar 2.1 Penggolongan Nama-nama Hari
Se
nin
Selasa
Rabu
Minggu
Sepatu
Kucing
Anjing
Nama-nama hari
Dengan contoh diatas, subjek yang ada adalah: Senin, dan yang dimaksud dengan
“hal” adalah nama-nama hari. Dalam kasus ini, Senin termasuk atau diterima dalam nama
hari dalam seminggu.
Aturan ini mengemukakan kategori yang berlawanan, yaitu A dan A . Semua anggota
Universe/Semesta harus terdapat pada salah satu dari keduanya. Jadi tidak dimungkinkan ada
“sesuatu” yang menjadi nama-nama hari dalam seminggu dan tidak menjadi nama-nama hari
dalam seminggu.
Untuk klasifikasi nama-nama hari dalam weekend (akhir pekan) permasalahan
menjadi sulit. Gambar 2.2 berikut ini menampakkan klasifikasi nama-nama hari dalam
weekend.
Gambar 2.2 Klasifikasi Nama-nama Hari Dalam Weekend
Pada contoh diatas, dimisalkan hari kerja adalah 5 hari yaitu, hari senin sampai
dengan jumat, sedangkan hari Sabtu dan Minggu dapat digolongkan sebagai hari-hari
weekend. Tetapi permasalahannya adalah hari Jum’at dapat digolongkan sebagai nama-nama
hari weekend, meskipun beberapa faktor juga menentang penggolongan tersebut.
Dari diagram sebelumnya, terlihat bahwa hari Jum’at ditempatkan pada garis batas.
Crisp set tidak dapat mentolerir hal ini.
Tentu saja pembahasan nama-nama hari dalam weekend tergantung pada pandangan
tiap-tiap individu, namun sebagai patokan, weekend dinyatakan sebagai periode dari Jum’at
malam atau Sabtu pagi sampai Senin pagi.
Fuzzy menjadi sangat penting dalam membahas konsep weekend seperti pada contoh
di atas, karena pada konsep tersebut, suatu pertanyaan seperti “apakah hari Jum’at termasuk
weekend?” tidak dapat dijawab dengan tegas (ya atau tidak).
M
iSabtu
Jum’at
Sepatu
KucingAnjing
Nama-nama hari dalam weekend
2.3.3 Representasi Fuzzy Set
Fuzzy Set merupakan suatu set yang terdiri dari elemen-elemen, dimana elemen-elemen
tersebut memiliki derajat keanggotaan (degree of membership) pada set tersebut (Ross,
Timothy J., 1993). Elemen pada fuzzy set, karena nilai keanggotaannya tidak harus satu, maka
elemen tersebut dapat menjadi anggota dari fuzzy set yang lain pada universe yang sama.
Elemen pada fuzzy set dipetakan pada universe of discourse dengan menggunakan fungsi.
Fuzzy set dinotasikan dengan menambah ‘tilde’ sebagai garis bawah. Contoh A berarti fuzzy
set S. Suatu fungsi akan memetakan elemen dari fuzzy set ke nilai antara 0 sampai 1. Suatu
elemen x yang merupakan anggota fuzzy set A dapat dituliskan dengan:
A (x) [0,1] A=(x, A (x)| x X)
Gambar 2.5 berikut ini menunjukkan perbedaan membership function crisp set dan fuzzy set
(Ross, Timothy J., 1993).
Gambar 2.5 Perbedaan Membership Function Untuk Crisp Set dan Fuzzy Set
Dalam penulisannya, fuzzy dapat dituliskan secara diskrete dan secara continue
dengan membership function (Durkin, John, 1996).
a. Diskrete
Fuzzy set dapat dituliskan secara discrete dengan bentuk sebagai berikut:
F= 1
1
x
+ 2
2
x
+ 3
3
x
+ ... + n
n
x
atau F=
N
i i
i
x1
dengan
0
m
lA
x
Membership Function untuk crisp set A
0
m
l
x
A
Membership Function untuk fuzzy set A
~
~~ ~
~
~
~
: membership value
x : elemen
+ : notasi boolean (union)
Contoh :
Bilangan universe tinggi yang terdiri dari :
U= {5, 5.5, 6, 6.6, 7, 7.5, 8}
Adapun, kumpulan bilangan yang termasuk elemen untuk tinggi adalah :
TinggiF =
8
1
5,7
1
7
1
5,6
875,0
6
5,0
5
125.0
b. Membership Function
Membership Function (fungsi keanggotaan) adalah suatu kurva yang menunjukkan pemetaan
titik-titik input data ke dalam nilai keanggotaannya (sering juga disebut dengan derajat
keanggotan) yang memiliki interval antara 0 sampai 1 (Kusumadewi, Sri, 2003). Input space
umumnya mengacu pada universe of discourse.
Gambar 2.6 menampilkan kurva yang memperlihatkan perubahan dari tidak tinggi ke tinggi
secara tajam dan halus.
Gambar 2.6 Perubahan Secara Tajam dan Secara Halus
Axis aoutput berupa nilai keanggotaan antara 0 dan 1. kurva merupakan fungsi keanggotaan,
yang umumnya diberi simbol . Kurva ini mendefinisikan perubahan dari tidak tinggi ke
tinggi.
Ekspresi dari classical set dapat dituliskan sebagai berikut
tinggi ( = 1.0)
tinggi ( = 0.0)
orang yang
tinggi ( = 0.95)orang yang tidak benar-benar
A={ X | X > 6 }
Fuzzy set merupakan perluasan dari classical set. Jika X merupakan universe of discourse dan
elemen-elemennya dinyatakan dengan x, maka fuzy set A pada himpunan semesta X dapat
didefinisikan sebagai pasangan elemen x dan tingkat fungsi keanggotaan atau :
A= {x, A (x) | x X }
A (x) disebut membership function dari x pada A. Membership function memetakan setiap
elemen x ke membership value antara 0 dan 1.
Ada empat macam membership function yang sering digunakan yaitu: segitiga, trapesium,
gaussian, dan bell yang diperluas (Kusumadewi, Sri, 2003).
Membership function Segitiga
Membership function yang mempunyai parameter a, b, c dengan formulasi segitiga (x;a,b,c) =
max
0,,minbc
xc
ab
bx
Membership function Trapesium
Membership function yang mempunyai parameter a, b, c, d dan formulasi trapesium
(x;a,b,c,d) = max
0,,1,minbd
xd
ab
bx
Membership function Gaussian
Fungsi yang mempunyai parameter a, dengan formulasi gaussian
x;a, = exp
2
2
1
cx
Membership function Bell yang diperluas
Membership function yang mempunyai parameter a,b,c dengan formulasi bell (x;a,b,c) =
b
a
cx2
)(1
1
dengan b positif.
Jika b negatif Membership function menjadi Membership function bell terbalik. Ilustrasi dari
keempat fungsi keanggotaan diatas diperlihatkan pada gambar 2.7.
Gambar 2.7. Jenis-jenis Fungsi Keanggotaan
a. Segitiga (x;20,60,80) b. Trapesium (x;10,20,60,95)
c. Gaussian (x;20,50) d. Bell (x;20,4,50)
Membership function mempunyai spesial feature yang ditunjukkan pada Gambar 2.8
(Ross, Timothy J., 1993).
Gambar 2.8 Special Feature Pada Membership Function
Core dari membership function untuk fuzzy set A didefinisikan sebagai daerah dari
universe yang mempunyai karakteristik keanggotaan yang penuh pada set tersebut. Jadi core
terdiri dari elemen-elemen dari universe X dimana A (X) = 1.
Support dari membership function untuk fuzzy set A didefinisikan sebagai daerah dari
universe yang memiliki karakteristik non-zero (bukan nol). Jadi support terdiri dari elemen-
elemen pada universe X dimana A (x) 0.
Boundary dari membership function untuk fuzzy set A didefinisikan sebagai daerah
pada universe yang memilki elemen yang nilai keanggotaannya non-zero, tetapi bukan
keanggotaan yang komplit. Jadi boundary terdiri dari elemen-elemen pada universe X dimana
0 < A (x) <1. Elemen-elemen dari universe ini merupakan derajat (degree) dari fuzziness,
atau hanya keanggotaan yang bersifat sebagian (partial) pada fuzzy set A.
Dilihat dari kenormalannya fuzzy set dibedakan menjadi dua, yakni fuzzy set normal
dan fuzzy set tidak normal. Fuzzy set normal terdiri dari membership yang memiliki
sedikitnya satu elemen pada universe X, dimana nilai keanggotaannya penuh. Pada fuzzy set
dimana satu dan hanya satu elemen yang memiliki nilai keanggotaan sama dengan satu, maka
elemen tersebut secara umum disebut sebagai prototype dari set satu elemen prototype. Fuzzy
set tidak normal terdiri dari membership yang tidak memiliki satu elemen pada universe X
yang nilai keanggotaannya penuh. Gambar 2.9 berikut ini menunjukkan gambar fuzzy set
normal dan fuzzy set tidak normal (Ross, Timothy J., 1993)
Gambar 2.9 Fuzzy Set Normal dan Fuzzy Set Tidak Normal
2.3.4 Operasi Operasi Dasar Fuzzy Set
Sebagaimana operasi-operasi himpunan pada umumnya, fuzzy set juga memiliki
operasi-operasi himpunan yang umumnya disebut operasi fuzzy set. Berikut ini operasi-
operasi fuzzy set (Ross, Timothy J., 1993):
1. Operasi Union
Operasi union untuk fuzzy set ditunjukkan pada gambar 2.10.
Gambar 2.10 OperasiUunion PadaFuzzySet
(x) = (x) (x)
Contoh :
U = dan
V =
Hasil dari operasi union dari dua bilangan tersebut adalah:
D = U V
=
=
2. Operasi Intersection/Irisan
Operasi irisan untuk fuzzy set ditunjukkan pada gambar 2.11.
Gambar 2.11 Operasi Irisan Untuk Fuzzy Set
(x) = (x) (x)
Contoh :
Hasil dari operasi irisan dari dua bilangan U dan V adalah :
C = U V
=
=
3. Operasi Komplemen
Operasi komplemen untuk fuzzy set ditunjukkan pada gambar 2.12.
Gambar 2.12 Operasi Komplemen Untuk Fuzzy Set
(x)=1- (x)
Contoh :
Misalkan X={0.4, 0.6, 0.8, 1.0, 1.2, 1.4} mewakili sifat merekat untuk sebuah solusi.
Misalkan U mewakili sebuah kumpulan yang disebut “desirable”. Diasumsikan
masing-masing viscosity memberikan nilai keanggotaan.
U =
Kemudian,
=
=
2.3.5 Variabel Linguistik
Variabel linguistik merupakan konsep yang penting dalam fuzzy set. Variabel
linguistik adalah variabel yang lebih tinggi tingkatannya dari variabel fuzzy dengan
menggunakan variabel fuzzy untuk nilainya. Contoh Variabel Linguistik dengan Nilai Typical
:
Variabel Linguistik Nilai Typical
ukuran kecil, sedang, besar
tinggi pendek, sedang, tinggi
kecepatan lambat, sedang, cepat
2.3.6 Model Fuzzy
Variabel model sering dinyatakan dengan ruang yang tidak jelas (fuzzy). Ruang ini
biasanya terdiri atas overlap fuzzy set, masing-masing fuzzy set menggambarkan partisi
semantik yang dinyatakan dengan variabel. Misal parameter TEMPERATURE dalam fuzzy set
dibagi menjadi empat bagian : COLD, COOL, WARM, dan HOT. Jarak dari nilai yang paling
kecil sampai dengan nilai yang paling besar disebut universe of discourse. Universe of
discourse untuk model temperatur adalah ke F, daerah untuk fuzzy set WARM adalah
ke . Gambar 2.19 berikut merupakan contoh model fuzzy pada variabel temperature.
Gambar 2.19 Model Fuzzy pada Variabel Temperature
Universe of discourse dari gambar tersebut adalah 0- , adapun daerah (domain) untuk
WARM adalah 60 - . Jika temperature menunjukkan , maka termasuk dalam
himpunan COOL dengan nilai keanggotaan (Membership Value) 0,8 dan termasuk himpunan
WARM dengan nilai keanggotaan (Membership Value) 0,2.
2.3.7 Fuzzy Logic
Suatu cabang logika yang menggunakan derajat keanggotaan dalam penetapan
dibandingkan pernyataan keanggotaan benar/salah.
Fuzzy logic merupakan perlakuan dari fuzzy set sebagai fuzzy proposition. Fuzzy proposition
merupakan pernyataan yang menyatakan nilai untuk memberikan linguistic variable seperti
“tinggi adalah jangkung”. Hal yang umum, dapat dipresentasikan suatu fuzzy proposition
Proposition: X adalah A
Dimana A adalah fuzzy set dalam bilangan universe X.
Fuzzy logic memberikan nilai untuk suatu kejadian dasar pada fungsi keanggotaan
(membership function), seperti digambarkan pada
dalam fuzy logic, kejadian atau elemen x memberikan fungsi keanggotaan . Nilai ini
menghadirkan tingkat derajat untuk elemen x kepunyaan fuzzy set A.
;
Fuzzy logic terkait dengan pengukuran dan pertimbangan tentang istilah samar dan
ketidak jelasan (fuzzy) yang ada pada bahasa alami (linguistik variabel biasa disebut variabel
fuzzy).
Beberapa alasan digunakannya logika fuzzy (Sri Kusumadewi:2003) :
1) Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran
fuzzy sangat sederhana dan mudah dimengerti.
2) Logika fuzzy sangat fleksibel
3) Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat
4) Logika fuzzy didasarkan pada bahasa alami
V.
2.1 Sejarah Genetic Algorithms (GA)1
Algoritma Genetika (AG) pertama kali dikembangkan oleh John Holland bersama
rekan kerja dan murid-muridnya pada tahun 1975 di Universitas Michigan. Dalam penelitian
tersebut dilakukan uji coba untuk memanfaatkan prinsip proses evolusi dalam suatu
perangkat lunak untuk memecahkan suatu permasalahan optimasi. Konsep dasar yang
mengilhami timbulnya algoritma genetik adalah teori evolusi alam yang dikemukakan oleh
Charles Darwin. Dalam teori tersebut dijelaskan bahwa pada proses evolusi alami, setiap
spesies harus melakukan adaptasi terhadap lingkungan di sekitarnya untuk bertahan hidup.
Topik pokok dari penelitian yang dilakukan John Holland adalah kekuatan
(robustness) serta keseimbangan antara tingkat efisiensi dan tingkat keberhasilan suatu sistem
untuk dapat bertahan hidup (survival of fittest) dalam berbagai macam lingkungan yang
berbeda.
2.2 Konsep Genetic Algorithms2
Dikarenakan algoritma genetika diilhami oleh ilmu genetika maka istilah-istilah yang
dipergunakan dalam algoritma genetika banyak diadaptasi dari ilmu tersebut. Pada algoritma
ini, teknik pencarian dilakukan sekaligus atas sejumlah solusi yang dikenal dengan istilah
populasi (population) atau genome. Individu yang terdapat dalam satu populasi disebut
dengan istilah string (string) atau genotype atau kromosom (chromosome). Kromosom terdiri
atas gen (genes), blok dari DNA, /karakter/dekoder yang tersusun secara linier. Kromosom
ini merupakan suatu solusi yang masih berbentuk simbol. Posisi yang ditempati gen dalam
kromosom disebut loci (locus). Nilai yang terdapat dalam gen disebut alle (alleles). Tipe data
1 Sumber : Dr. Ir. Setiawan Kuswara, M.T., Paradigma Sistem Cerdas (Jaringan Syaraf Tiruan, Logika Fazi dan Algoritma Genetika) hal 95
2 Sumber : Dr. Ir. Setiawan Kuswara, M.T., Paradigma Sistem Cerdas (Jaringan Syaraf Tiruan, Logika Fazi dan Algoritma Genetika) hal 95
alle dapat berbentuk angka biner, floating point, ataupun integer, tergantung dari bentuk
representasi genetik yang digunakan. Sedangkan, alle-alle yang bergabung memberi arti/nilai
pada kromosom. Arti-arti yang terdapat pada kromosom disebut phenotype.
Gambar 2.1
Bentuk individu
genetik
Keterangan :
i = 1,2,3,……m
. = gen/karakter
. = alle (nilai : biner, floating point, integer)
i = loci (posisi)
m = panjang kromosom
Algoritma genetika dalam melakukan optimasi, berangkat dari himpunan populasi awal
yang dihasilkan secara acak. Himpunan populasi itulah yang dianggap sebagai jawaban solusi
pertama yang akan diuji keoptimalannya. Sedangkan populasi berikutnya merupakan hasil
evolusi kromosom-kromosom melalui iterasi yang disebut dengan istlah generasi
(generation).
Cara mendapatkan solusi optimal adalah menghitung nilai fitness dari setiap individu.
Fungsi untuk menghitung nilai fitness disebut fungsi fitness yang dapat berupa fungsi
matematika atau fungsi lainnya dengan melihat kriteria tertentu dari permasalahan yang
i . . . . m
hendak diselesaikan. Hal yang terpenting adalah fungsi fitness yang digunakan harus sesuai
dengan permasalahan yang hendak diselesaikan karena fungsi fitness itulah yang menentukan
bentuk individu yang dihasilkan. Pada setiap generasi, kromosom akan melalui proses
evaluasi dengan menggunakan fungsi fitness. Dengan fungsi fitness yang menghasilkan nilai
fitness dari suatu kromosom maka dapat dibedakan antara kromosom yang berkualitas baik
dengan kromosom yang berkualitas buruk dalam populasi tersebut. Kromosom berkualitas
baik mempunyai kemungkinan yang lebih besar untuk terpilih sebagai induk. Jika algoritma
genetik tersebut belum mencapai kondisi untuk berhenti maka akan dibentuk generasi
berikutnya yang dikenal dengan istilah anak (offspring), terbentuk dari gabungan 2
kromosom generasi sekarang yang bertindak sebagai induk (parent) dengan menggunakan
operator penyilangan (crossover).
3Selain operator penyilangan, suatu kromosom dapat juga dimodifikasi dengan
menggunakan operator mutasi. Populasi generasi yang baru dibentuk dengan cara menyeleksi
nilai fitness dari kromsom induk (parent) dan nilai fitness dari kromosom anak (offspring),
serta menolak kromosom-kromosom yang lainnya sehingga ukuran populasi (jumlah
kromosom dalam satu populasi) konstan. Setelah melalui beberapa generasi (kondisi berhenti
dari algoritma genetik), maka algoritma ini akan konvergen (jumlah generasi yang diminta
telah tercapai) ke kromosom terbaik.
2.3.1 Keunggulan dan Keterbatasan Algoritma Genetika
2.3.1.1 Keunggulan Algoritma Genetika4
Beberapa keunggulan yang dimiliki oleh algoritma genetika adalah sebagai berikut :
3 Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 2804 Sumber : http://ikc.yarsi.ac.id/umum/anto/anto-softcomputing.pdf, hal 6 & Dr. Mauridhi Hery
Purnomo, Dasar Algoritma Cerdas hal 157
1. GA memiliki kemampuan untuk mencari nilai optimal secara paralel, melalui proses
kerjasama antara berbagai unit yang disebut kromosom individu.
2. GA tidak memerlukan perhitungan matematika yang rumit seperti differensial yang
diperlukan oleh algoritma optimisasi yang lain.
3. Mampu untuk mencapai penyelesaian global (global optimum).
4. Dapat digunakan untuk problema dengan jumlah parameter yang banyak.
5. Tanpa memerlukan informasi derivatip.
6. Untuk fungsi kontinyu maupun diskrit.
7. Data yang digunakan bisa berupa hasil dari eksperimen, fungsi analitik maupun hasil
dari perhitungan numerik.
2.3.1.2 Keterbatasan Algoritma Genetika5
Namun demikian algoritma genetika juga memiliki kelemahan dan keterbatasan
sebagai berikut :
1. Tidak memiliki rumusan yang pasti, bagaimana mentransfer parameter permasalahan
ke dalam kode genetik. Dengan kata lain, hal ini memerlukan pengalaman dan
wawasan dari desainer.
2. Banyak parameter yang perlu diset secara baik agar proses evolusi dalam GA berjalan
sesuai dengan yang diharapkan.
5 Sumber : http://ikc.yarsi.ac.id/umum/anto/anto-softcomputing.pdf, hal 6
3. Penentuan rumus menghitung fitness merupakan hal yang sangat penting dan
mempengaruhi proses evolusi pada GA. Sayangnya tidak ada prosedur yang baku
bagaimana menentukan rumus tersebut. Dalam hal ini pengalaman dari desainer
memegang peranan penting
2.3.2 Perbedaan GA & Algoritma Pencarian Yang Lain6
Algoritma genetika berbeda dari prosedur pengoptimalisasian dan pencarian yang
biasa dalam beberapa pokok. Goldberg telah menjabarkan sebagai berikut:
1. Algoritma genetika bekerja menggunakan kumpulan solusi yang berkode, bukan
menggunakan solusi itu sendiri.
2. Algoritma genetika mencari dari sebuah populasi solusi, bukan dari satu solusi.
3. Algoritma genetika menggunakan informasi hasil (fungsi kecocokan), bukan
fiksi/jiplakan atau pengetahuan pendukung lainnya.
4. Algoritma genetika menggunakan peraturan kemungkinan perubahan, bukan peraturan
ketetapan.
2.3 Komponen Utama Genetic Algorithms7
Ada 6 komponen utama dalam algoritma genetika, yaitu :
2.3.1 Teknik Penyandian (Encoding)
6 Sumber : Agustina, Implementasi Algoritma Genetika Untuk Optimasi Masalah Penjadwalan Mesin, STIKI (2002), hal 9
7 Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 280
Teknik penyandian disini meliputi penyandian gen dari kromosom. Gen merupakan
bagian dari kromosom. Satu gen biasanya akan mewakili satu variabel. Gen-gen/variabel-
variabel tersebut dapat direpresentasikan dalam bentuk bilangan biner, pohon, bilangan real
(floating point), integer, abjad, daftar aturan, elemen permutasi, elemen program, atau
representasi lainnya yang dapat diimplementasikan untuk operator genetika.
Pengkodean string biner merupakan pendekatan paling klasik dan sederhana yang
digunakan dalam proses algoritma genetika. Beberapa problema optimasi mengalami
kesulitan untuk menerapkan cara pengkodean string biner ini, misalnya permasalahan graph
coloring. Oleh karenanya digunakanlah teknik pengkodean yang lain yaitu pengkodean
bilangan real (floating point), pengkodean order-based (untuk graph coloring), embedded
lists (untuk problema penjadwalan (scheduling)), variable element list (untuk semiconductor
layout).
Pemilihan pengkodean harus dirancang sesuai dengan problema yang akan
diselesaikan sehingga sebuah kode benar-benar merupakan representasi yang tepat untuk
suatu persoalan. Berikut beberapa metode pengkodean pada algoritma genetika :8
a. Pengkodean biner (binary encoding)
Pada metode ini kromosom dinyatakan sebagai sebuah string bernilai biner.
0 1 0 1 0 0 1 0 1 1 1
Gen-1 Gen-2 Gen-3
8 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 162
Gen-1 Gen-2 Gen-3
Gambar 2.2 Contoh pengkodean biner.
(Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 281)
Cukup banyak kemungkinan untuk merepresentasikan kromosom dengan metode ini,
meskipun hanya dengan jumlah alle yang sedikit. Kelemahannya adalah kurang alami untuk
beberapa kasus dan seringkali diperlukan koreksi setelah proses pindah silang dan mutasi.
b. Pengkodean permutasi (permutation encoding)
Aplikasi metoda ini sesuai untuk kasus yang bersifat sekuensial. Misalnya pada kasus
traveling salesman problem. Setiap kromosom dinyatakan sebagai string angka yang
letaknya sesuai dengan urutan dari penyelesaian (sekuensial).
Tabel 2.1
Contoh pengkodean permutasi.
Kromosom A 1 5 3 2 6 4 7 9 8
Kromosom B 8 5 6 7 2 3 1 4 9
c. Pengkodean nilai (value encoding)
Pengkodean ini menyatakan setiap kromosom berupa string nilai aslinya. Nilai
tersebut dapat berupa angka, huruf atau kombinasi dari keduanya disesuaikan dengan
kasusnya. Metoda ini lebih efektif dan tampak alami karena sesuai dengan kasus yang
akan diselesaikan.
Tabel 2.2
Contoh pengkodean nilai.
Kromosom A 1.2324 5.3243 0.4556 2.3293 2.4545
Kromosom B ABDJEIFJDHDIERJFDLDFLFEGT
Kromosom C (back), (back), (right), (foward), (left)
d. Pengkodean cabang (tree encoding)
Pada metoda ini setiap kromosom diumpamakan sebagai sebuah cabang dari beberapa
objek seperti fungsi dan perintah dalam bahasa pemrograman.
Tabel 2.3
Contoh pengkodean cabang.
Kromosom B
(do_until step wall)
Demikian juga, kromosom dapat direpresentasikan dengan menggunakan :
o Bilangan real (floating point), alle dari setiap gen bertipe floating point : 0.576,
0.065, 1.000, 65.65, -67.98, 562.88, dst.
o Representasi integer, alle dari setiap gen bertipe integer : 42513
do until
wallstep
o Daftar aturan : R1, R2, R3, dst.
o Struktur lainnya.
2.3.2 Prosedur Inisialisasi
Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator
genetik yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus
dilakukan inisialisasi terhadap kromosom yang terdapat pada populasi tersebut. Inisialisasi
kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi
dan kendala permasalahan yang ada.
2.3.3 Fungsi Evaluasi
Ada 2 hal yang harus dilakukan dalam melakukan evaluasi kromosom, yaitu evaluasi
fungsi objektif (fungsi tujuan) dan konversi fungsi objektif ke dalam fungsi fitness. Secara
umum, fungsi fitness diturunkan dari fungsi objektif dengan nilai yang tidak negatif. Apabila
ternyata fungsi objektif memiliki nilai negatif, maka perlu ditambahkan suatu konstanta C
agar nilai fitness yang terbentuk menjadi tidak negatif.
9Dalam GA, sebuah fungsi kebugaran (fitness) f (x) harus dirancang untuk masing-
masing permasalahan yang akan diselesaikan. Dengan menggunakan kromosom tertentu,
fungsi objektif atau fungsi evaluasi akan mengevaluasi status masing-masing kromosom.
Setiap gen xi (i = 1,2,...N) dipergunakan untuk menghitung fk (x) (k = 1,2,...POPSIZE).
Pada permulaan optimasi, biasanya nilai kebugaran masing-masing individu masih
mempunyai rentang yang lebar. Seiring dengan bertambahnya generasi, beberapa kromosom
9 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 168
mendominasi populasi dan mengakibatkan rentang nilai kebugaran semakin kecil. Hal ini
dapat mengakibatkan konvergensi dini (premature convergence).
Permasalahan klasik dalam GA adalah beberapa kromosom dengan nilai kebugaran
yang tinggi (tetapi bukan nilai optimum) mendominasi populasi dan mengakibatkan GA
konvergen pada local optimum. Ketika mencapai konvergen, kemampuan GA untuk mencari
solusi yang lebih baik menghilang. Pindah silang antara kromosom induk yang hampir
identik menghasilkan keturunan (offspring) yang identik. Dalam hal ini hanya operasi mutasi
yang mampu menghasilkan kromosom yang relatif baru dan merupakan cara untuk
menghindari kromosom tertentu mendominasi populasi.
2.3.4 Seleksi
Dasar proses seleksi adalah teori evolusi Darwin tentang proses seleksi individu, yang
berprinsip bahwa, individu terbaik akan tetap hidup dan menghasilkan keturunan.10 Seleksi
ini bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota
populasi yang paling fit. Ada beberapa metode seleksi dari induk, antara lain :
a. Rank-based fitness assigment
Pada rank-based fitness, populasi diurutkan menurut nilai objektifnya. Nilai fitness
dari tiap-tiap individu hanya tergantung pada posisi individu tersebut dalam urutan, dan
tidak dipengaruhi oleh nilai objektifnya.
b. Roulette wheel selection
Metode seleksi roda roullete ini merupakan metode yang paling sederhana, dan
sering juga dikenal dengan nama stochastic sampling with replacement. Pada metode
ini, individu-individu dipetakan dalam suatu segmen garis secara berurutan sedemikian
10 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 168
hingga tiap-tiap segmen individu memiliki ukuran yang sama dengan ukuran fitness-
nya. Sebuah bilangan random dibangkitkan dan individu yang memilki segmen dalam
kawasan bilangan random tersebut akan terseleksi. Proses ini diulang hingga diperoleh
sejumlah individu yang diharapkan.
11Adapun algoritma dari roulette-wheel adalah sebagai berikut :
1. Menjumlahkan nilai kebugaran dari seluruh anggota populasi.
2. Membangkitkan nilai k, nilai random antara 0 dan total kebugarannya.
3. Mendapatkan anggota populasi pertama yang bugar, dijumlahkan dengan
kebugaran dari kumpulan anggota populasi yang lebih besar atau sama dengan k.
12Langkah-langkah metode seleksi roulette-wheel adalah sebagai berikut :
1. Hitunglah nilai kebugaran (fitness) eval (vk) untuk setiap individu/kromosom vk,
eval (vk) = f (x) , k = 1,2,...POPSIZE
2. Hitunglah kebugaran total (seluruh individu) F dari populasi,
F =
3. Hitunglah probabilitas seleksi pk dari setiap kromosom dengan cara membagi nilai
fitness masing-masing individu dengan total nilai fitness populasi,
pk = , k = 1,2,...POPSIZE
4. Hitunglah probabilitas kumulatif untuk setiap kromosom/individu vk,
qk =
11 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 16912 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 172
Contoh :
Dianggap terdapat sebuah populasi dengan 6 kromosom (string) dengan
sekumpulan nilai fitness yang berjumlah total 50 seperti yang ditunjukkan pada
tabel 2.4. Disertakan struktur Roulette Wheel yang ditunjukkan pada gambar 2.3.
Tabel 2.4 Contoh masalah kromosom beserta nilai fitness
No String (Chromosome)
Fitness % of Total Running Total
1 01110 8 16 8
2 11000 15 30 23
3 00100 2 4 25
4 10010 5 10 30
5 01100 12 24 42
6 00011 8 16 50
Kemudian kita bangkitkan nomer secara acak dari interval 0 dan 50. Untuk setiap
nomer, teknik seleksi induk Roulette Wheel memilih kromosom pertama dari
Running Total pada tabel 2.4, apakah lebih besar atau sama dengan Random
Number pada tabel 2.5.
Tabel 2.5 Tabel pengiring
Random Number 26 2 49 15 40 36 9
Chromosome Chosen 4 1 6 2 5 5 2
Gambar 2.3 Struktur roulette wheel
Keterangan :
% of Total = (Fitness/Total Nilai Fitness) * 100%
Running Total (n) = Fitness + Running Total (n-1), dengan Running Total (0)
= 0.
c. Stochastic universal sampling
Stochastic universal sampling memiliki nilai bias nol dan penyebaran yang
minimum. Pada metode ini, individu-individu dipetakan dalam suatu segmen garis
secara berurutan sedemikian hingga tiap-tiap segmen individu memiliki ukuran yang
sama dengan ukuran fitnessnya seperti halnya pada seleksi roda roullete. Kemudian
diberikan sejumlah pointer sebanyak individu yang ingin diseleksi pada garis tersebut.
Andaikan N adalah jumlah individu yang akan diseleksi, maka jarak antar pointer
adalah 1/N, dan posisi pointer pertama diberikan secara acak pada range {0,1/N}.
d. Local selection
Pada seleksi lokal, setiap individu yang berada di dalam konstrain tertentu disebut
dengan nama lingkungan lokal. Interaksi antar individu hanya dilakukan di dalam
wilayah tersebut. Lingkungan tersebut ditetapkan sebagai struktur dimana populasi
tersebut terdistribusi. Lingkungan tersebut juga dapat dipandang sebagai kelompok
pasangan-pasangan yang potensial.
e. Truncation selection
Pada metode-metode yang telah dijelaskan terdahulu, seleksi dilakukan secara
alami. Pada seleksi dengan pemotongan ini, lebih berkesan sebagai seleksi buatan.
Seleksi ini biasanya digunakan oleh populasi yang jumlahnya sangat besar. Pada
metode ini, individu-individu diurutkan berdasarkan nilai fitness-nya. Hanya individu-
individu yang terbaik saja yang akan diseleksi sebagai induk. Parameter yang
digunakan dalam metode ini adalah suatu nilai ambang trunc yang mengindikasikan
ukuran populasi yang akan diseleksi sebagai induk yang berkisar antara 50%-10%.
Individu-individu yang ada dibawah nilai ambang ini tidak akan menghasilkan
keturunan.
f. Tournament selection
Pada metode seleksi dengan turnamen ini, akan ditetapkan suatu nilai tour untuk
individu-individu yang dipilih secara random dari suatu populasi. Idividu-individu yang
terbaik 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).
2.3.5 Operator Genetika
13Ada dua macam operator yang memegang peranan penting dalam proses GA, yaitu
pindah silang (crossover) dan mutasi. Jenis dan implementasi dari operator bergantung pada
jenis pengkodean yang digunakan dan juga kasusnya.
13 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 174
2.3.5.1 Pindah Silang (Crossover)
Fungsi dari pindah silang adalah menghasilkan kromosom anak dari kombinasi
materi-materi gen dua kromosom induk. Cara kerjanya dengan membangkitkan sebuah nilai
random rk dimana k = 1,2,…,POPSIZE. Probabilitas pindah silang (Pc) ditentukan dan
digunakan untuk mengendalikan frekuensi operator pindah silang. Apabila nilai rk < Pc maka
kromosom ke-k terpilih untuk mengalami pindah silang.
Crossover satu titik (One Point Crossover)
Pada penyilangan satu titik, posisi penyilangan k (k = 1,2,...,N-1), dengan N=panjang
kromosom, di seleksi secara random. Variabel-variabel di tukar antar kromosom pada
titik tersebut untuk menghasilkan anak. Misalkan ada 2 kromosom dengan panjang 12
:
Induk 1 : 0 1 1 1 0 | 0 1 0 1 1 1 0
Induk 2 : 1 1 0 1 0 | 0 0 0 1 1 0 1
Posisi penyilangan yang terpilih : misalkan 5
Setelah penyilangan, diperoleh kromosom-kromosom baru :
Anak 1 : 0 1 1 1 0 | 0 0 0 1 1 0 1
Anak 2 : 1 1 0 1 0 | 0 1 0 1 1 1 0
Crossover banyak titik
Pada penyilangan banyak titik, m posisi penyilangan k i (k = 1,2,...,N-1, i = 1,2,...,m)
dengan N=panjang kromosom diseleksi secara random dan tidak diperbolehkan ada
posisi yang sama, serta diurutkan naik. Variabel-variabel ditukar antar kromosom
pada titik tersebut untuk menghasilkan anak. Misalkan ada 2 kromosom dengan
panjang 12 :
Induk 1 : 0 1 1 1 0 0 1 0 1 1 1 0
Induk 2 : 1 1 0 1 0 0 0 0 1 1 0 1
Posisi penyilangan yang terpilih :
Misalkan (m = 3) : 2 6 10
Setelah penyilangan, diperoleh kromosom-kromosom baru :
Anak 1 : 0 1 | 0 1 0 0 | 1 0 1 1 | 0 1
Anak 2 : 1 1 | 1 1 0 0 | 0 0 1 1 | 1 0
Crossover seragam
Pada penyilangan seragam, setiap lokasi memiliki potensi sebagai tempat
penyilangan. Sebuah mask penyilangan dibuat sepanjang panjang kromosom secara
random yang menunjukkan bit-bit dalam mask yang mana induk akan men-supply
anak dengan bit-bit yang ada. Induk mana yang akan menyumbangkan bit ke anak
dipilih secara random dengan probabilitas yang sama. Disini anak 1 akan dihasilkan
dari induk 1 jika bit mask bernilai 1, atau sebaliknya, anak 1 akan dihasilkan dari
induk 2 jika bit mask bernilai 0. Sedangkan anak 2 dihasilkan dari kebalikan mask.
Misalkan ada 2 kromosom dengan panjang 12 :
Induk 1 : 0 1 1 1 0 0 1 0 1 1 1 0
Induk 2 : 1 1 0 1 0 0 0 0 1 1 0 1
Mask bit :
Sample 1 : 1 0 0 1 1 1 0 0 1 1 0 1
Sample 2 : 0 1 1 0 0 0 1 1 0 0 1 0
Setelah penyilangan, diperoleh kromosom-kromosom baru :
Anak 1 : 0 1 0 1 0 0 0 0 1 1 0 0
Anak 2 : 1 1 1 1 0 0 1 0 1 1 1 1
Crossover dengan permutasi.
Pada penyilangan dengan permutasi ini, kromosom-kromosom anak diperoleh dengan
cara memilih sub-barisan suatu tour dari satu induk dengan tetap menjaga urutan dan
posisi sejumlah kota yang mungkin terhadap induk yang lainnya.
Misal :
Induk 1 : (1 2 3 | 4 5 6 7 | 8 9)
Induk 2 : (4 5 3 | 1 8 7 6 | 9 2)
Anak 1 : (x x x | 1 8 7 6 | x x)
Anak 2 : (x x x | 4 5 6 7 | x x)
Dari sini kita memperoleh pemetaan :
1-4, 8-5, 7-6, 6-7.
Kemudian kita copy sisa gen di induk ke anak 1 dengan menggunakan pemetaan yang
sudah ada.
Anak 1 : (1-4 2 3 | 1 8 7 6 | 8-5 9)
Anak 1 : (4 2 3 | 1 8 7 6 | 5 9)
Lakukan hal yang sama untuk anak – 2 :
Anak 2 : (4-1 5-8 3 | 4 5 6 7 | 9 2)
Anak 2 : (1 8 3 | 4 5 6 7 | 9 2)
2.3.5.2 Mutasi
Operasi mutasi mampu menghasilkan kromosom yang relatif baru dan merupakan
cara untuk menghindari kromosom tertentu mendominasi populasi. 14Operator mutasi
digunakan untuk memodifikasi satu atau lebih nilai gen dalam satu individu. Cara kerjanya
dengan membangkitkan sebuah nilai random rk dimana k = 1,2,...,NVAR (panjang
kromosom). Probabilitas mutasi ditentukan dan digunakan untuk mengendalikan frekuensi
operator mutasi. Apabila nilai random rk < Pm maka gen ke-k kromosom tersebut terpilih
untuk mengalami mutasi. Mutasi dengan mengganti gen 0 dengan 1 atau sebaliknya gen 1
dengan 0. Biasanya disebut proses flip yaitu dengan membalik nilai 0 ke 1 atau 1 ke 0.
Mutasi bernilai real
Pada mutasi bilangan real, ukuran langkah mutasi biasanya sangat sulit ditentukan.
Ukuran yang kecil biasanya sering mengalami kesuksesan, namun adakalanya ukuran
yang lebih besar akan berjalan lebih cepat. Operator mutasi untuk bilangan real ini
dapat ditetapkan sebagai berikut :
Variabel yang dimutasi = variabel + range * delta; (+ atau – memilki
probabilitas yang sama).
Range = 0.5 * domain variabel (interval pencarian).
14 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 175
Delta = ; ai = 1 dengan probabilitas 1/m, selain itu a i = 0,
dengan m = 20.
Mutasi bernilai biner
Cara sederhana untuk mendapatkan mutasi biner adalah dengan mengganti satu atau
beberapa nilai gen dari beberapa kromosom. Langkah-langkah mutasi adalah :
Hitung jumlah gen pada populasi (panjang kromosom dikalikan dengan
ukuran populasi).
Pilih secara acak gen yang akan dimutasi.
Tentukan kromosom dari gen yang terpilih untuk dimutasi.
Ganti nilai gen (0 ke 1, atau 1 ke 0) dari kromosom yang akan dimutasi
tersebut.
Misal :
Induk : (1 1 0 0 1 0)
Anak : (1 1 1 0 1 0)
Mutasi bernilai integer
Proses mutasi terjadi apabila nilai rk < Pm memenuhi maka gen ke-k digantikan oleh
suatu nilai random yang dibangkitkan pada range tertentu sesuai dengan pembentukan
populasi awal.
Misal :
Induk : (5 1 7 8 9 2)
Anak : (5 1 4 8 9 2)
Untuk kromosom induk seperti permisalan diatas, yaitu 5-1-7-8-9-2, proses mutasi
adalah dibangitkan nilai random rk, [k=1...NVAR]. Misalkan pada saat k = 3, nilai r3 <
Pm, maka gen ke-3 yang benilai 7 akan bermutasi dengan gen hasil random pada
range [1...x], dan diperoleh nilai 4. Maka bentuk kromosom barunya adalah 5-1-4-8-
9-2, x adalah nilai sembarang integer.
2.3.6 Penentuan Parameter
Yang disebut dengan parameter disini adalah parameter kontrol algoritma genetika
yang digunakan untuk melihat kompleksitas dari algoritma genetika. Parameter yang
digunakan tersebut adalah :15
a. Jumlah generasi (MAXGEN)
Merupakan jumlah perulangan (iterasi) dilakukannya rekomendasi dan seleksi.
Jumlah generasi ini mempengaruhi kestabilan output dan lama iterasi (waktu
proses AG). Jumlah generasi yang besar dapat mengarahkan ke arah solusi yang
optimal, namun akan membutuhkan waktu yang lama. Sedangkan jika jumlah
generasinya terlalu sedikit dapat mengakibatkan solusi akan terjebak pada lokal
optimum.
b. Ukuran populasi (POPSIZE)
Ukuran populasi mempengaruhi kinerja dan efektifitas dari AG. Jika ukuran
populasi kecil maka populasi tidak meyediakan cukup materi untuk mencakup
ruang permasalahan, sehingga pada umumnya kinerja AG menjadi buruk. Dalam
hal inilah dibutuhkan ruang yang lebih besar untuk merepresentasikan
keseluruhan ruang permasalahan. Selain itu penggunaan populasi yang besar
dapat mencegah terjadinya konvergensi pada wilayah lokal. Zbigniew
15 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 164
Michalewics (1996) berpendapat banyak aplikasi AG yang menggunakan
populasi antara 50 – 100.
c. Probabilitas pindah silang (Pc)
Probabilitas pindah silang ini digunakan untuk mengendalikan frekuensi operator
pindah silang. Dalam hal ini, dalam populasi terdapat Pc x POPSIZE struktur
(individu) yang melakukan pindah silang. Semakin besar nilai probabilitas pindah
silang maka semakin cepat struktur baru diperkenalkan dalam populasi. Namun
jika probabilitas pindah silang terlalu besar maka struktur dengan nilai fungsi
objektif yang baik dapat hilang dengan lebih cepat dari seleksi. Sebaliknya
probabilitas pindah silang kecil akan menghalangi proses pencarian dalam proses
AG. Menurut Zbigniew Michalewics (1996) banyak aplikasi AG yang
mempergunakan angka probalitas pindah silang pada range 0,65-1.
d. Probabilitas mutasi (Pm)
Mutasi digunakan untuk meningkatkan variasi populasi. Probabilitas mutasi ini
digunakan untuk menentukan tingkat mutasi yang terjadi, karena frekuensi
terjadinya mutasi tersebut menjadi Pm x POPSIZE x N, dimana N adalah panjang
gen dalam satu individu. Probabilitas mutasi yang rendah akan menyebabkan gen-
gen yang berpotensi tidak dicoba. Dan sebaliknya, tingkat mutasi yang tinggi
akan semakin mirip dengan induknya. Dalam AG, mutasi menjalankan aturan
penting yaitu :
1. mengganti gen-gen yang hilang selama proses seleksi.
2. menyediakan gen-gen yang tidak muncul pada saat inisialisasi awal
populasi.
Banyak aplikasi AG yang mempergunakan angka probabilitas mutasi dengan
daerah antara 0,001-0,01 ( Zbigniew Michalewics (1996)).
e. Panjang kromosom (NVAR)
Panjang kromosom berbeda-beda sesuai dengan model permasalahan. Titik solusi
dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri
dari komponen genetik terkecil yaitu gen. Pengkodean dapat memakai bilangan
seperti string biner, integer, floating point dan abjad.
Nilai parameter ini ditentukan juga berdasarkan permasalahan yang akan dipecahkan.
Ada beberapa rekombinasi yang bisa digunakan, antara lain :
Untuk permasalahan yang memiliki kawasan solusi cukup besar, De Jong
merekomendasikan untuk nilai parameter kontrol :
(popsize; pc; pm) = (50; 0,6; 0,001)
Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka Grefenstette
merekomendasikan :
(popsize; pc; pm) = (30; 0,95; 0,01)
Bila fitness dari individu terbaik dipantau pada setiap generasi, maka usulannya
adalah :
(popsize; pc; pm) = (80; 0,45; 0,01)
Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis
permasalahan.
2.4 Mekanisme Kerja Algoritma Genetika
16Algoritma genetika adalah mekanisme kerja numerik proses evolusi alami. Gambar
2.4 adalah diagram kotak mekanisme kerja proses evolusi alami dan gambar 2.5 adalah
metode algoritma genetika.
Gambar 2.4 Evolusi alami
Gambar 2.5. Flowchart pengembangan AG (evolusi numerik)
( Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 300)
Garis besar urutan proses algoritma genetika biner adalah sebagai berikut :17
16 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 15817 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 160
Gambar 2.6. Struktur algoritma genetika biner
18Mekanisme secara umum dari AG digambarkan oleh Goldberg. Prosedur AG dimodifikasi
menurut versi Grenfenstette dan Baker’s. Umumnya, inisialisasi diasumsikan dilakukan secara
acak. Pengkombinasian ulang (recombination) biasanya melibatkan crossover dan mutation
untuk menghasilkan offspring. Prosedur yang biasanya dilaksanakan adalah sebagai berikut :
1. Menentukan bentuk representasi genetik.
2. Menentukan suatu cara untuk menciptakan populasi awal.
18 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 166 – 167
3. Menentukan fungsi fitness (Fitness Function). Fungsi fitness akan menentukan
keoptimuman suatu individu dan nilai yang dihasilakan oleh fungsi tersebut disebut
dengan nilai fitness.
4. Menentukan operasi-operasi genetik yang akan digunakan.
5. Menentukan parameter-parameter pengendali jalannya algoritma genetika.
6. Menetukan suatu kriteria untuk menghentikan jalannya algoritma, yaitu :
a. Apabila generasi saat ini telah mencapai jumlah maksimum generasi.
b. Apabila solusi yang paling optimum telah ditemukan.
7. Menentukan individu terbaik yang terdapat dalam populasi pada saat kriteria
pemberhentian jalannya algortima terpenuhi.
Prosedur tersebut, secara garis besar, dapat digambarkan sebagai berikut :
Begin
t = 0;
Inisialisasi P (t);
Evaluasi P (t);
While (not termination condition) do
Recombine P (t) ke C (t);
Evaluasi C (t) ;
Seleksi (P +1) dari P (t) dan C (t);
t = t + 1;
End;
End.
Prosedur tersebut merupakan ilustrasi struktur AG secara umum dengan representasi
kromosom dalam string-string biner. Alur kerja algoritma genetik digambarkan pada gambar
2.7. 19Pada gambar tersebut, index i menyatakan sebuah individu yang ada dalam populasi (I
= 1,2,3,…, ukuran populasi) dan variabel pop menyatakan ukuran populasi. Sedangkan
variabel GEN menyimpan banyaknya generasi yang telah dijalankan.
19 Sumber : http://puslit.petra.ac.id/journals/informatics/, vol. 3, no. 1, Mei 2002 : 16
Gambar 2.7 Flowchart dari algoritma genetika.
(Sumber : Dr. Ir. Kuswara Setiawan, Paradigma Sistem Cerdas hal 100)
VI.
2.1 DASAR-DASAR ARTIFICIAL NEURAL NETWORK
2.1.1 Pengertian Artificial Neural Network
Selama ini yang kita kenal dan kita pakai dalam kehidupan sehari-hari adalah sebuah
Personal Computer (PC) yang bekerja berdasarkan algoritma yang pasti dan sudah
ditetapkan. Tetapi semenjak beberapa dekade belakangan ini, para ahli menganggap jika
sebuah PC dapat dibuat untuk bekerja meniru cara kerja otak manusia maka PC akan dapat
menyelesaikan banyak sekali masalah yang tidak dapat diselesaikan oleh algoritma
konvensional.
Ilmu yang mempelajari bagaimana membuat sebuah alat (komputer) yang dapat
berpikir seperti manusia disebut dengan kecerdasan buatan (artificial intelligence – AI). Pada
dasarnya, ANN merupakan bagian tersendiri dari AI yang khusus mempelajari bagaimana
memprogram komputer untuk dapat berpikir selayaknya manusia dengan mengambil analogi
dari cara kerja sel saraf.
Artificial Neural Network (ANN) adalah sekumpulan model komputasi matematis
yang saling berhubungan dan bekerja sama secara paralel untuk memroses informasi. Sistem
komputasi yang diterapkan didasarkan atas pemodelan sistem saraf biologis (neurons)
melalui pendekatan dari sifat-sifat komputasi biologis (biological computation).
Gampangnya, ANN adalah model elektronis yang relatif kasar yang bekerja berdasarkan
struktur susunan saraf otak, di mana otak pada dasarnya belajar dari pengalaman sehingga
nampak menjanjikan kinerja sistem yang lebih baik daripada komputasi tradisional.
Menurut William R. Wiley, Artificial Neural Network merupakan paradigma
pemrosesan informasi yang diilhami oleh cara kerja pemrosesan informasi otak mamalia
yang saling berhubungan erat dan terstruktur paralel.
“Artificial neural networks are collections of mathematical models that emulate some of the observed properties of biological nervous systems and draw on the analogies of adaptive biological learning. The key element of the ANN paradigm is the novel structure of the information processing system.” (William R. Wiley, 2002)20
2.1.2 Overview Biological Neural Network
ANN adalah model tiruan jaringan saraf biologis, oleh karena itu, untuk memahami
ANN lebih lanjut, maka sebaiknya mempelajari terlebih dahulu karakteristik dan ciri-ciri
Biological Neural Network (BNN) agar diperoleh gambaran yang jelas tentang bagaimana
karakteristik yang paling penting dari ANN. Di samping sebagai inspirasi awal dari ANN,
BNN dapat memberikan ciri-ciri yang memiliki keunggulan komputasi yang jelas.21
Otak manusia terdiri dari kira-kira seratus miliar (1x1011) sel yang dapat dirangsang
yang disebut neuron atau sel saraf. Sel saraf ini memiliki tiga jenis komponen utama:
dendrite, soma, dan axon. Dendrite berbentuk seperti ranting pohon, dengan jumlah yang
banyak (mulai dari beberapa sampai lebih dari 20) dan menjurus ke berbagai arah dari badan
sel (soma), bertugas untuk menerima sinyal elektris dari saraf lainnya. Soma (badan sel) akan
menjumlahkan sinyal-sinyal yang baru saja masuk. Ketika input yang cukup telah diterima,
selnya disulut (baca: diaktifkan) agar mengirim sinyal output melalui axon, bagian sel saraf
yang paling panjang, ke sel-sel yang lainnya. Axon ini sendiri merupakan bagian sel yang
bertugas untuk merambatkan sinyal menuju dendrite milik neuron tetangga.
20 What is an Artificial Neural Network?, William R. Wiley, http://www.emsl.pnl.gov:2080/proj/neuron/neural/what.html 21 JARINGAN SARAF TIRUAN Teori, Arsitektur, Dan Algoritma, Alb. Joko Santoso, Univ. Atma Jaya, Yogyakarta, 2000, hal 6.
Gambar 1. Wujud neuron dan arah informasinya
Neuron pada umumnya hanya memiliki satu axon yang memiliki panjang yang
bervariasi mulai dari beberapa mikron sampai lebih dari satu meter. Axon ini akan diakhiri
oleh terminal button pada ujungnya. Terminal button inilah yang akan berpasangan dengan
dendrite milik neuron lainnya.
Karena neuron membentuk sebuah jaringan yang saling berkomunikasi dengan neuron
lainnya, maka neuron-neuron ini harus terhubung agar dapat mentransfer informasi yang
dimiliki. Tetapi secara fisik, setiap neuron adalah terpisah satu sama lain.
Pada terminal button, terdapat sebuah celah kecil yang memisahkan antara axon dan
dendrite milik neuron tetangga. Celah inilah yang disebut synapse (sinapsis) atau synaptic
gap yang terisi penuh dengan cairan. Sinyal elektris yang ditransmisikan oleh axon akan
mencapai terminal button dan tiba di synapse. Sampai disini, sinyal tidak dapat begitu saja
menyeberangi synapse, karena tidak dapat melewati celah berisi fluida.
Gambar 2. Synapse dan aliran neurotransmitter
Presynaptic sending membrane (membran sinapsis pengirim) akan mengubah sinyal
elektris tadi menjadi transmisi kimiawi yang disebut neurotransmitter, agar dapat berpindah
ke dendrite milik neuron tetangga. Setelah neurotransmitter mencapai postsynaptic receiving
membrane (membran sinapsis penerima) milik neuron tujuan, dia akan diubah kembali
menjadi sinyal elektris dan diteruskan menuju soma. Bagian penerima (pada soma) akan
menjumlahkan setiap sinyal yang masuk untuk dihitung.
Sinyal-sinyal ini dapat menghambat neuron lain dalam mengirim sinyal pada
gilirannya dan dapat mendorong neuron lain untuk mengirim sinyal kepada neuron-neuron
lain sepanjang jalurnya.22
2.1.3 Analogi ANN
22 Robert I. Levine, Diane E Drang, Barry Edelson, AI and Expert Systems A Comprehensive Guide, 1990, Hal. 251.
Karena meniru cara kerja sel saraf biologis, maka kita dapat melihat kemiripan ANN
dengan struktur biologisnya dalam tabel berikut:
Biologis Buatan
- Soma- Dendrite- Axon- Synapse
- Node- Input- Output- Weight
Tabel 2. Analogi struktur neuron buatan dan biologis.
Tetapi ada dua perbedaan mencolok yang dapat kita amati di sini, yaitu perbedaan kecepatan
dan jumlah neuron. Neuron biologis memiliki kecepatan yang rendah tetapi jumlahnya sangat
banyak (1011), sedangkan neuron buatan memiliki kecepatan yang tinggi tetapi jumlahnya
masih terbatas (sekitar ribuan saja).
Artificial Neural Network memiliki karakteristik yang diturunkan jaringan saraf
biologis. Berikut adalah ciri-ciri elemen pemrosesan dari ANN yang diwarisi dari sifat saraf
biologis, yaitu:
Elemen pemrosesan menerima banyak sinyal
Sinyal mungkin dapat dimodifikasi oleh bobot pada synapse penerima
Elemen pemrosesan menjumlahkan input bobot
Dalam keadaan yang tepat (input yang cukup), saraf mentransmisikan sebuah output
tunggal
Output dari saraf khusus mungkin menuju ke banyak saraf lainnya (cabang-cabang
axons)
Sedangkan berikut ini adalah ciri-ciri lain dari Artificial Neural Network yang diberikan oleh
saraf biologis:
Pemrosesan informasi adalah lokal/setempat (meskipun pengertian lain dari transmisi
seperti aksi dari hormon mungkin memberikan pengertian kontrol proses keseluruhan)
Memori dibagi atas 2 macam, yaitu memori jangka panjang terletak pada synapse
saraf atau bobot dan memori jangka pendek disesuaikan untuk sinyal yang dikirim
oleh saraf.
Kekuatan synapse (synapse strength) mungkin dapat dimodifikasi oleh pengalaman.
Neurotransmitters untuk synapse dapat menjadi pemicu/pembangkit atau penghalang.
Karakteristik lain yang penting dari Artificial Neural Network adalah kemampuannya
untuk memberikan toleransi kesalahan (fault tolerance) yang hampir sama dengan jaringan
saraf biologis. ANN diharapkan untuk dapat memberikan toleransi kesalahan dalam dua hal,
yang pertama ANN dapat mengenali banyak sinyal input yang agak berbeda dengan
sembarang sinyal input lain yang pernah dipelajari sebelumnya. Contohnya adalah seperti
kita mengenali orang yang sudah lama tidak kita temui. Dan yang kedua adalah ANN dapat
memberikan toleransi terhadap kerusakan sistem saraf itu sendiri. Jika dalam kasus biologi,
sel-sel saraf otak manusia tidak dapat digantikan ketika sel-sel saraf tersebut rusak dan mati,
maka saraf-saraf lain dapat dilatih untuk mengambil alih fungsi sel-sel saraf yang rusak.
Dengan cara yang sama, ANN dapat didesain untuk mengabaikan kerusakan kecil pada
jaringan dan jaringan dapat dilatih kembali dalam kasus-kasus kerusakan yang berarti
(misalnya kehilangan data dan beberapa hubungan).
2.1.4 Struktur dan Komponen ANN
Dari penjelasan analogi di atas, kita dapat memodelkan BNN seperti gambar berikut
ini:
Gambar 3. Model kerja Biological Neural Network
Dari model kerja tersebut, kita dapat membuat model Artificial Neural Network yang
beranalogi dengan model itu sebagaimana dijabarkan pada bagian sebelumnya sebagai
berikut:
Gambar 4. Analogi model BNN yang disebut juga Artificial Neural Network
Sebuah network terdiri dari elemen pemrosesan yang terorganisasi dalam berbagai cara untuk
membentuk struktur network:
Sinyal Elektris
InputDendrites
Soma
Axon
Hasil pengolahan input
Sinyal Elektris Output
Inputs
(Dendrite)
Xi
Xj
Hidden Elements
(Node)
Weights
(Synapse)
Weights
(Synapse)
Outputs
(Axon)
Elemen Pemrosesan. Sebuah ANN terdiri dari neuron buatan yang merupakan elemen
pemrosesan. Setiap neuron menerima input, memroses input, dan menghantarkan sebuah
input tunggal. Proses ini dapat dilihat pada gambar 5. Input dapat berupa data mentah atau
output dari elemen pemrosesan lainnya.
Jaringan (Network). Setiap ANN terdiri dari koleksi neuron yang dikelompokkan dalam
layer-layer. Stuktur yang umum ditunjukkan dalam gambar 6. Perhatikan terdapat tiga layer:
input, intermediate (hidden layer), dan output. Beberapa hidden layer dapat ditempatkan
diantara layer input dan layer output.
Struktur Jaringan. Mirip dengan jaringan biologis, ANN dapat diorganisasikan dalam
beberapa cara berbeda (topologi). Artinya, neuron dapat dihubungkan dalam beberapa cara
yang berbeda. Oleh karena itu, ANN muncul dalam berbagai konfigurasi. Dalam pemrosesan
informasi, banyak elemen pemrosesan melakukan komputasi mereka pada saat yang sama.
Pemrosesan paralel ini menyerupai cara kerja otak, dan berbeda dari pemrosesan serial
komputasi konvensional.
Gambar 5. Pemrosesan informasi dalam neuron buatan.
Sum
Funct.
Transfer
Funct.Processin
g Element
X1
X2
X3
X4
W
1W
2
W
3
W
4
Output (Y)
Inputs Weights
Gambar 6. Neural Network dengan satu Hidden Layer.
Sedangkan secara matematis dapat kita modelkan seperti ini:
Gambar 7. Model matematis Artificial Neural Network sederhana
2.1.5 Pemrosesan Informasi Dalam Jaringan
Dari model-model di atas, dapat kita jelaskan karakteristik yang ada yaitu meliputi:
Weighted Sum
PE
PE
PE
PE
PE
PE
PE
PE
Transfer Function
Wj1
Wj2Wj3
X1
X2X3
Output Layer
Hidden Layer
Input Layer
PE
= Processing Element
f (Yj)
Wj4
X4
X3
X2
X1
Y
Y_in = w1x1 + w2x2 + w3x3
Summation Function
Y = f(Y_in)
Transformation Function
W
1
W
2
W
3
Input
Output
Input : merupakan atribut tunggal atau variabel yang harus dikodekan secara numeris
agar dapat diolah komputer. Data yang diinputkan dapat berupa angka, kualitatif,
true/false, ya/tidak, dan sebagainya. Komputasi neural hanya dapat memroses angka.
Jadi jika sebuah permasalahan melibatkan atribut kualitatif atau gambar, mereka harus
diproses terlebih dahulu menjadi ekuivalen numeris.
Output: merupakan solusi masalah, rekomendasi, kategorisasi, atau perkiraan.
Kegunaan jaringan adalah menghitung nilai output yang konsisten dengan data input.
Output juga dapat menjadi input bagi neuron lain.
Weight: merupakan ekspresi kekuatan relatif atau pentingnya sebuah input (dalam
istilah matematika) dalam menentukan nilai sebuah output. Penyesuaian weight
(bobot) yang berulang adalah mekanisme belajar neural network. Karena efek
kombinasi, bobot tidak dapat diperkirakan.
Summation Function: mencari jumlah bobot dari semua elemen input untuk setiap
pemrosesan elemen. Mengalikan nilai input (X) dengan bobot (W), dan
menjumlahkan mereka untuk menghasilkan jumlah pembobotan Y. Dengan N input i
untuk satu elemen pemrosesan j, kita dapatkan:
Yj = Σi=1 to n Xi Wi
Transformation (Transfer) Function: merupakan fungsi yang menentukan sebuah
neuron menghasilkan output atau tidak. Identik dengan fungsi aktivasi dan sering
nonlinear. Ada beberapa macam fungsi aktivasi, dan menentukan operasi network.
Fungsi transformasi ini dapat digunakan untuk:
Menormalkan data (contoh: 1=ya dan 0=tidak)
Mendeteksi jika ambang batas tercapai (contoh: Y< 0.5 maka set Y=0 dan jika
Y>= 0.5 maka set Y=1)
Fungsi transformasi ini adalah fungsi matematika berikut:
Yt = f (Yj = Σi=1 to n Xi Wi)
f = fungsi aktivasi, contoh: fungsi sigmoid.
2.1.6 Model-Model Neural Network Dasar
Neural network dapat dikategorikan sesuai dengan fungsinya:
Klasifikasi: input data menentukan kategori network yang digunakan.
Asosiasi
o Autoasosiasi: penerimaan objek(memori) berdasarkan bagian-bagian
dari memori itu sendiri.
o Heteroasosiasi: penerimaan objek pada satu himpunan menggunakan
objek lain pada himpunan yang berbeda.
Optimisasi: mencari solusi terbaik, biasanya dengan meminimalkan sejumlah
fungsi biaya.
Self-organization (mengatur sendiri): mengatur informasi yang diterima
menggunakan kemampuan pembelajaran adaptif.
2.1.6.1 Klasifikasi
Perceptron Single Layer
Terdiri dari sekelompok neuron yang tersusun dalam suatu lapisan bobot yang
berhubungan, yaitu unit input yang menerima sinyal dari dunia luar dan unit output
yang mengeluarkan hasil respon jaringan. Unit output akan menganggap nilai output
adalah 1 jika bobot input > dari nilai ambang batas dan 0 jika sebaliknya, seperti
rumus berikut:
Σ Wji Xi > θj
Wij = nilai bobot dari unit i sampai j
Xi = nilai input dari unit i
θj = nilai ambang batas pada unit j
perceptron dapat memakai aturan Delta untuk pelatihan bobot. Bobot yang
disesuaikan akan membuat output network lebih mendekati output yang diinginkan.
Penyesuaian bobot tergantung dari input (Xi). Jika input=0 maka tidak ada
penyesuaian bobot. Learning rate (laju belajar) η menentukan ukuran step (langkah),
dimana bila η terlalu kecil, pemusatan menjadi lambat dan kalau terlalu besar maka
proses pembelajaran menjadi menyimpang.
Delta rule adalah generalisasi sederhana aturan pembelajaran perceptron.
Aturan pembelajaran perceptron adalah:
Wbaru = Wlama + δ X
Menurut teorema konvergensi perceptron, jika point data dapat dipisah secara garis
lurus, learning rule perceptron akan terpusat pada beberapa solusi dalam sejumlah
langkah terbatas untuk sembarang pilihan bobot.
Perceptron Multi Layer
Multi Layer Perceptron (MLP) adalah neural network feedforward (umpan maju)
dengan paling tidak memiliki 1 hidden layer. MLP dapat mengatasi masalah
klasifikasi non-linear karena dapat membentuk daerah keputusan yang lebih
kompleks. Setiap node pada layer pertama dapat membuat hyperplane. Setiap node
pada layer kedua dapat mengkombinasikan hyperplane untuk menciptakan daerah
keputusan convex. Setiap node pada layer ketiga dapat mengkombinasikan daerah
convex untuk membentuk daerah concave. Delta rule tidak dapat diaplikasikan untuk
melatih MLP karena error unit tersembunyi tidak diketahui. Aturan back propagation
akan dapat mengatasi hal ini.
2.1.6.2 Asosiasi
Network Hopfield
Hopfield network berguna untuk autoasosiasi dan kegiatan optimisasi. Network ini
menerapkan konsep minimisasi permukaan energi dalam fisika untuk mencari solusi
stabil pada neural network. Konsep utama hopfield network adalah suatu network
tunggal yang interkoneksi neuronnya bernilai biner dan dapat menyimpan banyak
kondisi stabil. Jika setiap neuron terhubung ke yang lainnya tapi tidak looping ke
dirinya sendiri (seperti pada gambar 8) dan semua bobot koneksi adalah simetris,
maka Wij=Wji sehingga network ini dapat memiliki suatu himpunan kondisi stabil
dan untuk setiap kondisi stabil, setiap neuron biner memiliki nilai -1, 0, atau 1. Jadi
ketika beraksi pada tetangganya, nilai setiap neuron tidak berubah.
Gambar 8. Hopfield Network
Ketika diberikan pola input, network dapat memusatkan pada kondisi stabil yang
terdekat dengan pola tersebut. Jadi network ini dapat digunakan untuk autoasosiasi di
mana pola yang terganggu atau hanya sebagian dapat distabilkan pada kondisi
terdekat yang berhubungan dengan salah satu pola asli yang disimpan.
Jumlah unit network sama dengan jumlah nilai yang terdapat pada setiap pola yang
disimpan. Unit memperbaharui kondisi mereka secara asinkron dengan menerima
input dari unit lain. Sekali ditentukan, bobot pada network Hopfield tidak dapat dilatih
lagi.
Bidirectional Associative Memories (BAM)
BAM dapat menghubungkan vektor input ke vektor lainnya yang berbeda dan
sanggup menggeneralisasi input-input serupa. Pada gambar berikut, BAM memiliki 2
layer yang arsitekturnya berupa arus balik (recurrent) di mana matriks bobot arus
balik (dari output menuju input) adalah transpose matriks bobot arus maju (input
menuju output).
Input
Output
Gambar 9. Bidirectional Associative Memories (BAM)
Ukuran input dan output layer ditentukan oleh dimensi pasangan vektor yang
terasosiasi. Vektor input P diterapkan pada WT untuk menghasilkan vektor input baru.
Proses ini diulang sampai network mencapai titik stabil.
2.1.6.3 Optimasi
Network Hopfield
Selain sebagai autoasosiasi, network Hopfield dapat diaplikasikan untuk optimisasi
dan batasan masalah kepuasan. Intinya adalah meng-encode setiap hipotesa sebagai
sebuah unit dan meng-encode batasan di antara hipotesa sebagai bobot. Bobot positif
meng-encode hubungan yang saling mendukung dan bobot negatif meng-encode
hubungan yang tidak sesuai. Seperti network Hopfield diatur menjadi suatu kondisi
stabil, kondisi tersebut menunjukkan penugasan kebenaran dan kesalahan pada
hipotesa yang bermacam-macam di bawah batasan. Dalam neural network arus balik
seperti network hopfield, stabilitas adalah masalah utama. Cohen dan Grossberg
(1983) menunjukkan bahwa network arus balik adalah stabil jika Wij=Wji untuk i ≠ j
dan Wij = 0 untuk setiap i. Ini dapat dibuktikan mengunakan fungsi Liapunov sebagai
fungsi energi network:
……
Output Layer
……
Input Layer
Backward Connections
Forward Connections
WWT
E = -½ Σi Σj WjiOiOj – Σj IjOj + Σj θjOj
E = energi network
Wji = bobot dari unit i sampai unit j
Oj = tingkat aktivasi unit j
Ij = eksternal input untuk unit j
θj = ambang batas (threshold) untuk unit j
untuk memecahkan masalah optimisasi, fungsi energi ini dibandingkan dengan fungsi
lain yang dibangun dari batasan masalah dalam rangka menentukan bobot-bobot
network. Begitu bobot telah ditentukan dan parameter sistem lainnya sudah dipilih,
maka network akan menggunakan algoritma Hopfield untuk memecahkan masalah.
Mesin Boltzmann
Network Hopfield menyelesaikan masalah ke dalam minimum lokal dengan cara
minimisasi energi konstan. Hal ini tepat untuk asosiasi tapi kurang tepat untuk
kepuasan optimisasi atau batasan. Hinton dan Sejnowski (1986) mengkombinasikan
network Hopfield dan simulasi penguatan (suatu teknik yang mensimulasikan proses
penguatan logam) yang menghasilkan network yang dikenal dengan Boltzmann
Machines. Dalam teknik ini, minimum lokal dapat dihindari dengan menambahkan
beberapa pengacakan pada proses minimisasi energi, sehingga ketika network
bergerak menuju minimum lokal, dia memiliki kesempatan untuk menghindarinya.
2.1.6.4 Self-organization
Network Kohonen
Network Kohonen (Teuvo Kohonen, 1988) terdiri dari layer tunggal (ditambah sebuah
input layer). Setiap node menerima input dari lingkungan dan dari node lain di dalam
layer. Dalam membangun suatu network Kohonen adalah penting untuk secara benar
memberi nilai awal pada vektor bobot node-node tersebut. Diasumsikan bahwa vektor
bobot dan vektor input dinormalkan pada suatu konstanta (biasanya panjang unit).
Setiap node menghitung dengan mengambil dot product vektor bobot dan vektor
input. Hasilnya merefleksikan persamaan mereka (atau jarak). Disimbolkan:
Oj = X . Wj
Oj = tingkat aktivasi unit j
X = vektor input
Wj = vektor bobot unit j
Jika vektor-vektor tersebut diganti dengan matriks, maka diperoleh
O = XW
Dalam network Kohonen dikenal suatu mekanisme belajar kompetitif yaitu “winner
take all”. Maksudnya, node dengan tingkat aktivasi terbesar dinyatakan sebagai
pemenang kompetisi. Node ini akan menjadi node satu-satunya yang membuat sinyal
output, dan node-node lainnya ditekan hingga tingkat aktivasinya nol. Lebih jauh lagi,
node ini dan tetangganya adalah satu-satunya node-node yang diijinkan untuk belajar
pola input yang sekarang. Node pemenang dan tetangga-tetangganya akan belajar
dengan menyesuaikan vektor-vektor bobot mereka menurut aturan berikut:
Wbaru = Wlama + η (X-Wlama)
X = vektor input
η = learning rate (laju pembelajaran)
2.1.7 Pembelajaran ANN
Sebuah ANN belajar dari pengalamannya. Proses pembelajaran biasanya melibatkan 3
kegiatan:
Menghitung output
Membandingkan output dengan target yang diinginkan
Menyesuaikan bobot dan mengulangi proses.
Proses pembelajaran dimulai dengan menetapkan bobot dengan beberapa aturan atau secara
acak. Perbedaan di antara output yang sebenarnya (Y atau YT)dan output yang diinginkan (Z)
disebut sebuah delta. Tujuannya adalah meminimalkan delta (kalau bisa, sampai nol).
Pengurangan delta dilakukan dengan mengubah bobot. Kuncinya adalah mengubah bobot
dalam arah yang benar, sehingga membuat perubahan yang dapat mengurangi delta.
Gambar 10. Diagram belajar ANN.
Start
Menghitung output
Sesuaikan bobot Apakah output
yang diinginkan sudah tercapai ?
Stop
Ya
Tidak
Pemrosesan informasi dengan sebuah ANN terdiri dari usaha untuk mengenali pola
aktivitas. Selama tahap pembelajaran, interkoneksi bobot berubah sebagai respon terhadap
data pelatihan yang diberikan kepada sistem. ANN yang lain menghitung delta dalam cara
yang berbeda-beda, tergantung dari algoritma pembelajaran yang digunakan.
Proses belajar dikategorikan dalam dua jenis yaitu, belajar dengan pengawasan
(supervised) dan belajar tanpa pengawasan (unsupervised). Proses belajar dengan
pengawasan, memerlukan pasangan pola yang terdiri dari vektor input dan vektor target yang
diinginkan. Pasangan-pasangan input (soal) – output target (jawaban benar) yang diperlukan
dalam proses belajar disebut paket belajar. Jaringan diajar untuk menyelesaikan persoalan-
persoalan yang terdapat dalam paket belajar. Sedangkan dalam belajar tanpa pengawasan,
jaringan akan mengubah bobot-bobot dengan sendirinya, sebagai tanggapan terhadap input,
tanpa memerlukan output acuan, atau dengan kata lain pelatihan tanpa pengawasan tidak
memerlukan vektor target. Vektor input dimasukkan ke dalam jaringan dan sistem harus
mampu mengatur dirinya sendiri (self-organizes) sedemikian rupa sehingga dihasilkan output
yang konsisten bilamana vektor input tersebut dimasukkan.
2.1.8 Algoritma pembelajaran
Dalam melatih neural network, dapat dipilih algoritma pembelajaran yang paling
sesuai dan paling efektif dengan permasalahan yang dihadapi. Terdapat 6 algoritma
pembelajaran yang dapat dipilih, yaitu:
Back Propagation
Generalization Method
Radial Basis Function Network
Reinforcement Learning
Temporal Difference Learning
ART Network
Untuk memecahkan permasalahan yang diangkat penulis, maka yang akan dibahas hanyalah
Back Propagation saja.
Gambar 11. Network Back Propagation
Tidak lama setelah ditemukan oleh Paul Werbos pada tahun 1974, Back Propagation
berhasil menjadi salah satu algoritma ANN yang sangat populer dan sering digunakan. Berkat
pembelajarannya yang memerlukan pengawasan dan kemampuannya untuk melacak
kesalahan, BP membutuhkan waktu yang relatif lebih singkat untuk mencapai solusi. Dengan
memanfaatkan struktur perceptron multi layer, BP terdiri dari satu layer input, satu atau lebih
layer tersembunyi (hidden), dan satu layer output (lihat gambar 11).
Fungsi aktivasi pada sebuah network Back Propagation merupakan karakteristik yang
penting, yaitu untuk menentukan batas nilai ambang batas (threshold) suatu ANN atau untuk
menentukan batas suatu neuron dapat dikatakan aktif (fire) atau tidak aktif (not fire). Ada dua
jenis fungsi aktivasi yang sering digunakan yaitu:
Σ
…….
…….
…….
Input
Actual Output
Output Layer
Input Layer
Hidden Layer(s)
Forward Information Flow
Forward Information Flow
Backward Error Propagation
Target Outpu
t
+
1. Fungsi Aktivasi Binary Sigmoid
Fungsi ini juga disebut Logistic Sigmoid yang memiliki nilai output 0 dan 1. Neuron
dikatakan aktif bila bernilai 1 dan tidak aktif jika bernilai 0, didefinisikan dengan
fungsi berikut:
Dan turunan fungsi tersebut sebagai berikut:
f ' (x) = f(x) [1 - f(x)]
grafik dari fungsi binary Sigmoid ditunjukkan dalam gambar berikut:
Gambar 12. Fungsi aktivasi Binary Sigmoid
2. Fungsi Aktivasi Bipolar Sigmoid
Fungsi ini memiliki nilai output -1 dan 1, dikatakan aktif apabila bernilai 1 dan tidak
aktif jika bernilai -1, dan didefinisikan dengan persamaan berikut:
Dan turunan fungsi tersebut sebagai berikut:
g'(x) = ½ [1 + g(x)] [1 - g(x)]
Grafik dari fungsi bipolar Sigmoid ditunjukkan dalam gambar berikut:
Gambar 13. Fungsi aktivasi Bipolar Sigmoid
Fungsi aktivasi dapat digunakan pada algoritma standar propagasi balik. Bentuk dari
data (khususnya nilai target) adalah faktor penting di dalam pemilihan fungsi yang sesuai.
Pelatihan pada sebuah jaringan dengan algoritma propagasi balik terdiri dari 3 tahap yaitu:
umpan maju semua pola input, propagasi balik kesalahan, dan pengaturan atau penentuan
nilai bobot.
Selama proses umpan maju, masing-masing unit pada layer input (Xi) menerima
sebuah sinyal masukan dan menyebarkan sinyal ini ke setiap unit pada layer tersembunyi
(Zj). Setiap unit pada layer tersembunyi menghitung fungsi aktivasinya dan kemudian
mengirim sinyal-sinyal tersebut ke unit pada layer output (Yk). Setiap unit pada layer output
menghitung fungsi aktivasinya untuk membentuk respon atau tanggapan jaringan pada unit
output yang diberikan oleh pola input.
Selama proses pelatihan, setiap unit output membandingkan hasil fungsi aktivasi pada
unit output dengan nilai target untuk menentukan kesalahan hasil bandingan pola input dan
target. Berdasarkan kesalahan tersebut, faktor δk (k = 1,2,..,m) dihitung. δk digunakan untuk
mendistribusikan kesalahan pada unit output kembali ke semua layer di depannya (hidden
layer). Proses ini juga digunakan untuk melakukan penyesuaian atau updating nilai-nilai
bobot antara layer output dan layer tersembunyi. Dengan cara yang sama, faktor δj (j =
1,2,..,p) dihitung untuk masing-masing unit pada layer tersembunyi dan tidak perlu
dipropagasikan kesalahan ke layer input, tetapi δj digunakan untuk melakukan updating nilai-
nilai bobot antara layer tersembunyi dan layer output.
Setelah semua faktor δ ditentukan, nilai-nilai bobot pada semua layer diatur secara
bersamaan. Pengaturan nilai bobot W dari unit layer tersembunyi ke unit output didasarkan
pada faktor δk dan fungsi aktivasi zj pada unit layer tersembunyi. Sedangkan pengaturan nilai
bobot dari unit layer input ke unit tersembunyi didasarkan pada faktor δj dan fungsi aktivasi xi
pada layer input.
Algoritmanya sebagai berikut:
Langkah 0 : inisialisasi atau penentuan semua nilai bobot.
Langkah 1 : bila kondisi berhenti tidak dipenuhi, lakukan langkah 2 – 9
Langkah 2 : untuk setiap pelatihan pasangan input dan output, lakukan langkah 3 - 8.
Sistem Pemahaman Bahasa Alami (PBA)
Di dalam pemahaman bahasa alami ada suatu proses dari suatu input text sering menjadi
sebuah output. Di dalam program PBA terdapat 5 elemen utama. Elemen – elemen tersebut
adalah parser, lexicon, alat pemahaman, pangkalan pengetahuan dan generator.
PARSER UNDERSTANDER GENERATOR
LEXICON KNOWLEDGE
BASE
OUTPUTINPUT
TEXT
SRING
Gambar 2.20. Diagram Blok Umum Program Pemahaman
Bahasa Alami untuk Sintaks/Semantik
Salah satu cara untuk menentukan makna yang dimaksudkan satu kata itu harus membatasi
masukan lexico hanya pada istilah – istilah atau makna yang sudah ditentukan oleh sistem
saja. Artinya satu kata itu harus selalu dihubungkan kepada kata lainnya dalam suatu kalimat.
Tetu saja hanya PBA yang paling canggih saja yang dilengkapi program semacam itu.
Pada waktu beroperasi, parser merupakan alat untuk menyocokkan pola. Setelah kata
individual sudah diidentifikasi, parser melacak lexicon untuk membandingkan setiap input
kata dengan semua kata yang terdapat dalam program. Jika sudah cocok kata tersebut
disimpan bersama informasi lexicon lainnya. Kemudian parser terus menganalisis kata – kata
tambahan sampai membentuk pohon parser.
2.6.2 Tujuan dari Proses Bahasa Alami
Tujuan dari proses bahasa alami adalah untuk mendesain dan membangun sistem
komputer guna menganalisa, memahami dan memberikan pemahaman kepada komputer agar
dapat memahami bahasa alami manusia agar dapat berinteraksi dengan komputer. Untuk
mencapai tujuan “pemahaman” arti dari bahasa ini tidak mudah untuk dilakukan, sebab perlu
diperhatikan lagi bagaimana menghubungkan masing-masing konsep tersebut agar dapat
menghasilkan arti yang sempurna.
Pada dasarnya memang mudah untuk mempelajari sistem simbol dari bahasa alami
tersebut namun bagi komputer sebagai master masih sulit untuk bisa memahaminya. Para ahli
natural language prosesing sukses dalam pembuatan mesin canggih dan dapat membuktikan
kegunaan serta kecepatan mesin tersebut untuk berinteraksi namun mereka masih gagal untuk
memanage dasar pembicaraan bahasa tulis. Tantangan yang dihadapai adalah akar kata dari
bahasa tingkat tinggi yang membingungkan bagi bahasa alami. Terkadang sebagai orang
Inggris masih perlu memahami arti dari sebuah kalimat seperti Flying planes can be
dangerous.
Namun kalimat ini menghadirkan banyak kesulitan dalam pembuatan software jika
siprogramer tersebut kurang dalam ilmu penerbangan dan pengalaman dengan struktur
bahasa. Interpretasi ini masuk akal bahwa seorang pilot itu sedang mengalami resiko, atau
bahwa bahaya yang dimaksud berbahaya bagi orang yang berada dibawah. Dari data diatas
konsep “plane” yang cocok perlu diketahui. Untuk mengetahui jawaban ini sangat penting
untuk memahami konteks bahasa bahwa “plane” tersebut bisa saja berupa pesawat, atau
objek geometik, atau bahkan tukang kayu.
Menurut para ahli bahwa dalam hal ini perlu menganalisa sistem “penerbangan”
sebagai sarana penerbagan yang membawa penumpang, bersayap dan lain-lain. Seperti
interpretasi dari kata "plane" dalam kalimat yakni pesawat terbang dapat berbahaya.
Dalam hal ini peranan pengembang sistem NLP bagi tujuh bahasa: China, Inggris,
Prancis, Jerman, Jepang, Korea, dan Spanyol mulai digalakkan oleh seorang pakar yang
bernama Redmond di Washington. Aplikasi yang dibuat berbentuk teks, information
retrieval, dan database query. Masing – masing grammar dari bahasa tersebut diteliti guna
memberikan kemudahan bagi user dengan menggunakan teknology untuk menyampaikan
pesan melalui produk cellphone messages.
Jadi tujuan utama NLP adalah untuk memberikan komunikasi alami bagi komputer
secara natural yaitu :
(a) Secara otomatis memperoleh pengetahuan (acquires knowledge automatically).
(b) Secara garis besar memberikan informasi luas.
(c) Mengaplikasikan banyak bahasa dan menyatukannya dalam bentuk semantic level.
(d) Mengaplikasikan suatu produk dalam beberapa bidang.
OUTPUT
SUITABLE
RESPON
SCAN INPUT
SEARCH FOR
KEY WORDS
ACCEPT
INPUT &
STORE IT
INPUT
MASSAGE
DEVELOP & OUTPUT AN
APPROPIATE
KEY WORD
S FOUND
MORE KEY
WORDS ?
START
END
2.21 Proses Analisa Keyword PBA
Gambar berikut menunjukkan flowchart dari analisa keyword PBA yang biasa digunakan
oleh user.