1 Pertemuan 4 Bahasa Pemrograman Logika Matakuliah: H0383/Sistem Berbasis Pengetahuan Tahun: 2005 Versi: 1/0.

Slides:



Advertisements
Presentasi serupa
Type Rekursif LIST Tim Pengajar IF1282 Sem
Advertisements

bentuknya, yang dapat berubah pada saat runtime.
FUNCTIONAL PROGRAMMING
Struktur Data List Linear : Linked List (Double Linkedlist)
Operasi Perulangan pada FORTRAN Pertemuan 6
1 Pertemuan 18 Matriks Matakuliah: T0016/Algoritma dan Pemrograman Tahun: 2005 Versi: versi 2.
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 6 Encapsulation Lanjutan Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
REPETITION CONTROL STRUCTURES
1 Pertemuan 4 Form dan Control Matakuliah: M0462/Programming I Tahun: 2005 Versi: >
STREAM INPUT/OUPUT Pertemuan 4 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 5 STREAM INPUT/OUPUT Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
1 Pertemuan 24 APLIKASI LOGIKA FUZZY Matakuliah: H0434/Jaringan Syaraf Tiruan Tahun: 2005 Versi: 1.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 1 Algoritma Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Pertemuan 9 Strukturisasi Control Flow pada Bahasa rakitan 8088
1 Pertemuan 2 Function & Pointer Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Pertemuan 5 Automated Reasoning, Inferensi
OPERASI JUMP DAN EXCEPTION HANDLING
1 Pertemuan 09 Menu Matakuliah: T0063/Pemrograman Visual Tahun: 2005 Versi: 1/0.
1 Pertemuan 9 DIVIDE And CONQUER Matakuliah: T0034/Perancangan & Analisis Algoritma Tahun: 2005 Versi: R1/0.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
PERNYATAAN PERULANGAN
Pertemuan Pengembangan Algoritma
Pertemuan 22 FUZZIFIKASI DAN DEFUZZIFIKASI
1 Pertemuan 5 Konfigurasi blok sistem diskret Matakuliah: H0142/Sistem Pengaturan Lanjut Tahun : 2005 Versi : >
1 Pertemuan 3 Unified Modeling language (UML) Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Pertemuan 8 Stack dengan Array
Pertemuan 2 REGULAR EXPRESSION (RE)
OPERASI RELASIONAL DAN LOGIKA Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0.
1 Pertemuan 7 Klasifikasi dan Rekognisi Pola (1) Matakuliah: T0283 – Computer Vision Tahun: 2005 Versi: Revisi 1.
Pertemuan 5 Balok Keran dan Balok Konsol
1 Pertemuan #2 Probability and Statistics Matakuliah: H0332/Simulasi dan Permodelan Tahun: 2005 Versi: 1/1.
1 Pertemuan 7 Review 1 – 6 Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan 21 Latihan Soal Matakuliah: J0274/Akuntansi Manajemen Tahun: 2005 Versi: 01/00.
Matakuliah: R0604/ Komputasi Desain Arsitektur II Tahun: 2008 Pertemuan 2 Review AutoCAD 2D.
1 Pertemuan 5 PPh PASAL 21 Matakuliah: A0572/ Perpajakan Tahun: 2005 Versi: Revisi 1.
1 Pertemuan 7 Ketidakpastian dalam Rules Matakuliah: H0383/Sistem Berbasis Pengetahuan Tahun: 2005 Versi: 1/0.
1 Pertemuan 1 Pengenalan Dasar Visual Basic Matakuliah: M0462/Programming I Tahun: 2005 Versi: >
1 Pertemuan 15 Game Playing Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/1.
Matakuliah : R0022/Pengantar Arsitektur Tahun : Sept 2005 Versi : 1/1
1 Pertemuan 7 FINITE AUTOMATA DENGAN OUTPUT Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2005 Versi: 1/0.
1 Pertemuan 3 Pengenalan menu dasar 3D Matakuliah: R0374/Komputasi Desain Arsitektur II Tahun: 2005 Versi: V-1/R-0.
1 Pertemuan 03 Fungsi-fungsi Microsoft Excel Matakuliah: F0562 / Lab Pengantar Aplikasi Komputer Tahun: 2005 Versi: 1 / 0.
1 Pertemuan 8 Array & Pointer of Class Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan 2 Review AutoCAD 2D Matakuliah: R0374/Komputasi Desain Arsitektur II Tahun: 2005 Versi: V-1/R-0.
1 Pertemuan 1 Pengenalan Pemrograman Terstruktur C Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: xxx/2.
Pertemuan 3 Predicate Logic
PERNYATAAN PERULANGAN
Kontrak Perkuliahan Pemrograman Berorientasi Objek
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Pertemuan 9 Pemrograman Berbasikan Objek
Pertemuan 6 KONVERSI NFA MENJADI DFA Lanjutan..
LISP part 2 By : asisten KBP ‘09.
Pemrograman Berorientsi Objek Pertemuan 15
Pertemuan 24 Teknik Searching
Pertemuan 5 KONVERSI NFA MENJADI DFA
Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1
Pertemuan 10 Analisis State Space untuk sistem diskret
The Logical Basis For Computer Programming
Pertemuan 1 Konsep Umum Pengetahuan
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Matakuliah : A0114/ Sistem Akuntansi Tahun : 2005 Versi : Revisi 1
Matakuliah : I0014 / Biostatistika Tahun : 2005 Versi : V1 / R1
Pertemuan 6 CLIPPING DAN CLAMPING
Tahun : <<2005>> Versi : <<1/2>>
LISP(List Processing) Programming language
PEMROGRAMAN BERBASIS AI (PROLOG)
Transcript presentasi:

