16 December 2009

CLIMATE PREDICTION IN INDONESIAN REGIONS USING SOFT COMPUTING

CLIMATE PREDICTION IN INDONESIAN REGIONS USING SOFT COMPUTING

The Houw Liong2), Plato M.Siregar1), R.Gernowo1), Heru Widodo3)
1) Science Atmosphere Division, Faculty of Earth Science and Mineral Technology, ITB
2) Physics of Complex System Division, Faculty of Mathematics and Natural Sciences, ITB
3) UPT Hujan Buatan (Weather Modification Unit), BPPT

Abstract
According to researchers in LAPAN (Indonesian Space and Aeronautics Institute), the Global Circulation Model (GCM) and Limited Area Climate Model (DARLAM) can be used to predict climate in Indonesian regions. With a scenario that the concentration of CO2 will be doubled in 100 years, the temperature anomaly can be calculated. In 50 years from 1990 most Indonesian regions the temperature very likely will raise by 0.5 to 1.0 degrees Celsius. Some regions the temperature very likely will raise by 1.0 to 1.5 degrees Celsius. This climate model cannot predict the precipitations in Indonesian regions well. It needs some modification before it can be use to predict the precipitations well.
We know that climate model can be classified as weak causality therefore the accuracy of prediction is good only for less than 10 years ahead.
WRF (weather research and forecasting), a regional numerical weather model developed by Pennsylvania State University/ National Center for Atmospheric Research (PSU/NCAR), with a horizontal grid resolution of 5 km can be used for short range prediction.
The second approach to predict climate in Indonesia is based on soft computing by knowing that the climate in Indonesian regions is influenced by four main quasi periodic cycles: Solar Activity Cycle (Sunspot Numbers Cycle), Galactic Cosmic Ray Cycle, El Nino Southern Oscillation (ENSO) Cycle, and Indian Ocean Dipole Mode (IOD) Cycle. It can be shown that solar activity cycle can be considered as primary cycle that influence other cycles.
In practice eastern Indonesian region is dominantly influenced by ENSO. When the heat pools moves to eastern Indonesian region, then rainfall in this region will be above normal. On the other hand when the heat pool leaves eastern Indonesian region and moves to Pacific Ocean then the rainfall in this region will be below normal.
During a typical Indian Ocean Dipole Mode (IOD) event the weakening and reversal of winds in the central equatorial Indian Ocean lead to the development of unusually warm sea surface temperatures in the western Indian Ocean. IOD negative means wet condition or the rainfall will be above normal along the western Indonesian region.
Precipitation in Pontianak region which represent middle Indonesian region correlated strongly with sunspot numbers cycle (solar activity cycle).
Using ANFIS (Adaptive Neuro Fuzzy Inference System) we are able to predict sunspot numbers cycles about 10 years from now so that climate and extreme weather in Indonesian regions can be predicted.
Fuzzy c-means is used to classify regions that are influenced strongly by sunspot numbers (solar activity), IOD, and ENSO cycles. This method is based on fuzzy set as fuzzy c-partition of three cycles above and as cluster center. Fuzzy c-partition matrix for grouping a collection of n data set into c classes.

Keywords: climate model, ANFIS, fuzzy clustering, climate, solar activity, soft computing

19 November 2009

Artificial Intelligence, Bab III, IV, V, VI



Diktat

ITHB



 



Kecerdasan Artifisial



 



Ken Ratri Retno



The Houw Liong



 



 



 



BAB III



Representasi
Pengetahuan ,
Kategori, Jaringan Semantik



 



3.1 Representasi
Pengetahuan :



Representasi pengetahuan
dimaksudkan untuk menangkap sifat-sifat penting pengetahuan yang ada dalam
masalah dan membuat informasi itu dapat diakses oleh prosedur pemecahan masalah.



Bahasa
representasi harus dapat membuat seorang
programmer
mampu mengekspresikan pengetahuan yang diperlukan untuk mendapatkan solusi masalah
yang
dapat diterjemahkan ke dalam bahasa pemrograman dan dapat
disimpan.
Perancangan mengandung fakta-fakta dan pengetahuan lainnya yang terkandung
didalamnya agar bisa digunakan dalam proses penalaran.



 



Pengetahuan (Knowledge) dapat diklasifikasikan ke
dalam 3 kategori:



Pengetahuan
Prosedural
(Procedural Knowledge)
yaitu bagaimana langkah untuk melakukan sesuatu.



Pengetahuan
Deklaratif
(Declaratif Knowledge)
yang berkenaan untuk mengetahui sesuatu berdasarkan fakta dan kaidah.



Pengetahuan yang
umum dimengerti tanpa dikemukakan
(Tacit Knowledge)
yang disebut juga pengetahuan bawah sadar
(unconscious)
karena tidak dapat sukar diungkapkan dengan bahasa



 



3.2 TEKNIK
REPRESENTASI PENGETAHUAN



 



1. Logika
Formal



Merupakan suatu
pengkajian ilmiah tentang serangkaian penalaran, sistem kaidah dan prosedur
yang membantu proses penalaran. Ini merupakan bentuk representasi pengetahuan
yang paling tua, dan menjadi dasar dari teknik representasi tingkat tinggi
(high level).



Proses membentuk
kesimpulan atau menarik suatu inferensi berdasarkan fakta yang telah ada. Masukan
(input) proses logika berupa premis
atau fakta yang diakui kebenarannya sehingga dengan melakukan penalaran pada
proses logika dapat dilakukan
suatu
inferensi untuk memperoleh kesimpulan yang benar pula.



 



PENALARAN
DEDUKTIF



Penalaran ini
bergerak dari penalaran umum untuk mendapatkan konklusi khusus. Umumnya dimulai
dari suatu
sylogism, atau pernyataan
premis dan



