Implementasi Tabel String Pencarian Implementasi Tombol Cari

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