Paradigma Functional BAHASA PEMROGRAMAN. TIM PENGAJAR PEMROGRAMAN Departemen Ilmu Komputer IPB

dokumen-dokumen yang mirip
Bahasa Pemrograman :: Pemrograman List

Bahasa Pemrograman :: Functional Programming

11/18/2009. Julio Adisantoso 1. Bahasa Pemrograman Kuliah #1 18 November Tucker & Noonan Chapter 1

PENDAHULUAN 01/31/2013. Julio Adisantoso 1. Kontrak Kuliah. Bahasa Pemrograman Kuliah #1. Tata Tertib Mahasiswa

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

FUNGSI. {deretan instruksi algoritmik : pemberian harga, input, output, analisa kasus, pengulangan)

ALGORITME DAN PEMROGRAMAN

Konsep Bahasa Pemrograman Pertemuan 6

Materi Kuliah Matematika Komputasi FUNGSI

Pemrograman Fungsional FAJAR SAPTONO, ST

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

Pemrograman Prosedural FUNGSI (Subprogram) Tim Pengajar KU1071 Sem

Subprogram (dalam Bahasa C++ + Flowchart)

ALGORITMA PEMROGRAMAN 1C PEMROGRAMAN FUNGSIONAL

KOM204 : BAHASA PEMROGRAMAN

CCH1A4 / Dasar Algoritma & Pemrogramanan

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.

BAB II STACK (TUMPUKAN)

KATA PENGANTAR. Penulis. Raizal Dzil Wafa M.

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Prosedur. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

FUNGSI. setiap elemen di dalam himpunan A mempunyai pasangan tepat satu elemen di himpunan B.

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

Fungsi. Hidayati Rais, S.Pd.,M.Si. October 26, Program Studi Pendidikan Matematika STKIP YPM Bangko. Rollback Malaria :)

MATERI KULIAH 25 NOVEMBER DESEMBER 2015 Sri Istiyari Uswatun Chasanah G Struktur aliran atau bagan program kontrol.

BAB 2 LANDASAN TEORI

Metode Numerik (Pendahuluan) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

HARGA & EKSPRESI Input dan Output

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

BAB 6 METODE PENGUJIAN

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

Bahan kuliah Matematika Diskrit. Himpunan. Oleh: Didin Astriani P, M.Stat. Fakultas Ilkmu Komputer Universitas Indo Global Mandiri

Tumpukan(Stack)!! " # $ %&' $ %& ( ) ( * +, / ( (

Aplikasi Rekursif dalam Analisis Sintaks Program

Algoritma Pemrograman

Latihan 1. Praktikum 2 Bahasa Pemrograman PLT Scheme : Membuat Program

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

ALGORITME :: Pengantar Pemrograman

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

MODUL PRAKTIKUM 7. Petunjuk: 1. Aktifkan Microsoft Access. 2. Buka file database Apl_Rentcar_3(A/B/C/D)XXX. 3. Kerjakan hal-hal berikut di bawah ini.

White Box Testing dan Black Box Testing, Perbedaannya Serta Contohnya.

Administrasi Perkuliahan Pendahuluan BAHASA PEMROGRAMAN. TIM PENGAJAR PEMROGRAMAN Departemen Ilmu Komputer IPB. Pertemuan 1

Kode MK/ Pemrograman Terstruktur 2

PEMROGRAMAN DALAM R STK372 KOMPUTASI STATISTIK II. Agus Mohamad Soleh

Nama : Rendi Setiawan Nim :

Fungsi. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Brigida Arie Minartiningtyas, M.Kom

Bahasa Pemrograman :: Object Oriented Programming

Pertemuan2 Percabangan & Perulangan pada Python

Analisa Kasus Part 2. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Fungsi. Nisa ul Hafidhoh

FUNGSI DASAR PEMROGRAMAN

Algoritme dan Pemrograman

