ALPRO | Modul F-02

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-02". Di sini saya akan mengeshare soal dan jawaban sekaligus :) .....
saya menggunakan aplikasi yang bernama CLISP

soal bisa di download disini

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


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

AK1 :
;1a
(defun Kond1(n)
    (cond ((< n 10) 20)
        ((> n 20) 0)
        (t 1);awalnya dalam modul F-02 tidak tertulis t,melainkan else dan malah menyebabkan error
    )
)

;1b
(defun Kond1b(n)
    (cond ((< n 10) 20)
        ((and (> n 20) (<= n 0)))
        (t 1);awalnya dalam modul F-02 tidak tertulis t,melainkan else dan malah menyebabkan error
    )
)

;2
(defun Kond2(n)
    (cond ((< n 10) 20)
        (* 10 n)
        (t 555);awalnya dalam modul F-02 tidak tertulis t,melainkan else dan malah menyebabkan error
    )
)

;3
(defun Kond3(n)
    (cond((<= n 1000) .040)
         ((<= n 5000) .045)
         ((<= n 10000) .055)
         ((> n 10000) .060)
    )   
)

;4
(defun Kond4(n)
    (cond ((<= n 1000) (* .040 1000))
        ((<= n 5000) (+ (* 1000 .040)
                     (* (- n 1000) .045)))
        (t (+ (* 1000 .040);awalnya dalam modul F-02 tidak tertulis t,melainkan else dan malah menyebabkan error
                 (* 4000 .045)
                 (* (- n 10000) .055)))
    )
)

;5 Mencari Suku Bunga
(defun SukuBunga(x)
    (cond ((<= x 1000000)(* x 0.040))
          ((and (> x 1000000)(<= x 5000000))(* x 0.045))
          ((> 5000000)(* x 0.050)))
)

;6 Pengembalian Uang Tagihan
(defun TagihanKembali(x)
    (cond ((<= x 500000)(* x 0.0025))
          ((and (> x 500000)(<= x 1500000))(+(* 500000 0.0025)(* (- x 500000) 0.005)))
          ((and (> x 1500000) (<= x 2500000))(+(* 500000 0.0025)(* (- x 500000) 0.005)(* (- x 1500000) 0.0075)))
          ((> x 2500000)(+(* 500000 0.0025)(* (- x 500000) 0.005)(* (- x 1500000) 0.0075)(* (- x 2500000) 0.01)))
    )
           
)
================================================================

AK2 :
;7 Mengubah Bilangan Ganjil Menjadi Genap
(defun MakeGenap(x)
    (if (=(mod x 2)1)
        (+ x 1)
    x)
)

;8 Bilangan Selanjutnya
(defun NextBil(x)
    (if (> x 0)(+ x 1)
    (if    (< x 0)(- x 1)
    (if    (= x 0)(string "tetap")
    )))
)

;9 Ingkaran dari input Jika T-NIL dan  sebaliknya
(defun Bukan (x)
    (if (eq x T)
        (not T)
    T)
)

;10 Fungsi Absolut Jika input Negatif-Positif, jika positif-tetap
(defun Absolut (x)
    (if (<= x 0)
        (* x -1)
    x)
================================================================

eksp :
(defun in-interval-1?(x)
    (and (< -3 x)(< x 0))
)

(defun in-interval-2?(x)
    (or (< x 1)(> x 2))
)

(defun in-interval-3?(x)
    (not(and (<= 1 x)(<= x 5)))
)
================================================================

ekspfung :
;1 Fahrenheit-Celcius
(defun FahCel(f)
    (*(*(- f 32)/ 5 2) 1)
)

;2 Dolar-Euro
(defun DolarEuro(dollar)
    (* dollar 0.7)
)

;3 Luas-Segitiga
(defun LuasSegitiga(p h)
    (* p h 0.5)
)

;4 Konversi
(defun convert3 (satu puluh ratus)
    (+(* ratus 100)(* puluh 10) satu)
)

;5-1 Penghasilan Kotor
(defun Upah(jam)
    (* jam 12)
)

;5-2 Penghasilan Kena Pajak
(defun Tax(dollar)
    (* dollar 0.15)
)

;5-3 Penghasilan Bersih
(defun PPH(jam)
    (-(* jam 12)(* jam 12 0.15))
)
================================================================

interval :
;1 Interval (3,7]
(defun Interval1 (x)
    (and (> x 3)(<= x 7))
)

;2 Interval [3,9)
(defun Interval2 (x)
    (and (>= x 3)(< x 9))
)

;3 Union dari (1,3) dan (9,11)
(defun Interval3 (x)
    (or (and (> x 1)(< x 3))(and (> x 9)(< x 11)))
)

;4 Di Luar Range [1,3]
(defun Interval4 (x)
    (not (and (>= x 1) (<= x 3)))
)
================================================================

kasus1 :
(defparameter *InchToCm* 2.54)
(defparameter *FeetToInch* 12)
(defparameter *YardToFeet* 3)
(defparameter *RodToYard* (/ 5 2))
(defparameter *FurlongToRod* 40)
(defparameter *MileToFurlong* 8)

(defun InchToCm(in)
    (* in *InchToCm*)
)

(defun FeetToInch(feet)
    (* feet *FeetToInch*)
)

(defun YardToFeet(yard)
    (* yard *YardToFeet*)
)

(defun RodToYard(rod)
    (* rod *RodToYard*)
)

(defun FurlongToYard(fur)
    (* fur *FurlongToRod* *RodToYard*)
)

(defun MileToFurlong(mil)
    (* mil *MileToFurlong*)
)

(defun FeetToCm(feet)
    (* feet *FeetToInch* *InchToCm*)
)

(defun YardToCm(yard)
    (* yard *YardToFeet* *FeetToInch* *InchToCm*)
)

(defun RodToInch(rod)
    (* rod *RodToYard* *YardToFeet* *FeetToInch*)
)

(defun MileToFeet(mil)
    (* mil *MileToFurlong* *FurlongToRod* *RodToYard* *YardToFeet*)
)
================================================================

kasus2 :
(defun VolumeSilinder (r h)
    (* (/ 22 7) r r h)
)
================================================================

kasus3 :
(defun LuasSilinder(r h)
               (+ (*(/ 22 7)2 r r)(*(*(/ 22 7)2 r) h))
          )

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

Sekian postingan tentang modul "F-02" tunggu postingan tentang modul lainnya.

0 Comments


EmoticonEmoticon