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.
Jenis : Binatang
Jumlah kaki :4
Makan : Daging
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.
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
Kemudian coba amati kejadian berikut, lalu apa yang terjadi dengan aturan diatas:
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.
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).
• 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.
• 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.
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).
KOMPUTER KONVENSIONAL
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.
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.
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
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).
Struktur dari sebuah Sistem Pakar adalah seperti yang ditunjukkan pada gambar 2.1 di bawah
ini:
INFERENCE
ENGINE
KNOWLEDGE WORKING
BASE MEMORY
(RULES) (FACTS)
AGENDA
KNOWLEDGE
EXPLANATION
ACQUISITION
FACILITY
FACILITY
USER
INTERFACE
Gambar 2.1
Struktur Suatu Sistem Pakar
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.
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.
IF [mengendarai 15 mil perjam melewati batas AND melihat melalui kaca spion ada
lampu merah yang berkedip-kedip]
……..
“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.
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
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.
Pengertian
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).
Descriptive
Dikelompokkan Solution
Adjustment
Tipe Data
Domain
Mempunyai
Nilai
Bobot
Tipe 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.
Jenis Berat
Nama Penyakit Umur Obat Dosis Takaran
Kelamin Badan (kg)
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
Monthly loan repayment
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.
Bad loan
Monthly loan repayment
Good loan
New Case
Monthly loan repayment
Case B
YB
XB
Case A
Case T .
XA
Monthly income
C ase B
BY
XB
Case A
.
C ase T
XA
Monthly income
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.
Problem
Retrieve
Retain Reuse
Casebase
Revise
Confirmed Proposed
Solution Solution
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:
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.
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
Dan masih banyak lagi bidang aplikasi seperti untuk: Telekomunikasi, Utiliti,
Retail/Consumer, dan Outsourcing.
IV.
Sepatu Selasa
S Minggu Anjing
Kucing e Rabu
Nama-nama hari
Gambar 2.1 Penggolongan 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.
Sepatu
Mi Jum’at
l l
A A
~
m m
0 0
x x
Membership Function untuk crisp set A Membership Function untuk fuzzy set A
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:
µ1 µ 2 µ 3 µn N
µi
∑x
F= x1 + x 2 + x3 + ... + x n atau F= i =1 i
dengan
µ : 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 :
0.125 0,5 0,875 1 1 1
+ + + + +
FTinggi
= 5 6 6,5 7 7,5 8
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.
1.0 tinggi (µ = 1.0)
membership
derajat function yang
keanggotaan µ tajam
tinggi (µ = 0.0)
0.0
0.0
benar-benar
tinggi (µ = 0.95)
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
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) =
x−b c− x
min b − a , c − b ,0
max
x−b d − x
min b − a ,1, d − b ,0
(x;a,b,c,d) = max
1 x − c 2
−
2 σ
x;a,σ = exp
Membership function Bell yang diperluas
Membership function yang mempunyai parameter a,b,c dengan formulasi bell (x;a,b,c) =
Fungsi Keanggotaan Segitiga Fungsi Keanggotaan Trapesium
1 1
Derajat Keanggotaan
Derajat Keanggotaan
0.8 0.8
1
0.6 0.6
2b
1 + ( x − c ) 0.4 0.4
a 0.2
dengan b positif. 0.2
0 0
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 20 40 60 80 100 0 20 40 60 80 100
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).
core
l
0
X
support
boundary boundary
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)
l l
A A
~ ~
m m
0 0
X X
fuzzy set normal fuzzy set tidak normal
Gambar 2.9 Fuzzy Set Normal dan Fuzzy Set Tidak Normal
operasi-operasi himpunan yang umumnya disebut operasi fuzzy set. Berikut ini operasi-
1. Operasi Union
Operasi union untuk fuzzy set ditunjukkan pada gambar 2.10.
l
A B
~ ~
0
X
Contoh :
D = U ∨V
0 ∨1.0 0.25 ∨ 0.75 0.50 ∨ 0.50 0.75 ∨ 0.25 1.0 ∨ 0 0.75 ∨ 0 0.50 ∨ 0
= , , , , , , ,
0 30 60 90 120 150 180
0.25 ∨ 0 0 ∨ 0
,
210 240
1.0 0.75 0.50 0.75 1.0 0.75 0.50 0.25 0
= , , , , , , , ,
0 30 60 90 120 150 180 210 240
2. Operasi Intersection/Irisan
l
A B
~ ~
0 X
Contoh :
C = U ∧V
0.50 ∧ 0 0.25 ∧ 0 0 ∧ 0
, ,
180 210 240
0 0.25 0.50 0.25 0 0 0 0 0
= , , , , , , , ,
0 30 60 90 120 150 180 210 240
3. Operasi Komplemen
A
~
l
A
~
0
X
µ∼A (x)=1- µ
∼ A (x)
Contoh :
Misalkan X={0.4, 0.6, 0.8, 1.0, 1.2, 1.4} mewakili sifat merekat untuk sebuah solusi.
Kemudian,
1.0 − 0 1.0 − 0.2 1.0 − 0.4 1.0 − 0.6 1.0 − 0.8 1.0 −1.0
U = , , , , ,
0.4 0.6 0.8 1.0 1.2 1.4
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 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 0 0 ke 90 0 F, daerah untuk fuzzy set WARM
adalah 60 0 ke 80 0 . Gambar 2.19 berikut merupakan contoh model fuzzy pada variabel
temperature.
Membership Value
0.2
0
50 60 63 70 80 90 Temperature
(0 F )
Universe of discourse dari gambar tersebut adalah 0- 90 0 F , adapun daerah (domain) untuk
himpunan COOL dengan nilai keanggotaan (Membership Value) 0,8 dan termasuk himpunan
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
Fuzzy logic memberikan nilai untuk suatu kejadian dasar pada fungsi keanggotaan
µ A ( x) : X → [ 0,1]
dalam fuzy logic, kejadian atau elemen x memberikan fungsi keanggotaan µ . Nilai ini
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).
1) Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran
V.
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.
Dikarenakan algoritma genetika diilhami oleh ilmu genetika maka istilah-istilah yang
dipergunakan dalam algoritma genetika banyak diadaptasi dari ilmu tersebut. Pada algoritma
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
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
alle dapat berbentuk angka biner, floating point, ataupun integer, tergantung dari bentuk
representasi genetik yang digunakan. Sedangkan, alle-alle yang bergabung memberi arti/nilai
i . . . .
m
Keterangan :
i = 1,2,3,……m
. = gen/karakter
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
(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
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
3
Selain 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),
kromosom dalam satu populasi) konstan. Setelah melalui beberapa generasi (kondisi berhenti
dari algoritma genetik), maka algoritma ini akan konvergen (jumlah generasi yang diminta
3
Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 280
2.3.1 Keunggulan dan Keterbatasan Algoritma Genetika
Beberapa keunggulan yang dimiliki oleh algoritma genetika adalah sebagai berikut :
1. GA memiliki kemampuan untuk mencari nilai optimal secara paralel, melalui proses
7. Data yang digunakan bisa berupa hasil dari eksperimen, fungsi analitik maupun hasil
sebagai berikut :
4
Sumber : http://ikc.yarsi.ac.id/umum/anto/anto-softcomputing.pdf, hal 6 & Dr. Mauridhi Hery
Purnomo, Dasar Algoritma Cerdas hal 157
5
Sumber : http://ikc.yarsi.ac.id/umum/anto/anto-softcomputing.pdf, hal 6
1. Tidak memiliki rumusan yang pasti, bagaimana mentransfer parameter permasalahan
ke dalam kode genetik. Dengan kata lain, hal ini memerlukan pengalaman dan
2. Banyak parameter yang perlu diset secara baik agar proses evolusi dalam GA berjalan
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
2. Algoritma genetika mencari dari sebuah populasi solusi, bukan dari satu solusi.
ketetapan.
6
Sumber : Agustina, Implementasi Algoritma Genetika Untuk Optimasi Masalah Penjadwalan Mesin,
STIKI (2002), hal 9
2.3 Komponen Utama Genetic Algorithms7
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
Pengkodean string biner merupakan pendekatan paling klasik dan sederhana yang
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).
diselesaikan sehingga sebuah kode benar-benar merupakan representasi yang tepat untuk
Pada metode ini kromosom dinyatakan sebagai sebuah string bernilai biner.
7
Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 280
8
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 162
0 1 0 1 0 0 1 0 1 1 1
(Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 281)
meskipun hanya dengan jumlah alle yang sedikit. Kelemahannya adalah kurang alami untuk
beberapa kasus dan seringkali diperlukan koreksi setelah proses pindah silang dan mutasi.
Aplikasi metoda ini sesuai untuk kasus yang bersifat sekuensial. Misalnya pada kasus
traveling salesman problem. Setiap kromosom dinyatakan sebagai string angka yang
Tabel 2.1
Kromosom A 1 5 3 2 6 4 7 9 8
Kromosom B 8 5 6 7 2 3 1 4 9
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
Kromosom B ABDJEIFJDHDIERJFDLDFLFEGT
Pada metoda ini setiap kromosom diumpamakan sebagai sebuah cabang dari beberapa
Tabel 2.3
Kromosom B
do until
wall
step
o Bilangan real (floating point), alle dari setiap gen bertipe floating point : 0.576,
o Struktur lainnya.
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
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
9
Dalam GA, sebuah fungsi kebugaran (fitness) f (x) harus dirancang untuk masing-
9
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 168
fungsi objektif atau fungsi evaluasi akan mengevaluasi status masing-masing kromosom.
mempunyai rentang yang lebar. Seiring dengan bertambahnya generasi, beberapa kromosom
mendominasi populasi dan mengakibatkan rentang nilai kebugaran semakin kecil. Hal ini
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
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 :
10
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 168
Pada rank-based fitness, populasi diurutkan menurut nilai objektifnya. Nilai fitness
dari tiap-tiap individu hanya tergantung pada posisi individu tersebut dalam urutan, dan
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
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
11
Adapun algoritma dari roulette-wheel adalah sebagai berikut :
kebugaran dari kumpulan anggota populasi yang lebih besar atau sama dengan k.
12
Langkah-langkah metode seleksi roulette-wheel adalah sebagai berikut :
1. Hitunglah nilai kebugaran (fitness) eval (vk) untuk setiap individu/kromosom vk,
11
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 169
12
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 172
popsize
F= ∑eval ( v
k =1
k )
eval (v k )
pk = , k = 1,2,...POPSIZE
F
qk = ∑p
j =1
j
Contoh :
sekumpulan nilai fitness yang berjumlah total 50 seperti yang ditunjukkan pada
tabel 2.4. Disertakan struktur Roulette Wheel yang ditunjukkan pada gambar 2.3.
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
Random Number 2 2 49 1 40 3 9
6 5 6
Chromosome Chosen 4 1 6 2 5 5 2
6 1
5 2
4
3
Keterangan :
Running Total (n) = Fitness + Running Total (n-1), dengan Running Total (0) = 0.
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
e. Truncation selection
alami. Pada seleksi dengan pemotongan ini, lebih berkesan sebagai seleksi buatan.
Seleksi ini biasanya digunakan oleh populasi yang jumlahnya sangat besar. Pada
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
pindah silang (crossover) dan mutasi. Jenis dan implementasi dari operator bergantung pada
Fungsi dari pindah silang adalah menghasilkan kromosom anak dari kombinasi
materi-materi gen dua kromosom induk. Cara kerjanya dengan membangkitkan sebuah nilai
digunakan untuk mengendalikan frekuensi operator pindah silang. Apabila nilai rk < Pc maka
titik tersebut untuk menghasilkan anak. Misalkan ada 2 kromosom dengan panjang 12
13
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 174
Anak 1 : 01110 | 0001101
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 : 011100101110
Induk 2 : 110100001101
Misalkan (m = 3) : 2 6 10
Crossover seragam
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.
Induk 1 : 011100101110
Induk 2 : 110100001101
Mask bit :
Sample 1 : 100111001101
Sample 2 : 011000110010
Anak 1 : 010100001100
Anak 2 : 111100101111
cara memilih sub-barisan suatu tour dari satu induk dengan tetap menjaga urutan dan
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 :
Kemudian kita copy sisa gen di induk ke anak 1 dengan menggunakan pemetaan yang
sudah ada.
Anak 1 : (4 2 3 | 1 8 7 6 | 5 9)
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
14
cara untuk menghindari kromosom tertentu mendominasi populasi. Operator mutasi
digunakan untuk memodifikasi satu atau lebih nilai gen dalam satu individu. Cara kerjanya
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.
14
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 175
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
dengan m = 20.
Cara sederhana untuk mendapatkan mutasi biner adalah dengan mengganti satu atau
ukuran populasi).
tersebut.
Misal :
Induk : (1 1 0 0 1 0)
Anak : (1 1 1 0 1 0)
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-
Yang disebut dengan parameter disini adalah parameter kontrol algoritma genetika
yang digunakan untuk melihat kompleksitas dari algoritma genetika. Parameter yang
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
15
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 164
generasinya terlalu sedikit dapat mengakibatkan solusi akan terjebak pada lokal
optimum.
Ukuran populasi mempengaruhi kinerja dan efektifitas dari AG. Jika ukuran
populasi kecil maka populasi tidak meyediakan cukup materi untuk mencakup
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
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 :
populasi.
dari komponen genetik terkecil yaitu gen. Pengkodean dapat memakai bilangan
Nilai parameter ini ditentukan juga berdasarkan permasalahan yang akan dipecahkan.
Grefenstette merekomendasikan :
usulannya adalah :
Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis
permasalahan.
2.4 adalah diagram kotak mekanisme kerja proses evolusi alami dan gambar 2.5 adalah
IN ISIALISA S I PE M ILIH AN
R E P R OD U K SI
P OP U LAS I S PES IE S
GE N E R AS I
B AR U
Tidak
Mulai Hasil
Seleksi
Bangkitkan
populasi
baru Rekombinasi
/ Crossover
Mutasi
16
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 158
( Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 300)
Garis besar urutan proses algoritma genetika biner adalah sebagai berikut :17
18
Mekanisme secara umum dari AG digambarkan oleh Goldberg. Prosedur AG dimodifikasi
menurut versi Grenfenstette dan Baker’s. Umumnya, inisialisasi diasumsikan dilakukan secara
17
18
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 160
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 166 – 167
Solutions
acak. Pengkombinasian ulang (recombination) biasanya melibatkan crossover dan mutation
untuk menghasilkan offspring. Prosedur yang biasanya dilaksanakan adalah sebagai berikut :
keoptimuman suatu individu dan nilai yang dihasilakan oleh fungsi tersebut disebut
7. Menentukan individu terbaik yang terdapat dalam populasi pada saat kriteria
Begin
t = 0;
Inisialisasi P (t);
Evaluasi P (t);
Evaluasi C (t) ;
t = t + 1;
End;
End.
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
19
Sumber : http://puslit.petra.ac.id/journals/informatics/, vol. 3, no. 1, Mei 2002 : 16
Gen := 0
Ciptakan
populasi awal
secara acak
N Selesai
Evaluasi fitness
masing - masing
individu dalam
populasi
i := 1
Y
Gen := Gen + 1 I > pop ?
Pilih operasi Pm
Pr
genetic secara
probabilistik
Pc
Pilih 1 individu Pilih 2 individu Pilih 1 individu
berdasarkan berdasarkan berdasarkan
nilai fitnessnya nilai fitnessnya nilai fitnessnya
i : = i +1
(Sumber : Dr. Ir. Kuswara Setiawan, Paradigma Sistem Cerdas hal 100)
VI.
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
yang saling berhubungan dan bekerja sama secara paralel untuk memroses informasi. Sistem
komputasi yang diterapkan didasarkan atas pemodelan sistem saraf biologis (neurons)
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
“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
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
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
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
elektris tadi menjadi transmisi kimiawi yang disebut neurotransmitter, agar dapat berpindah
membrane (membran sinapsis penerima) milik neuron tujuan, dia akan diubah kembali
menjadi sinyal elektris dan diteruskan menuju soma. Bagian penerima (pada soma) akan
Sinyal-sinyal ini dapat menghambat neuron lain dalam mengirim sinyal pada
gilirannya dan dapat mendorong neuron lain untuk mengirim sinyal kepada neuron-neuron
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
Biologis Buatan
- Soma - Node
- Dendrite - Input
- Axon - Output
- Synapse - Weight
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
biologis. Berikut adalah ciri-ciri elemen pemrosesan dari ANN yang diwarisi dari sifat saraf
biologis, yaitu:
• 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.
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
Dari penjelasan analogi di atas, kita dapat memodelkan BNN seperti gambar berikut
ini:
Hasil pengolahan input
Sinyal
Elektris Som Axo
a n
Input
Dendrites Sinyal Elektris
Output
Dari model kerja tersebut, kita dapat membuat model Artificial Neural Network yang
beranalogi dengan model itu sebagaimana dijabarkan pada bagian sebelumnya sebagai
berikut:
Xi
Weights
Xj
(Synapse)
Weights
(Synapse)
Inputs
Hidden Elements
(Dendrite Outputs
(Node)
)
(Axon)
Gambar 4. Analogi model BNN yang disebut juga Artificial Neural Network
Sebuah network terdiri dari elemen pemrosesan yang terorganisasi dalam berbagai cara untuk
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
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
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.
Inputs Weights
W
X1
1
W
X2 2
Transfe Output
Sum (Y)
r
W
X3 Funct.
3 Funct.
W Processin
X4 4 g
Element
Transfer
P P Wj Function
Hidden 4
E E X Weighted
Layer 4
Wj Sum
1
Wj
Wj 3
X 2
1 X
X 3
P P P 2
Input
Layer
E E E
W
X2 Summation Function
Y
2 Output
W
X3 Y = f(Y_in)
3
Input Transformation
Function
Dari model-model di atas, dapat kita jelaskan karakteristik yang ada yaitu meliputi:
• 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
Kegunaan jaringan adalah menghitung nilai output yang konsisten dengan data input.
• Weight: merupakan ekspresi kekuatan relatif atau pentingnya sebuah input (dalam
(bobot) yang berulang adalah mekanisme belajar neural network. Karena efek
• Summation Function: mencari jumlah bobot dari semua elemen input untuk setiap
pemrosesan elemen. Mengalikan nilai input (X) dengan bobot (W), dan
Yj = Σi=1 to n Xi Wi
neuron menghasilkan output atau tidak. Identik dengan fungsi aktivasi dan sering
nonlinear. Ada beberapa macam fungsi aktivasi, dan menentukan operasi network.
• Mendeteksi jika ambang batas tercapai (contoh: Y< 0.5 maka set Y=0 dan jika
• Asosiasi
fungsi biaya.
2.1.6.1 Klasifikasi
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
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
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
Multi Layer Perceptron (MLP) adalah neural network feedforward (umpan maju)
dengan paling tidak memiliki 1 hidden layer. MLP dapat mengatasi masalah
kompleks. Setiap node pada layer pertama dapat membuat hyperplane. Setiap node
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
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
Output
Input
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
input dari unit lain. Sekali ditentukan, bobot pada network Hopfield tidak dapat dilatih
lagi.
BAM dapat menghubungkan vektor input ke vektor lainnya yang berbeda dan
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).
… Output
… Layer
Forward
Backward
Connection WT W Connection
s
s
…
… Input Layer
terasosiasi. Vektor input P diterapkan pada WT untuk menghasilkan vektor input baru.
2.1.6.3 Optimasi
• Network Hopfield
dan batasan masalah kepuasan. Intinya adalah meng-encode setiap hipotesa sebagai
sebuah unit dan meng-encode batasan di antara hipotesa sebagai bobot. Bobot positif
hubungan yang tidak sesuai. Seperti network Hopfield diatur menjadi suatu kondisi
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
E = energi network
lain yang dibangun dari batasan masalah dalam rangka menentukan bobot-bobot
network. Begitu bobot telah ditentukan dan parameter sistem lainnya sudah dipilih,
• Mesin Boltzmann
minimisasi energi konstan. Hal ini tepat untuk asosiasi tapi kurang tepat untuk
network Hopfield dan simulasi penguatan (suatu teknik yang mensimulasikan proses
Machines. Dalam teknik ini, minimum lokal dapat dihindari dengan menambahkan
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
O j = X . Wj
Oj = tingkat aktivasi unit j
X = vektor input
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
X = vektor input
kegiatan:
• Menghitung output
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.
Start
Menghitun
g output
Sesuaikan
bobot
Apakah output
Tida
yang diinginkan
k sudah tercapai ?
Ya
Stop
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
Proses belajar dikategorikan dalam dua jenis yaitu, belajar dengan pengawasan
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
Dalam melatih neural network, dapat dipilih algoritma pembelajaran yang paling
sesuai dan paling efektif dengan permasalahan yang dihadapi. Terdapat 6 algoritma
• Back Propagation
• Generalization Method
• Reinforcement Learning
• ART Network
Untuk memecahkan permasalahan yang diangkat penulis, maka yang akan dibahas hanyalah
Input
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
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
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:
1
f ( x) =
1 + exp( −x )
Dan turunan fungsi tersebut sebagai berikut:
Fungsi ini memiliki nilai output -1 dan 1, dikatakan aktif apabila bernilai 1 dan tidak
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
Selama proses pelatihan, setiap unit output membandingkan hasil fungsi aktivasi pada
unit output dengan nilai target untuk menentukan kesalahan hasil bandingan pola input dan
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-
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
Langkah 2 : untuk setiap pelatihan pasangan input dan output, lakukan langkah 3 - 8.
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
INPUT
PARSER UNDERSTANDER GENERATOR OUTPUT
TEXT
SRING
KNOWLEDGE
LEXICON
BASE
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
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
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
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
retrieval, dan database query. Masing – masing grammar dari bahasa tersebut diteliti guna
Jadi tujuan utama NLP adalah untuk memberikan komunikasi alami bagi komputer
(c) Mengaplikasikan banyak bahasa dan menyatukannya dalam bentuk semantic level.
START
INPUT
MASSAGE
ACCEPT
INPUT &
STORE IT
SCAN INPUT OUTPUT
KEY
WORD
S
FOUND
oleh user.
DEVELOP &
OUTPUT AN
APPROPIATE
END