Praktikum 2 Bahasa Pemrograman LISP / Scheme Karimul Makhtidi Muhammad Abrar Istiadi
Kondisional when (when (kondisi) (ekspresi) ) if (kondisi) { ekspresi; Untuk if yang tanpa else (when (kondisi) (ekspresi) ) Ekspresi dijalankan jika kondisi bernilai benar if (kondisi) { ekspresi; }
Kondisional unless (unless (kondisi) (ekspresi) ) if (!kondisi) { Untuk if yang tanpa else juga (unless (kondisi) (ekspresi) ) Ekspresi dijalankan jika kondisi bernilai salah if (!kondisi) { ekspresi; }
Kondisional cond Mirip switch … case di bahasa C (cond ((kondisi1) (ekspresi1)) ((kondisi2) (ekspresi2)) ... (#t (ekspresi_default)) )
Latihan Buat fungsi untuk mencari nilai mutlak dari suatu bilangan. Pake when atau unless. Pake if > (mutlak 5) 5 > (mutlak -5) > (mutlak 0)
Lagi … Buat fungsi untuk meng-akar-kan bilangan positif (artinya, kalau inputnya negatif nggak keluar hasilnya) > (akarin 4) 2 > (akarin -4) >
Lagi … Buat fungsi membandingkan 2 bilangan > (bandingin 1 2) "lebih kecil" > (bandingin 2 1) "lebih besar" > (bandingin 2 2) "sama"
String Dibuat pake tanda kutip dobel (double- quote) > "Hello World" "Hello World" > (disp "Hello World") Hello World > (printf "Hello ~a World" 1234) Hello 1234 World
(substring str start [end]) Mengambil potongan str mulai dari karakter ke-start sampai ke-end Kalau end nggak dikasih, diambil sampai belakang > (substring "gw ganteng" 0 1) "g" > (substring "gw ganteng" 1) "w ganteng" > (substring "gw ganteng" 3 6) "gan"
Membandingkan string Fungsi-fungsinya: (string=? str1 str2) (string-ci=? str1 str2) (string-ci>? str1 str2) … dkk (baca help)
Latihan Buat fungsi untuk menghitung panjang string. Gunakan fungsi rekursif dan substring. > (panjang "IPB") 3 > (panjang "gw ganteng") 10
Latihan Buat fungsi untuk menghitung banyaknya huruf tertentu pada suatu string > (hitung "a" "gw ganteng") 1 > (hitung "g" "gw ganteng") 3