Algoritma Pencarian String (String Search) di Java

Algoritma Pencarian String adalah teknik dasar dalam Java pemrograman yang digunakan untuk mencari substring tertentu dalam string yang lebih besar. Algoritma ini banyak digunakan dalam berbagai aplikasi pemrosesan teks, termasuk editor teks, mesin pencari, dan alat analisis data.

Cara Kerja Algoritma Pencarian String

Algoritma Pencarian String bekerja dengan cara membandingkan setiap karakter substring yang dicari dengan karakter string utama. Ini mengulangi string utama dan memeriksa potensi kecocokan dengan membandingkan karakter satu per satu. Jika ditemukan kecocokan, ini menunjukkan posisi awal substring dalam string utama.

Kelebihan dan Kekurangan Algoritma Pencarian String

Keuntungan:

  • Implementasi Sederhana: Algoritme ini mudah dipahami dan diimplementasikan, sehingga cocok untuk tugas pencarian string dasar.
  • Berlaku untuk Berbagai Skenario: Algoritme ini dapat digunakan dalam berbagai aplikasi yang melibatkan pencarian pola tertentu dalam data teks.

Kekurangan:

  • Tidak Efisien untuk Teks Besar: Dalam skenario terburuk, kompleksitas waktu algoritme bisa menjadi tinggi, sehingga tidak efisien untuk teks berukuran besar.
  • Pencocokan Pola Terbatas: Versi dasar algoritme mungkin tidak menangani persyaratan pencocokan pola yang rumit.

Contoh dan Penjelasan

Mari kita perhatikan contoh penggunaan Algoritma Pencarian String untuk menemukan kata tertentu dalam sebuah kalimat di Java.

public class StringSearchExample {  
    public static int searchString(String mainString, String substring) {  
        int mainLength = mainString.length();  
        int subLength = substring.length();  
  
        for(int i = 0; i <= mainLength- subLength; i++) {  
            int j;  
  
            for(j = 0; j < subLength; j++) {  
                if(mainString.charAt(i + j) != substring.charAt(j)) {  
                    break;  
                }  
            }  
  
            if(j == subLength) {  
                return i; // Substring found at position i  
            }  
        }  
  
        return -1; // Substring not found  
    }  
  
    public static void main(String[] args) {  
        String text = "The quick brown fox jumps over the lazy dog";  
        String search = "fox";  
  
        int position = searchString(text, search);  
  
        if(position != -1) {  
            System.out.println("Substring found at position: " + position);  
        } else {  
            System.out.println("Substring not found");  
        }  
    }  
}  

Dalam contoh ini, algoritma mencari substring "rubah" dalam teks yang diberikan. Itu mengulangi setiap karakter teks, membandingkannya dengan karakter substring. Ketika kecocokan ditemukan, algoritma mengembalikan posisi awal substring dalam teks.

Hal ini menggambarkan bagaimana Algoritma Pencarian String dapat menemukan substring dalam data teks yang lebih besar, menjadikannya teknik penting untuk manipulasi dan analisis teks dalam Java pemrograman.