Search

Belajar CLISP


1.      Kerangka Dasar Program: Adalah bagian-bagian dasar dari suatu program yang harus ada sehingga membuat program tersebut dapat dijalankan atau dioperasikan.
Contoh:
·         Tulis pada text editor (Notepad++) :
(defun helo()(write-string Hello LISP oke))
·         Simpan dengan menyertakan “.lisp” dibelakang nama file dan type file adalah “All Files”
·         Compile file tadi dengan cara :
>(compile-file "c:/lisp/latih/helo.lisp" )
Hingga terdapat output “NIL” pada LISP
·         Load file tadi dengan cara :
>(load "c:/lisp/latih/helo.lisp")
Hingga keluar output ………… is finished.
·         Panggil fungsi tadi dengan cara
> (helo)

2.      Ekspresi: Adalah sebuah teks yang terdiri dari: nama, simbol, operator, fungsi, ( ), yang dapat menghasilkan suatu nilai berkat evaluasi dari ekspresi. Ekspresi aritmatika (numerik), adalah ekspresi dengan operator aritmatika ‘*’, ‘/’, ‘+, ‘-’ dapat dituliskan dalam bentuk infix, prefix atau postfix. Pada notasi fungsional khususnya untuk program LISP sendiri, jenis ekspresi yang dipakai adalah Prefix.
Contoh:
Jenis Ekspresi
Ekspresi Aritmatika
Ekspresi Boolean
Prefix
(+ (* 3 5) 5)
< 3 5
Infix
(3 * 5) + 5
3 < 5
Postfix
(( 3 5 *) 5 +)
3 5 <
1.      Predikat: Adalah suatu fungsi yang digunakan untuk menentukan karakteristik suatu nilai dan atau untuk pemeriksaan suatu besaran.
Contoh:
·         Atom dipakai untuk mencari tahu apakah inputan hanyalah 1 elemen saja.
Contoh :
(atom 3) hasilnya T.
(atom '(1 2 3)) hasilnya NIL.
·        LISTP dipakai untuk mencari tahu apakah inputan adalah suatu list.
Contoh :
(listp 1) hasilnya NIL.
(listp '(1 2)) hasilnya T.
·      NUMBERP dipakai untuk mencari tahu apakah inputan adalah angka. Sebaliknya  SYMBOLP dipakai untuk char/huruf.
Contoh :
(numberp 1) hasilnya T.
(symbolp 'a) hasilnya T.
·      ODDP dipakai untuk mencari tahu apakah inputan adalah angka ganjil. Sebaliknya EVENP dipakai untuk angka genap.
Contoh :
(oddp 1) hasilnya T.
(evenp 2) hasilnya T.
·       INTEGERP dipakai untuk mencari tahu apakah inputan adalah bilangan bulat. Sebaliknya FLOATP dipakai untuk bilangan desimal.
Contoh:
(integerp 1) hasilnya T.
(floatp 2.0) hasilnya T.
·      NULL bila dipakai dalam list akan mencari tahu apakah list tersebut kosong. Akan tetapi dapat dipakai sebagai negasi juga.
Contoh :
(null '()) hasilnya T.
(null '(1 2)) hasilnya NIL.
·      PLUSP untuk mengindikasikan suatu input bilangan bernilai positif atau tidak.
Contoh :

(plusp 1) hasilnya T.
(plusp -3)hasilnya NIL.

2.      Fungsi Matematika: Adalah suatu fungsi yang sifatnya seperti predikat yaitu untuk menentukan suatu keluaran dari sebuah nilai hanya saja nilai keluaran yang dihasilkan adalah hasil dari suatu pengoperasian aritmatika.
Contoh :
·           MAX dipakai untuk mencari elemen tertinggi dalam inputan. MAX tidak dapat dipakai untuk list ataupun char. Dan MIN dipakai untuk mencari elemen terendah dalam inputan.
Contoh:
(max 1 2 3) hasilnya 3.
(min 1 2 3) hasilnya 1.

·           EVAL dipakai untuk mengevaluasi pernyataan.
Contoh :
Bila kita menulis '(+ 3 2) maka hasilnya bukanlah 5 melainkan (+ 3 2) karena adanya tanda ' membuat CLISP mengira (+ 3 2) adalah sebuah list. Karena itu kita dapat menuliskan (eval '(+ 3 2)) dan hasilnya adalah 5. EVAL akan error bila menginputkan list tanpa operator seperti (eval '(a 1 2)).
·           FLOOR dipakai untuk memisahkan suatu bilangan dengan bilangan desimalnya.
Contoh :
(floor 2.89) hasilnya 0.89
·           CEILING dipakai untuk menghitung nilai untuk membuat genap suatu bilangan. Digenapkan pada bilangan diatasnya. TRUNCATE untuk menghitung nilai untuk membuat genap sutau bilangan pada bilangan dibawahnya. Sedangkan ROUND untuk menghitung suatu nilai bilangan yang digenapkan. Dengan syarat  n > 0.5 dibulatkan diatasnya, n< 0.5 dibulatkan dibawahnya .
Contoh : (ceiling 3.5) hasilnya -0.5, digenapkan bilangan 4
               (truncate 3.5) hasilnya 0.5, digenapkan bilangan 3
               (round 3.6) hasilnya -0.4 digenapkan diatsnya sebab n > 0.5
·           (EXPT b e) dipakai  mengembalikan pangkat dari e dengan basis b
       logaritma asli
       Contoh : (EXPT 10 2) hasilnya 100
·           (LOG bil [b]) : Mengembalikan bilangan logaritma bilangan bil
dalam basis b.
Contoh : (log 8 2) hasilnya 3
·                                                 ABS  : Untuk memberi nilai positif pada semua bilangan yang diinput.
Contoh :
(abs -8) hasilnya 8
·           (SIGNUM bil) : mengembalikan -1, nol atau 1 tergantung bil
tersebut positif, nol atau negatif.
Contoh :
(signum 16) hasilnya 1
(signum -16) hasilnya -1
·           SQRT dipakai untuk mencari akar 2 dari bilangan yang diinput.
Contoh : (sqrt 4) hasilnya 2
·           ISQRT number : untuk mencari lebih besar atau kurang dari positif akar dari
suatu bilangan.
Contoh :
(isqrt 40) hasilnya 6
(isqrt 10) hasilnya 3






0 comments:

Post a Comment