• Tidak ada hasil yang ditemukan

SISTEM PENCARIAN PASAL-PASAL TINDAK PIDANA PELANGGARAN BERDASARKAN KUHP DENGAN METODE STRING MATCHING BOYER-MOORE.

N/A
N/A
Protected

Academic year: 2017

Membagikan "SISTEM PENCARIAN PASAL-PASAL TINDAK PIDANA PELANGGARAN BERDASARKAN KUHP DENGAN METODE STRING MATCHING BOYER-MOORE."

Copied!
94
0
0

Teks penuh

(1)

SKRIPSI

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer Progdi Teknik Informatika

Disusun Oleh :

Ikhwanul Dawam Sutawijaya

NPM 0634010258

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

(2)

Pembimbing 2 : Nurcahyo Wibowo, S.Kom, M.Kom Penyusun : Ikhwanul Dawam S

ABSTRAK

Perubahan dan Pembaharuan yang telah dicapai dalam bidang teknologi informasi seperti otomatisasi dan komputerisasi telah berkembang dengan cepat dan menuntut kalangan industri dan praktisi yang berkecimpung di dalamnya untuk lebih siap menghadapi kemajuan yang ada, dengan selalu mencari inovasi – inovasi baru sebagai solusi pemecahan dari setiap persoalan yang dihadapi.

Information Retrieval adalah suatu bidang ilmu yang mempelajari

cara-cara temu kembali dan penelusuran dokumen. Dalam information retrieval, proses untuk menggabungkan atau memecahkan dari setiap varian-varian suatu kata menjadi kata dasar disebut stemming. Algoritma Boyer-Moore merupakan algoritma pembanding kalimat yang sistematika kerjanya membandingkan karakter-karakter antara karakter teks paragraf dengan karakter acuan pencarian, ketika karakter yang dibandingkan tidak sama maka pencarian karakter akan dilanjutkan ke pencarian karakter berikutnya.

Dengan memanfaatkan teknologi PHP, memasukkan referensi KUHP dan memproses masukkan tersebut. Untuk pencarian pasal menggunakan metode

string matching boyer moore.

Dari hasil uji coba pencarian data pasal yang telah dilakukan, maka didapatkan hasil bahwa algoritma Boyer-Moore yang diaplikasikan ke dalam aplikasi sistem pendukung keputusan penyidik kepolisian tindak pidana pelanggaran berdasarkan KUHP dengan menggunakan metode string matching

Boyer-Moore ini cukup memberikan hasil yang efisien. Hal ini dibuktikan pada

saat proses pencarian yang cukup singkat. pada fase pencarian, algoritma ini membutuhkan waktu kurang dari 1 menit, pada kasus terburuk, algoritma ini akan melakukan pencocokkan karakter, namun pada performa terbaiknya algoritma ini hanya akan melakukan kurang dari 1 menit proses pencocokkan.

(3)

ABSTRAK

Perubahan dan Pembaharuan yang telah dicapai dalam bidang teknologi informasi seperti otomatisasi dan komputerisasi telah berkembang dengan cepat dan menuntut kalangan industri dan praktisi yang berkecimpung di dalamnya untuk lebih siap menghadapi kemajuan yang ada, dengan selalu mencari inovasi – inovasi baru sebagai solusi pemecahan dari setiap persoalan yang dihadapi.

Information Retrieval adalah suatu bidang ilmu yang mempelajari cara-cara temu kembali dan penelusuran dokumen. Dalam information retrieval, proses untuk menggabungkan atau memecahkan dari setiap varian-varian suatu kata menjadi kata dasar disebut stemming. Algoritma Boyer-Moore merupakan algoritma pembanding kalimat yang sistematika kerjanya membandingkan karakter-karakter antara karakter teks paragraf dengan karakter acuan pencarian, ketika karakter yang dibandingkan tidak sama maka pencarian karakter akan dilanjutkan ke pencarian karakter berikutnya.

Dengan memanfaatkan teknologi PHP, memasukkan referensi KUHP dan memproses masukkan tersebut. Untuk pencarian pasal menggunakan metode string matching boyer moore.

Dari hasil uji coba pencarian data pasal yang telah dilakukan, maka didapatkan hasil bahwa algoritma Boyer-Moore yang diaplikasikan ke dalam aplikasi sistem pendukung keputusan penyidik kepolisian tindak pidana pelanggaran berdasarkan KUHP dengan menggunakan metode string matching Boyer-Moore ini cukup memberikan hasil yang efisien. Hal ini dibuktikan pada saat proses pencarian yang cukup singkat. pada fase pencarian, algoritma ini membutuhkan waktu kurang dari 1 menit, pada kasus terburuk, algoritma ini akan melakukan pencocokkan karakter, namun pada performa terbaiknya algoritma ini hanya akan melakukan kurang dari 1 menit proses pencocokkan.

(4)

Syukur Alhamdulillaahi rabbil ‘alamin terucap kehadirat Allah SWT atas segala

limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan

keberuntungan yang dimiliki penyusun, akhirnya penyusun dapat menyelesaikan Skripsi

yang berjudul “Sistem Pencarian Pasal-Pasal Tindak Pidana Pelanggaran Berdasarkan

KUHP Dengan Metode String Matching Boyer-Moore”.

Skripsi ini disusun guna diajukan sebagai salah satu syarat untuk

menyelesaikan program Strata Satu (S1) Sarjana Komputer pada jurusan Teknik

Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.

Tugas Akhir ini takkan pernah terwujud tanpa dukungan, saran, dan bantuan

dari berbagai pihak baik secara langsung maupun tidak langsung, materiil maupun

moral. Untuk itu, penulis menyampaikan rasa terima kasih dan penghargaan

setinggi-tingginya kepada:

1. Bpk. Ir. Sutiyono, MT Selaku Dekan Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” Jawa Timur

2. Bpk. Ir. Mutasim, MT Selaku Wakil Dekan Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” Jawa Timur

3. Bpk. Basuki Rachmat, S.Si, MT Selaku Ketua Program Studi Teknik

Informatika

4. Prof. Dr. Ir. Akhmad Fauzi, MMT serta Nurcahyo Wibowo, S.Kom,

M.Kom selaku Dosen Pembimbing I dan II Tugas Akhir.

5. Kedua orang tua penulis yang selama ini tulus ikhlas membimbing dan

(5)

kawan2 WA dan lainnya yang telah membantu memberikan ide, saran,

kritik dan fasilitas.

Penulis sangat menyadari bahwa Skripsi ini masih jauh dari kesempurnaan,

sehingga penulis mengharapkan komentar, kritik, dan saran dari berbagai pihak.

Semoga komentar, kritik, dan saran tersebut menjadi modal berharga bagi penulis

dan bagi proses pengembangan Skripsi ini di masa mendatang.

Akhirnya, inilah sedikit karya yang dapat penulis berikan dalam Skripsi ini.

Selanjutnya, penulis berharap keberadaan Skripsi ini bermanfaat banyak bagi

berbagai pihak, dan bisa digunakan pada jalan yang semestinya.

Surabaya, 21 juni 2010

(6)

ABSTRAK .... ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... iv

DAFTAR TABEL ... vii

DAFTAR GAMBAR ... viii

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Perumusan masalah ……….. .. 3

1.3. Batasan Permasalahan ... 4

1.4. Tujuan Penelitian ... 4

1.5. Manfaat Penelitian ... 4

1.6. Metodologi Pembuatan Skripsi ... 5

1.7. Sistematika Pembahasan... 6

BAB II TINJAUAN PUSTAKA ... 8

2.1 KUHP ... 8

2.2 Algoritma Boyer-Moore ... 11

(7)

2.5 Stemmer Indonesia ... ... 16

2.6 PHP ... 21

2.6.1 Dasar-dasar PHP …... ... 22

2.6.2 Kelebihan PHP ... 23

2.6.3 Struktur Program PHP ... 26

2.7 MySQL ... 26

2.7.1 Kelebihan MySQL ... ... 30

2.7.2 Konektivitas PHP-MySQL.... ... 34

2.8 Kebutuhan-kebutuhan Sistem ... 35

2.8.1 Alir Dokumen (Document Flow) ... 35

2.8.2 Sistem Flowchart (Flowchart System) ... 36

BAB III PERANCANGAN SISTEM ... 39

3.1 Gambaran sistem ... 39

3.2 Desain dan Perancangan Proses …… ... 42

3.3 Pseudocode Algortima Boyer-Moore …… ... 45

3.4 Perancangan Desain Basis Data …… ... 51

(8)

4.2 Implementasi Basis Data …… ... 57

4.3 Implementasi Antarmuka ... 66

4.3.1 Form Utama ... 66

4.3.2 Form Login ... 67

4.3.3 Form Insert dan update data Pasal ... 68

BAB V UJI COBA DAN EVALUASI ... 70

5.1 Uji Coba Pencarian Data Pasal ... 70

5.2 Evaluasi Halaman Admin ... 74

5.2.1 Uji Coba Pencarian Data Pasal ……….. 74

5.2.2 Uji Coba Pengelolahan Halaman Admin ……….. 76

5.3 Evaluasi ……… 79

BAB VI PENUTUP ... 80

6.1 Kesimpulan ... 80

6.2 Saran ... ... 80

(9)

2.1.

2.2. Table Contoh Imbuhan yang tidak diperbolehkan ……….. 17

2.3. Table Daftar Sub rutin ………. 17

2.4. Table Contoh Sub Rutin Buang Depan ………...… 18

2.5. Table Proses Sub Rutin ………. 19

2.6. Table Contoh sub Rutin ……… 20

3.1 Tabel Pasal ……… 52

(10)

2.1 Bagan Tahapan Teks Pre-Processing ...

2.2 Hasil Dari File Coba1.PHP ... 23

3.1 Gambaran Sistem ... 39

3.2 Sistem Flow Proses Input Pasal ... 41

3.3 Sistem Flow Proses Pencarian Informasi dan Antarmuka ... 42

3.4 Context Diagram ... 43

3.5 Data Flow Diagram Level 0 ... 44

3.6 Data Flow Diagram Sub Proses Input Pasal ... 45

3.7 Data Flow Diagram Sub Proses Pencarian ... 45

3.8 Pseudocode Prosedur Function Stoplist ... 47

3.9 Flowchart Fungsi Boyer-Moore ... 48

3.10 Pseudocode Prosedur Fungsi Cari_bm ... 49

3.11 Pseudocode Prosedur Prosedur Pada Fase Pencarian ... 51

3.12 Conceptual Data Model ... 51

3.13 Physical Data Model ... 52

3.14 Desain Antarmuka User ... 53

3.15 Desain Form Hasil Penelusuran ... 54

3.16 Desain Login... 55

(11)

4.2 Potongan Source Code Function Highlightwords ... 59

4.3 Potongan Source Code Function Stoplist ... 60

4.4 Potongan Source Code Function Stemming Step1 ... 60

4.5 Potongan Source Code Function Stemming Step2 ... 61

4.6 Potongan Source Code Function Stemming Step3 ... 63

4.7 Potongan Source Code Function Stem ... 63

4.8 Potongan Source Code Function Cari Boyer-Moore ... 65

4.9 Potongan Source Code Function Stemming ... 66

4.10 Form Utama dan Form Pencarian ... 67

4.11 Form login ... 67

4.12 Form Insert dan Edit Data Pasal ... 68

4.13 Form Data Pasal... 69

5.1 Form Pencarian Pasal Berdasarkan Boyer Moore & Stemming dengan kata kunci “Nakalan Terhadap” ... 70

5.2 Form Hasil Penulusuran Kata Kunci “Nakalan Terhadap” ... 71

5.3 Rincian Pasal 490 ... 72

5.4 Pencarian Pasal Berdasarkan M et ode Exact Phrase Dengan Kat a Kunci “ Nakalan Terhadap” ... 72

(12)

5.8 Halaman Admin ... 75

5.9 Form Tambah Data ... 76

5.10 Form Lihat Data Pasal 489 ... 77

5.11 Halaman Edit Data ... 78

(13)

1.1. Latar Belakang

Seiring perkembangan zaman dan teknologi yang semakin lama

berkembang dengan pesat sejalan dengan ditemukannya teknologi dan alat-alat

canggih, hal ini mengakibatkan semakin tingginya tingkat persaingan dalam dunia

usaha dan ini merupakan sebuah tantangan yang harus dihadapi oleh semua pihak.

Perubahan dan pembaharuan yang telah dicapai dalam bidang teknologi informasi

seperti otomatisasi dan komputerisasi telah berkembang dengan cepat dan

menuntut kalangan industri dan praktisi yang berkecimpung di dalamnya untuk

lebih siap menghadapi kemajuan yang ada, dengan selalu mencari inovasi –

inovasi baru sebagai solusi pemecahan dari setiap persoalan yang dihadapi.

Dalam suatu lembaga pendidikan atau perkantoran telah banyak sekali

sistem informasi atau aplikasi yang di gunakan untuk membantu kelancaran suatu

pekerjaan, khususnya dalam hal ini di bidang penyidikan kepolisian yang selama

ini di kerjakan secara manual dalam mendukung keputusan untuk memecahkan

suatu kasus penyidikan pelanggaran.

Dalam melakukan penyidikan kepolisian dibutuhkan kinerja yang efektif

dan efisien, sehingga dapat membantu mempercepat dalam pengambilan

keputusan di kepolisian.

Untuk memecahkan masalah ini tentu saja diperlukan sebuah teknologi

(14)

Dalam hal ini teknologi yang dikedepankan adalah teknologi Sistem Pendukung

Keputusan, teknologi ini adalah sebuah teknologi yang dapat mengatur pencarian

berdasarkan keywords yang dimasukkan kemudian dengan teknologi ini pencarian

akan menghasilkan relasi antar pasal, tiap-tiap relasi divisualisasikan dalam

bentuk sebuah nilai. Dimana nilai ini akan menunjukkan seberapa dekat pasal

yang muncul tersebut dengan keywords yang dimasukkan, dan diasumsikan

bahwa keywords yang dimasukkan mewakili apa yang akan dicari oleh user.

Teknologi ini juga dikembangkan hingga membuat index dan

mengklasifikasikannya ke dalam beberapa kelas yang relevan dengan isi dari

pasal yang diinginkan (clustering) dan kemudian menyajikannya secara berantai

satu pasal dengan pasal yang lainnya (Text Mining Tools on the Internet An

overview, Jan van Gemert, 2000). Yang dimaksudkan berantai dalam pengertian

ini adalah antara satu pasal dengan pasal yang lainnya saling mendukung baik

fisik informasi ataupun hubungan yang mengacu pada salah satu aspek di antara

kedua pasal tersebut.

Dalam tugas akhir ini penulis hendak menyajikan, menulis, merinci, dan

meneliti teknologi ini serta membuatnya agar mampu membantu parapenyidik

kepolisian agar dapat menggunakan teknologi ini dalam rangka pencapaian

harapan yang dimaksud.

Untuk mendukung hal tersebut perlu digunakan suatu sistem sebagai

pendukung penyidikan.Dengan memanfaatkan teknologi PHP, memasukkan

referensi KUHP dan memproses masukkan tersebut. Untuk pencarian pasal

(15)

adalah algoritma pencarian string yang paling efektif saat ini. Algoritma yang

ditemukan oleh Bob Boyer dan J. Strother Moore ini telah menjadi standar untuk

berbagai literatur pencarian string. Algoritma Boyer-Moore akan menyimpan

informasi pergeseran untuk melakukan pencarian string. Karakteristik utama dari

algoritma Boyer-Moore adalah algoritma ini melakukan pencocokan string mulai

dari kanan (belakang). Dengan karakteristik tersebut, ketidakcocokan saat terjadi

perbandingan string akan membuat pergerakan pattern melompat lebih jauh untuk

menghindari perbandingan karakter pada string yang diperkirakan gagal.

Aplikasi ini di buat dengan menggunakan metode string matching dan

algoritma boyer moore, yang di harapkan bisa membantu dalam sistem

pendukung keputusan untuk penyidikan kepolisian.

1.2. Perumusan Permasalahan

Berdasarkan latar belakang yang telah dijelaskan diatas, maka dapat

dirumuskan masalah dalam Tugas Akhir ini, yaitu :

1. Bagaimana membuat aplikasi pencocokan kata dengan menggunakan

algoritma boyer-moore pada sistem pendukung keputusan di tingkat penyidik

kepolisian?

2. Bagaimana membuat aplikasi sistem pendukung keputusan di tingkat penyidik

kepolisian secara efisien dan efektif untuk penyidikan suatu kasus pada proses

(16)

1.3. Batasan Permasalahan

Pada pembuatan aplikasi ini perlu didefinisikan batasan masalah mengenai

sejauh mana pembuatan aplikasi ini akan dikerjakan. Beberapa batasan masalah

tersebut antara lain:

a. Aplikasi ini dibuat menggunakan bahasa pemrograman PHP dan MY SQL

sebagai penyimpanan data atau database.

b. Aplikasi yang dibuat ini hanya mengenai kasus pelanggaran saja.

c. Aplikasi yang dibuat ini hanya mendukung suatu keputusan dari

penyidikan kasus pelanggaran.

d. Aplikasi yang di buat hanya bisa melakukan aktivitas pencarian.

1.4. Tujuan Penelitian

Tujuan dari membuat aplikasi sistem pendukung keputusan di tingkat

penyidik kepolisian dengan mengimplementasikan metode String Matching Boyer

Moore.

1.5. Manfaat Penelitian

Adanya tugas akhir ini diharapkan dapat bermanfaat bagi:

a. Mempermudah untuk penyidikan kepolisian dalam suatu kasus.

b. Mempercepat efisiensi waktu dalam penyidikan kepolisian dalam

(17)

1.6. Metodologi Pembuatan Skripsi

Pembuatan skripsi terbagi menjadi beberapa tahapan sebagai berikut :

