1
BAB I
PENDAHULUAN
1.1Latar Belakang
Sistem komputerisasi telah merambah di dunia pendidikan. Teknologi
Informasi berperan penting dalam memperbaiki kualitas suatu Instansi.
Penggunaannya tidak hanya sebagai proses otomatisasi terhadap akses
informasi, tetapi juga menciptakan akurasi, kecepatan, dan kelengkapan
sebuah sistem yang terintegrasi, sehingga proses organisasi yang terjadi akan
efisien, terukur, fleksibel.
Kemajuan suatu bangsa dapat diidentifikasikan dari minat bacanya,
karena semakin maju suatu bangsa maka minat bacanya akan semakin tinggi.
Demikian pula kondisi perpustakaan suatu bangsa merupakan refleksi dari
tingkat kebudayaan serta tingkat peradaban yang telah dicapainya.
Perpustakaan harus mampu memperkenalkan dan meningkatkan dasar-dasar
ilmu pengetahuan dan keterampilan kepada masyarakat serta menanamkan
sikap untuk terus menerus belajar secara berkelanjutan seumur hidup.
Perpustakaan berperan aktif sebagai sarana untuk membantu mencerdaskan
kehidupan bangsa, sehingga dapat meningkatkan partisipasi dan produktivitas
dalam pembangunan. Perkembangan ilmu pengetahuan dan teknologi dewasa
2
dan kemahiran dalam beberapa mata pelajaran saja. Isi pelajaran tidak dapat
lagi dibatasi kepada buku pelajaran ataupun metode mengajar dan tidak cukup
berdasarkan ingatan. Pendidikan bukan hanya menyampaikan pengetahuan
dari guru dan buku pelajaran kepada anak didik, tetapi juga memberi
kesempatan kepada anak didik untuk ikut aktif dalam usaha memperkaya
pengetahuannya dengan usaha sendiri.
Pendidikan di era globalisasi mengharuskan mata pelajaran untuk
diintegrasikan sebanyak mungkin dengan memanfaatkan perkembangan
teknologi informasi. Oleh karena itu anak didik membutuhkan sumber belajar
yang diantaranya adalah perpustakaan.fungsi sebagai sumber informasi ilmu
pengetahuan, teknologi dan kebudayaan dalam rangka mencerdaskan
kehidupan bangsa dan menunjang pelaksanaan pembangunan sekolah. Sebagai
sumber belajar perpustakaan sekolah juga berfungsi membantu program
pendidikan, sehingga perlu dikembangkan untuk mencapai sasaran yang
dikehendaki. Pengembangan perpustakaan sekolah tidak akan pernah berhasil
jika tanpa didukung oleh sarana dan prasarana yang memadai. Salah satu
sarana yang diperlukan di perpustakaan sekolah adalah sistem pelayanan
perpustakaan. Teknologi informasi juga dapat dimanfaatkan dalam layanan
perpustakaan untuk lebih memperlancar, mempercepat dan mempernyaman
layanan.
Perpustakaan adalah sebuah ruang dimana di dalamnya terdapat
3
sebagai media dalam mencari ilmu dan wawasan bagi semua orang. Dengan
semakin berkembangnya kegiatan dan inventaris suatu buku pada sebuah
perpustakaan serta semakin bertambahnya anggota, maka diperlukan suatu
sistem informasi yang dapat menampung semua informasi mengenai data
tersebut secara cepat.
Sebagian besar perpustakaan sekolah masih menggunakan sistem
pencarian manual untuk mencari buku perpustakaan. Sistem yang belum
terkomputerisasi tersebut menyebabkan kegiatan operasional perpustakaan
berjalan lambat dan tidak efektif terutama penelusuran koleksi perpustakaan
yang masih harus dilakukan secara manual, pengunjung harus datang ke
perpustakaan untuk mengetahui apakah koleksi yang ingin dipinjam tersedia
atau tidak. Sehingga diperlukan sebuah sistem yang dapat memecahkan
permasalahan tersebut sehingga dapat mempermudah pengunjung untuk
mengetahui ketersediaan koleksi perpustakaan tanpa harus datang ke
perpustakaan. Sistem penelusuran katalog perpustakaan sekolah yang akan
dibangun memerlukan algoritma pencarian string yang cepat dan efektif.
Implementasi algoritma Boyer-Moore ke dalam sistem penelusuran katalog
perpustakaan sekolah diharapkan dapat membuat penelusuran katalog lebih
cepat dan akurat sehingga pelayanan perpustakaan dapat berjalan dengan
4
1.2Rumusan Masalah
Dari latar belakang diatas maka dibuat rumusan masalah yang harus
diselesaikan dalam penelitian ini, yaitu :
1. Bagaimana membangun sebuah sistem penelusuran katalog dengan
mengimplementasikan algoritma Boyer-Moore agar dapat mempermudah
pengunjung untuk mengetahui ketersediaan dan keberadaan koleksi yang
akan dipinjam.
2. Bagaimana membangun sebuah sistem penelusuran katalog dengan
mengimplementasikan algoritma Boyer-Moore agar dapat mengurangi
beban kerja petugas perpustakaan sekolah.
1.3Batasan Masalah
1. Penelusuran katalog berdasarkan judul buku dan penulis.
2. Perangkat lunak yang akan dibangun merupakan perangkat lunak berbasis
web.
1.4Tujuan Penelitian
Tujuan dari penelitian yang dilakukan adalah sebagai berikut.
1. Membangun sistem penelusuran katalog dengan mengimplementasikan
algoritma Boyer-Moore agar dapat mempermudah pengunjung untuk
mengetahui ketersediaan dan keberadaan koleksi yang akan dipinjam.
2. Membangun sebuah sistem penelusuran katalog dengan
mengimplementasikan algoritma Boyer-Moore agar dapat mengurangi
5
1.5Manfaat Penelitian
1. Tersedianya sistem penelusuran katalog yang memudahkan pengunjung
untuk mencari data katalog buku tanpa harus datang ke perpustakaan.
2. Meringankan tugas pustakawan untuk mencari katalog buku karena
pengunjung dapat mencari data katalog melalui sistem penelusuran
katalog.
1.6Metode Pengumpulan Data
Metode pengumpulan data yang akan digunakan oleh penulis antara lain :
1. Studi literatur
Merupakan cara pengumpulan data dengan mempelajari literatur, paket
modul, buku-buku, jurnal dan berbagai referensi yang dianggap
mendukung.
2. Wawancara
Metode ini dilakukan dengan mengajukan beberapa pertanyaan kepada
nara sumber. Dalam penelitian ini penulis akan melakukan wawancara
dengan petugas perpustakaan sekolah.
3. Observasi
Yaitu metode untuk mendapatkan data dengan melakukan pengamatan
langsung dan pencatatan secara sistematis terhadap gejala atau fenomena
6
1.7Metode Pengembangan Sistem
Metode pengembangan yang akan digunakan oleh penulis adalah metode
sekuensial linier (waterfall). Metode ini terdiri dari beberapa tahap yaitu
1. Analisis : melakukan analisis terhadap berbagai kebutuhan fungsional dan
non fungsional.
2. Desain : melakukan perancangan sistem, fitur dan antarmuka sistem.
3. Kode : menerjemahkan hasil desain ke dalam kode program.
4. Test : melakukan pengujian terhadap sistem yang telah dibangun.
1.8Definisi Operasional
1. Platform adalah suatu lingkungan hardware atau software dimana suatu
program dapat berjalan di dalamnya. Contoh platform adalah Microsoft
Windows, Linux, Solaris OS dan Mac OS. Suatu platform biasanya
merupakan kombinasi dari sistem operasi dan seperangkat hardware.
2. Perpustakaan adalah kumpulan informasi yang bersifat ilmu pengetahuan,
hiburan, rekreasi, dan ibadah yang merupakan kebutuhan hakiki manusia.
3. Running Time adalah waktu yang diperlukan suatu algoritma untuk
menyelesaikan instruksi atau operasi.
4. Bahan pustaka adalah segala sesuatu yang menyimpan dan membawa
informasi paket informasi yang diadakan dan disimpan di perpustakaan.
5. Katalogisasi (cataloging) adalah kegiatan atau proses pembuatan wakil
ringkas dari bahan pustaka atau dokumen (buku, majalah, CD-ROM,
7
pustaka dan secara umum penyiapan bahan pustaka untuk digunakan
pemakai. Kadang-kadang disebut juga dengan istilah pengindeksan
(indexing).
6. Katalog (catalog) adalah presentasi ciri-ciri dari sebuah bahan pustaka
atau dokumen (misalnya: judul, pengarang, deskripsi fisik, subyek, dll.)
koleksi perpustakaan yang merupakan wakil ringkas bahan pustaka
tersebut yang disusun secara sistematis.
7. Klasifikasi (classification) adalah penyusunan sesuatu dalam susunan yang
logis sesuai dengan tingkat kemiripan atau kesamaannya.
8. Sirkulasi adalah jenis layanan di perpustakaan yang melayani peminjaman,
pengembalian, perpanjangan koleksi, pendaftaran anggota baru, dll.
9. Black Box Testing adalah teknik pengujian perangkat lunak dimana
pengujian dilakukan pada bagaimana sistem menerima input dan
mengeluarkan output yang diinginkan, tidak memperhitungkan apa yang
terjadi di dalam sistem.
1.9Sistematika Penulisan
BAB I PENDAHULUAN
Bab ini akan memberikan penjelasan umum mengenai penelitian yang
akan penulis lakukan.
BAB II TINJAUAN PUSTAKA
Bab ini menguraikan berbagai teori dan konsep yang berhubungan dengan
permasalahan yang diangkat dalam penelitian ini.
8
Bab ini membahas tentang metodologi penelitian beserta langkah-langkah
yang dilakukan oleh penulis.
BAB IV PEMBAHASAN DAN HASIL PENELITIAN
Bab ini menguraikan tahapan pelaksanaan secara terperinci
dan hasil penelitian yang dilakukan.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran yang didapat dari hasil penelitian dan
33
BAB III
METODOLOGI PENELITIAN
3.1Desain Penelitian
Desain penelitian untuk sistem penelusuran katalog perpustakaan sekolah
dapat dilihat pada gambar berikut ini :
Gambar 3.1 Desain Penelitian
1. Menentukan kebutuhan data yang digunakan
2. Mempersiapkan alat dan bahan penelitian
Metode Pengumpulan Data :
1. Studi Pustaka
2. Observasi
3. Wawancara
Data Penelitian
Pengembangan Perangkat Lunak
Metode Pengembangan Perangkat Lunak : 1. Analisis
2. Desain 3. Kode 4. Test
34
3.2Metode Pengumpulan Data
1. Studi Pustaka
Tahap ini merupakan tahap pengumpulan pengetahuan dari
sumber-sumber seperti buku, dokumen atau publikasi dari berbagai sumber-sumber dan
perguruan tinggi. Sumber pengetahuan tersebut dijadikan sebagai landasan
teori untuk mengembangkan sistem penelusuran katalog perpustakaan
sekolah.
Penulis melakukan studi pustaka terhadap berbagai konsep mengenai
sistem penelusuran katalog dan algoritma Boyer-Moore yang digunakan
dalam proses penelusurannya.
2. Observasi
Observasi adalah pengamatan langsung para pengguna suatu sistem dan
atau pengamatan langsung suatu sistem yang sedang berjalan. Pada tahap
ini penulis melakukan observasi pada perpustakaan sekolah yang belum
memiliki sistem penelusuran katalog yang terkomputerisasi, penulis
mengamati dan mencatat berbagai kegiatan di lingkungan perpustakaan
sekolah dan sistem informasi perpustakaan yang sedang berjalan.
3. Wawancara
Pada tahap ini penulis melakukan wawancara dengan pengurus
perpustakaan tersebut untuk memperoleh keterangan mengenai objek
penelitian dan berbagai kebutuhan user yang akan menggunakan sistem
35
keterangan mengenai format data para pengguna, format data koleksi dan
berbagai kegiatan dalam pelayanan sirkulasi perpustakaan.
3.3Metode Pengembangan Perangkat Lunak
Pengembangan aplikasi sistem pelayanan perpustakaan ini akan
menggunakan metode sekuensial linier (waterfall). Metode waterfall
merupakan metode pengembangan perangkat lunak yang sistematik dan
sekuensial yang mulai pada tingkat dan kemajuan sistem sampai pada
analisis, desain, kode, test, dan pemeliharaan. Berikut ini adalah tahapan dari
model waterfall (Roger S. Pressman, 2002 : 37).
Gambar 3.2 Model Waterfall
1. Analisis
Proses menganalisis dan pengumpulan kebutuhan sistem yang sesuai
dengan domain informasi tingkah laku, unjuk kerja, dan antar muka
(interface) yang diperlukan. System / Information
Engineering
36
2. Desain
Dalam tahap ini penulis akan merancang desain dan model aplikasi yang
akan dikembangkan berdasarkan hasil analisa pada tahap sebelumnya.
3. Kode
Pengkodean(coding) merupakan proses menerjemahkan desain ke
dalam suatu bahasa yang bisa dimengerti oleh komputer.
4. Test
Proses pengujian berfokus pada logika internal software, memastikan
bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu
mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan
memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang
sesuai dengan hasil yang dibutuhkan. Pada penelitian ini penulis
menggunakan teknik black box untuk menguji fitur-fitur sistem yang telah
dibangun.
3.4Alat Penelitian
1. Komputer dengan spesifikasi
a. Processor Core 2 Duo
b. Hard disk 320 GB
c. RAM 4 GB
37
2. Software yang digunakan :
a. XAMPP
b. Notepad ++
c. Mozilla Firefox
3.5Bahan Penelitian
Bahan penelitian yang menjadi objek penelitian adalah berbagai entitas
dari sistem penelusuran katalog perpustakaan sekolah baik administrator,
penerbit, penulis, laporan dan buku. Bahan penelitian tersebut yaitu :
1. Format data katalog perpustakaan sekolah
2. Data master perpustakaan sekolah
38
BAB IV
HASIL PENELITIAN DAN PEMBAHASAN
4.1 Hasil Penelitian
Pada perpustakaan sekolah, katalog perpustakaan masih berupa katalog fisik
dari kertas karton. Katalog diurutkan berdasarkan klasifikasi katalog
perpustakaan. Berikut ini adalah format kartu katalog perpustakaan.
499.221 YWD
C
Wulandari, Yayan
Cerdas Berbahasa Indonesia Sesuai EYD untuk SD,SMP,SMA :
Yudhistira, 2008.
ISBN : 9786028661348
1. Bahasa Indonesia
Gambar 4.1 Format Kartu Katalog Perpustakaan Sekolah
Berdasarkan hasil observasi dan wawancara yang telah dilakukan oleh penulis
39
sekolah yang meliputi no.isbn, judul buku, jenis buku, penulis, penerbit, jumlah
buku, tahun terbit, kode buku, kode penulis, kode penerbit, kode rak dan kondisi.
Penelusuran katalog pada perpustakaan sekolah masih mengunakan cara
manual sehingga pencarian katalog buku berjalan lambat. Alur kerja pencarian
katalog perpustakaan sekolah tanpa sistem penelusuran katalog yang
terkomputerisasi adalah sebagai berikut.
Gambar 4.2 Alur Kerja Penelusuran Katalog Manual
4.2 Pengembangan Perangkat Lunak
Pengembangan perangkat lunak system penelusuran katalog perpustakaan
sekolah menggunakan metode sekuensial linier (waterfall). Beberapa tahap
metode waterfall yang dilakukan oleh penulis adalah analisis, desain, coding dan
test (pengujian).
olah data katalog manual
Memberitahukan data buku Menanyakan informasi buku
Pengunjung Kartu Katalog Pustakawan
40
4.2.1 Analisis
Pada tahap ini penulis melakukan analisis kebutuhan sistem agar dapat
mengetahui arus proses dan data sistem yang akan dibangun. Model sistem
penelusuran katalog perpustakaan sekolah dirancang menggunakan context
diagram dan data flow diagram. Context diagram dan data flow diagram dapat
dilihat pada Gambar 4.1 dan Gambar 4.2. Analisis sistem selengkapnya dapat
dilihat pada Dokumen Teknis.
Gambar 4.3 Context Diagram Sistem Penelusuran Katalog
Dari diagram tersebut dapat dilihat bahwa admin dapat memasukkan
data master dan login dengan id admin. Anggota hanya dapat memasukkan
kata kunci katalog dan sistem akan memberikan hasil penelusuran berupa data
41
Gambar 4.4 Data Flow Diagram Level 1 Sistem Penelusuran Katalog
Dari diagram diatas terlihat bahwa terdapat empat proses utama yang
menyusun sistem penelusuran katalog yaitu proses autentifikasi, setup data,
proses penelusuran, dan pembuatan laporan. Keterangan selengkapnya
mengenai DFD level 1 dapat dilihat pada Dokumen Teknis.
4.2.2 Desain
Sistem penelusuran katalog perpustakaan sekolah merupakan sebuah
sistem yang dibangun untuk membantu pengunjung perpustakaan sekolah
untuk mencari dan melihat informasi mengenai buku yang ingin dipinjam.
Selain itu sistem ini juga dapat membantu pustakawan dalam mengelola data
42
User(pengunjung) Admin (pustakawan)
Gambar 4.5 Desain Sistem Penelusuran Katalog
Pada tahap ini penulis melakukan perancangan antarmuka perangkat
lunak sistem penelusuran perpustakaan sekolah. Beberapa fitur yang akan
dirancang dalam perangkat lunak yaitu :
1. Penelusuran katalog berdasarkan kategori judul dan penulis .
2. Data Master (pengolahan data buku) : judul buku, jenis buku, isbn,
penulis, penerbit, tahun terbit, kondisi dan rak buku.
Perancangan antarmuka untuk user dan admin adalah sebagai berikut.
Gambar 4.6 Desain Antarmuka Admin
Pencarian Katalog
43
Gambar 4.7 Desain Antarmuka User
4.2.3 Coding
Dari hasil analisis dan desain yang telah dilakukan, penulis
mengubahnya ke dalam bentuk code dengan cara mengimplementasikan hasil
analisis dan desain tersebut ke dalam bahasa pemograman web dengan
menggunakan algoritma Boyer-Moore. Berikut ini adalah pseudocode
algoritma Boyer-Moore pada fase pra-pencarian dan fase pencarian :
1. Fase Preprocessing
procedure preBmBc(
input P : array[0..n-1] of char, input n : integer,
input/output bmBc : array[0..n-1] of integer )
Deklarasi: i: integer Algoritma:
for (i := 0 to ASIZE-1) bmBc[i] := m;
endfor
for (i := 0 to m - 2)
bmBc[P[i]] := m - i - 1; endfor
procedure preSuffixes(
44
suff: array [0..RuangAlpabet] of integer
45
Procedure compute_last_occurence_function(var p: string,
occ: array of integer, m: integer)
Declaration
c: char
i , j, a: integer;
Begin
//initialize the occ array
For i ← 0 to ALPHABET_SIZE do
Procedure goodprecomp1(var p: string, s: string,
f:array_of_integer, m: integer)
46
i, j, shift, bmBcShift, bmGsShift: integer BmBc : array[0..255] of interger
BmGs : array[0..n-1] of interger
Algoritma:
bmBcShift:= BmBc[chartoint(T[i+j])]-n+j+1 bmGsShift:= BmGs[j]
shift:= max(bmBcShift, bmGsShift) i:= i+shift
Algoritma Boyer-Moore kemudian diimplementasikan ke dalam
sistem penelusuran katalog perpustakaan sekolah menggunakan bahasa
pemrograman web yaitu php. Hasil implementasi algoritma Boyer-Moore
tersebut berupa skrip php yang digunakan pada fitur Pencarian Katalog yaitu
47
$pat = strlen(trim($data_cari)); $text = strlen(trim($pat));
$hasil= ($text/$pat) ; // kompleksitas waktu boyer moore mysql_query($sql, $connect)
or die ("SQL Error".mysql_error()); if (! empty($sql)) {
echo "<table class=table_utama width=99% border=0 cellspacing=1 >
<tr bgcolor=#0066FF> <td> Jenis Buku </td> <td> Judul Buku </td> <td> Penulis </td></tr>";
$load_time = microtime();
$load_time = explode(' ',$load_time);
$load_time = $load_time[1] + $load_time[0]; $page_end = $load_time;
$final_time = ($page_end-$page_start);
$page_load_time = number_format($final_time, 4, '.',".");
while($hs=mysql_fetch_array($minta))
echo "Running time penelusuran : <b>$hasil</b> millisecond."; echo "<p><a href=javascript:history.back(1)>Back
</a>"; }
}
48
Hasil implementasi dapat dilihat pada tabel Tabel 4.1 dibawah ini.
Hasil implementasi lebih lengkap dapat dilihat pada Dokumen Teknis.
Tabel 4.1 Hasil Implementasi
No Nama File Keterangan
1 index.php Halaman awal sistem yang merupakan penghubung antarhalaman system
2 administrator.php Halaman login administrator
3 cek_admin.php File ini berfungsi sebagai autentifikasi username dan password administrator
4 session.php File ini berfungsi sebagai perekaman data admin agar dapat mengakses setiap halaman
5 menu_utama.php Halaman ini menyediakan daftar fitur yang dapat digunakan oleh administrator
6 olah_buku.php File ini membantu administrator untuk mengedit atau menghapus data buku perpustakaan
7 laporan.php Halaman ini berfungsi menampilkan data koleksi perpustakaan
8 form_cari.html File ini berfungsi menampilkan form pencarian katalog 9 pencarian.php File ini berfungsi menampilkan hasil pencarian katalog
secara singkat.
10 cari_detail.php File ini berfungsi menampilkan data buku secara detail
4.2.4 Test
Pada tahap ini penulis melakukan beberapa pengujian terhadap
fitur-fitur perangkat lunak sistem penelusuran katalog perpustakaan sekolah yang
telah dibangun. Selain itu untuk mengetahui kecepatan algoritma Boyer-Moore
49
Lingkungan perangkat keras yang digunakan dalam proses pengujian
adalah sebagai berikut :
1. Processor Intel Centrino 2.1 GHz
2. RAM 2 GB
3. Hard Disk 100 GB
Lingkungan perangkat lunak yang digunakan dalam proses pengujian
adalah sebagai berikut :
1. Sistem Operasi Windows Vista SP 1
2. Browser Mozilla Firefox 3.6.10
3. XAMPP 1.7.3
Bentuk dari pengujian yang dilakukan adalah pengujian kebenaran
fungsional unit perangkat lunak, pengujian yang dilakukan menggunakan
teknik pengujian Black Box. Pengujian blackbox dilakukan untuk menemukan
kesalahan yang terjadi seperti fungsi yang tidak benar/hilang, kesalahan
interface, kesalahan struktur data, kesalahan kinerja, atau kesalahan
inisialisasi dan terminasi (Pressman, 2002: 551). Pelaksanaan pengujian dapat
dilihat pada Tabel 4.2 dibawah ini. Untuk hasil pengujian selengkapnya dapat
50
Tabel 4.2 Pelaksanaan Pengujian
No Bentuk
pengujian
Metode Data uji Tujuan
1 Pengujian login admin
algoritma menggunakan test case berupa target text dan pattern dengan
panjang yang bervariasi. Panjang string text (text size) yang digunakan adalah
100, sedangkan panjang pattern yang digunakan bervariasi antara 1 sampai 18
51
string yang tersedia pada database sistem penelusuran katalog. Panjang pattern
sesuai dengan panjang string dari kata kunci yang dimasukkan pada form
pencarian katalog. Hasil pengujian running time algoritma dapat dilihat pada
Tabel 4.1 dibawah ini. Satuan running time algoritma adalah millisecond.
Tabel 4.3 Hasil Pengujian Kecepatan Running Time Boyer-Moore
Pattern
Berikut ini adalah keterangan dari perhitungan running time
Boyer-Moore pada Tabel 4.1.
Contoh : m = 4, m adalah pattern size ; dan n = 100, n adalah text size. Maka
Running time = (n/m) = (100/4) = 25 millisecond
Berdasarkan hasil pengujian yang diperoleh pada Tabel 4.1 penulis
memperoleh kesimpulan dalam implementasi algoritma Boyer-Moore ke
dalam sistem penelusuran katalog perpustakaan sekolah yaitu semakin besar
jumlah pattern yang dicari maka semakin kecil running time algoritma
52
Boyer-Moore yang diperoleh sebesar 16.66 millisecond. Sedangkan pada m
sebesar 18 karakter, running time algoritma Boyer-Moore yang diperoleh
sebesar 5,55 millisecond.
Berikut ini penjelasan mengenai proses pencarian katalog dengan
algoritma Boyer-Moore berdasarkan masukkan kata kunci pada form pencarian
katalog. Misalnya string yang akan dicari adalah “musik” dari judul “terampil
bermain musik”. Maka proses pencarian string “musik” adalah sebagai berikut.
Pattern : musik Text : Terampil Bermain Musik
1. Preprocessing tahap pertama
Pada preprocessing tahap pertama, pencocokan string pattern dimulai dengan
mencocokan string pattern dengan deretan string text yang pertama “terampil”.
Tabel 4.4 Preprocessing Tahap Pertama
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
t e r a m p i l b e r m a i n m u s i k
m u s i k
Keterangan :
Pada tahap ini tidak ada satu pun karakter pattern yang cocok dengan karakter
text sehingga pergeseran string pattern sebesar jumlah string pattern sebanyak
53
2. Preprocessing tahap kedua
Tabel 4.5 Preprocessing Tahap Kedua
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
t e r a m p i l b e r m a i n m u s i k
m u s i k
Keterangan :
Pada tahap ini akhir karakter pattern “k” tidak cocok dengan karakter “b”
pada text. Karakter “i” tidak cocok dengan spasi. Tidak ada satu pun kakater
yang cocok. Pergeseran string sebesar 5 posisi.
3. Preprocessing tahap ketiga
Tabel 4.6 Preprocessing Tahap Ketiga
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
t e r a m p i l b e r m a i n m u s i k
m u s i k
Keterangan :
Pada tahap ini tidak ada satu pun karakter pattern yang cocok dengan karakter
text. Nilai pergeseran string sebesar satu karakter. Pencarian string dilanjutkan
54
4. Bad Character Rule
Tabel 4.7 Bad Character Rule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
t e r a m p i l b e r m a i n m u s i k
m u s i k
Keterangan :
Pada tahap ini terdapat satu karakter yang memiliki kecocokan yaitu pada
posisi string ke-15, karakter “i”. Nilai pergeseran adalah satu karakter.
5. Good Suffix Rule
Tabel 4.8 Good Suffix Rule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
t e r a m p i l b e r m a i n m u s i k
m u s i k
Keterangan :
Pada tahap ini terdapat satu karakter yang memiliki kecocokan yaitu pada
posisi string ke-13, karakter “m”. Nilai pergeseran adalah tiga karakter.
Pencarian string dilanjutkan pada posisi string ke-16 pada karakter “n” string
55
6. Bad Character Shift Rule
Tabel 4.9 Bad Character Shift Rule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
t e r a m p i l b e r m a i n m u s i k
m u s i k
Keterangan :
Pada tahap ini tidak ada satu pun karakter pattern yang cocok dengan karakter
text. Nilai pergeseran string sebesar dua karakter. Pencarian dilanjutkan pada
posisi string ke-18.
7. Tahap Good Suffix Shift Rule
Tabel 4.10 Good Suffix Shift Rule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
t e r a m p i l b e r m a i n m u s i k
m u s i k
Keterangan :
Pada tahap ini semua karakter pattern cocok dengan karakter text. Pencarian
58
DAFTAR PUSTAKA
Aulia, Rama. (2008). Analisis Algoritma Knuth Morris Pratt dan Algoritma
Boyer Moore Dalam Proses Pencarian String. [online]. Tersedia :
http://www.informatika.org/~rinaldi/Stmik/2007-2008/Makalah2008/MakalahIF2251-2008-101.pdf
Boyer R.S., Moore J.S., (1977). A fast string searching algorithm.
Communications of the ACM. 20:762-772.
Dwi AP, Nur Hadi, dkk .(2008). Analisis Algoritma Boyer-Moore untuk
Pemecahan Kasus String Matching. [online]. Tersedia :
http://www.teknokrat.ac.id/perangkat_ajar/New%20Folder/Algoritma%20
1%20(Teori)/Pertemuan_kedelapan/DAA_20052_113020170_113020175
_113020177_113020185_Analisa_Algoritma_Boyer-Moore_untuk_Pemecahan_Kasus_String_Matching.pdf
Edisman. (2009). Sejarah DDC. [online]. Tersedia :
http://sadisman-edisman.blogspot.com/2009/06/sejarah-ddc_9148.html
Fernando, Hary. (2009). Perbandingan dan Pengujian Beberapa Algoritma
Pencocokan String. [online]. Tersedia :
59
Indrarto. Setiawan, M. Andri dan Hidayat, Taufiq. (2008). Online Public Access
Catalogue. [online]. Tersedia :
http://journal.uii.ac.id/index.php/Snati/article/viewFile/672/597
Munir, Rinaldi. (2004). Algoritma Pencarian String. [online]. Tersedia :
http://kur2003.if.itb.ac.id/file/trans-Bahan%20Kuliah%20ke-15.doc
Pratama, Satya Fajar. (2008). Pencocokan DNA Pattern Dengan Algoritma
Boyer-Moore. [online]. Tersedia :
http://www.informatika.org/~rinaldi/Stmik/2007-2008/Makalah2008/MakalahIF2251-2008-053.pdf
Pressman, Roger S. (2001). Software Engineering : A Practitioner’s Approach.
Singapore : McGraw-Hill, Inc.
Rompah, Edward Geopholda. (2009). Algoritma Boyer-Moore. [online]. Tersedia
: http://edwardgr.wordpress.com/2009/01/06/algoritma-boyer-moore/
Shofia. (2009). Dewey Decimal Classification. [online]. Tersedia :
http://shofi4.files.wordpress.com/2008/11/ddc.pdf
Szpektor, Idan. (2008). Boyer Moore Algorithm. [online]. Tersedia :
http://www.math.tau.ac.il/~haimk/seminar04/boyer-moore-algorithm.ppt
Wahyudin, Asep. (2007). Rekayasa Perangkat Lunak. [online]. Tersedia :
60
Wikipedia. (2010). Algoritma Boyer Moore. [online]. Tersedia :
http://id.wikipedia.org/wiki/Algoritma_Boyer-Moore
Wikipedia. (20010). Algoritma Pencarian String. [online]. Tersedia :
i, j: integer
suff: array [0..RuangAlpabet] of integer
preSuffixes(x, n, suff);
Procedure compute_last_occurence_function(var p: string, occ: array of integer, m: integer)
Declaration c: char
i , j, a: integer; Begin
//initialize the occ array
For i ← 0 to ALPHABET_SIZE do
end_while
i, j, shift, bmBcShift, bmGsShift: integer BmBc : array[0..255] of interger
BmGs : array[0..n-1] of interger
Algoritma:
bmBcShift:= BmBc[chartoint(T[i+j])]-n+j+1 bmGsShift:= BmGs[j]