• Tidak ada hasil yang ditemukan

Implementasi Algoritma Pencocokan String Sunda

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Algoritma Pencocokan String Sunda"

Copied!
14
0
0

Teks penuh

(1)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

1

Implementasi Algoritma Pencocokan String pada

Aplikasi Pengarsipan Berbasis Web

Ana Ervana 1, Asri Pertiwi 2

1Mahasiswa Jurusan Teknik Informatika; 2Dosen Jurusan Teknik Informatika STMIK Inti Indonesia, Jakarta

[email protected], [email protected]

Abstraction

In daily activities, data searching done as a away to get information efficiently, such as phone book searching, dictionary searching or location searching within memory storage. Some searching algorithm was created to simplify user in searching some big data. One of searching algorithm is Knuth-Morris-Pratt or KMP. This algorithm is string matching algorithm which do a comparison of characters of text and characters of the pattern from left to right. The idea of this algorithm is how to utilize the known pattern characters in the text until a mismatch to do the shifting. This paper is written to implement KMP Algorithm to the Archieve Web Application.

Kata Kunci : String Matching, Archive, Archiving System

1. PENDAHULUAN

1.1.

Latar Belakang

Algoritma Pencocokan String

merupakan algoritma yang digunakan untuk melakukan pencarian sebuah string yang terdiri dari beberapa karakter (yang biasa disebut pattern) dalam sejumlah besar text.

Algoritma Pencocokan String yang

diterapkan pada aplikasi pengarsipan

melakukan pencarian data dengan cara menelusuri seluruh kata yang terdapat pada dokumen.

Pengarsipan merupakan salah satu kegiatan administrasi perkantoran yang menunjang kegiatan perkantoran terutama dalam penyimpanan catatan dan data kelembagaan maupun organisasi. Kearsipan meliputi beberapa proses yang dimulai dari

penciptaan, penerimaan, pengumpulan,

pengaturan, pengendalian, pemeliharaan dan

perawatan serta penyimpanan warkat

menurut sistem tertentu. Ketika arsip dibutuhkan dapat ditemukan dengan cepat dan tepat. Bila arsip-arsip tersebut tidak bernilai guna lagi, maka arsip harus dimusnahkan.

Arsip mempunyai peranan yang sangat penting dalam suatu lembaga maupun

organisasi. Arsip digunakan untuk

menunjang kinerja karyawan dalam

(2)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

2

lembaga atau organisasi yang menggunakan

manajemen pengarsipan model ini.

Pengarsipan secara elektronis memberikan banyak keuntungan dibandingkan dengan pengarsipan secara pencatatan dokumentasi, diantaranya : kecepatan dalam pencarian arsip, kemudahan dalam berbagi dokumen,

kemudahan dalam recovery data,

penghematan tempat dalam penyimpanan arsip, dan penghematan dalam tenaga kerja.

1.2.

Identifikasi Masalah

Masalah yang timbul pada tempat dimana dilakukan studi kasus apabila menggunakan pengarsipan secara manual yaitu sebagai berikut :

a. Departemen mengalami kesulitan

dalam melakukan pencarian arsip, dikarenakan penomoran arsip tidak

disimpan pada sebuah database

terpusat

b. Melakukan pekerjaan yang

berulang-ulang, pegawai harus

menyalin status dokumen yang masuk dan yang keluar ke dalam beberapa buku besar (log-book).

c. Memerlukan tempat yang besar dan

banyak untuk penyimpanan

dokumen tertulis. Jika dokumen semakin hari semakin bertambah tentunya ruang penyimpanan untuk dokumen arsip akan bertambah.

d. Kesulitan dalam recovery data.

Sebelum melakukan recovery,

pegawai arsip harus melakukan pencarian file terlebih dahulu, baru kemudian membuat salinanannya.

1.3.

Ruang Lingkup

Aplikasi pengarsipan berbasis website yang menggunakan algoritma Pencocokan String ini dijalankan pada komputer dengan

bantuan browser. Aplikasi ini dibuat dengan

menggunakan bahasa PHP dan data

disimpan dalam databaseMySQL. Didalam aplikasi memiliki beberapa fitur seperti berikut :

1. Pembuatan Surat