a) Survey Lapangan

Pada tahap ini dilakukakan survey terhadap aplikasi database Perpustakaan

yang berhubungan dengan sirkulasi dan koleksi buku.Tujuan dari diadakan

survey ini adalah untuk mengetahui proses bisnis serta perancangan

database yang sudah ada.

b) Studi Literatur

Pada tahap ini dikumpulkan dokummen-dokumen, referensi-referensi,

buku-buku, sumber dari internet, atau sumber-sumber lain yang diperlukan

untuk merancang dan mengimplementasikan aplikasi.

c) Analisa dan Perancangan Aplikasi

Dari hasil studi leteratur dan hasil survey lapangan akan dibuat deskripsi

umum sistem perancangan data warehouse serta dilakukan analisa

kebutuhan sistem, selain itu juga dilakukan perancangan awal aplikasi

yang akan dibuat, sehingga akan dihasilkan desain antar muka dan proses

yang siap untuk diimplementasikan.

d) Pembuatan Aplikasi.

Tahapan dimana model dan perancangan aplikasi yang telah dibuat

diimplementasikan dalam tampilan web.

e) Uji coba dan evaluasi aplikasi

Pada tahap ini aplikasi yang telah dibuat ini akan dilakukan beberapa

(18)

f) Penyusunan Buku Skripsi

Pada tahap ini merupakan tahap terakhir dari pengerjaan skripsi. Buku ini

disusun sebagai laporan seluruh proses pengerjaan skripsi. Dari

penyusunan buku ini diharapkan dapat memudahkan pembaca yang ingin

menyempurnakan dan mengembangkan aplikasi lebih lanjut.

1.7. Sistematika Pembahasan

Sistematika pembahasan yang dibuat dalam skripsi ini disusun dalam

beberapa bab, yang dijelaskan sebagai berikut :

BAB I PENDAHULUAN

Bab ini berisi tentang deskripsi umum skripsi yang meliputi

latar belakang, perumusan masalah, batasan masalah, tujuan,

manfaat, serta metodelogi dan sistematika pembahasan.

BAB II TINJAUAN PUSTAKA

Bab ini berisi mengenai konsep dan teori pembelajaran yang

menjadi landasan pembuatan skripsi.

BAB III ANALISA DAN PERANCANGAN SISTEM

Bab ini membahas tentang perancangan data warehouse yang

akan dibangun dengan menggunakan fact constellations. Serta

perancangan tampilan program.

(19)

Bab ini membahas tentang tampilan-tampilan dari program

yang telah dibuat, dan juga cara menjalankan aplikasi serta

ujicoba dari program yang telah dibuat tersebut.

BAB V UJI COBA DAN EVALUASI

Bab ini menjelaskan tentang proses pengujian terhadap sistem

yang telah dibuat dan melakukan evaluasi terhadap hasil

pengujian tersebut.

BAB VI PENUTUP

Bab ini berisi tentang kesimpulan yang dapat diambil dari

keuntungan sistem serta berisi tentang saran-saran yang

diambil dari kelemahan sistem untuk perbaikan guna

(20)

2.1. KUHP

Penyusunan kitab undang-undang Hukum Pidana Nasional yang baru

untuk menggantikan kitab Undang-Undang Hukum Pidana peninggalan

pemerintah kolonial Belanda dengan segala perubahannya merupakan salah satu

usaha dalam rangka pembangunan hukum nasional. Usaha tersebut dilakukan

secara terarah dan terpadu agar dapat mendukung pembangunan nasional di

berbagai bidang, sesuai dengan tuntutan pembangunan serta tingkat kesadaran

hukum dan dinamika yang berkembang dalam masyarakat.

Menelusuri sejarah hukum pidana di Indonesia, dapat diketahui bahwa

Kitab Undang-Undang Hukum Pidana yang berlaku di Indonesia terbagi atas 3

buku :

1. Buku Pertama – Aturan Umum

a. Bab I - Batas-batas berlakunya Aturan Pidana dalam

Perundang-undangan

b. Bab II - Pidana

c. Bab III - Hal-hal yang Menghapuskan, Mengurangi atau

Memberatkan Pidana

d. Bab IV - Percobaan

e. Bab V - Penyertaan Dalam Tindak Pidana

(21)

g. Bab VII - Mengajukan dan Menarik Kembali Pengaduan dalam

Hal Kejahatan-kejahatan yang Hanya Dituntut atas Pengaduan

h. Bab VIII - Hapusnya Kewenangan Menuntut Pidana dan

Menjalankan Pidana

i. Bab IX - Arti Beberapa Istilah yang Dipakai dalam Kitab

Undang-undang

j. Aturan Penutup

2. Buku Kedua – Kejahatan

a. Bab - I Kejahatan Terhadap Keamanan Negara

b. Bab - II Kejahatan-kejahatan Terhadap Martabat Presiden dan

Wakil Presiden

c. Bab - III Kejahatan-kejahatan Terhadap Negara Sahabat dan

Terhadap Kepala Negara Sahabat Serta Wakilnya

d. Bab - IV Kejahatan Terhadap Melakukan Kewajiban dan Hak

Kenegaraan

e. Bab - V Kejahatan Terhadap Ketertiban Umum

f. Bab - VI Perkelahian Tanding

g. Bab - VII Kejahatan yang Membahayakan Keamanan Umum bagi

Orang atau Barang

h. Bab - VIII Kejahatan Terhadap Penguasa Umum

i. Bab - IX Sumpah Palsu dan Keterangan Palsu

j. Bab - X Pemalsuan Mata Uang dan Uang Kertas

(22)

l. Bab - XII Pemalsuan Surat

m. Bab - XIII Kejahatan Terhadap Asal-Usul dan Perkawinan

n. Bab - XIV Kejahatan Terhadap Kesusilaan

o. Bab - XV Meninggalkan Orang yang Perlu Ditolong

p. Bab - XVI Penghinaan

q. Bab - XVII Membuka Rahasia

r. Bab - XVIII Kejahatan Terhadap Kemerdekaan Orang

s. Bab - XIX Kejahatan Terhadap Nyawa

t. Bab - XX Penganiayaan

u. Bab - XXI Menyebabkan Mati atau Luka-luka Karena Kealpaan

v. Bab - XXII Pencurian

w. Bab - XXIII Pemerasan dan Pengancaman

x. Bab - XXIV Penggelapan

y. Bab - XXV Perbuatan Curang

z. Bab - XXVI Perbuatan Merugikan Pemiutang atau Orang yang

Mempunyai Hak

aa. Bab - XXVII Menghancurkan atau Merusakkan Barang

bb.Bab - XXVIII Kejahatan Jabatan

cc. Bab - XXIX Kejahatan Pelayaran

dd.Bab - XXIX A Kejahatan Penerbangan dan Kejahatan Terhadap

Sarana/Prasarana Penerbangan

(23)

3. Buku Ketiga – Pelanggaran

a. Bab I - Tentang Pelanggaran Keamanan Umum bagi Orang atau

Barang dan Kesehatan

b. Bab II - Pelanggaran Ketertiban Umum

c. Bab III - Pelanggaran Terhadap Penguasa Umum

d. Bab IV - Pelanggaran Mengenai Asal-Usul dan Perkawinan

e. Bab V - Pelanggaran Terhadap Orang yang Memerlukan Pertolongan

f. Bab VI - Pelanggaran Kesusilaan

g. Bab VII - Pelanggaran Mengenai Tanah, Tanaman dan Pekarangan

h. Bab VIII - Pelanggaran Jabatan

i. Bab IX - Pelanggaran Pelayaran

2.2. Algoritma Boyer-Moore

Pada pencarian kalimat yang berhubungan atau beruntut di dalam

aplikasi tugas akhir ini menggunakan algoritma Boyer-Moore. Algoritma ini

ditemukan oleh dua orang ahli matematika dari Inggris yaitu Mr. Boyer dan Mr.

Moore, mereka menemukan algoritma ini pertma kali sebagai sebuah algoritma

pencarian kalimat di dalam sebuah teks paragraf dari sebuah tabloid berbahasa

inggris. Kemudian seiring dengan kemajuan teknologi dan jaman algoritma ini

dikembangkan dan diberi nama sesuai dengan nama penemunya yaitu algoritma

Boyer-Moore. Algoritma ini merupakan salah satu algoritma tercepat di dalam

mencari kata-kata yang terkandung di dalam sebuah teks paragraf.

(24)

sistematika kerjanya membandingkan karakter-karakter antara karakter teks

paragraf dengan karakter acuan pencarian, ketika karakter yang dibandingkan

tidak sama maka pencarian karakter akan dilanjutkan ke pencarian karakter

berikutnya. Di dalam melakukan pembandingan algoritma ini tidak menggunakan

pembanding kata seperti dulu penemunya menemukannya, namun menggunakan

pembanding Knuth-Morris-Pratt Algorithms.

Secara khusus algoritma ini melakukan perbandinagn satu karakter

terdepan hingga yang terakhir dari kalimat teks paragraf yang dicari dan kemudian

pencarian juga dilakukan pada kalimat acuan sehingga kira-kira gambaran dari

proses pencarian ini seperti yang terlihat dibawah ini :

Misalkan teks yang dicari adalah : aplikasi search engine menggunakan data

mining.

Dan sedangkan untuk kalimat yang akan dicari adalah search engine

Maka prosesnya seperti ini :

Search engine …... teks acuan

Aplikasi search engine menggunakan data mining ... teks p1

Plikasi search engine menggunakan data mining ... teks p2

Likasi search engine menggunakan data mining ... teks p3

...

I search engine menggunakan data mining... teks p8

Search engine menggunakan data mining... teks p9

Search engine menggunakan data mining... teks p10

(25)

Search engine menggunakan data mining... teks p12

Search engine menggunakan data mining... teks p13

...

Search engine menggunakan data mining... teks p21

Search enginemenggunakan data mining... teks p22

Break;

*) lihat pada tulisan yang bercetak miring

Pada proses diatas terlihat jelas pencarian karakter dimulai dari karakter

tterdepan dan kemudian karakter yang cocok akan dipertahankan sedangkan yang

tidak cocok langsung akan dibuang. Proses ini akan terus berulang hingga

karakter acuan sudah habis dibandingkan. Proses akan langsung keluar dari

rekursif dan kemudian akan memberikan respon positif sebagai respon bahwa

kalimat yang dimaksud ditemukan. Secara matematis pada langkah-langkah yang

terdapat pada proses diatas maka beberapa hal yang harus diperhatikan adalah :

1. Untuk pergeseran yang baru, diharuskan untuk melakukan perulangan

secara keseluruhan pada kalimat acuan meski pergeseran sebelumnya

berlangsung sukses. Selain itu, semua karaketer harus dibandingkan

dengan semua kalimat acuan yang sudah kita bandingkan (karena selain

itu, semua ketidakcocokan akan dihapuskan). Dalam kasus biasanya,

karakter yang menyebabkan terjadinya ketidakcocokan dengan pergeseran

saat ini harus segeranya dibuang, untuk melakukannya maka diperlukan

(26)

right) satu kali. (Pergeseran itu dilakukan karena jika terjadi

ketidakcocokan karakter dan tidak dibuang maka yang terjadi adalah

bagian yang tidak cocok dianggap sebagai bagian yang cocok dan kalimat

acuan akan terus bergeser ke kanan ).

Jika d > j, maka kita akan melakukan pergeseran sebelumnya dari bagian kalimat

acuan yang sudah kita bandingkan. Setelah itu kalimat acuan terus bergerak ke

kanan dan bagian sebelumnya tidak dihilangkan supaya tidak terjadi kerancuan

(ingat perulangan dilakukan terus dari awal).

2.3. Information Retrieval

Information Retrieval adalah suatu bidang ilmu yang mempelajari

cara-cara temu kembali dan penelusuran dokumen. Temuan kembali informasi (IR) ini

sendiri telah dilakukan lebih dari 4000 tahun yang lalu. Orang telah

mengorganisasikan informasi pada masa itu walaupun masih sangat sederhana.

Pada tahun 1940 permasalahan dalam hal media penyimpanan dokumen

telah menarik banyak orang. Jumlah dokumen yang tumbuh dengan besar dan

cepat mengakibatkan kebutuhan yang semakin besar pula terhadap efisiensi dalam

penyimpanan dan retrieval informasi, akurasi, serta kecepatan akses. Jika hal ini

tidak dilakukan, maka akan berakibat sulitnya temu kembali informasi serta

banyaknya informasi yang terjadi. Selanjutnya hal ini akan berakibat pada

duplikasi pekerjaan yang sudah pernah dilakukan sebelumnya.

Teknik IR banyak digunakan dalam tiga fase pengklasifikasian teks yang

(27)

a. Persiapan dokumen (tahap preprocessing) termasuk proses indexing.

b. Pembuatan pengklasifikasi melalui proses pembelajaran, dalam tugas akhir

ini menggunakan decision tree classifier.

c. Evaluasi unjuk kerja pengklasifikasi.

2.4. Pre-Processing

Tahap ini merupakan tahap dimana dokumen tekstual ditangani dan

disiapkan untuk membuat dokumen-dokumen tersebut siap diproses oleh decision

tree classifier. Dibawah ini merupakan bagan tahapan teks preprocessing yang

dilakukan tahapan dokumen sebelum bisa dilakukan proses training didalamnya.

Gambar 2.1 Bagan Tahapan Teks Pre-Processing

Ada 5 tahapan prosedur teks preprocessing (Baeza-Yates dan

Ribeiro-Neto, 1999) yaitu :

1. stoplist.

2. Konstruksi struktur kategorisasi kata.

2.4.1. Stoplist

Stoplist merupakan proses menghilangkan kata-kata umum. Misalkan

(28)

pada bahasa indonesia saja.

2.5. Stemmer Indonesia

Struktur pembentukan kata dalam Bahasa Indonesia adalah sebagai berikut:

[awalan-1] + [awalan-2] + dasar + [akhiran] + [kepunyaan] + [sandang]

Masing-masing bagian tersebut (yang dalam kotak bisa ada atau tidak),

digabungkan dengan kata dasar membentuk kata berimbuhan. Di bawah ini

imbuhan yang banyak digunakan dalam Bahasa Indonesia :

1. Kata sandang: -lah, -kah, -pun, -tah.

2. Kata kepunyaan: -ku, -mu, -nya.

3. Akhiran: -i, -an, -kan.

4. Awalan: me-, ber-, pe-, di-, ke-, ter-, se-.

Dalam proses penggabungan awalan, terdapat aturan-aturan berikut:

Table 2.1 Daftar Imbuhan Indonesia

Awalan Perubahan

Bentuk Aturan

me | pe meng | peng + V | k | g | h | q … Misal: mengambil = meng + ambil

V = Vokal (a, i, u, e, o)

meny | peny + s … Misal: penyakit = peny + sakit

mem | pem + b | f | p | v … Misal: membuat = mem + buat men | pen + c | d | j | s | z … Misal: mencari = men + cari me | pe + m | n | r | l | y | w | x | + V … Misal: melukis = me

(29)

ber | per | ter be | pe | te + r + V …

Untuk mencari r yang luluh dengan mencoba kombinasi ‘r + V …’ atau ‘V …’. Misal: peramal = pe + ramal

ber | per | ter + K | V …, Misal: terambil = ter + ambil

K = Konsonan (selain Vokal)

Dalam pasangan awalan dan akhiran, terdapat pasangan yang tidak diperbolehkan, yaitu:

Table 2.2 Contoh Imbuhan yang tidak diperbolehkan

Awalan Akhiran Tidak Sah

ber- | ke- | se- | per- -i, Misal: ber-tanyai-i

di- | me- | ter- -an, Misal: di-tinggal-an

ke- | se- | pe- -kan, Misal: pen-dapat-kan

Dalam program stemmer, aturan susunan awalan dan akhiran mengesampingkan

pengecualian yang jarang. Misalnya untuk kata ajar, yang digabung dengan per-

menjadi pelajar. Juga seperti pasangan ke- -i untuk ke-tahu-i, ini akan dianggap

tidak sah.

Terdapat 4 subrutin inti dalam proses mencari kata dasar, yaitu:

Table 2.3 Daftar Subrutin

Subrutin Fungsi Input Output BuangLuluh Melakukan penyesuaian

kata yang luluh terhadap

(30)

awalan me- dan pe-.

BuangDepan Membuang awalan kata, yaitu:

me-, ber-, pe-, di-, ke-, ter-, se-.

kata kata | undef, awalan

BuangImbuhan Membuang imbuhan kata, merupakan subrutin induk dari proses pemotongan kata.

kata kata | undef

Dalam subrutin BuangImbuhan terdapat proses pembuangan awalan (AW),

akhiran (AK), kata kepunyaan (KK), kata sandang (KS) dan kata dasar (D) seperti

di bawah. Pada tiap tahap pembuangan dilakukan pengecekan ke kamus untuk

mengakhiri pemotongan.

Table 2.4 Contoh subrutin buang depan

Tahap Kombinasi Imbuhan Contoh

Contoh pencarian kata dasar untuk kata ‘kebersamaannyalah’ ada di bawah ini.

Kata asal akan berubah bentuk (dicetak tebal bila berbeda dari sebelumnya) pada

proses Buang Depan yang selanjutnya diperiksa hasil potongnya pada Buang

(31)

Tabel. 2.5 Proses Subrutin

kebersama kebersamaan nyalah

Untuk mengetahui ketepatan hasil stemming perlu dilakukan analisa secara

manual. Mengingat jumlah kata yang cukup besar (11515 kata), pengamatan

mencakup sebagian saja, yaitu masing-masing 1000 kata teratas dari Berhasil dan

Gagal. Hasil analisa dari kata dasar yang salah seperti tabel di bawah ini. Hasil

