Indah Wahyuni
P
ARADIGMA-
PARADIGMAP
EMROGRAMAN Bahasa pemrograman (programming language):
notasi yang dipakai untuk menentukan, mengorganisasi, dan melakukan penalaran tentang komputasi.
Paradigma pemrograman: cara/pola berpikir
tentang pemrograman. Bhs . P emro gr ama n, 2 01 2 2 P em. log ik , Indah Wa hyuni
Perancang suatu bahasa pemrograman harus
menyeimbangkan antara:
membuat komputer mudah (convenient) untuk
dipakai
membuat komputer dapat dipakai secara efisien.
machine language ⇓ assembly language ⇓ high-level language Bhs . P emro gr ama n, 2 01 2 3 P em. log ik , Indah Wa hyuni
Keuntungan-keuntungan dari bahasa
pemrograman high-level:
lebih mudah dibaca oleh manusia tidak bergantung pada jenis mesin tersedia program-library
ada pengecekan yang dapat membantu deteksi error
Bhs . P emro gr ama n, 2 01 2 4 P em. log ik , Indah Wa hyuni
A
DA4 P
ARADIGMAU
TAMA:
1. imperative programming
komputasi dipandang sebagai suatu barisan
aksi/tindakan (a sequence of actions).
menekankan "how“.
Contoh bahasa pemrograman yang mendukung:
FORTRAN, C, ...
2. functional programming
komputasi berdasarkan fungsi/kategori, dimana
fungsi mempunyai status yang sama dengan nilai-nilai lainnya.
(Functions are first-class values).
Contoh bahasa pemrograman yang mendukung:
LISP, ML, Haskell, ... Bhs . P emro gr ama n, 2 01 2 5 P em. log ik , Indah Wa hyuni
3. Logic Programming
Program terdiri dari facts (fakta-fakta) dan rules (aturan-aturan).
Komputasi adalah deduksi. Menekankan "what".
Contoh bahasa pemrograman yang mendukung:
Prolog.
4. Object-Oriented Programming
Program adalah simulasi.
Objek bereaksi terhadap message.
Class mendeskripsikan himpunan objek.
Contoh bahasa pemrograman yang mendukung: C++,
Smalltalk, Java, ... Bhs . P emro gr ama n, 2 01 2 6 P em. log ik , Indah Wa hyuni
A
DA4 P
ARADIGMAU
TAMA:
B
AHASAP
EMROGRAMANI
MPERATIVE VSD
EKLARATIVE Pada bahasa pemrograman imperative, Kita
memberitahu komputer ‘bagaimana/how’ cara menyelesaikan masalah
Pada bahasa pemrograman deklarative, kita
mendeklarasikan ‘apa/what’ permasalahannya dan komputer yang akan memecahkan masalah nya Bhs . P emro gr ama n, 2 01 2 7 P em. log ik , Indah Wa hyuni
P
ENGENALANP
ROLOG Prolog adalah bahasa pemrograman pertama
yang murni menggunakan bahasa pemrograman deklarative
Prolog kependekan dari Programming in logic
Pertama kali diperkenalkan tahun 1970 oleh
Robert Kowalski dan Maarten van Emden, Alain Colmerauer , selanjutnya diimplementasikan
oleh David Warren
Bhs . P emro gr ama n, 2 01 2 8 P em. log ik , Indah Wa hyuni
Penulisan program dalam bahasa prolog:
Menuliskan pengetahuan kita mengenai suatu
masalah
Membuat model dari suatu masalah
Prolog digunakan untuk pemodelan sistem
(contoh prototipe perangkat lunak, desain sirkuit) dan
Untuk banyak aplikasi intelegensi buatan
seperti Expert System dan Natural Language Processing Bhs . P emro gr ama n, 2 01 2 9 P em. log ik , Indah Wa hyuni
P
ENGENALANP
ROLOGP
EMPROGRAMAN
P
ROLOG VS
K
ONVENSIONAL
Pemprograman Prolog PemprogramanKonvensional
Programer mentafsirkan APA masalah yang hendak diselesaikan menggunakan logika. Programer mengarahkan komputer BAGAIMANA menyelesaikan masalah. Komputer menghasilkan
urutan arahan mengikut tertib yang ditentukan oleh
pemprogram.
Sistem mengaplikasikan peraturan logika, deduksi
dan persamaan dalam menyelesaikan sesuatu masalah. Bhs . P emro gr ama n, 2 01 2 10 P em. log ik , Indah Wa hyuni
K
ONSEPP
ROLOG Program Prolog terdiri dari sekumpulan clauses Setiap clause dapat berupa fakta atau aturan
(fact or rule) Contoh clauses : Facts : boneka(power_rangers). boneka(snoopy). Rules : main(aliya, snoopy)
suka(aliya,X):- boneka(X), main(aliya,X). suka(hasan,Y):- suka(aliya,Y) Bhs . P emro gr ama n, 2 01 2 11 P em. log ik , Indah Wa hyuni
T
ERMS(T
ERMINOLOGI/I
STILAH)
Sebuah terms mewakili suatu objek atau kelas
dari objek yang akan dibahas
Objek dapat berupa :
konstanta, yang dapat berupa :
angka : 37, 12.4, -5
string : ‘helo world’, ‘Pete’ atom : philip, monkey
variabel : X, Person
compound term : tanggal (May, 1, 2004)
Bhs . P emro gr ama n, 2 01 2 12 P em. log ik , Indah Wa hyuni
F
ACTS(F
AKTA)
Fakta mewakili satu unit informasi yang
diasumsikan bernilai benar
Kadangkala suatu fakta terdiri dari beberapa
istilah atau merupakan suatu daftar istilah
Contoh:
Langit itu biru. langit(biru). Hari sedang hujan. hari(hujan).
Bhs . P emro gr ama n, 2 01 2 13 P em. log ik , Indah Wa hyuni
R
ULES(A
TURAN-
ATURAN)
Mengungkap satu hubungan di antara fakta-fakta
dengan menggunakan implikasi logika :-.
Suatu aturan mewakili beragam kondisi (‘this is true
if this is true’)
Contoh:
Sim suka buku suka(sim,buku). Siti suka buku suka(siti,buku).
kawan(sim,siti) :- suka(sim, buku), suka(siti,buku).
IF AND Bhs . P emro gr ama n, 2 01 2 14 P em. log ik , Indah Wa hyuni
Secara umum aturan adalah suatu ekspresi
dengan bentuk :
A :- B1, B2,…,Bn
dimana A dan B1, B2, …Bn adalah formula atomik A adalah head (kepala) dari aturan
B1, B2, …., Bn adalah body (tubuh) dari aturan
Bhs . P emro gr ama n, 2 01 2 15 P em. log ik , Indah Wa hyuni
V
ARIABEL Penulisannya dengan huruf besar atau
underscores (contoh : X, TimeTable, _24)
Semua yang dimulai dengan huruf besar pada
prolog adalah variabel (kecuali dalam tanda petik “)
atom
obyek nyata
variabel
obyek umum
Bhs . P emro gr ama n, 2 01 2 16 P em. log ik , Indah Wa hyuni
Dalam Prolog terdapat dua variabel, yaitu:
1.Variabel bernama, yaitu variabel yang diberi
nama seperti X, Orang, dan sebagainya
2.Variabel tak bernama (placeholder),
dilambangkan dengan tanda garis bawah (_).
Setiap term dengan awalan huruf kapital
selalu dianggap sebagai variabel
awalan dengan huruf kecil dianggap sebagai
suatu relasi atau konstanta.
Bhs . P emro gr ama n, 2 01 2 17 P em. log ik , Indah Wa hyuni
V
ARIABEL Variabel tak bernama digunakan untuk
mengabaikan nilai suatu variabel, yang berarti bisa bernilai apa saja.
Contoh keduanya: member(X,[X|_]). member(X,[_|Y]):-member(X,Y). Bhs . P emro gr ama n, 2 01 2 18 P em. log ik , Indah Wa hyuni
V
ARIABELR
ELASI Tabel dengan n buah kolom dan terdiri dari
beberapa baris fakta maupun aturan.
Secara umum, suatu relasi dinyatakan dalam
bentuk aturan atau fakta sebagai berikut: P if Q1 and Q2 and ... and Qk untuk k>= 0
Bhs . P emro gr ama n, 2 01 2 19 P em. log ik , Indah Wa hyuni
K
LAUSA(
CLAUSE)
Suatu frase (ungkapan) atau susunan kata
yang di dalam Prolog dapat berupa fakta atau aturan.
Suatu clause merupakan statemen prolog,
contohnya fakta atau aturan (fact or rule)
Semua clause pada prolog harus diakhiri dengan
tanda titik (dot)
Bhs . P emro gr ama n, 2 01 2 20 P em. log ik , Indah Wa hyuni
Terdiri dari beberapa sub-klausa
Dihubungkan menggunakan tanda koma (,)
yang berarti hubungan and (konjungsi)
Tanda titik koma (;) yang menunjukkan
hubungan or (disjungsi)
Contoh:
orangtua(P,Q) :- bapak(P,Q); ibu(P,Q). kakek(A,Z) :- bapak(A,X), orangtua(X,Z).
Bhs . P emro gr ama n, 2 01 2 21 P em. log ik , Indah Wa hyuni
K
LAUSA(
CLAUSE)
Penggunaan program prolog dilakukan melalui
query
Contoh :
? –parent(philip, anne). ? –main(aliya, snoopy).
Interpreter pada Prolog akan merespon : Yes or
No
Semua query harus diakhiri tanda titik (dot)
Bhs . P emro gr ama n, 2 01 2 22 P em. log ik , Indah Wa hyuni
K
LAUSA(
CLAUSE)
Q
UERY Query dapat terdiri dari variabel-variabel : ?- parent(philip, who).
Interpreter prolog akan memberikan respon
melalui nilai – nilai yang terdapat pada variabel sehingga
query akan menjadi benar (jika ada),
kalau tidak ada jawaban yang benar, maka akan
direspon dengan no
Prolog dapat ditulis dengan mengetik semikolon
(;), sehingga semua penyelesaian yang ada akan dijumpai/ditampilkan. Bhs . P emro gr ama n, 2 01 2 23 P em. log ik , Indah Wa hyuni
M
AKNAD
EKLARATIF DANP
ROSEDUR Makna deklaratif hanya menumpukan kepada
hubungan yang ditakrifkan dalam program.
Makna deklaratif akan menentukan apa yang
akan menjadi output kepada program.
Makna prosedur menentukan bagaimana output
itu didapat yaitu bagaimana sebenarnya hubungan itu dinilai oleh sistem Prolog.
Bhs . P emro gr ama n, 2 01 2 24 P em. log ik , Indah Wa hyuni
Bhs . P emro gr ama n, 2 01 2 25 P em. log ik , Indah Wa hyuni