BAB II LANDASAN TEORI
2.1
Sistem Definisi system adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama – sama untuk melakukan suatu kegiatan utnuk menyelesaikan suatu sasaran tertentu.
2.2
Pakar Seorang pakar/ahli (human expert) adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik, permasalahan (domain), memecahkan
menyusun kembali jika dipandang perlu,
aturan-aturan
jika
dibutuhkan,
dan
menentukan
relevantidaknya keahlian mereka. (Sri Kusumadewi,2003,hal 111)
2.3
Sistem Pakar
2.3.1 Definisi Sistem Pakar Sistem
pakar
adalah
sistem
yang
berusaha
mengadopsi
pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli ( Sri Kusumadewi, 2003, hal 109).
9
10
2.3.2 Konsep Dasar Sistem Pakar Menurut Efraim Turban, konsep dasar dalam sistem pakar mengandung : keahlian,
ahli,
pengalihan
keahlian,
inferensi,
aturan
dan
kemampuan
menjelaskan. Keahlian adalah suatu kelebihan penguasaan pengetahuan dibidang tertentu yang diperoleh dari pelatihan, membaca, atau pengalaman. Ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik, permasalahan (domain),
menyusun
kembali jika dipandang perlu, memecahkan aturan-aturan jika dibutuhkan, dan menentukan relevantidaknya keahlian mereka. Pengalihan keahlian adalah pengalihan pengetahuan dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain. Dimana proses ini membutuhkan 4 proses yaitu : tambahan pengetahuan, representasi pengetahuan (ke komputer), inferensi pengetahuan, dan pengalihan pengetahuan ke user. Pengetahuan yang disimpan ke komputer disebut basis pengetahuan, ada 2 tipe pengetahuan yaitu fakta dan prosedur. Salah satu fitur yang harus dimiliki oleh system pakar adalah kemampuan untuk menalar. Jika keahlian – keahlian sudah disimpan dalam basis pengetahuan dan sudah tersedia program yang mampu mengakses basisdata, maka komputer harus dapat diprogram untuk membuat inferesi. Proses inferensi ini dikemas dalam bentuk motor inferesi (inference engine). Sebagian besar sistem pakar komersial dibuat dalam bentuk ruke base sistem yang mana basis pengetahuan disimpan dalam bentuk aturan-aturan. (Sri Kusumadewi,2003,hal 111-112)
11
2.3.3 Keuntungan Sistem Pakar Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar,antara lain : a.
Memungkinkan orang awam dapat mengerjakan pekerjaan para ahli.
b.
Bisa melakukan proses secara berulang secara otomatis.
c.
Menyimpan pengetahuan dan keahlian para pakar
d.
Meningkatkan output dan produktifitas.
e.
Meningkatkan kualitas.
f.
Sebagai media pelengkap dalam pelatihan
g.
Meningkatkan kapabilitas dalam penyelesaian masalah
h.
Menghemat waktu dalam pengambilan keputusan. (Sri Kusumadewi,2003,hal 110-111)
2.3.4 Kelemahan Sistem Pakar a.
Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
b.
Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
c.
Sistem pakar tidak 100% bernilai benar. (Sri Kusumadewi,2003,hal 111)
12
2.3.5 Struktur Sistem Pakar Komponen – komponen yang ada dalam system pakar adalah pada gambar berikut ini :
Gambar 2.1 Struktur sistem pakar 1.
Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan pengetahuan, mengkontruksi atau memperluas pengetahuan dalam basis pengetahuan
2.
Basis pengetahuan. Berisi pengetahuan – pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah. Ada 2 bentuk pendekatan basis pengetahuan yang sangat umum digunakan yaitu : a.
Penalaran berbasis aturan (Rule Based Reasoning)
13
Pengetahuan direpresentasikan dengan menggunakan aturan berbentuk IF – THEN. Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan si pakar dapat menyelesaikan masalah secara berurutan. b.
Penalaran berbasis kasus (Case-Base Reasoning) Penalaran berbasis kasus, basis pengetahuan akan berisi solusi – solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada).
3.
Motor inferesi (inference engine). Program yang berisi metodologi yang dilakukan untuk melakukan penalaran terhadap informasi – informasi dalam basis pengetahuan dan blackboard, serta digunakan untuk memformulasikan konklusi. Ada 2 cara yang dapat dikerjakan dalam melakukan inferensi yaitu : a.
Forward Chaining. Penalaran yang dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis (IF dulu).
b.
Backward Chaining. Penalaran dimulai dari hipotesi terlebih dahulu dan untuk menguji kebenaran dengan mencocokkan dari fakta – fakta yang terdapat dalam basis pengetahuan.
4.
Blackboard. Merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan semntara.
5.
Antarmuka. Media komunikasi antara user dan program.
6.
Subsistem penjelasan. Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan.
14
7.
Sistem penyaring pengetahuan. Digunakan untuk mengevaluasi sistem pakar untuk melihat apakah pengetahuan – pengetahuan yang ada masih cocok untuk digunakan di masa mendatang.
2.4
Hukum Pidana Hukum Pidana adalah keseluruhan dari peraturan-peraturan yang
menentukan perbuatan apa yang dilarang dan termasuk kedalam tindak pidana, serta menentukan hukuman apa yang dapat dijatuhkan terhadap yang melakukannya. (http://id.wikipedia.org/wiki/Hukum_pidana)
Gambar 2.2 Struktur Hukum di Indonesia
15
2.5
Tindak pidana terhadap harta kekayaan Tindak pidana terhadap harta kekayaan adalah berupa penyerangan
terhadap kepentingan hukum orang atas harta benda milik orang lain (bukan milik petindak). Tindak pidana terhadap kekayaan meliputi gambar berikut :
Gambar 2.3 Struktur Hukum Pidana 2.5.1 Tindak Pidana Pencurian Tindak pidana pencurian adalah suatu perbuatan mengambil benda yang benda tersebut sebagian atau seluruhnya milik orang lain dengan maksud untuk dimiliki secara melawan hukum. Berikut ini adalah blok diagram pasal-pasal pencurian yang digunakan untuk menjelaskan situasi penentuan keputusan pasal-pasal pencurian apa saja yang terlibat. (Gambar)
Gambar 2.4 Blok diagram pasal pencurian
16
2.6
PHP PHP adalah bahasa (scripting language) yang dirancang secara khusus
untuk penggunaan pada Web. PHP adalah tool anda untuk pembuatan halman web dinamis. Kaya akan fitur yang membuat perancangan web dan pemrograman lebih mudah, PHP digunakan pada 13 juta domain. PHP kependekatan dari Hyper Text Preprocessor , pada awal pengembangannya oleh Rasmus Lerdorf, dia menyebutnya sebagai tools Personal Home Page. Adapun keunggulan PHP dibanding bahasa pemrograman yang lain diantaranya : a.
Cepat, karena ditempelkan (embeded) di dalam kode HTML.
b.
Tidak mahal - gratis.
c.
Mudah untuk digunakan, PHP berisi beberapa fitur khusus dan fungsi yang dibutuhkan untuk membuat halaman web dinamis.
d.
Dapat berjalan pada beberapa system operasi (Windows, Linux, Mac OS, Unix,dll)
e.
Dukungan teknis tersedia secara luas, karena PHP
menyediakan
dukungan via mailing list. f.
Aman, Karena kode yang titampilkan pada halaman browser adalah kode HTML.
g.
PHP dirancang untuk mendukung database.
h.
Customizable, lisensi open source sehingga mengijinkan para pemrogram untuk memodifikasi software PHP. ( Janner Simarmata, hal 31 -32)
17
2.7
MySQL MySQL adalah Relational Database Management Sistem (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian databse, terutama untuk pemilihan / seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. MySQL sudah memiliki optimizer-nya dalam melakukan proses perintahperintah SQL yang dibuat oleh use maupun program-program aplikasinya. My SQL software yang tidak bayar atau biasa disebut opensource, artinya software yang source code-nya dibuka ke publik, Anda bisa memodifikasi dan mendistribusikan atau mempublikasikan source code hasil modifikasi dengan syarat-syarat tertentu, misalnya dengan tetap mempertahankan nama softwarenya. MySQL adalah satu dari sekian banyak system database, yang digunakan untuk aplikasi database pada sebagian perusahaan (Didik Dwi Prasetyo, 2003, hal 1-2).
Adapun keunggulan MySQL antara lain : a.
Cepat, tujuan utama dari pengembangan MySQL adalah kecepatan.
b.
Tidak mahal, MySQL adalah Cuma – Cuma di bawah lisensi GPL open source.
18
c.
Mudah digunakan, dapat membangun dan berinteraksi dengan database MySQL hanya dengan sedikit pernyataan (statement) dalam bahasa SQL.
d.
Dapat berjalan pada beberapa system operasi (Windows, Linux, Mac OS, Unix, FreeBSD, dll)
e.
Dukungan teknis secara luas tersedia, menyediakan dukungan Cuma – Cuma via mailing list yang tersedia di www.mysql.com.
f.
Aman, system otorisasi fleksibel yang mengijinkan beberapa atau semua privilege database.
g.
Mendukung database yang besar, MySQL dapat menangangi database sampai 50 juta baris atau lebih, default tabel 4 GB dan dapat dinaikkan hingga 8 juta terabyte (TB) jika system operasi dapat menanganinya.
h.
Customizable, lisensi GPL open source mengijinkan pemrogram untuk memodifikasi MySQL. ( Janner Simarmata, hal 29 -30)
2.8
Bagan Alir Program ( Flowchart ) Suatu metode untuk mengambarkan tahap – tahap pemecahan masalah
adalah dengan mempresentasikan simbol – simbol tertentu yang mudah di mengerti dan standart. Program flowchart adalah salah satu yang dapat didefinisikan sebagai bagan yang menjelaskan secara rinci langkah – langkah dari proses program ( Jogiyanto, HM : 1990 ).
19
Simbol – Simbol Flowchart Diagram Simbol
Nama symbol
Keterangan Untuk menggambarkan awal dan
Terminal akhir proses aliran dokumen Dipakai untuk pengolahan aritmatika Processing dan pemindahan data Dipakai untuk memberikan nilai Preparation awal dari suatu variable atau counter Dipakai untuk mewakili operasi Decision perbandingan logika Dipakai untuk proses yang detailnya Predefined djelaskan secara terpisah , misalnya process dalam bentuk subroutine Dipakai untuk menunjukkan aliran Garis alir dari program Menunjukkan penghubung di Penghubung
halaman yang masih sama atau dihalaman lainnya Mewakili data input atau output
Input / Output
Gambar 2.5 simbol Flowchart diagram
20
2.9
Entity Relationship Diagram (ERD) Entity Relationship Diagram akan mendokumentasikan data sistem dengan
mengidentifikasikan jenis entitas dan hubunganya. ERD merupakan alat modeling data yang paling fleksibel. Dengan menggunkan ERD, Objek-objek di gambarkan dengan bentuk entity dan relasinya berdasarkan permintaan dan berisi dari objekobjek dasar yang di sebut dengan entity dan hubungan entity di sebut relationship. ERD memiliki notasi-notasi yang digunakan untuk menggambarkan model data, setiap notasi pada ERD mewakili komponen-komponen ERD. Komponen-komponen ERD diantaranya: •
Entitas adalah sesuatu dalam dunia nyata yang mendeskripsikan keberadaan yang bebas, baik secara fisik (orang, benda, tempat) maupun secara abstrak (kejadian, atau konsep). Lambang dari entitas adalah sebagai berikut :
Gambar Entitas •
Relationship adalah hubungan yang terjadi antara kejadian-kejadian dari suatu atau lebih entitas. Lambang dari relationship adalah sebagai berikut:
Gambar Relationship •
Atribut adalah sifat-sifat atau karakteristik yang dimiliki oleh suatu entitas maupun suatu relationship. Lambang dari atribut adalah sebagai berikut:
Gambar Atribut Gambar 2.6 Komponen-komponen ERD diantaranya
21
2.10
Normalisasi Normalisasi adalah suatu teknik untuk mengorganisasi kedalam tabel-tabel
untuk memenuhi kebutuhan pemakai di dalam suatu organisasi. Tujuan dari Normalisasi adalah: •
Untuk menghilangkan kerangkapan data.
•
Untuk mengurangi kompleksitas.
•
Untuk mempermudah permodifikasian data dalam query.
Adapun beberapa proses Normalisasi, yaitu: •
Data di uraikan dalam bentuk tabel, selanjutnya dianalisa berdasarkan persyaratan tertentu ke dalam beberapa tingkatan.
•
Apabila tabel yang di uji belum memenuhi persyaratan tertentu, maka tabel sampai memenuhi bentuk yang optimal.
Terdapat beberapa tingkatan dalam normalisasi, yaitu: •
1 NF (First Normal Form) Suatu relasi dikatakan memenuhi syarat normal pertama bila setiap data bersifat tunggal, dan hanya mempunyai suatu nilai dan tidak memiliki set atribut yang berulang.
•
2 NF (Second Normal Form) Suatu relasi dikatakan memenuhi syarat normal kedua bila relasi tersebut sudah memenuhi bentuk normal pertama, dan atribut non keynya sudah tidak
bergantung
penuh
terhadap
ketergantungan parsial dan fungsional.
keynya,
atau
terdapat
lagi
22
•
3 NF (Third Normal Form) Suatu reasi dikatakan memenuhi syarat normal ketiga jika relasi tersebut sudah memenuhi bentuk normal kedua, dan aribut non keynya tidak tergantung transitif terhadap keynya.
•
BCNF (Boyce Codd Normal Form) BCNF punya paksaan yang lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, Relasi harus dalam bentuk kesatu dan setiap atribut harus bergantung kepada superkey. Tidak ada data rangkap atau anomaly dan nilai sebelumnya yang mempunyai ketergantungan fungsional.
•
4 NF (Fourth Normal Form) Untuk relasi keempat pada relasi tersebut tidak memiliki data yang mempunyai ketergantungan multivalue.
•
5 NF (Five Normal Form) Dalam bentuk ini sudah tidak terdapat lagi anomaly atau kerangkapan data yang terdapat pada data sebelumnya. Relasi yang sudah terbentuk dalam bentuk normal ketiga (3NF), Pada umumnya sudah merupakan bentuk database yang baik.