SlideShare a Scribd company logo
Kelompok 7
          Marsel S.A. – 672011061
      Dimas Wiharjo – 672011205
Anindya Ardiansyah P – 672011039
      Prabandaru R. – 672011091
          Mahendra – 672011038
String adalah sebuah deret simbol.
Digunakan untuk menyimpan barisan karakter.
String bukan tipe data yang primitif

String nama = “ASDL”

nama[0]   = “A”
nama[1]   = “S”
nama[2]   = “D”
nama[3]   = “L”
Algoritma Pencarian String
Algoritma untuk melakukan pencarian semua
kemunculan string pendek pattern[0..n-1] di string
yang lebih panjang teks[0..m-1].

Contoh :
Teks     : seseorang yang baik adalah orang
           yang mau menolong orang lain
Pattern : orang
         Hasilnya adalah 3
Pencocokan string merupakan permasalah paling
sederhana dari semua permasalahan string lainnya.

Dianggap sebagai bagian dari
 Pemrosesan data
 Pengkompresian data
 Analisis leksikal
 Temu balik informasi
Kategori
Algoritma pencarian string dapat diklasifikasikan
menjadi 3 bagian :
 Kiri ke Kanan
 Kanan ke Kiri
 Arah yang ditentukan secara spesifik oleh
   algoritmanya
Kiri ke Kanan
Merupakan arah untuk membaca, algoritma yang
termasuk kategori ini adalah:
 Algoritma Brute Force
 Algoritma dari Morris dan Pratt, yang kemudian
  dikembangkan oleh Knuth, Morris, dan Pratt
Kanan ke Kiri
Arah yang biasanya menghasilkan hasil terbaik secara
praktikal, contohnya adalah:
 Algoritma dari Boyer dan Moore, yang kemudian
  banyak dikembangkan, menjadi Algoritma turbo
  Boyer-Moore, Algoritma tuned Boyer-Moore, dan
  Algoritma Zhu-Takaoka
Arah yang ditentukan
Arah ini menghasilkan hasil terbaik secara
teoritis, algoritma yang termasuk kategori ini adalah:
 Algoritma Colussi
 Algoritma Crochemore-Perrin
Brute Force dlm pencarian string
Algoritma brute force merupakan
algoritma pencocokan string yang ditulis
tanpa memikirkan peningkatan
performa. Algoritma ini sangat jarang
dipakai dalam praktek, namun berguna
dalam studi pembanding dan studi-studi
lainnya.
Secara sistematis, langkah-langkah yang
dilakukan algoritma brute force pada saat
mencocokkan string adalah:
1) Algoritma brute force mulai mencocokkan
   pattern pada awal teks.
2) 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.
3) Algoritma kemudian terus menggeser
   pattern sebesar satu ke kanan, dan
   mengulangi langkah ke-2 sampai pattern
   berada di ujung teks.
1 public class StringMatch {
2    private static void match(char[] text, char[] pattern) {
3         int j;
4         int cek = 0;
5         for (int i = 0; i <= text.length - pattern.length; i++) {
6              j = 0;
7              while (j < pattern.length && text[i + j] == pattern[j]){
8                    j++;
9              }
10             if (j >= pattern.length) {
11                   cek++;
12             }
13        }
14        if (cek > 0) {
15             System.out.println("DATA COCOK");
16        } else {
17             System.out.println("DATA TIDAK COCOK");
18        }
19   }
20 }
text           : nina bobo bo
pattern        : bobo

       0   1   2     3    4     5   6   7   8   9   10   11
TEXT   n   i   n     a          b   o   b   o       b    o

0      X

1          X

2              X

3                    X

4                         X

5                               b   o   b   o

6                                   X

7                                       X

8                                           X

More Related Content

Similar to String+algorithm+%28 kel+7%29 (8)

DOCX
Algoritma a
kemprut
 
PPTX
Slide Presentation Final Project (S1)
Asep Rojali
 
PPTX
Kelomp12321321321312321312323213ok 5.pptx
MIDaniRahmatPutra
 
PPTX
3 konsep algoritma
wawankoerniawan
 
PPTX
3 konsep algoritma
wawankoerniawan
 
PPTX
3 konsep algoritma
wawankoerniawan
 
PDF
Lapres Prakt. Algoritma
Axa B1t2bv
 
PPTX
Struktur data
Ardan Ardiansyah
 
Algoritma a
kemprut
 
Slide Presentation Final Project (S1)
Asep Rojali
 
Kelomp12321321321312321312323213ok 5.pptx
MIDaniRahmatPutra
 
3 konsep algoritma
wawankoerniawan
 
3 konsep algoritma
wawankoerniawan
 
3 konsep algoritma
wawankoerniawan
 
Lapres Prakt. Algoritma
Axa B1t2bv
 
Struktur data
Ardan Ardiansyah
 

Recently uploaded (9)

PDF
Peran Artificial Intelligence sebagai Force Multiplier dalam Network-Centric ...
sprgirllsasa
 
PPTX
MATERI PENGENALAN JURUSAN TJKT 2025.pptx
rahmadi2245
 
PPTX
Cara mengoperasikan radio amatir bagi para pemula
muhmukhtar53
 
PPTX
Analisis_Penyadapan_Telegram_Forensik.pptx
dimasma16
 
