SoalCE

146
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

description

CE

Transcript of SoalCE

Page 1: SoalCE

Soal> Pilihlah suatu topic/masalah/kasus yang membutuhkan penanganan secara> otomatis dengan AI. Kemudian buatlah solusinya dengan menggunakan tiga> metode:> 1. Expert System (ES)> 2. Case-Based Reasoning (CBR)> 3. Fuzzy Logic (FL)> > Format Penyelesaian:> 1. Penjelasan pemilihan topic termasuk masalahnya, missal Preventive> Maintenance bidang Trouble shooting mesin mobil Toyota Kijang, bagian> listrinya. Maksimum 1 halaman A4.> 2. Penyelesaian dengan ES:> a. Jelaskan prinsip kerja ES (inference engine) yang dipilih> b. Rancang dan tuliskan Knowledge base dalam bentuk rules yang muncul> (maksimum 12 rules, dipersingkat saja)> 3. Penyelesaian CBR:> a. Jelaskanprinsip kerja CBR> b. Rancang dan tuliskan database kasus yang muncul (maksimal 12 kasus,> dipersingkat saja). Petunjuk: buat table struktur feature, lalu table> kasus> 4. Penyelesaian dengan FL:

Page 2: SoalCE

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

Page 3: SoalCE

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)

Page 4: SoalCE

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

Page 5: SoalCE

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.

Page 6: SoalCE

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

Page 7: SoalCE

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

Page 8: SoalCE

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

Page 9: SoalCE

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

Page 10: SoalCE

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

Page 11: SoalCE

obyek bisa jadi seorang manusia, benda, pikiran, konsep, kejadian, atau

pernyataan suatu fakta. Menggunakan simbol, kita dapat menciptakan

basis pengetahuan yang berisi fakta, konsep, dan hubungan di antara

keduanya. Kemudian beberapa proses dapat digunakan untuk

memanipulasi simbol tersebut untuk menghasilkan nasehat atau

rekomendasi untuk penyelesaian suatu masalah.

Program komputer konvensional prosesnya berbasis algoritma, yakni formula

matematis atau prosedur sekuensial yang mengarah kepada suatu solusi. Algoritma tersebut

dikonversi ke program komputer yang memberitahu komputer secara pasti instruksi apa yang

harus dikerjakan. Algoritma yang dipakai kemudian menggunakan data seperti angka, huruf,

atau kata untuk menyelesaikan masalah. Perbedaan dasar antara AI dengan

program komputer konvensional diberikan dalam Tabel 1.

Tabel 1. Perbandingan antara AI dan Program Konvensional

ASPEK AI Program Konvensional

Pemrosesan Sebagian besar simbolik Algoritmik dengan angka

Input Tidak harus lengkap Harus lengap

Pendekatan pencarian Sebagian beasr heuristic Algoritma

Penjelasan / explanasi Tersedia Biasanya tidak tersedia

Fokus Pengetahuan Data

Pemeliharaan & peningkatan Relative mudah Biasanya sulit

Kemampuan berpikir secara logis

Ada Tidak ada

1.7. BIDANG APLIKASI AI

Penerapan AI meliputi berbagai bidang seperti ditunjukkan pada

bagian cabang dari pohon AI pada Gambar 1, sedangkan induk keilmuan

AI dapat dilihat pada akar dari pohon AI yang antara lain meliputi:

Bahasa/linguistik, Psikologi, Filsafat, Matematik, Teknik Elektro, Ilmu

Page 12: SoalCE

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

Page 13: SoalCE

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.

Page 14: SoalCE

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)

Page 15: SoalCE

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

Page 16: SoalCE

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

Page 17: SoalCE

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.

Page 18: SoalCE

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

Page 19: SoalCE

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.

Page 20: SoalCE

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:

Page 21: SoalCE

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.

Page 22: SoalCE

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

Page 23: SoalCE

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]

Page 24: SoalCE

Representasi kaidah mempunyai karakteristik-karakteristik seperti yang

ditujukkandalam table berikut :

Table 2.7 Karakteristik dan Representasi Kaidah

Sumber : Muhammad Arhami. Konsep Dasar Sistem Pakar.Yogyakarta.

Penerbit ANDI, 2005.halaman 82.

Bagian pertama

Bagian kedua

Nama Premis Antecedent SituasiIF

KonklusiKonsekuenAksiTHEN

Alami Kondisi, sama dengan pengetahuan deklaratif

Resolusi, sama dengan pengetahuan Prsedural

Ukuran Dapat mempunyai banyak IF

Biasanya hanya mempunyai satu konklusi

Pernyataan Pernyataan AND Pernyataan OR

Semua kondisi harus benar untuk konklusi benar Jika ada kondisi pernyataan OR benar maka konklusinya benar

……..

2.5. Teknik Inferensi

Menurut George F. Luger (1990:94), definisi inferensi adalah:

“Inference is the process used in an expert system of deriving new information from known

information”.

Yang dapat diartikan bahwa inferensi adalah proses yang digunakan dalam sebuah Sistem

Pakar untuk menghasilkan informasi baru dari informasi yang telah diketahui.

Mesin inferensi adalah salah satu bagian dari Sistem Pakar dimana menerapkan teknik

inferensi untuk mengolah basis pengetahuan sehingga sistem sampai pada suatu kesimpulan.

Teknik inferensi yang biasa digunakan ada dua macam, yaitu:

Page 25: SoalCE

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.

Page 26: SoalCE

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

Page 27: SoalCE

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.

Page 28: SoalCE

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

Page 29: SoalCE

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

Page 30: SoalCE

adaptasi adalah pasien baru jauh lebih tua dan lebih ringan dari pasien lama yang mirip

kasusnya, maka doses obat perlu disesuaikan.

Berdasarkan pengalaman seorang dokter, maka dapat disusun database yang terdiri ribuan

kasus pasien yang telah ditanganinya selama ini (misal selama 20 tahun praktek). Contoh

kecil database kasus yang sangat sederhana dapat dilihat pada Tabel 1.

Tabel 1. Contoh Database Kasus

Descriptive Feature Adjusment Feature Solution Feature

NamaJenis

KelaminPenyakit

Berat

Badan (kg)Umur Obat Dosis Takaran

Ana P Demam 50 18 Panadol 3x sehari 1 tablet

Antok L Demam 30 8 Panadol 3x sehari ½ tablet

Alex L Demam 70 70 Panadol 3x sehari 1 tablet

Dani L Diare 65 23 Diapet 2x sehari 1 tablet

Elisa P Maag 90 25 Promag 1x sehari 3 tablet

Catatan : L = laki-laki P = perempuan sdm = sendok makan

3.3. Keserupaan

Secara konsep, nearest neighbor merupakan teknik yang sangat sederhana. Berikut ini akan

digunakan contoh tentang manager bank yang memakainya untuk dikabulkan atau tidaknya

pinjaman seoarang klien baru. Dalam pengertian ini sebuah kasus adalah pinjaman

sebelumnya. Pertama, harus memutuskan ciri-ciri sebuah kasus yang akan digunakan sebagai

index. Index suatu kasus harus :

Dapat diprediksi

Cukup abstrak agar dapat memperlebar kegunaan database kasus pada masa

yang akan datang

Cukup nyata agar diakui di masa yang akan datang

Dua feature yang spesifik yang dapat langsung memenuhi kriteria ini adalah

Page 31: SoalCE

1. Pendapatan seseorang tiap bulan, yaitu uang sisa yang dimiliki mereka setelah

pajak dan tanggung jawab keuangan yang lain

2. Pembayaran kembali pinjaman mereka tiap bulan

Gunakan dua feature ini sebagai index. Dengan demikian, kasus tersebut akan terdiri dari

informasi seperti yang dapat dilihat pada tabel 2.2

Tabel 2.2 Tabel kasus secara sederhana

Case Indexes 

Net monthly income in dollars

Monthly loan repayment in dollars

Case result 

Good or bad loan 

Gambar 2.3 Grafik

sederhana

Pada gambar 2.3, dua index itu dapat digunakan sebagai sumbu untuk sebuah grafik, dengan

pendapatan bersih tiap bulan pada sumbu x dan pembayaran kembali pinjaman pada sumbu y.

Sebuah kasus yang lalu, sebagai contoh seseorang dengan pendapatan bersih tiap bulan relatif

tinggi dan pembayaran kembali pinjaman yang relatif rendah dapat digambarkan seperti pada

grafik.

Dengan cara yang sama, kasus lama yang lain dapat juga digambarkan sebagai batas

pada grafik (gambar 2.4). Sekarang, dapat dikatakan bahwa index seharusnya dapat

diprediksi, dan pengertian yang umum dapat memberitahu bahwa orang-orang dengan

pendapatan bersih tiap bulan yang relatif rendah dan pembayaran kembali pinjaman tiap

Page 32: SoalCE

bulan yang relatif tinggi lebih banyak mengalami kegagalan dalam pinjaman daripada orang

dengan pendapatan yang tinggi dan pembayaran kembali yang rendah. Dengan demikian, ini

tidak mengherankan bila satu dari kelompok kasus menunjukkan orang-orang yang sukses

membayar kembali pinjamannya dan yang lain menunjukkan yang gagal.

Net monthly income

Mo

nth

ly lo

an

re

pa

ym

en

t

Bad loan

Good loan

Gambar 2.4 Kelompok pinjaman yang baik dan yang buruk

Sekarang dengan grafik ini dapat digunakan sebagai alat untuk mendukung keputusan.

