FUNCTIONAL PROGRAMMING

Slides:



Advertisements
Presentasi serupa
TURUNAN/ DIFERENSIAL.
Advertisements

Pemrograman Terstruktur
Pengendalian Proses : Seleksi (Conditional)
FILE pada FORTRAN Pertemuan 9
Menempatkan Pointer Q 6.3 & 7.3 NESTED LOOP.
Tugas Praktikum 1 Dani Firdaus  1,12,23,34 Amanda  2,13,24,35 Dede  3,14,25,36 Gregorius  4,15,26,37 Mirza  5,16,27,38 M. Ari  6,17,28,39 Mughni.
 Pembukaan WIB (Gedung Pusat Kegiatan Mahasiswa)  Babak Penyisihan WIB (Gedung Pusat Kegiatan Mahasiswa)  Pengumuman Hasil.
SOAL ESSAY KELAS XI IPS.
Dr. Anto Satriyo Nugroho, M.Eng
Kuliah 03 – Pengenalan Analisa Sintak
Praktikum 2 Bahasa Pemrograman PLT Scheme : Membuat Program
Mulai Baca x x>x; if(x
ARRAY STATIS DAN DINAMIS
DASAR-DASAR PEMROGRAMAN C
STRUKTUR DISKRIT PROBABILITAS DISKRIT PROGRAM STUDI TEKNIK KOMPUTER
LINKED LIST.
Type Rekursif LIST Tim Pengajar IF1282 Sem
FUNCTION / FORMULA 1. Logical Function 1.AND(logical1;[logical2]; … ) 2.OR(logical1;[logical2]; … ) 3.NOT(logical) 4.FALSE() 5.TRUE()
Pemrograman Web Perl.
GRUP Zn*.
Linked List BEBERAPA CONTOH SOAL 6.3 & 7.3 NESTED LOOP.
MICROSOFT EXCEL 2000 Bagian #2 Formula #1. MS Excel 2000 #2 – Haryoso Wicaksono 2 Control Panel Periksa Regional Setting, khususnya : pemisah desimal,
TURUNAN DIFERENSIAL Pertemuan ke
CARA MENYATAKAN HIMPUNAN
+ Pemrograman Javascript Teknik Informatika Universitas Bunda Mulia Jakarta Chandra Hermawan H., M.Kom., MM.
Matakuliah : Algoritma & Struktur Data Versi Materi
Relasi Ekivalen dan Urutan Parsial
LINK LIST Latifah Rifani.
Perhatikan gambar berikut
Algoritma dan Struktur Data
PERTEMUAN KE 9 MENU TUNGGAL.
CSE1301 Sem /8/2017 File I/O Lecture 19: File I/O.
Pemrograman Terstruktur
KONTROL ALUR EKSEKUSI PROGRAM
Pemrogramman Terstruktur
Situasi Saat Program Berjalan (Run-time Environment)
Quiz struktur data Genap 2013.
REVIEW HIMPUNAN PENGERTIAN HIMPUNAN REPRESENTASI HIMPUNAN
Pertemuan Pertama Pengantar Peluang Gugus Definisi Peluang.
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
Himpunan Pertemuan Minggu 1.
STACK (Tumpukan).
Struktur Data (Data Structure) – IS 2313
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir
Soal-Soal Latihan Mandiri
5. 1 Bab 05 Tipe Data dan Mengisi Variabel.
PERTEMUAN KE-5 Kamis, 7 Oktober Pemetaan Trianguler Array ABCDE FGHI JKL MN O A B C D E F G H I J K L M N O T(1,1)  S(1)T(2,1)  S(N+1) T(1,2)
Algortima Pemrograman Muhamad Akbar
Himpunan.
WISNU HENDRO MARTONO,M.Sc
Penalaran Mamdani dan Tsukamoto Pada pendekatan Fuzzy Inference System
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
STACK.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
STRUKTUR DATA Queue atau Antrian.
1 Pertemuan 4 Bahasa Pemrograman Logika Matakuliah: H0383/Sistem Berbasis Pengetahuan Tahun: 2005 Versi: 1/0.
SENARAI BERANTAI TUNGGAL
Nilai dan Tipe Data Nilai dan Tipe data
Algoritme dan Pemrograman
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Tim struktur data IF UNIKOM
LISP part 2 By : asisten KBP ‘09.
Remainder Senin depan mulai UTS Praktikum
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
Tim struktur data IF UNIKOM
Algoritme dan Pemrograman
Algoritme dan Stuktur Data
Tim struktur data IF UNIKOM
LISP(List Processing) Programming language
Transcript presentasi:

FUNCTIONAL PROGRAMMING Bahasa Pemrograman Kuliah #3 Julio Adisantoso

Julio Adisantoso, ILKOM-IPB List Dasar dari struktur data Scheme adalah list, sebagai instruksi dan data. Contoh: (list 0 2 4 6 8) (list "bogor" "jakarta") '(1 2 3 4 5) '() ;empty list atau null '(0 2 4 6 . 8) ;tidak ada null Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB List '(0 2 4 6 8) 2 4 6 8 nil Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB List '(0 2 4 6 . 8) 2 4 6 8 Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB Predefined function (length (list "a" "b" "c")) ; hitung elemen 3 (list-ref (list "a" "b" "c") 0) ; ambil elemen "a" (list-ref (list "a" "b" "c") 1) "b" (append (list "a" "b") (list "c")) ; combine lists ("a" "b" "c") (reverse (list "a" "b" "c")) ; reverse order ("c" "b" "a") (member "d" (list "a" "b" "c")) ; anggota? #f Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB Predefined lists loop (map sqrt (list 1 4 9 16)) (1 2 3 4) (andmap string? (list "a" "b" "c")) #t (andmap string? (list "a" "b" 6)) #f (ormap number? (list "a" "b" 6)) (filter string? (list "a" "b" 6)) ("a" "b") (filter positive? (list 1 -2 6 7 0)) (1 6 7) Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB Fungsi Utama cons Dua argumen, yaitu simbol dan list. Jika argumen kedua bukan list, maka dibuat list titik. Contoh: (cons 8 '()) ; (8) (cons 8 empty) ; (8) (cons 8 (list 3 5)) ; (8 3 5) (cons 6 (cons 8 empty)) ; (6 8) (cons 6 (cons 8 9))) ; (6 8 . 9) Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB Fungsi Dasar first & rest car & cdr first mengembalikan elemen pertama dari list rest  mengembalikan list selain elemen pertama Contoh: (first (list 2 3 4)) ; 2 (rest (list 2 3 4)) ; (3 4) (first (rest (list 2 3 4))) ; 3 Fungsi tradisional untuk first dan rest adalah car dan cdr (dibaca could-er) (car (list 2 3 4 5)) ; 2 (cdr (list 2 3 4 5)) ; (3 4 5) (cadr (list 2 3 4 5)) ; 3 (caddr (list 2 3 4 5)) ; 4 Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB Fungsi Dasar empty? & cons? empty?  apakah suatu list kosong? cons?  apakah suatu list tidak kosong? Contoh: > (empty? empty) ;#t > (empty? (cons "head" empty)) ;#f > (cons? empty) ;#f > (cons? (cons "head" empty)) ;#t Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB Latihan Buat fungsi menjumlahkan setiap elemen list > (sum '(10 20 15)) 45 (define (sum x) (if (empty? x) (+ (first x) (sum (rest x))) ) Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB Latihan Buat program menghitung banyaknya elemen list yang nilainya kurang dari suatu nilai tertentu > (hitung 10 '(1 2 15 7 25 10)) 3 (define (hitung a x) (if (empty? x) 0 (if (< (first x) a) (+ 1 (hitung a (rest x))) (hitung a (rest x)) ) ) ) Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB Latihan Buat program menghapus elemen list yang sama dan bersebelahan > (hapus (list "a" "b" "b" "b" "c" "c")) ("a" "b" "c") (define (hapus x) (cond ((empty? x) x) ((empty? (rest x)) x) ((equal? (first x) (first (rest x))) (hapus (rest x))) (#t (cons (first x) (hapus (rest x)))) ) Julio Adisantoso, ILKOM-IPB

Julio Adisantoso, ILKOM-IPB Latihan Buat program mengganti elemen list > (subst 'x 2 '(1 2 3 2 1)) (1 x 3 x 1) (define (subst y x alist) (if (null? alist) empty (if (equal? x (first alist)) (cons y (subst y x (rest alist))) (cons (first alist) (subst y x (rest alist))) ) Julio Adisantoso, ILKOM-IPB