PPTX
Materi Konsentrasi Keahlian Routing .pptx
rahmadi2245
 
PPTX
1727160446_PPT_Kelompok_3_Pemrograman_Web_Dasar
mhfaizalardillia22
 
PPTX
MATERI PENGENALAN JURUSAN TJKT 2025.pptx
rahmadi2245
 
PDF
peta konsep keterbatasan fasilitas koding
ErvinaAriyanti1
 
PDF
ANALISIS SENTIMEN REVIEW WISATAWAN TERHADAP SEKUMPUL WATERFALL MENGGUNAKAN ME...
I Made Putra Sedana
 
Peran Artificial Intelligence sebagai Force Multiplier dalam Network-Centric ...
sprgirllsasa
 
MATERI PENGENALAN JURUSAN TJKT 2025.pptx
rahmadi2245
 
Cara mengoperasikan radio amatir bagi para pemula
muhmukhtar53
 
Analisis_Penyadapan_Telegram_Forensik.pptx
dimasma16
 
Materi Konsentrasi Keahlian Routing .pptx
rahmadi2245
 
1727160446_PPT_Kelompok_3_Pemrograman_Web_Dasar
mhfaizalardillia22
 
MATERI PENGENALAN JURUSAN TJKT 2025.pptx
rahmadi2245
 
peta konsep keterbatasan fasilitas koding
ErvinaAriyanti1
 
ANALISIS SENTIMEN REVIEW WISATAWAN TERHADAP SEKUMPUL WATERFALL MENGGUNAKAN ME...
I Made Putra Sedana
 
Ad

String+algorithm+%28 kel+7%29

  • 1. Kelompok 7 Marsel S.A. – 672011061 Dimas Wiharjo – 672011205 Anindya Ardiansyah P – 672011039 Prabandaru R. – 672011091 Mahendra – 672011038
  • 2. String adalah sebuah deret simbol. Digunakan untuk menyimpan barisan karakter. String bukan tipe data yang primitif String nama = “ASDL” nama[0] = “A” nama[1] = “S” nama[2] = “D” nama[3] = “L”
  • 3. Algoritma Pencarian String Algoritma untuk melakukan pencarian semua kemunculan string pendek pattern[0..n-1] di string yang lebih panjang teks[0..m-1]. Contoh : Teks : seseorang yang baik adalah orang yang mau menolong orang lain Pattern : orang Hasilnya adalah 3
  • 4. Pencocokan string merupakan permasalah paling sederhana dari semua permasalahan string lainnya. Dianggap sebagai bagian dari  Pemrosesan data  Pengkompresian data  Analisis leksikal  Temu balik informasi
  • 5. Kategori Algoritma pencarian string dapat diklasifikasikan menjadi 3 bagian :  Kiri ke Kanan  Kanan ke Kiri  Arah yang ditentukan secara spesifik oleh algoritmanya
  • 6. Kiri ke Kanan Merupakan arah untuk membaca, algoritma yang termasuk kategori ini adalah:  Algoritma Brute Force  Algoritma dari Morris dan Pratt, yang kemudian dikembangkan oleh Knuth, Morris, dan Pratt
  • 7. Kanan ke Kiri Arah yang biasanya menghasilkan hasil terbaik secara praktikal, contohnya adalah:  Algoritma dari Boyer dan Moore, yang kemudian banyak dikembangkan, menjadi Algoritma turbo Boyer-Moore, Algoritma tuned Boyer-Moore, dan Algoritma Zhu-Takaoka
  • 8. Arah yang ditentukan Arah ini menghasilkan hasil terbaik secara teoritis, algoritma yang termasuk kategori ini adalah:  Algoritma Colussi  Algoritma Crochemore-Perrin
  • 9. Brute Force dlm pencarian string Algoritma brute force merupakan algoritma pencocokan string yang ditulis tanpa memikirkan peningkatan performa. Algoritma ini sangat jarang dipakai dalam praktek, namun berguna dalam studi pembanding dan studi-studi lainnya.
  • 10. Secara sistematis, langkah-langkah yang dilakukan algoritma brute force pada saat mencocokkan string adalah: 1) Algoritma brute force mulai mencocokkan pattern pada awal teks. 2) 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.
  • 11. 3) Algoritma kemudian terus menggeser pattern sebesar satu ke kanan, dan mengulangi langkah ke-2 sampai pattern berada di ujung teks.
  • 12. 1 public class StringMatch { 2 private static void match(char[] text, char[] pattern) { 3 int j; 4 int cek = 0; 5 for (int i = 0; i <= text.length - pattern.length; i++) { 6 j = 0; 7 while (j < pattern.length && text[i + j] == pattern[j]){ 8 j++; 9 } 10 if (j >= pattern.length) { 11 cek++; 12 } 13 } 14 if (cek > 0) { 15 System.out.println("DATA COCOK"); 16 } else { 17 System.out.println("DATA TIDAK COCOK"); 18 } 19 } 20 }
  • 13. text : nina bobo bo pattern : bobo 0 1 2 3 4 5 6 7 8 9 10 11 TEXT n i n a b o b o b o 0 X 1 X 2 X 3 X 4 X 5 b o b o 6 X 7 X 8 X