Apabila seorang klien yang cukup prospektif sedang berjalan melalui pintu, yang harus

dilakukan adalah menanyakan berapa pendapatan bersihnya tiap bulan, kemudian hitung

pembayaran kembali pinjamannya tiap bulan, dan gambarkan hal ini dalam grafik. Apabila

seseorang tergolong dalam atau dekat dengan kelompok yang baik, permohonan pinjaman

harus dikabulkan. Apabila tergolong dalam atau dekat dengan kelompok yang buruk,

permohonan pinjaman harus ditolak.

Net monthly income

Mon

thly

loan

rep

aym

ent

New Case

Gambar 2.5 Sebuah kasus baru pada grafik

Pada grafik yang ditunjukkan pada gambar 2.5, mudah untuk mengetahui bahwa klien baru

itu dekat dengan pinjaman yang baik. Bagaimanapun, untuk yakinnya, harus menggunakan

grafik untuk menghitung jaraknya. Yang harus dikerjakan adalah menghitung jarak relatif

Page 33: SoalCE

dari x dan y kasus baru (the target case) ke kasus-kasus yang lain (source cases). Mari

sederhanakan grafiknya dengan hanya mempertimbangkan 3 kasus : dua kasus sumber yang

ada disebut A dan B sedang kasus target dinamakan T. Dengan kasus A adalah sebuah

pinjaman yang baik dan kasus B sebagai pinjaman yang jelek. Sekarang dengan mudah akan

didapatkan jarak x dan y dari T dari tiap-tiap sumber kasus A dan kasus B.

Lo

an

re

pa

yme

nt

Monthly income

Case A.

Case B

Case T

XB

YB

X A

Gambar 2.6 Grafik dengan jarak nearest neighbor

Seperti yang dapat dilihat pada gambar 2.6 jarak x dari T ke A adalah 3 unit, dan jarak y

adalah 0, sedangkan jarak x milik T dari B adalah 1 unit dan jarak y adalah 3 unit. Untuk

itu :

Jarak T dari A : dA = XA + YA

Jarak T dari B : dB = XB + YB

Bagaimanapun memberi nilai yang paling kecil adalah tetangga terdekat kasus ke T. Jadi

dalam contoh ini jarak T dari A samadengan 3 (yaitu : 3+0), sedang jarak T dari B sama

dengan 4 (yaitu :1+3) dan karena itu A adalah tetangga paling dekat dengan T. Bank harus

mengabulkan pinjaman. Meskipun target mempunyai pendapatan yang kecil, pinjaman juga

rendah. Keputusan ini didukung oleh kasus tetangga terdekat (kasus A) menjadi sebuah

pinjaman yang baik.

Konsep dari nearest neighbor pada dasarnya adalah sederhana. Tetapi untuk membuat

menjadi lebih nyata dengan memberi bobot pada attribute. Dari pengalaman bertahun-tahun

sebagai pegawai bank, tentu percaya bahwa seseorang yang mempunyai pendapatan bersih

lebih mudah diramalkan kemampuan seseorang membayar kembali pinjaman daripada

Page 34: SoalCE

ukuran relatif pembayaran kembali tiap bulan. Dapat dikatakan bahwa bila akan menimbang

pendapatan seseorang seperti dua kali lebih penting dari ukuran pembayaran kembali. Untuk

itu dapat menggunakan grafik yang sama, tetapi formula nearest neighbor berubah menjadi :

Jarak T dari A : dA = (XA x Wx ) + (YA x Wy )

Jarak T dari B : dB = (XB x Wx ) + ( YB x Wy )

Dimana Wx adalah bobot dari attribute X dan Wy adalah bobot dari attribute Y.

Dengan Wx = 2 dan Wy = 1. Sehingga :

Jarak T dari A : dA = 6 (yakni,(3x2) + (0x 1))

Jarak T dari B : dB = 5 (yakni, (1x2) + (3x1) )

Loan

repa

ymen

t

Monthly income

Case A.

Case B

Case T

Y B

XB

X A

Gambar 2.7 Grafik dengan bobot pada sumbu x

Maka dari itu, menggunakan formula nearest neighbor , kasus B sekarang menjadi lebih

dekat ke kasus T dan bank harus menolak pinjaman karena kasus B adalah pinjaman yang

jelek. Sebuah cara untuk menggambarkan ini adalah dengan menggambar ulang grafik yang

telah ada dengan sumbu x dua kali skala sumbu y (gambar 2.7). Ini akan menggambarakan

lebih jelas bahwa T lebih dekat ke B daripada ke A. Karena itu, dapat dilihat bagaimana

menambahkan latar belakang pengetahuan pada formula nearest neighbor dalam bentuk

kepentingan yang relatif, atau pemberian bobot, pada setiap attribute berubah secara dramatis

dimana kasus akan dicari kembali sebagai pasangan yang paling baik.

Page 35: SoalCE

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 :

Page 36: SoalCE

1. Retrieve the most similar case (mencari kembali kasus lama yang paling serupa

dengan kasus baru)

2. Reuse the case to attempt to solve the problem (menggunakan kembali solusi kasus

lama untuk menyelesaikan kasus baru)

3. Revise the proposed solution if necessary (jika diperlukan, lakukan adaptasi dan

revisi/perbaikan atas solusi lama yang diusulkan agar sesuai dengan situasi sekarang)

4. Retain the new solution as a part of a new case (apabila solusi pada langkah nomor 3

dianggap solusi baru, maka solusi ini disimpan/ditambahkan kedalam database kasus

untuk digunakan menyelesaikan masalah baru di masa yang akan datang). Dengan

demikian, CBR ini makin lama makin cerdas mengingat sistim ini dapat menyimpan

hal yang baru atau dapat mengikuti perkembangan kasus baru.

Jadi dalam CBR suatu masalah/kasus baru dipecahkan dengan mencari kembali satu atau

lebih kasus-kasus lama yang mirip, kemudian menggunakan kembali solusi kasus lama itu,

dan bila diperlukan dilakukan adaptasi solusinya, setelah itu sistim menyimpan kasus yang

baru tersebut beserta solusinya ke dalam database kasus. Keempat proses ini saling

mempengaruhi satu sama lain dan dapat digambarkan seperti pada Gambar 1.

Gambar 1. Case-Based Reasoning Cycle

Untuk lebih memperjelas kerja siklus CBR ini, maka diberikan ilustrasi dengan menggunakan

database kasus pada Tabel 1. Misalkan ada kasus baru dengan data: nama Gomblohwan, pria,

berumur 20 tahun, berat badan 51 kg, hasil diagnose menetapkan bahwa ia sakit demam. Atas

dasar data ini, maka akan dicari solusi yang paling mirip dari kasus lama yang tersimpan

dalam database kasus dengan proses melalui keempat siklus CBR sebagai berikut:

ProblemRetrieve

Casebase

Retain

Confirmed Solution

Proposed Solution

Revise

Reuse

Page 37: SoalCE

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

Page 38: SoalCE

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

Page 39: SoalCE

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

Page 40: SoalCE

nilai numerik antara benar dan salah. Akhirnya Lukasiewicz mengemukakan sebuah sistem

notasi dan aksiomatik.

Akhirnya Lukasiewicz menyelidiki empat nilai logic, lima nilai logic, dan kemudian

mendeklarasikan asas bahwa tidak ada yang mencegah munculnya nilai logic tak terbatas.

Lukasiewicz merasa bahwa tiga logic atau nilai logic tak terbatas membangkitkan minat,

tetapi Lukasiewicz lebih mengistimewakan empat logic karena hal tersebut lebih mudah

disesuaikan dengan logika Aristotelian.

Knuth memperkenalkan tiga nilai logic yang mirip dengan Lukasiewicz. Knuth

menggunakan [-1, 0, +1] dari pada [0, 1, 2]. Pada akhirnya hal ini tidak dapat kurang

diterima.

Pada tahun 1965, Lotfi A Zadeh mempublikasikan hasil kerjanya, yaitu Fuzzy Set

yang berisi tentang teori matematika Fuzzy Set, dan dengan perluasan Fuzzy Logic. Teori ini

memperkenalkan penggunaan membership function yang mempunyai nilai real antara 0,0 dan

1,0. Operasi-operasi logika baru untuk kalkulus juga diperkenalkan dan menjadi hal yang

penting pada bidang logika.

2.3 Crisp Set, Fuzzy Set dan Fuzzy Logic

2.3.1 Crisp Set

Crisp set sering juga disebut classical set, karena crisp set telah ditemukan sejak lama, yaitu

sejak Aristotle mengemukakan The Law of The Excluded Middle yang menyatakan bahwa

suatu subjek pada suatu hal dapat diterima atau ditolak (J.S. Roger Jang dan Gulley, Ned,

1995).

Crisp set (himpunan klasik) mempunyai elemen yang menjadi bagian dari suatu set atau

bukan bagian dari set tersebut. Sebagai contoh, crisp set nama-nama hari mempunyai elemen

Senin, Selasa, Rabu..., Minggu. Sepatu, anjing, kucing tidak termasuk elemen dari set nama

hari dalam seminggu. Gambar 2.1 berikut ini menggambarkan penggolongan nama-nama

hari.

Gambar 2.1 Penggolongan Nama-nama Hari

Se

nin

Selasa

Rabu

Minggu

Sepatu

Kucing

Anjing

Nama-nama hari

Page 41: SoalCE

Dengan contoh diatas, subjek yang ada adalah: Senin, dan yang dimaksud dengan

