HomeHome  PortalPortal  CalendarCalendar  GalleryGallery  FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  RegisterRegister  Log inLog in  

Share | 
 

 Belajar GNU CLISP

View previous topic View next topic Go down 
AuthorMessage
putriruslimiana
Newbie
Newbie


Jumlah posting : 11 Age : 22

PostSubject: Belajar GNU CLISP    Fri Oct 05, 2012 11:09 pm

Form dapat juga berupa list. Jika form yang bersangkutan adalah list, maka atom pertama list tersebut haruslah merupakan sebuah fungsi. Atom-atom sisanya (jika ada) akan menjadi argumen fungsi. Sebagai contoh, fungsi yang telah didefinisikan dalam Lisp adalah fungsi +, yang akan menjumlahkan atom-atom lainnya. Inilah beberapa contoh penggunaannya:

> (+ 3 4)
] 7

> (+ 1 2 3)
] 6

Di dalam contoh yang pertama, + bertindak sebagai fungsi, sedangkan 3 dan 4 bertindak sebagai argumen untuk fungsi +. Contoh yang kedua memberikan tiga argumen untuk fungsi +. Fungsi-fungsi aritmatika lainnya adalah fungsi -, *, dan /.
Karena kita dapat memasukkan list ke dalam list, kita dapat menyusun perhitungan yang kompleks hanya dengan aturan-aturan yang telah kita pelajari. Inilah contohnya:

> (* 2 (+ 3 4 5)) (artinya 2*(3+4+5) )
] 24

> (- (* 3 3) (* 4 4)) (artinya 3*3 - 4*4 )
] -7

> (* (+ 3 4) (- 3 4)) (artinya (3+4)(3-4) )
] -7

Fungsi-fungsi matematika lain contohnya adalah mod, sqrt, exp (perpangkatan dengan basis e), expt (perpangkatan dengan basis apapun), log (logaritma natural), sin, cos, dan tan. Inilah beberapa contoh penggunaannya (dan maksudnya):

> (mod 8 3) (sisa pembagian pada saat 8 dibagi 3)
] 2

> (sin (+ 3 4)) (artinya sin(3+4) )
] 0.6569866

> (+ (* (sin 3) (cos 4)) (* (cos 3) (sin 4)) ) (artinya sin(3)cos(4) + cos(4)sin(3) )
] 0.6569866

> (exp 1) (artinya e pangkat 1)
> 2.7182817

> (expt 2 3) (artinya 2 pangkat 3)
> 8

Simbol adalah atom yang tidak self-evaluating, dan dapat kita beri nilai. Kita tidak perlu mendeklarasikan simbol dan menentukan tipe datanya. 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. Inilah contohnya:

> (setq a 100) (memasukkan nilai 100 ke simbol a)
] 100

> (setq b 20)
] 20

> a
] 100

> b
> 20

> (+ a b) (menjumlahkan a dan b)
] 120

> (setq c (* 2 a)) (memberikan nilai 2*a ke simbol c)
] 40

> z
] *** - EVAL: variable Z has no value

Dengan pengetahuan yang kita punya sekarang, kita dapat memanfaatkan Lisp sebagai alat bantu perhitungan. 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)) )
] 49

Karena d positif, pasti kita akan mendapat dua penyelesaian riil (sebetulnya Lisp juga dapat menangani bilangan complex, silahkan coba sendiri). Kita akan mencari penyelesaiannya satu-persatu:

> (/ (+ (- b) (sqrt d)) (* 2 a) ) ( (- b) sama dengan (- 0 b) )
] 3

> (/ (- (- b) (sqrt d)) (* 2 a) )
] -1/2

Kalau menuliskan semuanya di satu baris terlihat membingungkan, kita dapat juga menuliskannya sebagai berikut:

>
(/
(+ (- b) (sqrt d) )
(* 2 a)
)
] 3

>
(/
(- (- b) (sqrt d) )
(* 2 a)
)
] -1/2

Inilah akhir dari tutorial kita! Yang kita ulas barulah permukaan dari suatu bahasa pemrograman yang menakjubkan, yang diharapkan menarik minat anda untuk mempelajari Lisp lebih lanjut.
Back to top Go down
View user profile
 
Belajar GNU CLISP
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» Belajar Bahasa Arab, Yuk?
» Mari Belajar Bahasa Inggris (Warning: It's a fraud by 9 Rays' Engineering Motorsport)
» Belajar Racing Line di Sirkuit Sentul
» [PIC] Hayoo Kita Belajar Knee Down...
» Belajar menjadi fansubber

Permissions in this forum:You cannot reply to topics in this forum
 :: Kampus HIMATIF UNIB :: Software And Programming Room-
Jump to: