Anda di halaman 1dari 106

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 Ada Tidak ada


logis

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:
INFERENCE
ENGINE
KNOWLEDGE WORKING
BASE MEMORY

(RULES) (FACTS)
AGENDA

KNOWLEDGE
EXPLANATION
ACQUISITION
FACILITY
FACILITY

USER
INTERFACE

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 Bagian kedua
pertama
Nama Premis Konklusi
Antecedent Konsekuen
Situasi Aksi
IF THEN
Alami Kondisi, Resolusi, sama dengan
sama pengetahuan
dengan Prsedural
pengetahuan
deklaratif
Ukuran Dapat Biasanya hanya mempunyai
mempunyai satu konklusi
banyak IF
Pernyataan Pernyataan Semua kondisi harus benar
AND untuk konklusi benar
Pernyataan Jika ada kondisi pernyataan OR
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).

Descriptive

Dikelompokkan Solution

Adjustment

Kasus Features Nama

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.

Tabel 1. Contoh Database Kasus

Descriptive Feature Adjusment Feature Solution Feature

Jenis Berat
Nama Penyakit Umur Obat Dosis Takaran
Kelamin Badan (kg)

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
Monthly loan repayment

Net monthly income 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.

Bad loan
Monthly loan repayment

Good loan

Net monthly income

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.

New Case
Monthly loan repayment

Net monthly income

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.
Loan repayment

Case B

YB

XB
Case A
Case T .
XA

Monthly income

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 repayment

C ase B

BY

XB
Case A
.
C ase T
XA

Monthly income

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.

Problem
Retrieve

Retain Reuse

Casebase

Revise
Confirmed Proposed
Solution Solution

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:
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.

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

Kucing ngSabtu Anjing

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).
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).

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

1.0 orang yang


membership
derajat function yang
keanggotaan µ tajam tinggi yang
orang (µ =tidak
0.95)

0.0
benar-benar

tinggi (µ = 0.95)

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
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     

 Membership function Trapesium


Membership function yang mempunyai parameter a, b, c, d dan formulasi trapesium

  x−b d − x 
min b − a ,1,  d − b ,0
(x;a,b,c,d) = max      

 Membership function Gaussian


Fungsi yang mempunyai parameter a, σ dengan formulasi gaussian

 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

Jika b negatif Membership function menjadi Membership


00 20
20 function
4040 60 bell
80 terbalik.
60 80
100 Ilustrasi dari
100

diatas diperlihatkan padaFungsi


Fungsi Keanggotaan Gaussian Keanggotaan Bell
keempat fungsi keanggotaan gambar 2.7.
1 1
Derajat Keanggotaan
Derajat Keanggotaan

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

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)

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

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.

l
A B
~ ~

0
X

Gambar 2.10 OperasiUunion PadaFuzzySet

µ∼A∪ ∼ A (x) ∨ ∼µB (x)


∼B (x) = µ

Contoh :

0 0.25 0.50 0.75 1.0 0.75 0.50 0.25 0 


U=  , , , , , , , ,  dan
0 30 60 90 120 150 180 210 240 

1.0 0.75 0.50 0.25 0 0 0 0 0 


V = , , , , , , , , 
0 30 60 90 120 150 180 210 240 

Hasil dari operasi union dari dua bilangan tersebut adalah:

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

Operasi irisan untuk fuzzy set ditunjukkan pada gambar 2.11.

l
A B
~ ~

0 X

Gambar 2.11 Operasi Irisan Untuk Fuzzy Set

∼B (x) = ∼ A (x) ∧ ∼ B (x)


µ∼A∩ µ µ

Contoh :

Hasil dari operasi irisan dari dua bilangan U dan V adalah :

C = U ∧V

0 ∧1.0 0.25 ∧ 0.75 0.50 ∧ 0.50 0.75 ∧ 0.25 1.0 ∧ 0 0.75 ∧ 0


=  , , , , , ,
 0 30 60 90 120 150

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