inferensi umumn yang
terdiri dari 3 bagian:
premis mayor, premis minor dan



konklusi.



Contoh



Premis
mayor
: Jika hujan turun maka
saya tidak akan lari pagi



Premis
Minor
: pagi ini hujan turun



Konklusi
: pagi ini saya tidak
akan lari pagi



 



PENALARAN
INDUKTIF



Merupakan
kebalikan dari deduktif, yaitu dimulai dari fakta-fakta khusus



untuk mendapatkan
kesimpulan umum



Contoh:



Premis
: Dioda yang salah
menyebabkan peralatan elektronik rusak.



Premis
: Transistor rusak
menyebabkan elektronik rusak.



Premis
: IC rusak menyebabkan
peralatan elektronik tidak berfungsi.



Konklusi
: Peralatan semi
konduktor rusak merupakan penyebab



utama rusaknya
peralatan elektronik



 



Dalam penerapan
logika formal untuk bidang di luar IPA umumnya konklusi tidak selalu mutlak,
dapat berubah jika ditemukan fakta-fakta baru.



 



LOGIKA
PROPOSISI



Dalam melakukan
penalaran dengan komputer, komputer harus dapat menggunakan proses penalaran
deduktif dan induktif ke dalam bentuk yang sesuai dengan manipulasi komputer
; Logika
Simbolik
atau Logika
Matematik.
Metode itu disebut Logika Komputasional. Bentuk logika
komputasional ada 2 macam :
Logika Proposisi dan Logika Predikat.



 



Suatu Proposisi
merupakan suatu statemen atau pernyataan yang



dapat bernilai benar
(TRUE) atau salah (FALSE). Simbol-simbol seperti P dan
Q menunjukkan proposisi.



 



Dua atau lebih
proposisi dapat digabungkan dengan menggunakan operator logika :




  1. Konjungsi : AND ( � )

  2. Disjungsi : OR( � )

  3. Negasi : NOT ( � )

  4. Implikasi : if � then ( � )

  5. Ekuivalen



 



A. NOT



Digunakan untuk memberikan nilai negasi dari pernyataan yang telah ada.



 



















P



NOT P



B



S



S



B






 



B. Operator
AND



Digunakan untuk
mengkombinasikan dua buah proposisi.
Hasil proposisi akan benar jika kedua
proposisi bernilai benar



 
































P



Q



P AND Q



B



B



B



B



S



S



S



B



S



S



S



S






 



 



C. Operator
OR



Digunakan untuk
mengkombinasikan dua buah proposisi
.
Hasil yang diperoleh akan bernilai benar jika salah satu dari kedua proposisi
bernilai benar, dan akan bernilai salah jika kedua proposisi bernilai salah.



 
































P



Q



P OR Q



B



B



B



B



S



B



S



B



B



S



S



S






 



D. IMPLIKASI



Jika P maka Q akan
menghasilkan nilai salah jika P benar dan Q salah, selain itu akan selalu
bernilai benar.
Dapat juga digunakan
menggunakan IF-THEN,
































P



Q



P Q



B



B



B



B



S



S



S



B



B



S



S



B






 



E. Ekuivalensi



Ekuivalensi akan
menghasilkan nilai benar jika P dan Q keduanya benar atau salah akan.



 
































P



Q



P Q



B



B



B



B



S



S



S



B



S



S



S



B






 



Resolusi adalah
aturan untuk melakukan inferensi yang dapat berjalan secara efisien dalam suatu
bentuk khusus yang dikenal dengan nama
conjunctive
normal form
(CNF). Bentuk CNF memiliki ciri-ciri:




  1. Setiap kalimat merupakan disjungsi
    literal

  2. Setiap kalimat terkonjungsi secara
    implisit.



 



Untuk mengubah
kalimat ke dalam bentuk CNF dilakukan dengan langkah-langkah:



Hilangkan
implikasi dan ekivalensi




  • X Y menjadiX Y

  • X Y menjadi( X
    Y)
    ( Y X)



Kurangi lingkup
semua negasi menjadi satu negasi saja




  • ( X ) menjadi
    X

  • ( X
    Y) menjadi (
    X Y)

  • � ( X
    Y ) menjadi ( X
    Y)



Gunakan aturan
assosiatif dan distributif untuk mengkonversi menjadi
conjunction of disjunction




  • Asosiatif (A B) V C = A � (B
    V C)

  • Distributif (A
    B) V C =( A C) � (B V C)



Buat satu kalimat
terpisah untuk setiap konjungsi.



Pada logika
proposisi, prosedur untuk membuktikan proposisi P dengan
aksioma F yang diketahui dengan menggunakan resolusi
dapat melalui algoritma berikut :




  1. Konversikan semua posisi F ke CNF

  2. Negasi P dan konversikan hasil negasi
    ke bentuk klausa, tambahkan himpunan klausa yang telah ada pada langkah 1.

  3. Kerjakan hingga proses tidak mengalami
    kemajuan :



a.      Seleksi 2 klausa sebagai klausa parent



b.      Bandingkan secara bersama-sama. Jika ada
pasangan literal L dan L eliminir dari resolvent/ Klausa hasil pembandingan.



c.      Jika klausa hasil pembandingan berupa
klausa kosong maka ditemukan kontradiksi, jika tidak tambahkan ke himpunan
klausa yang telah ada.



 



Contoh:



Diketahui basis
pengetahuan sebagai berikut:




  1. P

  2. (P Q) R

  3. (S T)
    Q

  4. T



Buktikan
kebenaran R



Dengan
menggunakan resolusi maka ubah dulu ke 4 fakta ke dalam bentuk CNF



 



 






























Kalimat



Langkah-langkah



CNF



1.
P



