Algebraic data type adalah tipe data aljabar. Hampir setiap tipe data yang kita gunakan di Haskell adalah tipe data aljabar, jadi kita harus terbiasa dengan tipe data ini. Berikut sebuah contoh penulisan tipe data aljabar.

Image for post
Image for post

Tipe data aljabar didefinisikan dan dimulai dengan kata data, diikuti dengan nama tipe yang didefinisikan Pelanggan, diikuti dengan sama dengan =, diikuti dengan nama constructor BuatPelanggan. Setelah nama constructor, ada tipe argument pada constructor. Pada code di atas constructor BuatPelanggan mempunyai PelangganId, yang merupakan id pelanggan pada pelanggan yang dibuat, String untuk nama pelanggan, dan Integer untuk nomer pelanggan.

Pada umumnya, sebuah tipe data algebraic memiliki satu atau lebih konstruktor data, dan tiap konstruktor data bisa memiliki nol atau lebih argumen.

Kita dapat dengan mudah menggunakan tipe data aljabar untuk membuat enumerasi dan typeclass Enum dan Bounded. seperti tipe data berikut:

Ketik code berikut pada ghci

Image for post
Image for post

Dari code di atas terdapat fungsi show dan read, dan kita bisa mengkonversi tipe ini dari string ataupun ke string.

Image for post
Image for post

Dan karena ini terdapat fungsi Eq dan Ord, kita dapat membandingkan atau menyamakan hari.

Image for post
Image for post

Dan juga code di atas merupakan bagian dari Bounded, jadi kita bisa mendapatkan hari terendah dan tertinggi.

Image for post
Image for post

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 menggunjungi website resmi 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/

Written by

EMURGO Solusi Indonesia

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