SEM (Search Engine Marketing) is an umbrella term encompassing everything related to marketing on search engines, such as PPC, advertisements and paid search.
SEO (Search Engine Optimization) is the process of improving website's position in a search engine's query via various techniques, such as building a backlink profile, utilizing niche keywords and optimizing various on-site components. SEO is a subset of SEM.
Everything you should know about both terms is covered in the blog post "SEO vs. SEM: What’s the Difference and Why Should You Care?"