Pada dasarnya algoritma adalah resepi langkah-demi-langkah atau satu set arahan yang sangat jelas untuk menyelesaikan masalah. Kajian tentang algoritma menjadi semakin penting untuk saintis komputer ketika jumlah algoritma yang sedia ada yang digunakan dalam menghasilkan arahan komputer telah menampakkan peningkatan untuk beberapa tahun yang lepas. Analisis terperinci dari berbagai corak pemadanan algoritma merupakan salah satu usaha tersebut dilaksanakan selaras dengan penyelidikan di bidang ini. Ini melibatkan penelitian kebenaran dari algoritma masing-masing serta untuk menguji algoritma pemadanan yang mempunyai masa terpantas. Dalam projek ini, empat algoritma tersebut dianalisis menggunakan perisian Dev C++ dan Borland C++ Builder dan semuanya ditulis dalam kod C++. Proses ini meneliti kecekapan, seperti kebenaran algoritma dengan membandingkan hasil yang sesuai yang telah dihasilkan secara manual dengan hasil yang dihasilkan oleh perisian. Projek ini bertujuan untuk menganalisis dan mendapatkan algoritma tercepat dari “Brute Force”, “Boyer-Moore”, “Knuth, Morris dan Pratt” serta algoritma “Not So Naive”. Pada tahap asas, semua mekanisma yang sesuai serta metodologi untuk setiap algoritma telah dipelajari. Setelah memahami setiap algoritma, analisis mendalam dengan pelbagai kes dirancang dilaksanakan dalam rangka untuk menguji algoritma tersebut. Kesannya, projek ini dibangunkan tidak hanya untuk mendekatkan pembaca dengan pengetahuan algoritma yang berbeza tetapi juga kemampuan untuk memilih dan melaksanakan algoritma yang tepat dalam konteks tertentu.
_________________________________________________________________________________________
Basically an algorithm is a step-by-step recipe or a set of very clear directions for solving a problem. The study of algorithms became increasingly important to computer scientist when the number of available algorithms used in generating computer instructions increasing over the years. The detailed analysis of a variety of string pattern matching algorithms is one of those efforts being carried out in line with studies in this particular field. It involves check up the correctness of each algorithm as well as to find out which algorithm has the fastest matching time. In this project, four algorithms are proposed and analyzed using the Dev C++ and Borland C++ Builder compiler and all of them are written in C++ code. The process investigates the efficiency, such as the correctness of the algorithms, which tested out by comparing the matching result that has been generated manually with the execution result generated by the compiler. This project aims to analyzes and obtain the fastest algorithm from Brute Force, Knuth Morris Pratt, Boyer Moore and Not So Naive algorithms. At a fundamental stage, all the matching mechanisms as well as the shifting methodologies of each algorithm have been studied. After understanding each algorithm, an in-depth analysis with various suggestions cases is applied in order to test these algorithms. As a result, this project is developed not only to enlighten readers with the knowledge of different algorithms but also the ability to select and apply appropriate algorithms in particular contexts.