Function Monad pada Haskell

Kembali lagi dengan EMURGO Indonesia edukasi blog, dan masih dengan tema technical yang publish di hari selasa dan jumat di setiap minggu nya. Pada pembahasan kali ini kita akan membahas tentang monad. Monad adalah salah satu konsep yang paling powerful dalam haskell. Sekarang kita akan membuat beberapa contoh function monad.

Pertama buka ghc compiler Anda, dan ketik function monad berikut.

Image for post
Image for post

Function di atas menunjukkan perkalian antara Just 3 dan Just 7.

Image for post
Image for post

Function selanjutnya akan melakukan pengurangan pada masing-masing angka yang ada di dalam list. List pertama yang berisi 6 dan 7, angka pertama dari list tersebut adalah 6. 6 akan dikurangi dengan angka 2 dari list yang kedua, dan selanjutnya 6 akan dikurangi angka 3, dan 6 akan dikurangi angka 4. Setelah semua angka dalam list kedua sudah habis dikurangi oleh angka 6 dari list pertama, maka lanjut ke angka 7 yang akan dikurangi satu persatu seperti angka 6.

[(6–2), (6–3), (6–4)] = [4, 3, 2]

[(7–2), (7–3), (7–4)] = [5, 4, 3]

[4, 3, 2] dan [5, 4, 3] menjadi [4, 3, 2, 5, 4, 3]

Image for post
Image for post

Selanjutnya function di atas untuk menghitung angka 10 ditambah 2. Angka 10 yang berada di luar kurung, akan menjadi nilai dari x, dan nilai x akan ditambah dengan 2 yang menjadi 12.

Image for post
Image for post

Jika function sebelumnya adalah untuk penambahan, function ini untuk pengurangan.Function di atas adalah function boolean yang menunjukkan bahwa angka 10 lebih besar dari angka 9. Just 10 angka yang ditetapkan untuk x, yang jika x > 9 dan hasilnya adalah true.

Mari kita coba balikkan menjadi x < 9 maka hasilnya akan false seperti berikut.

Image for post
Image for post

Sekarang kita coba menampilkan bilangan yang mengandung angka 5 dari range 1 sampai 50.

Image for post
Image for post

Yes, dengan function monad seperti di atas, kita dapat dengan mudah mencari angka tersebut.

Tentang EMURGO

EMURGO mendorong adopsi Cardano dan menambahkan nilai bagi pemegang ADA dengan membangun, berinvestasi, dan menjadi advisor/konsultan kepada proyek atau organisasi yang akan mengadopsi ekosistem blockchain yang terdesentralisasi dari Cardano. EMURGO memanfaatkan keahliannya dalam R&D blockchain serta jaringan global mitra blockchain dan industri terkait untuk mendukung usaha secara global. EMURGO adalah badan komersial dan ventura resmi dari proyek Cardano, terdaftar di Tokyo, Jepang sejak Juni 2017 dan di Singapura sejak Mei 2018. EMURGO berafiliasi secara unik dan bekerja sama dengan IOHK untuk menumbuhkan ekosistem Cardano secara global dan mempromosikan adopsi blockchain Cardano.

Pelajari lebih lanjut tentang EMURGO dan Cardano dengan kunjungi website resmi EMURGO dengan link https://emurgo.io

Follow akun media social EMURGO Indonesia:

Twitter : https://twitter.com/emurgo_id
Facebook : https://www.facebook.com/emurgo.id/
Instagram : https://www.instagram.com/emurgo.id/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store