Pada fitur ini, user dapat melakukan penulisan surat secara langsung. 2. Pencarian (Searching)

Fitur ini merupakan fitur dengan

menggunakan algoritma

Pencocokan String yang

memudahkan user dalam melakukan

pencarian arsip. 3. Upload file

Fitur ini merupakan fitur yang digunakan user untuk meng-upload file lampiran dari surat yang telah

Fitur ini digunakan untuk

(3)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

3

2. LANDASAN TEORI

Algoritma merupakan suatu alur

pikiran dalam menyelesaikan suatu

pekerjaan, yang dituangkan dalam bentuk tertulis yang dapat dimengerti oleh orang lain. Suatu pekerjaan dapat diselesaikan dengan berbagai macam cara, akan tetapi harus tersusun secara logis agar pekerjaan dapat diselesaikan dengan benar (Sjukani, 2010, hal.1).

2.1. Algoritma Pencocokan String

Algoritma pencocokan string atau yang disebut juga dengan String matching atau adalah suatu metode yang digunakan untuk menemukan suatu keakuratan atau hasil dari satu atau beberapa pola teks yang diberikan. Pencocokan string merupakan pokok bahasan yang penting dalam ilmu komputer karena teks merupakan adalah bentuk utama dari pertukaran informasi antar manusia, misalnya pada literatur, karya ilmiah, halaman web dan sebagainya (Hulbert-Helger, 2007).

Pencarian string juga dapat digunakan untuk mencari pola bit dalam sejumlah besar file binary. Dalam algoritma pencocokan string, teks diasumsikan berada di dalam memori, sehingga bila kita mencari string di dalam sebuah arsip, maka semua isi arsip perlu

dibaca terlebih dahulu kemudian disimpan di dalam memori.

Pencocokan string fokus pada pencarian satu, atau lebih umum, semua kehadiran sebuah kata (lebih umum disebut pattern) dalam sebuah teks. Semua algoritma yang

akan dibahas mengeluarkan semua

kehadiran pola dalam teks. Pola dinotasikan sebagai x = x[0..m-1]; m adalah panjangnya.

2.2. Algoritma Pencocokan String Knuth-Morris-Pratt (KMP)

Algoritma Knuth-Morris-Pratt

merupakan salah satu algoritma pencarian string, yang dikembangkan secara terpisah oleh Donald E. Knuth pada tahun 1967 dan James H. Morris bersama Vaughan R. Pratt pada tahun 1966, kemudian dipublikasikan

secara bersamaan pada tahun 1977.

Algoritma Knuth-Morris-Pratt melakukan perbandingan karakter teks dan karakter pada pola dari kiri ke kanan. Ide dari

algoritma ini adalah bagaimana

memanfaatkan karakter-karakter pola yang sudah diketahui ada di dalam teks sampai

terjadinya ketidakcocokkan untuk

melakukan pergeseran.

Gambar 2.1 Pergeseran dalam Algoritma Pencocokan String

Sumber: Christian Charas & Thierry Lecroq, Handbook of Exact String-Matching Algorithms

Misalkan, string teks y pada gambar 2.1, mempunyai panjang n, indeksnya

(4)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

4

= a dan y[i+j] = b, maka telah diketahui terdapat karakter-karakter pola yang ada pada teks yaitu x[0..j-1] = y[i..j+j-1] = u. karakter-karakter ini dapat dimanfaatkan sehingga dapat dimungkinkan melakukan pergeseran yang lebih jauh.

Secara sistematis, langkah-langkah yang

dilakukan algoritma Knuth-Morris-Pratt

pada saat mencocokkan string:

1. Algoritma Knuth-Morris-Pratt mulai mencocokkan pattern pada awal teks. 2. Dari kiri ke kanan, algoritma ini akan

mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi:

a. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).

b. Semua karakter di pattern cocok.

Kemudian algoritma akan

memberitahukan penemuan di posisi ini.

3. Algoritma kemudian menggeser pattern berdasarkan tabel, lalu mengulangi langkah 2 sampai pattern berada di ujung teks

Gambar 2.2 Pseudocode KMP pada Fase Pra Pencarian

Gambar 2.3 Pseudocode KMP pada Fase Pencarian

