TM 12 Flashcards
Apakah yang dimaksud dengan lazy evaluation?
x
Apa yang kamu ketahui tentang lambda calculus
Lambda calculus (also written as λ-calculus ) = Sistem formal dalam logika matematika dan ilmu komputer untuk mengekspresikan komputasi dengan cara variable binding dan substitusi.
Formatnya didasarkan pada notasi λ Contoh : (LAMBDA (x) (* x x) x disebut bound variable Ekspresi lambda contoh ((LAMBDA (x) (* x x)) 7)
uraikan mengapa banyak fitur bahasa imperative yang ditambahkan ke sebagian besar dialek bahasa LISP?
x
Uraikan karakterstik utama dari paradigma bahasa pemrograman berikut ini: prosedural languages, deklarative languages, object oriented languages dan functional languages.
- Jenis-jenis paradigma pemrograman :
- prosedural languages
Didasari konsep Von Newmann [stored program concept]:
Terdapat memori yang dibedakan menjadi instruksi dan data. Memori ini dapat diberi nama dan harga. Dalam paradigma ini, kita memberikan instruksi yang akan diproses secara berurutan. Dalam instruksi ini, dapat juga terdapat percabangan, yang akan menentukan proses selanjutnya.
Pemrograman ini “gak manusia banget”, karena kita harus berpikir dalam batasan mesin. Namun, keuntungan dengan paradigma ini adalah efisiensi eksekusi, karena dekat dengan mesin.
Contoh : Algol, Pascal, Fortran, Basic, Cobol, C, dll… - functional languages
Didasari fungsi [seperti dalam matematika]
Terdapat fungsi–fungsi dasar yang dapat dilakukan oleh mesin. Fungsi-fungsi tersebut dapat membentuk komposisi yang disebut sebagai primitif. Untuk menyelesaikan masalah, kita menyusun primitif sedemikian rupa untuk menyelesaikan masalah yang ada, untuk memunculkan solusi. Dengan demikian, kekurangan paradigma ini adalah efisiensi serta kinerjanya, karena pengolahan dilakukan lebih lama.
Contoh : LISP, APL, LOGO - deklarative languages
Didasari oleh predikat, yakni pendefinisian relasi antar individu yang merupakan kumpulan dari fakta.
Pada paradigma ini, diuraikan sejumlah fakta dan aturan [inference rules]. Ketika program dieksekusi, pemakai program mengajukan pertanyaan [query]. Selanjutnya, program akan menyocokkan pertanyaan dengan fakta-fakta yang ada untuk menyelesaikan masalah.
Contoh : Prolog - object oriented languages
Didasari oleh objek.
Sebuah objek mempunyai atribut [sifat ], serta memberikan reaksi yang khusus. Sesama objek dapat saling berinteraksi, sehingga mengandung sedikit paradigma imperatif.
Contoh : C++, Java, Smalltalk, Eiffel, dll
C dan turunannya adalah contoh bahasa strict sedangkan Haskell dan Miranda adalah contoh bahasa non-strict atau lazy. Jelaskan apa karakteristik utama dari kedua tipe bahasa ini dalam mengevaluasi argumen fungsi .
x