260 likes | 400 Views
Pengantar Intelegensia Buatan (IB). Pengertian IB. H. A. Simon [1987] :
E N D
Pengertian IB H. A. Simon [1987] : “ Kecerdasanbuatan (artificial intelligence) merupakankawasanpenelitian, aplikasidaninstruksi yang terkaitdenganpemrogramankomputeruntukmelakukansesuatuhal yang dalampandanganmanusiaadalahcerdas”. Rich and Knight [1991]: “KecerdasanBuatan (AI) merupakansebuahstuditentangbagaimanamembuatkomputermelakukanhal-hal yang padasaatinidapatdilakukanlebihbaikolehmanusia.”
Definisi IB: Encyclopedia Britannica: “KecerdasanBuatan (AI) merupakancabangdariilmukomputer yang dalammerepresentasipengetahuanlebihbanyakmenggunakanbentuksimbol-simboldaripadabilangan, danmemprosesinformasiberdasarkanmetode heuristic (pencarian) ataudenganberdasarkansejumlahaturan”
Tujuandari IB: Tujuandarikecerdasanbuatanmenurut Winston dan Prendergast [1984]: • Membuatmesinmenjadilebihpintar (tujuanutama) 2. Memahamiapaitukecerdasan (tujuanilmiah) 3. Membuatmesinlebihbermanfaat (tujuanentrepreneurial)
Bahasa PROLOG Merupakanbahasapemrogramanberjenis “Programming in Logic”. DikembangkanolehAlain ColmenraurerdanP.RousseldiUniversitas Marseilles Perancis, tahun1972. Prolog populerdiEropauntukaplikasiartificial intelligence, sedangkandiAmerikapenelitimengembangkanaplikasi yang sama, yaitu LISP.
Kegunaan Prolog • Prolog digunakansecarakhususdalambidangkecerdasanbuatan yang meliputi: sistempakar (expert system), pengolahanbahasaalami(natural language processing), robotika, logikadanketidakpastian, pengenalanpoladangambar, belajar, dansimulasipengolahansimbol.
Prolog danBahasaPemrogramanlainnya (1) Bahasapemrogramanseperti: Basic, Pascal, C, Fortran, Java, dlldisebutsebagai procedural Language. Diperlukanalgoritmaatauprosedur-prosedurdalammemecahkanpermasalahan. Pemrogramharusmemberitahukomputerbgmkomputer hrs memecahkanmasalah.
Prolog danBahasaPemrogramanlainnya (2) Prolog disebutsebagai Object-Oriented Language atau Declarative Language. Tidakmempunyaiprosedur, tetapimempunyaikumpulan data-data object (fakta) yang diolahdandirelasikanantarobjek yang membentukaturan (heuristik).
Prolog danBahasaPemrogramanlainnya (3) Prolog menentukan Goal (tujuan) dan prolog menentukanbgmcaramencapainya. Cara dengan Formal Reasoning (membuktikancocoktidaknyatujuan dg data-data ygadadanrelasinya). Prolog bahasapemrograman yang tidakterstrukturdantidakmempunyaialgoritma (prosedur) pemecahan, sertamemecahkanpermasalahan Non-Numerik.
JendelaUtama Prolog (1) Editor:Tempatmenuliskan program Dialog: tempatkeluaranhasileksekusi program, dantanyajawabantara prolog danpemrogram. Message:tempattampilanpesan-pesantentangaktivitasygsedangdilakukan prolog seperti load program, save program, kompilasisertatampilanpesankesalahan. Trace: digunakanwaktuproses trace (eksekusilangkahdemilangkah)
Menu Utama Prolog (2) Files : Penanganan File (load, save dll) Edit : Menulis program denganfasilitas editor Run : Mengkompilasidanmengeksekusi program Compile : Hanyamengkompilasi program Option : mengeditbagian program ygditulisterpisah, Compiler Directive dan Option Linker Setup : memilihwarna editor, ukuranjendela, directory., dll
MengubahJendela • Menggunakan F5 untuk zoom jendela yang aktif. Untukkembalisemulatekan F5 lagi. • Menggunakan F6 akanmengubahukuranjendeladenganarahpanah (shift –panah). Tekan Esc untukkembalike menu utama.
Menu Compile Memory: mengkompilasi program danhasilnyadiletakkandimemori (sukses/gagal program ygtelahdibuat). Obj File: mengkompilasidanmenciptakan file. Exe File: mengkompilasi program danmenciptakan file .OBJ dan .EXE Project: mengkompilasipotongan program menjadi file .EXE Link Only: membuat file .EXE dari file .OBJ ygtelahdibuatsebelumnya.
Menu Option Map file off: menentukanpadasaatkompilasi prolog menghasilkan .MAP atautidak Libraries: mengikutsertakan library Edit PRJ: mengedit file (modul) ygtergabungdalamsatu project Compiler directives: menentukanalokasimemori (code, stack, trail, heap), cek run-time dll.
Menu SetUp Colors: mengubahwarnajendela Edit, Dialog, Message, Trace, Aux edit dan Pop up menu. Window size: mengubahukuranjendela Directories: mengubahdirektoriygaktive. Miscellaneous: mengubah adapter CGA, modus layar, konfigurasi keyboard dan help Load SYS file: memuat file .SYS ygberisi setting compiler terpadu (warna, direktori ,dll)
FaktadanRelasi Faktamenunjukkansuatukeadaanatausituasinyatamakafaktaselalubenar. Contohfakta: Slametadalah ayah amin Dalambahasa prolog: ayah(slamet, amin). Ayah menunjukkanrelasi. Contoh lain: Anita adalahseorangmahasiswa. Dalambahasaprolog:wanita(anita).
Aturan/Rules Aturanadalahsuatupernyataanygmenunjukkanfakta-faktaberinteraksisatu dg yg lain untukmembentuksebuahkesimpulan. Contoh: Tinosukajeruk Aturan: Jojonsukasesuatu yang disukaiolehTino Kesimpulan:Jojonsukajeruk. Dalam prolog: Fakta:suka(tino,jeruk). Aturan: suka(jojon,Sesuatu) if suka(tino,Sesuatu).
Pertanyaan/Query Setelahfaktadanaturandirangkaidalamsebuah program non prosedural, maka data-data dapatdiberikanmeluipertanyaan-pertanyaan.
StrukturBahasa Prolog Bagian 1: DOMAINS Bagian 2: PREDICATES Bagian 3: GOAL Bagian 4: CLAUSES
DOMAINS Berisideklarasi (pernyataan) jenis data ygdigunakandalamfaktadanaturan. Integer(bilanganbulat -32.768 s/d 32.767), Real(E-307 s/d E+308),Char(ex:‘a’,’I’, etc), String(“sayamahasiswa”, etc), Symbol(saya,tini,contoh_1), dan File.
PREDICATES Namasimbolikuntukrelasi. Contohfakta: ayah(slamet,amin) Ayah adalahpredikatsedangkanslametdanaminadalah symbol, dandiakhiritanpatandatitik.
CLAUSES(Klausa) Berisifaktadanaturan yang membentukkeseluruhan program. Bagianinimiripsebuahprosedurdalambahasapemrogramanprosedural. Padawaktumencarijawabanataspertanyaanygdiberikan, maka prolog akanmemeriksaklausamulaidarifaktayg paling atassampaikebawah. Kemungkinanyglebihbesarditempatkan paling awaldaripadakemungkinanyglebihkecil.
Contoh CLAUSES CLAUSES ayah(mahmud, jamal). ayah(mahmud,wawan). ayah(jamal,tukul). kakek(mahmud,tukul).
GOAL Berisipertanyaanygakandiajukanke prolog. Goal dapatterdiridaribeberapabagianygdisebutsubgoal. Note: pernyataan, baikfakta, relasiatau goal dikatkansatuapabiladiakhiritandatitik.
Contoh1: DOMAINS x,y = symbol PREDICATES suka(x,y) CLAUSES SUKA(tono,jeruk). SUKA(tina,Sesuatu) if suka(tono,Sesuatu).
Contoh2: DOMAINS nama = symbol PREDICATES ayah(nama,nama) kakek(nama,nama) cucu(nama,nama) saudara_kandung(nama,nama) CLAUSES /* Fakta */ ayah(slamet,jamal). ayah(slamet,wawan). ayah(jamal,badu). ayah(jamal,tukul). ayah(wawan,jojon). ayah(wawan,tina). /* aturan */ kakek(Kakek,Cucu) if ayah(Ayah,Cucu) and ayah(Kakek,Ayah). cucu(Cucu,Kakek) if ayah(Ayah,Cucu) and ayah(Kakek,Ayah). saudara_kandung(X,Y) if ayah(Ayah,X) and ayah(Ayah,Y).