The Gantt chart shows (by default), the duration of the task, rather than an reflection of the resource’s allocation to that task on any given day, which is why you see the task spanning weekends aswell.
Depending on what you want to show, you have a couple of options.
1. Use stop and resume as you suggested
2. Use SPLIT task to manually split the task.
3. Use the Resource’s calendar to display non-working time in the Timescale – thereby showing their non-working time.
4. Put a Note on the Gantt chart, linked to the date saying the resource is on holiday.