Which sampling procedure we prefer if population is heterogenous?

Which sampling procedure we prefer if population is heterogenous?

A. Cluster sampling
B. Stratified sampling 
C. Simple random sampling
D. None of these