Laman

Minggu, 15 Maret 2015

Algoritma dan Pemrograman 1 (*), Farhah, 12110612, 1KA31 (Logic & Functional Programming)

Kode Mata Kuliah : IT011302
PTA 2010/2011

Logic Programming

Prolog (PROgramming in LOGic) : pemrograman logika. Menggunakan bahasa deklaratif, dimana programmer memberi fakta dan aturan untuk selanjutnya diselesaikan oleh Prolog secara deduktif sehingga menghasilkan suatu kesimpulan. 

Logika Predikat : bagian dari komputasi logika yang juga mencakup aljabar Boole (logika proposisional), dimana fakta fan aturan dinyatakan melalui predikat. 

Bahasa Deklaratif : pokok perbedaaan Prolog dari bahasa lain adalah karena bersifat deskriptif atau deklaratif, sedangkan bahasa lain umumnya bersifat prosedural atau imperatif. 

Dasar Pemrograman Prolog 
1. Fakta : Suatu kenyataan atau kebenaran yang diketahui, dan menyatakan hubungan (relasi) antara dua atau lebih objek. Fakta dapat pula menunjukkan sifat suatu objek. 
2. Aturan : logika yang dirumuskan dalam bentuk relasi sebab-akibat dan hubungan implikasi.
3. Klausa (Clause) : suatu frase (ungkapan)


                                                       Functional Programming

Bahasa Pemrograman Fungsional : disebut aplikatif karena fungsi yang diaplikasikan ke dalam argumentasi menjadi deklaratif dan non prosedural.

3 Komponen Primer Bahasa Functional :
1. Kumpulan objek data : menggunakan mekanisme struktur data tingkat tinggi
2. Kumpulan fungsi built-in : memanipulasi objek data dasar yang menyediakan sejumlah fungsi untuk membuat dan mengakses list.
3. Kumpulan functional forms : membuat fungsi baru, yang mengizinkan programmer mendefinisikan operasi baru dari kombinasi fungsi yang ada. 

ML (Meta Language) : bahasa aplikatif dengan program-program yang ditulis menggunakan gaya C atau Pascal dan dengan konsep yang lebih advance tentang tipe data, mendukung polymorphisme dan abstraksi data, dan berjalan dengan interpreter.

Lambda Calculus : 
1. Bahasa sederhana dengan ilmu semantik sederhana, ekspresif yang menyatakan semua fungsi dapat diperhitungkan.
2. Merupakan suatu bentuk formal dengan fungsi sebagai aturan

3 Elemen Lambda Calculus murni :
1. Lambang primitif
2. Aplikasi fungsi
3. Fungsi ciptaan

Ilmu Semantik Operasional :  terjemahan dari program konvensional kedalam persamaan fungsional. 

Tujuan denotasional semantik : menugaskan suatu nilai kepada setiap ekspresi dalam bahasa. 

Fungsi Rekursif : Perluasan Syntax Lambda-calculus yang mencakup ekspresi yang telah dinamai. 

Scheme :
1. Turunan dari LISP, didasarkan pada Lambda Calculus. Dikonsentrasikan ke fitur lambda-calculus
2. Scheme mempunyai dua objek :
    - Atoms : untaian karakter bukan blank
    - List : Rangkaian Atom atau List dipisahkan oleh blank dan berada dalam tanda
3. Sebuah fungsi dapat terbuat dari atas fungsi yang lain dan dapat diaplikasikan pada list atau argumen.

Haskell 
Pembentukkan bahasa functional yang memasukkan :
1. Ide-ide baik yang sebelumnya ada dalam riset bahasa fungsional
2. Yang sesuai untuk pengajaran, riset dan aplikasi
3. Fasilitas Overloading, yang dipadukan dengan sistem bertipe polimorfis, i/o fungsional, abstraksi data dan penyembunyian informasi

Functional Programming urutan mesin virtual :
- Bahasa pemrograman fungsional -> lambda calculus
- Lambda Calculus -> logika kombinatorial
- Logika kombinatorial -> kode mesin reduksi graf.



Tidak ada komentar:

Posting Komentar