Sudah
merupakan bentuk CNF



P



2. (P
Q) R



Menghilangkan
implikasi


(P Q) R


mengurangi
negasi


(�P �� Q) R


gunakan
asosiatif


P � � QR



P � � QR


 



3.      S T) Q


 



Menghilangkan
implikasi


(S T) Q


mengurangi
negasi


(S T) Q


gunakan
distributif


(S Q) �( T Q)



S Q


T Q


 



4.
T



Sudah
merupakan bentuk CNF



T




 



Kemudian
tambahkan kontradiksi pada tujuannya R menjadi
R sehingga fakta-fakta
dapat disusun menjadi:



1.       
P



2.       
P � � QR



3.       
S
Q



T Q



4.       
T



5.       
R



 



 



LOGIKA
PREDIKAT



Digunakan untuk
merepresentasikan hal-hal yang tidak dapat direpresentasikan dengan logika
proposisi. Pada logika predikat kita dapat merepresentasikan fakta-fakta
sebagai suatu pernyataan yang disebut dengan
wwf-well formed formula. Operator yang digunakan yaitu
(implikasi), (not), (and), (or)," (untuk setiap),'(terdapat).



Contoh :



Terdapat
pernyataan-pernyataan sebagai berikut:



1.       
Ita suka
semua jenis makanan



2.       
Pisang
adalah makanan



3.       
Pecel
adalah makanan



4.       
Segala
sesuatu yang dimakan oleh manusia dan manusia tidak mati karenanya dinamakan
makanan.



5.       
Hendra
adalah seorang laki-laki



6.       
Hendra
makan jeruk dan dia masih hidup



7.       
Rini makan
apa saja yang dimakan oleh hendra



 



Ke tujuh pernyataan di
atas dapat di bawa ke bentuk logika predikat:



1.       
X:
makanan(X)
suka(ita,X)



2.       
makanan(pisang)



3.       
makanan(pecel)



4.       
X :"Y:manusia(X) makan(x,y) mati(X)makanan(Y)



5.       
laki-laki(hendra)



6.       
makan(hendra,jeruk)hidup(hendra),



7.       
"X:makan(hendra,X)makan(rini,X)



 



pertanyaan:



�apakah ita suka
jeruk?�



suka(ita,jeruk)



dengan menggunakan penalaran backward :



 



suka(ita,jeruk)



(1,substitusi)



 



makanan(jeruk)



(4)



 



manusia(X)



makan(X,jeruk)



mati(X)



 



(7,substitusi)



 



manusia(hendra)



makan(hendra,jeruk)



mati(hendra)



 



(6a)



 



manusia(hendra)



mati(hendra)



 



 



pada akhir
penalaran :



hendra adalah
manusia dan tidak mati



pernyataan 5
bahwa hendra laki-laki tetapi belum ada pernyataan hendra manusia



(6b) hendra masih
hidup namun belum ada pernyataan yang menyatakan tidak mati berarti masih hidup



sehingga perlu
dua pernyataan lagi



8.       
X
:laki-laki(X)
manusia(Y)



9.       
X :[hidup(X)
mati(X)] |mati(X)hidup(X)]



 



yang harus dibuktikan
adalah bahwa :



suka(ita,jeruk)



atau suka(ita,jeruk)



 



dapat diputuskan melalui
3 cara :




  1. memutuskan bahwa jawaban mana yang lebih
    mendekati dengan mencoba membuktikan jawaban tersebut, jika gagal buktikanmenggunakan
    aturan yang lain.

  2. Mencoba buktikan ke sua jawaban secara
    simultan, berhenti jika salah satu jawaban berhasil dibuktikan.

  3. Coba buktikan salah satu jawaban,
    informasi yang diberikan (terbukti maupun tidak terbukti ) bisa digunakan
    untuk menguatkan jawaban yang lainnya.



 



JARINGAN SEMANTIK (SEMANTIC NETWORKS)



Jaringan semantik
merupakan pengetahuan secara grafis yang menunjukkan hubungan antar berbagai
objek. Suatu jaringan semantik sederhana bisa dilihat pada gambar berikut:



 



Gambar��



 



 



Jaringan semantik
disusun dari
NODE dan ARC




  • Node merupakan representasi dari objek, objek properti atau
    propertivalue.
    (digambarkan dengan lingkaran)

  • Arc merupakan representasi dari hubungan antar node.
    (digambarkan dengan garis)

  • Baik node maupun arc memiliki
    label yang secara jelas menjelaskan representasi dari objek dan
    hubungan antar
    node.

  • Hampir semua objek, atribut,
    pemikiran atau apapun dapat dirumuskandan dihubungkan antara satu dengan
    lainnya oleh garis-garis (
    arc)

  • Arc umumnya menggunakan istilah seperti: �adalah(IS-A)�, �memiliki (HAS-A)�, dll.

  • Pada gambar contoh tadi: Link �adalah
    diantara node �Kanari(
    Canary)�
    dan �Burung(
    Bird)� menjelaskan
    hubungan �Khusus-ke Umum (
    spesific-to-general)� diantara keduanya.



 



PERLUASAN
JARINGAN SEMANTIK



Kita dapat dengan
mudah memperluas (
expanding) jaringan semantik



dengan menambah NODE
dan menghubungkan dengan NODE yang



bersesuaian pada
Jaringan Semantik. Node baru tersebut dapat merupakan objek tambahan atau
property tambahan. Umumnya penambahan dapat dilakukan dalam 3 cara:



(1) objek yang sama



Penambahan node �Pingguin
(
Penguin)� yang merupakan objek yang
sama dengan �Kanari (
Canary)� yang
merupakan hubungan �
adalah� dari node �Burung (Bird)�.



(2) objek yang
lebih khusus



