Pengantar Intelegensia Buatan (IB) M. Haviz Irfani, S.Si, M.T.I
Pengertian IB H. A. Simon [1987] : “ Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas”. Rich and Knight [1991]: “Kecerdasan Buatan (AI) merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia.”
Definisi IB: Encyclopedia Britannica: “Kecerdasan Buatan (AI) merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic (pencarian) atau dengan berdasarkan sejumlah aturan”
Tujuan dari IB: Tujuan dari kecerdasan buatan menurut Winston dan Prendergast [1984]: Membuat mesin menjadi lebih pintar (tujuan utama) 2. Memahami apa itu kecerdasan (tujuan ilmiah) 3. Membuat mesin lebih bermanfaat (tujuan entrepreneurial)
Bahasa PROLOG Merupakan bahasa pemrograman berjenis “Programming in Logic”. Dikembangkan oleh Alain Colmenraurer dan P.Roussel di Universitas Marseilles Perancis, tahun1972. Prolog populer di Eropa untuk aplikasi artificial intelligence, sedangkan di Amerika peneliti mengembangkan aplikasi yang sama, yaitu LISP.
Kegunaan Prolog Prolog digunakan secara khusus dalam bidang kecerdasan buatan yang meliputi: sistem pakar (expert system), pengolahan bahasa alami(natural language processing), robotika, logika dan ketidakpastian, pengenalan pola dan gambar, belajar, dan simulasi pengolahan simbol.
Prolog dan Bahasa Pemrograman lainnya (1) Bahasa pemrograman seperti: Basic, Pascal, C, Fortran, Java, dll disebut sebagai procedural Language. Diperlukan algoritma atau prosedur-prosedur dalam memecahkan permasalahan. Pemrogram harus memberitahu komputer bgm komputer hrs memecahkan masalah.
Prolog dan Bahasa Pemrograman lainnya (2) Prolog disebut sebagai Object-Oriented Language atau Declarative Language. Tidak mempunyai prosedur, tetapi mempunyai kumpulan data-data object (fakta) yang diolah dan direlasikan antar objek yang membentuk aturan (heuristik).
Prolog dan Bahasa Pemrograman lainnya (3) Prolog menentukan Goal (tujuan) dan prolog menentukan bgm cara mencapainya. Cara dengan Formal Reasoning (membuktikan cocok tidaknya tujuan dg data-data yg ada dan relasinya). Prolog bahasa pemrograman yang tidak terstruktur dan tidak mempunyai algoritma (prosedur) pemecahan, serta memecahkan permasalahan Non-Numerik.
Jendela Utama Prolog (1) Editor: Tempat menuliskan program Dialog: tempat keluaran hasil eksekusi program, dan tanyajawab antara prolog dan pemrogram. Message:tempat tampilan pesan-pesan tentang aktivitas yg sedang dilakukan prolog seperti load program, save program, kompilasi serta tampilan pesan kesalahan. Trace: digunakan waktu proses trace (eksekusi langkah demi langkah)
Menu Utama Prolog (2) Files : Penanganan File (load, save dll) Edit : Menulis program dengan fasilitas editor Run : Mengkompilasi dan mengeksekusi program Compile : Hanya mengkompilasi program Option : mengedit bagian program yg ditulis terpisah, Compiler Directive dan Option Linker Setup : memilih warna editor, ukuran jendela, directory., dll
Mengubah Jendela Menggunakan F5 untuk zoom jendela yang aktif. Untuk kembali semula tekan F5 lagi. Menggunakan F6 akan mengubah ukuran jendela dengan arah panah (shift –panah). Tekan Esc untuk kembali ke menu utama.
Menu Compile Memory: mengkompilasi program dan hasilnya diletakkan di memori (sukses/gagal program yg telah dibuat). Obj File: mengkompilasi dan menciptakan file. Exe File: mengkompilasi program dan menciptakan file .OBJ dan .EXE Project: mengkompilasi potongan program menjadi file .EXE Link Only: membuat file .EXE dari file .OBJ yg telah dibuat sebelumnya.
Menu Option Map file off: menentukan pada saat kompilasi prolog menghasilkan .MAP atau tidak Libraries: mengikutsertakan library Edit PRJ: mengedit file (modul) yg tergabung dalam satu project Compiler directives: menentukan alokasi memori (code, stack, trail, heap), cek run-time dll.
Menu SetUp Colors: mengubah warna jendela Edit, Dialog, Message, Trace, Aux edit dan Pop up menu. Window size: mengubah ukuran jendela Directories: mengubah direktori yg aktive. Miscellaneous: mengubah adapter CGA, modus layar, konfigurasi keyboard dan help Load SYS file: memuat file .SYS yg berisi setting compiler terpadu (warna, direktori ,dll)
Fakta dan Relasi Fakta menunjukkan suatu keadaan atau situasi nyata maka fakta selalu benar. Contoh fakta: Slamet adalah ayah amin Dalam bahasa prolog: ayah(slamet, amin). Ayah menunjukkan relasi. Contoh lain: Anita adalah seorang mahasiswa. Dalam bahasa prolog:wanita(anita).
Aturan/Rules Aturan adalah suatu pernyataan yg menunjukkan fakta-fakta berinteraksi satu dg yg lain untuk membentuk sebuah kesimpulan. Contoh: Tino suka jeruk Aturan: Jojon suka sesuatu yang disukai oleh Tino Kesimpulan:Jojon suka jeruk. Dalam prolog:suka(tino,jeruk). suka(jojon,sesuatu) if suka(tino,jeruk).
Pertanyaan/Query Setelah fakta dan aturan di rangkai dalam sebuah program non prosedural, maka data-data dapat diberikan melui pertanyaan-pertanyaan.
Struktur Bahasa Prolog Bagian 1: DOMAINS Bagian 2: PREDICATES Bagian 3: GOAL Bagian 4: CLAUSES
DOMAINS Berisi deklarasi (pernyataan) jenis data yg digunakan dalam fakta dan aturan. Integer(bilangan bulat -32.768 s/d 32.767), Real(E-307 s/d E+308),Char(ex:‘a’,’I’, etc), String(“saya mahasiswa”, etc), Symbol(saya,tini,contoh_1), dan File.
PREDICATES Nama simbolik untuk relasi. Contoh fakta: ayah(slamet,amin) Ayah adalah predikat sedangkan slamet dan amin adalah symbol, dan diakhiri tanpa tanda titik.
CLAUSES(Klausa) Berisi fakta dan aturan yang membentuk keseluruhan program. Bagian ini mirip sebuah prosedur dalam bahasa pemrograman prosedural. Pada waktu mencari jawaban atas pertanyaan yg diberikan, maka prolog akan memeriksa klausa mulai dari fakta yg paling atas sampai ke bawah. Kemungkinan yg lebih besar ditempatkan paling awal daripada kemungkinan yg lebih kecil.
Contoh CLAUSES CLAUSES ayah(mahmud, jamal). ayah(mahmud,wawan). ayah(jamal,tukul). kakek(mahmud,tukul).
GOAL Berisi pertanyaan yg akan diajukan ke prolog. Goal dapat terdiri dari beberapa bagian yg disebut subgoal. Note: pernyataan, baik fakta, relasi atau goal dikatkan satu apabila diakhiri tanda titik.