1 Pertemuan 4 Bahasa Pemrograman Logika Matakuliah: H0383/Sistem Berbasis Pengetahuan Tahun: 2005 Versi: 1/0

2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mendemonstrasikan bahasa pemrograman untuk implementasi predicate logic

3 Outline Materi LISP PROLOG

4 Bahasa LISP LISP menggunakan notasi prefix –( ) – –Contoh: konversi 50 Celcius  Fahrenheit: –(+(*(/ 9 5) 50) 32) List dalam LISP –(a b (c d) e f) adalah list –(c d) adalah sublist –c, d adalah top element dari sublist

5 Bahasa LISP List kosong = NIL Variable assignment: –(setq x 10) artinya x = 10 –(setq x (+ 3 5)) == x=3+5 Basic list manipulation function –(car’(a b c))= a –(cdr’(a b c))= (b c) –(cons’a’(b c))= (a b c) –(list ’a ’(bc))= (a (b c))

6 Bahasa LISP Function call: –(function-name arg1 arg2 …) Additional manipulation list –(append ’(a) ’(b c)) = (a b c) –(last ’(a b c d)) = (d) –(member ’b ’(a b d) = (b d) –(reserve ’(a (b c) d)) = (d (b c) a)

7 Bahasa LISP Defining function –(defun name(parm1, parm2 …) body) –Defun averagethree (n1 n2 n3) (/ (+ n1 n2 n3) 3)) –(averagethree ) = 20

8 Bahasa LISP Predicate call: –(atom ‘aabb) = true; aabb is a valid atom –(equal ‘a (car ‘(a b)) = true; a=a –(greaterp )= true; (lessp )= nil –(zerop ) = nil; –(evenp 3) = nil; (oddp 3) = true; –(number 10) = true; –(listp ‘(a)) = true; a is a valid list

9 Bahasa Lisp Conditional: –(cond( ) ( ) : ( ) (defun maximum2 (a b) (cod ((>a b) a) (t b))) maximum2( ) = 320

10 Bahasa LISP Logical function: or, and, not, t(true), null Input: (+5 (read)) If 6 is inserted by keyboard then result is 11 Output: print’(a b c) ; print a list

11 Bahasa LISP Iteration –(do ( <var-update1) : ( ) (s-expression) Contoh : factorial: (defun factorial (n) (do ((count n (- count 1)) (product n (* product (-count 1) ((equal 0 count) product)))

12 Bahasa LISP Recursive: (defun factorial (n) (cond (( zerop n) 1) (t (* n (factorial (- n 1)))))

13 Bahasa LISP Property lists –(putprop object value attribute) –(putprop ’car ’ford ’make) –(putprop ’car ’1988 ’year) –(putprop ’car ’red ’color) –(putprop ’car ’four-door ’style) –(get ‘car ‘make) = Ford –(get ‘car ‘color) = red

14 Bahasa LISP Arrays –(setf myarray(make-array ’(10))) –(setf (aref myarray 0) 25 –(setf (aref myarray 1) ’red –(aref myarray 0) = 25 –(aref myarray 1) = red

15 Bahasa LISP Mapping function: –(mapcar ’1 +’( )) = ( ) –(mapcar ’+ ’( ) ’( )) = ( ) Lambda function: –(defun cubic(lists) (mapcar #’(lambda (x) (*x x x)) lists)) –(cubic( )) = ( )

16 Bahasa PROLOG PROLOG: PROgramming in Logic –sister(sue,bill) –parent(ann,sam), parent(joe,ann) –male(joe), female(ann) If X is the parent of Y, and Y is the parent of Z, and X is a male, then X is grandfather of Z grandfather(X,Z) :- parent(X,Y), parent(Y,Z),male(X)

17 Bahasa PROLOG Query: ?- parent(X,sam) X=ann ?- female(joe) No ?-male(joe) yes

18 Bahasa PROLOG List in PROLOG: [tom,sue,joe,marry,bill] ?- [Head|Tail] = [tom,sue,joe,marry] Head = tom, Tail=[sue,joe,marry] List manipulation: append, member, conc, add, delete

19 Bahasa PROLOG member(X,[X|Tail]) member(X,[Head|Tail]):-member(X,Tail) X is a member of the list L if X is the head of L. X is a member of L if X is a member of the tail of L ?- member(c,[a,b,c,d])  yes ?- member(b,[a,[b,c],d])  No

20 Penutup Bahasa-bahasa pemrograman logika dapat digunakan untuk implementasi problem berbasis pengetahuan. Selain LISP dan PROLOG, terdapat berbagai jenis lainnya misal CLIPS. Meski beragam, namun semantiknya serupa.