ALGORITMA PEMROGRAMAN 1C PENDAHULUAN KONSEP BAHASA PEMROGRAMAN

Type Rekursif : List LIST OF LIST

Pengertian Fungsi. MA 1114 Kalkulus I 2

Algoritma dan Struktur Data

Bahasa Pemrograman :: Pendahuluan

disebut ternary operator. Di dalam suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari operatoroperator

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

Fungsi. Pengertian Fungsi. Pengertian Fungsi ( ) ( )

Algoritma dan Pemrograman. Pertemuan Ke-7 Statement Pengendalian 2

KONTRAK PERKULIAHAN BAHASA PEMROGRAMAN KOM204

Nama, Tipe, Ekspresi, dan Nilai

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

PENGANTAR KOMPUTER & SOFTWARE II

Tipe Data. Adri Priadana

Variabel dan Tipe data Javascript

STK 571 KOMPUTASI STATISTIK. Perangkat Lunak Komputasi Statistik R

Pertemuan 5 PEMILIHAN/PERCABANGAN

CARA MENGECEK TIPE DATA ARGUMEN DALAM PHP

MA5031 Analisis Real Lanjut Semester I, Tahun 2015/2016. Hendra Gunawan

BAB II LANDASAN TEORI

ALGORITMA PEMROGRAMAN 1C PEMROGRAMAN LOGIK

Algoritma dan Struktur Data STACK

Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Fungsi. Jika f adalah fungsi dari A ke B kita menuliskan f : A B yang artinya f memetakan A ke B.

OPERATOR DAN STATEMEN I/O

Materi. Tipe, Variabel dan Operator Algoritma Pemrograman PENULISAN ALGORITMA PENULISAN ALGORITMA 15/03/2010 NAMA DAN EKSPRESI

JAVA BASIC PROGRAMMING Joobshet

Algoritma Pemrograman

BAB 2 TINJAUAN PUSTAKA

OPERASI DAN OPERATOR LOGIKA

BAB 2 LANDASAN TEORI

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Stack (Tumpukan)

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

Praktikum 8. Pemrograman Shell 2

Algoritma dan Pemrograman PROSEDUR. Oleh: Eddy Prasetyo N

LOGIKA FUZZY PADA PROSES PELET PAKAN IKAN

P - 7 Bab 5 : PHP : Hypertext Prepocessor

ALGORITMA PEMROGRAMAN 1C SEMANTIKS

Transkripsi:

TIM PENGAJAR PEMROGRAMAN Departemen Ilmu Komputer IPB Pertemuan 2 Paradigma Pemrograman ( Programming)

Pengantar PARADIGMA PEMROGRAMAN Paradigma pemrograman adalah bentuk pemecahan masalah mengikuti aliran atau genre tertentu dari program dan bahasa. Klasifikasi:

FUNCTIONAL PROGRAMMING Program serba fungsi, artinya setiap persoalan diselesaikan dengan menggunakan fungsi. Mulai dikembangkan tahun 1960an, dimotivasi oleh peneliti bidang artificial intelligence, symbolic computation, theorem proving, rule-based system, dan NLP. Bahasa fungsional pertama adalah LISP (McCarthy, 1960). Memodelkan masalah komputasi sebagai suatu fungsi matematika, yang mempunyai input (domain) dan hasil atau output (range).

FUNGSI DALAM MATEMATIKA Fungsi matematika adalah pemetaan dari himpunan domain (daerah fungsi) ke himpunan lain yang disebut sebagai himpunan range (wilayah fungsi). Contoh: kuadrat(x) x x untuk x R. Notasi berarti didefinisikan sebagai. x R menunjukkan bahwa daerah fungsi adalah bilangan riil. Contoh pemanggilan fungsi: kuadrat(3.0) = 3.0 3.0 = 9.0

EKSPRESI LAMBDA Notasi Lambda adalah metode menuliskan suatu fungsi matematika tanpa nama. Dirancang oleh Alonzo Church (1941). Bentuk fungsi matematika yang ditulis dalam notasi lambda disebut Ekspresi Lambda. Contoh: (λx.x x) Contoh pemanggilan terhadap fungsi lambda: ((λx.x x)3) akan menghasilkan nilai 9.

PEMROGRAMAN FUNGSIONAL Pemrograman fungsional meniru sejauh mungkin fungsi matematika dalam bentuk ekspresi lambda. Pemanggilan fungsi dalam pemrograman fungsional mirip dengan bentuk notasi prefix, disebut dengan Cambridge Polish atau Cambridge Prefix, yaitu: (function_name arg 1 arg 2... arg n ) Contoh, notasi + adalah fungsi aritmatika penjumlahan, maka 2 ekspresi berikut menghasilkan nilai 12 dan 20. (+ 5 7) (+ 3 4 7 6)

DEFINISI FUNGSI Paradigma Mendefinisikan fungsi tanpa nama: Format: (LAMBDA (parameter) expression) Contoh: (LAMBDA (x) (* x x)) Evaluasi: ((LAMBDA (x) (* x x)) 3) Fungsi tanpa parameter: Format: (DEFINE symbol expression) Contoh: (DEFINE pi 3.14159) (DEFINE two_pi (* 2 pi))

FUNGSI DENGAN PARAMETER Format: (DEFINE (function_name parameters) (expression) ) Contoh:(DEFINE (kuadrat x) (* x x)) Pemanggilan fungsi: (kuadrat 3) akan menghasilkan nilai 9. Pre-defined function, contoh: (IF (= n 0) 1 (* n n)) (COND ((< n 5) 1) ((< n 10) 2) (ELSE 3) )

LATIHAN Paradigma Terjemahkan 2 fungsi berikut ke dalam pemrograman fungsional: { 1 n = 0 f (n) = n f (n 1) n > 1 0 n = 0 fib(n) = 1 n = 1 fib(n 1) + fib(n 2) n > 1

FUNGSI LIST Paradigma List adalah himpunan dari 0 atau lebih nilai (elemen/atom) Contoh: (3 5 7 2) dalam matematika ditulis sebagai {3,5,7,2} Beberapa fungsi dasar list: (CAR list) elemen pertama dari list (CDR list) list selain elemen pertama (CONS atom list) gabungkan atom ke dalam list (NULL? list) memeriksa apakah list kosong?

FUNGSI LIST Paradigma (CAR (a b c)) a (CAR ((a b) c d)) (a b) (CAR a) error, karena a bukan list (CAR ()) error (CDR (a b c)) (b c) (CDR ((a b) c d)) (c d) (CDR a) error (CDR (a)) () (CDR ()) error (CONS a ()) (a) (CONS a (b c)) (a b c) (CADR (a b c)) (CAR (CDR (a b c))) b (NULL? ()) #t (true) (NULL? (a b c)) #f (false)

LATIHAN Paradigma Perhatikan fungsi berikut: { 0 list kosong f (list) = 1 + f (CDR(list)) selainnya Apa nilai dari f( (2 5 1))? Terjemahkan ke dalam pemrograman fungsional. Buat fungsi dan program fungsional untuk mendapatkan elemen terakhir dari suatu list. Contoh: (akhir (a b c)) c.

HOMEWORK Paradigma Buat fungsi matematika dan program fungsional untuk masalah berikut (penjelasan detil ada di LMS): Menentukan jarak Euclidean dari 2 vektor yang masing-masing dinyatakan dalam list. Menghapus elemen list yang sama dan bersebelahan. Menghitung banyaknya sifat yang sama dari 2 obyek, dimana setiap sifat obyek dinyatakan dalam bentuk list. Jawaban diketik menggunakan komputer, simpan dalam format PDF, dan kumpulkan melalui LMS-IPB paling lambat Jumat, 26 Februari 2016 pukul 11am.