BAB II TINJAUAN PUSTAKA
Bab Tinjauan Pustaka ini membahas tentang teori-teori penunjang yang digunakan dalam penelitian, yaitu membahas tentang sistem pakar, serta membahas tentang hukum pidana dan KUHP.
2.1
Sistem Pakar Sistem pakar adalah sebuah program komputer yang mencoba meniru atau
mensimulasikan pengetahuan (knowledge) dan keterampilan (skill) dari seorang pakar pada area tertentu. Selanjutnya sistem ini akan mecoba memecahkan suatu permasalah sesuai dengan kepakarannya (Irawan, J. 2005). Istilah sistem pakar berasal dari istilah knowledge-based expert system. Istilah ini muncul karena untuk memecahkan masalah, sistem pakar menggunakan pengetahuan seorang pakar yang dimasukkan ke dalam komputer. Seseorang yang bukan pakar menggunakan sistem pakar untuk meningkatkan kemampuan pemecahan masalah, sedangkan seorang pakar menggunakan sistem pakar untuk knowledge assistant. Menurut Turban (2001), sistem pakar adalah sebuah sistem yang menggunakan pengetahuan manusia dimana pengetahuan tersebut dimasukkan ke dalam sebuah komputer dan kemudian digunakan untuk menyelesaikan masalahmasalah yang biasanya membutuhkan kepakaran atau keahlian manusia. Menururt Jackson (1999), sistem pakar adalah program komputer yang merepresentasikan dan melakukan penalaran dengan beberapa pakar untuk memecahkan masalah atau memberikan saran. Menurut Luger dan Stubblefield (1993), sistem pakar adalah program yang berbasiskan pengetahuan yang menyediakan solusi ‘kualitas pakar’ kepada masalah-masalah dalam bidang (domain) yang spesifik (Sutojo, dkk., 2010).
5
6
Sistem pakar menarik minat yang besar dalam suatu organisasi disebabkan kemampuannya dalam meningkatkan produktivitas kerja di pelbagai bidang tertentu dimana pakar manusia mengalami kesulitan dalam mendapatkan dan mempertahankan kemampuan tersebut. Tujuan dari sistem pakar sebenarnya bukan untuk mengganti peran pakar, melainkan hanya untuk untuk membuat pengetahuan dan pengalaman para pakar tersebut tersimpan dan tersedia lebih luas (Subakti, I. 2006). Sistem pakar merupakan salah satu cabang dari kecerdasan buatan yang umumnya menggunakan pengetahuan khusus untuk memecahkan masalah pada tingkat seorang pakar. Pakar adalah orang yang mempunyai keahlian dibidang tertentu, yang tidak dimiliki oleh orang-orang pada umumnya. Seorang pakar dapat memecahkan permasalahan yang tidak dapat diselesaikan oleh orang lain secara efisien (Giarratano, J . Riley, G., 1998).
Tabel 2.1 Aplikasi Contoh Sistem Pakar
Sistem Pakar MYCIN XCOM Expert Tax Loan Probe LA-Courtier LMOS Fish-Expert
Organisasi Stanford University DEC Coopers&Lybrand Peat Marvick Cognitive System Pacific Bell North China
Domain Aplikasi Diagnosis medis Konfigurasi sistem Perencanaan pajak Evaluasi pinjaman Perencanaan keuangan Manajemen jaringan Diagnosis penyakit
Sumber : Turban, E. 2005 : Decision Support Systems and Intelligent System, Jilid 2
Sampai saat ini sudah banyak sistem pakar yang dibuat, Tabel 2.1 di atas menunjukkan beberapa sistem pakar representatif dan domain aplikasinya.
7
2.1.1
Perkembangan Sistem Pakar Perkembangan AI (Artificial Intelligense) merupakan teknologi baru
dalam
dunia
komputer.
AI
berkembang
perusahaan
General
Electric
menggunakan komputer pertama kali di bidang bisnis. Pada tahuan 1956, istilah AI mulai dipopulerkan oleh John McCarthy sebagai suatu tema ilmiah di bidang komputer yang diadakan di Dartmouth College. Tahun yang sama komputer berbasis AI pertama kali dikembangkan dengan nama Logic Theorist yang melakukan penalaran terbatas untuk teorema kalkulus. Pengembangan ini mendorong para peneliti untuk mengembangkan program lain yang disebut sebagai General Problem Solver (GPS). Program ini bertujuan untuk memecahkan berbagai jenis masalah dan ternyata menjadi tugas yang sangat besar dan sangat berat untuk dikembangkan. Setelah GPS, ternyata Artificial Intelligence banyak dikembangkan dalam bidang permainan atau game, misalnya program untuk permainan catur oleh Shannon (1955) dan program untuk pengecekan masalah oleh Samuel (1963). Banyak juga ahli yang mengimpletasikan AI dalam bidang bisnis dan matematika. Tahun 1972 Newel dan Simon memperkenalkan Teori Logika secara konseptual yang kemudian berkembang pesat dan menjadi acuan pengembangan sistem berbasis kecerdasan buatan lainnya. Buchanan dan Feigenbaum juga mengembangkan bahasa pemrograman DENDRAL pada Tahun 1978. Bahasa pemrograman ini dibuat untuk badan antariksa Amerika Serikat yaitu NASA, dan digunakan untuk penelitian kimia di planet Mars. Tahun 1976 yaitu dua tahun sebelum DENDRAL, sebenarnya program sistem pakar sudah dikembangkan secara modern, yaitu MYCIN yang dibuat oleh Shortliffe dengan bahasa pemrograman LISP. Program MYCIN menyimpan kurang lebih 500 basis pengetahuan dan basis aturan untuk mendiagnosis penyakit manusia. Program ini juga mengimplementasikan metode penelusuran dan pemecahan masalah serta mengembangkan berbagai teori penting dalam kecerdasan buatan seperti certainty factor, teori probabilitas dan teori fuzzy.
8
Certainty Theory ini diusulkan oleh Shortliffe dan Buchanan pada Tahun 1975 untuk mengakomodasi ketidakpastian pemikiran (inexact reasoning) seorang pakar. Tim pengembang MYCIN mencatat bahwa dokter sering kali menganalisa informasi yang ada dengan ungkapan seperti misalnya: mungkin, kemungkinan besar, hampir pasti. Untuk mengakomodasi hal ini tim MYCIN menggunakan certainty factor (CF) guna menggambarkan tingkat keyakinan pakar terhadap masalah yang sedang dihadapi. Dewasa ini program MYCIN menjadi acuan penting untuk pengembangan sistem pakar modern karena di dalamnya telah terintegrasi semua komponen standar yang dibutuhkan oleh sistem pakar itu sendiri (Tim Penerbit Andi, 2009).
2.1.2
Ciri-ciri dan Kategori Masalah Sistem Pakar Ciri-ciri dari sistem pakar adalah sebagai berikut (Sutojo, 2010) :
1. Terbatas pada domain keahlian tertentu. 2. Dapat memberikan penalaran untuk data-data yang tidak lengkap/tidak pasti. 3. Dapat menjelaskan alasan-alasan dengan cara yang dapat dipahami. 4. Berdasarkan kaidah/rule tertentu. 5. Mudah dimodifikasi. 6. Basis pengetahuan dan mekanisme inferensi terpisah. 7. Keluaran bersifat anjuran. 8. Sistem dapat mengaktifkan kaidah secara searah yang sesuai, dituntun oleh dialog dengan pengguna. Sistem pakar dapat diklasifikasikan dalam beberapa cara, salah satunya adalah berdasarkan area persoalan umum yang ditanganinya.
9
Tabel 2.2 Kategori Umum Sistem Pakar
Kategori Sistem interpretasi Sistem prediksi Sistem diagnostik Sistem desain Sistem perencanaan Sistem pengawasan Sistem debugging Sistem perbaikan Sistem instruksi Sistem kontrol
Persoalan yang Ditangani Menyimpulkan deskripsi situasi dari observasi Menyimpulkan kemungkinan konsekuensi dari situasi Menyimpulkan kegagalan sistem dari observasi Mengonfigurasi objek dengan batasan Mengembangkan rencana untuk mencapai tujuan Membandingkan observasi rencana, memunculkan pengecualian Menyarankan pemulihan untuk kegagalan Mengeksekusi rencana untuk mengelola pemulihan yang disarankan Mendiagnosis, men-debug, dan memperbaiki performa kinerja Menginterpretasikan, memprediksi, memperbaiki, dan mengawasi kelakuan sistem
Sumber : Turban,dkk., 2005 : Decision Support Systems and Intelligent System, Jilid 2
Tabel 2.2 diatas menunjukkan rincian kategori umum sistem pakar (Turban, dkk., 2005).
2.1.3
Manfaat dan Keterbatasan Sistem Pakar Sistem pakar menjadi sangat popular disebabkan oleh sangat banyaknya
kemampuan dan manfaat yang diberikannya, di antaranya (Sutojo, 2010) : 1. Meningkatkan produktivitas, karena sistem pakar dapat bekerja lebih cepat daripada manusia. 2. Membuat seorang yang awam bekerja seperti layaknya seorang pakar. 3. Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan mengurangi kesalahan. 4. Mampu menangkap pengetahuan dan kepakaran seseorang. 5. Dapat beroperasi di lingkungan yang berbahaya. 6. Memudahkan akses pengetahuan seorang pakar. 7. Andal, sistem pakar tidak pernah menjadi bosan atau sakit. 8. Meningkatkan kapabilitas sistem komputer. Integrasi sistem pakar dengan sistem komputer lain membuat sistem lebih efektif dan mencakup lebih banyak aplikasi.
10
9. Mampu bekerja dengan informasi yang tidak lengkap atau tidak pasti. Pengguna dapat merespon dengan: “tidak tahu” atau “tidak yakin” pada satu atau lebih pertanyaan selama konsultasi dan sistem pakar tetap akan memberikan jawabannya. 10. Bisa digunakan sebagai media pelengkap dalam pelatihan. Pengguna pemula yang bekerja dengan sistem pakar akan menjadi lebih berpengalaman karena adanya fasilitas penjelas yang berfungsi sebagai guru. 11. Meningkatkan kemampuan untuk menyelesaikan masalah karena sistem pakar mengambil sumber pengetahuan dari banyak pakar.
Metodologi sistem pakar yang tersedia mungkin tidak langsung dan efektif. Persoalan-persoalan berikut telah memperlambat penyebaran komersial sistem pakar, (Turban dkk, 2005). 1. Pengetahuan tidak selalu siap sedia. 2. Akan sulit mengekstrak keahlian dari manusia. 3. Pendekatan tiap pakar pada suatu penilaian situasi mungkin berbeda tetapi benar. 4. Sulit, bahkan bagi pakar berkemampuan tinggi, untuk mengikhtisarkan penilaian situasi yang baik pada saat berada dalam tekanan waktu. 5. Pengguna sistem pakar memiliki batasan kognitif alami. 6. Sistem pakar bekerja dengan baik hanya dalam domain pengetahuan sempit. 7. Kebanyakan pakar tidak memiliki sarana mandiri untuk memeriksa apakah kesimpulannya masuk akal. 8. Kosa kata atau jargon yang digunakan pakar untuk menyatakan fakta dan hubungan acap kali terbatas dan tidak dipahami oleh pakar lain. 9. Seringkali dibutuhkan bantuan dari knowledge-engineer (yang langka dan mahal), suatu fakta yang menjadikan konstruksi sistem pakar mahal. 10. Kurangnya kepercayaan pada bagian pengguna akhir menjadi penghalang penggunaan sistem pakar. 11. Transfer pengetahuan adalah subjek terhadap sekumpulan bias perseptual dan penilaian.
11
2.1.4
Konsep Dasar Sistem Pakar Konsep dasar sistem pakar mencakup beberapa persoalan mendasar, antara
lain (Sutojo, dkk., 2010) : 2.1.4.1 Kepakaran (Expertise) Kepakaran merupakan suatu pengetahuan yang diperoleh dari pelatihan, membaca, dan pengalaman. Kepakaran ini memungkinkan para ahli dapat mengambil keputusan lebih cepat dan lebih baik daripada seorang yang bukan pakar. Kepakaran meliputi pengetahuan tentang: 1. Fakta-fakta tentang bidang permasalahan tertentu. 2. Teori-teori tentang bidang permasalahan tertentu. 3. Aturan-aturan
dan
prosedur-prosedur
menurut
bidang
permasalahan
umumnya. 4. Aturan heuristik yang harus dikerjakan dalam situasi tertentu. 5. Strategi global untuk memecahkan permasalahan. 6. Pengetahuan tentang pengetahuan (meta knowledge)
2.1.4.2 Pakar (Expert) Pakar adalah seseorang yang mempunyai pengetahuan, pengalaman, dan metode khusus, serta mampu menerapkannya untuk memecahkan masalah atau memberi nasehat. Seorang pakar harus mampu menjelaskan dan mempelajari halhal baru yang berkaitan dengan topik permasalahan, jika perlu harus mampu menyusun kembali pengetahuan-pengetahuan yang didapatkan, dan dapat memecahkan aturan-aturan serta menentukan relevansi kepakarannya. Jadi seorang pakar harus mampu melakukan kegiatan-kegiatan berikut: 1. Mengenali dan memformulasikan permasalahan. 2. Memecahkan permasalahan secara cepat dan tepat. 3. Menerangkan pemecahannya. 4. Belajar dari pengalaman. 5. Merestrukturisasi pengetahuan. 6. Memecahkan aturan-aturan. 7. Menentukan relevansi.
12
2.1.4.3 Pemindahan Kepakaran (Transfering Expertise) Tujuan dari sistem pakar adalah memindahkan kepakaran dari seorang pakar ke dalam komputer, kemudian ditransfer kepada orang lain yang bukan pakar. Proses ini melibatkan empat kegiatan, yaitu: 1. Akuisisi pengetahuan (dari pakar atau sumber lain). 2. Representasi pengetahuan (pada komputer). 3. Inferensi pengetahuan. 4. Pemindahan pengetahuan ke pengguna.
2.1.4.4 Inferensi (Inferencing) Pengetahuan pakar sering tidak dapat direpresentasikan dalam aturan tunggal dalam suatu keputusan kompleks,. Sebaliknya, aturan dapat digabungkan secara dinamis untuk mencakup berbagai kondisi. Proses penggabungan banyak aturan berdasarkan data yang tersedia disebut inferensi (Turban, dkk.,2005) Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. Inferensi ditampilkan pada suatu komponen yang disebut mesin inferensi yang mencakup prosedur-prosedur mengenai pemecahan masalah. Semua pengetahuan yang dimiliki oleh seorang pakar disimpan pada basis pengetahuan oleh sistem pakar. Tugas mesin inferensi adalah mengambil kesimpulan berdasarkan basis pengetahuan yang dimilikinya. Ada dua metode inferensi yang penting dalam sistem pakar, yaitu runut maju (foward chaining) dan runut balik (backward chaining). 1. Runut Maju (Foward Chaining) Runut maju memulai proses pencarian dengan data sehingga strategi ini disebut juga data-driven. Forward Chaining mencari bagian JIKA terlebih dahulu, setelah semua kondisi JIKA dipenuhi, aturan dipilih untuk mendapatkan kesimpulan. Jika kesimpulan yang diambil dari keadaan yang pertama, bukan dari yang terakhir, maka ia akan digunakan sebagai fakta untuk disesesuaikan dengan kondisi JIKA aturan yang lain untuk mendapatkan kesimpulan yang lebih baik. Proses ini berlanjut hingga dicapai kesimpulan akhir (Turban, dkk., 2005).
13
Menurut Wilson (1998), runut maju berarti menggunakan himpunan aturan kondisi-aksi. Pada metode ini, data digunakan untuk menentukan aturan mana yang akan dijalankan, kemudian aturan tersebut dijalankan. Giarrantanno dan Riley (1994) menyatakan, metode inferensi runut maju cocok digunakan untuk menangani masalah pengendalian (controlling) dan peramalan (Kusrini, 2008).
2. Runut Balik (Backward Chaining) Runut balik memulai proses pencarian dengan suatu tujuan sehingga strategi ini disebut juga goal-driven. Backward Chaining adalah kebalikan dari forward
chaining. Pendekatan ini mulai dari kesimpulan dan hipotesis bahwa kesimpulan adalah benar. Mesin inferensi kemudian mengidentifikasi kondisi JIKA yang diperlukan untuk membuat kesimpulan benar dan mencari fakta untuk menguji apakah kondisi JIKA adalah benar. Jika semua kondisi JIKA adalah benar, maka aturan dipilih dan kesimpulan dicapai. Jika beberapa kondisi salah, maka aturan dibuang dan aturan berikutnya digunakan sebagai hipotesis kedua. Jika tidak ada fakta yang membuktikan bahwa semua kondisi JIKA adalah benar atau salah, maka mesin inferensi terus mencari aturan yang kesimpulannya sesuai dengan kondisi JIKA yang tidak diputuskan untuk bergerak satu langkah ke depan untuk memeriksa kondisi tersebut. Serupa pula, proses ini berlanjut hingga suatu set aturan didapat untuk mencapai kesimpulan atau untuk membuktikan tidak dapat mencapai kesimpulan (Turban, dkk., 2005). Menurut Schnupp (1989), tujuan dari inferensi ini adalah mengambil pilihan terbaik dari banyak kemungkinan. Metode inferensi runut balik ini cocok digunakan untuk memecahkan masalah diagnosis (Kusrini, 2008).
2.1.4.5 Aturan-aturan (Rule) Kebanyakan software sistem pakar komersial adalah sistem yang berbasis rule (rule-based system), yaitu pengetahuan disimpan terutama dalam bentuk rule, sebagai prosedur pemecahan masalah.
14
2.1.4.6 Kemampuan Menjelaskan (Explanation Capability) Fasilitas lain dari sistem pakar adalah kemampuannya untuk menjelaskan saran atau rekomendasi yang diberikannya. Penjelasan dilakukan dalam subsistem yang disebut subsistem penjelasan (explanation). Bagian dari sistem ini memungkinkan sistem untuk memeriksa penalaran yang dibuatnya sendiri dan menjelaskan operasinya.
Tabel 2.3 Perbandingan Sistem Konvensional dan Sistem Pakar
Sistem Konvensional Informasi dan pengolahannya biasanya digabungkan dalam satu program berurutan. Program tidak melakukan kesalahan Biasanya tidak menjelaskan mengapa data input diperlukan atau bagaimana kesimpulan dihasilkan Memerlukan semua data input. Berfungsi dengan tidak tepat jika ada data yang hilang kecuali jika telah dirancang demikian Perubahan dalam program sangat menyulitkan (kecuali dalam DSS) Sistem beroperasi hanya jika telah lengkap Eksekusi dilakukan pada basis algoritma langkah demi langkah Manipulasi efektif pada database besar Representasi dan penggunaan data
Sistem Pakar Basis pengetahuan secara nyata dipisahkan dari mekanisme pengolahan (inferensi). Program dapat melakukan kesalahan Penjelasan adalah bagian dari sebagian besar sistem pakar
Tidak memerlukan semua fakta awal, biasanya dapat tiba pada kesimpulan yang masuk akal sekalipun ada fakta yang hilang. Perubahan dalam aturan mudah dilakukan Sistem dapat beroperasi dengan hanya sedikit aturan Eksekusi dilakukan menggunakan heuristik dan logika Manipulasi efektif pada basis pengetahuan besar Representasi dan penggunaan pengetahuan Efisiensi biasanya menjadi tujuan Efektivitas adalah tujuan utama utama. Efektivitas penting hanya untuk DSS. Mudah menangani data kuantitatif Mudah menangani data kualitatif Menggunakan representasi data Menggunakan representasi pengetahuan numerik simbolik dan numerik Menyerap, memperbesar, dan Menyerap, memperbesar, dan mendistribusikan akses ke data atau mendistribusikan akses ke penilaian atau informasi numerik pengetahuan Sumber : Turban, E. 2005 : Decision Support Systems and Intelligent System, Jilid 2
15
Karakteristik dan kemampuan yang dimiliki oleh sistem pakar berbeda dengan sistem konvensional. Perbedaan sistem pakar dengan sistem konvensional ditunjukkan pada Tabel 2.3 diatas.
2.1.5
Struktur Sistem Pakar Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan
pengembangan
(development
environtment)
dan
lingkungan
konsultasi
(consultation environtment). Lingkungan pengembangan sistem pakar digunakan untuk membangun dan memasukkan pengetahuan pakar ke dalam basis pengetahuan, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar dalam memperoleh pengetahuan pakar dan nasehat pakar. Tiga komponen utama yang tampak secara virtual di setiap sistem pakar adalah basis pengetahuan, mesin inferensi, dan antarmuka pengguna. Sistem pakar yang berinteraksi dengan pengguna dapat pula berisi komponen tambahan, seperti subsistem akuisisi pengetahuan, blackboard (tempat kerja), subsistem penjelasan (justifier), subsistem perbaikan pengetahuan (Turban dkk, 2005).
Lingkungan Konsultasi
Lingkungan Pengembangan
Pengguna Fakta tentang kejadian khusus
Fakta : Aturan:
Antamuka pengguna
Basis Pengetahuan Apa yang diketahui tentang area domain Referensi logika (misalnya, antara gejala dan penyebab)
Knowledge Engineer
Fasilitas penjelasan
Pengetahuan terdokumentasi Tindakan yang direkomendasikan
Mesin Inferensi Menarik kesimpulan
Blackboard (tempat kerja) Rencana Agenda Solusi Deskripsi masalah
· Penerjemah · Pembuat jadwal · Penguat kosistensi
Perbaikan pengetahuan
Akuisisi pengetahuan
Pengetahuan pakar
Gambar 2.1 Stuktur Sistem Pakar Sumber : Turban,dkk., 2005 : Decision Support Systems and Intelligent System, Jilid 2
16
Kebanyakan sistem pakar saat ini tidak berisi komponen perbaikan pengetahuan. Gambar 2.1 menunjukkan struktur sistem pakar secara umum. Berikut merupakan deskripsi singkat masing-masing komponen sistem pakar.
2.1.5.1 Subsistem Akuisisi Pengetahuan Subsistem
akuisisi
pengetahuan
adalah
akumulasi,
transfer,
dan
transformasi keahlian pemecahan masalah dari para pakar atau sumber pengetahuan terdokumentasi ke program komputer, untuk membangun atau memperluas basis pengetahuan. Sumber pengetahuan potensial antara lain pakar manusia, buku teks, dokumen multimedia, database, laporan riset khusus, dan informasi yang terdapat dalam web. Mendapatkan pengetahuan dari pakar adalah tugas kompleks yang sering menimbulkan kemacetan dalam konstruksi sistem pakar. Untuk membangun sistem yang besar, seorang memerlukan knowledge engineer atau pakar elisitasi pengetahuan untuk berinteraksi dengan satu atau lebih pakar manusia dalam membangun basis pengetahuan. Biasanya knowledge engineer membantu pakar menyusun area persoalan dengan menginterpretasikan dan mengintegrasikan jawaban manusia, menyusun analogi, mengajukan contoh pembanding dan menjelaskan kesulitan konseptual.
2.1.5.2 Basis Pengetahuan Basis pengetahuan berisi pengetahuan relevan yang diperlukan untuk memahami, merumuskan, memecahkan persoalan. Basis tersebut mencakup dua elemen dasar, yaitu: 1. Fakta, misalnya situasi persoalan dan teori area persoalan 2. Heuristik atau aturan khusus sistem yang mengarahkan penggunaan pengetahuan untuk memecahkan persoalan khusus dalam domain tertentu. Heuristik menyatakan pengetahuan penilaian informal dalam area aplikasi.
17
2.1.5.3 Mesin Inferensi Mesin inferensi, yang sering dikenal dengan struktur kontrol atau penerjemah aturan, sebenarnya merupakan program komputer yang menyediakan metodologi untuk mempertimbangkan informasi dalam basis pengetahuan dan blackboard, dan merumuskan kesimpulan. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi berdasarkan pada basis pengetahuan yang ada, memanipulasi dan mengarahkan kaidah, model dan fakta yang disimpan dalam basis pengetahuan untuk mencapai solusi atau kesimpulan.
2.1.5.4 Antarmuka Pengguna Digunakan sebagai media komunikasi antara pengguna dan sistem pakar. Komunikasi ini paling bagus bila disajikan dalam bahasa alami (natural language) dan dilengkapi dengan grafik, menu, dan formulir elektronik. Pada bagian ini akan terjadi dialog antara sistem pakar dengan pengguna.
2.1.5.5 Blackboard (Tempat Kerja) Blackboard adalah area kerja memori yang disimpan sebagai database untuk deskripsi persoalan terbaru yang ditetapkan oleh data input, digunakan juga untuk perekaman hipotesis dan keputusan sementara. Tiga tipe keputusan yang dapat direkam oleh blackboard yaitu: 1. Rencana, bagaimana mengatasi persoalan. 2. Agenda, tindakan potensial sebelum eksekusi. 3. Solusi, hipotesis kandidat dan arah tindakan alternatif yang telah dihasilkan sistem sampai dengan saat ini.
2.1.5.6 Subsistem Penjelasan (Justifier) Kemampuan untuk melacak tanggung jawab suatu kesimpulan terhadap sumbernya adalah penting untuk transfer keahlian dan dalam pemecahan masalah. Subsistem penjelasan (justifier) dapat melacak tanggung jawab tersebut dan menjelaskan perilaku sistem pakar dengan menjawab pertanyaan berikut secara interaktif:
18
1. Mengapa suatu pertanyaan ditanyakan oleh sistem pakar? 2. Bagaimana suatu kesimpulan dicapai? 3. Mengapa suatu alternatif ditolak? 4. Apa rencana untuk mencapai solusi?
2.1.5.7 Subsistem Perbaikan Pengetahuan Kemampuan memperbaiki pengetahuan (knowledge refining system) dari seorang pakar diperlukan untuk menganalisis pengetahuan, belajar dari kesalahan masa lalu, kemudian memperbaiki pengetahuannya sehingga dapat dipakai dimasa mendatang. Kemampuan evaluasi diri seperti itu diperlukan oleh program agar dapat menganalisis alasan-alasan kesuksesan dan kegagalannya dalam mengambil kesimpulan, sehingga dihasilkan basis pengetahuan yang lebih baik dan penalaran yang lebih efektif.
2.1.6
Proses Rancang Bangun Pengetahuan Proses rancang
bangun pengetahuan mencakup lima aktivitas utama
(Turban, dkk., 2005): 1. Akuisisi pengetahuan Akuisisi pengetahuan melibatkan akuisisi pengetahuan dari pakar manusia, buku, dokumen, sensor, atau file komputer. Pengetahuan tersebut dapat spesifik terhadap domain persoalan atau terhadap prosedur pemecahan masalah,
dapat
pula
berupa
pengetahuan
umum,
atau
berupa
metapengetahuan (pengetahuan tentang pengetahuan). 2. Representasi pengetahuan Pengetahuan yang diperoleh disusun dalam suatu aktivitas yang disebut representasi pengetahuan. Aktivitas ini melibatkan peta pengetahuan dan enkode pengetahuan dalam basis pengetahuan. 3. Validasi pengetahuan Pengetahuan divalidasi dan diverifikasi (misalnya, menggunakan test case) hingga kualitasnya dapat diterima. Hasil test case biasanya ditunjukkan pada pakar untuk memverifikasi keakuratan sistem pakar .
19
4. Penyimpulan Aktivitas ini melibatkan desain perangkat lunak untuk memungkinkan komputer melakukan inferensi berbasis pengetahuan dan spesifik terhadap suatu persoalan. Kemudia sistem dapat menyediakan nasehat untuk pengguna nonpakar. 5. Penjelasan dan justifikasi Bagian ini melibatkan desain dan pemrograman kemampuan penjelasan, misalnya memprogram kemampuan untuk menjawab pertanyaan seperti mengapa komputer memerlukan bagian informasi spesifik atau bagaimana komputer mendapatkan kesimpulan tertentu.
2.1.7
Tim Pengembangan Sistem Pakar Unsur-unsur yang berperan dalam pengembangan sistem pakar, antara
lain project manager, domain expert, knowledge engineer, programmer dan end user seperti yang dapat dilihat pada Gambar 2.2 berikut:
Project Manager
Domain Expert
Knowledge Engineer
Programmer
Sistem Pakar
End User
Gambar 2.2 Tim Pengembangan Sistem Pakar
1. Domain Expert Domain expert adalah pengetahuan dan kemampuan seorang pakar untuk menyelesaikan masalah terbatas pada keahliannya saja.
20
2. Knowledge Engineer Knowledge engineer adalah orang yang mampu mendesain, membangun, dan menguji sebuah sistem pakar. 3. Programmer Programmer adalah orang yang membuat program sistem pakar, mengode domain pengetahuan agar dapat dimengerti oleh komputer. 4. Project Manager Project manager adalah pemimpin dalam tim pengembangan sistem pakar. 5. End-User End-user atau sering disebut user saja, adalah orang yang menggunakan sistem pakar.
2.1.8
Pengembangan Sistem Pakar Secara garis besar, terdapat 6 tahap atau fase dalam pengembangan sistem
pakar (Ritasari, 2005). 1. Identifikasi 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 kan diimplementasikan dalam sistem. Setiap masalah yang diidentifikasikan harus dicarikan solusi, fasilitas yang akan dikembangkan, penetuan jenis bahasa pemrograman dan tujuan tujuan yang ingin dicapai dari proses pengembangan tersebut. 2. Konseptualisasi Hasil identifikasi masalah dikonseptualisasikan dalam bentuk relasi antar data, hubungan anta pengetahuandan konsep-konsep penting dan ideal yang kan diterapkan dalam sistem. Konseptualisasi juga menganalisis data-data penting yang harus didalami bersama dengan pakar di bidang permasalahan tersebut. Hal ini dilakukan untuk memperoleh konfirmasi hasil wawancara dan observasi sehingga hasilnya dapat memberikan jawaban pasti bahwa sasaran permasalahan tepat, benar dan sudah sesuai.
21
3. Fomalisasi 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 sperti keahlian manusia, kesulitan dan tingkat kesulitan yang mungkin terjadi, dokumentasi kerja, dan sebagainya. 4. Implementasi Apabila pengetahuan sudah diformalisasikan secara lengkap, maka tahap implementasi dapat dimulai dengan membuat garis besar masalah kemudian memecahkan masalah ke dalam modul-modul. Untuk memudahkan maka akan diidentifikasikan: a. Apa saja yang menjadi input. b. Bagaimana prosesnya digambarkan dalam bagan alur dan basis aturannya. c. Apa saja yang menjadi output atau hasil dan kesimpulannya. 5. Evaluasi 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 penyempurnaanya. Pada evaluasi akan ditemukan bagian-bagian yang harus dikoreksi untuk menyamakan permasalahan dan tujuan akhir pembuatan sistem. 6. Pengembangan sistem Pengembangan sistem diperlukan sehingga sistem yang dibangun tidak menjadi usang dan investasi sistem tidak sia-sia. Hal pengembangan sistem yang paling berguna adalah proses dokumentasi sistem dimana di dalamnya tersimpan semua hal penting yang dapat menjadi tolak ukur pengembangan sistem di masa mendatang termasuk di dalamnya adalah kamus pengetahuan masalah yang diselesaikan.
22
2.1.9
Ketidakpastian (Uncertainty) Salah satu karakteristik umum dari informasi yang tersedia bagi manusia
ahli adalah ketidaksempurnaannya. Informasi dapat tidak lengkap, tidak konsisten, tidak pasti, atau ketiganya. Dengan kata lain, informasi sering tidak cocok untuk memecahkan masalah. Namun, seorang ahli bisa mengatasi hal ini dan biasanya dapat membuat memperbaiki penilaian dan keputusan yang tepat. Sistem pakar juga harus dapat menangani ketidakpastian dan menarik kesimpulan yang valid. Menurut Stephanou dan Sage (1987), ketidakpastian dapat didefinisikan sebagai kurangnya pengetahuan yang tepat yang memungkinkan untuk mencapai kesimpulan yang sempurna. Sayangnya sebagian besar masalah di dunia nyata di mana sistem pakar dapat digunakan tidak memberikan informasi yang jelas. Informasi yang tersedia sering berisi data yang tidak lengkap (Negnevitsky, M., 2005). Hasil yang tidak pasti disebabkan oleh dua faktor, yaitu aturan yang tidak pasti dan jawaban pengguna yang tidak pasti atas suatu pertanyaan yang diajukan sistem (Kusrini, 2008).
2.1.9.1 Ketidakpastian Aturan Ada tiga penyebab ketidakpastian aturan, yaitu aturan tunggal, penyelesaian konflik dan ketidakcocokan (incompability) antar konsekuensi dalam aturan. Aturan tunggal yang dapat menyebabkan ketidakpastian dipengaruhi oleh tiga hal, yaitu kesalahan, probabilitas dan kombinasi gejala (evidence). Kesalahan dapat terjadi karena (Kusrini, 2008) : 1. Ambiguitas, sesuatu didefinisikan dengan lebih dari satu cara 2. Ketidaklengkapan data 3. Kesalahan informasi 4. Ketidakpercayaan terhadap suatu alat 5. Adanya bias
23
Probabilitas disebabkan ketidakmampuan seorang pakar merumuskan suatu aturan secara pasti. Ketidakcocokan (incompability) antar konsekuensi dalam aturan disebabkan oleh beberapa hal, yaitu: 1. Kontradiksi aturan, misalnya: R1 :
JIKA E1 MAKA H
R2 :
JIKA E1 MAKA J
2. Subsumpsi aturan R1 :
JIKA E1 MAKA H
R2 :
JIKA E1 DAN E2 MAKA H
Jika hanya E1 yang muncul maka masalah tidak akan timbulkarena aturan yang akan digunakan adalah R1, tetapi apabila E1 dan E2 sama-sama muncul, maka kedua aturan akan di jalankan. 3. Redundansi aturan R1 :
JIKA E1 MAKA H
R2 :
JIKA E1 DAN E2 MAKA H
Dalam kasus ini ditemukan adanya aturan-aturan yang tampaknya berbeda tetapi memiliki makna yang sama. 4. Kehilangan aturan R1 :
JIKA E1 MAKA H
Ketika E1 diabaikan, maka H tidak pernah tersimpulkan. 5. Penggabungan data
2.1.9.2 Faktor Kepastian (Certainty Factor) Faktor kepastian (Certainty Factor) diperkenalkan oleh Shortlife Buchanan
pada tahun 1975 untuk mengakomodasi ketidakpastian pemikiran
(inexact reasoning) seorang pakar. Seorang pakar sering kali menganalisis informasi yang ada dengan ungkapan seperti “mungkin”, “kemungkinan besar”, “hampir pasti”. Untuk mengakomodasi hal tersebut, maka digunakan Certainty Factor
(CF)
guna
menggambarkan
tingkat
keyakinan
permasalahan yang sedang dihadapi (Sutojo, dkk., 2010).
pakar
terhadap
24
Teori kepastian bergantung pada penggunaan faktor-faktor kepastian. Faktor kepastian (Certainty Factor) menyatakan kepercayaan dalam sebuah kejadian (fakta atau hipotesis) berdasarkan bukti (atau penilaian pakar). Terdapat beberapa metode penggunaan faktor kepastian untuk menangani ketidakpastian di dalam sistem berbasis pengetahuan. Salah satu caranya adalah menggunakan 1,0 atau 100 untuk kebenaran absolut (keyakinan penuh) dan 0 untuk kebohongan pasti. Teori kepastian memperkenalkan konsep kepercayaan dan ketidakpercayaan (Turban, dkk., 2005). Pada pembuatan MYCIN, derajat kepercayaan dan ketidakpercayaan ditentukan dengan faktor kepastian (Certainty Factor) yang merupakan selisih antara kepercayaan dan ketidakpercayaan (Giarrantano dan Riley, 1998): CF (H,E) = MB (H,E) – MD(H,E)
dimana : CF (H,E) :
Certainty factor dari hipotesis H yang dipengaruhi oleh gejala (evidence) E.
MB (H,E) :
ukuran kenaikan kepercayaan (measure of increased belief) terhadap hipotesis H yang dipengaruhi oleh gejala E.
MD(H,E) :
ukuran kenaikan keidakpercayaan (measure of increased disbelief) terhadap hipotesis H yang dipengaruhi oleh gejala E.
E
:
Evidence (peristiwa atau fakta)
2.1.9.3 Menentukan CF Paralel CF paralel merupakan CF yang diperoleh dari beberapa premis pada sebuah aturan. Besarnya CF sequensial dipengaruhi oleh CF user untuk masingmasing premis dan operator dari premis. Rumus untuk masing-masing operator dapat dilihat (Kusrini,2008): 1. Operator AND Untuk jenis aturan ini, semua premis harus bernilai benar agar menghasilkan kesimpulan yang benar, tetapi dalam beberapa kasus ada ketidakpastian atas
25
apa yang terjadi. Maka CF dari kesimpulannya adalah CF minimum dari premis tersebut. CF (x dan y)
= min[CF(x), CF(y)]
2. Operator OR Untuk aturan ini, cukup satu premis saja bernilai benar agar kesimpulannya benar. Jadi, jika kedua premis diyakini benar (pada faktor kepastiannya), maka kesimpulannya akan memiliki CF pada maksimum keduanya: CF (x atau y)
= max[CF(x), CF(y)]
2.1.9.4 Menentukan CF Sequensial CF sequensial merupakan CF yang diperoleh dari sebuah premis pada sebuah aturan. Bentuk dasar rumus certainty factor sebuah aturan jika E maka H ditujukan oleh rumus berikut (Kusrini,2008).
CF(H,e) = CF(E,e) * CF(H,E) dimana : CF (E,e):
Certainty factor evidence E yang dipengaruhi oleh evidence e
CF (H,E):
Certainty factor hipotesis dengan asumsi evidence diketahui dengan pasti, yaitu ketika CF(E,e)= 1
CF (H, e):
Certainty factor hipotesis yang dipengaruhi oleh evidence e
Jika semua evidence pada antecendent diketahui dengan pasti, maka rumusnya ditujukan oleh rumus CF (H,e) = CF (H.E)
2.1.9.5 Menentukan CF Gabungan CF gabungan merupakan CF akhir dari sebuah calon konklusi. CF ini dipengaruhi oleh semua CF paralel dari aturan yang menghasilkan konklusi tersebut. CF gabungan diperlukan jika suatu konklusi diperoleh dari beberapa aturan sekaligus (Kusrini,2008).
26
CF1 + CF2 (1 − CF1 )
CF (CF1, CF2) =
CF1 + CF2 1−min[|CF1 |,|CF2 |]
{ CF1 + CF2 × (1 + CF1 )
jika CF1 > 0 𝑑𝑎𝑛 CF2 > 0 jika CF1 < 0 𝑎𝑡𝑎𝑢 CF2 < 0 jika CF1 < 0 𝑑𝑎𝑛 CF2 < 0
2.1.9.6 Kelebihan dan Kekurangan Metode Certainty Factor Kelebihan metode Certainty Factor adalah (Sutojo, dkk., 2010): 1. Metode ini cocok dipakai dalam sistem pakar yang mengandung ketidakpastian. 2. Pada sekali proses perhitungan hanya dapat mengolah dua data saja sehingga keakuratan terjaga. Kekurangan metode Certainty Factor adalah (Sutojo, dkk., 2010): 1. Pemodelan ketidakpastian yang menggunakan perhitungan metode certainty factor biasanya masih sering diperdebatkan. 2. Untuk data lebih dari dua buah, harus dilakukan beberapa kali pengolahan data
2.2
Bahasa Pemrograman PHP Menurut situs web resminya pada http://www.php.net, PHP (PHP:
Hypertext Prepocessor) merupakan bahasa pemrograman web yang dapat disisipkan dalam script HTML. PHP adalah bahasa pemrograman yang memungkinkan untuk menggabungkan logika canggih ke web statis. Bahasa ini cepat menjadi pilihan populer karena dukungan luas untuk sistem database yang berbeda. Tujuan dari bahasa ini adalah membantu para pengembang web untuk membuat web dinamis dengan cepat. Ketika seseorang mengunjungi web berbasis PHP, web server akan memproses kode-kode PHP. Beberapa perintah atau kode dari PHP tersebut selanjutnya ada yang diterjemahkan ke dalam HTML dan beberapa ada yang disembunyikan (misalnya proses kalkulasi dan operasi). Setelah diterjemahkan ke dalam HTML, web server akan mengirim kembali ke web browser pengunjung tersebut.
27
2.2.1
Sejarah PHP PHP Pertama kali ditemukan pada 1995 oleh seorang Software Developer
bernama Rasmus Lerdrof. Ide awal PHP adalah ketika itu Radmus ingin mengetahui jumlah pengunjung yang membaca resume online-nya. Script yang dikembangkan baru dapat melakukan dua pekerjaan, yakni merekam informasi visitor, dan menampilkan jumlah pengunjung dari suatu website. Sampai sekarang kedua tugas tersebut masih tetap populer digunakan oleh dunia web saat ini. Kemudian, dari situ banyak orang di milis mendiskusikan script buatan Rasmus Lerdrof, hingga akhirnya rasmus mulai membuat sebuah tool/script, bernama Personal Home Page (PHP). Kebutuhan PHP sebagai tool yang serba guna membuat Lerdorf melanjutkan untuk mengembangkan PHP hingga menjadi suatu bahasa tersendiri yang mungkin dapat mengkonversikan data yang di inputkan melalui Form HTML menjadi suatu variable, yang dapat dimanfaatkan oleh sistem lainnya. Untuk merealisasikannya, akhirnya Lerdrof mencoba mengembangkan PHP menggunakan bahasa C ketimbang menggunakan Perl. Tahun 1997, PHP versi 2.0 di rilis, dengan nama Personal Home Page Form Interpreter (PHP-FI). PHP Semakin popular, dan semakin diminati oleh programmer web dunia. Rasmus Lerdrof benar-benar menjadikan PHP sangat populer, dan banyak sekali team developer yang ikut bergabung dengan Lerdrof untuk mengembangkan PHP hingga menjadi seperti sekarang, Hingga akhirnya dirilis versi ke 3-nya, pada Juni 1998, dan tercatat lebih dari 50.000 programmer menggunakan PHP dalam membuat website dinamis. Pengembangan demi pengembangan terus berlanjut, ratusan fungsi ditambahkan sebagai fitur dari bahasa PHP, dan di awal tahun 1999, Netcraft mencatat, ditemukan 1.000.000 situs di dunia telah menggunakan PHP. Ini membuktikan bahwa PHP merupakan bahasa yang paling populer digunakan oleh dunia web development. Hal ini mengagetkan para developernya termasuk Rasmus sendiri, dan tentunya sangat diluar dugaan sang pembuatnya. Kemudian Zeev Suraski dan Andi Gutsman selaku core developer (programmer inti) mencoba untuk menulis ulang PHP Parser, dan diintegrasikan dengan
28
menggunakan Zend scripting engine, dan mengubah jalan alur operasi PHP. Semua fitur baru tersebut di rilis dalam PHP 4. Pada Juni 2004, Zend merilis PHP 5.0. Pada versi ini, inti dari interpreter PHP
mengalami
perubahan
model pemrograman berorientasi
besar.
Versi
ini
juga
memasukkan
objek ke dalam PHP untuk menjawab
perkembangan bahasa pemrograman ke arah paradigma berorientasi objek. Beberapa keunggulan PHP dari bahasa pemrograman web, antara lain (MADCOM, 2004): 1. PHP memiliki tingkat akses yang lebih cepat. 2. PHP memiliki tingkat lifecycle yang ccepat sehingga selalu mengikuti perkembangan teknologi internet. 3. PHP memiliki tingkat keamanan yang tinggi 4. PHP mampu berjalan di beberapa server yang ada, misalnya Apache, Microsoft IIS, PWS, AOLServer, phttpd, fhttpd, dan Xitami 5. PHP mampu berjalan di Linux sebagai platform sistem operasi utama bagi PHP, namun juga dapat berjalan di FreeBSD, Unix, Solaris, Windows, dan yang lain. 6. PHP mendukung akses ke beberapa database yang sudah ada, baik yang bersifat free/gratis ataupun komersial. Database tersebut antara lain MySQL, PosgreSQL, mSQL, Infomix dan MicrosoftSQL Server. 7. PHP bersifat free atau gratis 2.2.2
Cara Kerja PHP Cara kerja HTML itu sangat sederhana, yaitu berawal dari client yang
memanggil
berdasarkan URL
(Uniform
Resource
Locator)
melalui browser, kemudian browser mendapat alamat dari web server, yang nantinya akan memberikan segala informasi yang dibutuhkan web browser. Web browser yang sudah mendapat informasi segera melakukan proses penterjemahan kode HTML dan menampilkannya ke layar pemakai. Cara kerja HTML dapat digambarkan seperti pada Gambar 2.3 berikut.
29
WEB SERVER Permintaan URL
BROWSER
Tanggapan HTTP (URL)
KODE HTML
Gambar 2.3 Cara Kerja HTML Sumber : http://digda.blog.uns.ac.id/2009/06/09/konsep-kerja-php/
Cara kerja PHP hampir sama denga cara kerja HTML, hanya perlu penterjemahan khusus untuk kode-kode PHP yang nantinya akan diterjemahkan oleh mesin PHP ke kode HTML terlebih dahulu sebelum diterjemahkan browser untuk ditampilkan di layar klien. Untuk lebih jelasnya lihat skema yang ada untuk membandingkan konsep kerja HTML dengan PHP.
WEB SERVER Permintaan URL
KODE PHP
MESIN PHP BROWSER
Tanggapan HTTP (URL)
KODE HTML
Gambar 2.4 Cara Kerja PHP Sumber : http://digda.blog.uns.ac.id/2009/06/09/konsep-kerja-php/
Cara kerja PHP dapat digambarkan secara sederhana seperti seperti pada Gambar 2.4 diatas.
30
2.3
MYSQL Database MYSQL merupakan sistem manajemen basis data SQL yang
sangat terkenal dan bersifat open oource. MYSQL dibangun, didistribusikan, dan didukung oleh MYSQL AB. MYSQL AB merupakan perusahaan komersial yang dibiayai oleh pengembang MYSQL. Sebenarnya software MYSQL mempunyai dua macam lisensi. Lisensi yang pertama bersifat open source dengan menggunakan GNU General Public Lisensi dan lisensi kedua berupa lisensi komersial standar (standart commercial license) yang dapat dibeli dari MYSQL AB. MYSQL dapat didefinisikan sebagai sistem manajemen databse. Database sendiri merupakan struktur penyimpanan data. Untuk menambah, mengakses, dan memproses data yang disimpan dalam sebuah database komputer, diperlukan sistem manajemen database seperti MYQL Server. Selain itu, MYSQL dapat dikatakan sebagai basis data terhubung (RDBMS). Database terhubung menyimpan data pada tabel-tabel terpisah. Hal tersebut akan menambah kecepatan dan fleksibilitasnya. Server database MYSQL mempunyai kecepatan akses tinggi, mudah digunakan dan handal. MYSQL dikembangkan untuk menangani database yang besar secara cepat dan telah sukses digunakan selama bertahun-tahun sehingga membuat server MYSQL cocok untuk mengakses database internet. MYSQL juga merupakan sistem client-server yang terdiri atas multithread SQL Server yang mendukung software client dan library yang berbeda. Fitur utama MYSQL adalah ditulis dalam bahasa C dan C++, bekerja dalam berbagai platform, menyediakan mesin penyimpan transaksi dan nontransaksi, mempunyai library yang dapat ditempelkan pada aplikasi yang berdiri sendiri sehingga aplikasi tersebut dapat digunakan pada komputer yang tidak mempunyai jaringan dan mempunyai sistem password yang fleksibel dan aman, dapat menangani database dalam skala besar (Kustiyahningsih & Anamsia, 2011).
31
2.3.1
Perintah-perintah pada MYSQL Query sebenarnya berarti permintaan atau perintah. Melalui penggunaan
query, maka dapat melihat, mengubah dan menganalisis data dengan berbaga titik pandang yang dikehendaki. Selain itu, query juga dapat dipakai sebagai data bagi formulir, laporan dan halaman web. Query pada MYSQL adalah query yang diciptakan dengan pernyataanpernyataan SQL. Structured Query Language (SQL) adalah bahasa pemrograman yang digunakan untuk mengakses basis data relasional. SQL diciptakan oleh perusahaan IBM sekitar tahun 1970, pada waktu yang bersamaan dengan diperkenalkannya konsep relasional database. Setelah mengalami banyak perkembangan, pada masa kini SQL sudah merupakan bahasa yang lazim digunakan dalam dunia database. Bahasa SQL dapat digolongkan bahasa generasi ke-4 yang tidak berupa bahasa yang berstruktur dan beraturan seperti C dan Pascal (golongan bahasa generasi ke-3). Oleh karena itu bahasa SQL mudah dipelajari. Pernyataan (statement) SQL dapat digolongkan atas tiga golongan, yaitu: 1. Data Definition Language (DDL) yang mendefinisikan struktur suatu data. Perintah-perintah SQL yang termasuk DDL antara lain CREATE, ALTER dan DROP. 2. Data Manipulation Language (DML) yang dapat mencari (query) dan mengubah (modify) suatu tabel. Perintah-perintah SQL yang termasuk DML antara lain SELECT, INSERT, UPDATE dan DELETE. 3. Data Control Language (DCL) yang mengatur hak-hak (previlege) untuk seorang pemakai database. Perintah-perintah SQL yang termasuk DCL antara lain GRANT dan REVOKE. 2.3.2
Tipe Data MYSQL Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai
dari data tersebut. Nilai data dalam field memiliki tipe sendiri-sendiri. MSQL mengenal beberapa tipe data field, yaitu:
32
1. Tipe Data Numerik Tipe data numerik dibedakan menjadi dua kelompok, yaitu integer dan floating point. Tipe data numerik selengkapnya dapat dilihat dalam Tabel 2.4 berikut. Tabel 2.4 Tipe Data Numerik Tipe Data TINYINT SMALLINT MEDIUMINT INT, INTEGER FLOAT DOUBLE
Kisaran Nilai (-128) – 127 atau (0-255) (-32768)–32767 atau (0-65535) (-3888608)-8388607 atau 0-16777215 (-2147683648)-(21447683647) atau 0-4294967295 (-3.4E+38)-(1.17E-38), 0 dan 1.175E-38-3.4e+38 (-1.79E+308)-(-2.225E-308), 0 dan 2.225E-308 – 1.79E+308 Sumber : Kustiyahningsih, Y & Anamsia, D.R., 2011 : Pemrograman Basis Data Berbasis Web Menggunakan PHP dan MySQL
Integer digunakan untuk data bilangan bulat, sedangkan floating point digunakan untuk bilangan desimal. 2. Tipe Data String Tipe data string berupa rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data string dapat dilihat pada tabel 2.5 berikut Tabel 2.5 Tipe Data String Tipe Data Kisaran Nilai CHAR 1-255 karakter VARCHAR 1-255 karakter TINYTEXT 1-255 karakter TEXT 1-65535 karakter MEDIUMTEXT 1-16777215 karakter LONGTEXT 1-424967995 karakter Sumber : Kustiyahningsih, Y & Anamsia, D.R., 2011 : Pemrograman Basis Data Berbasis Web Menggunakan PHP dan MySQL
Memori yang dibutuhkan untuk tipe data char bersifat statis, besarnya bergantung pada berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Pada tipe data varchar, besarnya memori penyimpanan tergantung pada jumlah karakter ditambah 1 byte.
33
3. Tipe Data Tanggal Untuk tanggal dan jam, tersedia tipe-tipe data field berupa DATETIME, DATE, TIMESTAMP, TIME dan YEAR. Masing-masing tipe mempunyai kisaran tertentu. Kisaran nilai dan besar memori penyimpanan yang diperlukan untuk masing-masing tipe data dapat dilihat pada Tabel 2.6 berikut. Tabel 2.6 Tipe Data Tanggal Tipe Data DATETIME
Kisaran Nilai Memori Penyimpanan 1000-01-01 00:00:00 sampai 9999-123 byte 31 23:59:59 DATE 1000-01-01 sampai 9999-12-31 8 byte TIMESTAMP 1970-01-01 00:00:00 sampai 2037 4 byte TIME -839:59:59 sampai 838:59:59 3 byte YEAR 1901 sampai 2155 1 byte Sumber : Kustiyahningsih, Y & Anamsia, D.R., 2011 : Pemrograman Basis Data Berbasis Web Menggunakan PHP dan MySQL
MYSQL akan memberikan peringatan kesalahan (error) apabila tanggal atau waktu yang dimasukkan salah.
2.4
Hukum Pidana Hukum pidana yang sangat luas dan mencakup banyak segi, yang tidak
mungkin
dimuat
dalam
suatu
batasan
dengan
suatu
kalimat
tertentu
mengakibatkan kerumitan tersendiri untuk memberikan suatu batasan yang dapat mencakup seluruh isi/aspek dari pengetahuan hukum pidana. Dilihat dari garis-garis besarnya, dengan berpijak pada kodifikasi sebagai sumber utama atau sumber pokok hukum pidana, maka hukum pidana adalah bagian dari hukum publik yang memuat ketentuan-ketentuan tentang: 1. Aturan umum hukum pidana dan larangan melakukan perbuatan-perbuatan tertentu yang disertai dengan ancaman sanksi berupa pidana bagi yang melanggar larangan itu. 2. Syarat-syarat tertentu yang harus dipenuhi/harus ada bagi pelanggar untuk dapat dijatuhkannya sanksi pidana yang diancamkan pada larangan perbuatan yang dilanggarnya.
34
3. Tindakan dan upaya-upaya yang boleh atau harus dilakukan negara, melalui alat-alat perlengkapannya (misalnya polisi, jaksa, hakim), terhadap yang disangka dan didakwa sebagai pelanggar hukum pidana dalam rangka usaha negara menentukan, menentukan, menjatuhkan dan melaksanakan sanksi pidana terhadap dirinya, serta tindakan dan upaya-upaya yang boleh dan harus dilakukan oleh tersangka/terdakwa pelanggar hukum tersebut dalam usaha melindungi dan mempertahankan hak-haknya dari tindakan negara dalam upaya negara menegakkan hukum pidan tersebut. Hukum pidana dapat dibagi dan dibedakan
atas berbagi dasar/cara.
Berdasarkan pada siapa berlakunya hukum pidana, maka hukum pidana dapat dibedakan menjadi hukum pidana umum dan hukum pidana khusus. 1. Hukum pidana umum adalah hukum pidana yang ditujukan dan berlaku untuk semua warga penduduk negara (subjek hukum) dan tidak membeda-bedakan kualitas pribadi subjek hukum tertentu. Setiap warga penduduk negara harus tunduk dan patuh terhadap hukum pidana umum. 2. Hukum pidana khusus adalah hukum pidana yang dibentuk oleh negara yang hanya dikhususkan berlaku bagi subjek hukum tertentu saja. Jika berdasarkan sumbernya, hukum pidana dapat dibedakan menjadi hukum pidana umum dan hukum pidana khusus yang pengertiannya berbeda dengan pidana umum dan hukum pidana khusus yang diterangkan di atas. Hukum pidana umum disini diartikan sebagai semua ketentuan hukum pidana yang terdapat/bersumber pada kodifikasi (dalam hal ini KUHP), yang karenanya dapat juga disebut dengan hukum pidana kodifikasi. Kodifikasi merupakan pembukuan hukum undang-undang dalam bidang tertentu dengan sistem tertentu secara lengkap oleh suatu negara. Sedangkan hukum pidana khusus di sini berarti hukum pidana yang bersumber pada peraturan perundangundangan di luar kodifikasi.
35
2.4.1
Fungsi Hukum Pidana Secara umum hukum pidana berfungsi mengatur dan menyelenggarakan
kehidupan masyarakat agar dapat tercipta dan terpeliharanya ketertiban umum. Manusia hidup dipenuhi oleh berbagai kepentingan dan kebutuhan, antara yang satu dengan yang lain tidak saja berlainan, akan tetapi terkadang saling bertentangan. Agar sikap dan perbuatannya tidak merugikan kepentingan dan hak orang lain, maka hukum memberikan rambu-rambu berupa batasan-batasan tertentu, sehingga manusia tidak sebebas-bebasnya untuk berbuat dan bertingkah laku dalam rangka mencapai dan memenuhi kenginannya itu. Secara khusus, sebagai bagian dari hukum publik, fungsi hukum pidana antara lain: 1. Melindungi kepentingan hukum dari perbuatan atau perbuatan-perbuatan yang menyerang atau memperkosa kepentingan hukum tersebut. 2. Memberi dasar legitimasi bagi negara dalam rangka negara menjalankan fungsi perlindungan atas berbagai kepentingan hukum. 3. Mengatur dan membatasi
kekuasaan negara dalam rangka negara
melaksanakan fungsi perlindungan atas kepentingan hukum.
2.4.2
Tindak Pidana Istilah tindak pidana berasal dari istilah yang dikenal dalah hukum
Belanda, yaitu “strafbaar feit”. Walaupun istilah tersebut derdapat dalam WvS Belanda dan juga WvS Hindia Belanda (KUHP), tetapi tidak ada penjelasan resmi tentang apa yang dimaksud dengan strafbaar feit, karena itu para ahli hukum berusaha untuk memberikan arti dari istilah tersebut, namun sampai saat ini belum ada keseragaman pendapat. Istilah-istilah yang pernah digunakan baik dalam perundang-undangan yang ada maupun dalam berbagai literatur hukum sebagai terjemahan dari istilah strafbaar feit adalah: 1. Tindak Pidana Dapat dikatakan istilah tindak pidana merupakan istilah resmi yang dipakai dalam perundang-undangan. Hampir seluruh peraturan perundang-undangan
36
menggunakan istilah tindak pidana, seperti dalam UU No. 3 tahun 1971 tentang Pemberantasan Tindak Pidana Korupsi (diganti dengan UU No. 31 Th.
1999),
dan
perundang-undangan
lainnya.
Ahli
hukum
yang
menggunakan istilah ini seperti Prof. Dr. Wirjono Prodjodikoro, S.H. 2. Peristiwa Pidana Istilah ini digunakan oleh beberapa ahli hukum, seperti Mr. R. Tresna dalam buku "Azas-azas Hukum Pidana, Mr. Drs. H.J van Schravendijk dalam buku Pelajaran tentang Hukum Pidana Indonesia, Prof. A. Zainal Abidin, S.H dalam buku "Hukum Pidana". 3. Delik Berasal dari bahasa latin "delictum" juga digunakan untuk menggambarkan tentang apa yang dimaksud, dengan strafbaar feit. Istilah ini dapat dijumpai dalam berbagai literatur, misalnya Prof. Drs. E. Utrecht, S.H., Prof. A. Zainal Abidin dalam buku "Hukum Pidana I". Prof. Moeljatno pernah juga menggunakan istilah ini, seperti pada buku "Delik-Delik Percobaan DelikDelik Penyertaan". 4. Pelanggaran Pidana Istilah ini dapat dijumpai dalam buku Pokok-pokok Hukum Pidana yang ditulis oleh Mr. M.H Tirtaamidjaja. 5. Perbuatan yang boleh dihukum Istilah ini digunakan oleh Mr. Karni dalam buku "Ringkasan tentang Hukum Pidana". Begitu juga Schravendijk dalam buku "Buku Pelajaran Tentang Hukum Pidana Indonesia" 6. Perbuatan yang dapat dihukum Istilah ini digunakan oleh Pembentuk Undang-undang dalam Undang-Undang No. 12/Drt/1951 tentang Senjata Api dan Bahan Peledak. 7. Perbuatan Pidana Istilah ini digunakan oleh Prof. Mr. Moeljatno dalam berbagai tulisannya, seperti dalam buku Azas-azas Hukum Pidana.
37
Strafbaar feit, terdiri dari 3 kata, yakni straf, baar dan feit. Dari 7 istilah yang digunakan sebagai terjemahan dari strafbaar feit itu, straf diterjemahkan dengan pidana dan hukum. Perkataan baar diterjemahkan dengan dapat dan boleh. Sedangkan untuk kata feit diterjemahkan dengan tindak, peristiwa, pelanggaran dan perbuatan. Secara literlijk kata straf artinya pidana, baar artinya dapat atau boleh dan felt adalah perbuatan. Pada kaitanya dengan istilah strafbaar feit secara utuh, ternyata straf diterjemahkan juga dengan kata hukum, padahal sudah lazim hukum itu adalah berupa terjemahan dari kata recht, seolah-olah arti straf sama dengan recht, yang sebenarnya tidak demikian halnya. Kata baar ada 2 istilah yang digunakan yakni boleh dan dapat. Sedangkan untuk kata feit digunakan 4 istilah, yakni tindak, peristiwa, pelanggaran dan perbuatan. Secara literlijk feit memang lebih pas untuk diterjemahkan dengan perbuatan. Kata pelanggaran telah lazim digunakan dalam perbendaharaan hukum untuk mengartikan dari istilah overtreding sebagai lawan dari istilah misdrijven (kejahatan) terhadap kelompok tindak pidana masing-masing dalam Buku III dan Buku II KUHP.
2.4.3
Unsur-unsur Tindak Pidana Buku II KUHP memuat rumusan-rumusan perihal tindak pidana tertentu
yang masuk dalam kelompok kejahatan, dan Buku III adalah pelanggaran. Ternyata terdapat unsur yang selalu disebutkan dalam setiap rumusan, ialah mengenai tingkah laku/perbuatan, walaupun ada perkecualian seperti pasal 351 (penganiayaan). Unsur kesalahan dan melawan hukum kadang-kadang dicantumkan, dan seringkali juga tidak dicantumkan. Hal yang sama sekali tidak dicantumkan adalah mengenai unsur kemampuan bertanggung jawab. Disamping
itu
banyak
sekitar/mengenai obyek rumusan tertentu.
mencantumkan
unsur-unsur
lain
baik
kejahatan maupun perbuatan secara khusus untuk
38
Dari rumusan-rumusan tindak pidana tertentu dalam KUHP itu, maka dapat diketahui adanya 8 unsur tindak pidana, yaitu: 1. Unsur tingkah laku. 2. Unsur melawan hukum. 3. Unsur kesalahan. 4. Unsur akibat konstitutif. 5. Unsur keadaan yang menyertai. 6. Unsur syarat tambahan untuk dapatnya dituntut pidana. 7. Unsur syarat tambahan untuk memperberat pidana. 8. Unsur syarat tambahan untuk dapatnya dipidana. Dari 8 unsur itu, diantaranya dua unsur yakni kesalahan dan melawan hukum adalah termasuk unsur subjektif, sedangkan selebihnya adalah berupa unsur obyektif. Mengenai unsur melawan hukum, adakalanya bersifat obyektif, misalnya melawan hukumnya perbuatan mengambil pada pencurian (362) adalah terletak bahwa dalam mengambil itu diluar persetujuan atau kehendak pemilik (melawan hukum obyektif). Atau pada 251 pada kalimat "tanpa izin pemerintah", juga pada pasal 253 pada kalimat "menggunakan cap asli secara melawan hukum" adalah berupa melawan hukum obyektif. Tetapi ada juga melawan hukum subjektif misalnya melawan hukum dalam penipuan (378), pemerasan (368), pengancaman (369) di mana disebutkan maksud untuk menguntungkan diri sendiri atau orang lain secara melawan hukum. Begitu juga unsur melawan hukum pada perbuatan memiliki dalam penggelapan (372) yang bersifat subjektif, artinya bahwa terdapatnya kesadaran bahwa memilki benda orang lain yang ada dalam kekuasaannya itu adalah merupakan celaan masyarakat. Unsur yang bersifat obyektif adalah semua unsur yang berada diluar keadaan batin manusia/pelaku, yakni semua unsur mengenai perbuatannya, akibat perbuatan dan keadaan-keadaan tertentu yang melekat (sekitar) pada perbuatan dan obyek tindak pidana. Sedangkan unsur yang bersifat subjektif adalah semua unsur yang mengenai batin atau melekat pada keadaan batin orangnya.
39
1. Unsur Tingkah Laku Tindak pidana adalah mengenai larangan berbuat, oleh karena itu perbuatan atau tingkah laku harus disebutkan dalam rumusan. Tingkah laku adalah unsur mutlak tindak pidana. Tingkah laku dalam tindak pidana terdiri dari tingkah laku aktif atau positif (handelen), juga dapat disebut perbuatan materiil (materieel felt) dan tingkah laku pasif atau negatif (nalaten). Tingkah laku aktif adalah suatu bentuk tingkah laku yang untuk mewujudkannya atau melakukannya diperlukan wujud gerakan atau gerakangerakan dari tubuh atau bagian dari tubuh, misalnya mengambil (362) atau memalsu dan membuat secara palsu (268). Sedangkan tingkah laku pasif adalah berupa tingkah laku membiarkan (nalaten), suatu bentuk tingkah laku yang tidak melakukan aktivitas tertentu tubuh atau bagian tubuh, yang seharusnya seseorang itu dalam keadaankeadaan tertentu harus melakukan perbuatan aktif, dan dengan tidak berbuat demikian seseorang itu disalahkan karena tidak melaksanakan kewajiban hukumnya, contohnya tidak memberikan pertolongan (531), membiarkan (304). 2. Unsur Melawan Hukum Melawan hukum adalah suatu sifat tercela atau terlarang dari suatu perbuatan, yang mana dapat bersumber pada undang-undang
dan dapat
bersumber pada masyarakat. Karena bersumber pada masyarakat, yang sering juga disebut dengan bertentangan dengan asas-asas hukum masyarakat, maka sifat tercela tersebut tidak tertulis. Dari sudut undang-undang, suatu perbuatan tidaklah mempunyai sifat melawan hukum sebelum perbuatan itu diberi sifat terlarang, dengan memuatnya sebagai dilarang dalam peraturan perundang-undangan, artinya sifat terlarang itu disebabkan atau bersumber pada dimuatnya dalam peraturan perundang-undangan.
40
Mencantumkan secara tegas unsur sifat melawan hukum dalam suatu rumusan tindak pidana didasarkan pada suatu alasan tertentu, sebagaimana tercermin dalam keterangan risalah penjelasan WvS Belanda, ialah adanya kekhawatiran bagi pembentuk UU, bahwa jika tidak dimuatnya unsur melawan hukum disitu akan dapat dipidananya pula perbuatan lain yang sama namun tidak bersifat melawan hukum. Sifat tercela ini dinyatakan dalam rumusan tindak pidana dengan berbagai istilah, yaitu: a. Dengan tegas menyebut melawan hukum. Cara ini yang paling sering digunakan oleh pembentuk UU, misalnya: 362, 368, 369, 372, 378. b. Dengan menyebut "tanpa hak atau tidak berhak" atau tanpa wenang , seperti pada pasal 548, 549c. c. Dengan menyebut "tanpa izin", misalnya pada pasal 496, 510. d. Dengan menyebut "melampaui kekuasaannya", misalnya pada pasal 430. e. Dengan menyebut "tanpa memperhatikan cara yang ditentukan dalam peraturan umum" pada pasal 429.
3. Unsur Kesalahan Kesalahan adalah unsur mengenai keadaan atau gambaran batin orang sebelum atau pada saat memulai perbuatan, karena itu unsur ini selalu melekat pada diri pelaku dan bersifat subjektif. Unsur kesalahan yang mengenai keadaan batin pelaku adalah berupa unsur yang menghubungkan antara perbuatan dan akibat serta sifat melawan hukum perbuatan dengan pelaku. Kesalahan dalam hukum pidana adalah berhubungan
dengan
pertanggungan
jawab,
atau
mengandung
beban
pertanggungan jawab pidana, yang terdiri dari kesengajaan dan kelalaian (culpa). a. Kesengajaan Undang-undang tidak memberikan pengertian mengenai kesengajaan. Berdasarkan Memorie van Toelichting (MvT) WvS Belanda ada sedikit keterangan
41
yang menyangkut mengenai kesengajaan ini, yang menyatakan "Pidana pada umumnya hendaknya dijatuhkan hanya pada barangsiapa melakukan perbuatan yang dilarang, dengan dikehendaki (willens) dan diketahui (wetens)". Secara singkat dapat disebut bahwa kesengajaan berarti menghendaki dan mengetahui. Setidak-tidaknya kesengajaan itu ada dua, yakni kesengajaan berupa kehendak, dan kesengajaan berupa pengetahuan (yang diketahui). Menurut teori kehendak, kesengajaan adalah kehendak yang ditujukan untuk melakukan perbuatan, artinya untuk mewujudkan suatu perbuatan memang telah dikehendaki sebelum seseorang sungguh-sungguh berbuat. Menurut teori pengetahuan, kesengajaan adalah mengenai segala apa yang diketahui tentang perbuatan yang akan dilakukan dan beserta akibatnya. Doktrin hukum pidana, mengenal ada 3 bentuk kesengajaan, yaitu: 1) kesengajaan sebagai maksud/tujuan. 2) kesengajaan sebagai kepastian. 3) kesengajaan sebagai kemungkinan. Bentuk kesengajaan sebagai maksud sama artinya dengan menghendaki untuk mewujudkan suatu perbuatan (tindak pidana aktif), menghendaki untuk tidak berbuat/melalaikan kewajiban hukum (tindak pidana pasif) dan juga menghendaki timbulnya akibat dan perbuatan itu (tindak pidana materiil). Misalnya untuk maksud membunuh, maka dengan sebilah pisau ditikamnya korban sampai mati. Disini perbuatan menikam itu dikehendaki, demikian juga kematian akibat tikaman itu juga dikehendaki. Kesengajaan sebagai kepastian dan kesengajaan sebagai kemungkinan, memiliki hugungan erat dengan pengetahuan seseorang tentang sekitar perbuatan yang akan dilakukan beserta akibatnya. Kesengajaan sebagai kemungkinan ialah kesengajaan untuk melakukan perbuatan yang diketahuinya bahwa ada akibat lain yang mungkin dapat timbul yang tidak diinginkan dari perbuatan, namun begitu besarya kehendak untuk mewujudkan perbuatan, tetap tidak mundur dan siap mengambil resiko untuk melakukan perbuatan tersebut.
42
b. Kelalaian (Culpa) Kelalaian yang sering juga disebut dengan tidak sengaja, lawan dari kesengajaan dalam rumusan tindak pidana sering disebut dengan schuld. Untuk menggambarkan adanya suatu kelalaian, selain dengan menggunakan istilah aan wiens schuld, juga digunakan istilah lain, misalnya: 1) onachtzaamheid seperti pada pasal 231 (4), 232 (3), yang diterjemahkan kedalam bahasa Indonesia, juga dengan: karena kealpaan atau kelalaian, atau kurang berbati-hati 2) wist of moest verwachten pada pasal 483 (butir 2), 484 (2), diterjemahkan dengan patut menduga atau seharusnya menduga 3) redelijkerwijs moet vennoeden atau patut dapat menduga , atau sepatutnya harus diduga pada pasal 480 (1), 287, 288, 290, 292, 293, 418. 4) emstige reden beeft om to vermoeden, atau ada alasan kuat untuk menduga.
Kelalaian dalam hubungannya dengan akibat perbuatan dapat terletak dalam dua hal. Pertama, kelalaian dapat terletak pada ketiadaan kesadaran/pikiran sama sekali. Kedua, kelalaian dapat terletak pada pemikiran bahwa akibat tidak akan terjadi.
4. Unsur Akibat Konstitutif Unsur akibat konstitutif ini terdapat pada: a. Tindak pidana materiil atau tindak pidana di mana akibat menjadi syarat selesainya tindak pidana b. Tindak pidana yang mengandung unsur akibat sebagai syarat pemberat pidana c. Tindak pidana di mana akibat merupakan syarat dipidananya pembuat. Berbeda dengan yang dimaksud kedua, dalam tindak pidana materiil (yang
pertama),
timbulnya
akibat
itu
bukan
untuk
memberatkan
pertanggungan jawab pidana (pemberat pidana), tetapi menjadi syarat selesainya tindak pidana. Perbedaan lain, unsur akibat konstitutif pada tindak pidana materiil adalah berupa unsur pokok tindak pidana, artinya jika unsur ini
43
tidak timbul, maka tindak pidananya tidak terjadi, yang terjadi hanyalah percobaannya. Pada unsur akibat sebagai syarat memperberat pidana bukan merupakan unsur pokok tindak pidana, artinya jika syarat ini tidak timbul, tidak terjadi percobaan, melainkan terjadinya tindak pidana selesai. Sedangkan unsur akibat sebagai syarat dapat dipidananya pembuat, ialah tanpa timbulnya akibat itu perbuatan yang dirumuskan dalam UU itu tidak dipidana. Baru dapat dipidana apabila akibat terlarang itu telah timbul.
5. Unsur Keadaan yang Menyertai Unsur keadaan yang menyertai adalah unsur tindak pidana yang berupa semua keadaan yang ada dan berlaku dalam mana perbuatan dilakukan. Unsur keadaan yang menyertai ini dalam kenyataan rumusan tindak pidana dapat: a. mengenai cara melakukan perbuatan. b. mengenai cara untuk dapatnya dilakukan perbuatan. c. mengenai obyek tindak pidana. d. mengenai subjek tindak pidana. e. mengenai tempat dilakukannya tindak pidana. f. mengenai waktu dilakukannya tindak pidana. 6. Unsur Syarat Tambahan untuk Dapatnya Dituntut Pidana Unsur ini hanya terdapat pada tindak pidana aduan. Tindak pidana aduan adalah tindak pidana yang hanya dapat dituntut pidana jika adanya pengaduan dari yang berhak mengadu. Pengaduan substansinya adalah sama dengan laporan, ialah berupa keterangan atau informasi mengenai telah terjadinya tindak pidana yang disampaikan kepada pejabat penyelidik atau penyidik yakni kepolisian, atau dalam hal tindak pidana khusus ke kantor Kejaksaan Negeri setempat. Perbedaan pengaduan dengan laporan, ialah pada pengaduan hanya dapat dilakukan oleh yang berhak mengadu saja, yakni korban kejahatan, atau wakilnya yang sah dan pengaduan diperlukan hanya terhadap tindak pidana aduan saja. Laporan tidak memerlukan kedua syarat itu.
44
Untuk dapat dituntut pidana pada tindak pidana aduan diperlukan syarat adanya pengaduan dari yang berhak tersebut. Syarat pengaduan bagi tindak pidana aduan inilah yang dimaksud dengan unsur syarat tambahan untuk dapatnya dipidana.
7. Unsur Syarat Tambahan Untuk Memperberat Pidana Unsur ini berupa alasan untuk diperberatnya pidana dan bukan unsur syarat untuk terjadinya atau syarat selesainya tindak pidana sebagaimana pada tindak pidana materiil. Unsur syarat tambahan untuk memperberat pidana bukan merupakan unsur pokok tindak pidana yang bersangkutan, artinya tindak pidana tersebut dapat terjadi tanpa adanya unsur ini. Unsur syarat tambahan untuk memperberat pidana dapat terletak pada: a. Pada akibat yang timbul setelah perbuatan dilakukan, yakni akibat luka berat atau kematian. b. Pada obyek tindak pidananya, misalnya penganiayaan pada ibunya, anaknya, istrinya, pejabat yang sedang menjalankan tugasnya yang sah atau terhadap orang yang bekerja padanya. c. Pada cara melakukan perbuatan, misalnya dengan tulisan atau gambaran yang ditempelkan dimuka umum, memberikan bahan yang berbahaya bagi nyawa atau kesehatan, atau secara tertulis dan dengan syarat tertentu. d. Pada subjek hukum tindak pidana, misalnya dokter, juru obat, bidan. e. Pada waktu dilakukannya tindak pidana, misalnya belum lewat 2 tahun. f. Pada berulangnya perbuatan, misalnya pencarian atau kebiasaan.
8. Unsur Syarat Tambahan untuk Dapatnya Dipidana Unsur syarat tambahan untuk dapatnya dipidana adalah berupa unsur keadaan-keadaan tertentu yang timbul setelah perbuatan dilakukan, yang menentukan untuk dapat dipidananya perbuatan. Artinya bila setelah perbuatan dilakukan keadaan ini tidak timbul, maka perbuatan itu tidak bersifat
45
melawan hukum dan karenanya pelaku tidak dapat dipidana. Sifat melawan hukum dan patutnya dipidana perbuatan itu sepenuhnya digantungkan pada timbulnya unsur ini. Nilai bahayanya bagi kepentingan hukum dari perbuatan itu adalah terletak pada timbulnya unsur syarat tambahan, bukan semata-mata pada perbuatan. Walaupun unsur ini sama dengan unsur akibat konstitutif dalam hal timbulnya setelah dilakukan perbuatan tetapi berbeda secara prinsip. Pada unsur akibat konstitutif harus ada hubungan kausal antara perbuatan yang menjadi larangan dengan akibatnya. Sedangkan pada unsur syarat tambahan untuk dapat dipidana tidak memerlukan hubungan kausal yang demikian Perbedaan yang lain ialah, apabila akibat konstitutif tidak timbul setelah dilakukannya perbuatan, maka tindak pidananya tidak terjadi, yang terjadi hanyalah percobaannya. Tetapi jika unsur syarat tambahan tidak timbul setelah dilakukan perbuatan (aktif maupun pasif), maka tindak pidana itu tidak terjadi, demikian juga percobaannya tidak terjadi.
2.4.4
KUHP Induk peraturan hukum pidana positif Indonesia adalah Kitab Undang-
undang Hukum Pidana (KUHP). KUHP ini mempunyai nama asli Wetboek van Strafrecht voor Nederlandsch Indie (WvSNI) yang diberlakukan di Indonesia pertama kali dengan Koninklijk Besluit (Titah Raja) Nomor 33 15 Oktober 1915 dan mulai diberlakukan sejak tanggal 1 Januari 1918. WvSNI merupakan turunan dari WvS negeri Belanda yang dibuat pada tahun 1881 dan diberlakukan di negara Belanda pada tahun 1886. Walaupun WvSNI notabene turunan (copy) dari WvS Belanda, namun pemerintah kolonial pada saat itu menerapkan asas konkordansi (penyesuaian) bagi pemberlakuan WvS di negara jajahannya. Beberapa pasal dihapuskan dan disesuaikan dengan kondisi dan misi kolonialisme Belanda atas wilayah Indonesia. Jika diruntut lebih ke belakang, pertama kali Belanda membuat perundang-undangan hukum pidana sejak tahun 1795 dan disahkan pada tahun 1809. Kodifikasi hukum pidana nasional pertama ini disebut dengan Crimineel
46
Wetboek voor Het Koninkrijk Holland. Namun baru dua tahun berlaku, pada tahun 1811 Perancis menjajah Belanda dan memberlakukan Code Penal (kodifikasi hukum pidana) yang dibuat tahun 1810 saat Napoleon Bonaparte menjadi penguasa Perancis. Pada tahun 1813, Perancis meninggalkan Belanda. Namun demikian Belanda masih mempertahankan Code Penal itu sampai tahun 1886. Pada tahun 1886 mulai diberlakukan Wetboek van Strafrecht sebagai pengganti Code Penal Napoleon. Setelah Indonesia menyatakan kemerdekaannya pada tahun 1945, untuk mengisi kekosongan hukum pidana yang diberlakukan di Indonesia maka dengan dasar Pasal II Aturan Peralihan UUD 1945, WvSNI tetap diberlakukan. Pemberlakukan WvSNI menjadi hukum pidana Indonesia ini menggunakan Undang-undang Nomor 1 Tahun 1946 tentang Peraturan Hukum Pidana Indonesia. Pasal VI Undang-undang Nomor 1 Tahun 1946 menyebutkan bahwa nama Wetboek van Strafrecht voor Nederlandsch-Indie diubah menjadi Wetboek van Strafrecht dan dapat disebut “Kitab Undang-undang Hukum Pidana”. Di samping itu, undang-undang ini juga tidak memberlakukan kembali peraturan-peraturan pidana yang dikeluarkan sejak tanggal 8 Maret 1942, baik yang dikeluarkan oleh pemerintah Jepang maupun oleh panglima tertinggi Balatentara Hindia Belanda. Oleh karena perjuangan bangsa Indonesia belum selesai pada tahun 1946 dan munculnya dualisme KUHP setelah tahun tersebut maka pada tahun 1958 dikeluarkan Undang-undang Nomor 73 Tahun 1958 yang memberlakukan Undang-undang Nomor 1 Tahun 1946 bagi seluruh wilayah Republik Indonesia. Sistematika KUHP (WvS) terdiri dari 3 buku dan 569 pasal. Perinciannya adalah sebagai berikut: 1. Buku Kesatu tentang Aturan Umum yang terdiri dari 9 bab 103 pasal (Pasal 1-103). 2. Buku Kedua tentang Kejahatan yang terdiri dari 31 bab 385 pasal (Pasal 104 s.d. 488). 3. Buku Ketiga tentang Pelanggaran yang terdiri dari 9 bab 81 pasal (Pasal 489569).
47
Aturan umum yang disebut dalam Buku Pertama Bab I sampai Bab VIII berlaku bagi Buku Kedua (Kejahatan), Buku Ketiga (Pelanggaran), dan aturan hukum pidana di luar KUHP kecuali aturan di luar KUHP tersebut menentukan lain.