2.3 Kompleksitas algoritma

Algoritma KMP menemukan semua kemunculan dari pattern dengan panjang n tergantung pada besarnya ruang alphabet.

Sebagai pembanding, Algoritma

Running Karp-Rabin juga dapat menangani masalah string maching, dan merupakan

pengembangan dari greedy. Jika [P]

(5)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

5

dibandingkan per elemen. Kompleksitas kasus terburuk penggunaan algoritma ini yaitu O(n3) dengan n merupakan panjang string input dengan hasil hamper linier walaupun kasus ini jarang terjadi.

Algoritma KMP mengalami inovasi

sedikit dari bruto-force, memiliki

kompleksitas pembanding string yang lebih sederhana dan ringkas sehingga proses yang dilaluipun lebih sedikit. Algoritma ini lebih unggul untuk string-matching antara 2 buah

nilai hash karena kompleksitas

pembandingnya yang lebih sederhana.

2.3 Arsip

Amsyah (2005), mengatakan “arsip

adalah setiap catatan (record/warkat) yang tertulis, tercetak, atau gambar, yang mempunyai arti dan tujuan tertentu sebagai bahan komunikasi dan informasi, yang terekam pada kertas (kartu, formulir), kertas film (slide, film-strip, mikro-film), media komputer (pita tape, piringan, rekaman, disket), kertas photocopy, dan lain-lain”.

Ada beberapa siklus hidup dari arsip yang dimulai dari penciptaan arsip hingga kepada disposis arsip tersebut.

1. Penciptaan

Merupakan tahap pertama, yang

menjadi tahapan dasar untuk

mengontrol perkembangan dari

dokumen dan menetapkan aturan main bagaimana sebuah dokumen akan dikelola sesuai dengan nilai manfaatnya bagi organisasi atau perusahaan.

2. Pemanfaatan

Tahap yang kedua, adalah pemanfaatan dari sebuah dokumen. Tahapan ini merupakan tahap implementasi dari aturan maen yang telah disusun pada

tahap sebelumnya, yaitu bagaimana

mengefisiensikan proses retrievel

maupun pendistribusian arsip kepada pihak yang berkepentingan.

3. Penyimpanan

Tahap ketiga adalah penyimpanan, Bagi dokumen aktif, dengan frekuensi dengan penggunaan lebih dari 12 kali dalam setahun perlu perhatian dalam pemanfaatannya. Untuk meningkatkan efisiensi dan kenyamanan bagi user,

menitik beratkan kepada lokasi

dokumen maupun arsip yang dimaksud dan melacaknya apabila tidak kembali dalam waktu tertentu.

5. Disposisi

Merupakan tahapan yang terakhir, berupa tahapan pemeliharaan dokumen yang dianggap penting ke lokasi yang tepat untuk penyimpanan, termasuk pemusnahan dokumen bila dirasa

memenuhi asas cukup untuk

dimusnahkan.

3. ANALISA DAN PERANCANGAN SISTEM

3.1. Analisa Usulan

Aplikasi yang diusulkan merupakan

aplikasi berbasis web, yang dibuat

menggunakan bahasa pemrograman script

PHP, dimana user dapat mengakses aplikasi

tersebut kapanpun dan melakukan

(6)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

6

Aplikasi ini memiliki database yang digunakan sebagai penyimpanan data, yang terdiri dari surat-surat dan hal-hal yang berkaitan dengan transaksi arsip, yang akan

memudahkan user dalam melakuka

pengaksesan data. Database yang digunakan yaitu MySQL.

Gambar 3.1 Alur Sistem yang Diusulkan

3.2. Perancangan Penomoran

Penomoran pada aplikasi

pengarsipan berbasis web, nomor surat dibuat berdasarkan no urut pembuatan surat, level_id pada pada tabel level, bulan pembuatan surat, dan tahun pembuatan yang dibatasi dengan garis miring. Adapun format dari penomoran surat tersebut, yaitu :

000/XXXXX/XX/0000

Keterangan :

A = No urut pembuatan surat berdasarkan

pengirim surat

B = Pengirim surat berdasarkan level

C = Bulan pembuatan surat yang berbentuk angka romawi

D = Tahun pembuatan surat

3.3 Pemodelan