“hal” adalah nama-nama hari. Dalam kasus ini, Senin termasuk atau diterima dalam nama

hari dalam seminggu.

Aturan ini mengemukakan kategori yang berlawanan, yaitu A dan A . Semua anggota

Universe/Semesta harus terdapat pada salah satu dari keduanya. Jadi tidak dimungkinkan ada

“sesuatu” yang menjadi nama-nama hari dalam seminggu dan tidak menjadi nama-nama hari

dalam seminggu.

Untuk klasifikasi nama-nama hari dalam weekend (akhir pekan) permasalahan

menjadi sulit. Gambar 2.2 berikut ini menampakkan klasifikasi nama-nama hari dalam

weekend.

Gambar 2.2 Klasifikasi Nama-nama Hari Dalam Weekend

Pada contoh diatas, dimisalkan hari kerja adalah 5 hari yaitu, hari senin sampai

dengan jumat, sedangkan hari Sabtu dan Minggu dapat digolongkan sebagai hari-hari

weekend. Tetapi permasalahannya adalah hari Jum’at dapat digolongkan sebagai nama-nama

hari weekend, meskipun beberapa faktor juga menentang penggolongan tersebut.

Dari diagram sebelumnya, terlihat bahwa hari Jum’at ditempatkan pada garis batas.

Crisp set tidak dapat mentolerir hal ini.

Tentu saja pembahasan nama-nama hari dalam weekend tergantung pada pandangan

tiap-tiap individu, namun sebagai patokan, weekend dinyatakan sebagai periode dari Jum’at

malam atau Sabtu pagi sampai Senin pagi.

Fuzzy menjadi sangat penting dalam membahas konsep weekend seperti pada contoh

di atas, karena pada konsep tersebut, suatu pertanyaan seperti “apakah hari Jum’at termasuk

weekend?” tidak dapat dijawab dengan tegas (ya atau tidak).

M

iSabtu

Jum’at

Sepatu

KucingAnjing

Nama-nama hari dalam weekend

Page 42: SoalCE

2.3.3 Representasi Fuzzy Set

Fuzzy Set merupakan suatu set yang terdiri dari elemen-elemen, dimana elemen-elemen

tersebut memiliki derajat keanggotaan (degree of membership) pada set tersebut (Ross,

Timothy J., 1993). Elemen pada fuzzy set, karena nilai keanggotaannya tidak harus satu, maka

elemen tersebut dapat menjadi anggota dari fuzzy set yang lain pada universe yang sama.

Elemen pada fuzzy set dipetakan pada universe of discourse dengan menggunakan fungsi.

Fuzzy set dinotasikan dengan menambah ‘tilde’ sebagai garis bawah. Contoh A berarti fuzzy

set S. Suatu fungsi akan memetakan elemen dari fuzzy set ke nilai antara 0 sampai 1. Suatu

elemen x yang merupakan anggota fuzzy set A dapat dituliskan dengan:

A (x) [0,1] A=(x, A (x)| x X)

Gambar 2.5 berikut ini menunjukkan perbedaan membership function crisp set dan fuzzy set

(Ross, Timothy J., 1993).

Gambar 2.5 Perbedaan Membership Function Untuk Crisp Set dan Fuzzy Set

Dalam penulisannya, fuzzy dapat dituliskan secara diskrete dan secara continue

dengan membership function (Durkin, John, 1996).

a. Diskrete

Fuzzy set dapat dituliskan secara discrete dengan bentuk sebagai berikut:

F= 1

1

x

+ 2

2

x

+ 3

3

x

+ ... + n

n

x

atau F=

N

i i

i

x1

dengan

0

m

lA

x

Membership Function untuk crisp set A

0

m

l

x

A

Membership Function untuk fuzzy set A

~

~~ ~

~

~

~

Page 43: SoalCE

: membership value

x : elemen

+ : notasi boolean (union)

Contoh :

Bilangan universe tinggi yang terdiri dari :

U= {5, 5.5, 6, 6.6, 7, 7.5, 8}

Adapun, kumpulan bilangan yang termasuk elemen untuk tinggi adalah :

TinggiF =

8

1

5,7

1

7

1

5,6

875,0

6

5,0

5

125.0

b. Membership Function

Membership Function (fungsi keanggotaan) adalah suatu kurva yang menunjukkan pemetaan

titik-titik input data ke dalam nilai keanggotaannya (sering juga disebut dengan derajat

keanggotan) yang memiliki interval antara 0 sampai 1 (Kusumadewi, Sri, 2003). Input space

umumnya mengacu pada universe of discourse.

Gambar 2.6 menampilkan kurva yang memperlihatkan perubahan dari tidak tinggi ke tinggi

secara tajam dan halus.

Gambar 2.6 Perubahan Secara Tajam dan Secara Halus

Axis aoutput berupa nilai keanggotaan antara 0 dan 1. kurva merupakan fungsi keanggotaan,

yang umumnya diberi simbol . Kurva ini mendefinisikan perubahan dari tidak tinggi ke

tinggi.

Ekspresi dari classical set dapat dituliskan sebagai berikut

tinggi ( = 1.0)

tinggi ( = 0.0)

orang yang

tinggi ( = 0.95)orang yang tidak benar-benar

Page 44: SoalCE

A={ X | X > 6 }

Fuzzy set merupakan perluasan dari classical set. Jika X merupakan universe of discourse dan

elemen-elemennya dinyatakan dengan x, maka fuzy set A pada himpunan semesta X dapat

didefinisikan sebagai pasangan elemen x dan tingkat fungsi keanggotaan atau :

A= {x, A (x) | x X }

A (x) disebut membership function dari x pada A. Membership function memetakan setiap

elemen x ke membership value antara 0 dan 1.

Ada empat macam membership function yang sering digunakan yaitu: segitiga, trapesium,

gaussian, dan bell yang diperluas (Kusumadewi, Sri, 2003).

Membership function Segitiga

Membership function yang mempunyai parameter a, b, c dengan formulasi segitiga (x;a,b,c) =

max

0,,minbc

xc

ab

bx

Membership function Trapesium

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

(x;a,b,c,d) = max

0,,1,minbd

xd

ab

bx

Membership function Gaussian

Fungsi yang mempunyai parameter a, dengan formulasi gaussian

x;a, = exp

2

2

1

cx

Membership function Bell yang diperluas

Membership function yang mempunyai parameter a,b,c dengan formulasi bell (x;a,b,c) =

b

a

