Algoritma pencarian string: Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29188058; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 1: | Baris 1: | ||
'''Algoritma pencarian string''' ([[bahasa Inggris]]: ''string matching algorithm'') atau sering disebut juga pencocokan string adalah [[algoritme]] untuk melakukan pencarian semua kemunculan [[string]] pendek <math>pattern[0..n-1]</math> yang disebut pattern di string yang lebih panjang <math>teks[0..m-1]</math> yang disebut teks. | '''Algoritma pencarian string''' ([[bahasa Inggris]]: ''string matching algorithm'') atau sering disebut juga pencocokan string adalah [[algoritme]] untuk melakukan pencarian semua kemunculan [[string]] pendek <math>pattern[0..n-1]</math> yang disebut pattern di string yang lebih panjang <math>teks[0..m-1]</math> yang disebut teks.<ref>Lecroq, Thierry Charras, Christian. 2001. Handbook of Exact String Matching Algorithm. ISBN 0-9543006-4-5</ref> | ||
Algoritma-algoritma pencocokkan string dapat diklasifikasikan menjadi tiga bagian menurut arah pencariannya. | Algoritma-algoritma pencocokkan string dapat diklasifikasikan menjadi tiga bagian menurut arah pencariannya. | ||
| Baris 21: | Baris 21: | ||
Berikut adalah Algoritma brute force yang sedang bekerja mencari string: | Berikut adalah Algoritma brute force yang sedang bekerja mencari string: | ||
=== Pseudocode === | === Pseudocode === | ||
| Baris 33: | Baris 32: | ||
Deklarasi: | Deklarasi: | ||
i, j: integer | i, j: integer | ||
Algoritma: | Algoritma: | ||
| Baris 43: | Baris 42: | ||
if(j >= n) then | if(j >= n) then | ||
ketemu[i]:=true; | ketemu[i]:=true; | ||
endif | endif | ||
endfor | endfor | ||
== Lihat pula == | == Lihat pula == | ||
| Baris 57: | Baris 53: | ||
* [http://www-igm.univ-mlv.fr/~lecroq/string/ EXACT STRING MATCHING ALGORITHMS - Animation in Java] | * [http://www-igm.univ-mlv.fr/~lecroq/string/ EXACT STRING MATCHING ALGORITHMS - Animation in Java] | ||
== Referensi == | |||
<references /> | |||
== Sumber dan atribusi == | == Sumber dan atribusi == | ||
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Algoritma+pencarian+string&oldid=29188058 Wikipedia bahasa Indonesia], revisi 29188058 (2026-05-02T15:40:56Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Algoritma+pencarian+string&oldid=29188058 Wikipedia bahasa Indonesia], revisi 29188058 (2026-05-02T15:40:56Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | ||
<!-- WIKI_UNISSULA_PRESENTATION_V4 --> | |||
Revisi terkini sejak 23 Agustus 2026 10.32
Algoritma pencarian string (bahasa Inggris: string matching algorithm) atau sering disebut juga pencocokan string adalah algoritme untuk melakukan pencarian semua kemunculan string pendek yang disebut pattern di string yang lebih panjang yang disebut teks.[1]
Algoritma-algoritma pencocokkan string dapat diklasifikasikan menjadi tiga bagian menurut arah pencariannya.
- Dan kategori terakhir, dari arah yang ditentukan secara spesifik oleh algoritma tersebut, arah ini menghasilkan hasil terbaik secara teoretis, algoritma yang termasuk kategori ini adalah:
salah satunya algoritma SUSAN
Algoritma brute force dalam pencarian string
Algoritma brute force (bahasa Inggris: brute-force search) merupakan algoritma pencocokan string yang ditulis tanpa memikirkan peningkatan performa. Algoritma ini sangat jarang dipakai dalam praktik, tetapi berguna dalam studi pembanding dan studi-studi lainnya.
Cara kerja
Secara sistematis, langkah-langkah yang dilakukan algoritma brute force pada saat mencocokkan string adalah:
- Algoritma brute force mulai mencocokkan pattern pada awal teks.
- Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi:
- Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).
- Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini.
- Algoritma kemudian terus menggeser pattern sebesar satu ke kanan, dan mengulangi langkah ke-2 sampai pattern berada di ujung teks.
Berikut adalah Algoritma brute force yang sedang bekerja mencari string:
Pseudocode
Pseudocode algoritma brute force ini:
procedure BruteForceSearch(
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: integer
Algoritma:
for (i:=0 to 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
endfor
Lihat pula
Pranala luar
Referensi
- ↑ Lecroq, Thierry Charras, Christian. 2001. Handbook of Exact String Matching Algorithm. ISBN 0-9543006-4-5
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 29188058 (2026-05-02T15:40:56Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.