3.3.1 Use Case Diagram

Adapun use case diagram dari apalikasi pengarsipan berbasis web yaitu, seperti pada gambar dibawah ini.

(7)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

7

Gambar 3.2 Use case Diagram

3.3.2 Activity Diagram

Gambar 3.3 Activity Diagram untuk

Create File

Gambar 3.4 Activity Diagram untuk

(8)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

8

Gambar 3.5 Activity Diagram untuk View File

Gambar 3.6 Activity Diagram untuk Pemusnahan File

3.3.5 Sequence Diagram

(9)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

9

Gambar 3.7 Sequence Diagram Department

(10)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

10

Gambar 3.9 Class Diagram

3.3.7 Perancangan Aplikasi

1. function KMP($pattern,$tex){ 2. $pattern = strtolower($pattern);

3. $tex = strtolower($tex);

4. $result = array();

5. $search = separate($pattern); 6. $patternWide = count($search); 7. $text = separate ($tex); 8. $textWide = count($text); 9. $jump = preKMP($search); 10. $i = $j = 0;

11. $num=0;

12. while($j<$textWide){

13. while($i>-1 && $search[$i]!=$text[$j]){ 14. $i = $jump[$i];}

15. $i++; 16. $j++;

17. if($i>=$patternWide){ 18. $i = $jump[$i];

19. $result[$num++]=$j-$patternWide;} 20. }

(11)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

11

Gambar 3.10 Perancangan Fungsi KMP

Pada gambar 3.10 diatas, merupakan perancangan kode untuk fungsi KMP. Variabel Pattern merupakan text yang akan dicari dan 11a nada11 tex, yaitu text dari database yang ada. Kode pada baris kedua dan ketiga digunakan untuk mengubah semua huruf kedalam huruf kecil, guna untuk menghindari adanya sensitive pada huruf.

Kode pada baris kelima dan keenam

merupakan Pemrosesan awal karakter

pattern dan menghitung lebar pattern. Kode

untuk baris ketujuh dan kedelapan

merupakan pemrosesan awal untuk karakter text, kemudian menghitung lebar text itu sendiri. Kode pada baris kesembilan

berfungsi untuk menentuan lebar lompatan jika karakter tidak cocok, sesuai dengan konsep yang ada pada algoritma KMP.

Kode pada baris kesepuluh hingga baris akhir merupakan proses pencocokan utama, dimana $i merupakan variable untuk lompatan, dan $j merupakan variable yang

mengidentifikasikan lebar text. Kode

tersebut menjelaskan, jika lompatan bernilai 0 keatas 11a nada karakter yang tidak cocok maka akan melakukan lompatan sebanyak karakter yang ditentukan di preKMP. Jika pattern cocok dengan potongan text, maka hasil akan ditampilkan.

Gambar 3.11 Perancangan Fungsi Pre KMP

1.

function preKMP($search){

2.

$patternWide = count($search);

3.

$i = 0;

4.

$j = $jump[0] = -1;

5.

while($i<$patternWide){

(12)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

12

4. TESTING DAN IMPLEMENTASI 4.1 Tampilan Aplikasi

Berikut ini akan ditampilkan beberapa halaman penting dari aplikasi pengarsipan yang dibuat, diantaranya adalah :

a. Halaman Utama

Gambar 4.1 Halaman Utama

b. Halaman Input Surat

Gambar 4.2 Halaman Input Surat

c. Halaman Keluaran Pencarian Kata

\

(13)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

13

5. KESIMPULAN DAN SARAN

Algoritma KMP telah berhasil di implementasikan pada aplikasi pengarsipan berbasis web dengan fitur utama searching. Berdasarkan uji coba aplikasi, algoritma KMP dapat membantu user melakukan pencarian arsip dengan mudah. Untuk pengembangannya dimasa depan dapat dilakukan penelitian mengenai aplikasi yang sama dengan penerapan pada mobile.

6. DAFTAR PUSTAKA

Sjukani, Moh. 2010. Algoritma (Algoritma & Struktur data 1) dengan c, c++, dan Java, Edisi 6. Jakarta : Mitrawacanamedia.

Purwanto, Eko Budi. 2008. Perancangan & Analisis Algoritma. Yogyakarta : Graha Ilmu.

Knuth, Donald E.Morris, James H.Pratt,

Vaughan R.1977. fast Pattern

Matching in Strings. SIAM Journal Of Computing Vol 6 No.2.

Utomo, Darmawan, Harjo, Erick Wijaya.

Handoko, 2008. Perbandingan

Algoritma String Searching Bruto Force, Knuth Morris Pratt, Boyer More, dan Karb Kabin Pada Teks Al-kitab Bahasa Indonesia. Techne jurnal ilmiah elektroteknika vol.7 No.1 hal 1-13. Universitas Kristen Satya Wacana.

Nugroho, Eko.2011. Perancangan Sistem

Deteksi Plagiarisme Dokumen Teks Dengan menggunakan Algoritma Karb-Kabin. Skripsi. Universitas

Brawijaya.

Amsyah, Zulkifli. 2005. Manajemen

Kearsipan. Jakarta : Gramedia Pustaka Utama.

Sukoco, Badri Munir. 2007. Manajemen

Administrasi Perkantoran Modern. Jakarta : Erlangga.

Suparjati, Tuginem, Rahayu,Pudji. 2000. Tata Usaha dan Kearsipan. Yogyakarta : Kanisius.

Kurweni, ukar. 2006. Student Guide Series Pengenalan Komputer. Jakarta : Elex Media Komputindo.

Maryono. Y, Istiana, B.Patmi. 2007. Teknologi Informasi dan Komunikasi 1. Yudhistira.

Connolly, Thomas.M, Begg, Carolyn.E.

2004. Database Systems: A Practical Approach to Design, Implementation and Management (4th Edition). London : Pearson education.

Indrajani, 2009. Sistem Basis Data dalam Paket Five in One. Jakarta : Elex Media Komputindo.

Nogroho, Bunafit. 2005. Database

Relasional dengan MySQL. Yogyakarta : Andi.

Peranginangin, Kasiman. 2006. Aplikasi Web dengan PHP dan MySQL. Yogyakarta : Andi.

(14)

Volume III – Nomor 2, November 2012

Journal Informatika, STMIK Inti Indonesia. ISSN:2085-8566

14

Gambar

Gambar 2.1 Pergeseran dalam Algoritma Pencocokan String
Gambar 2.3 Pseudocode KMP pada Fase Pencarian
Gambar 3.1 Alur Sistem yang Diusulkan
Gambar 3.4 Activity Diagram  untuk Upload File
+6

Referensi

Dokumen terkait

Untuk staff akademik dan SIAA di Fakultas Teknik, teknik industri masih kurang 1 tenaga kerja, sedangkan yang lainnya sudah sesuai antara perhitunngan WISN

Strategi pembelajaran dalam mencapai tujuan yang besifat keterampilan teknis melakukan atau menghasilkan suatu produk kerja baik dalam bentuk barang maupun jasa

- OTONOMI DAERAH, PEMERINTAHAN UMUM, ADMINISTRASI KEUANGAN DAERAH, PERANGKAT DAERAH, KEPEGAWAIAN DAN PERSANDIA 1.20.28... BETONISASI

Kelebihan menggunakan metode Naïve Bayes Classifier diantaranya metode yang relatif mudah untuk diimplemetasikan karena tidak menggunakan optimasi

ROLE BASED ACCESS CONTROL SISTEM PENILAIAN AKADEMIK ONLINE BERBASIS WEB DENGAN MENGGUNAKAN FRAMEWORK CODEIGNITER PADA FAKULTAS TEKNOLOGI INDUSTRI UPN ”VETERAN”

Apabila jangka waktu tersebut diabaikan maka akan menimbulkan beberapa akibat hukum terhadap akta peralihan tersebut.Maka untuk lebih terjaganya ketertiban dalam proses

Berdasarkan ketentuan pernyataan hapusnya tanah-tanah partikelir tersebut di atas, maka prioritas subjek hak yang mendapatkan bekas tanah-tanah partikelir adalah: (a) diberikan

Selain itu akibat hukum dari jual beli tanah tidak beserta dengan pohon kelapa di atasnya memiliki perbedaan dengan asas pemisahan horisontal yang dianut dalam