Anda di halaman 1dari 5

Jurnal Majalah Ilmiah Informasi dan Teknologi Ilmiah (INTI)

ISSN 2301-9425 (Media Cetak)


Volume 7, No 1, Oktober 2019
Hal: 36-40

IMPLEMENTASI ALGORITMA BITAP PADA SEARCH BOX


DI E-COMMERCE BERBASIS WEB
Muhammad Alhamdani

Mahasiswa Teknik Informatika STMIK Budi Darma


Jl. Sisingamangaraja No. 338 Simpang Limun, Medan

ABSTRAK
Electronic commerce adalah satu bagian yang terpenting akhir-akhir. Saat ini dengan pesatnya perkembangan teknologi dan
internet di Indonesia telah memiliki dampak besar pada bisnis yaitu mulai dari jual-beli, cara berinteraksi antar manusia dan
sebagainya. Umumnya e-commerce memasarkan barangnya dengan jenis barang yang sangat banyak dan juga barang yang
ditampilkan dalam setiap halaman hanya sebagian saja yang biasa disebut dengan paging. Tentunya hal tersebut akan
mempersulit calon pembeli untuk membeli di website e-commerce tersebut, Selain dari pada itu sering sekali calon pembeli
keliru dalam menentukan produk yang dibeli karena nama produk mempunyai kesamaan sehingga bisa saja terjadi kesalahan
pembelian jika calon pembeli kurang teliti dalam melakukan pembelian. Algoritma Bitap adalah salah satu algoritma String
Matching yang akan memberitahu apakah data input memliki pola yang “kira-kira sama dengan” pola yang sedang dicari.
Algoritma ini akan dapat membantu bila diterapkan pada pencarian nama barang di website e-commerce. Dari permasalahan
tersebut akan dibangun sebua aplikasi berbasis web yang memfokuskan pada kotak pencarian nama-nama barang. Sehingga
diharapkan dapat mempermudah calon pembeli dalam menemukan dan mempeercepat dalam proses pencarian barang.

Kata Kunci: E-commerce, Algoritma Bitap, String Mtaching. Web.

I. PENDAHULUAN dimana perkiraan ditentukan dengan menggunakan


Pekembangan Teknologi Informasi yang di Levenshtein Distance. Untuk mempercepat pencarian
sertai perkembangan internet saling mendukung satu barang/item pada website e-commerce maka Algoritma
sama lain sehingga melahirkan konsep Teknologi Bitap akan mencocokkan teks pada Search Box dengan
berbasis internet yang perkembangannya semakin luas nama item yang ada dalam website e-commerce.
dan semakin banyak diterapkan dalam bisnis
perusahaan di berbagai bidang. Sistem informasi II. IMPLEMENTASI
berbasis web atau lebih populernya disebut e-commerce A. Implementasi
merupakan sebuah aplikasi yang digunakan untuk Implementasi dalam Operational Research
memasarkan suatu barang maupun jasa kepada (OR) atau Management Science (MS) adalah meletakan
penjelajah dunia maya. solusi yang diuji pada pekerjaan. Ini berarti
Pada umumnya e-commerce memasarkan menerjemahkan solusi matematika pada sekumpulan
barangnya dengan jenis barang yang sangat banyak, prosedur pengoperasian yang dipahami atau peraturan
yang dibagi dalam beberapa kategori yaitu peralatan keputusan untuk setiap orang yang terlibat dalam
rumah tangga, elektronik, peralatan olahraga, pakaian penyiapan masukan untuk model, menunjukan
dan sebagainya. Tentunya semakin banyak barang yang perhitungan apapun, dengan tangan atau dengan
dipasarkan maka akan semakin lama calon pembeli bantuan program komputer, dan menggunakan atau
untuk menemukan barang yang akan dibeli, menerapkan solusi. Ini diikuti oleh penelitian semua
dikarenakan barang yang ditampilkan dalam setiap orang yang terlibat untuk penerapan atas peraturan-
halaman hanya sebagian saja yang biasa disebut dengan peraturan ini, mengeksekusi perpindahan dari yang
paging. Tentunya hal tersebut akan mempersulit calon lama ke mode operasi yang dianjurkan, dan
pembeli untuk membeli di website e-commerce menyiapkan dokumentasi secara lengkap untuk
tersebut, Selain dari pada itu sering sekali calon referensi masa depan.
pembeli keliru dalam menentukan produk yang dibeli
karena nama produk mempunyai kesamaan sehingga B. Algoritma
bisa saja terjadi kesalahan pembelian jika calon Istilah algoritma berasal dari nama seorang
pembeli kurang teliti dalam melakukan pembelian. pengarang berkembangsaan arab yang bernama ja’far
Permasalahan di atas yang menjadi latar Muhmammad bin Musa Al-Khowarizmi (pada tahun
belakang dan alasan utama penulis untuk menampilkan 790-840), yang sangat tekenal dengan sebutan bapak
hasil yang akurat pada pencarian nama barang dengan aljabar. Algoritma adalah sekumpulan langkah yang
mengimplementasikan Algoritma Bitap pada Search rinci yang ditujukan untuk menyelesaikan suatu
Box di e-commerce. Algoritma Bitap adalah salah satu masalah. Langkah-langkah yang dimaksud adalah agar
algoritma yang dapat digunakan untuk mencari dimana bisa dituangkan ke dalam program sehingga bisa
sebuah string (dalam kasus ini dinamakan sebagai pola) dieksekusi oleh sistem komputer. Namun, tanpa harus
apakah ditemukan di dalam kumpulan string lain menuangkan ke dalam program, langkah-langkah yang
dengan ukuran yang lebih besar. Bitap akan terdapat di algoritma bisa diuji secara manual.
memberitahu apakah data input memliki pola yang
“kira-kira sama dengan” pola yang sedang dicari, C. Algoritma String Matching

