Share to: share facebook share twitter share wa share telegram print page

Algoritma Knuth-Morris-Pratt

Algoritme Knuth-Morris-Pratt adalah salah satu algoritme pencarian string, dikembangkan secara terpisah oleh Donald E. Knuth pada tahun 1967 dan James H. Morris bersama Vaughan R. Pratt pada tahun 1966, tetapi keduanya mempublikasikannya secara bersamaan pada tahun 1977.

Jika kita melihat algoritme brute force lebih mendalam, kita mengetahui bahwa dengan mengingat beberapa perbandingan yang dilakukan sebelumnya kita dapat meningkatkan besar pergeseran yang dilakukan. Hal ini akan menghemat perbandingan, yang selanjutnya akan meningkatkan kecepatan pencarian.[1]

Cara kerja

Perhitungan penggeseran pada algoritme ini adalah sebagai berikut, bila terjadi ketidakcocokkan pada saat pattern sejajar dengan , kita bisa menganggap ketidakcocokan pertama terjadi di antara dan , dengan . Berarti, dan tidak sama dengan . Ketika kita menggeser, sangat beralasan bila ada sebuah awalan dari pattern akan sama dengan sebagian akhiran dari sebagian teks. Sehingga kita bisa menggeser pattern agar awalan tersebut sejajar dengan akhiran dari .

Dengan kata lain, pencocokkan string akan berjalan secara efisien bila kita mempunyai tabel yang menentukan berapa panjang kita seharusnya menggeser seandainya terdeteksi ketidakcocokkan di karakter ke- dari pattern. Tabel itu harus memuat yang merupakan posisi karakter setelah digeser, sehingga kita bisa menggeser pattern sebesar relatif terhadap teks.[2]

Secara sistematis, langkah-langkah yang dilakukan algoritme Knuth-Morris-Pratt pada saat mencocokkan string:

  1. Algoritme Knuth-Morris-Pratt mulai mencocokkan pattern pada awal teks.
  2. Dari kiri ke kanan, algoritme ini akan mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi:
    1. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).
    2. Semua karakter di pattern cocok. Kemudian algoritme akan memberitahukan penemuan di posisi ini.
  3. Algoritme kemudian menggeser pattern berdasarkan tabel next, lalu mengulangi langkah 2 sampai pattern berada di ujung teks.

Pseudocode

Berikut adalah pseudocode algoritme KMP pada fase pra-pencarian:

procedure preKMP(
    input P: array[0..n-1] of char,
    input n: integer,
    input/output kmpNext: array[0..n] of integer
)
Deklarasi:
i,j: integer