cx2

)(1

1

dengan b positif.

Jika b negatif Membership function menjadi Membership function bell terbalik. Ilustrasi dari

keempat fungsi keanggotaan diatas diperlihatkan pada gambar 2.7.

Page 45: SoalCE

Gambar 2.7. Jenis-jenis Fungsi Keanggotaan

a. Segitiga (x;20,60,80) b. Trapesium (x;10,20,60,95)

c. Gaussian (x;20,50) d. Bell (x;20,4,50)

Membership function mempunyai spesial feature yang ditunjukkan pada Gambar 2.8

(Ross, Timothy J., 1993).

Gambar 2.8 Special Feature Pada Membership Function

Core dari membership function untuk fuzzy set A didefinisikan sebagai daerah dari

universe yang mempunyai karakteristik keanggotaan yang penuh pada set tersebut. Jadi core

terdiri dari elemen-elemen dari universe X dimana A (X) = 1.

Support dari membership function untuk fuzzy set A didefinisikan sebagai daerah dari

universe yang memiliki karakteristik non-zero (bukan nol). Jadi support terdiri dari elemen-

elemen pada universe X dimana A (x) 0.

Boundary dari membership function untuk fuzzy set A didefinisikan sebagai daerah

pada universe yang memilki elemen yang nilai keanggotaannya non-zero, tetapi bukan

keanggotaan yang komplit. Jadi boundary terdiri dari elemen-elemen pada universe X dimana

Page 46: SoalCE

0 < A (x) <1. Elemen-elemen dari universe ini merupakan derajat (degree) dari fuzziness,

atau hanya keanggotaan yang bersifat sebagian (partial) pada fuzzy set A.

Dilihat dari kenormalannya fuzzy set dibedakan menjadi dua, yakni fuzzy set normal

dan fuzzy set tidak normal. Fuzzy set normal terdiri dari membership yang memiliki

sedikitnya satu elemen pada universe X, dimana nilai keanggotaannya penuh. Pada fuzzy set

dimana satu dan hanya satu elemen yang memiliki nilai keanggotaan sama dengan satu, maka

elemen tersebut secara umum disebut sebagai prototype dari set satu elemen prototype. Fuzzy

set tidak normal terdiri dari membership yang tidak memiliki satu elemen pada universe X

yang nilai keanggotaannya penuh. Gambar 2.9 berikut ini menunjukkan gambar fuzzy set

normal dan fuzzy set tidak normal (Ross, Timothy J., 1993)

Gambar 2.9 Fuzzy Set Normal dan Fuzzy Set Tidak Normal

2.3.4 Operasi Operasi Dasar Fuzzy Set

Sebagaimana operasi-operasi himpunan pada umumnya, fuzzy set juga memiliki

operasi-operasi himpunan yang umumnya disebut operasi fuzzy set. Berikut ini operasi-

operasi fuzzy set (Ross, Timothy J., 1993):

1. Operasi Union

Operasi union untuk fuzzy set ditunjukkan pada gambar 2.10.

Page 47: SoalCE

Gambar 2.10 OperasiUunion PadaFuzzySet

(x) = (x) (x)

Contoh :

U = dan

V =

Hasil dari operasi union dari dua bilangan tersebut adalah:

D = U V

=

=

Page 48: SoalCE

2. Operasi Intersection/Irisan

Operasi irisan untuk fuzzy set ditunjukkan pada gambar 2.11.

Gambar 2.11 Operasi Irisan Untuk Fuzzy Set

(x) = (x) (x)

Contoh :

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

C = U V

=

=

3. Operasi Komplemen

Operasi komplemen untuk fuzzy set ditunjukkan pada gambar 2.12.

Page 49: SoalCE

Gambar 2.12 Operasi Komplemen Untuk Fuzzy Set

(x)=1- (x)

Contoh :

Misalkan X={0.4, 0.6, 0.8, 1.0, 1.2, 1.4} mewakili sifat merekat untuk sebuah solusi.

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

masing-masing viscosity memberikan nilai keanggotaan.

U =

Kemudian,

=

Page 50: SoalCE

=

2.3.5 Variabel Linguistik

Variabel linguistik merupakan konsep yang penting dalam fuzzy set. Variabel

linguistik adalah variabel yang lebih tinggi tingkatannya dari variabel fuzzy dengan

menggunakan variabel fuzzy untuk nilainya. Contoh Variabel Linguistik dengan Nilai Typical

:

Variabel Linguistik Nilai Typical

ukuran kecil, sedang, besar

tinggi pendek, sedang, tinggi

kecepatan lambat, sedang, cepat

2.3.6 Model Fuzzy

Variabel model sering dinyatakan dengan ruang yang tidak jelas (fuzzy). Ruang ini

biasanya terdiri atas overlap fuzzy set, masing-masing fuzzy set menggambarkan partisi

semantik yang dinyatakan dengan variabel. Misal parameter TEMPERATURE dalam fuzzy set

dibagi menjadi empat bagian : COLD, COOL, WARM, dan HOT. Jarak dari nilai yang paling

kecil sampai dengan nilai yang paling besar disebut universe of discourse. Universe of

discourse untuk model temperatur adalah ke F, daerah untuk fuzzy set WARM adalah

ke . Gambar 2.19 berikut merupakan contoh model fuzzy pada variabel temperature.

Page 51: SoalCE

Gambar 2.19 Model Fuzzy pada Variabel Temperature

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

WARM adalah 60 - . Jika temperature menunjukkan , maka termasuk dalam

himpunan COOL dengan nilai keanggotaan (Membership Value) 0,8 dan termasuk himpunan

WARM dengan nilai keanggotaan (Membership Value) 0,2.

2.3.7 Fuzzy Logic

Suatu cabang logika yang menggunakan derajat keanggotaan dalam penetapan

dibandingkan pernyataan keanggotaan benar/salah.

Fuzzy logic merupakan perlakuan dari fuzzy set sebagai fuzzy proposition. Fuzzy proposition

merupakan pernyataan yang menyatakan nilai untuk memberikan linguistic variable seperti

“tinggi adalah jangkung”. Hal yang umum, dapat dipresentasikan suatu fuzzy proposition

Page 52: SoalCE

Proposition: X adalah A

Dimana A adalah fuzzy set dalam bilangan universe X.

Fuzzy logic memberikan nilai untuk suatu kejadian dasar pada fungsi keanggotaan

(membership function), seperti digambarkan pada

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

menghadirkan tingkat derajat untuk elemen x kepunyaan fuzzy set A.

;

Fuzzy logic terkait dengan pengukuran dan pertimbangan tentang istilah samar dan

ketidak jelasan (fuzzy) yang ada pada bahasa alami (linguistik variabel biasa disebut variabel

fuzzy).

Beberapa alasan digunakannya logika fuzzy (Sri Kusumadewi:2003) :

1) Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran

fuzzy sangat sederhana dan mudah dimengerti.

2) Logika fuzzy sangat fleksibel

3) Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat

4) Logika fuzzy didasarkan pada bahasa alami

V.

Page 53: SoalCE

2.1 Sejarah Genetic Algorithms (GA)1

Algoritma Genetika (AG) pertama kali dikembangkan oleh John Holland bersama

rekan kerja dan murid-muridnya pada tahun 1975 di Universitas Michigan. Dalam penelitian

tersebut dilakukan uji coba untuk memanfaatkan prinsip proses evolusi dalam suatu

perangkat lunak untuk memecahkan suatu permasalahan optimasi. Konsep dasar yang

mengilhami timbulnya algoritma genetik adalah teori evolusi alam yang dikemukakan oleh

Charles Darwin. Dalam teori tersebut dijelaskan bahwa pada proses evolusi alami, setiap

spesies harus melakukan adaptasi terhadap lingkungan di sekitarnya untuk bertahan hidup.

Topik pokok dari penelitian yang dilakukan John Holland adalah kekuatan

(robustness) serta keseimbangan antara tingkat efisiensi dan tingkat keberhasilan suatu sistem

untuk dapat bertahan hidup (survival of fittest) dalam berbagai macam lingkungan yang

berbeda.

2.2 Konsep Genetic Algorithms2

Dikarenakan algoritma genetika diilhami oleh ilmu genetika maka istilah-istilah yang

dipergunakan dalam algoritma genetika banyak diadaptasi dari ilmu tersebut. Pada algoritma

ini, teknik pencarian dilakukan sekaligus atas sejumlah solusi yang dikenal dengan istilah

populasi (population) atau genome. Individu yang terdapat dalam satu populasi disebut

dengan istilah string (string) atau genotype atau kromosom (chromosome). Kromosom terdiri

atas gen (genes), blok dari DNA, /karakter/dekoder yang tersusun secara linier. Kromosom

ini merupakan suatu solusi yang masih berbentuk simbol. Posisi yang ditempati gen dalam

kromosom disebut loci (locus). Nilai yang terdapat dalam gen disebut alle (alleles). Tipe data

1 Sumber : Dr. Ir. Setiawan Kuswara, M.T., Paradigma Sistem Cerdas (Jaringan Syaraf Tiruan, Logika Fazi dan Algoritma Genetika) hal 95

2 Sumber : Dr. Ir. Setiawan Kuswara, M.T., Paradigma Sistem Cerdas (Jaringan Syaraf Tiruan, Logika Fazi dan Algoritma Genetika) hal 95

Page 54: SoalCE

alle dapat berbentuk angka biner, floating point, ataupun integer, tergantung dari bentuk

representasi genetik yang digunakan. Sedangkan, alle-alle yang bergabung memberi arti/nilai

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

Gambar 2.1

Bentuk individu

genetik

Keterangan :

i = 1,2,3,……m

. = gen/karakter

. = alle (nilai : biner, floating point, integer)

i = loci (posisi)

m = panjang kromosom

Algoritma genetika dalam melakukan optimasi, berangkat dari himpunan populasi awal

yang dihasilkan secara acak. Himpunan populasi itulah yang dianggap sebagai jawaban solusi

pertama yang akan diuji keoptimalannya. Sedangkan populasi berikutnya merupakan hasil

evolusi kromosom-kromosom melalui iterasi yang disebut dengan istlah generasi

(generation).

Cara mendapatkan solusi optimal adalah menghitung nilai fitness dari setiap individu.

Fungsi untuk menghitung nilai fitness disebut fungsi fitness yang dapat berupa fungsi

matematika atau fungsi lainnya dengan melihat kriteria tertentu dari permasalahan yang

i . . . . m

Page 55: SoalCE

hendak diselesaikan. Hal yang terpenting adalah fungsi fitness yang digunakan harus sesuai

dengan permasalahan yang hendak diselesaikan karena fungsi fitness itulah yang menentukan

bentuk individu yang dihasilkan. Pada setiap generasi, kromosom akan melalui proses

evaluasi dengan menggunakan fungsi fitness. Dengan fungsi fitness yang menghasilkan nilai

fitness dari suatu kromosom maka dapat dibedakan antara kromosom yang berkualitas baik

dengan kromosom yang berkualitas buruk dalam populasi tersebut. Kromosom berkualitas

baik mempunyai kemungkinan yang lebih besar untuk terpilih sebagai induk. Jika algoritma

genetik tersebut belum mencapai kondisi untuk berhenti maka akan dibentuk generasi

berikutnya yang dikenal dengan istilah anak (offspring), terbentuk dari gabungan 2

kromosom generasi sekarang yang bertindak sebagai induk (parent) dengan menggunakan

operator penyilangan (crossover).

3Selain operator penyilangan, suatu kromosom dapat juga dimodifikasi dengan

menggunakan operator mutasi. Populasi generasi yang baru dibentuk dengan cara menyeleksi

nilai fitness dari kromsom induk (parent) dan nilai fitness dari kromosom anak (offspring),

serta menolak kromosom-kromosom yang lainnya sehingga ukuran populasi (jumlah

kromosom dalam satu populasi) konstan. Setelah melalui beberapa generasi (kondisi berhenti

dari algoritma genetik), maka algoritma ini akan konvergen (jumlah generasi yang diminta

telah tercapai) ke kromosom terbaik.

2.3.1 Keunggulan dan Keterbatasan Algoritma Genetika

2.3.1.1 Keunggulan Algoritma Genetika4

Beberapa keunggulan yang dimiliki oleh algoritma genetika adalah sebagai berikut :

3 Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 2804 Sumber : http://ikc.yarsi.ac.id/umum/anto/anto-softcomputing.pdf, hal 6 & Dr. Mauridhi Hery

Purnomo, Dasar Algoritma Cerdas hal 157

Page 56: SoalCE

1. GA memiliki kemampuan untuk mencari nilai optimal secara paralel, melalui proses

kerjasama antara berbagai unit yang disebut kromosom individu.

2. GA tidak memerlukan perhitungan matematika yang rumit seperti differensial yang

diperlukan oleh algoritma optimisasi yang lain.

3. Mampu untuk mencapai penyelesaian global (global optimum).

4. Dapat digunakan untuk problema dengan jumlah parameter yang banyak.

5. Tanpa memerlukan informasi derivatip.

6. Untuk fungsi kontinyu maupun diskrit.

7. Data yang digunakan bisa berupa hasil dari eksperimen, fungsi analitik maupun hasil

dari perhitungan numerik.

2.3.1.2 Keterbatasan Algoritma Genetika5

Namun demikian algoritma genetika juga memiliki kelemahan dan keterbatasan

sebagai berikut :

1. Tidak memiliki rumusan yang pasti, bagaimana mentransfer parameter permasalahan

ke dalam kode genetik. Dengan kata lain, hal ini memerlukan pengalaman dan

wawasan dari desainer.

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

sesuai dengan yang diharapkan.

5 Sumber : http://ikc.yarsi.ac.id/umum/anto/anto-softcomputing.pdf, hal 6

Page 57: SoalCE

3. Penentuan rumus menghitung fitness merupakan hal yang sangat penting dan

mempengaruhi proses evolusi pada GA. Sayangnya tidak ada prosedur yang baku

bagaimana menentukan rumus tersebut. Dalam hal ini pengalaman dari desainer

memegang peranan penting

2.3.2 Perbedaan GA & Algoritma Pencarian Yang Lain6

Algoritma genetika berbeda dari prosedur pengoptimalisasian dan pencarian yang

biasa dalam beberapa pokok. Goldberg telah menjabarkan sebagai berikut:

1. Algoritma genetika bekerja menggunakan kumpulan solusi yang berkode, bukan

menggunakan solusi itu sendiri.

2. Algoritma genetika mencari dari sebuah populasi solusi, bukan dari satu solusi.

3. Algoritma genetika menggunakan informasi hasil (fungsi kecocokan), bukan

fiksi/jiplakan atau pengetahuan pendukung lainnya.

4. Algoritma genetika menggunakan peraturan kemungkinan perubahan, bukan peraturan

ketetapan.

2.3 Komponen Utama Genetic Algorithms7

Ada 6 komponen utama dalam algoritma genetika, yaitu :

2.3.1 Teknik Penyandian (Encoding)

6 Sumber : Agustina, Implementasi Algoritma Genetika Untuk Optimasi Masalah Penjadwalan Mesin, STIKI (2002), hal 9

7 Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 280

Page 58: SoalCE

Teknik penyandian disini meliputi penyandian gen dari kromosom. Gen merupakan

bagian dari kromosom. Satu gen biasanya akan mewakili satu variabel. Gen-gen/variabel-

variabel tersebut dapat direpresentasikan dalam bentuk bilangan biner, pohon, bilangan real

(floating point), integer, abjad, daftar aturan, elemen permutasi, elemen program, atau

representasi lainnya yang dapat diimplementasikan untuk operator genetika.

Pengkodean string biner merupakan pendekatan paling klasik dan sederhana yang

digunakan dalam proses algoritma genetika. Beberapa problema optimasi mengalami

kesulitan untuk menerapkan cara pengkodean string biner ini, misalnya permasalahan graph

coloring. Oleh karenanya digunakanlah teknik pengkodean yang lain yaitu pengkodean

bilangan real (floating point), pengkodean order-based (untuk graph coloring), embedded

lists (untuk problema penjadwalan (scheduling)), variable element list (untuk semiconductor

layout).

Pemilihan pengkodean harus dirancang sesuai dengan problema yang akan

diselesaikan sehingga sebuah kode benar-benar merupakan representasi yang tepat untuk

suatu persoalan. Berikut beberapa metode pengkodean pada algoritma genetika :8

a. Pengkodean biner (binary encoding)

Pada metode ini kromosom dinyatakan sebagai sebuah string bernilai biner.

0 1 0 1 0 0 1 0 1 1 1

Gen-1 Gen-2 Gen-3

8 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 162

Page 59: SoalCE

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

Page 60: SoalCE

Contoh pengkodean nilai.

Kromosom A 1.2324 5.3243 0.4556 2.3293 2.4545

Kromosom B ABDJEIFJDHDIERJFDLDFLFEGT

Kromosom C (back), (back), (right), (foward), (left)

d. Pengkodean cabang (tree encoding)

Pada metoda ini setiap kromosom diumpamakan sebagai sebuah cabang dari beberapa

objek seperti fungsi dan perintah dalam bahasa pemrograman.

Tabel 2.3

Contoh pengkodean cabang.

Kromosom B

(do_until step wall)

Demikian juga, kromosom dapat direpresentasikan dengan menggunakan :

o Bilangan real (floating point), alle dari setiap gen bertipe floating point : 0.576,

0.065, 1.000, 65.65, -67.98, 562.88, dst.

o Representasi integer, alle dari setiap gen bertipe integer : 42513

do until

wallstep

Page 61: SoalCE

o Daftar aturan : R1, R2, R3, dst.

o Struktur lainnya.

2.3.2 Prosedur Inisialisasi

Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator

genetik yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus

dilakukan inisialisasi terhadap kromosom yang terdapat pada populasi tersebut. Inisialisasi

kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi

dan kendala permasalahan yang ada.

2.3.3 Fungsi Evaluasi

Ada 2 hal yang harus dilakukan dalam melakukan evaluasi kromosom, yaitu evaluasi

fungsi objektif (fungsi tujuan) dan konversi fungsi objektif ke dalam fungsi fitness. Secara

umum, fungsi fitness diturunkan dari fungsi objektif dengan nilai yang tidak negatif. Apabila

ternyata fungsi objektif memiliki nilai negatif, maka perlu ditambahkan suatu konstanta C

agar nilai fitness yang terbentuk menjadi tidak negatif.

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

masing permasalahan yang akan diselesaikan. Dengan menggunakan kromosom tertentu,

fungsi objektif atau fungsi evaluasi akan mengevaluasi status masing-masing kromosom.

Setiap gen xi (i = 1,2,...N) dipergunakan untuk menghitung fk (x) (k = 1,2,...POPSIZE).

Pada permulaan optimasi, biasanya nilai kebugaran masing-masing individu masih

mempunyai rentang yang lebar. Seiring dengan bertambahnya generasi, beberapa kromosom

9 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 168

Page 62: SoalCE

mendominasi populasi dan mengakibatkan rentang nilai kebugaran semakin kecil. Hal ini

dapat mengakibatkan konvergensi dini (premature convergence).

Permasalahan klasik dalam GA adalah beberapa kromosom dengan nilai kebugaran

yang tinggi (tetapi bukan nilai optimum) mendominasi populasi dan mengakibatkan GA

konvergen pada local optimum. Ketika mencapai konvergen, kemampuan GA untuk mencari

solusi yang lebih baik menghilang. Pindah silang antara kromosom induk yang hampir

identik menghasilkan keturunan (offspring) yang identik. Dalam hal ini hanya operasi mutasi

yang mampu menghasilkan kromosom yang relatif baru dan merupakan cara untuk

menghindari kromosom tertentu mendominasi populasi.

2.3.4 Seleksi

Dasar proses seleksi adalah teori evolusi Darwin tentang proses seleksi individu, yang

berprinsip bahwa, individu terbaik akan tetap hidup dan menghasilkan keturunan.10 Seleksi

ini bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota

populasi yang paling fit. Ada beberapa metode seleksi dari induk, antara lain :

a. Rank-based fitness assigment

Pada rank-based fitness, populasi diurutkan menurut nilai objektifnya. Nilai fitness

dari tiap-tiap individu hanya tergantung pada posisi individu tersebut dalam urutan, dan

tidak dipengaruhi oleh nilai objektifnya.

b. Roulette wheel selection

Metode seleksi roda roullete ini merupakan metode yang paling sederhana, dan

sering juga dikenal dengan nama stochastic sampling with replacement. Pada metode

ini, individu-individu dipetakan dalam suatu segmen garis secara berurutan sedemikian

10 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 168

Page 63: SoalCE

hingga tiap-tiap segmen individu memiliki ukuran yang sama dengan ukuran fitness-

nya. Sebuah bilangan random dibangkitkan dan individu yang memilki segmen dalam

kawasan bilangan random tersebut akan terseleksi. Proses ini diulang hingga diperoleh

sejumlah individu yang diharapkan.

11Adapun algoritma dari roulette-wheel adalah sebagai berikut :

1. Menjumlahkan nilai kebugaran dari seluruh anggota populasi.

2. Membangkitkan nilai k, nilai random antara 0 dan total kebugarannya.

3. Mendapatkan anggota populasi pertama yang bugar, dijumlahkan dengan

kebugaran dari kumpulan anggota populasi yang lebih besar atau sama dengan k.

12Langkah-langkah metode seleksi roulette-wheel adalah sebagai berikut :

1. Hitunglah nilai kebugaran (fitness) eval (vk) untuk setiap individu/kromosom vk,

eval (vk) = f (x) , k = 1,2,...POPSIZE

2. Hitunglah kebugaran total (seluruh individu) F dari populasi,

F =

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