Operasi komplemen untuk fuzzy set ditunjukkan pada gambar 2.12.

A
~
l
A
~

0
X

Gambar 2.12 Operasi Komplemen Untuk Fuzzy Set

µ∼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.

Misalkan U mewakili sebuah kumpulan yang disebut “desirable”. Diasumsikan

masing-masing viscosity memberikan nilai keanggotaan.


 0 0.2 0.4 0.6 0.8 1.0 
U=  , , , , , 
0.4 0.6 0.8 1.0 1.2 1.4 

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 

1.0 0.8 0.6 0.4 0.2 0 


=  , , , , , 
0.4 0.6 0.8 1.0 1.2 1.4 

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 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

Cold Cool Warm Hot


1
0.8

0.2

0
50 60 63 70 80 90 Temperature
(0 F )

Gambar 2.19 Model Fuzzy pada Variabel Temperature

Universe of discourse dari gambar tersebut adalah 0- 90 0 F , adapun daerah (domain) untuk

WARM adalah 60 - 80 0 F . Jika temperature menunjukkan 63 0 F , 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

µ A ( x) : X → [ 0,1]

dalam fuzy logic, kejadian atau elemen x memberikan fungsi keanggotaan µ . Nilai ini

menghadirkan tingkat derajat untuk elemen x kepunyaan fuzzy set A.

µ A ( x) = Degree ( x ∈ A) ; 0 <= µ A ( x) <= 1

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
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

pada kromosom. Arti-arti yang terdapat pada kromosom disebut phenotype.

i . . . . 
m

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

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).

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),

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.

3
Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 280
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 :

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 :

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

wawasan dari desainer.

2. Banyak parameter yang perlu diset secara baik agar proses evolusi dalam GA berjalan

sesuai dengan yang diharapkan.

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.

6
Sumber : Agustina, Implementasi Algoritma Genetika Untuk Optimasi Masalah Penjadwalan Mesin,
STIKI (2002), hal 9
2.3 Komponen Utama Genetic Algorithms7

Ada 6 komponen utama dalam algoritma genetika, yaitu :

2.3.1 Teknik Penyandian (Encoding)

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.

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

Gen-1 Gen-2 Gen-3

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

wall
step

(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

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.

9
Dalam GA, sebuah fungsi kebugaran (fitness) f (x) harus dirancang untuk masing-

masing permasalahan yang akan diselesaikan. Dengan menggunakan kromosom tertentu,

9
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 168
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

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

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

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

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.

11
Adapun 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.
12
Langkah-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,

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 )

3. Hitunglah probabilitas seleksi pk dari setiap kromosom dengan cara membagi

nilai fitness masing-masing individu dengan total nilai fitness populasi,

eval (v k )
pk = , k = 1,2,...POPSIZE
F

4. Hitunglah probabilitas kumulatif untuk setiap kromosom/individu vk,

qk = ∑p
j =1
j

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 Fitness % of Total Running Total


(Chromosome)

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 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

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
13
Ada 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.

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 : 01110 | 0101110

Induk 2 : 11010 | 0001101

Posisi penyilangan yang terpilih : misalkan 5

Setelah penyilangan, diperoleh kromosom-kromosom baru :

13
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 174
Anak 1 : 01110 | 0001101

Anak 2 : 11010 | 0101110

 Crossover banyak titik

