What is the origin of dot notation?
In [1] (authored by one of the co-creators of Simula), there is a suggestion that Simula 67 may have been the first to use this dot notation. Given that Simula is widely credited for being the first OO language, it may be tricky to find an earlier example specifically in an OO context.

EDIT: 
On DiscreteLizard's suggestion in comments, I took a peek at the use of this dot notation for specifying fields in a record. As it turns out, according to this specification of the PL/I language for the IBM System/360 from July 1965, the dot notation was indeed used to identify fields within structures:


  A qualified name takes the form: 
  
  identifier {. identifier} ...
  
  Examples:
  1. A program may contain the structures:
  
  DECLARE 1 CARDIN, 2 PARTNO, 3 DESCRIPTION, 2 PRICE;
  
  DECLARE 1 CARDOUT, 2 PARTNO, 2 DESCRIPTION, 2 PRICE;
  
  Elements are then referred to as:
  
  CARDIN.PARTNO
  
  CARDOUT.PARTNO
  
  CARDIN.PRICE



Dahl, Ole-Johan. "The Birth of Object Orientation: the Simula Languages." From Object-Orientation to Formal Methods. Springer, Berlin, Heidelberg, 2004. 15-25.