program studi teknik informatika fakultas sains...
TRANSCRIPT
Sistem Pakar Kitab Undang-undang Hukum Pidana Terhadap Kriminalitas
( Studi Kasus : Sat Reskrim Polres Metro Jakarta Selatan)
SITI NURROFI’AH
106091002870
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2010 M / 1431 H
ii
Sistem Pakar Kitab Undang-undang Hukum Pidana Terhadap Kriminalitas
( Studi Kasus : Sat Reskrim Polres Metro Jakarta Selatan)
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Pada Fakultas Sains dan Teknologi UIN Jakarta
Oleh :
SITI NURROFI’AH
106091002870
Menyetujui,
Pembimbing 1 Pembimbing 2
Victor Amrizal, M.Kom Viva Arifin, MMSI
NIP. 150411288 NIP. 19730810 200604 2 001
Mengetahui
Ketua Jurusan Teknik Informatika,
Yusuf Durachman, M.Sc.,MIT
NIP. 19710522 200604 1 002
iii
PENGESAHAN UJIAN
Skripsi yang berjudul “Sistem Pakar Kitab Undang-undang Hukum Pidana
Terhadap Kriminalitas ( Studi Kasus : Sat Reskrim Polres Metro Jakarta Selatan)”, telah
diuji dan dinyatakan lulus dalam Sidang Munaqosah Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta, pada hari Selasa tanggal 23
November 2010. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh
gelar Sarjana Komputer pada Program Teknik Informatika
Jakarta, November 2010
Tim Penguji,
Tim Pembimbing,
Mengetahui,
Penguji I
Khodijah Huliyah, M.Si
NIP. 19730402 200112 2 001
Pembimbing II
Viva Arifin, MMSI
NIP. 19730810 200604 2 001
Pembimbing I
Victor Amrizal, M.Kom
NIP. 150411288
Penguji II
Fitri Mintarsih, M.Kom
NIP. 19721223 200720 2 004
Dekan
Fakultas Sains Dan Teknologi
DR. Syopiansyah Jaya Putra, M.Sis
NIP. 19680117 200112 1 001
Ketua Program Studi
Teknik Informatika
Yusuf Durrachman MIT M.Sc
NIP. 19710522 200604 1 002
iv
ABSTRAK
Siti Nurrofi’ah, Sistem Pakar Kitab Undang-undang Hukum Pidana Terhadap
Kriminalitas (Studi Kasus : Sat Reskrim Polres Metro Jakarta Selatan), dibimbing
oleh Victor Amrizal , M.Kom dan Viva Arifin, MMSI.
Sebagai sebuah sistem, komputer dapat dipakai untuk membantu manusia dalam
memecahkan masalah. Tidak terkecuali kecerdasan buatan yang merupakan
bagian dari ilmu komputer, ini dibuktikan dengan semakin luasnya penggunaan
system pakar sebagai bagian dari kecerdasan buatan di berbagai bidang. Sistem
pakar merupakan perangkat lunak computer yang memiliki basis pengetahuan
untuk domain tertentu dan menggunakan penalaran inferensi menyerupai seorang
pakar dalam memecahkan suatu masalah. Salah satu contoh, pada bidang hukum,
yaitu permasalahan hukum pidana sangat kompleks sehingga sulit bagi orang
awam untuk mengerti dan memilah-milah pasal-pasal yang mengatur suatu kasus
hukum. Hal ini sering membingungkan bagi orang awam saat terlibat dalam suatu
kasus hukum sehingga perlu ada sebuah program komputer untuk membantu
memahami dan memilah-milah pasal-pasal yang terlibat dalam suatu kasus
hukum. Pembuatan sistem pakar kitab undang-undang hukum pidana terhadap
kriminalitas ini bertujuan untuk membantu masyarakat terutama masyarakat yang
awam akan dunia hukum agar memahami fungsi dari KUHP, mengetahui tindak
kejahatan-kejahatan, jenis-jenis kejahatan dan ancaman hukumannya. Pada
pembuatan sistem ini digunakan PHP versi 5.3.1 sebagai bahasa pemrograman
dan MySQl 5.1.41 sebagai basis data. Dalam penelitian ini metode mesin inferensi
yang di gunakan adalah forwad chaining dan penelusurannya menggunakan depth
first search, metode pengembangan sistem yang digunakan adalah ESDLC
(Expert System Development Life Cycle). Sistem ini diharapkan dapat mengurangi
tindak kejahatan atau kriminalitas dan kesalahan dalam pelaporan tindak pidana.
Untuk kedepannya sistem ini dapat dikembangkan lagi baik dari segi knowledge
base atau sistemnya.
Kata Kunci : Sistem Pakar, KUHP, Kriminalitas
Jumlah Halaman : 124 halaman
Jumlah Daftar Pustaka : 24 sumber
v
KATA PENGANTAR
Alhamdulillah penulis penjatkan puji dan syukur kehadirat Allah SWT,
karena berkat rahmat-Nya penyusun mampu melaksanakan tugas untuk
menyelesaikan skripsi ini dengan sebaik-baiknya, sehingga terlaksana sesuai
dengan harapan. Shalawat dan salam selalu dilimpahkan kepada Nabi Muhammad
SAW, keluarga dana para sahabat-sahabatnya
Skripsi ini penulis buat sebagai syarat kelulusan dalam menempuh
pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah
Jakarta. Selain itu juga penulis berharap apa yang penulis teliti, yang dijelaskan di
dalam skripsi ini, dapat dipergunakan dengan baik oleh semua pihak yang
membutuhkan, sehingga perkembangan ilmu pengetahuan dan teknologi
khususnya di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta
dapat lebih maju dan lulusannya dapat bekerja secara kooperatif dengan semua
elemen informatika dari seluruh dunia.
Pada kesempatan ini, penulis mengucapkan terima kasih kepada pihak-
pihak yang telah membantu penulis menyelesaikan skripsi ini :
1. Bapak DR. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains
dan Teknologi yang telah memberikan suatu komitmen, dorongan, dan
program pendidikan sesuai kebutuhan mahasiswanya.
2. Bapak Yusuf Durachman, M.Sc,MIT selaku Ketua Program Studi Teknik
Informatika.
3. Bapak Victor Amrizal, M.Kom dan Ibu Viva Arifin MMSI yang telah rela
meluangkan waktunya untuk mendukung dan membimbing penulis dalam
menyelesaikan skripsi ini.
4. Bapak dan Ibu penguji yang memberikan kritik dan saran pada skripsi ini.
vi
5. Dosen-Dosen Fakultas Sains dan Teknologi yang telah mengajarkan
kepada penulis berbagai macam ilmu yang dapat penulis terapkan dalam
penulisan skripsi ini.
6. Almarhumah ibunda tercinta yang selalu penulis rindukan Hj. Malikhah,
terutama ayah tercinta H. Syahroni Yusuf yang selalu memberikan nasihat,
motivasi, mengajarkan arti hidup dan senantiasa mencurahkan doa dan
dukungannya demi kesuksesan penulis dalam proses kuliah dan kehidupan
ini.
7. Kakak penulis, Hikmah S.E.I dan adik-adik penulis Muslikhatud Diniyah,
Nana Istanarat Maulidina dan Fahmi Idris yang selalu menjadi cahaya
motivasi dalam kehidupan penulis.
8. Trimakasih juga untuk Ferry yang banyak membantu dalam
menyelesaikan skripsi ini serta Fiena, Deti, Ajeng, dan Sarika serta
sahabat-sahabat dan kawan-kawan KKN 15, TI-Networking dan Seluruh
kawan-kawan jurusan TI/SI angkatan 2006 yang sama-sama berjuang
dalam masa perkuliahan ini. Sukses selalu untuk kita semua.
Penulis menyadari masih terdapat banyak kekurangan dalam penelitian ini,
baik penulisan maupun aplikasinya sendiri. Oleh karena itu penulis mengharapkan
saran dan kritik yang dapat membangun skripsi ini lebih baik lagi.
Jakarta, November 2010
Penulis
ix
DAFTAR ISI
Halaman Judul ......................................................................................... i
Persetujuan Pembimbing ......................................................................... ii
Halaman Pengesahan ................................................................................ iii
Halaman Pernyataan ................................................................................ iv
Abstrak .................................................................................................... v
Kata Pengantar ........................................................................................ vi
Lembar Persembahan ................................................................................ viii
Daftar Isi .................................................................................................. ix
Daftar Gambar ......................................................................................... xiv
Daftar Tabel ............................................................................................ xviii
Daftar Lampiran ...................................................................................... xx
BAB I PENDAHULUAN
1.1. Latar Belakang .......................................................................... 1
1.2. Rumusan Masalah ...................................................................... 3
1.3. Batasan Masalah ....................................................................... 4
1.4. Tujuan Penelitian ....................................................................... 5
1.5. Manfaat Penelitian .................................................................... 5
1.6. Metodologi Penelitian ................................................................ 8
1.7. Sistematika Penulisan ................................................................ 11
Halaman
x
BAB II LANDASAN TEORI
2.1. Kecerdasan Buatan (Artificial Intelligence) ................................ 13
2.2. Sistem Pakar ............................................................................. 14
2.2.1. Ciri-ciri Sistem Pakar ...................................................... 16
2.2.2. Keuntungan Sistem Pakar ................................................ 16
2.2.3. Kelemahan Sistem pakar .................................................. 17
2.2.4. Kategori Sistem Pakar ...................................................... 18
2.2.5. Struktur Sistem Pakar ....................................................... 20
2.2.5.1. Mekanisme Inferensi ........................................... 22
2.2.5.2. Representasi Pengetahuan ................................... 25
2.2.6. Lingkungan Sistem Pakar ................................................. 25
2.3. Domain Permasalahan ................................................................ 27
2.3.1. Kitab Undang-undang Hukum Pidana ............................... 27
2.3.2. Tujuan Hukum Pidana ...................................................... 28
2.4. Konsep Database ....................................................................... 29
2.4.1. Konsep Basis Data (Data Base) ....................................... 29
2.4.2. DBMS (Database Management System) .......................... 31
2.4.3. SQL (structured Query Labguage) .................................. 34
2.4.4. Elemen-elemen Database ................................................. 34
2.5. PHP ........................................................................................... 38
2.5.1. Kelebihan PHP ............................................................... 39
2.6. MySQL .................................................................................... 40
2.7. Flowchart ................................................................................. 40
xi
2.7.1. Simbol-simbol Flowchart ............................................... 41
2.8. DFD (Data Flow Diagram) ...................................................... 45
2.9. Metode Penelitian .................................................................... 47
2.9.1. Metode Pengumpulan Data ............................................ 47
2.10. Penelitian Sebelumnya ............................................................ 49
BAB III METODOLOGI PENELITIAN
3.1. Metode Pengumpulan Data ........................................................ 51
3.1.1. Studi Lapangan atau Observasi ...................................... 51
3.1.2. Studi Pustaka .................................................................. 51
3.1.3. Wawancara .................................................................... 52
3.2. Metode Pengembangan Sistem .................................................. 52
3.2.1. Inisialisasi Kasus ............................................................ 53
3.2.2. Analisis dan Desain Sistem / Konseptualisasi ................. 54
3.2.3. Prototipe Dasar Kasus / Formalisasi ................................ 54
3.2.4. Pengembangan Sistem .................................................... 55
3.2.5. Implementasi Sistem ....................................................... 56
3.2.6. Implementasi Tahap Lanjut ............................................ 57
3.3. Kerangka Berfikir...................................................................... 57
BAB IV PEMBAHASAN
4.1. Inisialisasi Kasus ........................................................................ 60
4.1.1. Analisis Masalah ............................................................ 60
xii
4.2. Analisis dan Desain Sistem ........................................................ 64
4.3. Prototype Dasar Kasus ............................................................... 65
4.3.1. Mekanisme Inferensi ...................................................... 67
4.3.2. Representasi Pengetahuan ............................................... 85
4.4. Pengembangan Sistem ............................................................... 95
4.4.1. Perancangan Sistem ........................................................ 95
4.4.1.1. Arus Data (Flowchart) ...................................... 95
4.4.1.2. Diagram Konteks Sistem Pakar KUHP terhadap
Kriminalitas .................................................................... 101
4.4.1.3. Diagram Zero Sistem Pakar KUHP terhadap
Kriminalitas .................................................................... 103
4.4.1.4. Diagram Rinci Sistem Pakar KUHP terhadap
Kriminalitas .................................................................... 106
4.4.1.5. Spesifikasi Proses yang diusulkan .................... 117
4.4.2. Perancangan Database .................................................... 119
4.4.2.1. Entity Relationship Diagram (ERD) ................ 119
4.4.2.2. Spesifikasi Database ........................................ 120
4.4.2.3. Penerjemahan ERD ke LRS ............................ 122
4.4.3. Perancangan State Transition Diagram (STD) ................ 123
4.4.4. Perancangan User Interface ............................................ 125
4.5. Implementasi Sistem ................................................................ 127
4.5.1. Konstruksi Sistem Pakar ................................................ 127
4.5.2. Pengujian Sistem Pakar.................................................. 128
xiii
4.6. Implementasi Tahap Lanjut ........................................................ 131
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ............................................................................... 145
5.2. Saran ......................................................................................... 145
DAFTAR PUSTAKA ............................................................................. 147
LAMPIRAN-LAMPIRAN
xiv
DAFTAR GAMBAR
Halaman
Gambar 2.1. Diagram Blok Umum Struktur Sistem Pakar ................................ 20
Gambar 2.2. Depth First Search ..................................................................... 24
Gambar 2.3. Jenjang dari data .......................................................................... 30
Gambar 2.4.Cardinality one to one ................................................................ 36
Gambar 2.5. Cardinality one to many ............................................................... 36
Gambar 2.6. Cardinality many to many ........................................................... 36
Gambar 3.1. Fase pengembangan sistem pakar ................................................ 53
Gambar 3.2. Kerangka berfikir (bagian 1) ....................................................... 58
Gambar 3.3. Kerangka Berfikir (bagian 2) ...................................................... 59
Gambar 4.1. Kerangka Sistem Pakar ................................................................ 65
Gambar 4.2. Pohon Inferensi Sistem Pakar KUHP terhadap kriminalitas ........ 67
Gambar 4.3. Penenelusuran Data Berdasarkan Pasal-pasal Pada kasus
pencurian .................................................................................... 73
Gambar 4.4. Penelusuran Data Berdasarkan Pasal-pasal Pada kasus
pemerasan ................................................................................... 82
Gambar 4.5. Penelusuran Data Berdasarkan Pasal-pasal Pada Kasus
Penggelapan ............................................................................... 83
Gambar 4.6. Penelusuran Data Berdasarkan Pasal-pasal Pada Kasus
Pengrusakan ................................................................................ 84
Gambar 4.7. flowchart halaman utama user ..................................................... 95
xv
Gambar 4.8. flowchart konsultasi ..................................................................... 96
Gambar 4.9. flowchart informasi ..................................................................... 97
Gambar 4.10. flowchart buku tamu .................................................................. 97
Gambar 4.11. flowchart login .......................................................................... 98
Gambar 4.12. flowchart halaman utama admin ................................................ 98
Gambar 4.13. flowchart kejahatan .................................................................... 99
Gambar 4.14. flowchart pasal .......................................................................... 99
Gambar 4.15. flowchart manajemen admin .................................................... 100
Gambar 4.16. flowchart halaman informasi .................................................... 100
Gambar 4.17. flowchart halaman buku tamu .................................................. 101
Gambar 4.18. Diagram Konteks Sistem Pakar KUHP Terhadap Kriminalitas 101
Gambar 4.19. Diagram Zero Sistem Pakar KUHP Terhadap Kriminalitas ...... 103
Gambar 4.20. Diagram Level 1 Proses ke-1 Sispak KUHP Terhadap
Kriminalitas ............................................................................. 106
Gambar 4.21. Diagram Level 1 Proses ke-2 Sispak KUHP Terhadap
Kriminalitas ............................................................................. 109
Gambar 4.22. Diagram Level 1 Proses ke-3 Sispak KUHP Terhadap
Kriminalitas .............................................................................. 111
Gambar 4.23. Diagram Level 1 Proses ke-4 Sispak KUHP Terhadap
Kriminalitas ............................................................................. 113
Gambar 4.24. Diagram Level 1 Proses ke-5 Sispak KUHP Terhadap
Kriminalitas ............................................................................. 116
Gambar 4.25. Entity Relationship Diagram .................................................... 119
xvi
Gambar 4.26. Logical Record Structure (LRS) .............................................. 122
Gambar 4.27. State Diagram (STD) Untuk Halaman User ............................. 123
Gambar 4.28. State Diagram (STD) untuk halaman knowledge enginer ......... 124
Gambar 4.29. Contoh code program warning pada proses debugging ............ 128
Gambar 4.30. Contoh code program error pada proses debugging ................ 128
Gambar 4.31. Contoh code program sukses pada proses debugging .............. 129
Gambar 4.32. Tampilan Menu Home ............................................................. 132
Gambar 4.33. Tampilan Menu Profil .............................................................. 133
Gambar 4.34. Tampilan Menu Petunjuk ......................................................... 134
Gambar 4.35. Tampilan Menu Sistem Pakar .................................................. 134
Gambar 4.36. Tampilan Menu Pencarian ....................................................... 135
Gambar 4.37. Tampilan Menu Buku Tamu .................................................... 135
Gambar 4.38. Tampilan Menu Login ............................................................. 136
Gambar 4.39. Tampilan Menu Home pada admin .......................................... 136
Gambar 4.40. Tampilan awal Menu Kejahatan pada admin ............................ 137
Gambar 4.41. Tampilan Menu kejahatan di admin ......................................... 138
Gambar 4.42. Tampilan Menu tambah kejahatan ........................................... 138
Gambar 4.43. Tampilan Menu view kejahatan ............................................... 139
Gambar 4.44. Tampilan Menu edit kejahatan ................................................ 139
Gambar 4.45. Tampilan Menu delete kejahatan ............................................. 140
Gambar 4.46. Tampilan Menu Pasal pada admin ........................................... 141
Gambar 4.47. Tampilan Menu Manajemen Admin ......................................... 142
Gambar 4.48. Tampilan Menu Update admin ................................................. 142
xvii
Gambar 4.49. Tampilan Menu Informasi pada admin ..................................... 143
Gambar 4.50. Tampilan awal menu buku tamu di admin ................................ 144
Gambar 4.51. Tampilan Menu Buku Tamu di admin ...................................... 144
xviii
DAFTAR TABEL
Halaman
Tabel 2.1. Perbandingan Sistem Konvensional dan Sistem Pakar .............. 15
Tabel 2.2. Elemen-elemen ERD ............................................................... 35
Tabel 2.3. Simbol Penghubung ................................................................. 41
Tabel 2.4. Simbol Proses Flowchart ......................................................... 42
Tabel 2.5. Simbol input output flowchart ................................................. 44
Tabel 2.6. Simbol Data Flow Diagram ...................................................... 45
Tabel 4.1. knowledge base mesin inferensi pada kasus pencurian ............. 74
Tabel 4.2. Alur Proses .............................................................................. 102
Tabel 4.3. Proses Mengolah Modul Kejahatan .......................................... 104
Tabel 4.4. Proses Mengolah Modul Pasal .................................................. 104
Tabel 4.5. Proses Mengolah Modul Manajemen Admin. ........................... 104
Tabel 4.6. Proses Mengolah Modul Informasi ........................................... 105
Tabel 4.7. Proses mengolah modul buku tamu .......................................... 105
Tabel 4.8. Proses mencari data master kejahatan ....................................... 107
Tabel 4.9. Proses menambah data master kejahatan .................................. 107
Tabel 4.10. Proses melihat master kejahatan ............................................. 107
Tabel 4.11. Proses mengedit master kejahatan .......................................... 108
Tabel 4.12. Proses menghapus kejahatan .................................................. 108
Tabel 4.13. Proses mencari data master pasal ............................................ 109
Tabel 4.14. Proses menambah data master pasal. ...................................... 109
xix
Tabel 4.15. Proses melihat master data pasal ............................................. 110
Tabel 4.16. Proses mengedit master data pasal .......................................... 110
Tabel 4.17. Proses menghapus master data pasal ....................................... 111
Tabel 4.18. Proses menambah master admin ............................................. 112
Tabel 4.19. Proses menghapus master data pasal ....................................... 112
Tabel 4.20. Proses mencari master data informasi ..................................... 113
Tabel 4.21. Proses menambah master data informasi ................................ 113
Tabel 4.22. Proses mengedit master data pasal .......................................... 113
Tabel 4.23. Proses melihat master data informasi ...................................... 114
Tabel 4.24. Proses menghapus informasi .................................................. 114
Tabel 4.25. Proses menampilkan data master bukutamu ............................ 116
Tabel 4.26. Proses melihat master bukutamu ............................................ 117
Tabel 4.27. Proses menghapus master bukutamu....................................... 117
Tabel 4.28. Tabel admin ........................................................................... 120
Tabel 4.29. Tabel kejahatan ...................................................................... 120
Tabel 4.30. Tabel pasal ............................................................................. 121
Tabel 4.31. Tabel link ............................................................................... 121
Tabel 4.32. Tabel informasi ...................................................................... 121
Tabel 4.33. Tabel bukutamu ..................................................................... 122
Tabel 4.34. Pengujian Halaman Interface Untuk User ............................... 129
Tabel 4.35. Pengujian Halaman Interface Untuk Admin ........................... 130
xx
DAFTAR LAMPIRAN
LAMPIRAN A (Surat Keterangan Izin Riset)
LAMPIRAN B (Wawancara)
LAMPIRAN C (Hasil Pengujian dan evaluasi Lapangan)
LAMPIRAN D (Source Code Program)
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Indonesia sebagai negara hukum, memiliki bermacam-macam peraturan
hukum, salah satunya adalah Kitab Undang-undang Hukum Pidana (KUHP)
yang digunakan untuk mengatur berbagai macam tindak pidana. Adapun jenis
tindak pidana yang sering terjadi adalah tindak pidana terhadap kriminalitas.
Masalah hukum pidana sangat kompleks sehingga sulit bagi orang awam
untuk mengerti dan memilah-milah pasal-pasal yang mengatur suatu kasus
hukum. Hal ini sering membingungkan bagi orang awam saat terlibat dalam
suatu kasus hukum sehingga perlu ada sebuah program komputer untuk
membantu memahami dan memilah-milah pasal-pasal yang terlibat dalam
suatu kasus hukum (Handojo, dkk, 2006).
Menurut Turban (2005:31) ketika suatu organisasi mengambil suatu
keputusan rumit atau memecahkan suatu masalah, organisasi sering melirik
para pakar untuk mendapatkan nasihat. Pakar yang dipilih memiliki
pengetahuan khusus mengenai sesuatu dan berpengalaman di masalah
tersebut.
Indonesia sebagai sebuah Negara hukum sudah memiliki peraturan-
peraturan hukum pidana, yaitu Kitab Undang-undang Hukum Pidana (KUHP),
yang berisi ratusan pasal yang mengatur tentang hukum pidana di Indonesia.
2
Masalah hukum pidana sangatlah kompleks, sehingga cukup sulit bagi orang
awam untuk dapat mengerti dan mengetahui pasal-pasal yang terdapat dalam
buku KUHP yang ada. Belum lagi ditambah ketidakmengertian tentang
hukum menyebabkan faktor kebingungan bagi masyarakat awam saat terlibat
dalam kasus pidana, baik sebagai tersangka, sebagai korban maupun sebagai
pihak keluarga dari tersangka ataupun korban.
Dalam tugas akhir ini penulis mengangkat tema sistem pakar kitab
undang-undang hukum pidana terhadap kriminalitas. Pengembangan aplikasi
sistem pakar di bidang hukum diharapkan dapat memudahkan bagi
masyarakat terutama masyarakat awam (awam dalam dunia hukum) untuk
mengetahui, mengerti dan memahami tindak pidana dan ancaman
hukumannya seperti yang sudah di atur dalam KUHP. Dari hasil penelitian
yang dihasilkan dari wawancara dengan salah satu petugas polisi di bagian Sat
reskrim Polres Metro Jakarta Selatan menyatakan bahwa masih banyak warga
yang salah melapor jenis tindak kejahatannya. Mereka hanya mengetahui
kejadian tindak kejahatannya tanpa mengetahui dan memahami jenis
kejahatan tersebut, sehingga ketika sat reskrim melakukan penyelidikan dan
penyidikan ternyata laporan yang diberikan dan hasil dari penyelidikan dan
peyidikan tidak sesuai. Terkadang kasus tersebut tidak dapat terselesaikan.
Mayoritas pegawai pada pihak sat reskrim tidak hafal dengan pasal-pasal
dalam KUHP namun mereka faham dan mengerti akan pasal-pasal yang
tercantum dalam KUHP. Pihak kepolisian Metro Jakarta Selatan
3
membutuhkan suatu sistem yang diperlukan untuk mensosialisasikan tentang
KUHP terhadap masyarakat agar diharapkan masyarakat lebih memiliki sikap
tanggung jawab terhadap hukum. Dengan Sistem pakar ini masyarakat dan
pihak sat reskrim akan lebih mudah dalam menggunakan KUHP.
Dengan latar belakang masalah tersebut, maka dengan ini penulis
mengajukan judul skripsi : “Sistem Pakar Kitab Undang-undang Hukum
Pidana Terhadap Kriminalitas (Studi Kasus : Sat Reskrim POLRES
Metro Jakarta Selatan)”.
1.2. Rumusan Masalah
Sesuai dengan permasalahan yang diangkat pada latar belakang penulisan,
maka penulis merumuskan permasalahan yang ada yaitu :
1. Bagaimana cara membuat sistem yang dapat digunakan sebagai
pengganti dalam menggunakan buku KUHP manual.
2. Bagaimana membangun suatu sistem yang interaktif yang bisa
membantu user dalam mengenal lebih jauh jenis-jenis tindak kejahatan
dan ancaman hukuman pidananya sehingga dapat meminimalisir
masyarakat yang buta akan hukum.
3. Bagaimana cara membangun sistem pakar kitab undang-undang hukum
pidana terhadap kriminalitas yang terdiri dari banyak kejahatan yang
kemudian hasil keluarannya akan di klasifikasikan dalam beberapa jenis
kejahatan yaitu kasus pencurian, pemerasan dan pengancaman,
4
penggelapan, penghancuran atau perusakkan barang.
4. Bagaimana cara penyajian sistem pakar permasalahan tindak pidana
terhadap kriminalitas ini agar dapat diakses secara mudah dan
interaktif.
1.3. Batasan Masalah
Batasan masalah dalam penelitian tugas akhir ini adalah :
1. Sistem pakar untuk permasalahan tindak pidana terhadap kriminalitas
ini menggunakan xampp versi 1.7.3, php versi 5.3.1 dan database
menggunakan MySQL versi 5.1.41 .
2. Analisis dan perancangan database yang akan menampung data-data
yang berkaitan dengan sistem pakar untuk sistem pakar kitab undang-
undang hukum pidana terhadap kriminalitas.
3. Dalam melakukan perancangan aplikasi penulis menggunakan flowchart
DFD, serta perancangan databasenya penulis menggunakan entity
relationship diagram serta perancangan state transition diagram (STD).
4. Masyarakat awam disini adalah masyarakat yang awam akan dunia
hukum namun sudah bisa mengoperasikan internet minimal komputer.
5. Dalam sistem ini penulis hanya membahas kejahatan-kejahatan yang
ancaman pidananya berupa pasal-pasal yang berhubungan dengan
kriminalitas yaitu berupa jenis kasus pencurian, pemerasan dan
5
pengancaman, penggelapan, penghancuran atau pengrusakkan barang
yang digunakan sebagai knowledge base.
6. Pembangunan sistem pakar menggunakan mesin inferensi forward
chaining (penalaran maju) dan penelusuran depth first search.
1.4. Tujuan Penelitian
Tujuan dari pembuatan tugas akhir ini adalah sebagai berikut :
1. Mengetahui pemanfaatan sistem pakar kitab undang-undang hukum
pidana terhadap kriminalitas yang digunakan untuk menyeleksi pasal-
pasal KUHP yang terlibat dalam sebuah kasus pidana.
2. Mengetahui sejauh mana sistem pakar dapat membantu dan memberi
kemudahan bagi user dan masyarakat dalam menggunakan sistem
tersebut.
1.5. Manfaat Penelitian
1.5.1. Bagi Penulis
a. Mengetahui lebih mendalam tentang Sistem Pakar atau Expert
System (tentang pembuatan, fungsi dan kegunaannya).
b. Mengetahui dan memahami fungsi, kegunaan, dan penerapan
dari KUHP.
6
c. Untuk memenuhi salah satu syarat kelulusan strata satu (S1),
Teknik Informatika, Fakultasa Sains dan Teknologi UIN Syarif
Hidayatullah Jakarta.
d. Untuk memperkenalkan gambaran umum perusahaan yang
diperlukan mahasiswa yang akan memasuki dunia kerja yang
sesuai dengan bidangnya dan sebagai pengalaman kerja.
1.5.2. Bagi Pihak Kepolisian
a. Turut membantu dalam mensosialisasikan kepada masyarakat
terutama masyarakat yang awam akan hukum dan fungsi dan
kandungan KUHP.
b. Dapat membantu dan mempermudah dalam menggunakan
KUHP .
c. Dapat membantu agar tidak terjadi lagi masyarakat yang salah
melapor jenis kejahatannya sehingga mempermudah pihak
kepolisian dalam proses penyelidikan dan penyidikan.
d. Sistem pakar yang dibangun ini dapat digunakan sebagai media
yang interaktif yang digunakan oleh pihak kepolisian Metro
Jakarta Selatan yang difungsikan untuk digunakan oleh user
(masyarakat yang awam akan hukum) agar lebih mengerti dan
memahami fungsi dari KUHP.
7
1.5.3. Bagi Pengguna
a. Memberikan kemudahan dalam mengakses sistem pakar KUHP
terutama untuk tindak kejahatan kriminalitas yang ada pada
sistem.
b. Memberikan kemudahan dalam melakukan konsultasi tanpa
mengeluarkan biaya yang banyak.
c. Dapat memberi kemudahan dalam memahami isi dan
kandungan tindak kejahatan dan ancaman hukumannya yang
sudah tertera dalam sistem pakar KUHP.
1.5.4. Bagi Universitas
a. Mengetahui kemampuan mahasiswa dalam menguasai materi
pelajaran yang diperoleh dibangku kuliah.
b. Mengetahui kemampuan mahasiswa dalam menerapkan
ilmunya dan sebagai bahan evaluasi.
c. Memberikan gambaran tentang kesiapan mahasiswa dalam
menghadapi dunia kerja yang sebenarnya.
8
1.6. Metodologi Penelitian
1.6.1. Pengumpulan Data
Dalam melakukan pengumpulan data, penulis menggunakan tiga
metode, yaitu :
1. Studi Pustaka
Studi Pustaka, yakni mengumpulkan data dan referensi melalui literatur,
buku, artikel maupun secara online menggunakan media internet untuk
mendapatkan referensi yang berhubungan dengan penulisan skripsi ini.
2. Studi Lapangan
Yaitu dengan mengumpulkan bahan dan data yang berguna dalam
penelitian langsung dari tempat penelitian.
3. Wawancara
Wawancara, yakni mengumpulkan data melalui tanya jawab dengan
pihak yang terkait dengan sistem yang bersangkutan.
1.6.2. Metode Pengembangan Sistem
Dengan mengacu pada latar belakang penelitian, perumusan dan
pembatasan permasalahan, serta tujuan dan manfaat penelitian yang ada,
penulis memutuskan untuk menggunakan model expert system development
life cycle. Pemilihan metode ini dilakukan dengan alasan tahapan yang ada
pada model pengembangan sistem ini dapat merepresentasikan kebutuhan
yang dibutuhkan dalam pengembangan penelitian sistem pakar KUHP
9
terhadap kriminalitas dan sistem yang akan di kembangkan merupakan skala
menengah. Tahapan-tahapan dalam metode pengembangan sistem pada
penelitian tugas akhir ini, yaitu terdiri dari :
1. Identifikasi atau Inisialisasi Kasus
Tahap ini merupakan tahap penentuan hal-hal penting sebagai
dasar dari permasalahan yang akan dianalisis. Tahap ini
merupakan tahap untuk mengkaji dan membatasi masalah yang
akan dimplementasikan dalam sistem. Setiap masalah yang
diidentifikasikan harus dicari solusi, fasilitas yang akan
dikembangkan, penentuan jenis bahasa pemrograman dan
tujuan yang ingin dicapai dari proses pengembangan tersebut.
Apabila proses identifikasi masalah dilakukan dengan benar
maka dicapai hasil yang optimal.
2. Konseptualisasi atau Analisis dan Desain Sistem
Hasil identifikasi dikonseptualisasikan dalam bentuk relasi
antar data, hubungan antar pengetahuan dan konsep-konsep
penting dan ideal yang akan diterapkan dalam sistem.
Konseptualisasi juga menganalisis data-data penting yang
harus didalami bersama dengan pakar dibidang permasalahan
tersebut. Hal ini dilakukan untuk memeperoleh hasil
konfirmasi hasil wawancara dan observasi sehingga hasilnya
dapat memberikan jawaban pasti bahwa sasaran permasalahan,
10
tepat, benar dan sudah sesuai.
3. Formalisasi atau Prototype Dasar Kasus
Apabila tahap konseptualisasi telah selesai dilakukan, maka di
tahap formalisasi konsep-konsep tersebut diimplementasikan
secara formal, misalnya memberikan kategori sistem yang akan
dibangun, mempertimbangkan beberapa factor pengambilan
keputusan seperti keahlian manusia, kesulitan dan tingkat
kesulitan yang mungkin terjadi, dokumentasi kerja dan
sebagainya.
4. Pengembangan sistem
Pengembangan sistem diperlukan agar sistem yang di bangun
tidak menjadi usang dan investasi sistem tidak sia-sia. Hal
pengembangn sistem yang paling berguna adalah proses
dokumentasi sistem dimana dapat menjadi tolak ukur
pengembangan sistem dimasa mendatang termasuk didalamnya
adalah kamus masalah yang diselesaikan
5. Implementasi
Apabila pengetahuan sudah diformalisasikan secara lengkap,
maka tahap implementasi dapat dimulai dengan membuat garis
masalah kemudian memecahkan masalah ke dalam modul-
modul.
11
6. Implementasi Tahap Lanjut
Sistem pakar yang selesai dibangun, perlu untuk dievaluasi
untuk menguji dan menemukan kesalahannya. Hal ini
merupakan hal yang umum dilakukan karena suatu sistem
belum tentu sempurna setelah selesai pembuatannya sehingga
proses evaluasi diperlukan untuk penyempurnaannya. Dalam
evaluasi akan ditemukan bagian-bagian yang harus dikoreksi
untuk menyamakan permasalahan dan tujuan akhir pembuatan
sistem. Serta dokumentasi agar dapat menjadi tolok ukur
pengembangan sistem di masa mendatang.
1.7. Sistematika Penulisan
Sistematika dari penulisan Skripsi ini adalah sebagai berikut :
BAB I PENDAHULUAN
Pada bab ini, Penulis menerangkan latar belakang
pemilihan judul skripsi, maksud dan tujuan penelitian,
pembatasan masalah, metodologi penelitian dan
sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini, Penulis menerangkan dan menjelaskan
landasan-landasan teori yang digunakan dan berhubungan
12
dengan sistem yang dibangun.
BAB III METODOLOGI PENELITIAN
Pada bab ini, penulis menerangkan tentang metodologi
penelitian yang digunakan serta langkah-langkah yang
digunakan terkait dengan penelitian yang dilakukan.
BAB IV PEMBAHASAN
Pada bab ini, penulis menerangkan dan membahas
tentang analisis terhadap kebutuhan sistem tersebut.
Perancangan sistem serta implementasi pengembangan
secara konkrit.
BAB V KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang berisi kesimpulan serta
saran yang dapat membantu pengembangan sistem ini di
masa yang akan datang.
13
BAB II
LANDASAN TEORI
2.1. Kecerdasan Buatan (Artificial Intelligence)
Artificial Intelligence merupakan subbidang pengetahuan computer
yang khusus ditunjukan untuk membuat software dan hardware yang
sepenuhnya bisa menirukan beberapa fungsi otak manusia. Dengan
demikian, computer bisa membantu manusia memecahkan berbagai
masalah yang lebih rumit (Suparman,2005:1).
Aplikasi AI tidak didasarkan pada algoritma, tetapi pada
representasi dan manipulasi simbol. Aplikasi AI dapat menarik
kesimpulan dari pengalamannya melalui basis pengetahuan. Teknik dasar
untuk melakukan hala tersebut adalah pelacakan (search) dan pencocokan
pola (pattern matching). Walaupun secara langsung pemecahan masalah
AI tidak didasarkan pada algoritma, sebenarnya dalam implementasi
proses pelacakan, algoritma tetap digunakan. Program yang didasarkan
pada algoritma melaksanakan manipulasi simbolis yang menyebabkan
suatu masalah bisa terpecahkan dengan cara yang mendekati cara kerja
berfikir manusia.
Kecerdasan tiruan dapat meliputi aplikasi–aplikasi sebagai berikut :
a. Sistem Pakar (Expert Sistem).
b. Pengolahan bahasa alami (Natural Language Processing)
c. Robotika dan Sistem Sensor (Robotics & Sensory Systems)
14
d. Pengenalan Ucapan (Speech Recognition)
e. Permainan ( Game )
f. Intelligent Computer-aided Instruction
g. Computer Vision
2.2. Sistem Pakar
Intelligence (kecerdasan) mencakup berbagai keahlian kognitif
yang didalamnya termasuk kemampuan untuk memecahkan permasalahan,
belajar dan memahami bahasa. Salah satu dari aplikasi AI (Artificial
Intelligence) yaitu sistem Pakar (Expert System) yaitu Program-program
AI yang mencapai kemampuan tingkat pakar dalam menyelesaikan suatu
permasalahan dalam suatu lingkup tertentu dan menghasilkan suatu
pengetahuan tentang masalah yang spesifik atau disebut dengan basis
pengetahuan (Knowledge Based).
Sistem pakar adalah suatu sistem komputer yang berbasis pada
pengetahuan yang terpadu di dalam suatu sistem informasi dasar yang ada,
sehingga memiliki kemampuan untuk memecahkan berbagai masalah
dalam bidang tertentu secara cerdas dan efektif, sebagaimana layaknya
seorang pakar (Marimin, 2005:14).
Sistem pakar atau expert system adalah paket perangkat lunak
pengambilan keputusan atau pemecahan masalah yang dapat mencapai
tingkat performa yang setara atau bahkan lebih dengan pakar manusia di
15
beberapa bidang khusus dan biasanya memepersempit area masalah
(Turban, 2005:31).
Menurut Oxman sistem pakar adalah perangkat lunak komputer
yang menggunakan pengetahuan (aturan-aturan tentang sifat dari unsur
suatu masalah), fakta dan teknik inferensi untuk masalah yang biasanya
membutuhkan kemampuan seorang ahli (Marimin, 2005:20).
Dengan sistem pakar ini, orang awam pun dapat
menyelesaikan masalahnya atau hanya sekedar mencari suatu
informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan
bantuan para ahli di bidangnya.
Sistem pakar dapat membantu aktivitas para pakar sebagai
asisten yang berpengalaman dan mempunyai pengetahuan yang
dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan
kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis
pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam
bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam
basis pengetahuan, yang selanjutnya digunakan dalam proses
pengambilan keputusan untuk penyelesaian masalah tertentu.
Tabel 2.1 Perbandingan Sistem Konvensional dan Sistem Pakar
Sistem Konvensional Sistem Pakar
1. Informasi dan pemrosesannya
biasanya jadi satu dengan
program
1. Basis pengetahuan merupakan bagian
terpisah dari mekanisme inferensi
16
2. Biasanya tidak bisa menjelaskan
mengapa suatu input data itu
dibutuhkan atau bagaimana
output itu diperoleh
2. Penjelasan adalah bagian terpenting
dari sistem pakar
3. Pengubahan program cukup sulit
dan membosankan
3. Pengubahan aturan dapat dilakukan
dengan mudah
4. Sistem hanya akan beroperasi
jika sistem tersebut sudah
lengkap
4. Sistem dapat beroperasi hanya dengan
beberapa aturan
5. Eksekusi dilakukan langkah
demi langkah
5. Eksekusi dilakukan pada keseluruhan
basis pengetahuan
6. Menggunakan data 6. Menggunakan Pengetahuan
7. Tujuan utamanya adalah
efisiensi
7. Tujuan utamanya adalah efektifitas
(Sumber : Kusumadewi, 2003:112)
2.2.1. Ciri – ciri Sistem Pakar
Menurut Desiani dan Arhami (2006:231), dalam pembuatan sistem
pakar harus diketahui ciri-ciri dan kategori masalah sistem pakar.
Pada umumnya sistem pakar bersifat:
1. Memiliki informasi yang handal, baik dalam menampilkan
langkah-langkah antara maupun dalam menjawab
pertanyaan-pertanyaan tentang proses penyelesaian.
2. Mudah dimodifikasi, yaitu dengan menambah atau
menghapus suatu kemampuan dari basis pengetahuannya.
17
3. Dapat digunakan dalam berbagai jenis komputer.
4. Memiliki kemampuan untuk beradaptasi.
2.2.2. Keuntungan Sistem Pakar
Beberapa kelebihan dari sistem pakar adalah ;
1. Memungkinkan seorang awam bisa melakukan pekerjaan
pakar.
2. Meningkatkan produktifitas kerja dengan cara meningkatkan
efisiensi. Karena sistem pakar dapat digunakan setiap hari dan
dapat di akses dimanapun.
3. Menghemat waktu dalam menyelesaikan pekerjaan.
4. Dapat diberi pengamanan seperti autentifikasi dan otorisasi
pengguna .
5. Dapat memperoleh dan menyimpan pengetahuan pakar yang
bernilai.
6. Lebih cepat dalam memecahkan masalah.
7. Biaya yang digunakan lebih murah (dengan catatan sistem
pakar sudah ada).
2.2.3. Kelemahan Sistem Pakar
Selain mempunyai kelebihan sistem pakar juga mempunyai
kelemahan, yaitu : Pengembangan sistem pakar sangat sulit, lebih sulit
daripada membuat software konvesional
18
1. Untuk membuat suatu sistem pakar yang benar-benar
berkualitas tinggi sangatlah sulit dan memerlukan biaya
yang sangat besar
untuk pengembangan dan pemeliharaanya.
2. Sistem pakar tidak 100% menguntungkan, karena seseorang
yang telibat dalam sistem pakar tidak selalu benar. Oleh
karena itu perlu diuji ulang secara teliti sebelum digunakan.
2.2.4. Kategori Sistem Pakar
Desiani dan Arhami (2006:232-233), Secara umum ada beberapa
kategori dan area permasalahan sistem pakar, yaitu :
1. Interpretasi, yaitu pengambilan keputusan atau deskripsi
tingkat tinggi dari sekumpulan data mentah. Termasuk
diantaranya pengawasan, analisis citra dan beberapa analisis
kecerdasan.
2. Proyeksi, yaitu memprediksi akibat- akibat yang dimungkinkan
dari situasi-situasi tertentu. Seperti peramalan, prediksi
demografis dan peramalan ekonomi.
3. Diagnosis, yaitu menentukan sebab malfungsi dalam situasi
kompleks berdasakan pada gejala-gejala yang diamati. Seperti
diagnodis perangkat lunak, diagnosis pada dunia medis.
4. Desain, yaitu menentukan konfigurasi komponen-komponen
sistem yang cocok dengan tujuan-tujuan kinerja tertentu yang
19
memenuhi permasalahan-permasalahan tertentu. Seperti layout
sirkuit dan perancangan bangunan.
5. Perencanaan, yaitu kemampuan untuk merencanakan sistem
yang akan dipakai atau membangun rencana untuk mencapai
sasaran. Seperti perencanaan keuangan, komunikasi, militer,
pengembangan produk dan manajemen proyek.
6. Monitoring, yaitu membandingkan antara tingkah laku suatu
sistem yang diamati dengan tingkah laku yang diharapkan.
Seperti Computer Aided Monitoring System.
7. Debugging dan repair, yaitu menentukan dan
menginplementasikan cara-cara untuk mengatasi malfungsi.
Seperti memberikan resep obat terhadap suatu kegagalan dan
memberikan solusi terhadap kerusakan-kerusakan pada salah
satu perangakat komputer.
8. Instruksi, yaitu mendeteksi dan mengoreksi defisiensi dalam
pemahaman domain subjek. Seperti melekukan instruksi untuk
diagnosis, debugging dan perbaikan kinerja.
9. Pengendalian, yaitu mengatur tingkah laku suatu environment
yang kompleks seperti control terhadap interpretasi, prediksi,
perbaikan dan monitoring sistem.
10. Seleksi, yaitu mengidentifikasikan pilihan terbaik dari
sekumpulan (list) kemugkinan.
20
11. Simulasi, yaitu pemodelan interaksi antara komponen-
komponen sistem .
2.2.5. Struktur Sistem Pakar
Komponen utama pada sistem pakar meliputi:
User
Gambar 2.1. diagram blok umum struktur sistem pakar
(Sumber: Suparman, 2007:102)
1. Basis Pengetahuan (Knowledge Base)
Basis pengetahuan merupakan inti dari suatu sistem pakar,
yaitu berupa representasi pengetahuan dari pakar. Basis
pengetahuan tersusun atas fakta dan kaidah. Fakta adalah
informasi tentang objek, peristiwa, atau situasi. Kaidah
adalah cara untuk membangkitkan suatu fakta baru dari
User Interface
Inference Engine
• Rule Interpreter
• Control Strategi
Knowledge Base
• Rules
• Frames
• Semantic nets
• etc
Data base (working
memory)
• System status
• Initial states
• Present state
21
fakta yang sudah diketahui. Perencana dapat memilih
predikat kalkulus, list, frame, semantic work, script dan kaidah
produksi atau lainnya. Di lain pihak, melalui pengalaman yang
panjang diperoleh bahwa salah satu metode terbaik
representasi pengetahuan untuk sistem pakar adalah kaidah
produksi.
2. Basis Data (Data Base)
Basis data terdiri atas semua fakta yang diperlukan, di
mana fakta-fakta tersebut digunakan untuk memenuhi
kondisi dari kaidah-kaidah dalam sistem. Basis data
menyimpan semua fakta, baik fakta awal pada saat sistem
mulai beroperasi, maupun fakta-fakta yang diperoleh pada
saat proses penarikan kesimpulan sedang dilaksanakan.
Basis data digunakan untuk menyimpan data hasil observasi
dan data lain yang dibutuhkan selama pemrosesan.
Basis data menyimpan daftar kaidah yang sudah diakui,
sehingga membantu proses tracking. Urutan kaidah bisa
diberikan kemudian jika user memerlukan penjelasan tentang
proses penalaran.
3. Mesin Inferensi (Inference Engine)
Mesin inferensi berperan sebagai otak dari sistem pakar.
Mesin inferensi berfungsi untuk memandu proses penalaran
terhadap suatu kondisi, berdasarkan pada basis
22
pengetahuan yang tersedia. Di dalam mesin inferensi
terjadi proses untuk memanipulasi dan mengarahkan kaidah,
model, dan fakta yang disimpan dalam basis pengetahuan
dalam rangka mencapai solusi atau kesimpulan. Dalam
prosesnya, mesin inferensi menggunakan strategi penalaran
dan strategi pengendalian. Strategi penalaran terdiri dari
strategi penalaran pasti (Exact Reasoning) dan strategi
penalaran tak pasti (Inexact Reasoning). Exact reasoning
akan dilakukan jika semua data yang dibutuhkan untuk
menarik suatu kesimpulan tersedia, sedangkan inexact
reasoning dilakukan pada keadaan sebaliknya. Strategi
pengendalian berfungsi sebagai panduan arah dalam
melakukan proses penalaran. Terdapat tiga teknik
pengendalian yang sering digunakan, yaitu forward
chaining, backward chaining, dan gabungan dari kedua
tehnik pengendalian tersebut.
4. Antarmuka Pemakai (User Interface)
Fasilitas ini digunakan sebagai perantara komunikasi
antara pemakai dengan komputer.
2.2.5.1. Mekanisme Inferensi
Mekanisme inferensi adalah bagian dari sistem pakar yang
melakukan penalaran dengan menggunakan isi daftar aturan
23
berdasarkan urutan dan pola tertentu. Selama konsultasi antar
sistem dan pemakai, mekanisme inferensi menguji aturan satu
demi satu sampai kondisi aturan itu benar. Secara umum ada dua
teknik utama yang digunakan dalam mekanisme inferensi untuk
pengujian aturan, yaitu penalaran maju (forward chaining) dan
penalaran mundur (backward chaining) (Andi, 2009:15).
Selain teknik penalaran, diperlukan juga teknik penelusuran
data dalam bentuk network atau jaringan yang terdiri dari node –
node berbentuk tree atau pohon. Ada tiga teknik yang digunakan
dalam proses penelusuran data, yaitu Depth First Search, Breadh
First Search, dan Best First Search (Andi, 2009:16).
Di dalam proses mekanisme inferensi ini dilakukan dua
tahapan yaitu :
a. Forward Chaining
Forward cahining adalah suatu rantai yang dicari atau dilewati
/ dilintasi dari suatu permasalahan untuk memperoleh solusinya
(Arhami, 2005:11).
Pada tahapan forward chaining dilakukan dengan membuat
pohon inferensi untuk memudahkan mencari bagian JIKA terlebih
dahulu dari pasal-pasal yang berhubungan dengan tindak pidana
terhadap kriminalitas, Setelah semua kondisi JIKA dipenuhi, aturan
atau rule dipilih untuk mendapatkan kesimpulan. Proses ini akan
berlanjut hingga dicapai kesimpulan akhir.
24
b. Depth First Search
Depth First Search adalah teknik penelusuran data pada node
– node secara vertikal dan sudah terdefinisikan, misalnya dari kiri
ke kanan. Keuntungan pencarian data dengan teknik ini adalah
bahwa penelusuran masalah dapat digali secara mendalam sampai
ditemukannya kepastian suatu solusi yang optimal (Andi, 2009:13).
Pada tahapan depth first search ini dilakukan penelusuran
data dari parameter atau kejahatan-kejahatan dan ancaman tindak
pidana berupa pasal-pasal pada node – node yang sudah
terdefinisikan (pertanyaan), dari semua rangkaian node secara
mendalam sampai ditemukannya kesimpulan.
(Sumber: Andi, 2009:17)
Gambar 2.2. Depth First Search
25
2.2.5.2. Representasi Pengetahuan
Representasi Pengatahuan merupakan kombinasi sistem
berdasarkan dua elemen, yaitu struktur data dan penafisiran
prosedur, yang akan digunakan pengatahuan dalam menyimpanan
struktur data (Arhami, 2006:63).
Teknik representasi pengetahuan yang dilakukan pada tahap
ini adalah dengan menggunakan kaidah produksi, yaitu membuat
kaidah produksi berupa aturan (rule) yang berupa IF (kondisi)
THEN (aksi) dimana kondisi merupakan bagian dari awal yang
mengekspresikan situasi (pernyataan berawal IF) dan aksi
merupakan bagian yang menyatakan suatu tindakan tertentu yang
diharapkan jika suatu situasi bernilai benar (pernyataan berawalan
THEN).
2.2.6. Lingkungan Sistem Pakar
Menurut Turban (dalam arhami dan desiani, 2006:240-241), ada 4
unsur manusia dalam sistem pakar, yaitu :
1. Pakar (The Expert)
Pakar merupakan orang yang menguasai bidang ilmu
pengetahuan tertentu, berpengelaman, pengambil keputusan,
dan menguasia metode-metode tertentu, serta mamapu
memanfaatkan telentanya dalam memeberikan nasehat atau
saran terhadap penyelesaian terhadap suatu permasalahan
26
2. Perekeyasa Pengetahuan (Knowledge Engineer)
Knowledge Engineer adalah orang yang membantu pakar
dalam menyusun area permasalahan dengan
menginterpretasikan dan mengintegrasikan jawaban-jawaban
pakar atas pertanyaan yang diajukan, menggambarkan analogi,
mengajukan counter example, dan menerangkan kesulitan-
kesulitan konseptual.
3. Pemakai (User)
Sistem pakar memiliki beberapa kelas pemakai, yaitu:
a. Pemakai bukan pakar, sistem pakar berperan sebagai
seorang konsultan atau pemberi nasihat.
b. Siswa yang ingin belajar, sistem pakar berperan sebagai
instruktur.
c. Pembangun sistem pakar yang ingin meningkatkan dan
menambah basis pengetahuan, sistem pakar berperan
sebagai rekan kerja atau partner.
d. Pakar, sistem pakar berperan sebagai kolega aau asisten.
4. Unsur lainnya
Unsur lainnya yang termasuk unsure manusia dalam sistem
pakar adalah system builder (pembangun sistem) atau system
analyst yang membantu mengintegrasikan sebuah sistem
pakar dengan sistem terkomputerisasi lainnya. Suatu tool
27
builder dapat menyediakan atau membangun tool-tool yang
khusus.
2.3. Domain Permasalahan
2.3.1. Kitab Undang-undang Hukum Pidana (KUHP)
Hukum adalah rangkaian kaidah atau norma yang mengatur
tingkah laku dan perbuatan manusia dalam hidup bermasyarakat.
Menurut W.P.J. Pompe (dalam Hamzah, 2008:78) hukum pidana
adalah himpunan peraturan yang menentukan perbuatan apa yang di
ancam dengan pidana dan di mana pidana itu menjelma. Hukum
pidana adalah peraturan hukum mengenai pidana. Kata pidana berarti
hal yang dipidanakan, yaitu oleh instansi yang berkuasa dilimpahkan
kepada seorang oknum sebagai hal yang tidak enak dirasakannya dan
juga hal yang tidak sehari-hari dilimpahkan (Prodjodikoro, 2003:1).
Pada saat kemerdekaan Republik Indonesia masih tetap berlaku di
Indonesia berdasarkan ketentuan pasal II aturan peralihan UUD 1945.
Tetapi karena dalam KUHP itu ada yang tidak sesuai lagi dengan jiwa
UUD 1945, maka pada tanggal 24 Februari 1945 diadakan penyesuain,
perubahan serta penambahan ketentuan-ketentuan dalam KUHP
tersebut agar sejiwa dan searah dengan UUD 1945 (Hawari, 2008:8).
KUHP terdiri dari tiga buku, sebagai berikut :
Buku I, yang memuat tentang Ketentuan-ketentuan umum (pasal 1
sampai dengan pasal 103), yakni yang mengatur perihal lingkungan
28
kekuasaan berlakunya ketentuan-ketentuan hukum pidana,
pengecualian dan pengurangan serta penambahan pidana, percobaan,
penyertaan, gabungan, atau pembarengan perbuatan dan lain
sebagainya (Hawari, 2008:8).
Buku II, memuat perihal kejahatan (pasal 104 sampai dengan 488)
didalamnya antara lain tentang pencurian beserta pidananya,
penggelapan beserta ancaman pidananya, pembunuhan dan lain
sebagainya.
Buku III, memuat perihal pelanggaran(pasal 489 sampai dengan
570). Bentuknya KUHP merupakan hukum tertulis yang berarti belum
atau tidak dikondifikasikan, isi dari hukum tersebut adalah: hukum
perintah, hukum larangan, dan sanksi akibat hukum yang diderita oleh
seseorang karena orang tersebut melanggar peraturan. Sifatnya adalah
mempunyai sifat yang harus ditaati, jika tidak maka diancam sanksi
(Hawari, 2008:9).
Tujuan yang hendak dicapai oleh hukum, untuk masyarakat adalah
aman dari ancaman, gangguan, hambatan dan tekanan. Tertib bebas
dari pelanggaran kejahatan.
2.3.2. Tujuan Hukum Pidana
Menurut Prodjodikoro (2003:20).Tujuan hukum pidana adalah :
1. Untuk menakut-nakuti orang jangan sampai melakukan
kejahatan, baik secara menakut-nakuti orang banyak (general
29
preventie) maupun secara menakut-nakuti orang tertentu yang
sudah menjalankan kejahatan agar dikemudian hari tidak
melakukan kejahatan lagi (speciale preventive).
2. Untuk mendidik dan memperbaiki orang-orang yang sudah
menandakan suka melakukan kejahatan agar menjadi orang
yang baik tabiatnya sehingga bermanfaat bagi masyarakat.
2.4. Konsep Database
2.4.1. Konsep Basis Data (Data Base)
James F. Courtney Jr. dan David B. Paradice dalam buku
“Database System for Management” menjelaskan sistem database
adalah sekumpulan database yang dapat dipakai secara bersama-
sama, personal-personal yang merancang dan mengelola database,
teknik-teknik untuk merancang dan mengelola database, serta
komputer untuk mendukungnya (Sutabri, 2005 : 161).
Dari definisi diatas, penulis menyimpulkan bahwa sistem
database mempunyai beberapa elemen penting, yaitu database
sebagai inti sistem database, perangkat lunak untuk mengelola
database, perangkat keras sebagai pendukung operasi pengolahan
data, serta manusia mempunyai peran penting dalam sistem
tersebut.
Sampai dengan membentuk database, data mempunyai
jenjang yang dapat dilihat dalam gambar 2.3.
30
Gambar 2.3. Jenjang dari data
(Sumber: Jogianto, 2005)
a. Characters
Characters adalah bagian data yang terkecil, dapat berupa karakter
numeric, huruf ataupun karakter-karakter khusus yang membentuk
suatu item data atau field.
b. Field
Field menggambarkan suatu atribut dari record yang menunjukkan
suatu item dari data, seperti nama, jenis kelamin, dan lain-lain.
Kumpulan dari field membentuk suatu record.
1) Nama field (field name)
Field harus diberi nama untuk membedakan field yang satu
dengan field yang lain.
Database
File
Record
Data Item
atau Field
Characters
31
2) Representasi dari field (field representation)
Representasi dari field menunjukkan tipe dari field (field type)
dapat berupa tipe numeric, karakter, tanggal, dan lain-lain. Serta
lebar dari field menunjukkan ruang maksimum dari field yang
dapat diisi dengan karakter-karakter data.
3) Nilai dari field (field value)
Nilai dari field menunjukkan isi dari field untuk masing-masing
record.
c. Record
Record adalah kumpulan dari field yang membentuk suatu record.
Kumpulan dari record membentuk file. Misalnya file pegawai,
tiap-tiap record dapat mewakili data tiap-tiap pegawai.
d. File
File terdiri dari record-record yang menggambarkan satu kesatuan
data yang sejenis. Misalnya file pangkat berisi tentang semua
pangkat yang ada.
2.4.2. DBMS (Database Management System)
Inti dari suatu basis data adalah database management
system (DBMS), yang membolehkan pembuatan, modifikasi, dan
pembaharuan basis data. Database Management System (DBMS)
adalah paket perangkat lunak yang komplek digunakan untuk
memanipulasi database.
32
Lebih lanjut lagi, DBMS merupakan koleksi terpadu dari
database dan program-program komputer (utilitas) yang digunakan
untuk mengakses dan memelihara database. Program-program
tersebut menyediakan berbagai fasilitas operasi untuk
memasukkan, melacak, dan memodifikasi data kedalam database,
mendefinisikan data baru, serta mengolah data menjadi informasi
yang dibutuhkan (Ladjamudin, 2005 : 130).
Beberapa keunggulan DBMS untuk mengelola data
(Ramakrishnan & Gehrke, 6: 2004) :
1. Kemandirian data
Program aplikasi idealnya tidak diekspos pada detail
representasi dan penyimpanan data. DBMS menyediakan satu
pandangan abstrak tentang data yang menyembunyikan detail
tersebut.
2. Akses Data Efisien
DBMS memanfaatkan berbagai teknik yang canggih untuk
menyimpan dan mengambil data secara efisien.
3. Integritas dan Keamanan Data
Jika data selalu diakses melalui DBMS, maka DBMS dapat
memanfaatkan batasan integritas. DBMS dapat memanfaatkan
control akses yang menentukan data apa yang boleh dilihat oleh
kelas pengguna yang berbeda.
33
4. Administrasi Data
Ketika beberapa pengguna berbagi data, pemusatan administrasi
data dapat memberikan perbaikan yang signifikan. Para
profesional yang berpengalaman yang memahami sifat data
yang akan dikelola, dan memahami bagaimana kelompok
pengguna yang berbeda menggunakan data tersebut, dapat
memegang tanggung jawab untuk mengatur representasi data
untuk meminimalkan redudansi dan untuk mengatur
penyimpanan data guna melakukan pengambilan data yang
efisien.
5. Akses Konkuren dan Crash recovery
DBMS menjadwalkan akses konkuren pada data dalam cara
tertentu sehingga pengguna dapat memandang data sebagai data
yang diakses oleh hanya satu pengguna pada satu waktu. Lebih
lanjut, DBMS memproteksi pengguna dari efek kegagalan
sistem (konkurensi).
6. Waktu Pengembangan Aplikasi Terkurangi
DBMS mendukung fungsi penting bagi banyak aplikasi untuk
mengakses data dalam DBMS dan memfasilitasi pengembangan
aplikasi yang cepat dalam hal ini berkaitan dengan bantuan
interface untuk mengatur data.
34
2.4.3. SQL (structured Query Labguage)
SQL adalah sebuah konsep pengoperasian database,
terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoperasian data dikerjakan dengan mudah
secara otomatis. Umumnya, setiap software-software RDBMS
menyediakan 4 perintah DML dari SQL. DML (Data Manipulation
Language) adalah perintah yang digunakan untuk mengoperasikan
atau memanipulasi isi database. Empat perintah DMLtersebut
diantaranya:
· select : digunakan untuk mengambil data dari database.
· delete: digunakan untuk menghapus data pada database.
· insert : menampbahkan data ke database.
· update: memodifikasi data pada database.
2.4.4. Elemen-elemen Database
Elemen – elemen database adalah sebagai berikut :
1. ERD (Entity Relationship Diagram)
ERD adalah model jaringan data yang menekankan pada
struktur-struktur dan relationship data (Ladjamudin, 2005: 142).
Elemen- elemen dalam ERD adalah:
35
Tabel 2.2. Elemen-elemen ERD
Simbol Nama Keterangan
Entitas
Entity adalah sesuatu apa saja yang
ada dalam sistem, nyata maupun
abstrak dimana data tersimpan atau
dimana terdapat data.
Atribut
Atribut adalah sifat, karakteristik, atau
elemen dari tiap entitas maupun
Relationship.
Relationship
Relationship adalah hubungan alamiah
yang terjadi antara entitas.
Link
Menghubungkan antara entitas satu
dengan entitas lainnya.
(Sumber: Sutabri, 2005: 164)
a. Kardinalitas (Cardinality)
Kardinalitas relasi adalah tingkat hubungan yang terjadi antara
entity, di dalam sistem. Tiga macam kardinalitas relasi yaitu:
1. One to one
Tingkat hubungan satu ke satu, dinyatakan dengan satu kejadian
pada entitas pertama hanya mempunyai satu hubungan
dengansatu kejadian pada entitas kedua, atau sebaliknya.
36
1 1
Gambar 2.4. Cardinality One to One
2. One to Many atau Many to One
Tingkat hubungan satu ke banyak adalah sama dengan banyak
ke satu. Tergantung pada arah mana hubungan itu dilihat.
1 M
Gambar 2.5. Cardinality One to Many
3. Many to Many
Tingkat hubungan banyak ke banyak terjadi jika tiap kejadian
pada sebuah entitas akan mempunyai banyak hubungan dengan
kejadian pada entitas lainnya.
Gambar 2.6. Cardinality Many to Many
M M
37
2. Kunci (Key)
Kunci atau key adalah atribut unik yang dapat digunakan
untuk membedakan suatu entitas dengan entitas lainnya dalam
suatu himpunan entitas. Tidak ada lebih dari satu entitas memiliki
nilai-nilai yang sama untuk semua atributnya. Macam-macam jenis
kunci (key) diantaranya :
a. Primary key
Primary key adalah satu set minimal atribut yang tidak hanya
mengidentifikasi secara unik satu kejadian spesifik, tapi juga
dapat mewakili setiap kejadian dari entity. Primary key
memiliki tiga (3) criteria:
1) Key tersebut lebih natural digunakan sebagai acuan.
2) Key terebut lebih sederhana.
3) Key tersebut terjamin keunikannya.
b. Foreign key (Kunci Tamu)
Foreign key merupakan sembarang atribut yang menunjuk
kepada Primary Key pada table lain. Foreign Key terjadi pada
suatu relasi yang memiliki Cardinality one to many atau many
to many.
3. LRS (Logical Record Structure)
LRS dibentuk dengan nomor dari tipe record. Beberapa tipe
record digambarkan dengan kotak empat persegi panjang dengan
38
nama yang unik. LRS juga terdiri dari hubungan diantara tipe
record. Salah satu metode pembuatan LRS yaitu dimulai dengan
membuat ER kemudian dikonversi ke dalam LRS.
2.5. PHP
PHP singkatan dari Hypertext Preprocessor yang digunakan
sebagai bahasa scriprt sever side dalam pengembangan web yang
disisipkan pada dokumen HTML. Penggunaan php memungkinkan web
dapat dibuat dinamis sehingga maintenance situs web tersebut menjadi
lebih mudah dahn efisien. PHP merupakan software open source yang
disebarkan dan dilisensikan secara gratis serta dapat di download secara
bebas dari situs resminya.
Menurut pembuatnya dapat dilihat di home page PHP
(http://www.php.net), “And PHP is HTML embedded scripting language.
Much of syntax is borrowed from C, Java and PERL with a couple of
unique PHP-specific feature thrown in. The goal of language is to allow
web developers to write dynamically generated pags quickly.” (Husni,
2007:109).
PHP ( PHP : Hypertext Preprocessor) adalah bahasa pemrograman
scripting sisi server (server side), bahasa pemrograman yang digunakan
oleh server web untuk menghasilkan dokumen HTML secara on-the-fly.
PHP merupakan interpreter yang dapat dieksekusi sebagai program CGI
untuk server web atau dijadikan modul dari server web. PHP merupakan
39
bahasa script selain paling popular di lingkungan pemrogram,
pengembang web, di lingkungan server web Apache, kini juga telah
menjadi salah satu alternative bahasa script di lingkungan server web
windows (Sidik, 2005:323-324).
2.5.1. Kelebihan PHP
PHP memiliki bayak kelebihan yang tidak dimiliki oleh bahasa script
sejenis. Berikut ini adalah beberapa kelebihan php :
1. Mengurangi waktu untuk mebuat situsweb besar.
2. Dapat membuat halaman web tergantung pengguna berdasarkan
pada informasi yang diperoleh dari mereka.
3. Terdapat ratusan tool dan contoh online yang dapat digunakan
langsung kedalam aplikasi yang dibuat.
4. Memungkinkan pembuatan shopping cart untuk web site e-
commerce.
5. Dapat melakukan apa saja yang dapat dilakukan CGI, seperti
mengunpulkan data dari form, menghasilkan isi halaman web
dinamis, dan kemampuan mengirim serta menerima cookies.
6. PHP dapat bekerja pada banyak platform termasuk linux dan varian
Unix lain, Windows dan Mac. Dan juga mendukung banyak web
server dan bahkan php dapat bekerja sebagai CGI processor.
40
2.6. MySQL
Menurut Sidk (2005:1), MySQL merupakan software sistem manajemen
database (database Management System – DBMS) yang sangat popular
dikalangan pemrograman web, terutama di lingkungan linux dengan
menggunkan script PHP dan Perl.
MySQL merupakan database yang paling popular digunakan untuk
membangun aplikasi web yang menggunakan database sebagai sumber dan
pengelola datanya. Hal itu dimungkinkan karena MySQL mudah untuk
digunakan, cepat secara kinerja query, dan mencukupi untuk kebutuhan
database perusahaan-perusahaan skala menengah kecil.
Database MySQl tersedia secara cuma-cuma dan boleh digunakan oleh
setiap orang, dengan lisensi open source GNU General Public License (GPL)
atau pun lisensi komersial non GPL. Database MySQL merupakan database
yang menjanjikan sebagai alternatif pilihan database yang dapat digunakan
untuk sistem database personal atau organisasi (Sidik, 2005:2).
2.7. Flowchart
Flowchart adalah bagan-bagan yang mempunyai arus yang
menggambarkan langkah-langkah penyelesaian suatu masalah.
Flowchart merupakan cara penyajian dari suatu algoritma (Ladjamudin,
2005 : 263).
Ada dua macam flowchart yang menggambarkan proses dengan komputer,
yaitu :
41
1. System Flowchart
Bagan yang memperlihatkan urutan proses dalam system dengan
menunjukkan alat media input, output serta jenis media penyimpanan
dalam proses pengolahan data.
2. Program Flowchart
Bagan yang memperlihatkan urutan instruksi yang digambarkan
dengan symbol tertentu untuk memecahkan masalah dalam suatu
program (Ladjamudin, 2005 : 263).
2.7.1. Simbol-Simbol Flowchart
Flowchart disusun dengan symbol. Simbol ini dipakai sebagai alat
bantu menggambarkan proses di dalam program. Simbol-simbol yang
digunakan dapat dibagi menjadi 3 (tiga) kelompok, yaitu :
1. Flow Direction Symbols (Simbol Penghubung atau Alur)
Simbol yang digunakan untuk menghubungkan antara simbol
yang satu dengan simbol yang lain. Simbol ini disebut juga
connecting line, simbol-simbol tersebut adalah :
Tabel 2.3. Simbol Penghubung (Ladjamudin, 2005 : 266)
No Symbol Nama dan Keterangan
1.
Symbol arus /flow
Untuk menyatakan jalannya arus suatu
proses
42
2. Simbol communication link
Untuk menyatakan bahwa ada suatutransisi
suatu data / informasi dari satulokasi
kelokasi lainnya
3.
Simbol connector
Untuk menyatakan sambungan dari satu
proses ke proses lainnya dalam halaman /
lembar yang sama
4. Simbol offline connector
Untuk menyatakan sambungan dari satu
proses ke proses lainnya dalam halaman /
lembar yang berbeda
2. Processing Symbols (Simbol Proses)
Simbol yang menunjukkan jenis operasi pengolahan dalam suatu
proses / prosedur, simbol-simbol tersebut adalah :
Tabel 2.4. Simbol Proses Flowchart (Ladjamudin, 2005 : 267).
No Symbol Nama dan Keterangan
1.
Simbol Offline Connector
Untuk menyatakan sambungan dari satu
proses ke proses lainnya kedalam
halaman/lembar yang berbeda
2. Simbol Manual
Untuk menyatakan suatu tindakan (proses)
yang tidak dilakukan oleh
computer(manual)
43
3. Simbol Decision/logika
Untuk menunjukan suatu kondisi tertentu
yang akan menghasilkan dua kemungkinan
jawaban, ya/tidak
4.
Simbol Predefined Proses
Untuk menyatakan penyediaan tempat
penyimpanan suatu pengolahan untuk
member harga awal
5.
Simbol Terminal
Untuk menyatakan permulaan atau akhir
suatu program
6.
Simbol Keying Operation
Untuk menyatakan segala jenis operasi
yang diproses dengan menggunakan suatu
mesin yang mempunyai keyboard
7. Simbol off-line storage
Untuk menunjukkan bahwa data dalam
symbol ini akan disimpan ke suatu media
tertentu
8.
Simbol Manual Input
Untuk memasukkan data secara manual
dengan menggunakan online keyboard
3. Input-output Symbols
Simbol yang menunjukkan jenis peralatan yang digunakan sebagai
media input atau output, simbol-simbol tersebut adalah :
44
Tabel 2.5. Simbol input output flowchart (Ladjamudin, 2005 : 268).
No Symbol Nama dan Keterangan
1. Simbol Input-output
Untuk menyatakan proses input dan output
tanpa tergantung dengan jenis peralatannya
2.
Simbol Punched Card
Untuk menyatakan input berasal dari kartu
atau output ditulis ke kartu
3.
Simbol Magnetic-tape unit
Untuk menyatakan input berasal dari pita
magnetic atau output disimpan ke pita
4.
Simbol Disk Storage
Untuk menyatakan input berasal dari disk
atau output disimpan ke disk
5.
Simbol document
Untuk mencetak laporan ke printer
6.
Simbol display Untuk menyatakan
peralatan output yang digunakan berupa
layar (video, komputer)
45
2.8. DFD (Data Flow Diagram)
DFD (Data Flow Diagram) adalah model dari sistem untuk
menggambarkan pembagian sistem ke modul yang lebih kecil. DFD dapat
memudahkan pemakai (user) yang kurang menguasai bidang komputer
untuk mengerti sistem yang akan dikerjakan, urutannya sebagai berikut:
a. Diagram Konteks (Context Diagram)
Diagram konteks adalah diagram yang terdiri dari suatu proses
dan menggambarkan ruang lingkup suatu sistem (Ladjamudin,
2005 : 64).
b. Diagram Zero (Overview Diagram)
Diagram zero adalah diagram yang menggambarkan proses dari
data flow diagram.
c. Diagram Rinci (Level Diagram)
Diagram rinci adalah diagram yang menguraikan proses yang ada
dalam diagram zero.
Elemen-elemen data yang digunakan dalam proses DFD
adalah sebagai berikut:
Tabel 2.6. Simbol Data Flow Diagram
Simbol Nama Keterangan
Kesatuan Luar
(External Entity)
Sesuatu yang berada di luar sistem,
tetapi ia memberikan masukan ke
dalam sistem atau menerima data
dari sistem. External entity tidak
46
termasuk bagian dari sistem.
Arus Data
(Data Flow)
Tempat mengalir informasi dan
digambarkan dengan garis yang
menghubungkan komponen dari
sistem. Arus data ini mengalir
diantara proses, data store, dan
menunjukkan arus data dari data
berupa masukan untuk sistem atau
hasil proses sistem.
Proses
(Proccess)
Apa yang dikerjakan oleh sistem.
Proses dapat mengolah data atau
aliran data masuk menjadi aliran
data keluar. Proses berfungsi
mentranformasikan satu atau
beberapa data masukan menjadi satu
atau beberapa data keluaran sesuai
dengan spesifikasi yang dihasilkan.
Simpanan Data
(Data Store)
Tempat penyimpanan data yang ada
dalam sistem, yang disimbolkan
dengan sepasang garis sejajar
dengan sisi samping terbuka.
(Sumber: Ladjamudin, 2005: 72)
47
2.9. Metode Penelitian
Metode adalah kerangka kerja untuk melakukan suatu tindakan,
atau suatu kerangka berpikir untuk menyusun suatu gagasan yang terarah
dan terkait dengan maksud dan tujuan (Hasibuan, 2007:13).
Penelitian merupakan suatu proses mencari sesuatu secara
sistimatis dalam waktu yang relatif lama dengan menggunakan metode
ilmiah dengan prosedur maupun aturan yang berlaku (Hasibuan,
2007:6).
Metode merupakan bagian dari metodologi. Metodologi itu sendiri
berasal dari kata metodos dan logos yang berarti ilmu dari metode. Bila
kita melakukan penelitian berarti kita menguraikan cara-cara meneliti
disebut juga metodologi. Dalam tahapan-tahapan tersebut ada metode,
teknik, dan alat (tools) yang bisa kita gunakan.
“…Metodologi penelitian itu dapat diartikan sebagai pengkajian
atau pemahaman tentang cara berpikir dan cara melaksanakan hasil
berpikir menurut langkah-langkah ilmiah” (Hasibuan, 2007:83).
2.9.1. Metode Pengumpulan Data
Data merupakan kumpulan dari nilai-nilai yang mencerminkan
karakteristik dari individu-individu dari suatu populasi. Data bisa
berupa angka, huruf, suara maupun gambar. Metode observasi
merupakan salah satu cara yang bisa digunakan untuk mengumpulkan
48
data. Metode observasi ini biasanya digunakan untuk mengetahui
perilaku masyarakat secara detail. (Hasibuan,2007)
Jenis – jenis metode pengumpulan data :
1. Observasi
Metode observasi merupakan salah satu cara yang bisa
digunakan untuk mengumpulkan data. Metode observasi ini
biasanya digunakan untuk mengetahui perilaku masyarakat
secara detail.
2. Wawancara
Wawancara, yaitu tanya jawab peneliti dengan narasumber,
baik status narasumber sebagai informan maupun responden.
Wawancara adalah percakapan dengan maksud tertentu.
Percakapan itu dilakukan oleh dua pihak, yaitu pewawancara
(interviewer) yang mengajukan pertanyaan dan wawancara
yang memberikan jawaban atas pertanyaan itu.
3. Studi Literatur
Studi Literatur berisi uraian tentang teori, temuan dan bahan
penelitian lain yang diperoleh dari bahan acuan untuk dijadikan
landasan kegiatan penelitian. Uraian dalam studi literatur ini
diarahkan untuk menyusun kerangka pemikiran yang jelas
tentang pemecahan masalah yang sudah diuraikan dalam
sebelumnya pada perumusan masalah.
49
2.10. Penelitian Sebelumnya
Berdasarkan pengamatan penulis, pada penelitian sebelumnya
sistem pakar yang diimplementasikan sebagian besar mengankat kasus
pada ketegori diagnosis dan instruksi. Untuk dapat dijadikan literature
sejenis, dapat di telusuri lebih jauh lagi hasil dari penelitian yang telah
dilakukan, diantaranya adalah:
1. Perancangan dan pembuatan aplikasi KUHP digital untuk ponsel
(Hawari, 2008)
Dari hasil penelitian yang dilakukan oleh hawari dapat di
ambil beberapa kelebihan dan kekurangan dari sistem tersebut.
Kelebihanya adalah sistem dapat di akses melalui handphone,
terdapat form searching sehingga memudahkan user dalam proses
pencarian.
Kelemahannya aplikasi hanya dapat di akses melalui
handphone tertentu, tampilan antara satu handphone dengan
handphone lainnya berbeda, masalah yang di angkat hanya
beberapa pasal saja sehingga pembahasan kurang meluas.
2. Perancangan dan pembuatan aplikasi sistem pakar untuk
permasalahan tindak pidana terhadap harta kekayaan (Handojo,
dkk : 2006).
Kelemahannya database menggunakan MS. Access 2000,
sistem masih berbasis desktop sehingga tidak terlalu tersosialisasi,
sistem tersebut di bangun dengan menggunakan Borland Delphi
50
6.0, basis pengetahuan hanya di adopsi dari Kitab Undang-undang
Hukum Pidana (KUHP) dan tidak di adopsi dari pakar sehingga
masih membutuhkan pengembangan pada sisi materi hukumnya.
Berdasarkan pada beberapa penelitian sebelumnya, ada beberapa
kelebihan dari sistem yang sekarang ini diantaranya adalah:
1. Sistem berbasi web based sehingga dapat di akses secara online
sehingga memberi kemudahan bagi user.
2. Basis pengetahuan diadopsi dari KUHP.
3. Konsultasi dilakukan dengan multiple choice dengan menggunakan
radio button.
4. Memberikan fasilitas manajemen user sehingga akan memberikan
kemudahan dalam memanage user dan penambahan admin.
5. Sistem di bangun dengan menggunakan PHP dan MySQL untuk
membangun databasenya.
6. Terdapat menu khusus untuk admin sehingga bagian-bagian dalam
sistem dapat di perbaharui, di perbaiki dan di hapus sehingga basis
pengetahuan akan selalu up todate tanpa membongkar sistem.
51
BAB III
METODOLOGI PENELITIAN
3.1. Metode Pengumpulan Data
Dalam melakukan pengumpulan data, penulis menggunakan tiga
metode, yaitu :
3.1.1. Studi Lapangan atau Observasi
Observasi merupakan teknik pengumpulan data yang efektif untuk
mempelajari sebuah sistem. Dalam observasi, dilakukan teknik
penemuan fakta dimana analisis sistem turut berpartisipasi atau
menyaksikan seseorang yang sedang melakukan aktivitas untuk
mempelajari sistem (Whitten, 2004:234).
Observasi yang dilakukan, adalah melakukan tinjauan langsung
kelapangan guna mendapatkan informasi dan fakta pendukung dalam
penelitian. Penelitian dilakukan di Sat Reskrim Polres Metro Jakarta
Selatan dari tanggal 9 Juli 2010 sampai dengan 11 Agustus 2010.
3.1.2. Studi Pustaka
Studi Pustaka, yakni mengumpulkan data primer dan referensi
melalui literatur, buku, artikel maupun secara online menggunakan
media internet untuk mendapatkan referensi yang berhubungan dengan
penulisan skripsi ini.
52
3.1.3. Wawancara
Wawancara atau interveiw merupakan teknik penelusuran fakta
dimana analis sistem mengumpulkan informasi dari individu - individu
melalui interaksi face to face (Whitten, 2004:239).
Pada tahap ini dilakukan wawancara dengan tujuan untuk
mengumpulkan data, dan data yang di peroleh adalah melalui tanya
jawab dengan Bapak Ibda. Hari Subeno, SH. Selaku Inspektur Polisi
tingkat II di Kabid II Sat Reskrim Polres Metro Jakarta Selatan. Hasil
wawancara dapat di lihat di lampiran.
3.2. Metode Pengembangan Sistem
Pengembangan sistem dapat diartikan sebagai sebuah proses
pengembangan terstandarisasi yang mendefinisikan satu set aktivitas,
metode, praktik terbaik, dan perangkat terotomatisasi yang akan digunakan
oleh para pengembang sistem dan manajer proyek untuk mengembangkan
dan berkesinambungan memperbaiki sistem informasi dan perangkat lunak
(Whitten, 2004:81).
Dalam pengembangan sistem pakar ini, metodologi yang
digunakan adalah Expert System Development Life Cycle. Pemilihan metode
ini dilakukan dengan alasan tahapan yang ada pada model pengembangan
sistem ini dapat merepresentasikan kebutuhan yang dibutuhkan dalam
pengembangan penelitian sistem pakar KUHP terhadap kriminalitas dan
sistem yang akan di kembangkan merupakan skala menengah, terdapat enam
53
tahap pokok seperti yang dapat terdapat pada gambar 3.1 :
(Sumber: Andi, 2009:21)
Gambar 3.1 Fase Pengembangan Sistem Pakar
3.2.1. Inisialisasi Kasus
Tahapan ini merupakan tahapan penentuan hal - hal penting
sebagai dasar permasalahan yang akan dianalisis. Tahapan ini merupakan
tahap untuk mengkaji dan membatasi masalah yang akan diimplementasikan
dalam sistem (Andi, 2009:19).
Dalam tahapan ini ditentukan permasalahan yaitu kitab undang-
undang hukum pidana jilid ke dua yaitu perihal kejahatan namun fokus pada
kriminalitas yaitu kasus pencurian, pemerasan dan pengancaman,
penggelapan, penghancuran atau perusakkan barang. Berangkat dari data
Fase I
Inisialisasi Kasus
Fase II
Analisis dan Desain Sistem
Fase III
Prototipe Dasar Kasus
Fase V
Implementasi Sistem
Fase IV
Pengembangan Sistem
Fase VI
Implementasi Tahap Lanjut
54
hasil observasi kemudian dilakukan pengkajian dan pembatasan masalah
yang akan diimplementasikan ke dalam sebuah sistem pakar. Masalah yang
diidentifikasikan dicari solusi serta fasilitas yang akan dikembangkan.
3.2.2. Analisis dan Desain Sistem / Konseptualisasi
Hasil identifikasi dikonseptualisasikan dalam bentuk relasi antar
data, hubungan antar pengetahuan dan konsep-konsep penting dan ideal
yang akan diterapkan dalam sistem. Konseptualisasi juga menganalisis data-
data penting yang harus didalami bersama dengan pakar dibidang
permasalahan tersebut. Hal ini dilakukan untuk memeperoleh hasil
konfirmasi hasil wawancara dan observasi sehingga hasilnya dapat
memberikan jawaban pasti bahwa sasaran permasalahan, tepat, benar dan
sudah sesuai (Andi, 2009:20).
Tahapan ini merupakan tahapan dimana Knowledge Engginer dan
pakar menentukan konsep tindak pidana terhadap kriminalitas yang akan
dikembangkan menjadi sistem pakar. Tahapan konseptualisasi yang
dilakukan dalam penelitian ini adalah menguraikan jenis-jenis kejahatan
yang akan di bahas, kemudian menguraikan kejahatan-kejahatan
berdasarkan jenisnya, menguraikan pasal-pasal apa saja yang berkaitan
dengan kasus yang akan di bahas dan hukuman-hukuman yang disesuaikan
dengan tindakan kriminal tersebut.
55
3.2.3. Prototipe Dasar Kasus / Formalisasi
Apabila tahap konseptualisasi telah selesai dilakukan, maka di
tahap formalisasi konsep-konsep tersebut diimplementasikan secara formal,
misalnya memberikan kategori sistem yang akan dibangun,
mempertimbangkan beberapa faktor pengambilan keputusan seperti keahlian
manusia, kesulitan dan tingkat kesulitan yang mungkin terjadi, dokumentasi
kerja dan sebagainya (Andi, 2009:20).
3.2.4. Pengembangan Sistem
Pengembangan sistem di sini lebih kepada system design atau
perancangan perangkat lunak sistem pakar itu sendiri. Desain sistem adalah
spesifikasi atau konstruksi solusi yang teknis dan berbasis komputer untuk
persyaratan bisnis yang diidenifikasikan dalam analisis sistem (Whitten,
2004:34).
Setelah informasi tindak pidana kejahatan dan ancaman hukumannya
diformulasikan secara lengkap, kemudian diimplementasikan dengan
membuat perancangan sistem yang akan dibangun. Perancangan sistem ini
terdiri atas perancangan sistem, perancangan database, dan perancangan
antarmuka pemakai (user interface).
Dalam pengembangan sistem ini dilakukan beberapa tahapan, yakni:
1. Pada perancangan basis data dan sistem pakar ini menggunakan tools
Micrsoft office visio 2003 untuk merancang dan membuat flowchart,
56
entity relationship diagram, logical record structure, data flow diagram
dan state diagram.
2. Merancang database sistem pakar KUHP
3. Merancang User Interface
4. Pembuatan sistem pakar kitab undang-undang hukum pidana terhadap
kriminalitas
3.2.5. Implementasi Sistem
System implentation atau implementasi sistem merupakan
konstruksi, instalasi dan pengujian.
Terdapat dua fase dalam implementasi sebuah sistem, yakni fase
konstruksi dan implementasi. Fase konstruksi merupakan kegiatan
pengembangan, instalasi, dan pengujian terhadap komponen sistem,
sedangkan fase implemenatasi merupakan kegiatan instalasi (Whitten,
2004:34).
Dalam fase konstruksi atau pembangunan, pemograman yang
digunakan adalah php dengan menggunakan database MySQL serta
mekanisme inferensi yang digunakan yaitu dengan pendekatan forward
chaining.
Dalam fase implementasi, dilakukan pengujian sistem dengan
menggunakan kotak hitam (black box testing) atau pengujian fungsional
dimana pengujian prilakunya dengan mempelajari input dan output yang
berkaitan. Pengujian sistem ini dilakukan dua pengujian yaitu pengujian
57
mandiri yang dilakukan oleh penulis dan black box testing yang dilakukan
oleh Bapak Ibda. Hari Subeno, SH. Selaku Inspektur Polisi tingkat II di
Kabid II Sat Reskrim Polres Metro Jakarta Selatan. Hasil pengujian dapat di
lihat pada bab IV subbab 4.5.2.
3.2.6. Implementasi Tahap Lanjut
Pengembangan sistem diperlukan sehingga sistem yang dibangun
tidak menjadi usang dan investasi sitem tidak sia-sia. Hal
pengembangansistem yang paling berguna adalah proses dokumentasi
sistem dimana didalamnya tersimpan tolok ukur pengembangan sistem di
masa mendatang termasuk di dalamnya adalah kamus pengetahuan masalah
yang diselesaikan ( Andi, 2009 :21)
3.3. Kerangka Berpikir
Dalam melakukan penelitian ini, penulis melakukan tahapan-
tahapan kegiatan dengan mengikuti rencana kegiatan yang tertuang dalam
kerangka berpikir meliputi metode pengumpulan data dan metode
pengembangan sistem. Gambar 3.2 dan gambar 3.3 merupakan kerangka
berpikir penelitian ini.
58
Gambar 3.2. Kerangka Berfikir (Bagian 1)
59
Gambar 3.3. Kerangaka berfikir (bagian 2)
60
BAB IV
PEMBAHASAN
4.1. Inisialisasi Kasus
Dalam tahapan ini ditentukan permasalahan yaitu kitab undang-undang
hukum pidana terhadap kriminalitas. Berangkat dari hasil observasi yang
dilakukan kemudian dilakukan pengkajian dan pembatasan masalah yang
akan diimplementasikan ke dalam sebuah sistem pakar. Masalah yang
diidentifikasikan dicari solusi serta fasilitas yang akan dikembangkan untuk
proses pengembangan sistem pakar.
4.1.1. Analisis Masalah
1. Aquisi Pengetahuan Analisis KUHP terhadap kriminalitas
Hukum Pidana adalah peraturan-peraturan hukum yang berisi
tentang kejahatan dan pelanggaran yang digantungkan pada
kepentingan umum. Hukum pidana merupakan salah satu obyek ilmu
hukum positif, artinya ilmu yang mempelajari hukum pidana dibatasi
oleh tempat tertentu dan w aktu tertentu.
Analisis kasus berdasar kepada pemaparan pakar, dalam hal ini
merujuk kepada KUHP yang menjadi acuaan untuk menetukan pola
berfikir sistem yang akan dibuat. Hasil uraian pakar yaitu :
1. Jika masyarakat terlibat dalam suatu tindak kejahatan maka akan
ditindak oleh pihak kepolisian, dengan dilakukan proses penyidikan
61
dan penyelidikan hingga sampai ke persidangan umum. Tentunya
waktu dan proses yang ditempuh cukuplah panjang.
2. Masih banyak masyarakat yang tidak sadar hukum baik dari pihak
yang non pendidikan hingga yang berpendidikan, karena hal tesebut
tergantung dari individualnya. Karena masing-masing individu
mempunyai tingkat responsibility yang berbeda-beda.
3. Jika masyarakat melakukan suatu tindak kejahatan yang termasuk
dalam jenis kejahatan pencurian maka akan masuk dalam jenis
kejahatan pencurian yang kemungkinan akan dikenai mulai dari
pasal 362 sampai dengan pasal 367 (ayat 3), pasal yang akan
dikenakan tergantung tindak kejahatan yang di lakukan.
4. Jika masyarakat melakukan suatu tindak kejahatan yang termasuk
dalam jenis kejahatan penggelapan maka akan masuk dalam jenis
kejahatan penggelapan yang kemungkinan akan dikenai mulai dari
pasal 372 sampai dengan pasal 376, pasal yang akan dikenakan
tergantung tindak kejahatan yang di lakukan.
5. Jika masyarakat melakukan suatu tindak kejahatan yang termasuk
dalam jenis pemerasan dan pengancaman maka akan masuk dalam
jenis kejahatan pemerasan dan pengancaman yang kemungkinan
akan dikenai mulai dari pasal 368 (ayat 1) sampai dengan pasal 370,
pasal yang akan dikenakan tergantung tindak kejahatan yang di
lakukan.
62
6. Jika masyarakat melakukan suatu tindak kejahatan yang termasuk
dalam jenis kejahatan menghancurkan atau merusakkan barang
maka akan masuk dalam jenis kejahatan menghancurkan atau
merusakkan barang yang kemungkinan akan dikenai mulai dari
pasal 406 (ayat 1) sampai dengan pasal 412, pasal yang akan
dikenakan tergantung tindak kejahatan yang di lakukan.
2. Objek Observasi
Dari beberapa hasil observasi pada pembahasan pada bab
sebelumnya, dapat didapatkan beberapa informasi berdasarkan
hasil analisis objek / kasus dilapangan.
Hal yang dilakukan oleh pihak sat reskrim :
1. Reserse melakukan penyelidikan dan penyidikan, dimana
penyelidikan dilakukan sebelum penyidikan, penyelidikan
berfungsi untuk mengetahui dan menentukan peristiwa apa
yang sesungguhnya telah terjadi dan bertugas membuat berita
acara serta laporannya yang nantinya merupakan dasar
permulaan penyidikan, setelah penyelidikan selesai reserse
melakukan penyidikan untuk mengumpulkan bukti-bukti dan
menemukan tersangka, jika tersangka telah ditemukan maka
akan dikurung sementara dan belum dikenai hukuman pidana
secara syahnya. Jika bukti-bukti dan berkas-berkas sudah
63
terkumpul dan selesai maka berkas-berkas tersebut di
serahkan ke pengadilan.
2. Terkadang pegawai pada pihak sat reskrim mencari terlebih
dulu pasal dan ancaman pidana yang akan dikenakan dalam
KUHP, sehingga memakan waktu yang cukup lama.
3. Jika menurut pihak pengadilan berkas-berkas tersebut sudah
lengkap maka akan di P21 kan dan akan di lanjutkan ke
persidangan dan pihak reserse akan menyerahkan bukti-bukti
dan tersangka ke pengadilan, namun jika menurut pihak
pengadilan berkas-berkas tersebut belum lengkap maka akan
di kembalikan untuk di lengkapi.
4. Jika persidangan dilakukan dan telah selesai persidangannya
barulah hakim menjatuhkan hukuman kepada tersangka.
5. Barulah diketahui hukuman yang syah yang akan dijatuhkan
pada tersangka
Hal-hal yang dilakukan masyarakat :
1. Pihak keluarga tersangka ataupun korban, belum mengetahui
pasal dan hukuman yang akan dikenakan secara pastinya
selama persidangan belum dilakukan.
2. Masyarakat umum terutama yang awam dalam dunia hukum,
tidak mengetahui jenis kejahatan, pasal dan hukuman yang
akan dikenakan untuk suatu tindak kejahatan secara pasti jika
mereka tidak mencari dan membaca buku KUHP.
64
Dapat diambil beberapa paramater tetap dari hal di atas
sebagai indikator analisis KUHP terhadap kriminalitas, yaitu
diantaranya:
1. Siapa yang akan menggunakan sistem pakar.
2. Jenis kejahatan
3. Pasal yang akan dikenakan
4. Keterangan hukuman pidana yang akan ditetapkan
Dengan menggunakan proses mekanisme inferensi pada rancangan
sistem pakar, perumusan kesimpulan akan diketahui berdasarkan
parameter/indikator di atas serta akan menghasilkan sebuah kesimpulan
berupa jenis kejahatan, pasal dan hukumannya.
4.2. Analisis dan Desain Sistem
Berdasarkan hasil analisis masalah dapat dirancang kerangka sistem
yang menggambarkan kebutuhan sistem pakar. Karena tidak mungkin jika
kita ingin mengatahui suatu ancaman hukuman kita harus melakukan suatu
kejahatan terlebih dahulu, oleh karena itu dengan adanya sistem ini kita dapat
mengetahui lebih lanjut tentang ancaman suatu pidana tanpa melakukan
suatu tindak kejahatan. Gambaran untuk sistem pakar ini dapat dilihat pada
gambar 4.1 :
65
(Sumber: Andi, 2009:15)
Gambar 4.1 Kerangka Sistem Pakar
Dalam penalaran maju, aturan - aturan diuji satu demi satu dalam
urutan tertentu, dalam hal ini penelusuran depth first search ke dalam
basis aturan oleh user. Saat aturan diuji, sistem pakar akan mengevaluasi
apakah kondisinya benar atau salah. Jika kondisinya benar, maka aturan
itu akan dilaporkan dan disimpan kemudian aturan selanjutnya diuji.
Proses ini akan berulang (iterative) sampai seluruh basis aturan teruji
dengan berbagai kondisi (Andi, 2009).
4.3. Prototipe Dasar Kasus
Prototyping ES meliputi representasi pengetahuan yang ditangkap dengan
sebuah cara yang memungkinkan inferensi dan kreasi cepat dari komponen utama
Benar
Salah Benar
Salah
Pengetahuan
Cek Aturan
Berikutnya
Selesai
Cek Apakah
Ada Aturan
Cek Dalam Basis
Aturan
Cari Aturan
Berikutnya
Simpan Aturan
Laporkan Aturan
66
pada ES. Berikut adalah gambar pohon inferensi dari kasus tindak pidana terhadap
kriminalitas.
67
4.3.1. Mekanisme Inferensi
Gambar 4.2 Pohon Inferensi Sistem Pakar KUHP Terhadap Kriminalitas
41
44
33
42
Sispak KUHP
Terhadap Kriminalitas
34
u
37
q
34
35 35
34
32
s
31
38
39
t
35
32
35
40
33
34
36
35
r
11
47
49
48
a1 47
48
z
48
53
42
44
47
43
50
45
a4
43
44
w
45
y
45
46
a2
50
51
43
52
a3
11
43
x
43
v
22
l
m
27
p
30
20
21
23
22
24
25
26
19
29
22
21
28
n
22
22
o
13
7
h
4
4
a
2
14
7
g
7
c 13
7
9
f
9
12 8
4
e
9
4
10
11
d
3
i
4
15
1
4
3
5
6
7
8
9
b
15
16
17
J
16 17
18
k
68
Keterangan:
1. Mengambil
2. Mengambil Barang
3. Seluruhnya / sebagian termasuk kepunyaan orang lain
4. Dengan maksud dimiliki secara melawan hukum
5. Mengambil hewan
6. dilakukan pada waktu kebakaran, letusan, banjir, gempa bumi, atau
gempa laut, letusan gunung api, kapal selam, kapal terdampar,
kecelakaan kereta api, huru-hara, pemberontakan atau kesengsaraan
dimasa perang.
7. Dilakukan pada waktu malam dalam sebuah rumah atau pekarangan
yang tertutup yang ada rumahnya, dilakukan oleh orang yang ada disitu
tiada dengan setahunya atau bertentangan dengan kemauannya orang
yang berhak (yang punya).
8. Dilakukan oleh dua orang bersama-sama atau lebih
9. Dilakukan masuk ketempat kejahatan dengan jalan membongkar,
memecah atau memanjat atau dengan jalan memakai kunci palsu,
perintah palsu atau pakaian jabatan palsu
10. Tidak dilakukan dalam sebuah rumah atau dalam pekarangan yang
tertutup yang ada rumahnya
11. Harga Barang tidak lebih dari Rp.25-,
12. Dilakukan yang didahului, disertai atau diikuti dengan kekerasan atau
ancaman kekerasan terhadap orang
69
13. Menjadikan ada orang yang mendapat luka berat
14. Menjadikan ada orang mati
15. Dilakukan suami istri
16. Suami istri tidak bercerai meja makan dan tempat tidur atau bercerai
harta benda
17. Dilakukan sanak atau keluarga orang itu karena kawin
18. Atas kekuasaan bapak dilakukan oleh orang lain dari bapak kandung
19. Memaksa
20. Memaksa dengan kekerasaan
21. Memaksa untuk memberikan suatu barang atau memberikan suatu
barang atau memberi hutang atau menghapus piutang
22. Menguntungkan diri sendiri atau orang lain secara melawan hukum
23. Perbuatan memaksa dilakukan pada waktu malam dalam sebuah rumah
atau pekarangan yang tertutup yang ada rumahnya, dilakukan oleh
orang yang ada disitu tiada dengan setahunya atau bertentangan dengan
kemauannya orang yang berhak (yang punya).
24. Perbuatan memaksa dilakukan oleh 2 orang bersama-sama atau lebih
25. Perbuatan memaksa dilakukan masuk ketempat kejahatan dengan jalan
membongkar, memecah atau memanjat atau dengan jalan memakai
kunci palsu, perintah palsu atau pakaian jabatan palsu
26. Perbuatan memaksa menjadikan ada orang mendapat luka berat.
27. Perbuatan memaksa menjadikan ada orang mati
28. Memaksa dengan ancaman menista dengan lisan atau tulisan atau
70
pencemaran nama baik
29. Dilakukan suami (istri) yang tidak atau suah diceraikan atau sanak atau
keluarga orang itu karena kawin
30. Ada penuntutan dari orang yang dikenakan kejahatan
31. Dengan sengaja memiliki
32. Memiliki suatu barang
33. Barang yang dimiliki seluruhnya atau sebagian termasuk kepunyaan
orang lain
34. Mengakui memiliki secara melawan hukum
35. Barang yang ada dalam kekuasaan bukan karena kejahatan
36. Memliki suatu bukan ternak
37. Berhubungan dengan pekerjaan atau jabatan
38. Terpaksa disuruh menyimpan barang
39. Dilakukan oleh wali, atau pengurus atau pelaksana surat wasiat, atau
pengurus lembaga social atau yayasan
40. Penggelapan dilakukan suami (isteri) yang tidak atau sudah diceraikan
atau sanak atau keluarga orang itu karena kawin.
41. Dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan
42. Merusakkan barang
43. Barang yang dihancurkan, dirusak, dibunuh, atau dibikin tidak dapat
dipakai lagi atau dihilangkan seluruhnya atau sebagian termasuk
kepunyaan orang lain
71
44. Menghancurkan, merusakkan, membunuh, atau membikin tidak dapat
dipakai lagi atau menghilangkan secara melawan hukum
45. Membunuh hewan
46. Dilakukan dengan memasukkan bahan-bahan yang merusakkan nyawa
atau kesehatan, atau jika hewan itu berkuku satu, memamah biak dan
babi
47. Menghancurkan bangunan-bangunan, kereta api, trem, telegraf, telepon,
atau listrik, atau bangunan-bangunan untuk membendung, membagi atau
menyalurkan air, saluran gas, air atau saluran
48. Dipergunakan untuk keperluan umum
49. Tidak dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan
50. Menghancurkan suatu gedung atau kapal
51. Membunuh hewan
52. Menghancurkan, merusakkan, membunuh, atau membikin tidak dapat
dipakai lagi atau menghilangkan dilakukan suami (isteri) yang tidak atau
sudah diceraikan atau sanak atau keluarga orang itu karena kawin
53. Menghancurkan atau merusakkan dilakukan oleh dua orang bersama-
sama atau lebih.
a. Pasal 362
b. Pasal 363 (ayat 1)
c. Pasal 363 (ayat 2)
d. Pasal 364
72
e. Pasal 365 (ayat 1)
f. Pasal 365 (ayat 2)
g. Pasal 365 (ayat 3)
h. Pasal 365 (ayat 4)
i. Pasal 367 (ayat 1)
j. Pasal 367 (ayat 2)
k. Pasal 367 (ayat 3)
l. Pasal 368 (ayat 1)
m. Pasal 368 (ayat 2)
n. Pasal 369 (ayat 1)
o. Pasal 369 (ayat 2)
p. Pasal 370
q. Pasal 372
r. Pasal 373
s. Pasal 374
t. Pasal 375
u. Pasal 376
v. Pasal 406 (ayat 1)
w. Pasal 406 (ayat 2)
x. Pasal 407 (ayat 1)
y. Pasal 407 (ayat 2)
z. Pasal 408
a1. Pasal 409
73
a2. Pasal 410
a3. Pasal 411
a4. Pasal 412
1. Teknik Penelusuran (Depth First Search)
a. Penelusuran Data Berdasarkan Pasal-pasal Pada Kasus Pencurian
Gambar 4.3 Penelusuran Data Berdasarkan Pasal-pasal Pada kasus pencurian
i
15 4
4
a
4
2
1
4
3
5
6
7
8
9
b
14
7
g
7
c 13
7
13
9
f
9
15
17
J
16
12 8
4
e
9
4
10
11
d
3
16 17
18
k 7
h
74
Rule Kejahatan Kd_pasal Pasal Keterangan Pasal
1,2,3,4 1).Mengambil, 2).Mengambil barang,
3).Seluruhnya atau sebagian termasuk
kepunyaan orang lain, 4).Dengan maksud
dimiliki secara melawan hukum
a Pasal 362 Hukuman penjara selama-
lamanya 5 tahun
1,4,3,5,6,7,8,9 1).Mengambil, 4).Dengan maksud dimiliki
secara melawan hukum, 3).Seluruhnya
atau sebagian termasuk kepunyaan orang
lain, 5).Mengambil hewan, 6).dilakukan
pada waktu kebakaran, letusan, banjir,
gempa bumi, atau gempa laut, letusan
gunung api, kapal selam, kapal terdampar,
kecelakaan kereta api, huru-hara,
pemberontakan atau kesengsaraan dimasa
perang, 7).Dilakukan pada waktu malam
dalam sebuah rumah atau pekarangan
yang tertutup yang ada rumahnya,
dilakukan oleh orang yang ada disitu tiada
b Pasal 363 (ayat 1) Hukuman penjara selama-
lamanya 7 tahun
Tabel 4.1. Knowledge base mesin inferensi pada kasus pencurian
75
dengan setahunya atau bertentangan
dengan kemauannya orang yang berhak
(yang punya), 8).Dilakukan oleh 2 orang
bersama-sama atau lebih, 9).Dilakukan
masuk ketempat kejahatan dengan jalan
membongkar, memecah atau memanjat
atau dengan jalan memakai kunci palsu,
perintah palsu atau pakaian jabatan palsu
1,2,3,8,4,9,7
1).Mengambil, 2).Mengambil barang,
3).Seluruhnya atau sebagian termasuk
kepunyaan orang lain, 8).Dilakukan oleh 2
orang bersama-sama atau lebih, 9).Dengan
maksud dimiliki secara melawan hukum,
4).Dilakukan masuk ketempat kejahatan
dengan jalan membongkar, memecah atau
memanjat atau dengan jalan memakai
kunci palsu, perintah palsu atau pakaian
jabatan palsu, 9).Dilakukan pada waktu
malam dalam sebuah rumah atau
c Pasal 363 (ayat 2) Hukuman penjara selama-
lamanya 9 tahun
76
pekarangan yang tertutup yang ada
rumahnya, 7).dilakukan oleh orang yang
ada disitu tiada dengan setahunya atau
bertentangan dengan kemauannya orang
yang berhak (yang punya)
1,2,3,8,4,9,10,11 1).Mengambil, 2).Mengambil barang,
3).Seluruhnya atau sebagian termasuk
kepunyaan orang lain, 8).Dilakukan oleh 2
orang bersama-sama atau lebih, 4).Dengan
maksud dimiliki secara melawan hukum,
9).Dilakukan masuk ketempat kejahatan
dengan jalan membongkar, memecah atau
memanjat atau dengan jalan memakai
kunci palsu, perintah palsu atau pakaian
jabatan palsu, 10).Tidak dilakukan dalam
sebuah rumah atau dalam pekarangan
yang tertutup yang ada rumahnya,
11).Harga barang tidak lebih dari Rp. 25,-
d Pasal 364 Hukuman penjara selama-
lamanya 3 bulan
1,2,3,12,4 1).Mengambil, 2).Mengambil barang e Pasal 365 (ayat 1) Hukuman penjara selama-
77
3).Seluruhnya atau sebagian termasuk
kepunyaan orang lain, 12).Dilakukan yang
didahului, disertai atau diikuti dengan
kekerasan atau ancaman kekerasan
terhadap orang 4). Dengan maksud
dimiliki secara melawan hukum
lamanya 9 tahun
1,2,3,8,4,7,9,13 1).Mengambil, 2).Mengambil barang,
3).Seluruhnya atau sebagian termasuk
kepunyaan orang lain, 8).Dilakukan oleh
2 orang bersama-sama atau lebih,
4).Dengan maksud dimiliki secara
melawan hukum, 7).Dilakukan pada
waktu malam dalam sebuah rumah atau
pekarangan yang tertutup yang ada
rumahnya, dilakukan oleh orang yang
ada disitu tiada dengan setahunya atau
bertentangan dengan kemauannya orang
yang berhak (yang punya), 9).Menjadikan
ada orang mendapat luka berat,
f Pasal 365 (ayat 2) Hukuman penjara selama-
lamanya 12 tahun
78
13).Dilakukan masuk ketempat kejahatan
dengan jalan membongkar, memecah atau
memanjat atau dengan jalan memakai
kunci palsu, perintah palsu atau pakaian
jabatan palsu
1,2,3,8,4,9,14,7 1).Mengambil, 2).Mengambil barang,
3).Seluruhnya atau sebagian termasuk
kepunyaan orang lain, 8).Dilakukan oleh
2 orang bersama-sama atau lebih,
4).Dengan maksud dimiliki secara
melawan hukum, 9).Dilakukan masuk
ketempat kejahatan dengan jalan
membongkar, memecah atau memanjat
atau dengan jalan memakai kunci palsu,
perintah palsu atau pakaian jabatan palsu,
14).Menjadikan ada orang mati,
7).Dilakukan pada waktu malam dalam
sebuah rumah atau pekarangan yang
tertutup yang ada rumahnya, dilakukan
g Pasal 365 (ayat 3) Hukuman penjara selama-
lamanya 15 tahun
79
oleh orang yang ada disitu tiada dengan
setahunya atau bertentangan dengan
kemauannya orang yang berhak (yang
punya)
1,2,3,8,4,9,14,13,7 1).Mengambil, 2).Mengambil barang,
3).Seluruhnya atau sebagian termasuk
kepunyaan orang lain, 8).Dilakukan oleh
2 orang bersama-sama atau lebih,
4).Dengan maksud dimiliki secara
melawan hukum, 9).Dilakukan masuk
ketempat kejahatan dengan jalan
membongkar, memecah atau memanjat
atau dengan jalan memakai kunci palsu,
perintah palsu atau pakaian jabatan palsu,
14).Menjadikan ada orang mendapat luka
berat, 13).Menjadikan ada orang mati,
7).Dilakukan pada waktu malam dalam
sebuah rumah atau pekarangan yang
tertutup yang ada rumahnya, dilakukan
h Pasal 365 (ayat 4) Hukuman mati atau hukuman
penjara seumur hidup atau
penjara sementara selama-
lamanya 20 tahun
80
oleh orang yang ada disitu tiada dengan
setahunya atau bertentangan dengan
kemauannya orang yang berhak (yang
punya)
1,2,4,16,15 1).Mengambil, 2).Mengambil barang,
4).Dengan maksud dimiliki secara
melawan hukum, 16).Suami (isteri) tidak
bercerai meja makan dan tempat tidur
atau bercerai harta benda, 15).Dilakukan
suami (isteri)
i Pasal 367 (ayat 1) Tidak dapat dituntut hukuman
1,2,4,15,16,17 1).Mengambil, 2).Mengambil barang,
4).Dengan maksud dimiliki secara
melawan hukum, 15).Dilakukan suami
(isteri), 16).Suami (isteri) yang sudah
diceraikan meja makan, tempat tidur atau
harta benda, 17).Dilakukan sanak atau
keluarga orang itu karena kawin
j Pasal 367 (ayat 2) Hanya dapat dilakukan
penuntutan, kalau ada
pengaduan dari orang yang
dikenakan kejahatan itu
1,2,4,17,18 1).Mengambi, 2).Mengambil barang,
4).Dengan maksud dimiliki secara
k Pasal 367 (ayat 3) Hanya dapat dilakukan
penuntutan, kalau ada
pengaduan dari orang yang
81
melawan hukum 17).Dilakukan sanak
atau keluarga orang itu karena kawin,
18).Atas kekuasaan bapak dilakukan oleh
orang lain dari bapak kandung
dikenakan kejahatan itu
82
b. Penelusuran Data Berdasarkan Pasal-pasal Pada Kasus Pemerasan
Gambar 4.4 Penelusuran Data Berdasarkan Pasal-pasal Pada kasus pemerasan
30
20
21
22 23
l 22
24
25
m
27
26
19
29
22
21
28
n
22
22
o
83
c. Penelusuran Data Berdasarkan Pasal-pasal Pada Kasus Penggelapan
Gambar 4.5 Penelusuran Data Berdasarkan Pasal-pasal Pada Kasus Penggelapan
37
33
34
36
35
r
11
q
34
35 35
34
32
s
31
33
38
39
t
35
32
35
40
34
u
84
d. Penelusuran Data Berdasarkan Pasal-pasal Pada Kasus Perusakan
Gambar 4.6 Penelusuran Data Berdasarkan Pasal-pasal Pada Kasus Pengrusakan
43
44
y
45
46
w
45
a2
50
51
43
52
a3
42
44
47
48
z
45
50
a4
Sispak KUHP
Terhadap Kriminalitas
41
47
49
48
a1
48
53
42
44
47
43
11
43
x
43
v
85
4.3.2. Representasi Pengetahuan
Teknik representasi pengetahuan dalam dalam sistem pakar KUHP
terhadap kriminalitas adalah dengan menggunakan kaidah produksi.
Representasi pengetahuan dengan kaidah produksi pada dasarnya berupa
aplikasi aturan (rule) yang berupa IF (kondisi) THEN (aksi) dimana
kondisi merupakan bagian dari awal yang mengekspresikan situasi atau
premis (pernyataan berawal IF) dan aksi merupakan bagian yang
menyatakan suatu tindakan tertentu atau konklusi yang diharapkan jika
suatu situasi atau premis bernilai benar (pernyataan berawalan THEN).
Di bawah ini adalah kaidah produksi untuk merepresentasi
pengetahuan atau aturan di dalam penerapan dalam sistem pakar KUHP
terhadap kriminalitas:
Rule 1 IF Mengambil AND Mengambil barang AND Seluruhnya atau sebagian
termasuk kepunyaan orang lain AND Dengan maksud dimiliki secara
melawan hukum THEN Pasal 362
Rule 2 IF Mengambil AND Dengan maksud dimiliki secara melawan hukum
AND Seluruhnya atau sebagian termasuk kepunyaan orang lain AND
Mengambil hewan AND dilakukan pada waktu kebakaran, letusan,
banjir, gempa bumi, atau gempa laut, letusan gunung api, kapal selam,
kapal terdampar, kecelakaan kereta api, huru-hara, pemberontakan atau
kesengsaraan dimasa perang AND Dilakukan pada waktu malam dalam
sebuah rumah atau pekarangan yang tertutup yang ada rumahnya,
dilakukan oleh orang yang ada disitu tiada dengan setahunya atau
86
bertentangan dengan kemauannya orang yang berhak (yang punya)
AND Dilakukan oleh 2 orang bersama-sama atau lebih AND Dilakukan
masuk ketempat kejahatan dengan jalan membongkar, memecah atau
memanjat atau dengan jalan memakai kunci palsu, perintah palsu atau
pakaian jabatan palsu THEN Pasal 363 (ayat 1)
Rule 3 IF Mengambil AND Mengambil barang AND Seluruhnya atau sebagian
termasuk kepunyaan orang lain AND Dilakukan oleh 2 orang bersama-
sama atau lebih AND Dengan maksud dimiliki secara melawan hukum
AND Dilakukan masuk ketempat kejahatan dengan jalan membongkar,
memecah atau memanjat atau dengan jalan memakai kunci palsu,
perintah palsu atau pakaian jabatan palsu AND Dilakukan pada waktu
malam dalam sebuah rumah atau pekarangan yang tertutup yang ada
rumahnya, dilakukan oleh orang yang ada disitu tiada dengan setahunya
atau bertentangan dengan kemauannya orang yang berhak (yang punya)
THEN Pasal 363 (ayat 2)
Rule 4 IF Mengambil AND Mengambil barang AND Seluruhnya atau sebagian
termasuk kepunyaan orang lain AND Dilakukan oleh 2 orang bersama-
sama atau lebih AND Dengan maksud dimiliki secara melawan hukum
AND Dilakukan masuk ketempat kejahatan dengan jalan membongkar,
memecah atau memanjat atau dengan jalan memakai kunci palsu,
perintah palsu atau pakaian jabatan palsu AND Tidak dilakukan dalam
sebuah rumah atau dalam pekarangan yang tertutup yang ada rumahnya
AND Harga barang tidak lebih dari Rp. 25,- THEN Pasal 364
87
Rule 5 IF Mengambil AND Mengambil barang AND Seluruhnya atau sebagian
termasuk kepunyaan orang lain AND Dilakukan yang didahului, disertai
atau diikuti dengan kekerasan atau ancaman kekerasan terhadap orang
AND Dengan maksud dimiliki secara melawan hukum THEN Pasal 365
(ayat 1)
Rule 6 IF Mengambil AND Mengambil barang AND Seluruhnya atau sebagian
termasuk kepunyaan orang lain AND Dilakukan oleh 2 orang bersama-
sama atau lebih AND Dengan maksud dimiliki secara melawan hukum
AND Dilakukan pada waktu malam dalam sebuah rumah atau
pekarangan yang tertutup yang ada rumahnya, dilakukan oleh orang
yang ada disitu tiada dengan setahunya atau bertentangan dengan
kemauannya orang yang berhak (yang punya) AND Menjadikan ada
orang mendapat luka berat AND Dilakukan masuk ketempat kejahatan
dengan jalan membongkar, memecah atau memanjat atau dengan jalan
memakai kunci palsu, perintah palsu atau pakaian jabatan palsu THEN
Pasal 365 (ayat 2)
Rule 7 IF Mengambil AND Mengambil barang AND Seluruhnya atau sebagian
termasuk kepunyaan orang lain AND Dilakukan oleh 2 orang bersama-
sama atau lebih AND Dengan maksud dimiliki secara melawan hukum
AND Dilakukan masuk ketempat kejahatan dengan jalan membongkar,
memecah atau memanjat atau dengan jalan memakai kunci palsu,
perintah palsu atau pakaian jabatan palsu AND Menjadikan ada orang
mati AND Dilakukan pada waktu malam dalam sebuah rumah atau
88
pekarangan yang tertutup yang ada rumahnya, dilakukan oleh orang
yang ada disitu tiada dengan setahunya atau bertentangan dengan
kemauannya orang yang berhak (yang punya) THEN Pasal 365 (ayat 3)
Rule 8 IF Mengambil AND Mengambil barang AND Seluruhnya atau sebagian
termasuk kepunyaan orang lain AND Dilakukan oleh 2 orang bersama-
sama atau lebih AND Dengan maksud dimiliki secara melawan hukum
AND Dilakukan masuk ketempat kejahatan dengan jalan membongkar,
memecah atau memanjat atau dengan jalan memakai kunci palsu,
perintah palsu atau pakaian jabatan palsu AND Menjadikan ada orang
mendapat luka berat AND Menjadikan ada orang mati AND Dilakukan
pada waktu malam dalam sebuah rumah atau pekarangan yang tertutup
yang ada rumahnya, dilakukan oleh orang yang ada disitu tiada dengan
setahunya atau bertentangan dengan kemauannya orang yang berhak
(yang punya) THEN Pasal 365 (ayat 4)
Rule 9 IF Mengambil AND Mengambil barang AND Dengan maksud dimiliki
secara melawan hukum AND Suami (isteri) tidak bercerai meja makan
dan tempat tidur atau bercerai harta benda AND Dilakukan suami (isteri)
THEN Pasal 367 (ayat 1)
Rule 10 IF Mengambil AND Mengambil barang AND Dengan maksud dimiliki
secara melawan hukum AND Dilakukan suami (isteri) AND Suami
(isteri) yang sudah diceraikan meja makan, tempat tidur atau harta benda
AND Dilakukan sanak atau keluarga orang itu karena kawin THEN
Pasal 367 (ayat 2)
89
Rule 11 IF Mengambil AND Mengambil barang AND Dengan maksud dimiliki
secara melawan hukum AND Dilakukan sanak atau keluarga orang itu
karena kawin AND Atas kekuasaan bapak dilakukan oleh orang lain dari
bapak kandung THEN Pasal 367 (ayat 3)
Rule 12 IF Memaksa AND Memaksa dengan kekerasan AND Memaksa untuk
memberikan suatu barang atau memberi hutang atau menghapus piutang
AND Menguntungkan diri sendiri atau orang lain secara melawan
hukum THEN Pasal 368 (ayat 1)
Rule 13 IF Memaksa AND Memaksa dengan kekerasan AND Memaksa untuk
memberikan suatu barang atau memberi hutang atau menghapus piutang
AND Perbuatan memaksa dilakukan pada waktu malam dalam sebuah
rumah atau pekarangan yang tertutup yang ada rumahnya, dilakukan
oleh orang yang ada disitu tiada dengan setahunya atau bertentangan
dengan kemauannya orang yang berhak (yang punya) AND
Menguntungkan diri sendiri atau orang lain secara melawan hukum
AND Perbuatan memaksa dilakukan oleh 2 orang bersama-sama atau
lebih AND Perbuatan memaksa dilakukan masuk ketempat kejahatan
dengan jalan membongkar, memecah atau memanjat atau dengan jalan
memakai kunci palsu, perintah palsu atau pakaian jabatan palsu AND
Perbuatan memaksa menjadikan ada orang mendapat luka berat AND
Perbuatan memaksa menjadikan ada orang mati THEN Pasal 368 (ayat
2)
Rule 14 IF Memaksa AND Memaksa untuk memberikan suatu barang atau
90
memberi hutang atau menghapus piutang AND Memaksa dengan
ancaman menista dengan lisan atau tulisan atau pencemaran nama baik
AND Menguntungkan diri sendiri atau orang lain secara melawan
hukum THEN Pasal 369 (ayat 1)
Rule 15 IF Memaksa AND Memaksa untuk memberikan suatu barang atau
memberi hutang atau menghapus piutang AND Memaksa dengan
ancaman menista dengan lisan atau tulisan atau pencemaran nama baik
AND Ada penuntutan dari orang yang dikenakan kejahatan AND
Menguntungkan diri sendiri atau orang lain secara melawan hukum
THEN Pasal 369 (ayat 2)
Rule 16 IF Memaksa AND Memaksa untuk memberikan suatu barang atau
memberi hutang atau menghapus piutang AND Memaksa dengan
ancaman menista dengan lisan atau tulisan atau pencemaran nama baik
AND Dilakukan suami (isteri) yang tidak atau sudah diceraikan atau
sanak atau keluarga orang itu karena kawin AND Menguntungkan diri
sendiri atau orang lain secara melawan hukum THEN Pasal 370
Rule 17 IF Dengan sengaja memiliki AND Barang yang dimiliki seluruhnya atau
sebagian termasuk kepunyaan orang lain AND Memiliki suatu barang
AND Mengakui memiliki secara melawan hukum AND Barang yang
ada dalam kekuasaan bukan karena kejahatan THEN Pasal 372
Rule 18 IF Dengan sengaja memiliki AND Barang yang dimiliki seluruhnya atau
sebagian termasuk kepunyaan orang lain AND Mengakui memiliki sec
ara melawan hukum AND Memiliki suatu bukan ternak AND Harganya
91
tidak lebih dari Rp.25,- AND Barang yang ada dalam kekuasaan bukan
karena kejahatan THEN Pasal 373
Rule 19 IF Dengan sengaja memiliki AND Barang yang dimiliki seluruhnya atau
sebagian termasuk kepunyaan orang lain AND Memiliki suatu barang
AND Berhubung dengan pekerjaan atau jabatan AND Barang yang ada
dalam kekuasaan bukan karena kejahatan AND Mengakui memiliki
secara melawan hukum THEN Pasal 374
Rule 20 IF Dengan sengaja memiliki AND Barang yang dimiliki seluruhnya
atau sebagian termasuk kepunyaan orang lain AND Memiliki suatu
barang AND Terpaksa disuruh menyimpan barang AND Barang yang
ada dalam kekuasaan bukan karena kejahatan AND Dilakukan oleh wali,
atau pengurus atau pelaksana surat wasiat, atau pengurus lembaga social
atau yayasan. THEN Pasal 375
Rule 21 IF Dengan sengaja memiliki AND Barang yang dimiliki seluruhnya atau
sebagian termasuk kepunyaan orang lain AND Memiliki suatu barang
AND Barang yang ada dalam kekuasaan bukan karena kejahatan AND
Penggelapan dilakukan suami (isteri) yang tidak atau sudah diceraikan
atau sanak atau keluarga orang itu karena kawin AND Mengakui
memiliki secara melawan hukum THEN Pasal 376
Rule 22 IF Dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan AND
Menghancurkan, merusakkan, membunuh, atau membikin tidak dapat
dipakai lagi atau menghilangkan secara melawan hukum AND
92
Merusakkan barang AND Barang yang dihancurkan, dirusak, dibunuh,
atau dibikin tidak dapat dipakai lagi atau dihilangkan seluruhnya atau
sebagian termasuk kepunyaan orang lain THEN Pasal 406 (ayat 1)
Rule 23 IF Dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan AND Barang
yang dihancurkan, dirusak, dibunuh, atau dibikin tidak dapat dipakai lagi
atau dihilangkan seluruhnya atau sebagian termasuk kepunyaan orang
lain AND Menghancurkan, merusakkan, membunuh, atau membikin
tidak dapat dipakai lagi atau menghilangkan secara melawan hukum
AND Membunuh hewan THEN Pasal 406 (ayat 2)
Rule 24 IF Dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan AND
Menghancurkan, merusakkan, membunuh, atau membikin tidak dapat
dipakai lagi atau menghilangkan secara melawan hukum AND
Merusakkan barang AND Harga kerugian tidak lebih dari Rp. 25,- AND
Barang yang dihancurkan, dirusak, dibunuh, atau dibikin tidak dapat
dipakai lagi atau dihilangkan seluruhnya atau sebagian termasuk
kepunyaan orang lain THEN Pasal 407 (ayat 1)
Rule 25 IF Dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan AND Barang
yang dihancurkan, dirusak, dibunuh, atau dibikin tidak dapat dipakai lagi
atau dihilangkan seluruhnya atau sebagian termasuk kepunyaan orang
lain AND Menghancurkan, merusakkan, membunuh, atau membikin
93
tidak dapat dipakai lagi atau menghilangkan secara melawan hukum
AND Dilakukan dengan memasukkan bahan-bahan yang merusakkan
nyawa atau kesehatan, atau jika hewan itu berkuku satu, memamah biak
dan babi AND Membunuh hewan THEN Pasal 407 (ayat 2)
Rule 26 IF Dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan AND
Menghancurkan, merusakkan, membunuh, atau membikin tidak dapat
dipakai lagi atau menghilangkan secara melawan hukum AND
Menghancurkan bangunan-bangunan, kereta api, trem, telegraf, telepon,
atau listrik, atau bangunan-bangunan untuk membendung, membagi atau
menyalurkan air, saluran gas, air atau saluran AND Dipergunakan untuk
keperluan umum THEN Pasal 408
Rule 27 IF Menghancurkan bangunan-bangunan, kereta api, trem, telegraf,
telepon, atau listrik, atau bangunan-bangunan untuk membendung,
membagi atau menyalurkan air, saluran gas, air atau saluran AND Tidak
dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan AND
Dipergunakan untuk keperluan umum THEN Pasal 409
Rule 28 IF Dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan AND Barang
yang dihancurkan, dirusak, dibunuh, atau dibikin tidak dapat dipakai lagi
atau dihilangkan seluruhnya atau sebagian termasuk kepunyaan orang
lain AND Menghancurkan, merusakkan, membunuh, atau membikin
94
tidak dapat dipakai lagi atau menghilangkan secara melawan hukum
AND Menghancurkan suatu gedung atau kapal THEN Pasal 410
Rule 29 IF Dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan AND
Menghancurkan, merusakkan, membunuh, atau membikin tidak dapat
dipakai lagi atau menghilangkan secara melawan hukum AND
Merusakkan barang AND Membunuh hewan AND Barang yang
dihancurkan, dirusak, dibunuh, atau dibikin tidak dapat dipakai lagi atau
dihilangkan seluruhnya atau sebagian termasuk kepunyaan orang lain
AND Menghancurkan, merusakkan, membunuh, atau membikin tidak
dapat dipakai lagi atau menghilangkan dilakukan suami (isteri) yang
tidak atau sudah diceraikan atau sanak atau keluarga orang itu karena
kawin THEN Pasal 411
Rule 30 IF Dengan sengaja menghancurkan, merusakkan, membunuh, atau
membikin tidak dapat dipakai lagi atau menghilangkan AND
Merusakkan barang AND Menghancurkan, merusakkan, membunuh,
atau membikin tidak dapat dipakai lagi atau menghilangkan secara
melawan hukum AND Menghancurkan bangunan-bangunan, kereta api,
trem, telegraf, telepon, atau listrik, atau bangunan-bangunan untuk
membendung, membagi atau menyalurkan air, saluran gas, air atau
saluran AND Barang yang dihancurkan, dirusak, dibunuh, atau dibikin
tidak dapat dipakai lagi atau dihilangkan seluruhnya atau sebagian
termasuk kepunyaan orang lain AND Dipergunakan untuk keperluan
95
umum AND Menghancurkan atau merusakkan dilakukan oleh 2 orang
bersama-sama atau lebih AND Membunuh hewan AND Menghancurkan
suatu gedung atau kapal THEN Pasal 412
4.4. Pengembangan Sistem
4.4.1. Perancangan Sistem
4.4.1.1. Arus Data (Flowchart)
Program sistem pakar ini menggunakan flowchart untuk
membantu dalam pembuatan program. Berikut ini merupakan gambar
flowchart yang digunakan :
1. Flowchart Halaman Utama User
Gambar 4.7 flowchart halaman utama user
96
2. Flowchart Konsultasi
Gambar 4.8 flowchart konsultasi
97
3. Flowchart Informasi
Gambar 4.9 flowchart informasi
4. Flowchart Buku Tamu
Gambar 4.10 flowchart halaman buku tamu
98
5. Halaman Login
6. Flowchart Halaman Utama Admin
Gambar 4.11 Flowchart Halaman Login
Gambar 4.12 Flowchart Halaman utama admin
99
7. Flowchart Kejahatan
8. Flowchart Pasal
Gambar 4.13 Flowchart halaman kejahatan
Gambar 4.14 Flowchart Halaman Pasal
100
9. Flowchart Manajemen Admin
10. Flowchart Informasi
Gambar 4.15 Flowchart Halaman Manajemen Admin
Gambar 4.16 Flowchart Halaman Informasi
101
11. Flowchart Buku Tamu
4.4.1.2. Diagram Konteks Sistem Pakar KUHP Terhadap
Kriminalitas
Gambar 4.18 Diagram Konteks Sistem Pakar KUHP Terhadap
Kriminalitas
Gambar 4.17 Flowchart Halaman Buku Tamu
102
Dalam diagram konteks diatas terdapat dua entity yang menunjang
proses sistem pakar KUHP terhadap kriminalitas yaitu masyarakat sebagai
pengguna dan SAT Reskrim sebagai admin atau knowledge enginer.
Dimana tidak semua orang yang berada pada SAT reskrim sebagai admin
namun hanya beberapa orang yang mendapatkan hak akses sebagai admin
saja yang dapat merubah, menambahkan, mengedit dan menghapus
knowledge base dan data-data pada database. Sedangkan semua
masyarakat berhak mengakses sistem tersebut tentunya sistem yang sudah
disiapkan untuk user, namun masyarakat disini adalah masyarakat yang
sudah mengerti cara mengakses internet minimal cara menggunkan
komputer.
Tabel 4.2 Alur Proses
Nama Proses Sistem Pakar KUHP terhdap Kriminalitas
Masukan 1. Entitas Masyarakat : Konsultasi kriminalitas,
pencarian informasi, pesan, kritik dan saran
2. Entitas Sat Reskrim : login dan logout, update
kejahatan, pasal, user dan informasi
Keluaran 1. Entitas Masyarakat : informasi pasal dan
ancaman padana, informasi profil dan sistem
pakar, informasi hasil pencarian
2. Entitas Sat Reskrim : informasi kejahatan,
pasal, user dan informasi
Deskripsi
Proses
Proses mendeskripsikan tentang sistem pakar kitab
undang-undang hukum pidana terhadap kriminalitas
103
4.4.1.3. Diagram Zero Sistem Pakar KUHP Terhadap Kriminalitas
Gambar 4.19 Diagram Zero Sistem Pakar KUHP Terhadap
Kriminalitas
104
Tabel 4.3 Proses Mengolah Modul Kejahatan
Tabel 4.4 Proses Mengolah Modul Pasal
Tabel 4.5 Proses Mengolah Modul Manajemen Admin
No Proses 1.0
Nama Proses Mengolah modul kejahatan
Masukan kd_pasal, nm_pasal,jns_kejahatan,ket_pasal
Keluaran Daftar pasal
Deskripsi Proses Proses pengolahan modul kejahatan
No Proses 2.0
Nama Proses Mengolah modul pasal
Masukan kd_kejahatan, rule, kejahatan, kd_pasal, induk
Keluaran Daftar Pasal
Deskripsi Proses Proses pengolahan modul pasal
No Proses 3.0
Nama Proses Mengolah modul manajemen admin
Masukan usernama, password,nama
Keluaran Daftar Manajemen Admin
Deskripsi Proses Proses pengolahan modul manajemen admin
105
Tabel 4.6 Proses mengolah modul informasi
Tabel 4.7 Proses mengolah modul buku tamu
No Proses 4.0
Nama Proses Mengolah modul informasi
Masukan id, informasi, keterangan
Keluaran Daftar Informasi
Deskripsi Proses Proses pengolahan modul informasi
No Proses 5.0
Nama Proses Mengolah modul buku tamu
Masukan id_buku, nama, email, pesan
Keluaran Daftar Pasal
Deskripsi Proses Proses pengolahan modul pasal
106
4.4.1.4. Diagaram Rinci Sistem Pakar KUHP Terhadap
Kriminalitas
Diagram ini untuk mendetailakan setiap proses yang terjadi
pada diagram zero sistem pakar KUHP terhadap kriminalitas.
1. Diagram Level 1 Proses ke-1
Mendeskripsikan secara detail proses mengolah data master
kejahatan.
Gambar 4.20 Diagram Level 1 Proses ke-1 Sispak KUHP
Terhadap Kriminalitas
107
Tabel 4.8 Proses mencari data master kejahatan
Tabel 4.9 Proses menambah data master kejahatan
Tabel 4.10 Proses melihat master kejahatan
No Proses 1.1
Nama Proses Mencari Data Master Kejahatan
Masukan tm_kejahatan
Keluaran Daftar tm_kejahatan, daftar hasil pencarian
tm_kejahatan, daftar hasil penambahan, pengeditan
dan penghapusan tm_kejahatan
Deskripsi Proses Proses mencari data master kejahatan
No Proses 1.2
Nama Proses Menambah Data Master Kejahatan
Masukan tm_kejahatan
Keluaran daftar hasil penambahan tm_kejahatan
Deskripsi Proses Proses menambah data master kejahatan
No Proses 1.3
Nama Proses Melihat Data Master Kejahatan
Masukan tm_kejahatan
Keluaran Daftar tm_kejahatan
Deskripsi Proses Proses melihat data master kejahatan
108
Tabel 4.11 Proses mengedit master kejahatan
Tabel 4.12 Proses menghapus kejahatan
No Proses 1.4
Nama Proses Mengedit Data Master Kejahatan
Masukan tm_kejahatan
Keluaran daftar hasil pengeditan tm_kejahatan
Deskripsi Proses Proses mengedit data master kejahatan
No Proses 1.5
Nama Proses Menghapus Data Master Kejahatan
Masukan tm_kejahatan
Keluaran
Deskripsi Proses Proses menghapus data master kejahatan
109
2. Diagram Level 1 Proses ke-2
Mendeskripsikan secara detail proses mengolah data master
pasal.
Gambar 4.21 Diagram Level 1 Proses ke-2 Sispak KUHP
Terhadap Kriminalitas
Tabel 4.13 Proses mencari data master pasal
No Proses 2.1
Nama Proses Mencari Data Master Pasal
Masukan tm_pasal
Keluaran Daftar hasil pencarian tm_pasal
Deskripsi Proses Proses mencari data master pasal
110
Tabel 4.14 Proses menambah data master pasal
Tabel 4.15 Proses melihat master data pasal
a
b
Tabel 4.16 Proses mengedit master data pasal
No Proses 2.2
Nama Proses Menambah Data Master Pasal
Masukan tm_pasal
Keluaran daftar hasil penambahan tm_pasal
Deskripsi Proses Proses mencari data master pasal
No Proses 2.3
Nama Proses Melihat Data Master Pasal
Masukan tm_pasal
Keluaran Daftar tm_pasal
Deskripsi Proses Proses melihat data master pasal
No Proses 2.4
Nama Proses Mengedit Data Master Pasal
Masukan tm_pasal
Keluaran daftar hasil pengeditan tm_pasal
Deskripsi Proses Proses mengedit data master pasal
111
Tabel 4.17 Proses menghapus master data pasal
3. Diagram Level 1 Proses Ke-3
Mendeskripsikan secara detail proses mengolah data master
admin.
Gambar 4.22 Diagram Level 1 Proses ke-3 Sispak KUHP
Terhadap Kriminalitas
No Proses 2.5
Nama Proses Menghapus Data Master Pasal
Masukan tm_pasal
Keluaran
Deskripsi Proses Proses menghapus data master pasal
112
Tabel 4.18 Proses menambah master admin
Tabel 4.19 Proses menghapus master data pasal
No Proses 3.1
Nama Proses Menambah Data Master Admin
Masukan tm_admin
Keluaran Daftar tm_admin
Deskripsi Proses Proses menampilkan data master admin
No Proses 3.2
Nama Proses Menghapus Data Master Admin
Masukan tm_admin
Keluaran
Deskripsi Proses Proses menampilkan data master admin
113
4. Diagram Level 1 Proses Ke-4
Mendeskripsikan secara detail proses mengolah data master
informasi.
Gambar 4.23 Diagram Level 1 Proses ke-4 Sispak KUHP
Terhadap Kriminalitas
114
Tabel 4.20 Proses mencari master data informasi
Tabel 4.21 Proses menambah master data informasi
Tabel 4.22 Proses melihat master data informasi
No Proses 4.2
Nama Proses Menambah Data Master Informasi
Masukan tm_informasi
Keluaran daftar hasil penambahan tm_ informasi
Deskripsi Proses Proses menambah data master informasi
No Proses 4.1
Nama Proses Mencari Data Master Informasi
Masukan tm_informasi
Keluaran Daftar hasil pencarian tm_informasi
Deskripsi Proses Proses mencari data master informasi
No Proses 4.3
Nama Proses Melihat Data Master Informasi
Masukan tm_ informasi
Keluaran daftar tm_ informasi
Deskripsi Proses Proses melihat data master Informasi
115
Tabel 4.23 Proses mengedit master informasi
Tabel 4.24 Proses menghapus informasi
No Proses 4.4
Nama Proses Mengedit Data Master Informasi
Masukan tm_ informasi
Keluaran daftar hasil pengeditan tm_ informasi
Deskripsi Proses Proses mengedit data master informasi
No Proses 4.5
Nama Proses Menghapus Data Master informasi
Masukan tm_ informasi
Keluaran
Deskripsi Proses Proses menghapus data master informasi
116
5. Diagaram Level 1 Proses Ke-5
Mendeskripsikan secara detail proses mengolah data master
bukutamu.
Gambar 4.24 Diagram Level 1 Proses ke-5 Sispak KUHP
Terhadap Kriminalitas
Tabel 4.25 Proses menampilkan data master bukutamu
No Proses 5.1
Nama Proses Menampilkan Data Master Bukutamu
Masukan tm_bukutamu
Keluaran Daftar tm_bukutamu
Deskripsi Proses Proses menampilakan data master bukutamu
117
Tabel 4.26 Proses melihat master bukutamu
Tabel 4.27 Proses menghapus master bukutamu
4.4.1.5. Spesifikasi Proses yang diusulkan
Dibawah ini adalah proses-proses yang diusulkan pada sistem. Pada
sistem terdapat enam proses inti diantaranya adalah proses login, proses
penambahan data, proses pencarian data, proses pengubahan data, proses
penampilan data, dan proses penghapusan data.
1. Proses Login
Input form login
IF input form tidak cocok THEN
Login gagal
No Proses 5.3
Nama Proses Menghapus Data Master Bukutamu
Masukan tm_bukutamu
Keluaran
Deskripsi Proses Proses menghapus data master Bukutamu
No Proses 5.2
Nama Proses Melihat Data Master Bukutamu
Masukan tm_bukutamu
Keluaran daftar tm_bukutamu
Deskripsi Proses Proses melihat data master bukutamu
118
ELSE
Login success
END IF
2. Proses penambahan data
Input form
IF Simpan THEN
Data tersimpan
ELSE
Data tidak disimpan
END IF
3. Proses pencarian data
Input form pencarian
IF data tidak ditemukan THEN
Tampilkan konfirmasi data kosong
ELSE
Tampilkan data hasil pencarian
END IF
4. Proses perubahan data
Tampil data
GET kd
Edit form
Simpan
END IF
119
5. Proses penghapusan data
Tampil data
GET kd
Delete data
Tampil konfirmasi hapus data
IF Ya THEN
Hapus
ELSE
Data tidak dihapus
4.4.2. Perancangan Database
Data-data yang diperlukan pada proses masukan disimpan dalam
basis data. Hal ini dimaksudkan agar data bersifat dinamis yaitu dapat
melakukan penambahan, perubahan dan penghapusan data. Ada dua tahap
yang dilakukan dalam membuat database, yaitu Normalisasi, dan entity
relationship diagram (ERD).
4.4.2.1. Entity Relationship Diagram (ERD)
Gambar 4.25. Entity Relationship Diagram
120
4.4.2.2. Spesifikasi Database
Nama Basis Data : sispakkuhp
1. Tabel admin
Nama tabel : admin
Primary key : -
Foreign key : -
Tabel 4.28 Tabel admin
2. Tabel Kejahatan
Nama tabel : kejahatan
Primary key : kd_kejahatan
Foreign key : kd_pasal
Tabel 4.29 Tabel kejahatan
3. Tabel Pasal
Nama tabel : pasal
Primary key : kd_pasal
121
Foreign key : -
Tabel 4.30 Tabel pasal
4. Tabel Link
Nama tabel : link
Primary key : -
Foreign key : -
Tabel 4.31 Tabel link
5. Tabel Informasi
Nama tabel : informasi
Primary key : id
Foreign key : -
Tabel 4.32 Tabel informasi
122
6. Tabel Bukutamu
Nama tabel : bukutamu
Primary key : id_buku
Foreign key : -
Tabel 4.33 Tabel bukutamu
4.4.2.3. Penerjemahan ERD ke LRS
Gambar 4.26. Logical Record Structure (LRS)
123
4.4.3. Perancangan State Transition Diagram (STD)
State Transition Diagram (STD) dari aplikasi sistem pakar kitab
undang-undang hukum pidana terhadap kriminalitas ini, terdiri dari :
a. Halaman Untuk User
Gambar. 4.27. State Diagram (STD) Untuk Halaman User
124
b. Halaman Untuk Knowledge Enginer
Gambar.4.28. State Diagram (STD) untuk halaman knowledge enginer
125
4.4.4. Perancangan User Interface
a. Perancangan Halaman Menu Utama Untuk User
b. Perancangan Halaman Konsultasi
HEADER
MENU
FOOTER
HEADER
MENU
FOOTER
KONSULTASI
126
c. Perancangan Halaman Login
d. Perancangan Halaman Untuk Knowledge Enginer
HEADER
MENU
FOOTER
login
user
password
HEADER
MENU
FOOTER
go tambah
127
e. Perancangan Halaman view, edit dan hapus
4.5. Implementasi Sistem
4.5.1. Konstruksi Sistem Pakar
Dalam fase konstruksi, bahasa yang digunakan adalah PHP dengan
menggunakan database MySQL serta menggunakan model penalaran forward
chaining dan teknik penelusuran depth first search.
XAMPP Versi 1.7.3 digunakan untuk membuat database MySQL
pada sistem, php merupakan bahasa pemrograman yang digunakan, Adobe
dreamweaver CS3 dan edit plus3 digunakan sebagai editor, flock 2.6.1 dan
terkadang mozila firefox versi 3.5.6 digunakan untuk pengujian, pengecekan
dan menjalankan sistem dan mengeksekusi rule – rule yang menggunakan
bahasa pemograman php.
HEADER
MENU
FOOTER
List Data
view edit delete
128
4.5.2. Pengujian Sistem Pakar
Pada tahapan pengujian sistem pakar, pengujian dilakukan dengan
cara pengujian mandiri dan penujian oleh user secara blackbox testing.
Dalam melakukan pemrograman, penulis melakukan pengujian mandiri yaitu
pengujian terhadap kode-kode program untuk memastikan kebenaran
program tersebut. Pengujian ini dilakukan untuk mencari kesalahan yang
ditimbulkan karena salah tulis atau kesalahan pemrograman. Kegiatan unit
testing ini disebut juga debugging. Kegiatan ini digunakan untuk mencari
posisi peringatan (warning), kesalahan (error) dari kode-kode program dan
mengetahui debugging yang sukses.
Gambar 4.29. Contoh code program warning pada proses debugging
Gambar 4.30. Contoh code program error pada proses debugging
129
Gambar 4.31. Contoh code program sukses pada proses debugging
Cara pengujian blackbox testing dilakukan dengan menjalankan
aplikasi sistem pakar dan melakukan input data serta melihat input-nya apakah
sesuai dengan domain masalah serta kesimpulan yang diharapkan. Hasil
pengujian blackbox testing disajikan dalam tabel 4.34 :
a. Hasil Pengujian Halaman Untuk User
Tabel 4.34 Pengujian Halaman Interface Untuk User
No Pengujian Interface yang diharapkan Hasil
pengujian
1. Interface halaman utama
User
Halaman menu utama user/home/index OK
2. Interface halaman profil Halaman profil OK
3. Interface konsultasi Halaman petunjuk konsultasi OK
4. Interface konsultasi Halaman konsultasi OK
5. Interface hasil konsultasi Halaman hasil konsultasi OK
6. Interface sistem pakar Halaman sistem pakar OK
130
7. Interface Informasi Halaman informasi OK
8. Interface cari Informasi Halaman hasil pencarian informasi OK
9. Interface Buku tamu Halaman buku tamu OK
10. Interface Masuk / login Halaman masuk / login OK
b. Hasil Pengujian Halaman Knowledge Enginer
Tabel 4.35 Pengujian Halaman Interface Untuk Admin
No Pengujian Interface yang diharapkan Hasil pengujian
11. Interface halaman utama
Admin
Halaman utama admin / index OK
12. Interface halaman
Kejahatan
Halaman kejahatan OK
13. Interface go kejahatan Halaman tampil data-data
kejahatan
OK
14. Interface tambah
Kejahatan
Halaman tambah kejahatan OK
15. Interface view kejahatan Halaman view kejahatan OK
16. Interface edit kejahatan Halaman edit kejahatan OK
17. Interface delete
Kejahatan
Halaman delete kejahatan OK
18. Interface halaman pasal Halaman pasal OK
19. Interface go pasal Halaman tampil data-data pasal OK
20. Interface tambah pasal Halaman tambah pasal OK
21. Interface view pasal Halaman view pasal OK
22. Interface edit pasal Halaman edit pasal OK
131
23. Interface delete pasal Halaman delete pasal OK
24. Interface manajemen
Admin
Halaman Manajemen admin OK
25. Interface tampilkan Halaman daftar admin OK
26. Interface tambah Halaman tambah OK
27. Interface informasi Halaman informasi OK
28. Interface go informasi Halaman daftar informasi OK
29. Interface tambah
Informasi
Halaman tambah informasi OK
30. Interface view informasi Halaman view informasi OK
31. Interface edit informasi Halaman edit informasi OK
32. Interface delete informasi Halaman delete informasi OK
33. Interface Buku Tamu Halaman Buku tamu OK
34. Interface tampilkan
Buku tamu
Halaman daftar Buku tamu OK
35. Interface view Buku tamu Halaman view Buku tamu OK
36. Interface delete Buku tamu Halaman delete Buku tamu OK
37. Interface logout Halaman logout OK
4.6. Implementasi Tahap Lanjut
Pada fase ke enam adalah implementasi tahap lanjut yang meliputi
pengembangan sistem. Pengembangan sistem diperlukan sehingga sistem
yang dibangun tidak menjadi usang dan investasi sitem tidak sia-sia. Hal
pengembangan sistem yang paling berguna adalah proses dokumentasi sistem
di mana di dalamnya tersimpan semua hal penting yang dapat menjadi tolok
132
ukur pengembangan sistem dimasa mendatang termasuk di dalamnya adalah
kamus pengetahuan masalah yang diselesaikan.
Operasional perawatan dan evaluasi secara periodik merupakan
kewenangan instansi. Sehingga tahapan implementasi tahap lanjut yang
penulis lakukan adalah dokumentasi sistem.
Implementasi tahap lanjut disini penulis melakukan dokumentasi
sistem, yaitu :
Menu home adalah menu yang digunakan untuk menampilkan
informasi sistem pakar KUHP terhadap kriminalitas, dalam menu home ini
terdapat link ke semua menu di home di tampilkan link Menu, Profil,
Konsultasi, Sistem Pakar, Informasi, Buku Tamu, Masuk.
Gambar 4.32. Tampilan Menu Home
133
Menu Profile menampilkan sedikit informasi seputar profile Polres
Metro Jakarta Selatan.
Gambar 4.33. Tampilan Menu Profil
Menu Konsultasi, ketika menu konsultasi di klik halaman yang
pertama kali muncul adalah petunjuk konsultasi yang memberikan informasi
berupa cara menggunakan fasilitas tombol button yang terdapat di menu
konsultasi, tombol button yang terdapat di menu konsultasi adalah lanjut,
kembali, batal dan mulai lagi. Jika tombol button ”Mulai Konsultasi” ditekan
maka akan masuk ke menu konsultasi. Pada menu konsultasi user bisa
melakukan konsultasi tentang seputar kejahatan-kejahatan untuk mengetahui
hasil konsultasinya berupa ancaman pidana berupa pasal dan hukumannya.
134
Gambar 4.34. Tampilan Menu Petunjuk
Menu Sistem Pakar berisi informasi tentang pengertian, kelemahan dan
kelebihan sistem pakar secara umum.
Gambar 4.35. Tampilan Menu Sistem Pakar
135
Menu Informasi menampilkan menu pencarian, user dapat melakukan
pencarian berupa informasi seputar tentang pengertian kejahatan dan lain
sebagainya yang berupa hal-hal yang bersangkutan dengan domain
permasalahan pada sistem ini.
Gambar 4.36. Tampilan Menu Pencarian
Menu buku tamu memberikan fasilatas untuk user agar user dapat
memberikan pesan, saran dan kritik terhadap sistem ini agar kedepannya
dapat lebih baik lagi.
Gambar 4.37. Tampilan Menu Buku Tamu
136
Menu masuk digunakan untuk login atau masuk ke menu
administrator, tapi hanya user yang telah diberikan autorisasi aja yang bisa
melakukan proses login. Autorisasi berupa pengisian username dan
passoword.
Gambar 4.38. Tampilan Menu Login
Menu home admin adalah halaman utama admin, ketika user telah
sukses melakukan proses login maka menu yang pertama kali masuk pada
halaman home.
Gambar 4.39. Tampilan Menu Home pada admin
137
Menu kejahatan digunakan untuk memperbaharui, menambah, melihat
dan menghapus knowledge base kejahatan, halaman ini merupakan tampilan
awal menu kejahatan ketika menu kejahatan di klik maka menu yang pertama
kali muncul adalah halaman awal kejahatan yang terdapat dua button yaitu go
dan tambah, pilihan go digunkan untuk pencarian dan tambah digunkan untuk
menambahkan knowledge base.
Gambar 4.40. Tampilan awal Menu Kejahatan pada admin
Menu kejahatan, dalam menu ini admin dapat melakukan
penambahan, perubahan dan penghapusan knowledge base. Untuk dapat
menampilkan semua data yang terdapat pada databasenya dapat dilakukan
dengan cara memilih tombol go. Jika hanya ingin menampilkan beberapa data
maka lakukan pengisian berupa kata kunci susuai dengan yang akan dicari
pada form yang telah disediakan pada menu kejahatan. Jika data yang dicari
tidak ada pada database maka akan muncul message ”data kosong” jika data
138
yang dicari ada pada database maka akan muncul data sesuai dengan
pencarian.
Gambar 4.41. Tampilan Menu kejahatan di admin
Menu tambah digunakan untuk menambahkan knowledge base. Dalam
menu ini terdapat button back yang di gunakan untuk kembali ke menu
sebelumnya, tambah untuk menambahkan data dan cancel digunakan untuk
menggagalkan penambahan data.
Gambar 4.42. Tampilan Menu tambah kejahatan
139
Menu view digunakan untuk menampilkan data, data yang
ditampilkan sesuai dengan data yang telah dipilih oleh admin.
Gambar 4.43. Tampilan Menu view kejahatan
Menu edit digunakan untuk memperbaharui knowledge base. Dalam
menu ini terdapat button back yang di gunakan untuk kembali ke menu
sebelumnya, edit untuk melakukan proses perubahan data dan cancel digunakan
untuk menggagalkan perubahan data.
Gambar 4.44. Tampilan Menu edit kejahatan
140
Menu delete digunakan untuk mendelete knowledge base. Dalam menu
ini terdapat button back yang di gunakan untuk kembali ke menu sebelumnya,
ok untuk melanjutkan proses penghapusan dan cancel digunakan untuk
menggagalkan penghapusan data.
Gambar 4.45. Tampilan Menu delete kejahatan
141
Menu pasal digunakan untuk memperbaharui, menambah, melihat dan
menghapus knowledge base pasal, halaman ini merupakan tampilan awal menu
pasal ketika menu pasal di klik maka menu yang pertama kali muncul adalah
halaman awal pasal yang terdapat dua button yaitu go dan tambah, pilihan go
digunkan untuk pencarian dan tambah digunkan untuk menambahkan
knowledge base. Fasilitas-fasilitas yang terdapat pada menu pasal tidak jauh
berbeda dengan button-button yang terdapat pada menu pasal sehingga
screenshoot menu tambah, view, edit, dan delete tidak di tampilkan lagi.
Gambar 4.46. Tampilan Menu Pasal pada admin
142
Menu manajemen admin digunakan untuk menampilkan dan
menambahkan user yang telah di berikan autentifikasi dan admin, halaman ini
merupakan tampilan awal menu manajemen admin ketika menu manajemen
admin di klik maka menu yang pertama kali muncul adalah halaman awal
manajemen admin yang terdapat dua button yaitu tampilkan dan tambah.
Gambar 4.47. Tampilan Menu Manajemen Admin
Halaman ini akan muncul ketika admin memilih menu tampilkan. Pada
halaman ini terdapat button tampilkan dan tambah.
Gambar 4.48. Tampilan Menu Update admin
143
Menu informasi digunakan untuk memperbaharui, menambah, melihat
dan menghapus informasi, halaman ini merupakan tampilan awal menu
informasi ketika menu informasi di klik maka menu yang pertama kali muncul
adalah halaman awal informasi yang terdapat dua button yaitu go dan tambah,
pilihan go digunkan untuk pencarian dan tambah digunkan untuk
menambahkan informasi. Fasilitas-fasilitas yang terdapat pada menu informasi
tidak jauh berbeda dengan button-button yang terdapat pada menu informasi
sehingga screenshoot menu tambah, view, edit, dan delete tidak di tampilkan
lagi.
Gambar 4.49. Tampilan Menu Informasi pada admin
144
Menu buku tamu digunakan untuk menampilkan data informasi,
halaman ini merupakan tampilan awal menu buku tamu ketika menu buku
tamu di klik maka menu yang pertama kali muncul adalah halaman awal buku
tamu yang terdapat dua button yaitu tampilkan.
Gambar 4.50. Tampilan awal menu buku tamu di admin
Halaman ini akan muncul ketika admin memilih menu tampilkan. Pada
halaman ini terdapat button view dan delete.
Gambar 4.51. Tampilan Menu Buku Tamu di admin
145
BAB V
PENUTUP
Berdasarkan uraian dan pembahasan yang telah diuraikan pada bab-bab
sebelumnya, maka dapat ditarik kesimpulan dan saran.
5.1 Kesimpulan
1. Sistem pakar ini dapat diakses secara online sehingga dapat
memudahkan bagi pihak Sat Reskrim dalam mensosialisasikan KUHP
sehingga dapat memberi kemudahan bagi user dalam mengaksesnya.
2. Sistem pakar ini memberikan fasilitas yang dapat memberikan
kemudahan bagi penggunanya dalam memilih kejahatan-kejahatan apa
saja yang ingin di ketahui ancaman pidananya.
5.2 Saran
1. Diharapkan pada pengembangan selanjutnya sistem ini terdapat menu
yang bisa menghasilkan keluaran berupa nama-nama pelaku tindak
kejahatan.
2. Diharapkan pada pengembangan selanjutnya sistem dapat melakukan
prin out dokumen sehingga user yang telah melakukan konsultasi dapat
melihat kembali pertanyaan-pertanyaan seputar kejahatan-kejahatan dan
hasil konsultasi yang telah dia konsultasikan.
3. Dilakukan pengembangan tahap lanjut sehingga sistem pakar ini dapat
bener-benar berfungsi sesuai dengan yang diharapakan yaitu untuk
146
mengurangi masyarakat yang awam akan hukum, untuk mengurangi
kesalahan dalam pelaporan kejahatan dan diharapkan agar dapat
meminimalisir tindak kejahatan .
147
DAFTAR PUSTAKA
Andi. 2009. Pengembangan Sistem Pakar Menggunkan Visual Basic. Yogyakarta :
Andi
Anonymous. 2009. Website Resmi Polres Metro Jakarta Selatan. [online] Tersedia :
www.jaksel.metro.polri.go.id. [ 13 Agustus 2010]
Anonymous. 2008. Sistem Pakar Tindak Pidana Terhadap Kekayaan. Informatic
Engineering. [online] Tersedia : www.pakarhukukum.site90.net. [ 20 Agustus
2010]
Arhami, Muhammad. 2005. Konsep Dasar Sistem Pakar. Yogyakarta : Andi
Burhanuddin, Luthfy. 2004. Aplikasi Sistem Pakar Untuk Mendiagnosa Penyakit
Mata. Universitas Islam Negeri Syarif Hidayatullah Jakarta. Skripsi tidak
diterbitkan.
Desiani, Anita dan Muhammad Arhami. 2006. Konsep Kecerdasan Buatan.
Yogyakarta : Andi
Dhiana, Aziz Sukma. 2010. Rancang Bangun Sistem Pakar Untuk Mendeteksi Gizi
Buruk Pada Balita. Universitas Islam Negeri Syarif Hidayatullah Jakarta.
Skripsi tidak diterbitkan
Hamzah, Andi Prof,Dr.Jur. 2008. Terminologi Hukum Pidana. Jakarta : Sinar Grafika
Handojo, Andreas dkk, 2006. Perancangan dan Pembuatan Aplikasi Sistem Pakar
untuk Permasalahan Tindak Pidana terhdap Kekayaan. Universitas Kristen
Petra. Paper tidak diterbitkan.
148
Hawari, Widi. 2008. Perancangan dan pembuatan aplikasi KUHP digital untuk
ponsel. Universitas Islam Negeri Syarif Hidayatullah Jakarta. Skripsi tidak di
terbitkan.
Husni. 2007. Pemrograman Database Berbasis Web. Yogyakarta : Graha Ilmu
Kendall, Kenneth E. dan Kendall, Julie E. 2003. Analisis dan Perancangan Sistem.
Jakarta : Pearson Education Asia Pte.Ltd dan PT. Prenhallindo
Kusumadewi, Sri. 2003. Artificial Intelligence Teknik dan Aplikasi. Yogyakarta :
Graha Ilmu
Ladjamudin, Al Bahra Bin, 2005, Analisis Dan Desain Sistem Informasi, Yogyakarta
: Penerbit Graha Ilmu
Marimin. 2005. Teori dan Aplikasi Sistem Pakar dalam Teknologi Manajerial. Bogor
: IPB PRESS
Mulyanto, Agus. 2009. Sistem Informasi Konsep & Aplikasi. Yogyakarta : Pustaka
Pelajar
Nugroho, bunafit. 2008. Membuat Aplikasi Sistem Pakar dengan PHP dan Editor
Dreamweaver. Yogyakarta : Gava Media
Peranginangin, Kasiman. 2006. Aplikasi Web dengan PHP dan MySQL. Yogyakarta :
Andi
Raghu, Ramakrishnan dan Gehrke, Johannes. 2004. Sistem Manajemen Database
Edisi 3. Jogjakarta : Andi & McGraw-Hill Education.
Sidik, Betha. 2005. MySQL Untuk Pengguna, Administrator dan Pengembang
Aplikasi Web. Bandung : Informatika
149
Suparman dan Marlan. 2007. Komputer Masa Depan pengenalan Artificial
Intelligence. Yogyakarta : Andi
Sutabri, Tata. 2005. Sistem Informasi Manajemen. Yogyakarta: Andi.
Turban, Efraim dkk. 2005. Decision Support Systems and Intelligent Systems.
Yogyakarta : Andi
Whitten, L. Jeffery, dkk. 2004. Metode Desain dan Analisis Sistem edisi 6.
Yogyakarta : Andi dan McGraw-Hill education
Hasil Evaluasi Dan Pengujian Sistem
Nama : Bapak Ibda. Hari Subeno, SH
Jabatan : Inspektur Polisi tingkat II
Lokasi : Sat Reskrim Polres Metro Jakarta Selatan (Lantai 3)
No Pengujian Penilaian
Baik Cukup Baik Kurang Baik
1 Fitur Aplikasi secara keseluruhan
2 Fitur untuk admin
3 Fitur untuk user
4 Tampilan Aplikasi
5 Kestabilan Aplikasi
6 Keamanan Aplikasi
7 Kesesuaian dengan keamanan
8 Interaksi Sistem dengan pengguna
Hasil Evaluasi Dan Pengujian Sistem
Nama : Ade Faisal
Jabatan : Masyarakat
Lokasi : kediaman Ade Faisal
No Pengujian Penilaian
Baik Cukup Baik Kurang Baik
1 Fitur Aplikasi secara keseluruhan
2 Fitur untuk admin
3 Fitur untuk user
4 Tampilan Aplikasi
5 Kestabilan Aplikasi
6 Keamanan Aplikasi
7 Kesesuaian dengan keamanan
8 Interaksi Sistem dengan pengguna
Hasil Evaluasi Dan Pengujian Sistem
Nama : Ferry Siswoyo
Jabatan : Mahasiswa
Lokasi : Perpustakaan Utama UIN Jakarta
No Pengujian Penilaian
Baik Cukup Baik Kurang Baik
1 Fitur Aplikasi secara keseluruhan
2 Fitur untuk admin
3 Fitur untuk user
4 Tampilan Aplikasi
5 Kestabilan Aplikasi
6 Keamanan Aplikasi
7 Kesesuaian dengan keamanan
8 Interaksi Sistem dengan pengguna
Source Code untuk Halaman
User
index.php <?php
session_start();
include 'tampilan.php';
include 'config/db.php';
if(isset($_POST['login']))
{
$user=addslashes(strip
_tags(trim($_POST['user']))
);
$pass=addslashes(strip
_tags(trim($_POST['pass']))
);
$flag = 1;
if(strlen($user) == 0 &&
strlen($pass) == 0) {
$msg = "<div
id=\"warning2\">username
dan password harap
diisi</div>";
$flag = 0;
}
else if(strlen($user)
== 0) {
$msg = "<div
id=\"warning2\">username
harap diisi</div>";
$flag = 0;
}
else if(strlen($pass)
== 0) {
$msg = "<div
id=\"warning2\">password
harap diisi</div>";
$flag = 0;
}
else {
$flag = 1;
}
if($flag === 1) {
$query = "select
* from admin where
username='".$user."' and
password='".$pass."'";
$result =
mysql_query($query);
$numRes=
mysql_num_rows($result);
if($numRes == 0) {
$msg="<div
id=\"warning2\">admin belum
terdaftar!!</div>";}
else {
$flag = 2;
}
}
if($flag === 2) {
$msg = "<div
id=\"success\">login
berhasil!!</div>";
}
}
$page =
$_SERVER['PHP_SELF'];
$arrMenu = array('Home' =>
'home', 'Profil' =>
'profil','Konsultasi' =>
'petunjuk', 'Sistem Pakar'
=> 'sispak','Informasi' =>
'informasi', 'Buku Tamu' =>
'bukutamu', 'Masuk' =>
'login','Iden' =>
'konsultasi');
headers();?><style
type="text/css">
<!--
body {
background-image:
url(images/wallpaper2-
5.png);
background-repeat:
repeat;
}
-->
</style>
<tr>
<td bordercolor="#666666"
style="overflow:auto;height
:550px;width:800px;"><div>
<table width="100%"
border="0" cellpadding="0"
cellspacing="0"
style="background:#CCCCCC">
<tr>
<?php
menus($_GET['p'],
$arrMenu);?>
<td
align="center" valign="top"
bordercolor="#666666"
bgcolor="#CCCCCC"
style="padding-
left:10px;height:600px"><di
v style="width:550px;">
<?php
if(isset($_GET['p'])) {
if(in_array((string)$_GET['
p'], $arrMenu)) {
if(file_exists($_GET['p'].'
.php')) {
include_once($_GET['p'].'.p
hp');
}
}
else {
exit('Not Allowed');
} }else {
if(file_exists('home.php'))
{
include_once('home.php');
}
}
?>
</div></td>
<td valign="top"
bordercolor="#666666"
id="center" style="padding-
top:10px"><div>
<?php
logins('Login', $page,
$_POST['user'],
$_POST['pass'], $msg);?>
</div>
<table>
<tr
id="cpncpn">
<td></td>
</table>
<tr>
<td></td>
</tr>
</table></td>
</tr>
<?php
footers();
?>
<embed src=".mp3"
autostart="true" height="0"
width="0"
loop="false"><?php
if($flag === 2) {
$token = md5(rand());
$_SESSION['user'] =
$token;
$_SESSION['token'] =
$token;?>
<meta http-
equiv="Refresh"
content="1;url=admin/"><?ph
p
}?>
Source Code untuk Halaman
Admin index.php <?php
session_start();
if(isset($_SESSION['user'])
&& $_SESSION['user'] ==
$_SESSION['token']) {
include
'../config/db.php';
include
'function.php';
include
'../CSSPagination.class.php
';
?>
<html>
<head>
<title>Administrator Sistem
Pakar Kitab Undang-undang
Hukum Pidana Terhadap
Kriminalitas</title>
<link rel="shortcut icon"
href="../favicon.ico">
<link rel="stylesheet"
type="text/css"
href="../style.css">
<link rel="stylesheet"
type="text/css"
href="admin.css">
<meta http-equiv="Content-
Type" content="text/html;
charset=iso-8859-1"><style
type="text/css">
<!--
body {
background-image:
url(../images/wallpaper2-
5.png);
}
-->
</style></head>
<?php
$arrMenu = array(
'Kejahatan' => 'kejahatan',
'Pasal' => 'pasal',
'Manajemen Admin' =>
'update-admin',
'Alternatif' =>
'alternatif',
'Informasi' => 'informasi',
'Buku Tamu' => 'bukutamu',
'Logout' => 'logout');
?>
<body id="wrap">
<table class="" border="0"
align="center"
cellspacing="0"
cellpadding="0">
<tr>
<td width="10" rowspan="3"
id="lside"></td>
</tr>
<tr>
<td width="700"
height="100">
<img
src="../images/header.jpg"
width="802"
height="163"></div>
<td width="1"
rowspan="2"
id="rside"></td>
</tr>
<tr><td align="center"
id="silver">
<div class = "content">
<div align="left"><!-- menu
admin BEGIN --->
<?php
$menu = 'mainmenu';
$act = 'menuactive';
$counter = 1;
foreach($arrMenu as
$keys=>$val) {
$dataMenu[$keys] = $val;}
foreach($dataMenu as $name
=> $link) {
if($link != $_GET['p']) {?>
<a class="<?=$menu?>"
href="?p=<?=$link?>"><?=$na
me?></a><?php
}
else {?>
<span class="<?=$menu?>"
id="<?=$act?>"><?=$name?></
span><?php
}
}?>
<!-- menu admin END --->
</div>
<!-- content BEGIN --->
<div class="isi"
align="center"
style="overflow:auto;height
:550px;width:800px;"><?php
if(!isset($_GET['p'])) {?>
<div id =
"comment"><h1><P>SELAMAT
DATANG
ADMINISTRATOR</P></h1></div
><?php}else {
if(in_array($_GET['p'],
$arrMenu)) {
if($_GET['p'] ==
'kejahatan' || $_GET['p']
== 'pasal') {
$page = 'pk.php';
}
else {
$page = $_GET['p'].".php";}
include_once($page);}
else {?>
File Tidak Ada!!!<?php}
}?> </div>
<!--- content END --->
<img
src="../images/footeradmin.
jpg" width="800"
height="100" ></td></tr>
</table>
</center>
</body>
</html><?php
}
else {?>
NOT ALLOWED<?php
}?>
Source Code untuk Halaman User
style.css
div.pagination {
padding: 3px;
margin: 10px; font-family:Verdana;
font-size:8pt; text-decoration:none
}
div.pagination a {
margin: 2px;
border: 1px outset #cdcdcd;
background:url(images/new-btn.jpg)
repeat-x;
text-decoration: none; /* no underline
*/
color: #fff;font-family:Verdana; font-
size:8pt; padding-left:5px; padding-
right:5px; padding-top:2px; padding-
bottom:2px
}
div.pagination a:hover {
margin: 2px;
background:url(images/new-btn-
3.jpg) repeat-x;
padding:2px 5px 2px 5px;
text-decoration:none;
}
div.pagination a:active {
margin: 2px;
background:url(images/new-
btn.jpg) repeat-x;
padding:2px 5px 2px 5px;
text-decoration:none;
}
div.pagination span.current {
margin: 2px;
border: 1px inset #efefef;
font-weight: bold;
color:#fff;padding:2px 5px 2px
5px;
}
div.pagination span.disabled {
margin: 2px;
border: 1px solid #999999;
color: #999;font-family:Verdana;
font-size:8pt; padding-left:5px; padding-
right:5px; padding-top:2px; padding-
bottom:2px
}
a:hover.list { font-family: Verdana; font-
size: 8pt; font-variant: small-caps;
text-decoration: underline;
text-transform: capitalize;
color: #006699; line-height:
200%; font-weight: bold }
a.list { text-transform: capitalize;
font-variant: small-caps; font-family:
Verdana;
font-size: 8pt; color:
#FF0000; text-decoration: underline;
line-height: 200%; font-
weight: bold }
style2.css
#wrap { margin:0px;color:maroon}
#header {
height:163px;
width:802px;
margin:0px;
background-image:
url(images/header.jpg);
background-repeat: no-repeat;
}
#footer {
height:90px;
width:728px;
margin:0px;
background-image:
url(images/footer.jpg);
background-repeat: no-repeat;
}
.content
{padding:0px;width:765px;margin:0px;}
#left{ width:510px;
margin-top:0px;
margin-bottom:25px;
border:grey 1px solid;
border-top:orange 2px solid;
text-align:center;
background:url(images/2.gif)
repeat-y;
padding:10px 5px 10px 5px;
height:auto;
}
.menu {
padding-left:5px;
padding-right:5px;
font-family:times new roman;
font-size:12pt;
font-weight:bold;
text-decoration:none;
text-align:center;
color:#fff;
border-right: #224871 1px solid;
border-left: #224871 1px solid;
background:url(images/new-
btn.jpg) repeat-x;
}
.menu:hover {
color:white;
background:url(images/new-
btn-2.jpg) repeat-x;
}
#active {
background:url(images/btn-
disabled.jpg) repeat-x;
color:red;
}
#content { border:;
height:100%;padding:0px;margin-bottom:5px;
font-size:12pt;font-family:tahoma;}
#left #content { width:100%;}
.login {text-
align:center;height:130px;width:200px;font-
family:tahoma;
font-
size:10pt;color:#000000;padding:5px;backgroun
d:#fff;border:#cfcfcf thin inset;font-
weight:bold;}
.login #title {font-size:10pt;font-
weight:bold;}
.info {text-
align:center;height:130px;width:200px;font-
family:tahoma;
font-
size:10pt;color:#000000;padding:5px;backgroun
d:#fff;border:#cfcfcf thin inset;}
.info #title {font-size:10pt;font-
weight:bold;}
p {font-weight:bold;font-
family:tahoma;margin:0px;}
hr {border:#3366FF thin groove;}
#warning {background:#FF0000; font-
size:14pt;vertical-align:middle;border:black
thin solid;
margin:2px;height:auto;
width:520px;float:left;text-align:center;}
#warning2{background:#FF0000;border:black
thin solid;width:auto;font-size:10pt;font-
weight:bold;color:yellow;text-align:center;}
#success {background:#FF0000;border:black
thin solid;width:auto;font-size:10pt;font-
weight:bold;color:yellow;text-align:center;}
li {font-size:10pt;}
#li {color:#000000;font-weight:bold;font-
size:10pt;}
#tampildata {font-size:10pt;font-
family:calibri;width:500px;text-
align:center;padding:5px;background
:url(images/bgc.jpg);}
#tanya {border:#cfcfcf 2px inset;background :
url(images/dasar.jpg);width:500px;}
#tanya #title
{background:url(images/bgc.jpg);
height:30px;color:#fff;font-
family:tahoma;font-weight:bold;text-
align:center; }
#top {font-size:12pt;font-family:tahoma;
font-weight:bold;width:530px;color:#244781;
}
#infocari {font-size:10pt;font-
family:tahoma;font-
weight:bold;color:#244781;}
#pic {
position: relative;
height:80px;
width:130px;
}
img {1px solid;}
#pic a .large {
border: 1px;
display:block;
height: 1px;
left: -1px;
position:absolute;
top: -1px;
width: 1px;
}
#pic a:hover .large {
left:120px;
top:-60px;
width:205px;
height:205px;
padding:5px;
z-index:3;
}
#solusi {background:#28c453;font-
size:10pt;font-weight:bold;}
#list {background:url(images/list.jpg)
repeat-y;height:2px;margin:0px}
#lside {background:url(images/lside.jpg)
repeat-y;width:15px;}
#rside{background:url(images/rside.jpg)
repeat-y;width:15px;}
.field {
background:#cfcfcf;
color:#0065b9;
font-family:system;
font-size:;
}
#title {
height:30px;
font-family:tahoma ;
display:blink;
font-weight:bold;
text-align:center;
width:100%;
}
#ctnctn {text-align:center;}
#ctnctl {text-align:left;}
#tableset {font-family:tahoma;font-
size:12pt;}
#tableset #title{font-size:14pt;font-
weight:bold;}
#tableset #ctnctn {font-weight:;font-
family:times new roman,garamond;font-
size:12pt;}
#tableset #ctnctl {font-weight:;font-
family:times new roman,garamond;font-
size:12pt;}
#ctnctn b {color:#fff200;}
#point {background:url(images/point.gif) no-
repeat;padding-left:1.5em;text-
align:left;margin:2px 1px 1px 10px;}
a {text-decoration:underline;color:grey;}
#link {text-
decoration:underline;cursor:pointer;}
tampilan.php
<?php
//tampilan.php
function headers() {?>
<html>
<head>
<title>Sistem Pakar Kitab Undang-undang Hukum
Pidana Terhadap Kriminalitas</title>
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" type="text/css"
href="style2.css">
<link rel="stylesheet" type="text/css"
href="style.css">
<style type="text/css">
<!--
.style4 {
font-size: 9pt;
font-style: italic;
color: #663300;
font-family: "times new roman";
}
body {
background-image:
url(images/wallpaper2-5.png);
background-repeat: repeat;
}
-->
</style>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-
1"></head>
<body id="wrap">
<center>
<table border="0" cellspacing="0"
cellpadding="0">
<tr>
<td id="lside"></td>
<td>
<table width="794" height="294"
border="0" align="center" cellpadding="0"
cellspacing="0" class="">
<tr>
<td width="802"
height="163"><div id="header"></div></td>
</tr>
<tr>
</tr><?php
}
function footers() {?>
<tr>
<td
style="background:url(images/footer.jpg)"><di
v id="footer">
</div>
</td>
</tr>
<tr>
</tr>
</table>
<td id="rside"></td>
</tr>
</table>
</center><?php
}
function logins($title="", $action="",
$user="", $pass="", $msg="") {?>
<?php
}
function menus($page, $arrMenu) {
$menu = 'menu';
$act = 'active';
foreach($arrMenu as $key=>$val) {
$dataMenu[$key] = $val;
}
if(!isset($page)) {
$page = 'home';
}
else {
$page = $page;
}
foreach($dataMenu as $name => $link) {
if($name === 'Iden') {
continue;
}
if($link != $page) {?>
<a class="<?=$menu?>"
href="./?p=<?=$link?>"><?=$name?></a><?php
}
else {?>
<span class="<?=$menu?>"
id="<?=$act?>"><?=$name?></span><?php
}
}
}
?>
db.php
<?php
$host = 'localhost';
$username = 'root';
$password = '';
$db = 'sispakkuhp';
@$con = mysql_connect($host, $username,
$password);
if(!$con) {?>
Cannot connect to MySql<?php
exit;
}
else {
@$sdb = mysql_select_db($db, $con);
if(!$sdb) {?>
Cannot connect to Database<?php
exit;
}
}
?>
index.php
<?php
session_start();
include 'tampilan.php';
include 'config/db.php';
if(isset($_POST['login'])) {
$user=addslashes(strip_tags(trim($_POST
['user'])));
$pass=addslashes(strip_tags(trim($_POST
['pass'])));
$flag = 1;
if(strlen($user) == 0 && strlen($pass) == 0)
{
$msg = "<div id=\"warning2\">username
dan password harap diisi</div>";
$flag = 0;
}
else if(strlen($user) == 0) {
$msg = "<div
id=\"warning2\">username harap diisi</div>";
$flag = 0;
}
else if(strlen($pass) == 0) {
$msg = "<div
id=\"warning2\">password harap diisi</div>";
$flag = 0;
}
else {
$flag = 1;
}
if($flag === 1) {
$query = "select * from admin
where username='".$user."' and
password='".$pass."'";
$result = mysql_query($query);
$numRes= mysql_num_rows($result);
if($numRes == 0) {
$msg="<div
id=\"warning2\">admin belum
terdaftar!!</div>";}
else {
$flag = 2;
}
}
if($flag === 2) {
$msg = "<div id=\"success\">login
berhasil!!</div>";
}
}
$page = $_SERVER['PHP_SELF'];
$arrMenu = array('Home' => 'home', 'Profil'
=> 'profil','Konsultasi' => 'petunjuk',
'Sistem Pakar' => 'sispak','Informasi' =>
'informasi', 'Buku Tamu' => 'bukutamu',
'Masuk' => 'login','Iden' => 'konsultasi');
headers();?><style type="text/css">
<!--
body {
background-image:
url(images/wallpaper2-5.png);
background-repeat: repeat;
}
-->
</style>
<tr>
<td bordercolor="#666666"
style="overflow:auto;height:550px;width:800px
;"><div>
<table width="100%" border="0"
cellpadding="0" cellspacing="0"
style="background:#CCCCCC">
<tr>
<?php menus($_GET['p'], $arrMenu);?>
<td align="center" valign="top"
bordercolor="#666666" bgcolor="#CCCCCC"
style="padding-left:10px;height:600px"><div
style="width:550px;">
<?php
if(isset($_GET['p'])) {
if(in_array((string)$_GET['p'],
$arrMenu)) {
if(file_exists($_GET['p'].'.php')) {
include_once($_GET['p'].'.php');
}
}
else {
exit('Not Allowed');
}
}
else {
if(file_exists('home.php')) {
include_once('home.php');
}
}
?>
</div></td>
<td valign="top" bordercolor="#666666"
id="center" style="padding-top:10px"><div>
<?php
logins('Login',
$page, $_POST['user'], $_POST['pass'],
$msg);?>
</div>
<table>
<tr id="cpncpn">
<td></td>
</table>
<tr>
<td></td>
</tr>
</table></td>
</tr>
<?php
footers();
?>
<embed src=".mp3" autostart="true" height="0"
width="0" loop="false"><?php
if($flag === 2) {
$token = md5(rand());
$_SESSION['user'] = $token;
$_SESSION['token'] = $token;?>
<meta http-equiv="Refresh"
content="1;url=admin/"><?php
}?>
home.php
<style type="text/css">
<!--
.style2 {font-family: Tahoma; font-size:
12px; }
.style10 {font-family: Tahoma; font-weight:
bold; font-size: 12px; }
.style12 {
font-size: 14px;
color: #990000;
font-weight: bold;
}
.style13 {color: #0000FF}
.style14 {
color: #990000;
font-weight: bold;
}
.style16 {font-family: Tahoma; font-size:
12px; color: #990000; }
-->
</style>
<table border="0" cellspacing="5"
cellpadding="0" rules="none" id="tableset"
align="center">
<tr>
<td width="714" align="center"
id="title"><img src="images/icon-home.png"
width="110" height="98" /><span
class="style12"><blink><span
class="style11"><br /><br />SELAMAT DATANG DI
WEBSITE</blink> <marquee>
<span class="style13"><br />SISTEM
PAKAR KUHP TERHADAP KRIMINALITAS</span>
</marquee></span>
<hr></td>
</tr>
<tr>
<td colspan="3">
<div id="mainctn">
<table>
<tr id="ctnctn">
<td align=center><div align="justify"><span
class="style16">Sistem pakar berbasis web ini
digunakan untuk Mengetahui suatu ancaman
pidana terhadap kejahatan yang dilakukan.
Dengan sistem pakar ini diharapkan pengguna
dapat memahami dan menyadari bahwa melakukan
suatu tindakan kejahatan dapat di anacam
suatu hukum pidana sesuai dengan pasal-pasal
yang telah di atur dalam Kitab Undang-undang
Hukum Pidana</span></div></td></tr>
</table></div></td></tr>
<tr>
<tr><tr><tr><tr><tr><tr><tr><tr><tr><td
align="center" id="title" colspan="3"><span
class="style14">MENU</span>
<hr></td></tr></tr></tr></tr></tr></tr></tr>
</tr>
</tr>
<tr>
<td>
<div id="mainctn">
<table>
<tr id="ctnctl">
<td width="120" valign="top"><div
class="style10" id="point">
<a
href="<?=$_SERVER['PHP_SELF']?>?p=profil">Pro
fil</a></div></td>
<td
valign="top"background:url(images/point.jpg><
/td>
<td><div align="justify"><span
class="style16">Menjelaskan tentang profil
Polres Metro Jakarta
Selatan</span></div></td>
</tr>
<tr
id="ctnctl">
<td
width="120" valign="top"><div class="style10"
id="point"><a
href="<?=$_SERVER['PHP_SELF']?>?p=petunjuk">K
onsultasi</a></div></td>
<td
valign="top"background:url(images/point.jpg><
/td>
<td><div align="justify"><span
class="style16">Membantu menemukan suatu
pasal dari tindak kejahatan yang
dilakukan</span></div></td>
</tr>
<tr
id="ctnctl">
<td
width="120" valign="top"><div class="style10"
id="point"><a
href="<?=$_SERVER['PHP_SELF']?>?p=spesif">Sis
tem Pakar</a></div></td>
<td
valign="top"></td>
<td><div
align="justify"><span
class="style16">Menampilkan pengertian,
kelbihan dan kekurangan sistem pakar secara
global</span></div></td></tr>
<tr id="ctnctl">
<td
valign="top"><div class="style10"
id="point"><a
href="<?=$_SERVER['PHP_SELF']?>?p=informasi">
Informasi</a></div></td>
<td valign="top"></td>
<td><div align="justify"><span
class="style16">Melakukan pencarian informasi
</span></div></td>
</tr>
<tr id="ctnctl">
<td valign="top"><div class="style10"
id="point"><a
href="<?=$_SERVER['PHP_SELF']?>?p=bukutamu">B
uku Tamu</a></div></td>
<td valign="top"></td>
<td><div align="justify"><span
class="style16">Memberikan komentar atau
saran terhadap sistem pakar
ini.</span></div></td>
</tr>
<tr id="ctnctl">
<td
width="120" valign="top"><div class="style10"
id="point"><a
href="<?=$_SERVER['PHP_SELF']?>?p=login">Masu
k</a></div></td>
<td
valign="top"background:url(images/point.jpg><
/td>
<td><div
align="justify"><span class="style16">Menu
untuk user yang telah di berikan autorisasi
untuk mengaksesnya</span></div></td></tr>
</table>
</div></td>
</tr>
</table>
profil.php
<?php
if(isset($_POST['submit']) &&
$_POST['submit'] == 'Mulai Konsultasi') {?>
<meta http-equiv="Refresh"
content="0;url=<?=$_SERVER['PHP_SELF']?>?p=ko
nsultasi"><?php
}
else {
?>
<style type="text/css">
<!--
.style2 {font-family: Tahoma; font-size:
12px; }
.style5 {font-size: 16px}
-->
</style>
<table border="0" cellspacing="5"
cellpadding="0" rules="none" id="tableset"
align="center" width="100%">
<tr>
<td align="center" id="title"
colspan="2"><p class="style2">PROFIL
KEPOLISIAN RESORT METRO JAKARTA SELATAN</p>
<p class="style2">JL. Wijaya II No. 42
Kebayoran Baru, Jakarta Selatan 1216 </p>
<hr></td></tr>
<tr><td>
<div id="mainctn">
<table>
<tr id="ctnctn">
<td align="center"><img
src="images/polres.jpg" width="300"
height="250" /></td></center>
</tr> <tr id="ctnctn">
<td> <div class="style2"
id="point">
<p>KAPOLRES METRO JAKARTA SELATAN : Kombes
Pol Drs.Gatot Eddy Pramono, Msi WAKAPOLRES
METRO JAKARTA SELATAN : AKBP Drs. Kris
Erlangga. AW</p>
<p align="justify">Dengan Pembangunan
Community Policing, Polres Metro Jakarta
Selatan selalu siap untuk melindungi
mengayomi dan melayani masyarakat.</p>
<p align="justify">Atas dasar itu Polres
Berusaha Membangun Sinergi penyelenggaraan
keamanan, melalui cara:</p>
<div align="left"><ol><li>
<div align="justify">Membangun
Kemitraan</div></li>
<li>
<div align="justify">Terciptanya lingkungan
kerja, dengan adanya bantuan fungsional
kepolisian masyarakat dan lingkungan kerja,
yang pada akhirnya terbentuk lingkungan
makro dengan luas wilayah, jumlah penduduk,
terbangunnya pranata hukum dan pranata
sosial.</div></li>
<li><div align="justify">Terbentuknya sinergi
dengan potensi masyarakat.</div></li>
<li>
<div align="justify">Membangun jaringan
intelejen keamanan internal kewilayahan untuk
menemukan akar gangguan, pengendapan masalah
keamanan, ambang gangguan dan dapat teratasi
setiap gangguan nyata yang terjadi.</div>
</li></ol></div>
<p align="justify">Pembangunan Masyarakat
Patuh Hukum :</p>
<div align="left">
<ol>
<li>
<div
align="justify">Kerjasama dengan institusi
Penegak hukum dan departemen yang membawahi
PPNS, Pemda serta kelompok masyarakat peduli
pada kesadaran hukum dan keadilan. </div>
</li>
<li>
<div
align="justify">Terwujudnya Penegakkan
Keadilan Masyarakat, terutama memiliki
strategi pencegahan tindak kriminal,
penerapan yang konsisten pada prosedur
penanganan pelaku tindak criminal sesuai
hukum dan HAM.</div>
</li>
<li>
<div
align="justify">Terwujudnya 7 Dimensi
Pelayanan Masyarakat yang mencakup :
</div>
</li>
</ol>
</div>
<div align="left">
<ul>
<li>Berkomunikasi berbasis kepedulian ;</li>
<li>Cepat Tanggap ;</li><li>Kemudahan
pemberian Informasi ;</li>
<li>Prosedur yang efisien dan efektif ;</li>
<li>Biaya yang formal dan wajar ;</li>
<li>Kemudahan penyelesaian urusan ;dan</li>
<li>Lingkungan fisik tempat kerja yang
kondusif.</li></ul></div>
<p align="justify"> </p>
</div>
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</center>
<?php
}?>
informasi.php
<?php
//informasi.php
include 'config/db.php';
include 'CSSPagination.class.php';
if(isset($_POST['cari']) ||
isset($_GET['page'])) {
$key =
addslashes(strip_tags(trim($_POST['key'])));
if(strlen($key) == 0) {
$query = "select * from
informasi";
}
else {
$query = "select * from informasi
where informasi like '$key%' or keterangan
like '$key%'";
}
$rowsperpage = 4;
$website = '?p=informasi';
$pagination = new CSSPagination($query,
$rowsperpage, $website);
$pagination->setPage($_GET['page']);
if(strlen($key) == 0) {
$query2 = "select * from
informasi LIMIT " . $pagination->getLimit() .
", " . $rowsperpage;
}
else {
$query2 = "select * from
informasi where informasi like '$key%' or
keterangan like '$key%'";
}
$result = @mysql_query($query2) or
die("failed");
$num_rows = mysql_num_rows($result);
$datas .= '<hr><div id="title"><b>Hasil
Pencarian Informasi</b></div>';
$datas .= '<table border="0"
align="justify" rules="" id="" style="margin-
top:5px;font-family:times new roman;">';
$datas .= '<tr
style="background:#cfcfcf;color:#000;font-
size:7pt:bold"><width="500"
align="justify"></tr>';
if($num_rows == 0) {
$datas .=
'<tr><align="justify">Belum ada
data</td></tr>';
}
else {
$datas .= '<tr><td colspan="0"><div
style="height:500px;overflow:auto">';
$datas .= '<table>';
while($rows =
mysql_fetch_array($result)) {
//$informasi =
$rows['informasi'];
$keterangan =
$rows['keterangan'];
$datas .= '<tr
align="justify"><td>
<td
align="justify">'.ucwords($keterangan).'
</td></tr>';
}
$datas .= '</table>';
$datas .= '</div></td></tr>';
}
$datas .= '</table>';
$datas .= $pagination->showPage();
}
else {
$datas .= '<hr><div
align="justify" id="title2"><b>Belum Ada
Pencarian</b></div>';
}
?><justify>
<div align="justify"
style="margin:5px;"><table width="533"
border="0">
<tr>
<td width="500" colspan="0"
align="justify" id="title"><div
align="center"><strong><img
src="images/search.png" width="75"
height="74" />PENCARIAN INFORMASI
</strong>
</div>
<hr></td></tr></table>
</div></justify>
<form method="post" action=""
style="margin:1px;">
<span style="font-size:12pt;font-
family:calibri;">Kata Kunci</span> : <input
type="text" name="key" value="<?=$key?>"
style="color:blue;">
<input type="submit" name="cari" value="Cari"
style="" id="tombol"><br>
<span style="font-family:verdana;font-
size:7pt;padding:2px;font-weight:bold;">Klik
"Cari" tanpa kata kunci untuk menampilkan
seluruh informasi.</span>
</form>
<justify>
<table>
<tr>
<td>
<div align="justify">
<?=$datas?>
</div>
</td>
</tr>
</table>
</justify>
konsultasi.php
<?php
include 'config/db.php';
function search_tree($result = '',$key_induk
= '') {
while($rows =
mysql_fetch_array($result)) {
$arr_key_link[] = $rows['link'];
}
if(empty($arr_key_link)) {
$query = "select kd_pasal,
nm_pasal, jns_kejahatan, ket_pasal, himbauan
from pasal where kd_pasal = ( select kd_pasal
from kejahatan where rule =
'".$key_induk."')";
$result = mysql_query($query);
$num_result_pasal =
mysql_num_rows($result);
while($rows =
mysql_fetch_array($result)) {
$nm_pasal = $rows['nm_pasal'];
$jns_kejahatan = $rows['jns_kejahatan'];
$ket_pasal = $rows['ket_pasal'];
$himbaun = $rows['himbauan'];?>
<tr align="center">
<td><?php echo $nm_pasal?></td>
<td><?php echo $jns_kejahatan?></td>
<td><?php echo $ket_pasal?></td>
<td><?php echo $himbauan?></td>
</tr><?php
}
}
else {
foreach($arr_key_link as $val) {
$query = "select link from link
where rule = '".$val."'";
$result = mysql_query($query);
/*$arr_pasal .= */
search_tree($result, $val);
}
}
return $arr_pasal;
}
//jika next belum ditekan, muncul awalan
if(!isset($_POST[$_POST['uniq_next']])) {
$id = '000 or 000.1';
$query = "select * from kejahatan where
induk = '$rule' order by rule asc";
$result = mysql_query($query);
$start = true;
}
//inisialisasi button name
if(!isset($btn_next_name)) {
$btn_next_name = uniqid();
$btn_back_name = uniqid();
$btn_cancel_name = uniqid();
$btn_start_name = uniqid();
$not = 'alternatif?';
$title = 'Pilih Pertanyaan Tentang
Kejahatan';
}
//jika next ditekan
if(isset($_POST[$_POST['uniq_next']])) {
$key = $_POST['key'];
if($key == '') {
$query = "select * from kejahatan where
induk = '".$_POST['parent']."' order by rule
asc";
$result = mysql_query($query);
}
elseif($key == 'not') {
$key_induk = $_POST['parent'];
if($key_induk == '000') {
$not_identified = true;
$title = 'pasal';
}
else {
$alt_answer = true;
$title = 'kesimpulan Pasal
alternatif';
}
}
else {
$query = "select * from kejahatan where
induk = '".$key."' order by rule asc";
$result = mysql_query($query);
$count = mysql_num_rows($result);
if(!$count) {
$query = "select * from pasal
where kd_pasal = ( select kd_pasal from
kejahatan where rule = '".$key."')";
$result = mysql_query($query);
$cari_pasal = true;
$title = 'pasal';
}
}
}
//jika back ditekan
if(isset($_POST[$_POST['uniq_back']])) {
$key = $_POST['grandpa'];
if(strlen($key) != 0) {
$query = "select * from kejahatan where
induk = '".$key."' order by rule asc";
$result = mysql_query($query);
}
}
//jika cancel ditekan
if(isset($_POST[$_POST['uniq_cancel']])) {?>
<meta http-equiv="Refresh"
content="0;url=<?php echo
$_SERVER['PHP_SELF']?>?p=petunjuk"><?php
}
//jika start ditekan
if(isset($_POST[$_POST['uniq_start']])) {
}
?>
<form method="post" action="">
<table border="1" rules="all" frame="hsides"
height="400" width="500" align="center">
<thead>
<tr>
<td scope="col" id="title"
style="color:orange"><?php echo
ucwords($title)?></td>
</tr>
</thead>
<tbody align="center">
<tr>
<td valign="center">
<div
style="overflow:auto;height:300;width:550">
<table width="100%">
<?php
//jika telah sampai pada ujung dari
node
if($cari_pasal) {
$num_res = @mysql_num_rows($result);
if($num_res == 0) {?>
<tr>
<td align="center">
<div
style="height:100%;padding-top:60px">
<span style="font-
weight:bold;font-size:14pt">Nama Dan Jenis
Kejahatan Tidak Ditemukan</span>
</div> </td>
</tr>
<input type="hidden" name="grandpa"
value="<?php echo $_POST['parent']?>" /><?php
}else {
while($rows = mysql_fetch_array($result)) {
$kd_pasal = $rows['kd_pasal'];
$nm_pasal = $rows['nm_pasal'];
$jns_kejahatan = $rows['jns_kejahatan'];
$ket_pasal = $rows['ket_pasal'];
$himbauan = $rows['himbauan'];
?>
<tr>
<td>
<div align="center">
<table>
<thead>
<tr>
<td align="center" colspan="2">
<?php
if($suara != '') {?>
<embed src="<?php echo $file_suara?>"
autostart="true" loop="false" height="0"
width="0" /><?php
}
?>
</thead>
<tbody style="font-size:10pt;font-
weight:bold">
<tr><td>Pasal</td><td>: <?php echo
$nm_pasal?></td></tr>
<tr>
<td>Jenis Kejahatan</td><td>: <?php echo
$jns_kejahatan?></td></tr>
<tr align=center>
<td>Keterangan Pasal</td><td>: <?php echo
$ket_pasal?></td></tr></tbody></table>
</div></td></tr>
<input type="hidden" name="grandpa"
value="<?php echo $_POST['parent']?>" /><?php
}
}
}
//jika tdk teridentifikasi
elseif($not_identified) {?>
<tr><td align="center">
<div style="height:100%;padding-top:60px">
<span style="font-weight:bold;font-
size:14pt">Nama Dan Jenis Kejahatan Tidak
Ditemukan</span></div></td></tr>
<input type="hidden" name="grandpa"
value="<?php echo $_POST['parent']?>" />
<?php
}
elseif($alt_answer) {
$query = "select link from link
where rule = '".$key_induk."'";
$result = mysql_query($query);
$num_link =
mysql_num_rows($result);
while($rows =
mysql_fetch_array($result)) {
$key_induk = $rows['link'];
$query_tanya = "select
kejahatan from kejahatan where rule =
'".$key_induk."'";
$result_tanya =
mysql_query($query_tanya);
$row_tanya =
mysql_fetch_array($result_tanya);
$query_alternatif = "select
a.nm_pasal, a.jns_kejahatan, a.ket_pasal from
pasal a JOIN alternatif b where b.rule=
'".$key_induk."' and b.kd_pasal = a.kd_pasal
group by a.nm_pasal, a.jns_kejahatan,
a.ket_pasal";
$result_alternatif =
mysql_query($query_alternatif);
$num_alternatif =
@mysql_num_rows($result_alternatif);
?>
<tr><tr
style="background:#cfcfcf;color:#000;font-
size:10pt;font-weight:bold"
align="justified">
<td
align=center>Pasal</td><td align=center>Jenis
Kejahatan</td><td align="center">Keterangan
Pasal</td>
</tr>
</tr><?php
if($num_alternatif
>0) {
while($rows =
mysql_fetch_array($result_alternatif)) {
$nm_pasal = $rows['nm_pasal'];
$jns_kejahatan = $rows['jns_kejahatan'];
$ket_pasal = $rows['ket_pasal'];
$himbauan = $rows['himbauan'];?>
<tr align="center">
<td>
<?php echo $nm_pasal?></td>
<td>
<?php echo $jns_kejahatan?></td>
<td><?php echo $ket_pasal?></td>
<td><?php echo $himbauan?></td></tr><?
}
}
else {
$query2 = "select link from link where rule =
'".$key_induk."'";
$result2 = mysql_query($query2);
$num_res = mysql_num_rows($result2);
if($num_res == 0) {?>
<tr><td colspan="3" align="center">Nama Dan
Jenis Kejahatan Tidak Ditemukan</td></tr><?}
else {
search_tree($result2,$key_induk);
}
}
?>
<tr>
<td colspan="3"
style="background:#cfcfcf"></td>
</tr><?php
}
?>
<input type="hidden"
name="grandpa" value="<?php echo
$_POST['parent']?>" /><?php
}
//jika belum sampai pada ujung node
else{
$arr_id_tanya = '';
//get result Kejahatan dan awal
tampil
while($rows = mysql_fetch_array($result)) {
$id_tanya = $rows['rule'];
$kd_kejahatan = $rows['kd_kejahatan'];
$kejahatan = $rows['kejahatan'];
$kd_pasal = $rows['kd_pasal'];
$arr_id_tanya[] = $id_tanya;$cari_tanda_tanya
= substr_count($kejahatan,'?');
if($cari_tanda_tanya == 0) {
$tanda_tanya = '?';
}
else {
$tanda_tanya = '';
}
?>
<tr>
<td>
<label for="<?php echo
$id_tanya?>" <?php echo $id_tanya?>')"
('<?php echo $id_tanya?>')"><input
type="radio" name="key" value="<?php echo
$id_tanya?>" id="<?php echo $id_tanya?>"
/><?php echo
ucwords($kejahatan).$tanda_tanya?></label></t
d>
<td align="right">
</td>
</tr>
<?php
}?>
<tr>
<td>
<input type="radio"
name="key" value="not" id="not" /><?php echo
ucwords($not)?></label> </td>
<td align="right">
</td>
</tr><?php
//cari link induk
if(count($arr_id_tanya) > 1) {
$query = "select distinct
rule from link where link in (";
foreach($arr_id_tanya as
$key=>$val) {
$query .=
"'".$val."',";
}
//correcting query link
induk
$query =
substr_replace($query,'',-1);
$query .= ")";
}
else {
$query = "select distinct
rule from link where link =
'".$arr_id_tanya[0]."'";
}
//connect ke database untuk link
induk
$result = mysql_query($query);
//get result link induk
while($rows =
mysql_fetch_array($result)) {
$id_parent =
$rows['rule'];?>
<input type="hidden"
name="parent" value="<?php echo $id_parent?>"
/><?php
}
//carilink grandpa
$query = "select distinct rule
from link where link = '".$id_parent."'";
//connect ke database untuk link
grandpa
$result = mysql_query($query);
//get result link grandpa
while($rows =
mysql_fetch_array($result)) {
$id_grandpa =
$rows['rule'];?>
<input type="hidden"
name="grandpa" value="<?php echo
$id_grandpa?>" /><?php
}
}?>
</table>
</div> </td>
</tr>
<tr>
<td style="border:none"><?php
if($alt_answer || $not_identified ||
$cari_pasal) {?>
<input type="submit" name="<?php
echo $btn_back_name?>" value="Kembali">
<input type="submit" name="<?php
echo $btn_start_name?>" value="Mulai
Lagi"><?php
}
else {?>
<input type="submit" name="<?php
echo $btn_next_name?>" value="Lanjut">
<input type="submit" name="<?php
echo $btn_back_name?>" value="Kembali">
<input type="submit" name="<?php
echo $btn_cancel_name?>" value="Batal">
<input type="submit" name="<?php
echo $btn_start_name?>" value="Mulai
Lagi"><?php
}?>
<input type="hidden" name="uniq_next"
value="<?php echo $btn_next_name?>" />
<input type="hidden" name="uniq_back"
value="<?php echo $btn_back_name?>" />
<input type="hidden" name="uniq_cancel"
value="<?php echo $btn_cancel_name?>" />
<input type="hidden" name="uniq_start"
value="<?php echo $btn_start_name?>" />
</td>
</tr>
</tbody>
</table>
</form>
login.php
<h5><font face="Bauhaus 93">LOGIN ADMIN
SISTEM PAKAR KUHP</font></h5>
<center><img
src="images/login.png" alt="" width="64"
height="64" class="abouticon" /></center>Bagi
User yang sudah memiliki account, silakan
Login terlebih dahulu. Masukan username dan
password yang telah Anda miliki.
<form action="<?=$action?>"
method="post" name="flogin">
<table class="" border="0"
align="center" cellspacing="0"
cellpadding="0" rules="none">
<tr>
<td
colspan="2"><?=$msg?></td>
</tr>
<tr>
<td id="title"
colspan="2"><?=$title?></td>
</tr>
<tr>
<td><label for="u">
<strong>Username</strong> : <
/td><td><input type="text" name="user"
value="<?=$user?>" size="17" class="field"
id="u"></label></td></tr>
<tr><td><label for="p">
<strong>Password</strong> : <
/td><td><input type="password" name="pass"
value="<?=$pass?>" size="17" class="field"
id="p"></label></td></tr><tr></tr>
<td colspan="2"> </td>
<tr><tr></tr><tr></tr>
<td><input type="submit" name="login"
value="Login" id="tombol" width=15></td>
<td><input type="reset" name="reset"
value="Cancel" id="tombol"></td>
</tr></table>
</form>
<?php
Source Code untuk Halaman Admin
admin.css.
#wrap {
margin:0px;
padding: 0px;
color:white;
}
.frame {
min-height:500px;
min-width:765px;
}
.header {
height:163px;
width:802px;
margin:0px;
background-image:
url(../images/header.jpg);
background-repeat: no-repeat;;
}
#footer {
height:90px;
width:728px;
margin:0px;
background-image:
url(../images/footer.jpg);
background-repeat: repeat;
}
.content {
}
.content table {
height:AUTO;
width:100%;
}
.menu {
margin: 10px;
padding: 0px;
width: 190px;
height: auto;
min-width: 100px;
border:#cdcdcd 1px outset;
font-size:9pt;
font-family:calibri;
text-align:center;
position:absolute;
top:13em;
}
.menu hr {
margin:0px;
}
a {
text-decoration:none;
color:#a0a0a0;
}
.menu a {
text-decoration:none;
}
#button {
border-bottom:#000000 0.5px
inset;
}
#button #current {
color:#000000;
}
.menu #button a:hover
{
color:#000000;
}
.isi {
border:#000000 thin outset;
border-top:orange 1px solid;
border-bottom:orange 1px solid;
width:100%;
background-image:
url(../images/4livina.jpg);
}
.isi #comment {
min-height:160px;
padding-top:20px;
height:180px;
color:white;
}
#logout {
width:auto;
height:15px;
margin:10px;
padding:0px;
border:#cdcdcd 1px outset;
font-size:8pt;
font-family:arial;
}
a:hover #logout {
color:#000000;
}
.isi #title {
margin:5px;
padding:5px;
color:red;
font-size:14pt;
font-family:arial;
font-weight:bold;
letter-spacing:2;
}
.menu #title {
padding:3px;
font-size:10pt;
font-weight:bold;
color:black;
}
.isi #cari {
font-size:12pt;
font-family:arial;
font-weight:bold;
color:white;
width:100%;
}
#tombol {
background:url(../images/new-btn4.jpg)
repeat-x;
cursor:pointer;
color:#fff;
}
#tombol:hover {
color:#efefef;
}
#submit {
background:url(../images/new-btn4.jpg)
repeat-x;
cursor:pointer;
color:#fff;
}
#submit:hover {
background:url(../images/new-btn-3.jpg)
repeat-x;
color:#efefef;
}
.isi #subisi {
min-
height:105px;color:red;
}
#tabresult {
text-align:center;
width:90%;
}
#tabresult #title {
font-size:8pt;
height:5px;
border:#c0c0c0
1px outset;
background:url(../images/title4.jpg);
color:#fff;
}
.isi #subisi #tabresult {
font-size:10pt;
font-family:calibri;
color:red;
}
.isi #subisi table {
margin:0px;
color:white;
}
#field {
background:#dfdfdf;
color:red;
font-family:system;
font-size:;
}
#warning {
padding:4px;
font-family:arial;
font-weight:bold;
color:white;
}
#warning2 {
font-size:10pt;
color:white;
}
#warning3 {
padding:4px;
font-family:arial;
font-weight:bold;
color:white;
}
#link {text-
decoration:underline;cursor:pointer;color:#00
65b9;font-weight:bold;}
#link2 {text-
decoration:underline;cursor:pointer;color:whi
te;font-weight:bold;}
.mainmenu {
padding:0px 4px 0px 4px;
font-family:microsquare,arial;
font-size:10pt;
font-weight:bold;
text-decoration:none;
text-align:center;
color:#fff;
border-right: #224871 1px solid;
border-left: #224871 1px solid;
background:url(../images/new-
btn.jpg) repeat-x;
}
.mainmenu:hover {
color:#f1f2f4;
background:url(../images/new-btn-2.jpg)
repeat-x;
}
#menuactive {
background:url(../images/btn-
disabled.jpg) repeat-x;
color:#000;
border:black 1px solid;
border-bottom:#cfcfcf 1px
solid;
}
#list {
height:3px;
background-image:
url(../images/list.jpg);
background-repeat: no-repeat;
}
#rside {background:url(../images/side.jpg)
repeat-y;width:15px;height:100%;}
#lside{background:url(../images/lside.jpg)
repeat-y;width:15px;height:100%;}
#desc {font-family:arial;font-
size:8pt;color:white;}
#desc b {color:red;}
#cell {height:10px;}
#silver
{background:url(../images/bgcontent.jpg)
repeat-y;}
#confirm {font-weight:bold;font-
size:12pt;color:#FF0000;text-
align:center;padding:5px;}
#warn{font-size:10pt;color:black}
update-admin.php
<?php
//update-admin.php
include '../config/db.php';
getLink();
$table = 'admin';
$showCari = 1;
if(isset($_POST['tambah']) &&
$_POST['tambah'] == 'Tambah') {
if(file_exists('tambahadm.php')) {?>
<meta http-equiv="Refresh"
content="0;url=tambahadm.php?p=admin"><?php
}
else {
echo 'file tidak ada';
}
$showCari = 0;
}
else
if(isset($_POST['view']) && $_POST['view']==
'Tampilkan' || isset($_GET['page'])) {
$query = "select * from $table";
$tes_result = mysql_query($query);
$tes_num_res =
mysql_num_rows($tes_result);
if($tes_num_res == 0) {
$flag_kosong = true;
}
else {
//proses query;
$rowsperpage = 4;
$website = '?p=update-admin';
$pagination = new CSSPagination($query,
$rowsperpage, $website);
$pagination->setPage($_GET['page']);
$query2 = "select username, nama from
$table LIMIT " . $pagination->getLimit() . ",
" . $rowsperpage;
$result = @mysql_query($query2) or
die("failed");
while($rows =
mysql_fetch_array($result)) {
$data[] = $rows;
}
$title = 'Daftar Administrator';
$nav = $pagination->showPage();
$array = array();
$array[] = 'Username';
$array[] = 'Nama';
$rows = count($array);
}
}
else {
$title= 'Data Belum di Tampilkan';
}
if($flag_kosong) {
$data = '<div id="warning">Data Kosong
!!!</div>';
}
else {
$data = table($title,$data,$rows,
$array, $action);
}
if($showCari == 1) {?>
<div id="title">Update Admin
</div>
<div id="cari">
<form method="post" action="">
<input type="submit" name="view"
value="Tampilkan" id="tombol"
align="right"> <input type="submit"
name="tambah" value="Tambah" id="tombol"
align="right">
</form>
</div>
<div id="subisi">
<form method="post" action="">
<?=$data?>
</form>
<?=$nav?>
</div><?php
}
?>
index.php
<?php
session_start();
if(isset($_SESSION['user']) &&
$_SESSION['user'] == $_SESSION['token']) {
include '../config/db.php';
include 'function.php';
include '../CSSPagination.class.php';
?>
<html>
<head>
<title>Administrator Sistem Pakar Kitab
Undang-undang Hukum Pidana Terhadap
Kriminalitas</title>
<link rel="shortcut icon"
href="../favicon.ico">
<link rel="stylesheet" type="text/css"
href="../style.css">
<link rel="stylesheet" type="text/css"
href="admin.css">
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-
1"><style type="text/css">
<!--
body {
background-image:
url(../images/wallpaper2-5.png);
}
-->
</style></head>
<?php
$arrMenu = array(
'Kejahatan' => 'kejahatan',
'Pasal' => 'pasal',
'Manajemen Admin' => 'update-admin',
'Alternatif' => 'alternatif',
'Informasi' => 'informasi',
'Buku Tamu' => 'bukutamu',
'Logout' => 'logout');
?>
<body id="wrap">
<table class="" border="0" align="center"
cellspacing="0" cellpadding="0">
<tr>
<td width="10" rowspan="3" id="lside"></td>
</tr>
<tr>
<td width="700" height="100">
<img src="../images/header.jpg"
width="802" height="163"></div>
<td width="1" rowspan="2"
id="rside"></td>
</tr>
<tr>
<td align="center" id="silver">
<div class = "content">
<div align="left">
<!-- menu admin BEGIN ---
><?php
$menu = 'mainmenu';
$act = 'menuactive';
$counter = 1;
foreach($arrMenu as
$keys=>$val) {
$dataMenu[$keys] =
$val;
}
foreach($dataMenu as $name
=> $link) {
if($link !=
$_GET['p']) {?>
<a class="<?=$menu?>"
href="?p=<?=$link?>"><?=$name?></a><?php
}
else {?>
<span
class="<?=$menu?>"
id="<?=$act?>"><?=$name?></span><?php
}
}
?>
<!-- menu admin END --->
</div>
<!-- content BEGIN --->
<div class="isi"
align="center"
style="overflow:auto;height:550px;width:800px
;"><?php
if(!isset($_GET['p'])) {?>
<div id =
"comment"><h1><P>SELAMAT DATANG
ADMINISTRATOR</P></h1></div><?php
}
else {
if(in_array($_GET['p'], $arrMenu)) {
if($_GET['p'] == 'kejahatan' || $_GET['p'] ==
'pasal') {
$page = 'pk.php';
}
else {
$page = $_GET['p'].".php";}
include_once($page);}
else {?>
File Tidak Ada!!!<?php}
}?> </div>
<!--- content END --->
<img src="../images/footeradmin.jpg"
width="800" height="100" ></td></tr>
</table>
</center>
</body>
</html><?php
}
else {?>
NOT ALLOWED<?php
}?>
function.php
<?php
//function.php
function table($title="",$data="", $rows=1,
$array="", $action="",$type="") {
++$rows;
$table .= '<table border="0"
cellspacing="0" cellpadding="0" rules="rows"
align="center" id="tabresult">';
if(is_array($action)) {
$table .= '<tr><td
colspan="'.$rows.'" align="right">';
foreach($action as $val) {
$table .= '<input
type="submit" name="'.$val.'"
value="'.ucfirst($val).'"
id="tombol"> ';
}
}
$table .= '</td></tr></table>';
$table .= '<table border="1"
cellspacing="0" cellpadding="5" rules="all"
align="center" id="tabresult">';
$table .= '<tr><td colspan="'.$rows.'"
id="title">'.$title.'</td></tr>';
if(is_array($array)) {
$table .= '<tr
style="background:#000;color:yellow;"><td>Pil
ih</td>';
foreach($array as $val) {
$table .=
'<td>'.$val.'</td>';
}
$table .= '</tr>';
}
$kd = 0;
$checked = 'checked';
$rows = $rows - 1;
if(is_array($data)) {
foreach($data as $val) {
for($n = 1; $n<$rows; $n++)
{
if($val[$n] == "") {
$val[$n] = "-";
}
}
if($i != 0) {
$checked = '';
}
$table .= '<tr id="cell"><td height="10">';
if($type == 'alternatif') {
$table .= '<input
type="radio" name="pilih"
value="'.$val[0].','.$val[1].'"
'.$checked.'>';
}
else {
$table .= '<input
type="radio" name="pilih"
value="'.$val[0].'"'. $checked.'>';
}
$table .= '</td>';
for($data_count =
0;$data_count<=6;$data_count++) {
if($val[$data_count]
== '') {
continue;
}
if(strlen($val[$data_count]) > 20) {
$val[$data_count] =
substr($val[$data_count], 0, 20);
$val[$data_count] .= '...';
}
$table .=
'<td>'.$val[$data_count].'</td>';
}
$table .= '</tr>';
$i++;
}
}
$table .= '</table>';
return $table;
}
function cari($table="") {
if(isset($_POST['cari']) &&
$_POST['cari']== 'Go') {
$key =
addslashes(strip_tags(trim($_POST['key'])));
if(strlen($key) == 0) {
$query = "select * from
$table ";
}
else {
$query = "select * from
$table where informasi like '".$key."%'";
}
//proses query;
$data = $query;
}
else {
$data = 'Belum Ada Pencarian';
}
return $data;
}
function getLink() {
$_SESSION['thispage'] =
'http://'.$_SERVER['SERVER_NAME'].$_SERVER['R
EQUEST_URI'];
}
function form_kejahatan($flagNo = '',
$flagRule = '', $flagJahat = '', $flagKd =
'', $flagSuara = '',$flagH = '', $tipN = '',
$tipR = '', $tipJ = '', $tipKd = '',$tipH =
'', $tipSnd = '') {
if(isset($root)) {
$checkedyes = 'checked';
$checkedno = '';
$hidden = 'text';
$text = 'hidden';
}
else {
$checkedyes = '';
$checkedno = 'checked';
$hidden = 'hidden';
$text = 'text';
}?>
<tr>
<td align="left"
valign="top"><b>No</b></td>
<td>:
<input type="text"
size="5" name="kd_kejahatan" id="field"
value="<?php $_POST['kd_kejahatan']?>"
maxlength="255"/><?php
if($flagNo == true) {?><img
src="finger.gif"></td></tr>
<tr><td
colspan="2"><?php echo $tipN?></td></tr><?php
} else {?>
</td><?php
}?>
</tr>
<tr>
<td align="left" "
valign="top"><b>Rule</b></td>
<td>:
<input type="text" name="rule"
size="5" id="field" value="<?php
$_POST['rule']?>" maxlength="5"/><?php
if($flagRule == true) {?>
<img src="finger.gif"><?php
} else {
}?>
<?php
if($flagRule == true) {?>
<tr><td colspan="2"><?php echo
$tipR?></td></tr><?php
}?>
<tr>
<td align="left"
valign="top"><b>Kejahatan</b></td>
<td>:
<input type="text"
size="20" name="kejahatan" id="field"
value="<?php $_POST['kejahatan']?>"
maxlength="255"/><?php
if($flagJahat === true)
{?><img src="finger.gif"></td></tr>
<tr><td
colspan="2"><?php echo $tipJ?></td></tr><?php
} else {?>
</td><?php
}?>
</tr>
<tr>
<td align="left" " valign="top"><b>Kd
Pasal</b></td>
<td>:
<input type="text"
name="kd_pasal" size="5" id="field"
value="<?php $_POST['kd_pasal']?>"
maxlength="5"/><?php
if($flagKd == true) {?>
<img src="finger.gif"><?php
} else {
}?>
<?php
if($flagKd == true) {?>
<tr><td colspan="2"><?php
$tipK?></td></tr><?php
}?>
<?php
if($flagSuara == true)
{?><img src="finger.gif"></td></tr>
<tr><td
colspan="2"><?php echo
$tipSnd?></td></tr><?php
} else {?>
</td><?php
}?>
</tr>
<?php
if(isset($_GET['kd'])) {
$induk = $_GET['kd'];
}?>
<tr>
<td align="left"
valign="top"><b>Kejahatan Induk</b></td>
<td>:
<input type="<?php
echo $text?>" name="induk" size="5"
value="<?php echo $induk?>" id="field"
value="<?php echo $induk?>" maxlength="5">
</td>
</tr>
<tr>
<td colspan="2"
align="center">
<input type="submit"
name="submit" value="Tambah" id="submit"
/>
<input type="button"
name="reset" value="Cancel" id="tombol"
onclick="history.go(-1);return false;" />
</td>
</tr>
</table>
</form>
</div>
</div><?php
}
function form_pasal($flagKd = '', $flagNama =
'', $flagJenis = '', $flagKet = '',
$flagSuara = '', $tipK = '', $tipN = '',
$tipJen = '', $tipKet = '', $tipSnd = '')
{?>
<tr>
<td align="left" "
valign="top"><b>Kd Pasal</b></td>
<td>:
<input type="text"
name="kd_pasal" size="5" id="field"
value="<?php $_POST['kd_pasal']?>"
maxlength="5"/><?php
if($flagKd == true) {?>
<img
src="finger.gif"></td></tr>
<tr><td colspan="2"><?php
$tipK?></td></tr><?php
} else {?>
</td><?php
}?>
</tr>
<tr>
<td align="left"
valign="top"><b>Pasal</b></td>
<td>:
<input type="text"
size="20" name="nm_pasal" id="field"
value="<?php $_POST['nm_pasal']?>"
maxlength="255"/><?php
if($flagNama == true)
{?><img src="finger.gif"></td></tr>
<tr><td
colspan="2"><?php $tipN?></td></tr><?php
} else {?>
</td><?php
}?>
</tr>
<tr>
<td align="left"
valign="top"><b>Jns Kejahatan</b></td>
<td>:
<input type="text"
size="20" name="jns_kejahatan" id="field"
value="<?php $_POST['jns_kejahatan']?>"
maxlength="255"/><?php
if($flagJenis == true)
{?><img src="finger.gif"></td></tr>
<tr><td
colspan="2"><?php $tipJen?></td></tr><?php
} else {?>
</td><?php
}?>
</tr>
<tr>
<td align="left"
valign="top"><b>Keterangan</b></td>
<td>:
<input type="text"
size="20" name="ket_pasal" id="field"
value="<?php $_POST['ket_pasal']?>"
maxlength="255"/><?php
if($flagKet == true)
{?><img src="finger.gif"></td></tr>
<tr><td
colspan="2"><?php $tipKet?></td></tr><?php
} else {?>
</td><?php
}?>
</tr>
<tr>
<td align="left"
valign="top"><b>Himbauan</b></td>
<td>:
<input type="text"
size="20" name="himbauan" id="field"
value="<?php $_POST['himbauan']?>"
maxlength="255"/><?php
if($flagKet== true) {?><img
src="finger.gif"></td></tr>
<tr><td
colspan="2"><?php $tipKet?></td></tr><?php
} else {?>
</td><?php
}?>
</tr><?
if($flagSuara == true)
{?><img src="finger.gif"></td></tr>
<tr><td
colspan="2"><?php $tipSnd?></td></tr><?php
} else {?>
</td><?php
}?>
</tr>
<tr>
<td colspan="2"
align="center">
<input type="submit"
name="submit" value="Tambah" id="submit"
/>
<input type="button"
name="reset" value="Cancel" id="tombol"
onclick="history.go(-1);return false;" />
</td>
</tr>
</table>
</form>
</div>
</div><?php
}
?>
pk.php
<?php
getLink();
if(isset($_GET['p'])) {
$halaman = $_GET['p'];
//action
$action = array();
$action[] = 'View';
$action[] = 'Edit';
$action[] = 'Delete';
if($halaman == 'kejahatan') {
$table = 'kejahatan';
$kd = 'kejahatan';
$isi = 'kejahatan';
$isi1 = 'rule';
$array[] = 'No';
$array[] = 'Rule';
$array[] = 'Kejahatan';
$array[] = 'Pasal';
$array[] = 'Induk';
}
else if($halaman == 'pasal') {
$table = 'pasal';
$kd = 'pasal';
$isi = 'nm_pasal';
$isi1 = 'jns_kejahatan';
$array[] = 'Kd Pasal';
$array[] = 'Pasal';
$array[] = 'Jns Kejahatan';
$array[] = 'Ket Pasal';
$array[] = 'Himbauan';
}
}
$showCari = 1;
if(isset($_POST['View'])) {
$pilih = $_POST['pilih'];?>
<meta http-equiv="Refresh"
content="0;url=view.php?kd=<?=$pilih?>&p=<?=$
halaman?>"><?php
exit;
}
else if(isset($_POST['Edit'])) {
$pilih = $_POST['pilih'];?>
<meta http-equiv="Refresh"
content="0;url=edit.php?kd=<?=$pilih?>&p=<?=$
halaman?>"><?php
exit;
}
else if(isset($_POST['Delete'])) {
$pilih = $_POST['pilih'];?>
<meta http-equiv="Refresh"
content="0;url=delete.php?kd=<?=$pilih?>&p=<?
=$halaman?>"><?php
exit;
}
if(isset($_POST['tambah']) &&
$_POST['tambah'] == 'Tambah') {
if(file_exists('tambah.php')) {?>
<meta http-equiv="Refresh"
content="0;url=tambah.php?p=<?=$halaman?>"><?
php
}
else {
echo 'file tidak ada';
}
$showCari = 0;
}
else
if(isset($_POST['cari']) && $_POST['cari']==
'Go') {
unset($_GET['page']);
$_SESSION['key'] =
addslashes(strip_tags(trim($_POST['key'])));
if(strlen($_SESSION['key']) == 0) {
$_SESSION['query'] =
"select * from $table ORDER BY kd_$kd";
$_SESSION['flag'] = 0;
}
else {
$_SESSION['query'] =
"select * from $table where $isi like
'%".$_SESSION['key']."%' OR kd_$kd like
'%".$_SESSION['key']."%' OR $isi1 like
'%".$_SESSION['key']."%' GROUP BY $isi,
kd_$kd, $isi1 ORDER BY kd_$kd";
$_SESSION['flag'] = 1;
}
@$tes_result =
mysql_query($_SESSION['query']);
@$tes_num_res =
mysql_num_rows($tes_result);
if($tes_num_res == 0) {
$flag_kosong = true;
}
else {
//proses query;
$rowsperpage = 8;
$website = '?p='.$table;
$pagination = new
CSSPagination($_SESSION['query'],
$rowsperpage, $website);
$pagination->setPage($_GET['page']);
if($_SESSION['flag'] == 0) {
$query2 = "select * from $table
GROUP BY kd_$kd ORDER BY kd_$kd LIMIT " .
$pagination->getLimit() . ", " .
$rowsperpage;
}
else {
$query2 = "select * from $table
where $isi like '%".$_SESSION['key']."%' OR
kd_$kd like '%".$_SESSION['key']."%' GROUP BY
kd_$kd ORDER BY kd_$kd LIMIT ". $pagination-
>getLimit().",".$rowsperpage;
}
//fetch query;
$result = @mysql_query($query2) or
die("failed");
while($rows =
mysql_fetch_array($result)) {
$data[] = $rows;
}
$title = 'Hasil Pencarian';
$nav = $pagination->showPage();
//subtitle
$rows = count($array);
}
}
else if(isset($_GET['page'])) {
$rowsperpage = 8;
$website = '?p='.$table;
$pagination = new
CSSPagination($_SESSION['query'],
$rowsperpage, $website);
$pagination->setPage($_GET['page']);
if($_SESSION['flag'] == 0) {
$query2 = "select * from $table
GROUP BY kd_$kd ORDER BY kd_$kd LIMIT " .
$pagination->getLimit() . ", " .
$rowsperpage;
}
else {
$query2 = "select * from $table
where $isi like '%".$_SESSION['key']."%'OR
kd_$kd like '%".$_SESSION['key']."%' OR $isi1
like '%".$_SESSION['key']."%' GROUP BY $isi,
kd_$kd , $isi1 ORDER BY kd_$kd LIMIT ".
$pagination->getLimit().",".$rowsperpage;
}
//fetch query;
$result = @mysql_query($query2) or
die("failed");
while($rows =
mysql_fetch_array($result)) {
$data[] = $rows;
}
$title = 'Hasil Pencarian';
$nav = $pagination->showPage();
$rows = count($array);
}
else {
$title = 'Belum Ada Pencarian';
$array = '';
$action = '';
}
if($flag_kosong) {
$data = '<div id="warning">Data Kosong
!!!</div>';
}
else {
$data = table($title,$data,$rows,
$array, $action);
}
if($showCari == 1) {?>
<div id="title">
<?=ucfirst($_GET['p'])?>
</div>
<div id="cari">
<form method="post" action="">
Cari : <input type="text"
name="key" value="<?=$_POST['key']?>"
size="15">
<input type="submit" name="cari"
value="Go" id="tombol">
<input type="submit" name="tambah"
value="Tambah" id="tombol" align="right"><br>
<div id="desc">Klik <b>"Go"</b> tanpa
kata kunci untuk menampilkan <b>seluruh <?
if($halaman=="kejahatan")
{ ?>
kejahatan
<? }else {?>
pasal
<? }?>
</b></div>
</form>
</div>
<table border="0" cellspacing="0"
cellpadding="0" rules="none">
<tr><td height="220px" align="center"
valign="top">
<div id="subisi">
<form method="post" action="">
<?=$data?>
</form>
</div>
</td></tr>
<tr><td align="center" valign="top">
<?=$nav?>
</td></tr>
</table><?php
}
?>
cari.php
<?php
session_start();
include 'function.php';
include '../config/db.php';
include '../CSSPagination.class.php';
$table = $_GET['p'];
$showCari = 1;
if($table == 'pasal') {
$judul = 'Pasal';
$field = 'pasal';
}
else if($table == 'kejahatan') {
$judul = 'Induk';
$field = 'induk';
}
else if($table == 'alternatif') {
$judul = 'kejahatan';
$field = 'induk';
$table = 'kejahatan';
}
?>
<html>
<head>
<link rel="stylesheet" type="text/css"
href="admin.css">
<link rel="stylesheet" type="text/css"
href="../../style.css">
<script language="JavaScript"
type="text/javascript">
<!--
function sendToParent() {
window.opener.document.tambahpForm.<?=$field?
>.value = document.childForm.text.value;
window.close();
}
//-->
</script></head>
<?php
if(isset($_POST['Apply']) && $_POST['Apply']
== 'Apply') {
$pilih = $_POST['pilih'];
$query = "select * from $table where
kd_$table = '".$pilih."'";
$result = mysql_query($query);
if($table == 'kejahatan') {
while($rows =
mysql_fetch_array($result)) {
$hasil =
$rows['kejahatan'];
}
}
else {
while($rows =
mysql_fetch_array($result)) {
$hasil = $rows['pasal'];
}
}
$title = ucfirst($table);
$str .= <<<EOD
<form method="post"
name="childForm"><table border="0"
align="center" style="font-weight:bold">
<tr><td colspan="3"><h3>$judul yang
dipilih adalah :</h3></td></tr>
<tr>
<td>Id $judul</td>
<td>: <input type="text" name="text"
value="$pilih" size="5" disabled></td>
</tr>
<tr>
<td>$title</td>
<td>: $hasil</td>
</tr>
<tr>
<td><input type="button" name="submit"
value="Ok" id="tombol"
onClick="sendToParent()"></td>
</form>
<td><b onClick="window.history.back(-
1)" style="cursor:pointer;text-
decoration:underline;color:blue;font-
family:arial;">Back</b></td></tr></table>
EOD;
$showCari = 0;
}
else if(isset($_POST['cari']) &&
$_POST['cari']== 'Cari') {
unset($_GET['page']);
$_SESSION['key'] =
addslashes(strip_tags(trim($_POST['induk'])))
;
if(strlen($_SESSION['key']) == 0) {
$_SESSION['query'] =
"select * from $table";
$_SESSION['flag'] = 0;
}
else {
$_SESSION['query'] =
"select * from $table where $table like
'%".$_SESSION['key']."%'";
$_SESSION['flag'] = 1;
}
//proses query;
$rowsperpage = 8;
if($table == 'kejahatan') {
$website = '?p=kejahatan';
}
else {
$website = '?p=pasal';
}
$pagination = new
CSSPagination($_SESSION['query'],
$rowsperpage, $website);
$pagination->setPage($_GET['page']);
if($_SESSION['flag'] == 0) {
$query2 = "select * from $table
LIMIT " . $pagination->getLimit() . ", " .
$rowsperpage;
}
else {
$query2 = "select * from $table
where $table like '%".$_SESSION['key']."%'
LIMIT ". $pagination-
>getLimit().",".$rowsperpage;
}
//fetch query;
$result = @mysql_query($query2) or
die("failed");
while($rows =
mysql_fetch_array($result)) {
$data[] = $rows;
}
$title = 'Hasil Pencarian';
$nav = $pagination->showPage();
//subtitle
$array = array();
if($table == 'kejahatan') {
$array[] = 'No';
$array[] = 'Rule';
$array[] = 'Kejahatan';
$array[] = 'Kd Pasal';
$array[] = 'Induk';
}
else {
$array[] = 'Kd Pasal';
$array[] = 'Pasal';
$array[] = 'Jns Kejahatan';
$array[] = 'Ket Pasal';
$array[] = 'Himbauan';
}
//action
$action = array();
$action[] = 'Apply';
$rows = count($array);
}
else if(isset($_GET['page'])) {
$rowsperpage = 8;
if($table == 'kejahatan') {
$website = '?p=kejahatan';
}
else {
$website = '?p=pasal';
}
$pagination = new
CSSPagination($_SESSION['query'],
$rowsperpage, $website);
$pagination->setPage($_GET['page']);
if($_SESSION['flag'] == 0) {
$query2 = "select * from $table
LIMIT " . $pagination->getLimit() . ", " .
$rowsperpage;
}
else {
$query2 = "select * from $table
where kejahatan like '".$_SESSION['key']."%'
LIMIT ". $pagination-
>getLimit().",".$rowsperpage;
}
//fetch query;
$result = @mysql_query($query2) or
die("failed");
while($rows =
mysql_fetch_array($result)) {
$data[] = $rows;
}
$title = 'Hasil Pencarian';
$nav = $pagination->showPage();
if($table == 'kejahatan') {
$array[] = 'No';
$array[] = 'Rule';
$array[] = 'Kejahatan';
$array[] = 'Kd Pasal';
$array[] = 'Induk';
}
else {
$array[] = 'Kd Pasal';
$array[] = 'Pasal';
$array[] = 'Jns Kejahatan';
$array[] = 'Ket Pasal';
$array[] = 'Himbauan';
}
//action
$action = array();
$action[] = 'Apply';
$rows = count($array);
}
else {
$title = 'Belum Ada Pencarian';
}
$data = table($title,$data,$rows, $array,
$action);
?>
<body style="background:#fff;color:#fff">
<center>
<div class="isi" style="max-width:780px">
<center>
<div id="title">
<b>Pencarian <?=$judul?></b>
</div>
</center><?php
if($showCari != 0) {?>
<div id="cari" align="center">
<form method="post" action=""
name="childForm">
<input type="text" name="induk" size="10"
value="<?=$pilih?>" id="field">
<input type="submit" name="cari" value="Cari"
id="tombol">
</form>
</div>
<div id="subisi" align="center">
<form method="post">
<?=$data?>
<?=$nav?>
</form>
</div><?php
}
else {
echo $str;
}?>
</center>
</body></html>
logout.php
<?php
session_start();
unset($_SESSION['user']);
unset($_SESSION['token']);
session_destroy();
?>
<div align="center">
<b>Loading ..</b></div>
<div align="center"> </div>
<div align="center"> </div>
<?
$keterangan_log = "-- Log Out --";
unset($_SESSION['user']);
echo $_SESSION[''];
?>
<div align="center"><b></b></div>
<p align="center">
<meta http-equiv='Refresh'
content='1;URL=../index.php' >
</p>
</body>
</html>
WAWANCARA
Hari/Tanggal : Selasa, 30 November 2010
Narasumber : Bpk. Zainal Arifin, M.H
Lokasi : Kediaman Bpk. Zainal Arifin, MH
Penulis : Bagaimana caranya masyarakat seperti keluarga tersangka atau
korban dapat mengetahui hukuman yang akan di jatuhkan secara syah?
Pakar : Tentunya jika masyarakat terlibat dalam suatu tindak kejahatan
maka akan ditindak oleh pihak kepolisian, dengan dilakukan proses penyidikan
dan penyelidikan hingga sampai ke persidangan umum. Bagi keluarga tersangka
ataupun korban bisa mengetahui hukuman yang akan di jatuhkan yaitu setelah
hakim mengetuk palu yaitu ketika persidangan umum telah selesai itulah
hukuman yang syah akan dijatuhkan Tentunya waktu dan proses yang ditempuh
cukuplah panjang
Penulis : Apakah anda tahu, hafal dan faham dengan isi-isi yang
terkandung dalam KUHP ?
Pakar : Hanya memahami, tahu isi dan maksudnya dan faham unsur-
unsur yang terkandung didalamnya karena untuk menghafal KUHP itu tidak
mungkin karena KUHP sendiri terdiri dari 3 buku dan isinya sangat banyak sekali.
Penulis : Menurut Anda KUHP itu seperti apa dan fungsinya seperti apa?
Pakar : KUHP merupakan pidana umum atau general dimana semua
ancaman pidana sudah dicatat dan diatur didalamnya sedangkan diluar KUHP
masih banyak undang-undang yang ada ancaman hukuman pidananya, seperti
undang-undang korupsi, HAKI, KDRT dan undang-undang khusus lainnya.
Penulis : Tindak pidana yang seperti apa yang hukumannya dikenakan dari
KUHP ?
Pakar : Pencurian, penipuan, pemerkosaan, pemerasan dan pengancaman,
penggelapan, penghancuran atau pengrusakkan barang dan semua tindak
kejahatan yang telah diatur dalam KUHP
Penulis : Pasal berapa saja yang akan dikenakan untuk pelaku tindak
pidana pencurian, penggelapan, pemerasan dan pengancaman, menghancurkan
atau merusakkan barang?
Pakar :
1. Jika masyarakat melakukan suatu tindak kejahatan yang termasuk
dalam jenis kejahatan pencurian maka akan masuk dalam jenis
kejahatan pencurian yang kemungkinan akan dikenai mulai dari
pasal 362 sampai dengan pasal 367 (ayat 3), pasal yang akan
dikenakan tergantung tindak kejahatan yang di lakukan.
2. Jika masyarakat melakukan suatu tindak kejahatan yang termasuk
dalam jenis kejahatan penggelapan maka akan masuk dalam jenis
kejahatan penggelapan yang kemungkinan akan dikenai mulai dari
pasal 372 sampai dengan pasal 376, pasal yang akan dikenakan
tergantung tindak kejahatan yang di lakukan.
3. Jika masyarakat melakukan suatu tindak kejahatan yang termasuk
dalam jenis pemerasan dan pengancaman maka akan masuk dalam
jenis kejahatan pemerasan dan pengancaman yang kemungkinan
akan dikenai mulai dari pasal 368 (ayat 1) sampai dengan pasal 370,
pasal yang akan dikenakan tergantung tindak kejahatan yang di
lakukan.
4. Jika masyarakat melakukan suatu tindak kejahatan yang termasuk
dalam jenis kejahatan menghancurkan atau merusakkan barang
maka akan masuk dalam jenis kejahatan menghancurkan atau
merusakkan barang yang kemungkinan akan dikenai mulai dari
pasal 406 (ayat 1) sampai dengan pasal 412, pasal yang akan
dikenakan tergantung tindak kejahatan yang di lakukan.
Penulis : Perlukah sistem pakar KUHP terhadap kriminalitas di bangun?
Pakar : Perlu karena di harapkan dengan adanya sistem ini masyarakat
dapat lebih mudah dalam mengakses KUHP, bisa dibilang sebagai pengganti
KUHP manual meskipun dalam sistem ini pasal-pasal yang dibahas hanya sedikit
tapi diharapkan semoga dapat dikembangkan lagi menjadi keseluruhan pasal yang
tercantum dalam KUHP.
Penulis : Menurut Anda apakah mayoritas masyarakat umum sudah
mengenal dan memahami KUHP?
Pakar : Masih banyak masyarakat yang tidak sadar hukum baik dari
pihak yang non pendidikan hingga yang berpendidikan, karena hal tesebut
tergantung dari individualnya. Karena masing-masing individu mempunyai
tingkat responsibility yang berbeda-beda.
WAWANCARA
Hari/Tanggal : Kamis, 05 Agustus 2010
Narasumber : Bpk. Ibda Hari Subeno, SH
Lokasi : Sat Reskrim Polres Metro Jakarta Selatan
Penulis : Apakah Ada sistem yang sedang berjalan sekarang dalam
permasalahan KUHP?
Narasumber : Sistem yang saat ini sedang berjalan masih manual belom
terkomputerisasi. Prosedur untuk mengetahui hukuman pidana yang sedang
berjalan adalah :
1. Masyarakat melaporkan kejadian ke polisi penjaga atau di
sebut dengan SPK ( Sentral Pelayanan Kepolisian).
2. SPK mencatat laporan kemudian mendatangi kejadian untuk
mengamankan tempat kejadian perkara (TKP), kemudian
pihak SPK memanggil pihak reserse untuk menanganinya.
3. Reserse melakukan penyelidikan dan penyidikan, dimana
penyelidikan dilakukan sebelum penyidikan, penyelidikan
berfungsi untuk mengetahui dan menentukan peristiwa apa
yang sesungguhnya telah terjadi dan bertugas membuat berita
acara serta laporannya yang nantinya merupakan dasar
permulaan penyidikan, setelah penyelidikan selesai reserse
melakukan penyidikan untuk mengumpulkan bukti-bukti dan
menemukan tersangka, jika bukti-bukti dan berkas-berkas
sudah terkumpul dan selesai maka berkas-berkas tersebut di
serahkan ke pengadilan.
4. Jika menurut pihak pengadilan berkas-berkas tersebut sudah
lengkap maka akan di P21 kan dan akan di lanjutkan ke
persidangan dan pihak reserse akan menyerahkan bukti-bukti
dan tersangka ke pengadilan, namun jika menurut pihak
pengadilan berkas-berkas tersebt belum lengkap maka akan di
kembalikan untuk di lengkapi.
5. Jika persidangan dilakukan dan telah selesai persidangannya
barulah hakim menjatuhkan hukuman kepada tersangka.
Penulis : Apakah anda tahu, hafal dan faham dengan isi-isi yang
terkandung dalam KUHP ?
Narasumber : Hanya memahami, tahu isi dan maksudnya dan faham unsur-
unsur yang terkandung didalamnya karena untuk menghafal KUHP itu tidak
mungkin karena KUHP sendiri terdiri dari 3 buku dan isinya sangatbanyak sekali.
Penulis : Menurut Anda KUHP itu seperti apa dan fungsinya seperti apa?
Narasumber : KUHP merupakan pidana umum atau general dimana semua
ancaman pidana sudah di catat dan diatur didalamnya sedangkan diluar KUHP
masih banyak undang-undang yang ada ancaman hukuman pidananya, seperti
undang-undang korupsi, HAKI, KDRT dan undang-undang khusus lainnya.
Penulis : Kapan KUHP berperan dalam menangani suau kasus?
Narasumber : Ketika sudah ada laporan dari masyarakat atau ditemukan sendiri
oleh petugas tentang adanya suatu tindak pidana terutama yang sudah diatur
dalam KUHP. Dan mulai berlakunya setelah dilakukan beberapa proses oleh
polisi yaitu proses penyidikan dan penyelidikan.
Penulis : Terhitung dari kapan penjatuhan hukuman pidana tersebut
diputuskan?
Narasumber : Kewenangan hakim, setelah ada putusan dari hakim
Penulis : Menurut Anda apakah mayoritas masyarakat umum sudah
mengenal dan memahami KUHP?
Narasumber : Seharusnya masyarakat sudah mengerti dan memahami, karena
sebenarnya masyarakat wajib tahu tentang hukum, namun hal tersebut tergantung
dari tingkat pendidikan dan tergantung pribadi masing-masing manusia menyikapi
dan menanggapi peran hukum yang sebenarnya.
Penulis : Tindak pidana yang seperti apa yang hukumannya dikenakan dari
KUHP ?
Narasumber : Pencurian, penipuan, pemerkosaan, pemerasan dan pengancaman,
penggelapan, penghancuran atau pengrusakkan barang dan semua tindak
kejahatan yang telah di atir dalam KUHP
Penulis : Perlukah sistem pakar KUHP terhadap kriminalitas di bangun?
Narasumber : Perlu karena di harapkan dengan adanya sistem ini masyarakat
mau untuk mengenal lebih jauh tentang fungsi dan keberadaan KUHP sehingga di
harapkan dapat meminimalisir tindak kejahatan dan kesalahan dalam pelaporan
jenis tindak kejahatan.