stemmer dianggap salah dengan aturan berikut:

1. Terjadi pengubahan kata tetapi kata tersebut dianggap tidak tepat, misal:

mengakui (aku, bukan kaku).

2. Tidak terjadi pengubahan kata meskipun kata dasarnya ada dalam kamus,

misal: mengetahui (tahu).

3. Imbuhan tidak berhasil dipisahkan, meskipun kata tersebut sah sebagai

Bahasa Indonesia, misal: rinciannya (rinci), diujicobakan (ujicoba).

Kata-kata yang asalnya sudah salah, seperti pernggantian (harusnya pergantian),

penjelaskan (harusnya penjelasan) atau tidak terdapat di kamus, bila tidak didapat

(32)

Table 2.6 Contoh subrutin imbuhan kata asing

pernggantian,

Kata majemuk ketidakhadirannya, diperjualbelikan, diujicobakan

-tetap- tidakhadir, jualbeli, jualbeli

14

Aturan khusus mengetahui, belajar, perbaiki kata dasarnya ada di kamus

Secara statistik, dari 2000 kata tersebut terdapat 28 kata yang mengalami

kesalahan pencarian kata dasar, sehingga tingkat keberhasilannya adalah 98,6 %

(33)

2.6. PHP

PHP (Hypertext Preprocessor) merupakan bahasa pemrograman yang file

php diletakkan di server dan seluruh prosesnya dikerjakan di server, kemudian

hasilnyalah yang dikirimkan ke client, tempat pemakai menggunakan browser

(lebih dikenal dengan istilah server-side scripting). PHP bekerja didalam sebuah

dokumen HTML (Hypertext Markup Language) untuk menghasilkan isi dari

sebuah halaman web sesuai permintaan.

Kelebihan PHP adalah bersifat tidak memiliki ketergantungan terhadap

berbagai platform, jadi PHP dapat dijalankan dalam platform apapun, baik itu

Unix, Windows ataupun Macintosh. Kelebihan lain dari PHP adalah kemudahan

melakukan pengkodean, karena perintah PHP mirip dengan

perintah-perintah bahasa C selain itu kemudahan dari PHP adalah dapat dengan mudah

dihubungkan dengan aplikasi database (melakukan query), seperti MySQL. PHP

bersifat free (bebas dipakai). Pengguna tidak perlu membayar apapun untuk

menggunakan perangkat lunak ini.

Yang membedakan PHP dengan bahasa pemrograman lain adalah adanya tag

penentu, yaitu diawali dengan “<?” atau “<?php” dan diakhiri dengan “?>”.

Variabel dalam program PHP sangat penting karena akan menyimpan data

sementara baik jenis string, interger, maupun array. Variabel dinyatakan dengan

tanda $ dibelakang nama variable harus di awali dengan huruf atau (_) garis

bawah, kemudian diikuti dengan huruf atau angka. Pengunaan variabel dengan

(34)

$var=”coba variabel”;

$_var=”caba variabel lagi”;

$var32=”coba lagi variable”;

$var_var=”coba lagi variable”;

$var_var32=”coba lagi variabel’;

Pendeklarasian variabel selalu diikuti suatu nilai variabel tersebut, baik

nilai variabel berupa teks/string maupun angka. Apabila variabel tersebut belum

memiliki nilai, maka tidak perlu di deklarasikan. Perlu diperhatikan bahwa

variabel bersifat case sensitive, artinya penulisan nama variabel membedakan

bentuk penulisan antara huruf kecil dan huruf besar. Pemberian nilai pada variabel

juga dapat mengacu pada variabel yang lain. Pemberian nilai referensi ini

dinyatakan dengan memberikan tanda & di depan sebuah variabel sebagai

nilainya.

PHP adalah bahasa pemrograman script yang paling banyak dipakai saat

ini. PHP banyak dipakai untuk memprogram situs web dinamis, walaupun tidak

tertutup kemungkinan digunakan untuk pemakaian lain. Contoh terkenal dari

aplikasi PHP adalah phpBB dan MediaWiki (software di belakang Wikipedia).

PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft,

ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl. Contoh

aplikasi lain yang lebih kompleks berupa CMS yang dibangun menggunakan PHP

adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain.

2.6.1 Dasar-dasar PHP

(35)

umum ekstensi file PHP adalah (.PHP). Kode PHP menyatu dengan tag HTML

dalam satu file. Kode PHP diawali dengan tag<? atau <?PHP dan ditutup dengan

?>.

PHP diawali sebagai berikut :

Gambar 2.2 Hasil Dari File coba1.PHP

2.6.2Kelebihan PHP

PHP mempunyai 4 kelebihan yaitu 4P (Four Pee) :

1) Practical / Praktis

PHP adalah bahasa pemrograman yang sangat longgar

dalam penulisan, dan ini meningkatkan kepraktisan buat para

penggunanya. Misalnya saja programmer tidak diharuskan untuk

menuliskan atau menghapus variabel.

Walaupun kadang mereka juga tidak bisa mengatakan

dengan mudah yang kemudian dipanggil dalam sebuah skrip, menebak

formula terbaik dalam penetapan variabel secara otomatis kemudian

menghapus variabel dan dan mengembalikan resource ke sistem

(36)

membuat programmer lebih berpikir pada tujuan akhir dari project

yang akan dibuat.

2) Power

Sudah menjadi rahasia umum kalau PHP mampu membuat

halaman dinamis, memanipulasi form, dan dapat dihubungkan dengan

database. Selain yang disebutkan tadi, ternyata PHP juga dapat

melakukan hal – hal di bawah ini :

1 Membuat dan memanipulasi file Macromedia Flash, gambar, dan

Portable Document Format PDF.

2 Berkomunikasi dengan LDAP.

3 Berkomunikasi dengan banyak protocol, termasuk IMAP, POP3

dan NNTP.

4 Berkomunikasi dengan credit-card processing solution.

3) Possibility

Jarang ada developer PHP yang terikat pada suatu

implementasi pemecahan masalah. Dilain sisi, ada banyak pilihan yang

ditawarkan oleh PHP. Contohnya ada pada database yang didukung

oleh PHP. Kurang lebih semuanya ada 25 database, termasuk Adabas

D, dBase, FrontBase, Hyperwave, IBM DB2, Informix, Ingres,

Interbase, mSQL, direct MS-SQL, MySQL, Oracle, Oyrimos,

PostgreSQL, Solid, Sybase, Unix dbm dan Velocis.

Kemampuan sting – parsing juga bisa dianggap sebagai

(37)

PHP memiliki lebih dari 85 function untuk memanipulasi string.

Kelebihan ini tak hanya akan menawarkan keleluasaan untuk

melakukan operasi string yang kompleks, namun juga menjembatani

program yang memiliki functionalitas yang sama (seperti Python dan

Perl) lewat PHP.

4) Price

PHP merupakan salah satu open source software, yang dapat diartikan

sebagai berikut :

• PHP dapat dimodifikasi, didistribusikan, dan diintegrasikan dengan

produk lain oleh penggunanya,

• Pengembangan dan auditing yang dilakukan secara terbuka, semua

orang bebas berpartisipasi.

Dapat diartikan pula :

a. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak

melakukan sebuah kompilasi dalam penggunaanya.

b. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah

karena memiliki referensi yang banyak.

c. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin

(Linux, Unix, Macintosh, Windows), dan dapat dijalankan secara run time

(38)

2.6.3 Struktur Program PHP

Kode program PHP menyatu dengan tag-tag HTML (Hypertext Markup

Language) dalam satu file. Kode PHP diawali dengan tag <? Atau <?php dan

ditutup dengan tag ?>. Berikut struktur penulisan sintaks PHP dalam HTML

(Hypertext Markup Language) :

<HTML>

<HEAD>

<TITLE></TITLE>

</HEAD>

<BODY>

<?

- dokumen PHP-

?>

</BODY>

</HTML>

2.7.MySQL

MySQL adalah sebuah program pembuat database yang bersifat open

source, artinya siapa saja boleh menggunakannya dan tidak dicekal. MySQL

sebenarnya produk yang berjalan pada platform Linux. Karena sifatnya yang open

source, MySQL dapat dijalankan pada semua platform baik Windows maupun

(39)

SQL adalah suatu bahasa permintaan yang telah distandarkan untuk semua

program pengakses database seperti Oracle, PostgreSQL, SQL Server, dan

lain-lain. Ada beberapa fungsi yang digunakan dalam pembuatan aplikasi antara PHP

dan MySQL. Fungsi tersebut sangat erat kaitannya dengan query SQL. Di dalam

MySQL tersedia query untuk membuat fungsi search, jumlah, update, ataupun

edit data dari database, namun pada script PHP dapat langsung ditulis melalui

script query Mysql dengan code select, insert, delete, update, dan sintax-sintax

lainnya. Dengan kata lain MySQL adalah sebuah sistem manajemen database.

Database adalah merupakan sekumpulan data yang terstruktur untuk menambah,

mengakses, dan memproses data yang tersimpan dalam database komputer,

