Wikipedia also provides a good explanation:
Knuth–Morris–Pratt algorithm - Wikipedia[
^] - and it's far to complex for us to improve on those two links in a little textbox like this.
And while we are more than willing to help those that are stuck, that doesn't mean that we are here to do it all for you! We can't do all the work, you are either getting paid for this, or it's part of your grades and it wouldn't be at all fair for us to do it all for you.
So we need you to do the work, and we will help you when you get stuck. That doesn't mean we will give you a step by step solution you can hand in!
Start by explaining where you are at the moment, and what the next step in the process is. Then tell us what you have tried to get that next step working, and what happened when you did.
So far, you don't appear to have done much except google and we expect to see actual code that you wrote and need help with.
If you are having problems getting started at all, then this may help:
How to Write Code to Solve a Problem, A Beginner's Guide[
^]