Method suggested by Structure Media solved my problem.
Thanks a lot!!
I use Mid 2012 Retina Macbook Pro.
Following are the steps I took:
0. Turn off filevault.
1. Remove everything in LaunchAgent folder etc. (If you run a server then don't remove the server-related plist.)
2. Repair Disk Permission twice. (The second time is used for ensuring permission problem are solved.)
3. Unplug power cable then turn on filevault. (Previously when I turn on filevault, the computer freeze and did not restart automatically before starting encryption. I am not sure if this cause any problem. But by unplugging power cable, encryption won't start, and the computer was able to restart without freezing. After that I plug in the cable and wait for hours for encryption and optimisation.)
4. I did restart once during optimisation. (No reason, just want to describe what I have done.)
5. After optimisation is completed, I logged out, then shutdown. No freezing. (Not pressing shutdown directly.)
6. Turn on and login. Then pressed shutdown directly. No freezing. (3 times while I write this post.)
One thing worth mentioning: Previously when my computer freeze at shutdown (black screen with cursor movable) while filevault is ON, I noticed I need to enter password TWICE at startup. (Power button -> FileVault password screen -> computer auto restart -> Apple logo screen with load bar -> login password screen -> desktop). Now for the case without freezing, the startup as same as before: only need to enter password ONCE at file vault startup screen, followed by load bar then desktop.
Hope my case helps.