P 02 Pemrograman
Fungsional
S 03 Pemgrograman
Konkuren
Logika pemrograman pada python adalah paradigma pemrograman yang melihat komputasi sebagai penalaran otomatis atas
basis data pengetahuan yang terbuat dari fakta dan aturan.
Imperative Deklarative
Pada pemrograman imperative, programmer yang memberitahu
Pada pemrograman, programmer mendeklarasikan “apa/what”
komputer “bagaimana/how” cara menyelesaikan masalah
permasalahannya dan komputer yang akan memecahkan
masalah.Pemograman deklaratif banyak digunakan untuk membangun
sebuah Sistem Cerdas atau artificial intelligence (AI).
Kesimpulanya Pemrograman Deklaratif berfokus pada apa yang harus dicapai program sementara Pemrograman Imperatif berfokus
pada bagaimana program harus mencapai hasil.
Imperative Deklarative
1. Pergilah ke Bengkel Teknisi, tolong periksa motor saya. (Teknisi, atas
2. Cari kerusakan motor Anda kebijakan dan SOPnya memilih metode terbaik untuk
3. Cari bengkel sesuai merk motor Anda melakukan permintaan)
4. Cari dimana teknisi berada
5. Teknisi memeriksa motor Anda
6. Teknisi memperbaiki motor Anda.
7. Motor diperbaiki.
IMPERATIVE DEKLARATIV
E
angka = [10, 20, 30, 40] angka = [10, 20, 30, 40]
total = 0 print(sum(angka))
for angka in angka:
total += angka
PLEASE ET print(total)
Jika melihat contoh diatas, terlihat jelas perbedaan cara penulisan Imperatif dan Deklaratif, dimana pada
model Impleratif dilakukan step by step sedangkan pada model Deklaratif, penulisan menggunakan fungsi
sum untuk menjumlahkan semuanya dalam satu baris program tanpa mengetahui alur proses yang terjadi
PROGRAM STUDI INFORMATIKA
di dalamnya.
UNIVERSITAS GUNADARMA
02
PEMROGRAMAN
FUNGSIONAL
• Merupakan hasil dari fungsi meringkas dan men-generalisir type data dari peta
02
direpresentasikan dengan ekspresi simbolik.
kombinasi fungsi yang ada. • banyak digunakan di wilayah kecerdasan buatan
(robotika, sistem cerdas).
• biasa dieksekusi di bawah kendali interpreter
01 03
Atom → string dan karakter (huruf, angka)
Menggunakan mekanisme struktur
Contoh : A68000
data tingkat tinggi.
List → urutan dari atom atau list, dipisahkan dengan
Contoh : Array atau List
spasi, ditutup dengan tanda kurung.
Contoh : (PLUS AB)
((daging ayam) (sawi kangkung bayam) air))
ML (Meta Language) →
• Merupakan Bahasa aplikatif dengan konsep yang lebih
advance tentang tipe daya
PROGRAM STUDI INFORMATIKA • Mendukung polimorfisme dan abstraksi data
• Berjalan dengan interpreter
UNIVERSITAS GUNADARMA
LAMBDA CALCULUS
Ilmu semantik dapat dinyatakan dalam lambda calculus sebagai fungsi mathematical, Eval, dari ekspresi ke nilai.
Perluasan syntax Lambda-calculus yang mencakup ekspresi yang telah dinamai (named expressions).
L :: ...│x : L│...
Aturan reduksi untuk kalkulus SKI adalah : Kombinator : let n : E in B #adalah penyingkatan untuk (\n.B) E
S f g x →f x (g x) S = \f.(\g.(\x. f x (g x)))
let x : 3 in (* x x)\y.
Kcx →c K = \x. \y. x
let x : 3 in (* y x) Ekuivalen \y. (* y 3)
Ix →x I = \x.x
Ye →e (Y e) Y = \f. \x. (f (x x)) \x. (f (x x)) letrec n : E in B #adalah peyingkatan untuk let n : Y (\n.E) in B
(A B) →A B
(A B C) →A B C let n : E in B = (\n.B) E
• Aturan Reduksi dijalankan dari kanan ke kiri
letrec n : E in B = let n : Y (\n.E ) in B
• Jika tidak ada reduksi S,K,I,Y maka tanda kurung akan dibuang,
dan proses reduksi diteruskan
• Sebuah fungsi dapat terbuat atas fungsi yang lain dan dapat diaplikasikan pada
list atau argumen
Sebuah sistem komputer harus menangani beberapa program (task) yang harus dieksekusi bersama dalam
sebuah lingkungan(baik mono atau multi prosesor). Pada pemrograman konkuren, kita tidak lagi berpikir
sekuensial, melainkan harus menangani komunikasi dan sinkronisasi antar program.
-- O ─ O ─ O ─ O → -O─O–
-- │ │ -- >
X=5 -O─O–
Y=3*X+4
X =A* B + C
Y= 3 *A+ 7
Tim Penyusun:
1.
PROGRAM STUDI INFORMATIKA 2.
UNIVERSITAS GUNADARMA 3