fitness masing-masing individu dengan total nilai fitness populasi,

pk = , k = 1,2,...POPSIZE

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

qk =

11 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 16912 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 172

Page 64: SoalCE

Contoh :

Dianggap terdapat sebuah populasi dengan 6 kromosom (string) dengan

sekumpulan nilai fitness yang berjumlah total 50 seperti yang ditunjukkan pada

tabel 2.4. Disertakan struktur Roulette Wheel yang ditunjukkan pada gambar 2.3.

Tabel 2.4 Contoh masalah kromosom beserta nilai fitness

No String (Chromosome)

Fitness % of Total Running Total

1 01110 8 16 8

2 11000 15 30 23

3 00100 2 4 25

4 10010 5 10 30

5 01100 12 24 42

6 00011 8 16 50

Kemudian kita bangkitkan nomer secara acak dari interval 0 dan 50. Untuk setiap

nomer, teknik seleksi induk Roulette Wheel memilih kromosom pertama dari

Running Total pada tabel 2.4, apakah lebih besar atau sama dengan Random

Number pada tabel 2.5.

Tabel 2.5 Tabel pengiring

Random Number 26 2 49 15 40 36 9

Chromosome Chosen 4 1 6 2 5 5 2

Page 65: SoalCE

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

Page 66: SoalCE

tersebut terdistribusi. Lingkungan tersebut juga dapat dipandang sebagai kelompok

pasangan-pasangan yang potensial.

e. Truncation selection

Pada metode-metode yang telah dijelaskan terdahulu, seleksi dilakukan secara

alami. Pada seleksi dengan pemotongan ini, lebih berkesan sebagai seleksi buatan.

Seleksi ini biasanya digunakan oleh populasi yang jumlahnya sangat besar. Pada

metode ini, individu-individu diurutkan berdasarkan nilai fitness-nya. Hanya individu-

individu yang terbaik saja yang akan diseleksi sebagai induk. Parameter yang

digunakan dalam metode ini adalah suatu nilai ambang trunc yang mengindikasikan

ukuran populasi yang akan diseleksi sebagai induk yang berkisar antara 50%-10%.

Individu-individu yang ada dibawah nilai ambang ini tidak akan menghasilkan

keturunan.

f. Tournament selection

Pada metode seleksi dengan turnamen ini, akan ditetapkan suatu nilai tour untuk

individu-individu yang dipilih secara random dari suatu populasi. Idividu-individu yang

terbaik dalam kelompok ini akan diseleksi sebagai induk. Parameter yang digunakan

pada metode ini adalah ukuran tour yang bernilai antara 2 sampai N (jumlah individu

dalam suatu populasi).

2.3.5 Operator Genetika

13Ada dua macam operator yang memegang peranan penting dalam proses GA, yaitu

pindah silang (crossover) dan mutasi. Jenis dan implementasi dari operator bergantung pada

jenis pengkodean yang digunakan dan juga kasusnya.

13 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 174

Page 67: SoalCE

2.3.5.1 Pindah Silang (Crossover)

Fungsi dari pindah silang adalah menghasilkan kromosom anak dari kombinasi

materi-materi gen dua kromosom induk. Cara kerjanya dengan membangkitkan sebuah nilai

random rk dimana k = 1,2,…,POPSIZE. Probabilitas pindah silang (Pc) ditentukan dan

digunakan untuk mengendalikan frekuensi operator pindah silang. Apabila nilai rk < Pc maka

kromosom ke-k terpilih untuk mengalami pindah silang.

Crossover satu titik (One Point Crossover)

Pada penyilangan satu titik, posisi penyilangan k (k = 1,2,...,N-1), dengan N=panjang

kromosom, di seleksi secara random. Variabel-variabel di tukar antar kromosom pada

titik tersebut untuk menghasilkan anak. Misalkan ada 2 kromosom dengan panjang 12

:

Induk 1 : 0 1 1 1 0 | 0 1 0 1 1 1 0

Induk 2 : 1 1 0 1 0 | 0 0 0 1 1 0 1

Posisi penyilangan yang terpilih : misalkan 5

Setelah penyilangan, diperoleh kromosom-kromosom baru :

Anak 1 : 0 1 1 1 0 | 0 0 0 1 1 0 1

Anak 2 : 1 1 0 1 0 | 0 1 0 1 1 1 0

Crossover banyak titik

Pada penyilangan banyak titik, m posisi penyilangan k i (k = 1,2,...,N-1, i = 1,2,...,m)

dengan N=panjang kromosom diseleksi secara random dan tidak diperbolehkan ada

posisi yang sama, serta diurutkan naik. Variabel-variabel ditukar antar kromosom

Page 68: SoalCE

pada titik tersebut untuk menghasilkan anak. Misalkan ada 2 kromosom dengan

panjang 12 :

Induk 1 : 0 1 1 1 0 0 1 0 1 1 1 0

Induk 2 : 1 1 0 1 0 0 0 0 1 1 0 1

Posisi penyilangan yang terpilih :

Misalkan (m = 3) : 2 6 10

Setelah penyilangan, diperoleh kromosom-kromosom baru :

Anak 1 : 0 1 | 0 1 0 0 | 1 0 1 1 | 0 1

Anak 2 : 1 1 | 1 1 0 0 | 0 0 1 1 | 1 0

Crossover seragam

Pada penyilangan seragam, setiap lokasi memiliki potensi sebagai tempat

penyilangan. Sebuah mask penyilangan dibuat sepanjang panjang kromosom secara

random yang menunjukkan bit-bit dalam mask yang mana induk akan men-supply

anak dengan bit-bit yang ada. Induk mana yang akan menyumbangkan bit ke anak

dipilih secara random dengan probabilitas yang sama. Disini anak 1 akan dihasilkan

dari induk 1 jika bit mask bernilai 1, atau sebaliknya, anak 1 akan dihasilkan dari

induk 2 jika bit mask bernilai 0. Sedangkan anak 2 dihasilkan dari kebalikan mask.

Misalkan ada 2 kromosom dengan panjang 12 :

Induk 1 : 0 1 1 1 0 0 1 0 1 1 1 0

Induk 2 : 1 1 0 1 0 0 0 0 1 1 0 1

Mask bit :

Page 69: SoalCE

Sample 1 : 1 0 0 1 1 1 0 0 1 1 0 1

Sample 2 : 0 1 1 0 0 0 1 1 0 0 1 0

Setelah penyilangan, diperoleh kromosom-kromosom baru :

Anak 1 : 0 1 0 1 0 0 0 0 1 1 0 0

Anak 2 : 1 1 1 1 0 0 1 0 1 1 1 1

Crossover dengan permutasi.

Pada penyilangan dengan permutasi ini, kromosom-kromosom anak diperoleh dengan

cara memilih sub-barisan suatu tour dari satu induk dengan tetap menjaga urutan dan

posisi sejumlah kota yang mungkin terhadap induk yang lainnya.

Misal :

Induk 1 : (1 2 3 | 4 5 6 7 | 8 9)

Induk 2 : (4 5 3 | 1 8 7 6 | 9 2)

Anak 1 : (x x x | 1 8 7 6 | x x)

Anak 2 : (x x x | 4 5 6 7 | x x)

Dari sini kita memperoleh pemetaan :

1-4, 8-5, 7-6, 6-7.

Kemudian kita copy sisa gen di induk ke anak 1 dengan menggunakan pemetaan yang

sudah ada.

Anak 1 : (1-4 2 3 | 1 8 7 6 | 8-5 9)

Anak 1 : (4 2 3 | 1 8 7 6 | 5 9)

Page 70: SoalCE

Lakukan hal yang sama untuk anak – 2 :

Anak 2 : (4-1 5-8 3 | 4 5 6 7 | 9 2)

Anak 2 : (1 8 3 | 4 5 6 7 | 9 2)

2.3.5.2 Mutasi

Operasi mutasi mampu menghasilkan kromosom yang relatif baru dan merupakan

cara untuk menghindari kromosom tertentu mendominasi populasi. 14Operator mutasi

digunakan untuk memodifikasi satu atau lebih nilai gen dalam satu individu. Cara kerjanya

dengan membangkitkan sebuah nilai random rk dimana k = 1,2,...,NVAR (panjang

kromosom). Probabilitas mutasi ditentukan dan digunakan untuk mengendalikan frekuensi

operator mutasi. Apabila nilai random rk < Pm maka gen ke-k kromosom tersebut terpilih

untuk mengalami mutasi. Mutasi dengan mengganti gen 0 dengan 1 atau sebaliknya gen 1

dengan 0. Biasanya disebut proses flip yaitu dengan membalik nilai 0 ke 1 atau 1 ke 0.

Mutasi bernilai real

Pada mutasi bilangan real, ukuran langkah mutasi biasanya sangat sulit ditentukan.

Ukuran yang kecil biasanya sering mengalami kesuksesan, namun adakalanya ukuran

yang lebih besar akan berjalan lebih cepat. Operator mutasi untuk bilangan real ini

dapat ditetapkan sebagai berikut :

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

probabilitas yang sama).

Range = 0.5 * domain variabel (interval pencarian).

14 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 175

Page 71: SoalCE

Delta = ; ai = 1 dengan probabilitas 1/m, selain itu a i = 0,

dengan m = 20.

Mutasi bernilai biner

Cara sederhana untuk mendapatkan mutasi biner adalah dengan mengganti satu atau

beberapa nilai gen dari beberapa kromosom. Langkah-langkah mutasi adalah :