dibutuhkan sebuah sistem database manajemen seperti MySQL. Sejak komputer

menjadi alat yang sangat bagus untuk menangani sejumlah besar data, sebagai

utility yang stand-alone atau sebagai bagian dari suatu aplikasi.

DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan

atribut-atribut database, table, atribut (kolom), batasan-batasan terhadap suatu

atribut serta hubungan antar table. Yang termasuk kelompok DDL ini adalah:

1) CREATE untuk menciptakan table ataupun indeks,

2) ALTER untuk mengubah struktur table

3) DROP untuk menghapus table ataupun indeks

DML ( Data Manipulation Language ) adalah kelompok perintah yang

berfungsi untuk memanipulasi data, misalnya untuk pengambilan, penyisipan

pengubahan dan penghapusan data. Yang termasuk DML adalah:

(40)

2) INSERT menambah data

3) DELETE menghapus data

4) UPDATE mengubah data

DCL ( Data Control Language ) berisi perintah-perintah untuk

mngendalikan pengaksesan data. Yang termasuk DCL adalah:

1) GRANT, memberikan kendali pada pengaksesan data.

2) REVOKE, mencabut kemampuan pengaksesan data

3) LOCK TABLE, mengunci table

Pengendali transaksi adalah perintah-perintah yang berfungsi untuk

mengendalikan pengeksekusian transaksi. Yang termasuk kelompok ini adalah :

1) COMMIT menyetujui rangkaian perintah yang berhubungan erat yang telah

berhasil dilakukan

2) ROLLBACK membatalkan transaksi yang dilakukan karena adanya

kesalahan atau kegagalan pada salah satu rangkaian perintah.

Pengendali programatik adalah perintah perintah yang berada di level

client side untuk menampilkan data kedalam bentuk informasi yang berguna.

Yang termasuk bahasa pemrograman. Berikut adalah contoh penggunaan SQL

query :

1) Mengambil data dari database

Select [nama_kolom] from [nama_table] [Condition Statement]

Contoh ;

Select Nama from mahasiswa order by nama

(41)

Contoh :

Insert into Mahasiswa values(‘Anas’,’7298030004’,’Sem 3’);

3) Melakukan update atau perubahan pada isi table.

Update [nama_table] set [Nama_Kolom] = [isi] [condition

Statement]

Contoh:

Update Mahasiswa set Nama=’Anas’ where nrp=’001’.

4) Membuat table

Create table [table_name], [kolom/field tabel dan attributnya]

Contoh :

Create table mahasiswa (nama varchar(30),nrp

varchar(15),semester varchar(10))

5) Menghapus isi table

Delete from [table_name][condition statement].

Contoh:

Delete from mahasiswa where nrp=’001’

MySQL adalah sebuah perangkat lunak sistem manajemen berbasis data

SQL (Database Management System) atau DBMS yang multi thread, multi user.

Berbeda dengan proyek-proyek seperti Apache, dimana MySQL dimiliki

dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, yang

memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia

dan satu orang Finlandia yang mendirikan MySQL AB adalah David Axmark,

(42)

2.7.1 Kelebihan MySQL

MySQL adalah sebuah program pembuat database yang bersifat open

source, artinya siapa saja boleh menggunakannya dan tidak dicekal. MySQL

sebenarnya produk yang berjalan pada platform Linux. Karena sifatnya yang open

source, MySQL dapat dijalankan pada semua platform baik Windows maupun

Linux.

MySQL termasuk jenis RDBMS (Relational Database Management

System). Selain itu, MySQL juga merupakan program pengakses database yang

bersifat jaringan sehingga dapat digunakan untuk aplikasi multi user (banyak

pengguna). Saat ini database MySQL telah digunakan hampir oleh semua

programmer database, apalagi dalam pemrograman web. Kelebihan lain dari

MySQL adalah dapat menggunakan bahasa Query standar yang dimiliki SQL.

SQL adalah suatu bahasa permintaan yang telah distandarkan untuk semua

program pengakses database seperti Oracle, PostgreSQL, SQL Server, dan

lain-lain. Ada beberapa fungsi yang digunakan dalam pembuatan aplikasi antara PHP

dan MySQL. Fungsi tersebut sangat erat kaitannya dengan query SQL. Di dalam

MySQL tersedia query untuk membuat fungsi search, jumlah, update, ataupun

edit data dari database, namun pada script PHP dapat langsung ditulis melalui

script query Mysql dengan code select, insert, delete, update, dan sintax-sintax

lainnya. Dengan kata lain MySQL adalah sebuah sistem manajemen database.

Database adalah merupakan sekumpulan data yang terstruktur untuk

menambah, mengakses, dan memproses data yang tersimpan dalam database

(43)

komputer menjadi alat yang sangat bagus untuk menangani sejumlah besar data,

sebagai utility yang stand-alone atau sebagai bagian dari suatu aplikasi.

DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan

atribut-atribut database, table, atribut (kolom), batasan-batasan terhadap suatu

atribut serta hubungan antar table. Yang termasuk kelompok DDL ini adalah:

1) CREATEuntuk menciptakan table ataupun indeks,

2) ALTERuntuk mengubah struktur table,

3) DROPuntuk menghapus table ataupun indeks.

DML ( Data Manipulation Language )adalah kelompok perintah yang

berfungsi untuk memanipulasi data, misalnya untuk pengambilan, penyisipan

pengubahan dan penghapusan data. Yang termasuk DML adalah:

1) SELECTmemilih data

2) INSERTmenambah data

3) DELETEmenghapus data

4) UPDATEmengubah data

DCL ( Data Control Language ) berisi perintah-perintah untuk

mngendalikan pengaksesan data. Yang termasuk DCL adalah:

1) GRANT memberikan kendali pada pengaksesan data.

2) REVOKE mencabut kemampuan pengaksesan data

3) LOCKTABLE mengunci table

Pengendali transaksi adalah perintah-perintah yang berfungsi untuk

(44)

1) COMMIT menyetujui rangkaian perintah yang berhubungan erat yang telah

berhasil dilakukan

2) ROLLBACK membatalkan transaksi yang dilakukan karena adanya kesalahan

atau kegagalan pada salah satu rangkaian perintah.

Pengendali programatik adalah perintah perintah yang berada di level

client side untuk menampilkan data kedalam bentuk informasi yang berguna.

Yang termasuk bahasa pemrograman.

Berikut adalah contoh penggunaan SQL query :

1) Mengambil data dari database

Select [nama_kolom] from [nama_table] [Condition Statement]

Contoh ;

Select Nama from mahasiswa order by nama

2) Mengisikan data ke database.

Insert into [nama_table] values ([isi data pada tiap kolom])

Contoh :

Insert into Mahasiswa values(‘Anas’,’7298030004’,’Sem 3’);

3) Melakukan update atau perubahan pada isi table.

Update [nama_table] set [Nama_Kolom] = [isi] [condition

Statement]

Contoh:

Update Mahasiswa set Nama=’Anas’ where nrp=’001’.

4) Membuat table

Create table [table_name] ([kolom/field tabel dan

attributnya])

(45)

Create table mahasiswa (nama varchar(30),nrp

varchar(15),semester varchar(10))

5) Menghapus isi table

Delete from [table_name][condition statement].

Contoh:

Delete from mahasiswa where nrp=’001’

SQL (Structured Query Language) adalah sebuah konsep operasi

database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang

memungkinkan operasi data dikerjakan dengan mudah secara otomatis.

Kehandalan suatu sistem database (DBMS) diketahui dari cara kerja optimizer

-nya dalam melakukan proses perintah SQL (Structured Query Language), yang

dibuat oleh user maupun program aplikasinya.

Sebagai database server, MySQL dikatakan lebih unggul dibandingkan

database server lainnya dalam query data. Hal ini terbukti untuk query yang

dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat

dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. Selain itu

MySQL memiliki keistimewaan, antara lain :

a. Open Source. MySQL didistribusikan secara open source (gratis), di bawah

lisensi GPL (General Public License).

b. Multi user. MySQL dapat digunakan oleh beberapa user dalam waktu yang

bersamaan tanpa mengalami masalah atau konflik.

c. Column types. MySQL memiliki tipe kolom, seperti signed/unsigned integer,

(46)

d. Command dan functions. MySQL memiliki operator dan fungsi secara penuh

yang mendukung perintah Select dan Where dalam query.

e. Clients dan tools. MySQL dilengkapi dengan tools yang dapat digunakan untuk

administrasi database.

f. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam

menangani alter table.

2.7.2 Konektivitas PHP-MySQL

Pembahasan mengenai MySQL secara khusus tidak akan dilakukan. Sebab

pada penulisan ini, penulis ingin memfokuskan penggunaan MySQL melalui

PHP. Dan untuk menjalankan perintah -perintah MySQL dari dalam script PHP

dibutuhkan fungsi koneksi tersendiri. Yaitu :

1. mysql_connect( )

PHP menyediakan fungsi ini untuk membuat koneksi ke MySQL server.

