Suppose you split on attribute a first. There are 2 examples with attribute a true, namely e1 and e5, and these examples agree on the value of d. There are 3 examples with attribute a false, namely e2, e3, and e4, these don't agree on the value of d.
Next you have to choose an attribute to split the examples {e2, e3, e4}. b is a good choice as the examples with b true all agree on the value of d and the examples with b false all agree on the value of d.
Here is the resultant decision tree showing which examples are used at each node: