Thursday, 18 March 2010

Algoritma Pencarian String

Buat kalian para Blogger yang suka Edit HTML pasti sudah akrab dengan yang namanya "Find" (kalau di Mozilla ada di menu Edit) untuk mencari kode-kode atau kata-kata tertentu dalam proses "Mempercantik Blog". Kali ini kita akan membuat program yang sesuai judul diatas. Nggak usah ngomong panjang lebar lagi , nih langsung aja aku kasih contoh kodenya:

#include <fstream>
#include <string>
#include <iostream>

using std::cout;
using std::cin;

int main()
{
//find = untuk menampung kata yang akan dicari
std::string kalimat, find;
std::ifstream getFile("kalimat.txt");
if( getFile == NULL){
kalimat="Ini adalah kalimat standar yang akan dijadikan "
"bahan untuk mencoba algoritma Brute Force. "
"Jika ingin mencoba kalimat yang berbeda silahkan "
"isi atau ubah file kalimat.txt yang ada dalam satu folder "
"dengan program ini. Pastikan kalimatnya panjang agar "
"kata-kata yang akan dicari nantinya memiliki banyak "
"pilihan dibanding kalimat standar ini yang nggak jelas. "
"Akhir kata selamat mencoba dan happy coding.";
}
else{
for( int c=0;c<10;c++){
std::string temp;
getline(getFile,temp);
kalimat+=temp;
}
}
getFile.close();

cout<<kalimat<<"\n\nKata yang ingin dicari : ";
cin>>find;

bool cocok = true;
for(std::string::iterator iKalimat = kalimat.begin(),
iFind = find.begin();iKalimat<kalimat.end();++iKalimat)
{
if(*iFind != *iKalimat || !cocok){
if( *iKalimat == ' ') cout<<" ";
else cout<<"-";
iFind = find.begin();
}
else{
std::string::iterator sKata;
sKata = iKalimat;
while(iFind <find.end()){
if( *iFind != *sKata) cocok = false;
++iFind;
++sKata;
}
if( cocok){
iFind = find.begin();
while(iFind<find.end()){
cout<<*iKalimat;
++iFind;
++iKalimat;
}
iFind = find.begin();
}

if( *iKalimat == ' ') cout<<" ";
else cout<<"-";
}
cocok = true;
}

cout<<"\n\n";
system("pause");
return 0;
}

// - krofz
Berikut screenshot programnya:

Gambar 1. Cari Stringnya!


Program diatas akan memeriksa setiap huruf/karakter (variabel kalimat) dengan kata yang dicari (var find) didalam for utama. Jika cocok atau tidak langsung ditampilkan kelayar monitor anda (??!!). Dibawah ini link download untuk source code dan program yang sudah jadi.

Link : http://rapidshare.com/files/364865040/22_Pencarian_String.7z
Size : 109 KB

- krofz

2 comments:

  1. mau tanya nih gan, misalnya pakai bruteforce itu gimana?
    sama pencarian kata dari suatu kalimat

    ReplyDelete
    Replies
    1. kurang lebih seperti kode diatas gan, mencari satu-satu (brute force)

      coba agan lihat dan pelajari lagi kode diatas :)

      Delete

Maaf jika komentar anda lama terbitnya ^__^, penulis berusaha OL sesering mungkin. Komentar anda adalah semangat blog ini, dan juga semangat para blogger lainnya. You can use XHTML tags: <a href="" rel="link"> </a>, <strong> </strong>, <b> </b>, <em> </em>, <i> </i>.

Spesial character use :
&lt; for <
&gt; for >


Use Pastebin.com for alternative to display your code :) .

 

back to top

back to top