There is nothing significantly wrong that I can see in the code.
I have a question though, have you explored the possibility of adding a patch to the addressfield module ?
This module's functionality is similar to what the core module provides for US & UK. Just like the core module this module provides a select list of administrative areas & country specific labels for other address fields for Indonesia. Maybe your patch can be ported into the module ?
Please correct me if I got the purpose of this module wrong. As said earlier, there is nothing wrong I could see in the code. I will await feedback regarding the above concern.
Contribution Issue Link