Penambahan node �Unggas� yang merupakan objek khusus dari
node �Ayam�. Penambahan tersebut memberikan informasi bahwa �Unggas�
adalah juga termasuk �Burung�.



(3) objek yang
lebih umum



Kita dapat menambahkan
node yang merupakan representasi yang lebih umum dari suatu node, yang
dikaitkan (
link) dengan busur (arc) adalah�. Misalnya
penambahan node �Hewan� pada
node �Burung� yang menginformasikan bahwa
�Burung� termasuk dalam objek �Hewan�.



 



PEWARISAN
(
INHERITANCE) PADA JARINGAN SEMANTIK



Node yang
ditambahkan pada Jaringan Semantik secara otomatis mewarisi informasi yang
telah ada pada Jaringan. Penambahan
node �Unggas� otomatis juga
mewariskan sifat-sifat dari �Hewan� pada objek �Unggas�. Misalnya: �Unggas�
bernapas, karena ��Hewan� bernapas.



 



OPERASI
PADA JARINGAN SEMANTIK



Salah satu cara
untuk menggunakan Jaringan Semantik adalah dengan bertanya pada node, misalnya:



Kasus
1 :



Jika kita
bertanya pada �Burung�, �Bagaimana cara mengembaranya?�



Jawabannya: �Terbang atau jalan



Untuk menjawab,
maka node tersebut akan mengecek pada busur (
arc) dengan label mengembara
(
travel) dan kemudian menggunakan informasi nilai (value) yang
ada pada busur (
arc) tersebut sebagai jawabannya.



Kasus
2 :



Jika kita
bertanya pada �Unggas�, �
Bagaimana
cara mengembaranya
?�



Jawabannya : �Terbang
atau jalan�



Jika node tidak
menemukan jawaban pada lokal
arc, maka akan mencari pada link dengan
hubungan �
adalah� yang dimiliki node tsb.



 



PENANGANAN
PENGECUALIAN (
EXCEPTION HANDLING)



Case
3 :



Jika kita
bertanya pada �Penguin�, �
Bagaimana
cara mengembaranya
?�



Jawaban normal
adalah: �Terbang�



Hal ini tidak
sesuai dengan fakta sebenarnya bahwa �Penguin�
mengembara dengan cara �berjalan�. Untuk mengatasi kasus
tersebut, maka kita bisa menambahkan
busur
K
husus pada node �Penguin� untuk menggantikan (over-ride) informasi
yang telah diwariskan.



Penanganan
Pengecualian (
Exception Handling) merupakan teknik sederhana yang
digunakan untuk mengatasi masalah tersebut, yang merupakan kelemahan pada
Jaringan Semantik. Proses menggantikan (
override) berarti kita
menambahkan busur
atau sifat yang
sama dengan objek induk pada node, tetapi dengan nilai (
value) atau karakteristik yang berbeda.



 



FRAME



Definisi: struktur
data untuk merepresentasi pengetahuan stereotip dari suatu konsep atau objek.
Pertama
kali diusulkan oleh Minsky (1975). Perancang sistem pakar menggunakan ide yang
sama pada SKEMA (
schema) untuk menangkap dan merepresentasi pengetahuan
konseptual dalam Sistem Pakar.



Skema merupakan
suatu satuan (unit) yang berisi pengetahuan khusus tentang suatu konsep atau
objek yang mengandung baik pengetahuan deklaratif maupun prosedural. Skema
merupakan perluasan alami dari Jaringan Semantik dan diusulkan pertama kali
oleh Barlett (1932).



 



Gambar
�.



 



 



 



 



 



 



 



 



BAB IV



PROLOG



 



Pendahuluan



Prolog
merupakan sebuah bahasa pemrograman logika tingkat tinggi (
Programming in logic), sangat cocok untuk pencocokan pola (pattern matching) menggunakan unifikasi
dan pencarian. Baik untuk pengolahan bahasa, sistem pakar berbasis aturan,
perencanaan, dan aplikasi-aplikasi kecerdasan buatan seperti




  • Basis
    data inteligen (Intelligent database)

  • Pemahaman
    Bahasa alami (Natural language understanding)

  • Sistem
    Pakar (Expert systems)

  • Pengkhususan
    bahasa (Specification language)

  • Bahasa
    Mesin (Machine language)

  • Perencanaan
    Robot (Robot planning)

  • Penalaran
    automatis (Automated reasoning)

  • Pemecahan
    masalah (Problem solving)

  • Permainan
    (Game)

  • dan lain-lain



 



Menggunakan
metode pencarian mendalam dahulu (
depth-first
search
) dan mundur (backtracking)
untuk melakukan pencarian solusi secara otomatis.



Tiga
konsep penting dalam prolog:




  • Unifikasi

  • Mundur (Backtracking)

  • Rekursi (Recursion)



Terdapat
tiga konstruksi dasar dalam prolog: fakta-fakta
, kaidah (rules), dan pertanyaan (queries). Fakta dalam prolog dapat berupa item tertentu atau relasi antar item.
Sebagai contoh hujan, mendung, manis dan lain-lain. Kita dapat menanyakan
sebuah pertanyaan (
query) pada prolog:
?-hujan maka prolog akan menjawab
�yes�.



Fakta
yang lebih lenglap terdiri dari suatu relasi pada item yang disebut argument.
Suatu fakta yang menjelaskan relasi antar objek:



sayang(edy,mia)



memiliki(michael,rumah,mobil,tv).



Sintaks
pada fakta :




  1. Nama pada relasi dan objek harus
    dalam bentuk atom,

  2. Relasi dituliskan sebelum
    objek-objek,

  3. Tanda titik (.) harus dituliskan
    diakhir sebuah fakta.