Hitung jumlah gen pada populasi (panjang kromosom dikalikan dengan

ukuran populasi).

Pilih secara acak gen yang akan dimutasi.

Tentukan kromosom dari gen yang terpilih untuk dimutasi.

Ganti nilai gen (0 ke 1, atau 1 ke 0) dari kromosom yang akan dimutasi

tersebut.

Misal :

Induk : (1 1 0 0 1 0)

Anak : (1 1 1 0 1 0)

Mutasi bernilai integer

Proses mutasi terjadi apabila nilai rk < Pm memenuhi maka gen ke-k digantikan oleh

suatu nilai random yang dibangkitkan pada range tertentu sesuai dengan pembentukan

populasi awal.

Misal :

Induk : (5 1 7 8 9 2)

Anak : (5 1 4 8 9 2)

Untuk kromosom induk seperti permisalan diatas, yaitu 5-1-7-8-9-2, proses mutasi

adalah dibangitkan nilai random rk, [k=1...NVAR]. Misalkan pada saat k = 3, nilai r3 <

Page 72: SoalCE

Pm, maka gen ke-3 yang benilai 7 akan bermutasi dengan gen hasil random pada

range [1...x], dan diperoleh nilai 4. Maka bentuk kromosom barunya adalah 5-1-4-8-

9-2, x adalah nilai sembarang integer.

2.3.6 Penentuan Parameter

Yang disebut dengan parameter disini adalah parameter kontrol algoritma genetika

yang digunakan untuk melihat kompleksitas dari algoritma genetika. Parameter yang

digunakan tersebut adalah :15

a. Jumlah generasi (MAXGEN)

Merupakan jumlah perulangan (iterasi) dilakukannya rekomendasi dan seleksi.

Jumlah generasi ini mempengaruhi kestabilan output dan lama iterasi (waktu

proses AG). Jumlah generasi yang besar dapat mengarahkan ke arah solusi yang

optimal, namun akan membutuhkan waktu yang lama. Sedangkan jika jumlah

generasinya terlalu sedikit dapat mengakibatkan solusi akan terjebak pada lokal

optimum.

b. Ukuran populasi (POPSIZE)

Ukuran populasi mempengaruhi kinerja dan efektifitas dari AG. Jika ukuran

populasi kecil maka populasi tidak meyediakan cukup materi untuk mencakup

ruang permasalahan, sehingga pada umumnya kinerja AG menjadi buruk. Dalam

hal inilah dibutuhkan ruang yang lebih besar untuk merepresentasikan

keseluruhan ruang permasalahan. Selain itu penggunaan populasi yang besar

dapat mencegah terjadinya konvergensi pada wilayah lokal. Zbigniew

15 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 164

Page 73: SoalCE

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.

Page 74: SoalCE

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

Page 75: SoalCE

16Algoritma genetika adalah mekanisme kerja numerik proses evolusi alami. Gambar

2.4 adalah diagram kotak mekanisme kerja proses evolusi alami dan gambar 2.5 adalah

metode algoritma genetika.

Gambar 2.4 Evolusi alami

Gambar 2.5. Flowchart pengembangan AG (evolusi numerik)

( Sumber : Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya) hal 300)

Garis besar urutan proses algoritma genetika biner adalah sebagai berikut :17

16 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 15817 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 160

Page 76: SoalCE

Gambar 2.6. Struktur algoritma genetika biner

18Mekanisme secara umum dari AG digambarkan oleh Goldberg. Prosedur AG dimodifikasi

menurut versi Grenfenstette dan Baker’s. Umumnya, inisialisasi diasumsikan dilakukan secara

acak. Pengkombinasian ulang (recombination) biasanya melibatkan crossover dan mutation

untuk menghasilkan offspring. Prosedur yang biasanya dilaksanakan adalah sebagai berikut :

1. Menentukan bentuk representasi genetik.

2. Menentukan suatu cara untuk menciptakan populasi awal.

18 Sumber : Dr. Mauridhi Hery Purnomo, Dasar Algoritma Cerdas hal 166 – 167

Page 77: SoalCE

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.

Page 78: SoalCE

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

Page 79: SoalCE

Gambar 2.7 Flowchart dari algoritma genetika.

(Sumber : Dr. Ir. Kuswara Setiawan, Paradigma Sistem Cerdas hal 100)

Page 80: SoalCE

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.

Page 81: SoalCE

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.

Page 82: SoalCE

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

Page 83: SoalCE

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.

Page 84: SoalCE

Karena meniru cara kerja sel saraf biologis, maka kita dapat melihat kemiripan ANN

dengan struktur biologisnya dalam tabel berikut:

Biologis Buatan

- Soma- Dendrite- Axon- Synapse

- Node- Input- Output- Weight

Tabel 2. Analogi struktur neuron buatan dan biologis.

Tetapi ada dua perbedaan mencolok yang dapat kita amati di sini, yaitu perbedaan kecepatan

dan jumlah neuron. Neuron biologis memiliki kecepatan yang rendah tetapi jumlahnya sangat

banyak (1011), sedangkan neuron buatan memiliki kecepatan yang tinggi tetapi jumlahnya

masih terbatas (sekitar ribuan saja).

Artificial Neural Network memiliki karakteristik yang diturunkan jaringan saraf

biologis. Berikut adalah ciri-ciri elemen pemrosesan dari ANN yang diwarisi dari sifat saraf

biologis, yaitu:

Elemen pemrosesan menerima banyak sinyal

Sinyal mungkin dapat dimodifikasi oleh bobot pada synapse penerima

Elemen pemrosesan menjumlahkan input bobot

Dalam keadaan yang tepat (input yang cukup), saraf mentransmisikan sebuah output

tunggal

Output dari saraf khusus mungkin menuju ke banyak saraf lainnya (cabang-cabang

axons)

Sedangkan berikut ini adalah ciri-ciri lain dari Artificial Neural Network yang diberikan oleh

saraf biologis:

Page 85: SoalCE

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:

Page 86: SoalCE

Gambar 3. Model kerja Biological Neural Network

Dari model kerja tersebut, kita dapat membuat model Artificial Neural Network yang

beranalogi dengan model itu sebagaimana dijabarkan pada bagian sebelumnya sebagai

berikut:

Gambar 4. Analogi model BNN yang disebut juga Artificial Neural Network

Sebuah network terdiri dari elemen pemrosesan yang terorganisasi dalam berbagai cara untuk

membentuk struktur network:

Sinyal Elektris

InputDendrites

Soma

Axon

Hasil pengolahan input

Sinyal Elektris Output

Inputs

(Dendrite)

Xi

Xj

Hidden Elements

(Node)

Weights

(Synapse)

Weights

(Synapse)

Outputs

(Axon)

Page 87: SoalCE

Elemen Pemrosesan. Sebuah ANN terdiri dari neuron buatan yang merupakan elemen

pemrosesan. Setiap neuron menerima input, memroses input, dan menghantarkan sebuah

input tunggal. Proses ini dapat dilihat pada gambar 5. Input dapat berupa data mentah atau

output dari elemen pemrosesan lainnya.

Jaringan (Network). Setiap ANN terdiri dari koleksi neuron yang dikelompokkan dalam

layer-layer. Stuktur yang umum ditunjukkan dalam gambar 6. Perhatikan terdapat tiga layer:

input, intermediate (hidden layer), dan output. Beberapa hidden layer dapat ditempatkan

diantara layer input dan layer output.

Struktur Jaringan. Mirip dengan jaringan biologis, ANN dapat diorganisasikan dalam

beberapa cara berbeda (topologi). Artinya, neuron dapat dihubungkan dalam beberapa cara

yang berbeda. Oleh karena itu, ANN muncul dalam berbagai konfigurasi. Dalam pemrosesan

informasi, banyak elemen pemrosesan melakukan komputasi mereka pada saat yang sama.

Pemrosesan paralel ini menyerupai cara kerja otak, dan berbeda dari pemrosesan serial

komputasi konvensional.

Gambar 5. Pemrosesan informasi dalam neuron buatan.

Sum

Funct.

Transfer

Funct.Processin

g Element

X1

X2

X3

X4

W

1W

2

W

3

W

4

Output (Y)

Inputs Weights

Page 88: SoalCE

Gambar 6. Neural Network dengan satu Hidden Layer.

Sedangkan secara matematis dapat kita modelkan seperti ini:

Gambar 7. Model matematis Artificial Neural Network sederhana

2.1.5 Pemrosesan Informasi Dalam Jaringan

Dari model-model di atas, dapat kita jelaskan karakteristik yang ada yaitu meliputi:

Weighted Sum

PE

PE

PE

PE

PE

PE

PE

PE

Transfer Function

Wj1

Wj2Wj3

X1

X2X3

Output Layer

Hidden Layer

Input Layer

PE

= Processing Element

f (Yj)

Wj4

X4

X3

X2

X1

Y

Y_in = w1x1 + w2x2 + w3x3

Summation Function

Y = f(Y_in)

Transformation Function

W

1

W

2

W

3

Input

Output

Page 89: SoalCE

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:

Page 90: SoalCE

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:

Page 91: SoalCE

Σ 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

Page 92: SoalCE

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.

Page 93: SoalCE

Gambar 8. Hopfield Network

Ketika diberikan pola input, network dapat memusatkan pada kondisi stabil yang

terdekat dengan pola tersebut. Jadi network ini dapat digunakan untuk autoasosiasi di

mana pola yang terganggu atau hanya sebagian dapat distabilkan pada kondisi

