A tsunami has killed at least 168 people on the Indonesian islands of Java and Sumatra and injured hundreds following an underwater landslide caused by a volcanic eruption.