Hehe, engga bingung juga sih. Kayanya sih "hafal", tapi yah saya ga yakin juga, wkwkwk.
Pencarian singkat di Kamus Besar Bahasa Indonesia memberikan jawabannya. :D
ha·fal v 1 telah masuk dl ingatan (tt pelajaran): saya sudah mempelajari dan juga -- isinya; 2 dapat mengucapkan di luar kepala (tanpa melihat buku atau catatan lain): banyak orang yg -- nomor telepon barisan pemadam kebakaran;
meng·ha·fal v berusaha meresapkan ke dl pikiran agar selalu ingat: anak itu rajin ~ nama tokoh pahlawan nasional;
meng·ha·fal·kan v menghafal;
ha·fal·an n 1 yg dihafalkan: ia selalu mendapat nilai baik untuk pelajaran ~; 2 hasil menghafal: ~ nya baik
Sedangkan kalo saya buka kata "hapal", berikut hasilnya:
ha·pal ? hafal
Jadi, kata yang benar adalah hafal, bukan hapal. :D