Algoritme
  i:= 0;
  j:= kmpNext[0]:= -1;
  while (i < n) {
     while (j > -1 and not(P[i] = P[j]))
        j:= kmpNext[j];
     i:= i+1;
     j:= j+1;
     if (P[i] = P[j])
        kmpNext[i]:= kmpNext[j];
     else
        kmpNext[i]:= j;
     endif
  endwhile

Dan berikut adalah pseudocode algoritme KMP pada fase pencarian:

procedure KMPSearch(
    input m, n: integer,
    input P: array[0..n-1] of char,
    input T: array[0..m-1] of char,
    output ketemu: array[0..m-1] of boolean
)

Deklarasi:
i, j,next: integer 
kmpNext: array[0..n] of interger

Algoritme:
preKMP(n, P, kmpNext) 
i:=0
while (i<= m-n) do
    j:=0
    while (j < n and T[i+j] = P[j]) do 
       j:=j+1
    endwhile
    if(j >= n) then
       ketemu[i]:=true;
    endif
    next:= j - kmpNext[j]
    i:= i+next
endwhile

Kompleksitas

Algoritme ini menemukan semua kemunculan dari pattern dengan panjang n di dalam teks dengan panjang m dengan kompleksitas waktu O(m+n). Algoritme ini hanya membutuhkan O(n) ruang dari memory internal jika teks dibaca dari file eksternal. Semua besaran O tersebut tidak tergantung pada besarnya ruang alpabet

Referensi

  1. ^ (Inggris)Lecroq, Thierry Charras, Christian. 2001. Handbook of Exact String Matching Algorithm. ISBN 0-9543006-4-5
  2. ^ (Inggris) Knuth, Donald E. Morris, James H. Pratt, Vaughan R. 1977. Fast Pattern Matching in Strings, SIAM Journal of Computing Vol 6 No.2.

Lihat pula

Pranala luar

Baca informasi lainnya yang berhubungan dengan : Algoritma Knuth Morris Pratt

Algoritma Algoritma greedy Algoritma Euklides Algoritma ekspektasi-maksimisasi Algoritma C4.5 Algoritma terdistribusi Algoritma Lanczos Algoritma Frank–Wolfe Algoritma Berlekamp–Rabin Hill climbing (algoritma) Algoritma Elgamal Algoritma kunang-kunang Algoritma semut Algoritma SPIKE Metode ensemble Konjektur Collatz Algoritma genetik Algoritma Dijkstra Algoritma penyortiran Algoritma Hungaria Algoritma Prim Algoritma Bellman–Ford Algoritma gabung Algoritma Ostrich Algoritma Strassen Algoritma Floyd-Warshall Algoritma perambatan mundur Algoritma Perambatan Maju Algoritma Boyer-Moore Algor…

itma Gauss-Newton Algoritma pencari-siklus Floyd Algoritma Knuth-Morris-Pratt Algoritma pencarian Algoritma dekker Algoritma seleksi Algoritma RC4 Algoritma pencarian string Algoritma penggantian halaman Algoritma a-star Algoritma pencarian biner Daftar algoritme Algoritme Floyd–Steinberg Algoritma Kata Sandi Sekali-pakai berbasis Waktu Algoritme k tetangga terdekat Sandi Vigenère

Baca artikel lainnya :

Dieser Artikel behandelt den Landkreis Nordhausen seit 1990, der mit dem Kreis Nordhausen von 1952 bis 1990 deckungsgleich ist. Zum Landkreis Nordhausen zwischen 1816 und 1953 siehe Landkreis Grafschaft Hohenstein. Wappen Deutschlandkarte 51.510.73Koordinaten: 51° 30′ N, 10° 44′ O Basisdaten Bundesland: Thüringen Verwaltungssitz: Nordhausen Fläche: 712,93 km2 Einwohner: 82.444 (31. Dez. 2022)[1] Bevölkerungsdichte: 116 Einwohner je km2…

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (سبتمبر 2018) الزبدة المطبوعة عبارة عن مصطلح قديم للزبد الذي تم بيعه بأغلفة مطبوعة مع «بعض الأجهزة الرمزية» كجهاز العلامة التجارية (كما هو الحال دائما في الزبدة الحديثة). ك…

Katedral Santo Yosef, Baghdad Katedral Umm al-Ahzan, Baghdad Katedral Sayidat al-Nejat, Baghdad Katedral Mar Yousif, Ankawa Ini adalah daftar katedral di Irak diurutkan berdasarkan denominasi. Katolik Katolik Latin, Kaldea, Suriah dan Armenia Katedral Gereja Katolik di Irak:[1] Baghdad Katedral Santo Yosef, Baghdad (Gereja Katolik Latin) Katedral Sayidat al-Nejat, Baghdad (Gereja Katolik Suriah) Katedral Maria Bunda Kesedihan, Baghdad (Gereja Katolik Kaldea) Katedral Bunda Maria dari Nar…

Maurice Brookhart Maurice S. Brookhart (* 28. November 1942 in Cumberland (Maryland))[1] ist ein US-amerikanischer Chemiker, der sich mit Organischer Chemie und speziell Metallorganischer Chemie befasst. Leben Brookhart erhielt 1964 seinen Bachelor-Abschluss an der Johns Hopkins University und wurde 1968 an der University of California, Los Angeles, in Organischer Chemie bei Saul Winstein promoviert („Direct observation of Carbonium ions by NMR in strong acid media“).[2] Als …

Branch of the Ukrainian armed forces Ukrainian Air Assault ForcesДесантно-штурмові війська УкраїниEmblem of the Ukrainian Air Assault ForcesFounded1992; 31 years ago (1992)CountryUkraineTypeRapid reaction forceRoleAirborne forcesAir assault infantryPeacekeepingSize20,000 (2022)[1]Part ofArmed Forces of UkraineHeadquartersZhytomyrPatronSaint Michael[2]Motto(s)Завжди перші!(Always first!)Color of beret  Maroo…

Paranoid AndroidSingel oleh Radioheaddari album OK ComputerSisi-B Polyethylene (Parts 1 & 2) Pearly* A Reminder Melatonin Dirilis26 Mei 1997 (1997-05-26)Format 7-inch CD Genre Rock alternatif Art rock Rock progresif Rock neo-progresif Durasi6:27Label Parlophone Capitol PenciptaRadioheadProduser Nigel Godrich Radiohead Kronologi singel Radiohead The Bends (1996) Paranoid Android (1997) Karma Police (1997) Video musikParanoid Android di YouTube Paranoid Android adalah lagu dari grup musik…

العلاقات البوسنية البنينية البوسنة والهرسك بنين   البوسنة والهرسك   بنين تعديل مصدري - تعديل   العلاقات البوسنية البنينية هي العلاقات الثنائية التي تجمع بين البوسنة والهرسك وبنين.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتي…

Brazilian politician Altino ArantesPersonal detailsBorn29 September 1876Batatais, BrazilDied5 July 1965São Paulo, Brazil Altino Arantes Marques (1876–1965) was a President of São Paulo. He was born in Batatais and graduated from the Law School of São Paulo in 1895. He was a member of the Paulista Republican Party. Before he became the president of the state of São Paulo, he was a federal deputy for two terms: (1906–1908) and (1909–1911). He was also secretary of state of the interior f…

Characters in Greek mythology Aglaea (/əˈɡliːə/) or Aglaïa (/əˈɡlaɪə/; Ancient Greek: Ἀγλαΐα means 'splendor, brilliant, shining one'[1]) is the name of several figures in Greek mythology:[2] Aglaia, one of the three Charites. Aglaea, the goddess/personification of the glow of good health, and a daughter of Asclepius and Epione. Her sisters are Hygieia, Panacea, Aceso, and Iaso,[3][4] and her brothers were Machaon, Podaleirios and Telesphoros. Ag…

2005 filmKakurenbo: Hide & SeekTheatrical poster.Directed byShuhei MoritaWritten byShuhei MoritaProduced byShuhei MoritaStarringJunko TakeuchiAkiko KobayashiProductioncompanyYamatoWorksRelease date March 2005 (2005-03) Running time25 minutesLanguageJapanese Kakurenbo: Hide & Seek (カクレンボ, Kakurenbo, lit. Hide and Seek) is a Japanese cel-shaded anime short film written and directed by Shuhei Morita. The film entails a game of Otokoyo (オトコヨ, lit. Man Hunt), a ver…

Football matchCopa del Generalísimo 1954 FinalTeam of Valencia CF, championsEvent1954 Copa del Generalísimo Valencia Barcelona 3 0 Date20 June 1954VenueEstadio Chamartín, MadridRefereeJosé Luis González EcheverríaAttendance110,000 [1]← 1953 1955 → Main article: 1954 Copa del Generalísimo The Copa del Generalísimo 1954 Final was the 52nd final of the King's Cup. The final was played at Estadio Chamartín in Madrid, on 20 June 1954, being won by Valencia CF, who beat CF…

Tuskegee Airman and USAF general officer (1922–2007) Major GeneralLucius TheusMajGen Lucius Theus, USAFBirth nameLucius TheusBorn(1922-10-11)October 11, 1922Madison County, Tennessee, USDiedOctober 15, 2007(2007-10-15) (aged 85)BuriedArlington National CemeteryAllegianceUnited States of AmericaService/branchUnited States Army Air ForcesYears of service1946–1979RankMajor GeneralUnit332nd Fighter Group[1]Awards Congressional Gold Medal Alma materUniversity of Maryland, bachel…

1941 war novel by Martin Goodrich First edition (publ. Farrar & Rinehart) Delilah is a novel by Marcus Goodrich first published in 1941.[1] It revolves around the activities of the fictional American destroyer, the USS Delilah, and her crew in and around the Philippines in the time period from 1916 to 1917. The novel is loosely based on Goodrich's own experiences as a sailor on board the USS Chauncey, a destroyer.[2] Much of the book constitutes detailed descriptions of …

Japanese manga series Battleground WorkersFirst tankōbon volume coverバトルグラウンドワーカーズ(Batoruguraundo Wākāzu)GenreAction, mecha[1] MangaWritten byMinoru TakeyoshiPublished byShogakukanMagazineWeekly Big Comic SpiritsDemographicSeinenOriginal runApril 22, 2019 – September 27, 2021Volumes8 Battleground Workers (Japanese: バトルグラウンドワーカーズ, Hepburn: Batoruguraundo Wākāzu) is a Japanese manga series written and illustrated by Minor…

قلعة المسهرمعلومات عامةالعنوان قرية الغريف - محافظة الخرمة - منطقة مكة المكرمةالبلد  السعوديةأبرز الأحداثبداية التشييد قبل 350 سنةتعديل - تعديل مصدري قلعة المسهر هي قلعة تاريخية توجد في بلدة الغريف على بعد 45 كم من محافظة الخرمة في منطقة مكة المكرمة غرب المملكة العربية السع…

Tindakan sosial adalah tindakan yang bersifat subjektif dalam segala perilaku manusia. Ciri utama dari perilaku dalam tindakan sosial adalah pemaknaan yang bersifat subjektif, mampu mempengaruhi orang lain dan menerima pengaruh dari orang lain.[1] Tindakan sosial dilakukan sesuai dengan interpretasi individu mengenai tindakan orang lain dalam suatu keadaan tertentu. Penerapan tindakan sosial selalu dilakukan dengan adanya individu lain yang terlibat serta adanya kegiatan lain yang terjad…

Brazilian YouTuber and paleontologist (born 1981) PirulaPirula in 2017Personal informationBornPaulo Miranda Nascimento (1981-08-14) August 14, 1981 (age 42)São Paulo, BrazilYouTube informationChannel Canal do Pirulla Subscribers1.05 million[1]Total views124 million[1]Last updated: May 1, 2023 Paulo Miranda Nascimento (born August 14, 1981), also known as Pirula or Pirulla, is a Brazilian paleontologist, YouTuber, zoologist, lecturer and a scientific disseminator. Pirul…

Het trieste der tropen is de Nederlandse vertaling van Tristes tropiques, het in 1955 verschenen reisverslag van de etnograaf en antropoloog Claude Lévi-Strauss. Het boek is een reisverhaal, maar bevat ook allerlei filosofische reflecties en ideeën over uiteenlopende zaken als sociologie, geologie, geschiedenis, literatuur en muziek. In 1999 werd het boek opgenomen in Le Mondes verkiezing van de 100 beste boeken van de eeuw. Het boek is tweemaal in het Nederlands vertaald, onder dezelfde titel…

بولشيي بيريزنيكي الإحداثيات 54°10′33″N 45°58′11″E / 54.175833333333°N 45.969722222222°E / 54.175833333333; 45.969722222222  تقسيم إداري  البلد روسيا  معلومات أخرى 431751  رمز الهاتف 83436  تعديل مصدري - تعديل   بولشيي بيريزنيكي (بالروسية: Большие Березники) هي مدينة في جمهورية موردوفيا في…

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Buffalo Speedway – news · newspapers · books · scholar · JSTOR (May 2009) (Learn how and when to remove this template message) 1921 road map of Houston showing oval race track in approximate location of northern terminus of Buffalo Speedway.Buffalo Speedway is a s…

Kembali kehalaman sebelumnya