I'd actually say it was the other way around! SEM is Search Engine Marketing, SEO is Search Engine Optimisation. SEM encompasses a whole range of ways to promote yourself on search engines, while SEO is specifically about getting good positions in natural search. SEO is part of an SEM strategy. The main thing that differentiates SEM from SEO is paid advertising on Search Engines - mainly pay per click. On Google this is Google Adwords, on Yahoo it's Yahoo Search Marketing, on Bing it's whatever Microsoft calls it today - buying small adverts against certain keywords and paying every time someone clicks on the ad. On most search engines this is based on an auction model - you say how much you are willing to pay per click on each keyword and the search engine positions you appropriately. SEO is a great way to get traffic for any site, but it takes a lot of work to achieve good levels of traffic. Once you get that traffic it's free. Pay Per Click (PPC) is quick and comparatively easy, but obviously the traffic costs money and so you need a site that achieves a good amount of revenue per customer.
SEO is optimisation of a site so link building an code optimisation. SEM is SEO + marketing e.g PPC ads.