Tugas Akhir
Penjelasan
Sekarang saatnya menggabungkan semua yang sudah dipelajari — dari fungsi dasar sampai Maybe — jadi satu program utuh: sistem pencatatan nilai siswa sederhana.
Tugas
Buat tipe data Siswa = Siswa String [Int] deriving Show (nama, daftar nilai). Buat fungsi rataRata :: Siswa -> Double yang menghitung rata-rata nilai. Buat fungsi predikat :: Siswa -> String yang mengembalikan "A"/"B"/"C" berdasarkan rataRata (pakai guards). Buat list berisi minimal 3 Siswa, lalu pakai map untuk menghasilkan list String "nama - predikat" untuk tiap siswa dan cetak semuanya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Kerjakan rataRata dulu dan tes dengan satu Siswa, baru lanjut ke predikat, dan terakhir gabungkan dengan map. Memecah masalah jadi langkah kecil selalu lebih mudah, apalagi di Haskell yang gaya berpikirnya cukup berbeda.