Fungsi ini membutuhkan tiga buah argumen : hostname, database username, dan

database user password.

mysql_connect (“hostname”, ”database user name”, ”database user password”) ;

2. mysql_select_db( )

Fungsi ini digunakan untuk memilih database yang akan digunakan.

Fungsi ini membutuhkan dua buah argumen : nama database dan variabel link.

mysql_select_db(“nama_database”).

3. mysql_query( )

Fungsi ini digunakan untuk melakukan query terhadap database yang

(47)

dapat dilakukan jika user telah melakukan koneksi ke MySQL dan memilih

database yang akan digunakan.

$hasil=mysql_query(”select * from nama_tabel”).

2.8 Kebutuhan-Kebutuhan Sistem

2.8.1 Alir Dokumen ( Document Flow )

Bagan alir dokumen (Document flowchart) atau disebut juga bagan alir

formulir (Form flowchart) atau paperwork flowchart merupakan bagan alir yang

menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.

Formulir adalah suatu dokumen yang memuat informasi konstan yang

tercetak dan mempunyai bagian luang untuk diisi dengan variabel. Bagi

perusahaan tentunya harus mencatat transaksi setiap harinya, yang mana semua ini

harus dikonversikan dari satu media ke media lainnya dan dimanipulasi

berulang-ulang yang pada akhirnya berakhir pada suatu formulir yang berguna bagi manajer

di dalam mengambil keputusan. Sehingga dapat dikatakan bahwa keberhasilan

atau kegagalan suatu perusahaan juga tergantung dari formulir-formulir yang

digunakan.

Dari uraian diatas maka dapat kita ambil kesimpulan bahwa alasan

pemakaian formulir adalah untuk memudahkan suatu arus, proses dan analisa,

yaitu berupa :

1) Penyusunan data.

2) Meminimumkan waktu pencatatan dan penghapusan penulisan data

(48)

3) Memungkinkan kontrol terhadap kegiatan.

4) Mengurangi terjadinya kesalahan tulis menulis.

5) Menyampaikan informasi penting dari satu orang ke orang lain baik

dalam suatu organisasi maupun antar organisasi.

2.8.2 Sistem Flowchart ( Flowchart System )

Sistem flowchart merupakan alat bantu yang banyak digunakan untuk

menggambarkan sistem secara phisik dengan simbol-simbol bagan alir yang

menunjukkan secara tepat arti phisiknya seperti simbol : terminal, hard disk,

laporan dan lain-lainnya.

Adapun simbol-simbol standar yang digunakan untuk membuat bagan alir

adalah sebagai berikut :

Simbol Dokumen

Simbol ini digunakan untuk menggambarkan semua

jenis dokument input dan output baik untuk proses

manual, mekanik maupun komputer.

Simbol Kegiatan Manual

Simbol ini digunakan untuk menggambarkan kegiatan

manual.

Simbol Operasi Luar

Simbol ini menunjukkan operasi yang dilakukan

(49)

Simbol Arsip Sementara

Simbol ini digunakan untuk menggambarkan tempat

penyimpanan dokumen yang dokumennya akan

diambil kembali dari arsip tersebut dimasa yang akan

datang untuk keperluan pengolahan lebih lanjut

terhadap dokumen tersebut urutan pengarsipan

dokumen digunakan simbol berikut :

A : menurut Abjad

N : menurut Nomor Urut

T : menurut Tanggal

Simbol Penghubung

Penghubung pada halaman yang sama. Dalam

menggambarkan bagan alir dokumen dibuat mengalir

dari atas ke bawah dan dari kiri kekanan. Karena

keterbatasan ruang halaman kertas untuk

menggambarkan maka diperlukan simbol penghubung

yang memungkinkan aliran dokumen berhenti disuatu

lokasi pada halaman tertentu dan kembali berjalan

dilokasi lain pada halaman yang sama.

Simbol Penghubung

Penghubung pada halaman yang berbeda. Dalam

menggambarkan bagan alir dokumen dibuat mengalir

(50)

keterbatasan ruang halaman kertas untuk

menggambarkan maka diperlukan simbol penghubung

yang memungkinkan aliran dokumen berhenti disuatu

lokasi pada halaman tertentu dan kembali berjalan

dilokasi lain pada halaman yang berbeda.

Simbol Terminal

Simbol ini digunakan untuk menggambarkan awal

dan akhir suatu sistem.

Simbol Keputusan

Simbol ini menggambarkan keputusan yang harus

(51)

Pada tugas akhir ini akan dibangun sebuah perangkat lunak search engine

untuk mencari informasi pada pasal hukum terstruktur. Sistem yang akan dibuat

terdiri dari tiga sub sistem utama yaitu sub sistem input pasal, sub sistem

pre-processing dan sub sistem antar muka. Gambaran sistem dalam tugas akhir ini

tampak seperti Gambar 3.1 dibawah ini.

Gambar 3.1. Gambaran Sistem

Gambar 3.1 diatas menunjukkan kinerja dari perancangan sistem aplikasi

pada tugas akhir ini. data pasal yang memiliki format teks dipersiapkan terlebih

dahulu sehingga kriteria-kriteria yang jelas sesuai dengan aturan yang dimainkan

pada sistem ini. Kemudian data pasal ini diinputkan kedalam proses input pasal

Input pasal

Operasi dat abase

dat abase

Input keyw ord

Operasi query

Ant ar m uka dan visualisasi dokum en

(52)

dan disimpan ke dalam database yang telah disediakan. Setelah proses input pasal

selesai dilanjutkan ke dalam proses checking. Di dalam proses ini pasal yang

akan diperiksa apakah susunan dan style yang digunakan telah memenuhi syarat,

jika memenuhi syarat, pasal akan diproses untuk di ambil informasi di dalamnya.

Setelah selesai dengan proses checking pasal di atas kemudian hasil dari

proses tersebut di ambil dan kemudian pasal disimpan ke dalam basis data sesuai

dengan abstraksi style yang digunakan pada saat dilakukan proses query di dalam

sistem basis data. Selain dilakukan operasi query tersebut, informasi pasal tersebut

juga dilakukan indexing dimana proses ini bertujuan untuk memisahkan sebuah

informasi menjadi subyek-subyek kecil agar dapat dilakukan proses yang lebih

lanjut.

Proses selanjutnya adalah proses antarmuka dan visualisasi pasal

terstruktur. Proses ini adalah proses pada web engine yang digunakan untuk

sarana pencarian bagi user. Pada proses ini, user hanya perlu menginputkan data

kasus yang ingin dicari dan secara otomatis akan melakukan proses pencarian

berdasarkan inputan user dengan pembandingan pasal yang telah disimpan dalam

database. Setelah data ditemukan, maka user akan menerima hasilnya.

Pada sub proses preprocess dilakukan proses pengecekan dan

pengambilan isi (teks) dan struktur pasal (proses checking dan parsing), proses

indexing, serta proses pemetaan kata (index term) pada pasal dan pengertian

pasalnya. Jika digambarkan, maka preprocesss akan tampak pada Gambar 3.2

(53)

Gambar 3.2. Sistem Flow proses input pasal

Indexing yang dilakukan pada input pasal terdiri dari proses Login, proses

simpan. Proses-proses tersebut dibangun dengan menggunakan fitur-fitur yang

dimiliki oleh mySQL.

Dalam proses pemetakan kata dalam pasal, hasil proses indexing pada

setiap pasal yang diambil data berupa array. Data-data tersebut digunakan pada

sub proses pencarian informasi dan antarmuka. Yang mana tampak pada Gambar

3.3 dibawah ini :

st art

User dan passw ord

Cek login

Aut h = t rue?

Input pasal

Proses input pasal

(54)

Proses Sub Sistem Pencarian Informasi dan Antarmuka Aplikasi dari struktur pasal yang

dipilih

Gambar 3.3. Sistem Flow Proses Pencarian Informasi dan Antarmuka

Antarmuka grafis yang digunakan adalah bentuk visualisasi yang

diletakkan pada basis web yang akan menampilkan semua artikel dan pasal hasil

pencarian informasi. Antarmuka grafis dibangun dengan menggunakan bahasa

pemrograman PHP.

3.2. Desain dan Perancangan Proses

Untuk pembuatan sistem secara keseluruhan dilakukan beberapa proses,

(55)

secara utuh. Proses-proses yang dilakukan direpresentasikan dalam bentuk bagan

alir data atau yang biasa disebut Data Flow Diagram (DFD). Representasi ini

dimulai dari DFD Level 0 atau yang sering disebut Context Diagram, kemudian

dilanjutkan hingga ke level yang diinginkan sesuai kebutuhan sistem.

Context diagram pada sistem ini menggambarkan hubungan antara entitas

luar ( dalam hal ini adalah user dan admin ) dengan sistem ( aplikasi ).

Pertama-tama sistem akan menerima inputan pasal-pasal dari admin, dan di sisi lain user

memberikan inputan ke dalam sistem berupa data pencarian pasal. Dari data

pencarian tersebut selanjutnya sistem memberikan output berupa data hasil

pencarian pasal sesuai dengan data pencarian yang dicari. Yang mana tampak

pada Gambar 3.4 dibawah ini.

admin

user Aplikasi KUHP online

Data pasal

keyword

Hasil pencarian

Gambar 3.4. Context Diagram

Sedangkan alur proses secara umum dapat dilihat pada DFD level 0 yang

merupakan hasil decompose dari Context diagram yang dikembangkan menjadi

sub proses dari aplikasi yang dibuat. Pada DFD level 0 ini terdiri da ri tiga sub

proses antara lain sub proses input pasal, sub proses parsing dan sub proses

(56)

admin

Dari Gambar 3.5 diatas dapat dijelaskan bahwa pada sub pr oses yang

pertama yaitu proses input pasal, mendapatkan inputan dari admin yang nantinya

data-data pasal dan data-data pengertian pasal ini disimpan pada data store.

Selanjutnnya proses kedua adalah proses interface yang merupakan perantara

antara user dengan sistem yang merupakan proses pencarian data pasal yang ingin

dicari oleh user dan akan dilakukan pencarian oleh sistem dengan proses parsing,

yang mana merupakan proses penting dari sistem ini. dan user akan mendapatkan

hasil dari pencarian yang dilakukan oleh sistem tersebut.

Pada proses input pasal jika di decompose, maka akan menghasilkan sub

proses yang berisi sebuah proses entry data pasal yang diinputkan oleh admin dan

data-data tersebut disimpan pada data store tabel pasal dan data store tabel

pengertian pasal. Data pasal yang ada pada proses entry data pasal juga akan

(57)

admin User dan password login Konfirmasi login

Input pasal Data pasal

pasal Data pasal

Edit pasal

Data pasal Data pasal

Gambar 3.6. DFD Sub Proses Input Pasal

user pencarian

Parsing pasal

Data pasal Data pasal pasal

Data pasal Data pasal

Gambar 3.7. DFD Sub Proses Pencarian

3.3. Pseudocode Algortima Boyer-Moore

Algoritma ini dianggap sebagai algoritma yang paling efisien pada aplikasi

umum. Tidak seperti algoritma pencarian string yang ditemukan sebelumnya,

algoritma Boyer-Moore mulai mencocokkan karakter dari sebelah kanan pattern.

Ide dibalik algoritma ini adalah bahwa dengan memulai pencocokkan karakter

dari kanan, dan bukan dari kiri, maka akan lebih banyak informasi yang didapat.

Adapun cara kerja dari Algortima Boyer-Moore adalah Misalnya ada

(58)

ketidakcocokan pertama terjadi diantara teks[i + j] dan pattern[j], dengan 0 < j <

n. Berarti, teks[i + j + 1..i + n − 1] = pattern[j + 1..n− 1] dan a = teks[i + j] tidak

sama dengan b = pattern[j]. Jika u adalah akhiran dari pattern sebelum b dan v

adalah sebuah awalan dari pattern, maka penggeseran-penggeseran yang mungkin

adalah:

1. Penggeseran good-suffix yang terdiri dari mensejajarkan potongan teks[i +

j + 1..i + n − 1] = pattern[j + 1..n − 1] dengan kemunculannya paling

kanan di pattern yang didahului oleh karakter yang berbeda dengan

pattern[j]. Jika tidak ada potongan seperti itu, maka algoritma akan

mensejajarkan akhiran v dari teks[i + j + 1..i + n − 1] dengan awalan dari

pattern yang sama.

2. Penggeseran bad-character yang terdiri dari mensejajarkan teks[i + j]

dengan kemunculan paling kanan karakter tersebut di pattern. Bila

karakter tersebut tidak ada di pattern, maka pattern akan disejajarkan

dengan teks[i + n + 1].

Secara sistematis, langkah-langkah yang dilakukan algoritma Boyer-Moore pada

saat mencocokkan string adalah:

1. Algoritma Boyer-Moore mulai mencocokkan pattern pada awal teks.

2. Dari kanan ke kiri, algoritma ini akan mencocokkan karakter per karakter

pattern dengan karakter di teks yang bersesuaian, sampai salah satu

(59)

1. Karakter di pattern dan di teks yang dibandingkan tidak cocok

(mismatch).

2. Semua karakter di pattern cocok. Kemudian algoritma akan

memberitahukan penemuan di posisi ini.

3. Algoritma kemudian menggeser pattern dengan memaksimalkan nilai

penggeseran good-suffix dan penggeseran bad-character, lalu mengulangi

langkah 2 sampai pattern berada di ujung teks.

Berikut adalah flowchart dan pseudocode algoritma Boyer-Moore pada fase

pra-pencarian :

function stoplist(parameter kata){

input kata : preg_replace("/[^a-zA-Z\s]/", "", kata);

input kata : str_replace(" "," ",kata);

if(substr(kata,0,1)==' ')

kata=lefttrim(righttrim(kata));

else

kata=righttrim(kata);

return kata;

}

(60)

Berikut adalah flowchart algoritma Boyer-Moore pada fase pencarian :

(61)

function cari_bm(parameter idx, string, cari){ input word = strtolower(string);

input word = stoplist(word); input word = split(" ",word);

inisialisasi s=0;

cari = split(" ",cari);

for(i=0;i<count(cari);i++){ for(j=0;j<count(word);j++){

for(k=0;k<=strlen(word[j])-strlen(cari[i]);k++){

if(cari[i]==substr(word[j],k,strlen(cari[i]))){ maka input word_list[s]=word[j]; word_idx[s]=j; s++;

Gambar 3.10 Pseudocode Prosedur Fungsi Cari_bm

Dan berikut adalah pseudocode algoritma Boyer-Moore pada fase pencarian:

function select(kata){

query sql = "select * from pasal order by id_pasal"; compile run = mysql_query(sql);

(62)

if(count(val_id)>0 or count(vst_id)>0){

tampilkan '<p>Hasil dari pencarian boyer moore : '; if(count(val_id)>0) tampilkan count(val_id).' pasal'; else tampilkan '0 pasal';

if(count(vst_id)>0) echo ' - dengan bantuan stemming '.count(vst_id).' pasal';

get $sql = "select isi_pasal from pasal where id_pasal=".$val_id[$i];

compile run = mysql_query(sql); run r=mysql_fetch_array($run);

(63)

<tr><td>&nbsp;</td></tr>

echo '<tr><td>Tidak Ada Hasil Pencarian Yang Cocok</td></tr>';

echo '</table>'; }

}

Gambar 3.11 Pseudocode Prosedur Pada Fase Pencarian

3.4. Perancangan Desain Basis Data

Sistem informasi yang dirancang di dalam tugas akhir ini, dibuat dalam

bentuk basis data dan disimpan di dalam MySQL. Database digunakan untuk

menyimpan data-data yang dibutuhkan oleh sistem seperti data pasal dan data

pengertian pasal. Pemodelan data ini direpresentasikan dengan entitas beserta

atribut dan hubungan antara entitas-entitas tersebut. Entitas adalah suatu obyek

yang ada dan dapat dibedakan antara satu dengan lainnya. Berikut adalah

entitas-entitas yang digunakan pada sistem ini, yang mana tampak pada Gambar 3.8

berikut.

PASAL

id_pasal isi_pasal pengertian

Gambar 3.12 Conceptual Data Model

Berikut adalah Physical Data Model yang merupakan hasil generate dari

Gambar

Table 2.4 Contoh subrutin buang depan
Table 2.6 Contoh subrutin
Gambar 2.2 Hasil Dari  File coba1.PHP
Gambar 3.1. Gambaran Sistem
+7

Referensi

Dokumen terkait

Metode ini terbatas pada ekstraksi dengan pelarut murni atau campuran azeotropik dan tidak dapat digunakan untuk ekstraksi dengan campuran pelarut, misalnya heksan

Ketetapan Majelis Permusyawaratan Rakyat Republik Indonesia Nomor XVI/MPR/1998 tentang Politik Ekonomi dalam Rangka Demokrasi Ekonomi, dinyatakan tetap berlaku dengan

Sedangkan r hitung dalam hasil penelitian ini sebesar 0,508, maka hipotesis alternatif (Ha) yang menyatakan bahwa terdapat hubungan positif yang sangat signifikan antara

Penelitian ini bertujuan untuk mengetahui bagaimana distribusi temperatur pada suatu ruangan yang terdapat AC di dalamnya yang diselesaikan dengan mengimplementasikan metode

Based on Robert Redfied’s notion of great tradition and little tradition, I want to argue that the festival of Idul Fitri in Java is more happy, cheery, and merry rather than in

Sebelum ditetapkannya Peraturan Daerah ini, Susunan dan Kedudukan Badan Permusyawaratan Desa diatur dalam Peraturan Daerah Nomor 5 Tahun 2000 tentang Susunan dan Kedudukan

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

Kelima, hasil analisis regresi ganda dengan metode stepwise , dengan memasukkan variabel kegiatan praktik unit produksi sekolah, pengalaan prakerin dan dukungan