Dari fakta
yang ada maka kita dapat menanyakan suatu pertanyaan pada prolog. Dalam
menjawab suatu pertanyaan Prolog menggunakan prosedur berikut ini.




  1. Prolog melakukan pencarian pada
    basis pengetahuan.

  2. Prolog mencari fakta yang
    sesuai/cocok antara fakta dan pertanyaan.

  3. jika cocok atau ditemukan, maka
    prolog akan menjawab �ya (
    yes)�
    dan jika tidak akan menjawab �tidak (
    no)�.



Dua
buah fakta akan cocok jika predikatnya sama dan argumen yang sesuai sama.



Sebuah
variabel akan terinstansiasi jika ada suatu objek yang berada pada posisi
dimana variabel berada. Proses pencocokan antara argumen dan variabel disebut
unifikasi.



Jika sesuatu
tergantung dari sekelompok fakta maka kita dapat mengekspresikan sebagai �kaidah
(
rules)�. Di dalam prolog rules
memiliki sintaks:



 



Sasaran(argumen_sasaran):-subsasaran1(argumen_subsasaran_1),
subsasaran2(argumen_subsasaran_2),



�������������������������������������������� ������..



�������������������������������������������� subsasarann(argumen_subsasaran_n).



 



Koleksi
dari fakta-fakta dan
rules disebut
sebagai basis pengetahuan. Berikut ini lima
bentuk basis pengetahuan:



Basis Pengetahuan 1



Dibawah
ini merupakan sekumpulan fakta yang sederhana.



wanita(mia).



wanita(jody).



wanita(yolanda).



Bermain_gitar(jody).



 



Basis Pengetahuan 2



mendengarkan_musik(mia).



gembira(Yolanda).



bermain_gitar(mia):-mendengarkan_musik(mia).



bermain_gitar(yolanda):-mendengarkan_musik(yolanda).



mendengarkan_musik(yolanda):-gembira(Yolanda).



 



Contoh
di atas kaidah
(rule) pertama
menyatakan bahwa
mia Bermain_gitar bila
ia mendengarkan_musik,
dan pada kaidah terakhir mengatakan bahwa yolanda mendengarkan_musik bila ia bahagia.



Tanda :- dibaca jika atau merupakan �implikasi dari
�. Pada sebelah kiri dari tanda :- disebut kepala (
head) dari kaidah (rule)
dan pada sisi sebelah kanan dari tanda :- disebut tubuh (
body) sehingga secara umum kaidah (rule) mengatakan bahwa bila tubuh (body) benar maka kepala (head)
benar.



Bila
suatu basis pengetahuan berisi sebuah
rule
head:-body dan prolog mengetahui
bahwa
body berada dalam basis
pengetahuan maka prolog dapat melakukan inferensi pada
head atau dikenal dengan istilah modus ponen.



 



Kita
dapat melakukan pertanyaan pada prolog untuk contoh di atas :



?-bermain_gitar(mia).



Prolog
akan merespon �yes�, meskipun fakta bermain_gitar(mia) tidak secara eksplisit
tertulis namum terdapat kaidah
bermain_gitar(mia):-mendengarkan_musik(mia).
Di samping itu berisi fakta
mendengarkan_musik(mia).
Prolog dapat menggunakan modus ponen untuk melakukan deduksi pada
bermain_gitar(mia) tersebut.



Berikut
ini contoh yang menunjukkan bahwa prolog dapat melakukan deduksi secara berantai
dengan menggunakan modus ponen.



 



?-bermain_gitar(yolanda).



Prolog
akan menjawab �yes�, karena dengan menggunakan fakta
gembira(yolanda). Prolog dapat
melakukan deduksi fakta baru
mendengarkan_musik(yolanda). Fakta baru
ini secara eksplisit tidak tertulis dalam basis pengetahuan. Fakta ini hanya
secara implisit di dalam basis pengetahuan yang terinferensi. Prolog dapat
melakukan hal tersebut sesuai fakta yang tertulis secara eksplisit yaitu
bersama-sama
rule:



bermain_gitar(yolanda):-mendengarkan_musik(yolanda).



Suatu
fakta yang dihasilkan oleh pemanfaatan modus ponen dapat digunakan sebagai
input pada
rule selanjutnya.
Fakta-fakta dan
rule yang berada
dalam basis pengetahuan di sebut klausa. Dalam contoh di atas berisi lima buah klausa yang
masing-masing adalah tiga buah rule dan dua buah fakta. Dengan kata lain basis
pengetahuan 2 terdiri dari tiga buah predikat atau disebut juga functor.



mendengarkan_musik



bermain_gitar



gembira



predikat
gembira dinyatakan menggunakan klausa tunggal atau sebuah fakta, sedangkan
predikat
mendengarkan_musik dan bermain_gitar dinyatakan menggunakan
dua buah klausa
.



 



Basis Pengetahuan 3



gembira(ani).



mendengarkan_musik(devi).



bermain_gitar(ani):-mendengarkan_musik(ani),gembira(ani).



bermain_gitar(devi):-
gembira(devi).



bermain_gitar(devi):-mendengarkan_musik(devi).



Terdapat
dua buah fakta baru pada contoh di atas yaitu
gembira(ani) dan mendengarkan_musik(devi),
tiga buah
rule dan memiliki tiga buah
predikat yaitu gembira, mendengarkan_musik, dan bermain_gitar tetapi dengan
susunan yang berbeda. Pada
rule yang
menyatakan predikat bermain_gitar memperkenalkan suatu ide baru, perhatikan
rule :



bermain_gitar(ani):-mendengarkan_musik(ani),gembira(ani).



