Memahami Dasar Matematika Haskell Purely Functional Programming Language

0
375
views
Pengenalan Haskell dan Purely Functional Programming Language
Pengenalan Haskell dan Purely Functional Programming Language

Artikel ini akan membantu anda untuk memahami dasar matematika haskell sebagai purely functional programming language. Pastikan anda sudah mengikuti tutorial untuk install compiler haskell pada tutorial Cara Install Compiler Haskell Pada Windows. Karena pada artikel ini kita akan bermain – main dengan GHCI, compiler haskell.

Baca juga: Cara Install Compiler Haskell Pada Windows

Masuk ke GHCI dengan cara masuk ke command prompt / windows power shell / terminal lalu ketik GHCI,

Pada awal instalasi prompt yang anda gunakan adalah prelude>. Namun karena prelude> menjadi lambat ketika kita load banyak script / kode dan session, pada tutorial ini kita akan menggunakan prompt ghci.

Untuk menggunakan prompt GHCI anda cukup mengetik kode ini pada terminal:

:set prompt "ghci> "

GHCI prompt - Memahami Dasar Matematika Haskell Purely Functional Programming Language
GHCI prompt

Jika sudah selesai, kita siap bermain – main dengan compiler haskell.

Dasar Matematika Haskell: Aritmatika

Dasar aritmatika - Memahami Dasar Matematika Haskell Purely Functional Programming Language
Dasar aritmatika

ghci> 2 + 5
7
ghci> 49 * 100
4900
ghci> 1892 - 1472
420
ghci> 1234 - 43211
-41977
ghci> 49 / 7
7.0
ghci>


Penjumlahan, perkalian, pembagian, dan pengurangan sudah sangat jelas sama seperti bahasa pemrograman imperatif lainnya.



ghci> (1 * 2) - 1
1
ghci> 1 * (2 - 1)
1
ghci> 10 * (3 + 3)
60
ghci> 10 * 3 + 3
33
ghci>

Parentheses (kurung buka dan kurung tutup) juga bekerja normal layaknya pelajaran matematika pada saat sekolah dasar.



ghci> 21 * -5

<interactive>:12:1:
Precedence parsing error

cannot mix ‘*’ [infixl 7] and prefix `-' [infixl 6] in the same infix expression
ghci> 21 * (-5)
-105
ghci>

Sedikit peringatan jika ingin mengalikan suatu angka dengan angka negatif,  harus menggunakan parentheses. Jika tidak, anda akan dimarahi oleh GHCI 😀



ghci> 14234 + "Eucliwood"

<interactive>:14:7:
No instance for (Num [Char]) arising from a use of ‘+’
In the expression: 14234 + "Eucliwood"
In an equation for ‘it’: it = 14234 + "Eucliwood"
ghci>

Berusaha menambahkan angka dengan suatu kata juga berakhir error pada GHCI. GHCI akan memberitahumu bahwa “Eucliwood” bukanlah suatu angka, jadi ia tidak tahu cara menjumlahkannya. Operator + akan diharapkan menerima 2 parameter angka.



ghci> 5 + 4.1
9.1
ghci> 3.14 + 7.28
10.42
ghci>

Anda dapat menambahkan suatu bilangan bulat dengan bilangan decimal, karena bilangan bulat akan diasumsikan sebagai bilangan decimal.

contoh 5 diangkap sebagai 5.0


Dasar Matematika Haskell: Boolean Aljabar

Boolean Algebra - Memahami Dasar Matematika Haskell Purely Functional Programming Language
Boolean Algebra

ghci> True && False
False
ghci> True && True
True
ghci> False || True
True
ghci> False || False
False
ghci> not False
True
ghci> not (False || True)
False

Boolean aljabar juga sangat jelas, || adalah operasi ATAU, dan && adalah operasi DAN, kode not akan negasi dari Boolean tersebut.



ghci> True || true
<interactive>:11:9:
Not in scope: ‘true’
Perhaps you meant data constructor ‘True’ (imported from Prelude)
ghci> False || true

<interactive>:12:10:
Not in scope: ‘true’
Perhaps you meant data constructor ‘True’ (imported from Prelude)
ghci> Not False

<interactive>:13:1:
Not in scope: data constructor ‘Not’
Perhaps you meant variable ‘not’ (imported from Prelude)
ghci>

Beberapa hal yang perlu di perhatikan, huruf T pada True harus huruf besar, sama halnya dengan F pada False karena pada bahasa pemrograman tertentu menggunakan t kecil. Namun, pada n pada not adalah huruf kecil.

GHCI akan memarahimu jika melakukan kesalahan tersebut 😀


Dasar Matematika Haskell: Equality

Equality - Memahami Dasar Matematika Haskell Purely Functional Programming Language
Equality

ghci> 3.14 == 3.14
True
ghci> 3 == 3.1
False
ghci> 7.14 /= 0
True
ghci> 7.14 /= 7.14
False
ghci> "Hellow" == "Hellow"
True
ghci> 'a' == 'b'
False
ghci>

Equality juga bekerja dengan semestinya, == untuk equality/= untuk inequality.



ghci> "Eucliwood" == 3.14

<interactive>:20:16:
No instance for (Fractional [Char]) arising from the literal ‘3.14’
In the second argument of ‘(==)’, namely ‘3.14’
In the expression: "Eucliwood" == 3.14
In an equation for ‘it’: it = "Eucliwood" == 3.14
ghci>

Jika anda mencoba membandingan string dengan sesuatu yang bukan string, gchi akan memarahimu 😀

==  dan /= bekerja untuk sesuatu yang memang bisa dibandingkan. Anda tidak bisa membandingkan apel dan jeruk, kopi dan susu.


Sekian, artikel tentang dasar matematika haskell, pada tutorial ini memang masih belum terlihat serunya bahasa pemrograman haskell. Namun, keep going!

Jika anda menyukai artikel ini, like, share, and subscribe!

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live ~ Martin Golding

Referensi: