• Tidak ada hasil yang ditemukan

Perancangan Aplikasi Pendeteksi Kesalahan Perintah SQL Query Menggunakan Algoritma Knuth Morris Pratt

N/A
N/A
Protected

Academic year: 2019

Membagikan "Perancangan Aplikasi Pendeteksi Kesalahan Perintah SQL Query Menggunakan Algoritma Knuth Morris Pratt"

Copied!
6
0
0

Teks penuh

(1)

Perancangan Aplikasi Pendeteksi Kesalahan Perintah SQL Query

Menggunakan Algoritma Knuth Morris Pratt

Guidio L Ginting, Dian Puspita Napitupulu, Pristiwanto

Program Studi Teknik Informatika STMIK Budi Darma, Medan, Indonesia Jl. Sisingamangaraja No. 338 Simpang Limun, Medan, Indonesia

Abstrak

Aplikasi Database Server kini banyak dimanfaatkan oleh lembaga atau institusi untuk berbagai kepentingan. Kebanyakan dari penguna melakukan pendeteksian kesalahan pengetikan dengan cara manual sehingga kurang efektif. Permasalahan yang sering terjadi yaitu pada penulisan atau pengetikan dikarenakan sensitifnya bahasa pemograman tersebut. Misalanya huruf besar dan kecil, titik dan koma, atau tanda baca lainnya. Selain dari masalah tersebut pengguna dari aplikasi MySQL pada umumnya menggunakan tools untuk membantu dalam pembuatan database ataupun dalam proses manipulasi sehingga struktur Query dari SQL sering dilupakan. Algoritma Knuth-Morris Pratt merupakan algoritma yang digunakan untuk melakukan proses pencocokan string. Algoritma ini merupakan jenis Exact String Matching Algorithm yang merupakan pencocokan string secara tepat dengan susunan karakter dalam string yang dicocokkan memiliki jumlah maupun urutan karakter dalam string yang sama. Algoritma Knuth-Morris Pratt merupakan bagian dalam proses pencarian string yang memegang peranan penting untuk mendeteksi kesalahan menjadi lebih cepat dan efisien. Untuk mengetahui kesalahan pengetikan perintah SQL dengan menggunakan aplikasi pendeteksi kesalahan perintah SQL maka penugguna terlebih dahulu melakukan penginputan file SQL yang berisikan struktur database. Setelah itu pengguna juga mengetikkan Query SQL yang akan diperiksa. Melalui langkah tersebut maka dilakukan perbandingan antara Query yang diinput oleh pengguna dengan struktur SQL.

Kata Kunci:Pendeteksi, Kesalahan, SQL Query, KMP

Abstract

Database Server applications are now widely used by institutions or institutions for various purposes. Most users detect the typing error manually so it is less effective. The problem that often occurs is writing or typing due to the sensitivity of the programming language. For example uppercase and lowercase letters, periods and commas, or other punctuation marks. Apart from these problems users of the MySQL application generally use tools to assist in database creation or in the manipulation process so that the Query structure of SQL is often forgotten. The Knuth-Morris Pratt algorithm is an algorithm used to perform string matching processes. This algorithm is an Exact String Matching Algorithm type which is matching strings correctly with the arrangement of characters in a matched string having the number or sequence of characters in the same string. The Knuth-Morris Pratt algorithm is part of the string search process that plays an important role in detecting errors faster and more efficiently. To find out the SQL typing error using the SQL command error detection application, the user first enters the SQL file containing the database structure. After that, the user also types in the SQL Query to be checked. Through this step, a comparison is made between the queries inputted by users with the SQL structure.

Keywords: Detectors, Errors, SQL Query, KMP

1. PENDAHULUAN

Aplikasi DatabaseServer adalah sebuah mata kuliah yang ada di Management Informatika. Matakuliah tersebut mempelajari tentang MySQL. MySQL merupakan singkatan dari My Structured Query Languageadalah sebuah program databaseserver yang mampu menerima dan mengirimkan data dengan sangat cepat serta multi user, sedangkan SQL adalah bahasa perintah dasar yang ada didalamnya. SQL merupakan suatu bahasa yang digunakan untuk mengakses database atau disebut juga dengan istilah query. SQL dapat digunakan untuk mengakses

database, mengambil data dari database, menambahkan data kedatabase, menghapus data didalam database, dan mengubah data didalam database.

Aplikasi Database Server kini banyak dimanfaatkan oleh lembaga atau institusi untuk berbagai kepentingan. Namun masih banyak pengguna dari aplikasi tersebut sulit untuk mendeteksi kesalahan pengetikan pada SQL, kebanyakan dari penguna melakukan pendeteksian kesalahan pengetikan dengan cara manual sehingga sangat tidak efektif dan kurang efisien. Permasalahan yang sering terjadi yaitu pada penulisan atau pengetikan dikarenakan sensitifnya bahasa pemograman tersebut. Misalanya huruf besar dan kecil, titik dan koma, atau tanda baca lainnya. Selain dari masalah tersebut pengguna dari aplikasi MySQL pada umumnya menggunakan tools

untuk membantu dalam pembuatan database ataupun dalam proses manipulasi sehingga struktur Query dari SQL

sering dilupakan. Aplikasi tersebut dibangun berbasis web karena webPHP mampu mencocokkan SQL sehingga pendeteksian kesalahan dapat dilakukan lebih mudah. Dengan memanfaatkan teknologi web yang dapat mendeteksi persentase kesalahan, maka tepat jika aplikasi deteksi kesalahan pengetikan SQL Query berada pada jaringan internet. Selain mudah untuk diakses, mudah pula digunakan untuk siapa saja yang memerlukan.

(2)

algoritma pencarian Brute Force. Algoritma ini memiliki keunggulan pencarian kecocokan pada file yang berukuran besar (Yogyawan Halim Agung, 2016).

2. TEORITIS

2.1 Pendeteksian

Deteksi adalah suatu proses untuk memeriksa atau melakukan pemeriksaan terhadap sesuatu dengan menggunakan cara dan teknik tertentu. Deteksi dapat digunakan untuk berbagai masalah, misalnya dalam sistem pendeteksi suatu penyakit, dimana sistem mengidentifikasi masalah-masalah yang berhubungan dengan penyakit yang biasa disebut gejala. Tujuan dari deteksi adalah memecahkan suatu masalah dengan berbagai cara tergantung metode yang diterapkan sehingga menghasilkan sebuah solusi [3].

2.2 String Matching

String Matching adalah proses pencarian semua kemunculan query yang selanjutnya disebut pattern ke dalam

string yang lebih panjang (teks). Pattern di lambangkan dengan x=x [0…m-1] dan panjangnya adalah m. Teks di lambangkan dengan y=y [0…n-1] dan panjanganya adalah n. Kedua string terdiri dari kumpulan karakter yang disebut alfabet yang dilambangakan dengan ∑ dan mempunyai ukuran σ. String matching di bagi dua, yaitu exact matching dan heuristic matching [5][6].

2.3 Probabilitas Knuth Morris Pratt

Algoritma Knuth-Morris-Pratt merupakan proses pencocokan string. Bila terjadi ketidak cocokan pada saat

pattern sejajar dengan teks [i..i + n -1]. Ketidak cocokan pertama terjadi di antara teks [i + j] dan pattern [j], dengan <j<n. Berarti, teks [i..i + j]=pattern [0..j + 1] dan a = teks [i+j] tidak sama dengan b = pattern [j], ketika di geser, sangat beralasan bila ada sebuah awalan ʋ dari pattern akan sama dengan sebagian akhiran u dari sebagian teks.

Secara sistematis, langkah-langkah yang dilakukan algoritmaKnuth-Morris-Pratt pada saat mencocokan

string adalah sebagai berikut [5][7][8]:

1. AlgoritmaKnuth-Morris-Pratt mulai mencocokan pattern pada awal teks.

2. Dari kiri ke kanan, algoritma tersebut akan mencocokkan karakter per karakter pattern, dengan karakter di teks yang bersesuaian sampai salah satu kondisi berikut terpenuhi :

a.

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

b.

Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan diposisi ini.

Algoritma kemudian menggeser pattern berdasarkan table next, lalu menghitung langkah 2 sampai pattern

berada di unjung teks.

3. ANALISA DAN PEMBAHASAN

Setiap bahasa pemograman memiliki aturan masing-masing. Seperti MySQL, setiap statement atau perintah harus diakhiri dengan titik koma. Saat aturan penulisan tidak sesuai, akan terjadi error pada program.

Kekurangan dan kelebihan tanda kutip. Untuk mengetahui kesalahan pengetikan perintah SQL dengan menggunakan aplikasi pendeteksi kesalahan perintah SQL maka pengguna terlebih dahulu melakukan penginputan file SQL yang berisikan struktur database. Setelah itu pengguna juga mengetikkan Query SQL yang akan diperiksa. Melalui langkah tersebut maka dilakukan perbandingan antara Query SQL yang diinput oleh pengguna dengan struktur SQL.

Aplikasi pendeteksi kesalahan pengetikan yang akan dibangun menggunakan algoritma Knuth Morris Pratt sebagai solusi dalam penyelesaian masalah pendeteksian kesalahan pengetikan. Pada aplikasi tersebut penyajian kesalahan kata disesuaikan dengan yang dibuat dan disimpan didalam database. Oleh karena itu pada perancangan aplikasi pencaraian atau pendeteksian kesalahan dengan menggunakan algoritma Knuth Morrish Pratt diharapkan dapat menyelesaikan permasalahan tersebut. Proses pencarian kesalahan kata dengan menerapkan algoritma yang digunakan, merupakan hal penting dalam pembuatan aplikasi pendeteksikesalahan.

Sebagai Contoh :

Teks = CREATE DATABASE MAHASISWA

(3)

Tabel 1. Pencocokan Pattern Pertama

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 2. Pencocokan Pattern Kedua

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 C R E A T E D A T A B A S E M A H A S I S W A

S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya, Tabel 3. Pencocokan Pattern Ketiga

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 4. Pencocokan Pattern Keempat

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 5. Pencocokan Pattern Kelima

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 6. Pencocokan Pattern Keenam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 7. Pencocokan Pattern Ketujuh

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 8. Pencocokan Pattern Kedelapan

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 9. Pencocokan Pattern Kesembilan

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 10. Pencocokan Pattern Kesepuluh

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 C R E A T E D A T A B A S E M A H A S I S W A

S I S W A

(4)

Tabel 11. Pencocokan Pattern Kesebelas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 C R E A T E D A T A B A S E M A H A S I S W A

S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 12. Pencocokan Pattern Kedua Belas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A

S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 13. Pencocokan Pattern Ketiga Belas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 14. Pencocokan Pattern Keempat Belas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 15. Pencocokan Pattern Kelima Belas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A

S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 16. Pencocokan Pattern Keenam Belas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 17. Pencocokan Pattern Ketujuh Belas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 18. Pencocokan Pattern Kedelapan Belas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 19. Pencocokan Pattern Kesembilan Belas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 C R E A T E D A T A B A S E M A H A S I S W A

S I S W A

tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,

Tabel 20. Pencocokan Pattern Kedua Puluh

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C R E A T E D A T A B A S E M A H A S I S W A

S I S W A

(5)

4. IMPLEMENTASI

Implementasi sistem program ini mencakup spesifikasi kebutuhan perangkat keras (hardware) dan spesifikasi perangkat lunak (software). Hasil pengujian program menampilkan hasil output dari sebuah input data pada aplikasi yang telah siap. Untuk pengujian programnya bisa di lihat sebagai berikut:

Gambar 1. Form Deteksi Kesalahan Perintah SQLQuery

Gambar 1 merupakan Form deteksi kesalahan sql query merupakan form yang disediakan untuk proses pencarian database dan form penginputan perintah Query.

Gambar 2. Tampilan Hasil Deteksi

Gambar 2 merupakan Form hasil deteksi kesalahan SQL Query merupakan form output dari hasil proses pendeteksian kesalahan Query.

5. KESIMPULAN

Berdasarkan pembahasan dan hasil yang diperoleh maka dapat disimpulkan hal-hal berikut:

1. Pendeteksian atau pencarian kesalahan pengetikan pada SQL Query dilakukan dengan cara membandingkan struktur SQL dengan Query yang diketik.

2. Algoritma Knuth Morris Pratt dapat diterapkan untuk mendeteksi kesalahan pengetikan SQL Query. Tetapi masih belum efektif untuk melakukan pendeteksian.

3. Berdasarkan analisa dan pengujian bahwa aplikasi cocok dirancang menggunakan bahasa pemograman PHP, dan berbasis Website.

REFERENCES

[1] Halimah Tus Sa'diah, "Implementasi Algoritma Knuth-Morris-Pratt Pada Fungsi Pencarian Judul Tugas Akhir Repository," JURNAL KOMPUTASI, vol. 14, p. 115, January 2017.

[2] Jogiyanto, Analisis dan Desain Sistem Informasi. Yogyakarta: Andi, 2005. [3] http://elib.unikom.ac.id/download.php?id=24997, Tanggal Akses 20 Apr.

(6)

[7] J.I. Sinaga, Mesran, E. Buulolo, APLIKASI MOBILE PENCARIAN KATA PADA ARTI AYAT AL-QUR’AN BERBASIS ANDROID MENGGUNAKAN ALGORITMA STRING MATCHING, INFOTEK. 2 (2016) 68–72.

Gambar

Gambar 1. Form Deteksi Kesalahan Perintah SQL Query

Referensi

Dokumen terkait

Vi hade en förhoppning på att detta även skulle kunna leda till minskade behandlingar mot ledinflammationer i de olika besättningarna, men här har vi för lite försöksresultat och

penelitian ini akan dilaksanakan sejak bulan Maret sampai Juli 2017 dengan judul “ Pemanfaatan Pangkasan Colopogonium mucunoides Sebagai Pupuk Hijau Terhadap

Sejalan dengan hal tersebut diatas maka Peraturan Daerah Kotamadya Daerah Tingkat 11 Solok Nomor 6 Tahun 1997 tentang Pemberian Uang Perangsang Kepada Dinas

NO JENIS PEKERJAAN

mahasiswa Pascasarjana Universitas Negeri Surabaya diberi dukungan paling besar oleh kontrol afektif dan kontrol psikomotoriknya. Meskipun aspek kontrol kognitif

Hasil penelitian menunjukkan bahwa semakin tinggi beda potensial yang diberikan pada uji model elektroosmosis kondisi tanpa preloading dan dengan preloading semakin besar

Dari hasil pengujian User Acceptence Testing yang telah dilakukan kepada siswa, aplikasi ini bisa lebih membantu dalam belajar, siswa tidak mengalami kesulitan dalam

Pengaruh sistem informasi dan komunikasi diperoleh hasil dimana t-hitung &gt; t-tabel (12,8487 &gt; 2,9582) yang berarti hipotesis Ho ditolak artinya terdapat