36
Jurnal Majalah Ilmiah Informasi dan Teknologi Ilmiah (INTI)
ISSN 2301-9425 (Media Cetak)
Volume 7, No 1, Oktober 2019
Hal: 36-40
Istilah algoritma berasal dari nama seorang memiliki fase preprocessing kompleksitas O (m + σ)
pengarang berkebangsaan Arab bernama Ja’fat dan fase komputasi kompleksitas O (m n). Algoritma
Mohammed bin Musa al Khowarizmi (tahun 790 – tidak membedakan antara awal dan ujian berikutnya
840), yang sangat terkenal dengan sebutan bapak karena Bitap menggunakan mekanisme yang berbeda,
Aljabar. Secara defenisi algoritma adalah alur yang menggunakan operator bitwise. Penting untuk
pemikiran yang logis yang dapat dituangkan ke dalam disebutkan bahwa di Bitap, 0 selalu merepresentasikan
bentuk tulisan. Sebuah algoritma dikatakan benar sebuah kejadian dan sebuah 1 selalu mewakili sebuah
(correct) jika algoritma tersebut berhasil mengeluarkan kehilangan, di dalam representasi bitnya. Pertama-
output yang benar untuk semua kemungkinan input. tama, Bitap membutuhkan array topeng pola yang
String matching adalah proses pencarian semua berisi jumlah karakter yang sama seperti karakter dalam
kemunculan query yang selanjutnya disebut pattern ke alfabet. Alfabet menentukan jumlah dan sifat karakter
dalam string yang lebih panjang dalam teks dan polanya. Dalam kasus penelitian ini,
String matching dirumuskan dengan : alfabet berisi 26 karakter, yang merupakan huruf
x = x [0....m-1] (1) alfabet Inggris. Topeng pola ini kemudian diisi dengan
y = y [0.....n-1] (2) cara berikut:
dimana : 1. Ambillah karakter dalam pola satu per satu dan
x = pattern tempatkan sesuai dengan tatanan alami, abjad, di
m = panjang pattern dalam topeng pola. Jadi huruf A masuk ke nomor
y = Teks elemen nol pada array topeng pola, huruf B
n = Panjang teks mengarah ke elemen nomor satu, dan seterusnya.
Pencocokan string adalah permasalahan untuk 2. Dalam elemen array topeng pola, setiap elemen
menemukan satu atau lebih umum semua kejadian dari menyimpan posisi huruf tertentu seperti yang
pola dalam teks. Suatu pola dan teks keduanya muncul dalam polanya. Jadi jika huruf A terjadi
merupakan string yang dibangun diatas alphabet yang pada posisi kelima dalam Pattern, maka digit kelima
terbatas (satu set simbol yang terbatas) dari Least Significant Bit diatur menjadi nol, pada
Menurut cara pembacaan teks, algoritma elemen pertama dari array topeng pola.
pencocokan string dapat dibedakan atas dua cara Misalnya, jika polanya adalah: ACCACD maka
pembacaan: topeng pola akan terlihat sebagai berikut (baca dari
1. Dari kiri ke kanan kanan ke kiri):
Algoritma pencarian dengan tehnik ini sangat 1. Pattern_mask [0] = 110110
banya. Hampir sebagian besar algoritma pencarian 2. pattern_mask [1] = 111111
menggunakan cara pembacaan teks dari kiri ke 3. pattern_mask [2] = 101001
kanan. 4. pattern_mask [3] = 011111
2. Dari kanan ke kiri 5. pattern_mask [4] = 111111
Dalam algoritma ini, terdapat algoritma boyer- 6. dan seterusnya sampai pattern_mask [24].
moore yang dianggap salah satu algoritma yang Algoritma ini membutuhkan sebuah set kerja
utama dan algoritma standar dalam pencocokan juga, yang diinisialisasi menjadi semua, kecuali Bit
string. Least Significant, yang ditetapkan menjadi nol.
Akhirnya, Bitap memerlukan pengecekan sebuah
D. Cara Kerja String Matching variabel, yang disebut is_match dalam diagram alir
Cara kerjanya adalah dengan mencoba mencari algoritma, yang dengan sedikit bitwise bergeser
di setiap posisi awal teks dan mengabaikan pencarian berkali-kali, sama besarnya dengan pola, dimana ia
secepat mungkin jika karakter yang salah ditemukan. memperkenalkan sebanyak nol karakter dalam variabel
Proses pertama adalah menyelaraskan bagian paling cek, karena banyak karakter dalam pola . Angka nol ini
kiri dari pattern dengan teks. Kemudian dibandingkan diikuti oleh satu di sebelah kiri mereka. Setelah variabel
karakter yang sesuai dari teks dan pattern. Setelah awal disiapkan dan fase preprocessing disimpulkan,
seluruhnya cocok dari pattern window digeser kekanan algoritma memasuki fase komputasi, yang merupakan
sampai posisi (n-m+1) pada teks. Efesiensi dari pengujian awal dan berikutnya. Disini algoritma
algoritma terletak pada dua tahap: menggunakan bitwise atau dengan cara yang set kerja
1. Tahap praproses, tahap ini mengumpulkan akan sama dengan working set bitwise atau karakter
informasi penuh tentang pattern dan menggunakan pertama dari teks. Kemudian working set bitwise kiri
informasi ini pada tahap pencarian. bergeser satu kali. Disini algoritma mengevaluasi
2. Tahap pencarian, pattern dibandingkan dengan apakah variabel cek bitwise dan working set sama
window dari kanan ke kiri atau kiri ke kanan sampai dengan nol. Jika ya, maka pola itu ditemukan. Jika
kecocokan atau ketidak cocokan terjadi. tidak, maka working set akan sama dengan working set
bitwise atau karakter kedua dari teks. Ini berlanjut
E. Algoritma Bitap sampai teks habis. Algoritma flowchart figure 2
Algoritma Bitap, yang menggunakan operator menunjukkan inner kerja Bitap, dimana pseudo kode C
bitwise untuk melewati teks yang masuk untuk menjelaskan setiap langkah dari algoritma. Dalam loop
menemukan pola yang diinginkan. Algoritma ini ini, kode berikut disajikan:

37
Jurnal Majalah Ilmiah Informasi dan Teknologi Ilmiah (INTI)
ISSN 2301-9425 (Media Cetak)
Volume 7, No 1, Oktober 2019
Hal: 36-40
for (j = 1; j <= Levenshtein; j ++)
{
int temp = working_set [j];
Working_set [j] = (old_workingSet
& (working_set [j] |
Pattern_mask [txt
[text_counter]])) << 1;
Old_workingSet = temp;
}
Pada akhir loop ini, perbandingan berikut
dibuat:
if ((working_set [Levenshtein] & (1 << pat_len))
==
Jika perbandingan itu benar, maka pola itu
ditemukan, jika tidak maka belum ditemukan. Jadi
Pencarian terus berlanjut sampai akhir Teks.

III. ANALISA
A. Analisa Algoritma Bitap
Algoritma Bitap adalah salah satu algoritma
yang dapat digunakan untuk mencari dimana sebuah
string (dalam kasus ini dinamakan sebagai pola) apakah
ditemukan di dalam kumpulan string lain dengan
ukuran yang lebih besar. Bitap akan memberitahu
apakah data input memliki pola yang “kira-kira sama
dengan” pola yang sedang dicari, dimana perkiraan
ditentukan dengan menggunakan Levenshtein
Distance.
Algoritma dimulai dengan melakukan
perhitungan bitmask yang mengandung 1 bit untuk
setiap elemen dalam pola, kemudian pencarian akan
dilakukan dengan cara operasi bitwise, dimana
pencarian tersebut sangat cepat dilakukan. Bitap
bekerja dengan cara melakukan pemetaan menjadi
operasi bitwise yang mudah. Setiap bit yang bernilai 0
berarti cocok, dan setiap bit yang bernilai 1 berarti tidak
cocok.
Sebagai contoh, akan dilakukan proses
pencarian pattern menggunakan algoritma Bitap
dengan Text “motifpopsocket” dan Pattern “socket”
setiap karakter pada pattern tidak ditemukan kecocokan
pada indeks maka bergeser satu langkah ke kanan,
maka penyelesaianya adalah sebagai berikut :

38
Jurnal Majalah Ilmiah Informasi dan Teknologi Ilmiah (INTI)
ISSN 2301-9425 (Media Cetak)
Volume 7, No 1, Oktober 2019
Hal: 36-40

Pada pattern 1-6 terdapat kecocokan pada


pattern ke-6 pada karakter “s” dengan “s” “o” dengan
“o” “c” dengan “c” “k” dengan “k” “e” dengan “e”
dan “t” dengan “t” maka hasil paternnya adalah 111110 Gambar 3 : Tampilan Menu profil
dan pencarian berhenti pada index 14.
3. Form Semua Produk
IV. IMPLEMENTASI Form Semua Produk merupakan form yang di
A. Implementasi Sistem sediakan untuk melihat semua kategori barang
Implementasi merupakan langkah yang yang terdapat pada e-commerce.
digunakan untuk mengoperasikan sistem yang
dibangun. Program adalah serangkaian instruksi-
instruksi yang sistematis dan logis untuk
mengendalikan komputer dalam mencapai tujuan
sesuai dengan aturan-aturan tertentu.
1. Menu Utama
Pada menu utama e- commerce terdapat kotak
pencarian, kategori produk dan submenu beranda,
profil, semua produk,keranjang,cara berbelanja,
dan hubungi kami.

Gambar 4 : Tampilan Menu Semua Produk

B. Hasil Pengujian Program


Hasil pengujian program menampilkan hasil output
dari sebuah input data pada aplikasi yang telah siap.
Untuk pengujian programnya bisa kita lihat sebagai
berikut:
1. Form Hasil Pencarian
Form Hasil Pencarian merupakan form yang di
Gambar 2 : Tampilan Menu Utama sediakan untuk user setelah melakukan pencarian
nama barang pada kotak pencarian pada website dan
2. Form Profil akan menampilkan nama barang yang dicari apabila
Form profil merupakan form yang di sediakan barang tersebut terdapat di database.
untuk melihat sebuah gambaran tentang e-
commerce .

39
Jurnal Majalah Ilmiah Informasi dan Teknologi Ilmiah (INTI)
ISSN 2301-9425 (Media Cetak)
Volume 7, No 1, Oktober 2019
Hal: 36-40

Gambar 5 : Tampilan Menu Hasil Pencarian

V. KESIMPULAN
Dari penelitian ini dapat disimpulkan sebagai
berikut :
1. Pada aplikasi e-commerce lebih efektif bila produk
yang terdapat pada web disajikan dengan
mengelompokkan barang karena proses
pencariannya menjadi lebih mudah.
2. Berdasarkan analisa dan pengujian bahwa
penerapan algoritma Bitap dapat
diimplementasikan pada aplikasi pencarian nama
barang di e-commerce.
3. Berdasarkan analisa dan pengujian bahwa aplikasi
cocok dirancang menggunakan bahasa
pemograman PHP, dan berbasis Website.

REFERENSI

[1] Wikipedia.https://en.wikipedia.org/wiki/Bitap_algorithm
. Diakses : 20 mei 2017.
[2] Wikipedia. http://id, Wikipedia.Org /wiki/Algoritma.
Diakses : 20 mei 2017.
[3] Ema, U., & Sukrisn. (2005). 10 langkah Belajar Logika
dan Algoritma. Menggunakan Bahasa C dan C++ di
GNU/Linux. Yogyakarta: ANDI.
[4] Feigl, M. (2015). Bitap for Parallel Approximate
Nucleotide Sequence Matching. MSc in High
Performance Computing , 2, 10.
[5] Purbo, O. W. (2001). Buku Pintar Internet Membangun
Web Ecommerce. Jakarta: PT. Elex Media Komputindo.
[6] Sutarman. (2007). Memabangun Aplikasi Web dengan
PHP & MySQL. Yogyakarta: Graha Ilmu.
[7] Komputer, W. (2012). Membangun Web Interatif dengan
Adobe Dreamweaper SC5.5, php & MySQL. Yogyakarta:
Andi.
[8] Zaki, A. (2008). 36 Menit Belajar Komputer, Php Dan
Mysql. Jakarta: PT Elex Media Komputindo.
[9] Miftakhul, H., & Bunafit, K. (2010). Membuat Aplikasi
Database. Jakarta: PT Elex Media Komputindo.

40

Anda mungkin juga menyukai