Senin, 30 Januari 2012

Belajar LISP yuk !!


1. Mukodimah


Lisp merupakan salah astu bahasa pemrograman tertua yang masih dipakai hingga sekarang. Mungkin ada anggapan bahwa Lisp adalah AI ( kecerdasan buatan) dan AI adalah LISP. Konon hal tersebut merupakan insiden ketidak sengajaan, yaitu keduanya “diciptakan” oleh orang yang sama yaitu John McCarthy. Dalam kata pengantar sebuah bukunya ( LISP I PROGRAMMER’S MANUAL – March,1 1960 - MIT) yang pernah saya unduh entah dari mana :

LISP I is a programming system for the IBM 704 for computing with symbolic expression. It has benn used for symbolic calculations in differential and integral calculus, electric circuit theory, mathematical logic and artificial intelligence.

Dengan sekilas membaca paragraf tersebut, kita bias tahu bahwa LISP sangat matematika atau setidaknya mewarisi kematematikaanya dengan sangat kuat.Sebagai sebuah bahasa, LISP berkembang menjadi banyak dialek. Mungkin hal tersebut dikarenakan sifat LISP sebagai “programmable programming language”. Diantara beberapa dialek yang berkembang sampat sekarang adalah CLISP ( Common LISP ), Scheme dan Haskell ( ??). Tetapi bagi orang Indonesia mungkin lebih mengenal Visuallisp atau Autolisp yang dibundel bersama aplikasi Autocad.

Yang akan kita bahas adalah dasarnya saja karena saya bukan seorang lisper bersertifikat alias masih dalam taraf belajar. Mudah – mudahan bermanfaat bagi anda orang Indonesia.

2. Teori


Kita akan mempelajari fungsi dasar ( kadang operator disebut fungsi ). Apa itu fungsi dasar ? singkatnya ya fungsi bawaan yang sudah siap digunakan. Dalam Lisp ceritanya fungsi atau operator dasar ini dibuat jadi tiga kelompok yaitu :

      1.       Operator aritmatik
       Operator ini terdiri dari :
·         Tambah (+)
·         Kurang (-)
·         Kali (*)
·         Bagi (/)
·         Modulo
·         Akar (sqrt) dst
Disini intinya adalah operan-nya numerik dan hasilnya numerik juga.
      2.       Operator relasional
      3.       Operator logika
Sesuai kapasitas saya, kita bahasa saja beberapa anggota dari kelompok pertama alias operator aritmatika.  Sebelum masuk , kita lihat dulu deh perbedaan penulisan notasi pada matematika dan notasi LISP.

         a.       4 + 2
         b.      (+ 4  2)
         c.       5 x 2
         d.      (* 5 2)
         e.      6 : 3
         f.        (/ 6 3)
         g.       8 – 2
         h.      (- 8 2)

Notasi a, c, e & g merupakan notasi umum dalam matematika ( setidaknya yang saya tahu hehe... ) sedangakan notasi b, d, f dan h merupakan notasi LISP. 

Sudah tahu perbedaanya ?

·         Notasi Lisp diawali kurung buka dan diakhiri kurung tutup
·         Operator ditulis sebelum operan – operannya dan dipisahkan dengan spasi.

Dengan melihat contoh diatas mungkin kita akan menarik kesimpulan yang berujung pada syntax umum yaitu :

( <operator>  <operan>  <operan> )

Teorinya cukup ini dulu deh.... Anda tidak perlu jenius untuk memahaminya. Jika nada sangat pintar tentu membaca artikel ini hanya membuang – buang waktu saja.

3. Praktek yuk!


Setelah anda membaca sub teori ( cukup membaca saja, tidak perlu banyak berfikir hehehe ) ada baiknya kita praktek. Untuk itu diperlukan interpreter CLISP atau konsol pada Autocad atau interpreter alami yakni OTAK anda alias percobaan imajiner. 

Baik, cobalah menyelesaikan test mudah ini :

  1. (/ 10  6)
  2. (+ (* 2  3)4)
  3. Tulislah notasi luas persegi panjang
  4. Tulislah notasi volume kubus
  5. (+  4  3  2  1)
  6. (+ (*  4(+  5  4))(-  8 (*  3  2)))
Sekarang bandingkan contoh no 1 dengan :

(/  10.0  6)
(/  10  6.0)

Semoga bermanfaat, bila ada pertanyaan silahkan berkomentar untuk kita diskusikan. Ingat saya bukan pakar LISP, hanya pengagum para lisper saja.

3 komentar:

  1. Kebetulan sy masih belajar software ini gan.. karena tuntutan mata kuliah AI. hehehe..
    mohon bimbingannya donk gan.. biar bisa saling tuker pikiran..

    FB saya www.facebook.com/andrio.prijaya

    BalasHapus
  2. Saya bukan ahli bos :) btw pake Lisp yg mana ? CLISP, SLIME ato yg lain ?
    Klo ebook mungkin ntar saya bantu posting di sini... musti cari dolo di hardisk yg mana .... :)

    BalasHapus
  3. boleh tau akun fb nya gan ?.. :D

    BalasHapus

Related Posts Plugin for WordPress, Blogger...