Memiliki
dua buah item dalam body atau dua buah goal. Tanda koma yang memisahkan antara
goal mendengarkan_musik(ani) dengan gembira(ani) dalam
rule body merupakan logika konjungsi (logika AND) yang
diekspresikan dalam prolog, sehingga rule ini mengatakan : ani bermain_gitar
bila ia mendengarkan_musik dan gembira.



Bila
kita tanyakan pada prolog :



?-bermain_gitar(ani).



Prolog
akan menjawab �no� karena meskipun ada fakta gembira(ani) tetapi tidak secara
eksplisit berisi informasi mendengarkan_musik(ani) dan fakta ini tidak dapat
dideduksi lagi. Dalam basis pengetahuan 3 hanya dapat memberikan salah satu
dari dua kondisi yang diperlukan untuk memenuhi klausa bermain_gitar(ani)
dengan demikian
query ini gagal.



 



Berikut
ini adalah basis pengetahuan 3 dengan dua buah
rule yang memiliki head
yang sama.



bermain_gitar(devi):- gembira(devi).



bermain_gitar(devi):-mendengarkan_musik(devi).



Klausa
tersebut menyatakan bahwa devi bermain gitar bila dia mendengarkan musik atau
dia gembira yaitu
rule dengan head yang sama merupakan suatu cara
untuk mengekspresikan logika disjungsi ( logika OR).



Bila
kita tanyakan pada prolog :



?-bermain_gitar(devi).



Prolog
akan menjawab �yes� dengan menggunakan modus ponen untuk menerapkan rule :
bermain_gitar(devi):-mendengarkan_musik(devi) untuk memenuhi
query tersebut.



Cara
lain untuk mengekspresikan logika disjungsi dengan menggunakan rule tunggal:



bermain_gitar(devi):- gembira(devi);mendengarkan_musik(devi).



Tanda
semi colon (;) merupakan symbol prolog untuk logika OR.



 



Basis Pengetahuan 4



wanita(mia).



wanita(jodi).



wanita(anggi).



sayang(dany,mia).



sayang(marsel,mia).



sayang(kristy,devi).



sayang(devi,kristy).



 



Dalam
contoh di atas tidak melibatkan
rule
sama sekali, hanya sekumpulan fakta-fakta. Terdapat relasi(predikat) yang
bernama �sayang� yang memiliki dua buah argumen. Kita dapat menggunakan variabel
untuk contoh tersebut.



?wanita(X).



X
merupakan variabel. Prolog akan menjawab
query
tersebut dengan melakukan pencarian pada basis pengetahuan 4 mulai dari klausa
paling atas hingga bawah untuk mencocokan atau unifikasi pada ekspresi
wanita(X) dengan informasi yang terdapat dalam basis pengetahuan 4.



 



Prolog
akan memberikan jawaban:



X=mia
untuk mengetahui adakah jawaban yang lain dilakukan dengan menekan ?-; maka
prolog akan mencari item dalam predikat wanita yang cocok dengan variable X
yang lain yaitu X=jodi dan X=anggi dan akan memberikan jawaban �no� jika sudah
tidak ada lagi item dengan predikat wanita dan variable X yang terinstansiasi.



 



Untuk query yang lain



?sayang(marsel,X),wanita(X)



Bila
kita melihat basis pengetahuan 4 terdapat bahwa: mia adalah wanita (fakta1) dan
marsel sayang mia (fakta5). Maka prolog menemukan jawaban:



X=mia.



 



Basis Pengetahuan 5



Berikut
ini penggunaan contoh variabel.



sayang(vincent,mia).



sayang(marsel,mia).



sayang(dany,lia).



cemburu(X,Y):-sayang(X,Z), sayang(Y,Z).



 



Dalam
basis pengetahuan 5 berisi fakta tentang relasi �sayang� dan sebuah kaidah (
rule) yang terdiri dari tiga buah
variable X, Y, Z. arti dari kaidah tersebut :



�seseorang
yang bernama X akan merasa cemburu pada seseorang yang bernama Y bila ada seseorang
yang bernama Z yang disayangi
X dan Y .



?-cemburu(marsel,W).



Prolog
akan memberikan jawaban
W=vincent
karena mereka berdua �sayang� pada wanita yang sama yaitu mia.



 



 



 



 



 



 



BAB V



Sistem Pakar



Pendahuluan



Istilah sistem pakar adalah nama yang diberikan ke
sebuah aplikasi praktis dari kecerdasan buatan (
artificial intelligent /AI).
Dalam ilmu komputer, banyak ahli yang berkonsentrasi pada pengembangan
kecerdasan buatan. AI adalah suatu studi khusus di mana tujuannya adalah
membuat komputer berpikir dan bertindak seperti manusia. Banyak implementasi AI
dalam bidang komputer untuk menyelesaikan permasalahan dunia nyata, misalnya
Sistem Pendukung Keputusan, Robotic, Bahasa Alami (
Natural
Language
), Jaringan Saraf (Neural
Network), dan lain‑lain.



AI
mempunyai banyak bidang, contoh bidang lain pengembangan kecerdasan buatan
adalah sistem pakar yang menggabungkan pengetahuan dan penelusuran data sebagai
pendekatan untuk memecahkan masalah yang secara normal memerlukan keahlian
manusia. Tujuan pengembangan sistem pakar sebenamya bukan untuk mengganti�kan
peran manusia, tetapi untuk mensubstitusikan pengetahuan manusia ke dalam
bentuk sistem, sehingga dapat digunakan oleh orang banyak.



Para peneliti AI mendefinisikan tujuan mereka sebagai suatu usaha untuk
membuat computer melakukan tugas-tugas yang memerlukan kecerdasan bila
dilakukan manusia. Riset ditekankan pada:



o       
Pemodelan
kebiasaan kecerdasan



o       
Menerangkan
kebiasaan manusia cerdas



