ALPRO | MODUL F-05

Sebelumnya saya sudah pernah posting tentang Modul F-04. 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-05". 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  ^_^ )

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

Modul F-05 :
;Modul F-05
;Definisi dan Spesifikasi Konstruktor

(defun Konso(e L)
    (cons e L)
)

(defun Kons(L e)
    (reverse (cons e (reverse L)))
)

;Definisi dan Spesifikasi Selektor O
(defun FirstElmt(L)
    (car L)
)

(defun Tail(L)
    (cdr L)
)

(defun LastElmt(L)
    (car (reverse L))
)

(defun Head(L)
    (reverse (cdr (reverse L)))
)

(defun IsEmpty(L)
    (if    (null L)t
        nil
    )
)

(defun IsOneElmt(L)
    (if (and (null (Tail L)) (not (IsEmpty L)) )t
        nil
    )
)

(defun IsEqual(L1 L2)
    (cond    ((and (null L1) (null L2)) T)
            ((equal (FirstElmt L1) (FirstElmt L2)) (IsEqual (Tail L1) (Tail L2)))
    )
)


(defun NbElmt(L)
    (length L)
)

(defun NbElmt1(L)
    (if    (null L)0
        (+ 1 (NbElmt (Tail L)))
    )
)

(defun ElmtkeN(N L)
    (cond    ((or (IsEmpty L) (= N 0))nil)
            ((= N 1) (FirstElmt L))
            ((ElmtkeN (- n 1) (Tail L)))
    )
)

(defun Copy(L)
    (cond    ((IsEmpty L) '() )
            ((Konso (FirstElmt L) (Tail L)))
    )
)

(defun CopyTail(L)
    (cond    ((IsEmpty L) '() )
            ((Kons (Head L) (LastElmt L)))
    )
)

(defun Inverse(L)
    (reverse L)
)

(defun InverseR(L)
    (cond    ((IsEmpty L) '() )
            ((Kons (Inverse(Tail L)) (FirstElmt L)))
    )
)

;rekurens terhadap L1
(defun Konkat(L1 L2)
    (cond    ((IsEmpty L1) L2)
            ((Konso (FirstElmt L1) (Konkat (Tail L1) L2)))
    )
)

;rekurens terhadap L2
(defun konkat2(L1 L2)
    (cond    ((IsEmpty L2) L1)
            ((Konkat (Kons L1 (FirstElmt L2)) (Tail L2)))
    )
)

;Definisi dan Spesifikasi Predikat
(defun IsMember(X L)
    (if    (null L)nil
        (if (equal X (FirstElmt L))T
            (IsMember X (Tail L))
        )
   
    )
)

(defun IsFirst(X L)
    (cond    ((null L)nil)
            ((equal X (FirstElmt L)) T)
            ((IsFirst X (Head L)))
    )
)

(defun IsLast(X L)
    (cond    ((null L)nil)
            ((equal X (FirstElmt(reverse L)))T)
            ((IsLast X (Tail L)))
    )
)

(defun IsNbElmtN1(N L)
    (if    (and (/= N 0)(IsEmpty L))nil
        (if    (= N (NbElmt L))t
            (IsNbElmtN1 (NbElmt L) (Tail L))
        )
    )
)

(defun IsNbElmtN(N L)
    (if    (= N (NbElmt L))T
        nil
    )
)

(defun IsInverse(L1 L2)
    (if    (= (NbElmt L1) (NbElmt L2))
        (if    (and (IsEmpty L1) (IsEmpty L2))T
            (and (= (FirstElmt L1) (LastElmt L2)) (IsInverse (Head(Tail L1)) (Head(Tail L2))))
        )
        nil
    )
)
   
(defun IsXElmtkeN (N X L)
    (if    (IsEmpty L) nil
        (if (not (equal (ElmtkeN N L) X))
            (IsXElmtKeN N X (Tail L))
            T
        )
    )
)
==============================================================

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

jawaban : disini

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

0 Comments


EmoticonEmoticon