ALGORITMA PEMROGRAMAN 1C
PEMROGRAMAN LOGIK Indah Wahyuni
Konsep Bhs. Pemrograman, 2012
PARADIGMA-PARADIGMA PEMROGRAMAN
Pem. logik, Indah Wahyuni
Bahasa pemrograman (programming language): notasi yang dipakai untuk menentukan, mengorganisasi, dan melakukan penalaran tentang komputasi. Paradigma pemrograman: cara/pola berpikir tentang pemrograman.
2
Konsep Bhs. Pemrograman, 2012
PARADIGMA-PARADIGMA PEMROGRAMAN
Perancang suatu bahasa pemrograman harus menyeimbangkan antara: membuat komputer mudah (convenient) untuk dipakai membuat komputer dapat dipakai secara efisien.
Pem. logik, Indah Wahyuni
machine language ⇓ assembly language ⇓ high-level language
3
Konsep Bhs. Pemrograman, 2012
PARADIGMA-PARADIGMA PEMROGRAMAN
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
Pem. logik, Indah Wahyuni
4
Konsep Bhs. Pemrograman, 2012
ADA 4 PARADIGMA UTAMA: 1.
imperative programming komputasi dipandang sebagai suatu barisan aksi/tindakan (a sequence of actions). menekankan "how“. Contoh bahasa pemrograman yang mendukung: FORTRAN, C, ...
Pem. logik, Indah Wahyuni
2.
functional programming komputasi berdasarkan fungsi/kategori, dimana fungsi mempunyai status yang sama dengan nilainilai lainnya. (Functions are first-class values). Contoh bahasa pemrograman yang mendukung: LISP, ML, Haskell, ...
5
Konsep Bhs. Pemrograman, 2012
ADA 4 PARADIGMA UTAMA: 3.
Logic Programming Program terdiri dari facts (fakta-fakta) dan rules (aturan-aturan). Komputasi adalah deduksi. Menekankan "what". Contoh bahasa pemrograman yang mendukung: Prolog.
Pem. logik, Indah Wahyuni
4.
Object-Oriented Programming Program adalah simulasi. Objek bereaksi terhadap message. Class mendeskripsikan himpunan objek. Contoh bahasa pemrograman yang mendukung: C++, Smalltalk, Java, ...
6
Konsep Bhs. Pemrograman, 2012
BAHASA PEMROGRAMAN IMPERATIVE VS DEKLARATIVE
Pem. logik, Indah Wahyuni
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
7
Konsep Bhs. Pemrograman, 2012
PENGENALAN PROLOG
Pem. logik, Indah Wahyuni
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 8
Konsep Bhs. Pemrograman, 2012
PENGENALAN PROLOG
Penulisan program dalam bahasa prolog:
Pem. logik, Indah Wahyuni
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
9
Pemprograman Konvensional
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.
Pem. logik, Indah Wahyuni
Pemprograman Prolog
Konsep Bhs. Pemrograman, 2012
PEMPROGRAMAN PROLOG VS KONVENSIONAL
Sistem mengaplikasikan peraturan logika, deduksi dan persamaan dalam menyelesaikan sesuatu 10 masalah.
Facts : boneka(power_rangers). boneka(snoopy). Rules :
main(aliya, snoopy) suka(aliya,X):- boneka(X), main(aliya,X). suka(hasan,Y):- suka(aliya,Y)
Pem. logik, Indah Wahyuni
Program Prolog terdiri dari sekumpulan clauses Setiap clause dapat berupa fakta atau aturan (fact or rule) Contoh clauses :
Konsep Bhs. Pemrograman, 2012
KONSEP PROLOG
11
Objek dapat berupa : konstanta, yang dapat berupa : angka : 37, 12.4, -5 string : ‘helo world’, ‘Pete’ atom : philip, monkey
Pem. logik, Indah Wahyuni
Sebuah terms mewakili suatu objek atau kelas dari objek yang akan dibahas
Konsep Bhs. Pemrograman, 2012
TERMS (TERMINOLOGI/ISTILAH)
variabel : X, Person compound term : tanggal (May, 1, 2004) 12
Kadangkala suatu fakta terdiri dari beberapa istilah atau merupakan suatu daftar istilah Contoh: Langit itu biru. Hari sedang hujan.
langit(biru). hari(hujan).
Pem. logik, Indah Wahyuni
Fakta mewakili satu unit informasi yang diasumsikan bernilai benar
Konsep Bhs. Pemrograman, 2012
FACTS (FAKTA)
13
Suatu aturan mewakili beragam kondisi (‘this is true if this is true’) Contoh: Sim suka buku Siti suka buku
suka(sim,buku). suka(siti,buku).
kawan(sim,siti) :- suka(sim, buku), suka(siti,buku). IF
AND
Pem. logik, Indah Wahyuni
Mengungkap satu hubungan di antara fakta-fakta dengan menggunakan implikasi logika :-.
Konsep Bhs. Pemrograman, 2012
RULES (ATURAN-ATURAN)
14
Secara umum aturan adalah suatu ekspresi dengan bentuk :
Pem. logik, Indah Wahyuni
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
Konsep Bhs. Pemrograman, 2012
RULES (ATURAN-ATURAN)
15
Semua yang dimulai dengan huruf besar pada prolog adalah variabel (kecuali dalam tanda petik “)
atom
obyek nyata variabel obyek umum
Pem. logik, Indah Wahyuni
Penulisannya dengan huruf besar atau underscores (contoh : X, TimeTable, _24)
Konsep Bhs. Pemrograman, 2012
VARIABEL
16
Setiap term dengan awalan huruf kapital selalu dianggap sebagai variabel awalan dengan huruf kecil dianggap sebagai suatu relasi atau konstanta.
Pem. logik, Indah Wahyuni
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 (_).
Konsep Bhs. Pemrograman, 2012
VARIABEL
17
Contoh keduanya: member(X,[X|_]). member(X,[_|Y]):-member(X,Y).
Pem. logik, Indah Wahyuni
Variabel tak bernama digunakan untuk mengabaikan nilai suatu variabel, yang berarti bisa bernilai apa saja.
Konsep Bhs. Pemrograman, 2012
VARIABEL
18
Secara umum, suatu relasi dinyatakan dalam bentuk aturan atau fakta sebagai berikut: P if Q1 and Q2 and ... and Qk untuk k>= 0
Pem. logik, Indah Wahyuni
Tabel dengan n buah kolom dan terdiri dari beberapa baris fakta maupun aturan.
Konsep Bhs. Pemrograman, 2012
RELASI
19
Suatu clause merupakan statemen prolog, contohnya fakta atau aturan (fact or rule) Semua clause pada prolog harus diakhiri dengan tanda titik (dot)
Pem. logik, Indah Wahyuni
Suatu frase (ungkapan) atau susunan kata yang di dalam Prolog dapat berupa fakta atau aturan.
Konsep Bhs. Pemrograman, 2012
KLAUSA (CLAUSE)
20
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).
Pem. logik, Indah Wahyuni
Terdiri dari beberapa sub-klausa
Konsep Bhs. Pemrograman, 2012
KLAUSA (CLAUSE)
21
Contoh : ? –parent(philip, anne). ? –main(aliya, snoopy). Interpreter pada Prolog akan merespon : Yes or No Semua query harus diakhiri tanda titik (dot)
Pem. logik, Indah Wahyuni
Penggunaan program prolog dilakukan melalui query
Konsep Bhs. Pemrograman, 2012
KLAUSA (CLAUSE)
22
Query dapat terdiri dari variabel-variabel : ?- parent(philip, who).
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.
Pem. logik, Indah Wahyuni
Interpreter prolog akan memberikan respon melalui nilai – nilai yang terdapat pada variabel sehingga query akan menjadi benar (jika ada),
Konsep Bhs. Pemrograman, 2012
QUERY
23
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.
Pem. logik, Indah Wahyuni
Makna deklaratif hanya menumpukan kepada hubungan yang ditakrifkan dalam program.
Konsep Bhs. Pemrograman, 2012
MAKNA DEKLARATIF DAN PROSEDUR
24
Konsep Bhs. Pemrograman, 2012 Pem. logik, Indah Wahyuni
25