This word problem relies on your ability to find relationships and make equations out of them. The first two sentences talk about speed, distance, and time, so use the distance = velocity*time equation.
t = the time to not be late
d = 54(t + 12)
d = 72(t - 18)
*Converting to hours is not necessary at this time because mathematically the units cancel out
Now, we have two variables and two unknowns, so we will have a DOF = 0, meaning we can find the value of d and t:
54(t + 12) = 72(t - 30)
72t - 54t = 54*12 + 72*30
18t = 1944
t = 108 min = 1.8 h, d = 54(1.8 + 12/60) = 108 km
Put all the information together. If you know the distance he travels and the time he needs to not be late, then we can find the speed to not be late:
v = d/t = 108/(1.8) = 60 km/h
To sum it up, if you are on a time crunch on a test, here is all the algebra condensed:
t = time to not be late
d = 54(t+12)
d = 72(t-18)
54t + 54*12 = 72t - 72*18
18t = 1944
t = 108 min or 1.8 h, d = vt = 54(108/60 + 12/60) = 54(120/60) = 108 km
v = d/t = 108/(108/60) = 60 km/h
But that's not all! Say you aren't sure if you got your answer right. You can check your answer by plugging the values back in to your equations to see if they make sense.