Fungsi di Haskell
Penjelasan
Fungsi di Haskell didefinisikan dengan pola `namaFungsi parameter1 parameter2 = ekspresi` — TANPA kata kunci `return` (return di Haskell punya arti berbeda, dibahas nanti di topik IO). Nilai dari ekspresi di sisi kanan `=` otomatis jadi hasil fungsi.
Contoh Konsep
sapa :: String -> String
sapa nama = "Halo, " ++ nama ++ "!"
tambah :: Int -> Int -> Int
tambah a b = a + b
main :: IO ()
main = do
putStrLn (sapa "Budi")
print (tambah 3 4)
Praktikum
Buat fungsi hitungDiskon :: Double -> Double -> Double yang mengembalikan harga setelah dipotong diskon (parameter: harga, persen).
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Tipe fungsi `String -> String` dibaca "menerima String, mengembalikan String". Untuk fungsi 2 parameter, `Int -> Int -> Int` dibaca "menerima Int, lalu Int lagi, mengembalikan Int" — ini terkait konsep currying, dibahas lebih lanjut nanti.