ALPRO | MODUL F-04

Sebelumnya saya sudah pernah posting tentang Modul F-03. Kali ini saya akan memberikan sedikit informasi mata kuliah ALPRO di kampus UDINUS kepada para sobat blogger. langsung saja saya membahas mata kuliah "Algoritma dan Pemrograman Modul F-04". Di sini saya akan mengeshare soal dan jawaban sekaligus :) .....
saya menggunakan aplikasi yang bernama CLISP

soal bisa di download disini

oh iya saya lupa untuk coding bisa menggunakan notepad biasa bisa juga noteped++, disini saya menggunakan notepad++ :)

untuk jawaban nya saya ketik dibawah ini, agar para sobat blogger bisa memahami (biar gak cuma copas aja nanti dikira penjiplak  ^_^ )

==============================================================

Rekursif Tipe Bilangan :
;Penjumlahan dan Jumlahan***********************************

(defun Add(m n)
    (if (= n 0) m
        (+ ( Add m (- n 1)) 1)
    )
)

(defun Add1(m n)
    (if (= m 0) n
        (+ (Add1 (- m 1) n) 1)
    )
)

(defun Add2(m n)
    (cond ((And(= m 0)(= n 0))0)
          ((> m 0)(+(Add2 (- m 1) n ) 1))
          ((> n 0)(+(Add2 m (- n 1)) 1))
    )
)

(defun AddTr(m n)
    (if (= m 0) n
        (AddTr (- m 1) (+ n 1))
    )
)

(defun Sum(n)
    (if (< n 1) 0
        (+(Sum (- n 1))n)
    )
)

(defun SumTR(n acc)
    (if (< n 1) acc
        (SumTR (- n 1) (+ acc n))
    )
)

;Perkalian***************************************************

(defun Mult(m n)
    (if (= n 0) 0
        (+ (Mult m (- n 1)) m)
    )
)
(defun MulTR(m n acc)
    (if (= n 0) acc
        (MulTR m (- n 1) (+ acc n))
    )
)

;Pembagian**************************************************

(defun Bagi(m n)
    (if (< m n) 0
        (+ (Bagi (- m n) n) 1)
    )
)

;Modulo*****************************************************

(defun Modulo (n m)
    (if (< n m) n
        (Modulo (- n m) m)
    )
)

;Pagkat*****************************************************

(defun Pangkat(a n)
    (if (= n 0) 1
        (* (Pangkat a (- n 1)) a)
    )
)

;Menentukan Bilangan Ganjil*********************************

(defun IsGanjil(n)
    (cond ((= n 0)nil)
          ((= n 1)t)
          ((IsGanjil (- n 2)))
    )
)

;Faktorial*************************************************

(defun Fact(n)
    (if (= n 0) 1
        (* (Fact (- n 1)) n)
    )
)

;Fibonacci***************************************************

(defun Fibo(n)
    (cond ((= n 0) 0)
          ((= n 1) 1)
          ((+(fibo (- n 1)) (fibo (- n 2))))
    )
)

;Faktor Pembagi Besar*****************************************

(defun FPB(m n)
    (if (= (mod m n) 0) n
        (FPB n (mod m n))
    )
)

;Deret Segitiga************************************************

(defun DeretSegitiga(n)
    (cond   ((= n 1)1)
            ((+(DeretSegitiga (- n 1))n))
    )
)
==============================================================

Rekursif Tipe List :
(defun ambil1(L)
    (car L)
)

(defun hapus1(L)
    (cdr L)
)

(defun count1(L)
    (cond    ((eql (ambil1 L) nil )0)
            (t (+ 1(count1 (hapus1 L))))
    )
)

(defun sum1(L)
    (cond     ((eql (ambil1 L) nil) 0)
            (t (+ (ambil1 L) (sum1 (hapus1 L))))
    )
)

(defun average1(L)
    (* (/ (sum1 L)(count1 L))1.0)
)


(defun tail (le)
    (if (null le) 0
         (cdr le)
    )

)
(defun counts (le)
    (if (atom le) 0
        (+ 1(counts (tail le)))
    )
)
(defun sum (le)
    (if (atom le) 0
        (+ (car le) (sum(tail le)) )
    )
)
(defun average(le)
    (/ (sum le) (counts le))
)
(defun countstr (le ak)
    (if (atom le) ak
        (countstr (tail le) (+ ak 1))
    )
)
(defun sumtr(le ak)
    (if (atom le) ak
        (sumtr (tail le) (+ (car le) ak))
    )
)
(defun averagetr(le)
    (/ (sumtr le 0) (countstr le 0))
)
(defun hitpost (Le)
     (if (null Le)0
         (if (> (car le) 0)
             (+ 1 (hitpost (cdr Le)))
             (+ 0(hitpost (cdr Le)))
         )
     )
)
(defun jumpost(le)
    (if (null le)0
             (if (> (car le) 0)
                 (+ (car le) (jumpost(tail le)) )
                 (+ 0(jumpost (cdr le)))
             )
    )

)
(defun rata(le)
    (/ (jumpost le) (hitpost le))
)
(defun isequal(le1 le2)
    (equal le1 le2)
)
(defun inverse(le)
    (reverse le)
)
(defun maxlist (le)
    (if (not(cdr le)) (car le)
        (if (> (car(reverse le)) (maxlist (reverse(cdr(reverse le)))))
                (car(reverse le))
                    (maxlist(reverse (cdr (reverse le))))
        )
    )
)
(defun selection-sort (le)
  (if (null le) le
    (let ((max-element (maxlist le)))
      (cons max-element(selection-sort (remove max-element le)))
    )
  )
)
(defun insertd (a li)
    (if (or (endp li )(<= a (car li)))    (cons a li)
        (cons (car li)(insertd a (cdr li)))
    )
)
(defun insort (li)
    (if (endp li) li
        (insertd (car li)(insort (cdr li)))
    )
)
==============================================================

jika para blogger malas untuk mengetik, saya langsung kasih file nya dibawah iniii.

jawaban : disini

Sekian postingan  tentang "Modul F-04" tunggu selanjutnya Modul F-05.

0 Comments


EmoticonEmoticon