Study
Haskell

Type Class Dasar: Eq, Ord, Show

Penjelasan

Type class mendefinisikan sekumpulan fungsi yang harus diimplementasikan sebuah tipe supaya "mendukung" kemampuan tertentu — mirip interface di bahasa lain. Type class bawaan yang paling sering ditemui: `Eq` (bisa dibandingkan dengan `==`/`/=`), `Ord` (bisa diurutkan dengan `<`/`>`/`compare`), `Show` (bisa diubah jadi String dengan `show`).

Contoh Konsep

data Ukuran = Kecil | Sedang | Besar deriving (Show, Eq, Ord)

-- Karena deriving Ord, urutan constructor menentukan urutan perbandingan
Kecil < Sedang    -- True
Sedang < Besar    -- True

max Kecil Besar   -- Besar
show Sedang       -- "Sedang"

Praktikum

Buat tipe data Level = Pemula | Menengah | Mahir deriving (Show, Eq, Ord), lalu bandingkan Pemula dan Mahir dengan (<), dan cetak hasil max-nya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kalau tipe kustommu perlu `Eq`/`Ord`/`Show` dengan perilaku BAWAAN (perbandingan berdasarkan urutan constructor, tampilan otomatis), cukup tambahkan `deriving (...)` — implementasi manual hanya perlu ditulis kalau butuh perilaku KHUSUS.