terdekat yang berhubungan dengan salah satu pola asli yang disimpan.

Jumlah unit network sama dengan jumlah nilai yang terdapat pada setiap pola yang

disimpan. Unit memperbaharui kondisi mereka secara asinkron dengan menerima

input dari unit lain. Sekali ditentukan, bobot pada network Hopfield tidak dapat dilatih

lagi.

Bidirectional Associative Memories (BAM)

BAM dapat menghubungkan vektor input ke vektor lainnya yang berbeda dan

sanggup menggeneralisasi input-input serupa. Pada gambar berikut, BAM memiliki 2

layer yang arsitekturnya berupa arus balik (recurrent) di mana matriks bobot arus

balik (dari output menuju input) adalah transpose matriks bobot arus maju (input

menuju output).

Input

Output

Page 94: SoalCE

Gambar 9. Bidirectional Associative Memories (BAM)

Ukuran input dan output layer ditentukan oleh dimensi pasangan vektor yang

terasosiasi. Vektor input P diterapkan pada WT untuk menghasilkan vektor input baru.

Proses ini diulang sampai network mencapai titik stabil.

2.1.6.3 Optimasi

Network Hopfield

Selain sebagai autoasosiasi, network Hopfield dapat diaplikasikan untuk optimisasi

dan batasan masalah kepuasan. Intinya adalah meng-encode setiap hipotesa sebagai

sebuah unit dan meng-encode batasan di antara hipotesa sebagai bobot. Bobot positif

meng-encode hubungan yang saling mendukung dan bobot negatif meng-encode

hubungan yang tidak sesuai. Seperti network Hopfield diatur menjadi suatu kondisi

stabil, kondisi tersebut menunjukkan penugasan kebenaran dan kesalahan pada

hipotesa yang bermacam-macam di bawah batasan. Dalam neural network arus balik

seperti network hopfield, stabilitas adalah masalah utama. Cohen dan Grossberg

(1983) menunjukkan bahwa network arus balik adalah stabil jika Wij=Wji untuk i ≠ j

dan Wij = 0 untuk setiap i. Ini dapat dibuktikan mengunakan fungsi Liapunov sebagai

fungsi energi network:

……

Output Layer

……

Input Layer

Backward Connections

Forward Connections

WWT

Page 95: SoalCE

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

Page 96: SoalCE

layer. Dalam membangun suatu network Kohonen adalah penting untuk secara benar

memberi nilai awal pada vektor bobot node-node tersebut. Diasumsikan bahwa vektor

bobot dan vektor input dinormalkan pada suatu konstanta (biasanya panjang unit).

Setiap node menghitung dengan mengambil dot product vektor bobot dan vektor

input. Hasilnya merefleksikan persamaan mereka (atau jarak). Disimbolkan:

Oj = X . Wj

Oj = tingkat aktivasi unit j

X = vektor input

Wj = vektor bobot unit j

Jika vektor-vektor tersebut diganti dengan matriks, maka diperoleh

O = XW

Dalam network Kohonen dikenal suatu mekanisme belajar kompetitif yaitu “winner

take all”. Maksudnya, node dengan tingkat aktivasi terbesar dinyatakan sebagai

pemenang kompetisi. Node ini akan menjadi node satu-satunya yang membuat sinyal

output, dan node-node lainnya ditekan hingga tingkat aktivasinya nol. Lebih jauh lagi,

node ini dan tetangganya adalah satu-satunya node-node yang diijinkan untuk belajar

pola input yang sekarang. Node pemenang dan tetangga-tetangganya akan belajar

dengan menyesuaikan vektor-vektor bobot mereka menurut aturan berikut:

Wbaru = Wlama + η (X-Wlama)

X = vektor input

η = learning rate (laju pembelajaran)

Page 97: SoalCE

2.1.7 Pembelajaran ANN

Sebuah ANN belajar dari pengalamannya. Proses pembelajaran biasanya melibatkan 3

kegiatan:

Menghitung output

Membandingkan output dengan target yang diinginkan

Menyesuaikan bobot dan mengulangi proses.

Proses pembelajaran dimulai dengan menetapkan bobot dengan beberapa aturan atau secara

acak. Perbedaan di antara output yang sebenarnya (Y atau YT)dan output yang diinginkan (Z)

disebut sebuah delta. Tujuannya adalah meminimalkan delta (kalau bisa, sampai nol).

Pengurangan delta dilakukan dengan mengubah bobot. Kuncinya adalah mengubah bobot

dalam arah yang benar, sehingga membuat perubahan yang dapat mengurangi delta.

Gambar 10. Diagram belajar ANN.

Start

Menghitung output

Sesuaikan bobot Apakah output

yang diinginkan sudah tercapai ?

Stop

Ya

Tidak

Page 98: SoalCE

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

Page 99: SoalCE

Temporal Difference Learning

ART Network

Untuk memecahkan permasalahan yang diangkat penulis, maka yang akan dibahas hanyalah

Back Propagation saja.

Gambar 11. Network Back Propagation

Tidak lama setelah ditemukan oleh Paul Werbos pada tahun 1974, Back Propagation

berhasil menjadi salah satu algoritma ANN yang sangat populer dan sering digunakan. Berkat

pembelajarannya yang memerlukan pengawasan dan kemampuannya untuk melacak

kesalahan, BP membutuhkan waktu yang relatif lebih singkat untuk mencapai solusi. Dengan

memanfaatkan struktur perceptron multi layer, BP terdiri dari satu layer input, satu atau lebih

layer tersembunyi (hidden), dan satu layer output (lihat gambar 11).

Fungsi aktivasi pada sebuah network Back Propagation merupakan karakteristik yang

penting, yaitu untuk menentukan batas nilai ambang batas (threshold) suatu ANN atau untuk

menentukan batas suatu neuron dapat dikatakan aktif (fire) atau tidak aktif (not fire). Ada dua

jenis fungsi aktivasi yang sering digunakan yaitu:

Σ

…….

…….

…….

Input

Actual Output

Output Layer

Input Layer

Hidden Layer(s)

Forward Information Flow

Forward Information Flow

Backward Error Propagation

Target Outpu

t

+

Page 100: SoalCE

1. Fungsi Aktivasi Binary Sigmoid

Fungsi ini juga disebut Logistic Sigmoid yang memiliki nilai output 0 dan 1. Neuron

dikatakan aktif bila bernilai 1 dan tidak aktif jika bernilai 0, didefinisikan dengan

fungsi berikut:

Dan turunan fungsi tersebut sebagai berikut:

f ' (x) = f(x) [1 - f(x)]

grafik dari fungsi binary Sigmoid ditunjukkan dalam gambar berikut:

Gambar 12. Fungsi aktivasi Binary Sigmoid

2. Fungsi Aktivasi Bipolar Sigmoid

Fungsi ini memiliki nilai output -1 dan 1, dikatakan aktif apabila bernilai 1 dan tidak

aktif jika bernilai -1, dan didefinisikan dengan persamaan berikut:

Dan turunan fungsi tersebut sebagai berikut:

g'(x) = ½ [1 + g(x)] [1 - g(x)]

Page 101: SoalCE

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

Page 102: SoalCE

layer). Proses ini juga digunakan untuk melakukan penyesuaian atau updating nilai-nilai

bobot antara layer output dan layer tersembunyi. Dengan cara yang sama, faktor δj (j =

1,2,..,p) dihitung untuk masing-masing unit pada layer tersembunyi dan tidak perlu

dipropagasikan kesalahan ke layer input, tetapi δj digunakan untuk melakukan updating nilai-

nilai bobot antara layer tersembunyi dan layer output.

Setelah semua faktor δ ditentukan, nilai-nilai bobot pada semua layer diatur secara

bersamaan. Pengaturan nilai bobot W dari unit layer tersembunyi ke unit output didasarkan

pada faktor δk dan fungsi aktivasi zj pada unit layer tersembunyi. Sedangkan pengaturan nilai

bobot dari unit layer input ke unit tersembunyi didasarkan pada faktor δj dan fungsi aktivasi xi

pada layer input.

Algoritmanya sebagai berikut:

Langkah 0 : inisialisasi atau penentuan semua nilai bobot.

Langkah 1 : bila kondisi berhenti tidak dipenuhi, lakukan langkah 2 – 9

Langkah 2 : untuk setiap pelatihan pasangan input dan output, lakukan langkah 3 - 8.

Sistem Pemahaman Bahasa Alami (PBA)

Di dalam pemahaman bahasa alami ada suatu proses dari suatu input text sering menjadi

sebuah output. Di dalam program PBA terdapat 5 elemen utama. Elemen – elemen tersebut

adalah parser, lexicon, alat pemahaman, pangkalan pengetahuan dan generator.

PARSER UNDERSTANDER GENERATOR

LEXICON KNOWLEDGE

BASE

OUTPUTINPUT

TEXT

SRING

Page 103: SoalCE

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

Page 104: SoalCE

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

Page 105: SoalCE

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.

Page 106: SoalCE

OUTPUT

SUITABLE

RESPON

SCAN INPUT

SEARCH FOR

KEY WORDS

ACCEPT

INPUT &

STORE IT

INPUT

MASSAGE

DEVELOP & OUTPUT AN

APPROPIATE

KEY WORD

S FOUND

MORE KEY

WORDS ?

START

END

2.21 Proses Analisa Keyword PBA

Gambar berikut menunjukkan flowchart dari analisa keyword PBA yang biasa digunakan

oleh user.