Penjelasan source code di atas adalah sebagai berikut : Variabel i dan m dipergunakan untuk mencatat panjang string yang akan
dilakukan oleh proses pencarian. Proses pencocokan pola string dimulai di awal dan bergerak dari kiri ke kanan sampai mencapai akhir string. Apabila nilai m
sama dengan panjang string S, berarti string yang dicari ditemukan, selain itu jika panjang m tidak sama dengan string S, berarti string yang dicari tidak ditemukan.
4.5. Implementasi Tabel String Pencarian
Penjelasan dari source code di atas adalah : Variabel j dipergunakan untuk melakukan pembentukan kolom pada tabel,
dengan terlebih dahulu mengalokasikan ukuran tabel T, sesuai dengan ukuran
j := 1; SetLength T, Length W + 1 ;
t[1] := 0; t[2] := 1;
while i = Length W do begin if W[i - 1] = W[j] then begin
T[i] := j + 1; Inc j ;
Inc i ; end
else if j 1 then begin j := T[j];
end else begin T[i] := 1;
Inc i ; j := 1;
end; end; Result := T;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
panjang string ditambah satu. Kemudian jika karakter indeks i-1 pada string W sama dengan panjang Wj, maka pada tabel T indeks i diisi dengan nilai j + 1.
Setelah itu nilai i dan j dinaikkan satu. Apabila nilai i sudah melebihi panjang string
W, maka pada tabel T indeks ke i diisi dengan nilai satu, nilai i ditambah dengan satu dan nilai j diisi dengan satu.
4.6. Implementasi Tombol Cari
Edit1.Text:=LowerCaseEdit1.Text; Memo2.Clear;
if FileListBox1.Count=0 then begin ExceptionHandlerSelf, Exception.CreateTidak ada
file yang akan dicari.; exit;
end; for i:=0 to FileListBox1.Count-1 do begin
AFileSrc := DirectoryListBox1.Directory+\+FileListBox1.Items[i];
FMain.Caption:=AFileSrc; Application.ProcessMessages;
Memo1.Clear; if pos.zip,AFileSrc0 then begin
with CreateInArchiveCLSID_CFormatZip do begin
OpenFileAFileSrc; for ix:= 0 to NumberOfItems - 1 do
if not ItemIsFolder[ix] then Memo1.Lines.AddExtractFileNameItemPath[ix];
end;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Penjelasan source code di atas adalah :
Input string dari user akan dirubah ke bentuk huruf kecil semua.
Kemudian jika pada listbox tidak terdapat file yang di cari maka akan tampil pesan
Tidak ada file yang akan dicari.,
tetapi jika tidak kosong, sistem akan mengenali terlebih dahulu ekstensi dari file tersebut apakah .Zip atau
.Rar. Jika ekstensi file tersebut adalah .zip, maka pembentukan proses penguraian header
disesuaikan dengan format .zip. Namun jika ekstensi file tersebut adalah .Rar, maka pembentukan proses penguraian header disesuaikan dengan format
.Rar. Ketika proses penguraian selesai, maka proses pencarian berdasarkan string
end; if pos.rar,AFileSrc0 then begin
with CreateInArchiveCLSID_CFormatRar do begin
OpenFileAFileSrc; for ix:= 0 to NumberOfItems - 1 do
if not ItemIsFolder[ix] then Memo1.Lines.AddExtractFileNameItemPath[ix];
end; end; Memo1.Text:=LowerCaseMemo1.Text;
str_to_search_for := Edit1.Text; str_to_search_in := Memo1.Text;
if posEdit1.Text,Memo1.Text0 then Memo2.Lines.AddAFileSrc;
end;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
input dimulai dan ditampilkan hasilnya bila string yang ada di patttern sama
dengan string yang ada di teks.
4.7. Implementasi Antar Muka