Pada penyilangan banyak titik, m posisi penyilangan ki (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 : 011100101110

Induk 2 : 110100001101

Posisi penyilangan yang terpilih :

Misalkan (m = 3) : 2 6 10

Setelah penyilangan, diperoleh kromosom-kromosom baru :

Anak 1 : 01 | 0100 | 1011 | 01

Anak 2 : 11 | 1100 | 0011 | 10

 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 : 011100101110

Induk 2 : 110100001101

Mask bit :

Sample 1 : 100111001101

Sample 2 : 011000110010

Setelah penyilangan, diperoleh kromosom-kromosom baru :

Anak 1 : 010100001100

Anak 2 : 111100101111

 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
14
cara untuk menghindari kromosom tertentu mendominasi populasi. Operator 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

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

dapat ditetapkan sebagai berikut :

 Variabel yang dimutasi = variabel + range * delta; (+ atau – memilki

probabilitas yang sama).

 Range = 0.5 * domain variabel (interval pencarian).

 Delta = ∑(a i * 2 −i ) ; ai = 1 dengan probabilitas 1/m, selain itu ai = 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

15
Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 164
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

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


16
Algoritma 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.

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

Gambar 2.4 Evolusi alami

Bangkitkan Evaluasi Apakah Individu -


kriteria Ya
populasi fungsi optimasi
individu
awal tujuan tercapai ? terbaik

Tidak
Mulai Hasil
Seleksi
Bangkitkan
populasi
baru Rekombinasi
/ Crossover

Mutasi

Gambar 2.5. Flowchart pengembangan AG (evolusi numerik)

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

Gambar 2.6. Struktur algoritma genetika biner

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 :

1. Menentukan bentuk representasi genetik.

2. Menentukan suatu cara untuk menciptakan populasi awal.

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
Gen := 0

Ciptakan
populasi awal
secara acak

Apakah kriteria untuk Y Tentukan


berhenti hasilnya
terpenuhi ?

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

Proses i : = i +1 Proses mutasi


reproduksi

Menyalin individu Proses


yang terpilih ke crossover Masukkan individu
dalam populasi baru hasil proses
baru mutasi ke dalam
Masukkan 2 populasi yang baru
individu yang
dihasilkan ke dalam
populasi baru

i : = i +1

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 - Node
- Dendrite - Input
- Axon - Output
- Synapse - 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:
Hasil pengolahan input
Sinyal
Elektris Som Axo
a n
Input
Dendrites Sinyal Elektris
Output

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:

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

membentuk struktur network:


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.

Inputs Weights
W
X1
1
W
X2 2
Transfe Output
Sum (Y)
r
W
X3 Funct.
3 Funct.
W Processin
X4 4 g
Element

Gambar 5. Pemrosesan informasi dalam neuron buatan.


P = Processing
E Element
P P P
Output
Layer
E E E
f (Y )
j

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

Gambar 6. Neural Network dengan satu Hidden Layer.

Sedangkan secara matematis dapat kita modelkan seperti ini:

W Y_in = w1x1 + w2x2 +


X1 w3x3
1

W
X2 Summation Function
Y
2 Output
W
X3 Y = f(Y_in)
3

Input Transformation
Function

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:
• 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.

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

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).

… Output
… Layer
Forward
Backward
Connection WT W Connection
s
s

… Input Layer

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:

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:

O j = 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.

Start

Menghitun
g output
Sesuaikan
bobot
Apakah output
Tida
yang diinginkan
k sudah tercapai ?

Ya

Stop

Gambar 10. Diagram belajar ANN.

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.


Target
+
Outpu Σ
t
Backward
Actual Output
Error
Output Propagatio
……. n
Layer
Forward
Information Flow
Hidden
…….
Layer(s)
Forward
Information Flow
Input Layer …….

Input

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:

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:

1
f ( x) =
1 + exp( −x )
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:


1
g ( x) = −1
1 + exp( −x )

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.

INPUT
PARSER UNDERSTANDER GENERATOR OUTPUT
TEXT

SRING

KNOWLEDGE
LEXICON
BASE

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.

START

INPUT

MASSAGE

ACCEPT

INPUT &

STORE IT
SCAN INPUT OUTPUT

SEARCH FOR SUITABLE

KEY WORDS RESPON

KEY
WORD
S
FOUND

2.21 Proses Analisa Keyword PBA


MORE
KEY
Gambar berikut menunjukkan flowchart dari
WORDanalisa keyword PBA yang biasa digunakan
S?

oleh user.
DEVELOP &
OUTPUT AN
APPROPIATE

END

Anda mungkin juga menyukai