An earthquake with a revised magnitude of 6.6 struck 173km northwest of the city of Ternate, North Maluku, on Indonesia's Moluccas Islands, the US Geological Survey has said.