LISP merupakan
bahasa pemrograman yang suadah tua tetapi masih populer hingga saat ini.
Kelebihan dari LISP adalah terletak pada kemudahan dalam memanipulasi simbol
dan hubungan antar simbol.
Elemen Dasar LISP
Dalam bahasa pemrograman
LISP terdapat dua elemen dasar. Elemen dasar tersebut adalah:
List
List merupakan
segala sesuatu yang dimulai dan diakhiri dengan tanda kurung.
Contoh :
() => merupakan list kosong.
(5 4 3 2 1) =>
merupakan list integer.
(a b c d e) =>
merupakan list karakter.
(List (x y z))
=> merupakan list dalam list.
Atom
Atom merupakan
elemen-elemen yang berada di dalam List. Syarat utama dari atom adalah diawali
dan diakhiri spasi. Terdapat 2 jenis atom, diantaranya adalah :
- Numerik (angka), merupakan atom berupa integer atau real.
- Simbolik (simbol), merupakan atom berupa karakter atau string.
Operator dan Operan
Operator merupakan simbol atau karakter yang
biasa dilibatkan untuk melakukan sesuatu operasi atau manipulasi. Dalam
ekspresi fungsional terdapat 3 jenis operator, yaitu:
Operator Aritmatika (+, -, *, / , mod, expt)
Operator Rasional (=, /=, <, >, <=,
>=)
Operator Boolean (true, false)
Operan merupakan angka atau simbol yang akan diproses atau
dimanipulasi.
Susunan :
( <operator> <operan> <operan>
)
Form
Form merupakan sesuatu yang
akan dicari nilainya. Form dapat berupa list atau atom. Penanganan form sangat
sederhana jika yang terlibat merupakan atom. Jika atom terdiri dari angka atau
numerik, maka hasilnya adalah angka itu sendiri.
Contoh :
>69
]69
>-5.6454
]-5.6454
>7/9
]7/9
Yuk Praktek yuk !!!!!!
Berikut ini merupakan
beberapa contoh fungsi matematika yang sering digunakan dalam LISP :
> (+ 6
2)
] 7
> (- 6
2)
] 4
> (mod 7 3)
(sisa pembagian saaat 7 dibagi 3)
] 1
> (expt 3 2)
(artinya 3 pangkat 2)
] 9
Kita dapat melakukan
perhitungan yang kompleks dengan memanfaatkan list dalam list.
Contoh :
> (* 2 (- 7 2) ) (artinya
2*(7 - 2) )
] 10
> (*
(- 7 2) (+ 3 2) ) (artinya
(7 - 2) (3 + 2) )
] 25
Selain itu kita juga dapat
menggunakan simbol yang telah diberi nilai sebelumya. Artinya suatu simbol
dapat berisi integer pada suatu waktu, namun di waktu lain dapat berisi data
dengan tipe lain (contohnya list). Kita dapat memberikan nilai ke simbol dengan
menggunakan fungsi setq.
Contoh :
> (setq
b 75) (memasukkan
nilai 75 ke simbol b)
] 75
> (setq
c 50) (memasukkan
nilai 50 ke simbol c)
] 50
Jadi telah kita masukkan nilai ke simbol b = 75 dan
c = 50 , maka
> (- b c) (artinya
b dikurangi c)
] 25
Contoh
Kasus :
Sebagai
contoh, misalkan kita ingin mencari penyelesaian dari 2x2-5x-3=0.
Kita akan menggunakan rumus abc, jadi pertama-tama kita akan memberikan nilai
pada simbol a, b, dan c.
> (setq a 2)
] 2
> (setq b -5)
] -5
> (setq c -3)
] -3
Selanjutnya kita akan memberikan nilai ke diskriminannya d, yaitu b2-4ac.
> (setq d (- (* b b) (* 4 a c)) )
] 4
Karena
d positif, pasti kita akan mendapat dua penyelesaian riil.
> (/ (+ (- b) (sqrt d)) (* 2 a) ) ( (- b) sama dengan (- 0 b) )
] 3
> (/ (- (- b) (sqrt d)) (* 2 a) )
] -1/2
Permasalahan
Tetapi perlu kita ketahui
juga bahwa tipe data angka terdapat beberapa macam. Pada tipe data float atau
bentuk desimal dapat terjadi underflow ( jika nilai mutlak pecahannya terlalu
kecil) dan juga overflow (jika nilai mutlak pecahannya terlalu besar)
Contoh :
>0.000000000000000000000000000000000000000000000000001
]*** - floating point
underflow
>999999999999999999999999999999999999999999999999999.0
]*** - floating point
overflow
Solusi
Untuk mengatasi saat
terjadi error seperti underflow ataupun overflow adalah dengan mengetikkan
“quit” (tanpa tanda petik) saaat berada di mode debug. Hal ini dimaksudkan
mengabaikan inputan terakhir yang bermasalah.
Contoh :
>999999999999999999999999999999999999999999999999999.0
]*** - floating point
overflow
Break 1> quit
>(kita dapat melanjutkan penulisan program dengan mengabaikan inputan
terkhir yang bermasalah)
"Nah itu merupakan sedikin info bagaimana menggunakan LISP......Semoga Bermanaat!!!!!!!!!!!"
sangat membantu..nice info gaiss
BalasHapusYuk Praktek yuk !!!!!!
BalasHapusBerikut ini merupakan beberapa contoh fungsi matematika yang sering digunakan dalam LISP :
> (+ 6 2)
] 7
> (- 6 2)
] 4
> (mod 7 3) (sisa pembagian saaat 7 dibagi 3)
] 1
> (expt 3 2) (artinya 3 pangkat 2)
] 9
Mohn Diralt Sedikt Gan,,,
Itu Prakteknya > (+ 6 2) Kenapa Bisa 7, Kan Sehrsnya 8,,,