o       
Menghasilkan
artefak cerdas



Sistem Pakar adalah program komputer yang dirancang
untuk memanipulasi informasi secara canggih dan kemudian menirukan atau
membantu manusia pakar yang memakai kepakaran dan pengetahuan (komoditi yang
sangat berguna).



Program yang benar-benar bertindak seperti manusia
pakar akan menjadi sangat berdaya guna, program tersebut tidak dapat mati,
tidak dapat lupa, tidak dapat kehilangan temperamen, dsb. Singkatnya program
tersebut akan memiliki kekuatan
dari
program komputer tanpa mengikut sertakan kelemahan manusia.



 



 



 



Pengertian Sistem
Pakar
(EXPERT SISTEM):



Sebuah program komputer
yang cerdas dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti
layaknya seorang pakar (
human expert).
sistem pakar yang menggabungkan pengetahuan( knowledge
) dan prosedur inferensi (penelusuran data ) untuk memecahkan masalah yang
secara normal memerlukan keahlian manusia untuk menyelesaikannya.



Suatu sistem
pakar adalah suatu sistem komputer yang menirukan (
emulates)kemampuan
pengambilan keputusan
dari seorang
pakar. Istilah
emulates berarti bahwa
sistem pakar diharapkan dalam semua hal seperti seorang pakar. Suatu peniruan (emulasi)
jauh lebih kuat dari pada suatu simulasi yang hanya membutuhkan sesuatu yang
bersifat nyata dalam beberapa bidang atau hal.



Disebut juga sistem berbasis pengetahuan (Knowledge-Based System) yang bersifat lebih luas
dan umum dari pada sistem pakar. Konsep KBS

menekankan untuk menggandeng pemikiran dari sebuah program yang dalam
beberapa cara menangani pengetahuan atau menempatkannya agak berbeda dalam
manipulasi informasi berkualitas tinggi dalam hal yg canggih dan berguna.



Sistem
Pakar adalah salah satu bagian
dari kecerdasan buatan yang mengandung pengetahuan dan pengalaman yang
dimasukkan oleh satu atau banyak
pakar ke dalam satu ranah (domain)
pengetahuan tertentu, agar setiap orang bisa memanfaatkannya untuk memecahkan
berbagai masalah.



 



Seorang pakar dengan
sistem pakar mempunyai banyak perbedaan.



 















































Faktor



Pakar Manusia



Sistem Pakar



Waktu��


(Time availability)



Hari kerja



Setiap saat



Geografis



Lokal/
tertentu



Dimana saja



Keamanan



Tidak
tergantikan



Dapat
digantikan



Perishable/


dapat musna



Ya



Tidak



Performansi



Variabel



Konsisten



Kecepatan



Variabel



Konsisten



Biaya



Tinggi



Terjangkau






 



Ada banyak manfaat yang dapat diperoleh dengan
mengembangkan sistem pakar, antara lain: 



1.     
Masyarakat
awan non‑pakar dapat memanfaatkan keahlian di dalam bidang tertentu tanpa
kehadiran langsung seorang pakar.



2.     
Meningkatkan
produktivitas kerja, yaitu bertambah efisiensi pekerjaan tertentu serta hasil
solusi kerja.



3.     
Penghematan
waktu dalam menyelesaikan masalah yang kompleks.



4.     
Memberikan
penyederhanaan solusi untuk kasus yang kompleks dan berulang‑ulang. 



5.     
Pengetahuan
dari seorang pakar dapat didokumentasikan tanpa ada batas waktu.



6.     
Memungkinkan
penggabungan berbagai bidang pengetahuan dari berbagai pakar untuk
dikombinasikan.



Berikut ini merupakan perbandingan antara kemampuan
pakar manusia dan keunggulan sistem komputer yang menjadi pertimbangan
pengembangan sistem pakar :



 































Pakar Manusia



Sistem Pakar



Terbatas
waktu karena manusia
����


membutuhkan istirahat.



Tidak terbatas,
menyerupai sebuah mesin dapat digunakan kapanpun juga.



Hanya
bekerja di satu tempat di mana pakar berada pada saat yang bersamaan, (
tempat akses bersifat lokal )



Berupa software yang dapat diperbanyak dan
dapat digunakan di berbagai tempat.



Pengetahuan
bersifat variabel dan dapat berubah‑ubah tergantung situasi, usia, dan
banyak faktor lainnya.



Pengetahuan
bersifat konsisten, pengetahuan yang disimpan tidak akan hilang dengan
didukung
maintenance yang baik



Kecepatan
untuk menemukan solusi sifatnya bervariasi, dipengaruhi faktor-faktor luar (
ekonomi, kejiwaan, perasaan tidak suka, dll)
��������������������������������������������



Kecepatan
untuk memberikan solusi konsisten dan lebih cepat daripada manusia.
�������������������



Biaya
yang harus dibayar untuk
�����


konsultasi biasanya
sangat mahal.



Biaya yang dikeluarkan
lebih murah.






 



Selain banyak manfaat yang diperoleh, ada juga
kelemahan pengem�bangan sistem pakar, yaitu: 



1.     
Daya
kerja dan produktivitas manusia menjadi berkurang karena semuanya dilakukan
secara otomatis oleh sistem.



2.     
Pengembangan
perangkat lunak sistem pakar lebih sulit dibandingkan dengan perangkat lunak konvensional.
Hal ini dapat dilihat dari tabel perbandingan berikut ini:



 























Perangkat Lunak Konvensional



Perangkat Lunak Sistem Pakar



Fokus
pada solusi.



Fokus
pada permasalahan.



Pengembangan dapat ditakukan secara individu.



Pengembangan dilakukan oleh tim kerja.



Pengembangan secara sekuensial.



Pengembangan
secara iteratif.






 



 



Pengertian Pakar / Ahli (Expert).



1.     
Seorang
pakar/ahli (human
expert )
adalah seorang individu yang memiliki
mempunyai
keahlian dalam bidang tertentu
. Misalnya: seorang dokter, penasehat
keuangan, pakar mesin mobil, dll.



2.     
Memiliki
kemampuan kepakaran yaitu.



o       
Dapat
mengenali
(recognizing) dan merumuskan masalah.



o       
Menyelesaikan
masalah dengan cepat dan tepat.



o       
Menjelaskan
solusi.



o       
Belajar dari
pengalaman.



o       
Restrukturisasi
pengetahuan.



o       
Menentukan relevansi
/ hubungan.



o       
Memahami batas
kemampuan.



 



Pengertian Kepakaran / Keahlian (Expertise).



1.     
Pemahaman yang
luas dari tugas atau pengetahuan spesifik yang diperoleh dari
pelatihan, membaca dan pengalaman.



2.     
Jenis-jenis
pengetahuan yang dimiliki dalam kepakaran:



o       
Teori-teori
dari permasalahan



o       
Aturan/kaidah
dan prosedur yang mengacu pada area permasalahan



o       
Aturan/kaidah heuristic yang harus dikerj akan pada
situasi yang terjadi



o       
Strategi
global untuk menyelesaikan berbagai jenis masalah



o       
Meta-knowledge (pengetahuan
tentang pengetahuan)



o       
Fakta-fakta



 



Pengertian Pengetahuan (Knowledge).



1.      Keahlian
atau pengetahuan yang umumnya terdapat dalam buku/majalah, atau pengalaman pakar
dalam suatu bidang.



2.     
Kunci utama dari sistem pakar adalah:



a.Pengetahuan (Knowledge) + inferensi
= sistem pakar



���� b.Data + processing = informasi



���� c.Informasi + processing (pengalaman, training,
dll) =
knowledge


















 

















Konsep Dasar Sistem
Pakar




 




Tujuan Sistem Pakar



Tujuan
pengembangan sistem pakar sebenarnya bukan untuk mengganti�kan peran manusia,
tetapi untuk mensubstitusikan pengetahuan manusia ke dalam bentuk sistem,
sehingga dapat digunakan oleh orang banyak.



 



 



Alasan Sistem
Pakar dikembangkan untuk menggantikan seorang pakar:



1.     
Dapat
menyediakan kepakaran setiap waktu dan diberbagai lokasi



2.     
Secara
otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.



3.     
Seorang
Pakar akan pensiun atau pergi



4.     
Seorang
Pakar adalah mahal



5.     
Kepakaran
dibutuhkan juga pada lingkungan yang tidak bersahabat (
hostile environtment)



 



 



 



 



Perbandingan
Sistem Konvensional dan Sistem Pakar



 
























































Sistem Konvensional



Sistem Pakar



Informasi dan pemrosesan umumnya
digabung dlm satu program sequential



Knowledge base terpisah dari mekanisme pemrosesan (inference)



Program tidak pernah salah
(kecuali programernya yang salah)



Program bisa saja menjawab
kurang tepat



Tidak menjelaskan mengapa input
dibutuhkan atau bagaimana hasil


diperoleh



Penjelasan(explanation)
merupakan


bagian dari ES



Membutuhkan input data yang
lengkap



Tidak harus mambutuhkan input


data atau fakta yang lengkap



Perubahan pada program
merepotkan



Perubahan pada rules dapat
dilakukan dengan mudah



Sistem bekerja jika sudah
lengkap



Sistem dapat bekerja hanya
dengan
rules yang sedikit



Eksekusi secara algoritmik (step-by-step)



Eksekusi dilakukan secara
heuristic dan logik



Efisiensi adalah tujuan utama



Efektifitas adalah tujuan utama



Data kuantitatif



Data kualitatif



Representasi data dalam numerik



Reperesentasi pengetahuan dalam
simbol



Menangkap, menambah dan
mendistribusi data numerik atau informasi



Menangkap, menambah dan
mendistribusi pertimbangan (
judgment) dan pengetahuan






 



 



 



 



Pemindahan
Kepakaran



Tujuan dari
sebuah sistem pakar adalah untuk mentransfer kepakaran yang dimiliki seorang
pakar ke dalam komputer, dan kemudian kepada orang lain (
non expert).
Aktifitas yang dilakukan untuk memindahkan kepakaran:



1. Akuisisi
pengetahuan (Knowledge
Acquisition) dari pakar atau sumber lainnya.



2.Konseptualisasi
dan Formalisasi pengetahuan



a.Sistematika pengetahuan



b.Representasi pengetahuan ( Knowledge Representation)



c. Inferensi pengetahuan (Knowledge Inferencing)



d. Transfer
pengetahuan (
Knowledge Transfering)



3. Implementasi.



4. Evaluasi



 



CONTOH APLIKASI SISTEM PAKAR SEDERHANA



Berikut ini
contoh aplikasi sistem pakar untuk nasihat pasca pembedahan POEMS-
post operative expert medical system.



Pendahuluan



Bila seseorang
dimasukkan ke rumah sakit untuk dilakukan pembedahan maka riwayat kesehatan
pasien tersebut akan dijadikan rujukan. Perawatan pasca bedah meliputi
pengurusan pasien dan bantuan kepada pasien agar pasien sembuh secepat mungkin.



Perawatan
meliputi perhatian dan pemeriksaan pasien dan pengambilan hasil serta menjalani
tes jika diperlukan. Perawatan pasca bedah biasanya dilakukan oleh perawat dan
dokter.



 



 



 



 



 



 



 



Arsitektur Sistem Pakar Perawatan
Pasca Bedah